UNPKG

@trapi/metadata

Version:

Generate REST-API metadata scheme from TypeScript Decorators.

57 lines 2.23 kB
import * as ts from 'typescript'; import type { MetadataGenerator } from '../generator'; import type { Extension } from './extension'; import type { Type } from './type'; type UsableDeclaration = ts.InterfaceDeclaration | ts.ClassDeclaration | ts.PropertySignature | ts.TypeAliasDeclaration | ts.EnumMember; interface TypeNodeResolverContext { [name: string]: ts.TypeReferenceNode | ts.TypeNode; } export interface UtilityTypeOptions { keys: Array<string | number | boolean>; } export declare class TypeNodeResolver { private readonly typeNode; private readonly current; private readonly parentNode?; private context; private readonly referencer; constructor(typeNode: ts.TypeNode, current: MetadataGenerator, parentNode?: ts.Node, context?: TypeNodeResolverContext, referencer?: ts.TypeNode); static clearCache(): void; resolve(): Type; private static toUtilityType; private static getUtilityTypeOptions; private filterUtilityProperties; private static resolveSpecialReference; private static getLiteralValue; private getPrimitiveType; private getDateType; private static getDesignatedModels; private getEnumerateType; private getReferenceType; private getTypeAliasReference; private getModelReference; private static getRefTypeName; private attemptToResolveKindToPrimitive; private contextualizedName; private handleCachingAndCircularReferences; private createCircularDependencyResolver; private static nodeIsUsable; private getModelTypeDeclaration; private hasFlag; private getSymbolAtLocation; private getModelProperties; private propertyFromSignature; private propertyFromDeclaration; private getModelAdditionalProperties; private typeArgumentsToContext; private getModelInheritedProperties; private hasPublicModifier; private hasStaticModifier; private isAccessibleParameter; private getNodeDescription; private static getNodeFormat; private getNodeExample; protected getNodeExtensions(node: UsableDeclaration | ts.PropertyDeclaration | ts.ParameterDeclaration | ts.EnumDeclaration): Extension[]; } export {}; //# sourceMappingURL=module.d.ts.map