1 | import * as ts from 'typescript';
|
2 | import { PropertyAssignment } from 'typescript';
|
3 | import { PluginOptions } from '../merge-options';
|
4 | import { AbstractFileVisitor } from './abstract.visitor';
|
5 | declare type ClassMetadata = Record<string, ts.ObjectLiteralExpression>;
|
6 | export declare class ModelClassVisitor extends AbstractFileVisitor {
|
7 | visit(sourceFile: ts.SourceFile, ctx: ts.TransformationContext, program: ts.Program, options: PluginOptions): ts.SourceFile;
|
8 | addMetadataFactory(factory: ts.NodeFactory, node: ts.ClassDeclaration, classMetadata: ClassMetadata): any;
|
9 | inspectPropertyDeclaration(factory: ts.NodeFactory, compilerNode: ts.PropertyDeclaration, typeChecker: ts.TypeChecker, options: PluginOptions, hostFilename: string, sourceFile: ts.SourceFile, metadata: ClassMetadata): void;
|
10 | createDecoratorObjectLiteralExpr(factory: ts.NodeFactory, node: ts.PropertyDeclaration | ts.PropertySignature, typeChecker: ts.TypeChecker, existingProperties?: ts.NodeArray<ts.PropertyAssignment>, options?: PluginOptions, hostFilename?: string, sourceFile?: ts.SourceFile): ts.ObjectLiteralExpression;
|
11 | private createTypePropertyAssignments;
|
12 | createEnumPropertyAssignment(factory: ts.NodeFactory, node: ts.PropertyDeclaration | ts.PropertySignature, typeChecker: ts.TypeChecker, existingProperties: ts.NodeArray<ts.PropertyAssignment>, hostFilename: string): ts.PropertyAssignment | ts.PropertyAssignment[];
|
13 | createDefaultPropertyAssignment(factory: ts.NodeFactory, node: ts.PropertyDeclaration | ts.PropertySignature, existingProperties: ts.NodeArray<ts.PropertyAssignment>): ts.PropertyAssignment;
|
14 | createValidationPropertyAssignments(factory: ts.NodeFactory, node: ts.PropertyDeclaration | ts.PropertySignature): ts.PropertyAssignment[];
|
15 | addPropertyByValidationDecorator(factory: ts.NodeFactory, decoratorName: string, propertyKey: string, decorators: ts.NodeArray<ts.Decorator>, assignments: ts.PropertyAssignment[]): void;
|
16 | addPropertiesByValidationDecorator(factory: ts.NodeFactory, decoratorName: string, decorators: ts.NodeArray<ts.Decorator>, assignments: ts.PropertyAssignment[], addPropertyAssignments: (decoratorRef: ts.Decorator) => PropertyAssignment[]): void;
|
17 | addClassMetadata(node: ts.PropertyDeclaration, objectLiteral: ts.ObjectLiteralExpression, sourceFile: ts.SourceFile, metadata: ClassMetadata): void;
|
18 | createDescriptionAndTsDocTagPropertyAssigments(factory: ts.NodeFactory, node: ts.PropertyDeclaration | ts.PropertySignature, typeChecker: ts.TypeChecker, existingProperties?: ts.NodeArray<ts.PropertyAssignment>, options?: PluginOptions, sourceFile?: ts.SourceFile): ts.PropertyAssignment[];
|
19 | }
|
20 | export {};
|