Slide 27
Slide 27 text
4-2. ts.TypeFlags に対応する正規表現規制をマッピングする
全ての変数宣言 Node に処理を
試みるので、変数宣言 Node に
対応する正規表現規制マッピン
グをあらかじめ用意します。
export const getTypeRegExpChecker = (
regExpChecker: RegExpChecker
): TypeRegExpChecker => ({
[ts.TypeFlags.Object]: (identifier, isArrayTypeNode)
=> {
if (!isArrayTypeNode) return false
const res = identifier.match(regExpChecker.array)
if (res) return false
return ` ${regExpChecker.array}`
},
[ts.TypeFlags.Boolean]: regExpChecker.boolean,
[ts.TypeFlags.Number]: regExpChecker.number,
[ts.TypeFlags.String]: regExpChecker.string,
[ts.TypeFlags.BooleanLiteral]: regExpChecker.boolean,
[ts.TypeFlags.NumberLiteral]: regExpChecker.number,
[ts.TypeFlags.StringLiteral]: regExpChecker.string
})