UNPKG

2.42 kBTypeScriptView Raw
1import * as ts from 'typescript';
2import { NormalizedSchema } from './jsonSchema';
3import SchemaId from './schemaId';
4import { Schema } from './type';
5export declare function buildKeyword(kind: ts.KeywordTypeSyntaxKind): ts.KeywordTypeNode;
6export declare function buildAnyKeyword(): ts.KeywordTypeNode;
7export declare function buildNeverKeyword(): ts.KeywordTypeNode;
8export declare function buildUnknownKeyword(): ts.KeywordTypeNode;
9export declare function buildVoidKeyword(): ts.KeywordTypeNode;
10export declare function buildStringKeyword(): ts.KeywordTypeNode;
11export declare function buildSimpleArrayNode(element: ts.TypeNode): ts.ArrayTypeNode;
12export declare function buildNullKeyword(): ts.LiteralTypeNode;
13export declare function buildStringLiteralTypeNode(s: string): ts.LiteralTypeNode;
14export declare function buildNumericLiteralTypeNode(n: string): ts.LiteralTypeNode;
15export declare function buildBooleanLiteralTypeNode(b: boolean): ts.LiteralTypeNode;
16export declare function buildNamespaceNode(name: string, statements: ts.Statement[], root: boolean): ts.ModuleDeclaration;
17export declare function buildInterfaceNode(id: SchemaId, members: ts.TypeElement[], root: boolean): ts.InterfaceDeclaration;
18export declare function buildTypeAliasNode(id: SchemaId, type: ts.TypeNode, root: boolean): ts.TypeAliasDeclaration;
19export declare function buildPropertySignature(schema: NormalizedSchema, propertyName: string, valueType: ts.TypeNode, required: string[] | undefined, isPattern: boolean | undefined): ts.PropertySignature | ts.IndexSignatureDeclaration;
20export declare function buildIndexSignatureNode(name: string, indexType: ts.TypeNode, valueType: ts.TypeNode): ts.IndexSignatureDeclaration;
21export declare function buildTypeLiteralNode(elements: ts.TypeElement[]): ts.TypeNode;
22export declare function buildUnionTypeNode<T>(types: T[], builder: (t: T, index: number) => ts.TypeNode, terminate: boolean): ts.TypeNode;
23export declare function buildTupleTypeNode(types: ts.TypeNode | ts.TypeNode[], minItems?: number, maxItems?: number): ts.TypeNode;
24export declare function buildTypeReferenceNode(schema: NormalizedSchema, currentSchema: Schema): ts.TypeReferenceNode;
25export declare function addComment<T extends ts.Node>(node: T, schema: NormalizedSchema, terminate: boolean): T;
26export declare function addOptionalInformation<T extends ts.Node>(node: T, schema: NormalizedSchema, terminate: boolean): T;