TypeWriter - 过滤没有给定属性的类或属性

时间:2017-02-09 16:57:47

标签: typescript typewriter

使用Typewriter .tst文件,可以使用$Properties([MyAttr])过滤器仅包含具有特定属性的属性。

就像这样:

export class $Name{
        $Properties([MyAttr])[
        public $name: $Type = $Type[$Default];]
    }

是否可以包含之外的所有属性?

这样的事情可能是:

export class $Name{
        $Properties(![TsIgnore])[               //but this doesnt work!!
        public $name: $Type = $Type[$Default];]
    }

我已经尝试过我能想到的![TsIgnore][!TsIgnore]等,但没有效果。在docs

中也找不到任何内容

2 个答案:

答案 0 :(得分:6)

我实现了IsIncluded方法:

bool IsIncluded(Class c)
{
    // exclude attributes
    if(c.BaseClass?.FullName == "System.Attribute") return false;

    return !ExcludeObjects.Any(ec => c.Name == ec || c.FullName == ec);
}

在顶部的某个地方,我有这个:

static string[] ExcludeObjects = new string[]
{
    "MyClassToExclude",
    "Full.Namespace.Path.To.MyOtherClassToExclude",
};

,模板有:

$Classes($IsIncluded)[ ... ]

由于

答案 1 :(得分:4)

您也可以使用

from time import sleep
from random import randint, shuffle

while True:
    color_list = [0, randint(0,255), randint(0,255)]
    shuffle(color_list)
    r_color, g_color, b_color = color_list
    # sets colors to a string like "12, 10, 0"
    colors = ', '.join(str(color) for color in color_list)
    # print (colors) 
    sleep(1)

其中“TypeScriptExportExlude”是您要排除的属性上的属性。