@spec2ts/core
Version:
Core module for @spec2ts modules, includes codegen helpers and common parsing methods
16 lines (15 loc) • 1.31 kB
TypeScript
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;