Workbench Compiler

This commit is contained in:
sinclair
2023-04-09 01:50:21 +09:00
parent d4858dd815
commit cffaac6395
2 changed files with 11 additions and 9 deletions
+10 -8
View File
@@ -94,22 +94,24 @@ export namespace TypeScriptToTypeBox {
// -------------------------------------------------------------------------
// TemplateLiteral
// -------------------------------------------------------------------------
// prettier-ignore
function* TemplateLiteralTypeNode(node: ts.TemplateLiteralTypeNode) {
const collect = node.getChildren().map(node => Collect(node))
yield `Type.TemplateLiteral([${collect.join('')}])`
const collect = node.getChildren().map(node => Collect(node)).join('')
yield `Type.TemplateLiteral([${collect.slice(0, collect.length - 2)}])` // can't remove trailing here
}
// prettier-ignore
function* TemplateLiteralTypeSpan(node: ts.TemplateLiteralTypeSpan) {
const collect = node.getChildren().map(node => Collect(node))
yield collect.join(', ')
const collect = node.getChildren().map(node => Collect(node)).join(', ')
if(collect.length > 0) yield `${collect}`
}
function* TemplateHead(node: ts.TemplateHead) {
yield `Type.Literal('${node.text}'), `
if (node.text.length > 0) yield `Type.Literal('${node.text}'), `
}
function* TemplateMiddle(node: ts.TemplateMiddle) {
yield `Type.Literal('${node.text}'), `
if (node.text.length > 0) yield `Type.Literal('${node.text}'), `
}
function* TemplateTail(node: ts.TemplateTail) {
yield `Type.Literal('${node.text}')`
if (node.text.length > 0) yield `Type.Literal('${node.text}'), `
}
function* IntersectionTypeNode(node: ts.IntersectionTypeNode): IterableIterator<string> {
const types = node.types.map((type) => Collect(type)).join(',\n')
@@ -378,4 +380,4 @@ export namespace TypeScriptToTypeBox {
const types = Formatter.Format(typeDeclarations)
return [imports, '', types].join('\n')
}
}
}
+1 -1
View File
@@ -37,4 +37,4 @@ console.log(C.Code())
// Check: Value
// -----------------------------------------------------------
console.log(C.Check(V))
console.log(C.Check(V))