UNPKG

@spec2ts/core

Version:

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

40 lines (39 loc) 2.53 kB
import * as ts from "typescript"; export declare function toExpression(ex: ts.Expression | string): ts.Expression; export declare function toExpression(ex: ts.Expression | string | undefined): ts.Expression | undefined; export declare function toIdentifier(ex: ts.Identifier | string): ts.Identifier; export declare function toIdentifier(ex: ts.Identifier | string | undefined): ts.Identifier | undefined; export declare function toLiteral(ex: ts.Expression | string | number | bigint): ts.Expression; export declare function toLiteral(ex: ts.Expression | string | number | bigint | undefined): ts.Expression | undefined; export declare function toPropertyName(ex: ts.PropertyName | string): ts.PropertyName; export declare function toPropertyName(ex: ts.PropertyName | string | undefined): ts.PropertyName | undefined; export declare function isValidIdentifier(str: string): boolean; export declare function isIdentifier(n: unknown | null | undefined): n is ts.Identifier; export declare function createCall(expression: ts.Expression | string, { typeArgs, args }?: { typeArgs?: ts.TypeNode[]; args?: ts.Expression[]; }): ts.CallExpression; export declare function createMethodCall(method: string, opts: { typeArgs?: ts.TypeNode[]; args?: ts.Expression[]; }): ts.CallExpression; export declare function createTemplateString(head: string, spans: Array<{ literal: string; expression: ts.Expression; }>): ts.Expression; export declare function createObjectLiteral(props: Array<[string, string | ts.Expression]>): ts.ObjectLiteralExpression; export declare function createArrowFunction(parameters: ts.ParameterDeclaration[], body: ts.ConciseBody, { modifiers, typeParameters, type, equalsGreaterThanToken }?: { modifiers?: ts.Modifier[]; typeParameters?: ts.TypeParameterDeclaration[]; type?: ts.TypeNode; equalsGreaterThanToken?: ts.EqualsGreaterThanToken; }): ts.ArrowFunction; export declare function createObjectBinding(elements: Array<{ name: string | ts.BindingName; dotDotDotToken?: ts.DotDotDotToken; propertyName?: string | ts.PropertyName; initializer?: ts.Expression; }>): ts.ObjectBindingPattern; export declare function changePropertyValue(o: ts.ObjectLiteralExpression, property: string, value: ts.Expression): ts.ObjectLiteralExpression; export declare function upsertPropertyValue(o: ts.ObjectLiteralExpression, property: string, value: ts.Expression): ts.ObjectLiteralExpression; export declare function addComment<T extends ts.Node>(node: T, comment?: string): T;