UNPKG

@spec2ts/core

Version:

Core module for @spec2ts modules, includes codegen helpers and common parsing methods

16 lines (15 loc) 1.31 kB
import * as ts from "typescript"; export type KeywordTypeName = "any" | "number" | "object" | "string" | "boolean" | "bigint" | "symbol" | "this" | "void" | "unknown" | "undefined" | "null" | "never"; export declare const questionToken: ts.PunctuationToken<ts.SyntaxKind.QuestionToken>; export declare const questionDotToken: ts.PunctuationToken<ts.SyntaxKind.QuestionDotToken>; export declare const keywordType: Record<KeywordTypeName, ts.TypeNode>; export declare const modifier: Record<string, ts.Modifier>; export declare function getName(name: ts.Node): string | ts.__String; export declare function getString(expr: ts.Expression): string; export declare function createQuestionToken(token?: boolean | ts.QuestionToken): ts.QuestionToken | undefined; export declare function createKeywordType(type: KeywordTypeName): ts.TypeNode; export declare function appendNodes<T extends ts.Node>(array: ts.NodeArray<T>, ...nodes: T[]): ts.NodeArray<T>; export declare function replaceNode<T extends ts.Node>(array: ts.NodeArray<T>, oldNode: T, newNode: T): ts.NodeArray<T>; export declare function block(...statements: ts.Statement[]): ts.Block; export declare function isKeywordTypeName(type: string): type is KeywordTypeName; export declare function isKeywordTypeNode(node?: ts.Node): node is ts.KeywordTypeNode;