ESLint规则,用于TypeScript中的联合类型中的空格

问题描述

是否存在用于TypeScript的ESLint规则,该规则允许在以下情况下强制使用空间?

# Helper Progress Iterator
# Needs: python -m pip install enlighten

def pit(it,*pargs,**nargs):
    import enlighten
    global __pit_man__
    try:
        __pit_man__
    except NameError:
        __pit_man__ = enlighten.get_manager()
    man = __pit_man__
    try:
        it_len = len(it)
    except:
        it_len = None
    try:
        ctr = None
        for i,e in enumerate(it):
            if i == 0:
                ctr = man.counter(*pargs,**{**dict(leave = False,total = it_len),**nargs})
            yield e
            ctr.update()
    finally:
        if ctr is not None:
            ctr.close()


####### Usage Example ########

import time

def Generator(n):
    for i in range(n):
        yield i

for i in pit(range(2),color = 'red'):
    for j in pit(range(3),color = 'green'):
        for k in pit(Generator(4),total = 4,color = 'blue'):
            for l in pit(Generator(5)):
                print(i,j,k,l)
                time.sleep(0.05)

可能唯一有用的是// good let a: string | number = 4; // bad let a: string|number = 4; type-annotation-spacing规则,但它们似乎不适用于联合类型。

解决方法

也许不是您想要的东西,但是eslint-plugin-prettier不会为您这样做吗?

,

似乎最近(2021 年 5 月)更新了规则 @typescript-eslint/space-infix-ops 以处理此问题。

https://github.com/typescript-eslint/typescript-eslint/issues/51 (不知道为什么问题仍然存在)