import * as sys from "lodash"; /** * All properties derive from this class. It provides a standard interface for rendering and interpreting `x-` vendor extension properties */ export default class BaseProp { /** * Create new property * @param {any} node The node being managed * @param {string} name The name of the node */ constructor(node: any, name: string); [key: string]: any; /** * The map from property to template decorators of the class validator class */ propToTemplate: { [key: string]: any; }; /** The type that was defined in the json/yaml */ reportedType: string; /** * The path to the the prooperty from the base property */ classSourcePath: string | null; /** * The name of the symbol */ name: string; /** * The name typescript expects for the type */ typeName: string; /** * Short documentation */ title?: string; /** * Detailed documentation */ description?: string; /** * Checks if value is defined (!== undefined, !== null). This is the only decorator that ignores skipMissingProperties option. */ isDefined?: any; /** * Checks if given value is empty (=== null, === undefined) and if so, ignores all the validators on the property. */ isOptional?: boolean; /** * Checks if value equals ("===") comparison */ equals?: any; /** * Checks if value equals ("===") comparison. */ notEquals?: any; /** * Checks if given value is empty (=== '', === null, === undefined). */ empty?: any; /** * Checks if given value is empty (=== '', === null, === undefined). */ notEmpty?: any; /** * Checks if value is in a array of allowed values. */ isIn?: any[]; /** * Checks if value is not in a array of disallowed values. */ isNotIn?: any[]; /** * A default value for the property */ defaultValue?: any; /** * The prop instance's own type decorator */ protected ownDecorator: string; /** * A local for templates to access lodash */ protected sys: sys.LoDashStatic; /** * The default options for the template render */ protected defaultTemplateOptions: { rmWhitespace: boolean; debug: boolean; compileDebug: boolean; escape: (s: any) => any; }; /** * The list of decorators templates supported by this type */ protected decs(): string[]; /** * The template to render this type */ readonly prop: string; /** * Returns a string array of needed imports */ imports(): string[]; /** * Gets the validators that are actually in use so that a single import can be created */ validationImports(): string[]; /** * Things like extra classes and enums that need to be at the top level of the module */ headers(): string[]; /** * Render the decorators and characteristics */ renderDeclarations(): string[]; /** * Render the property, decorators and types and formats the output */ renderProp(): string; } //# sourceMappingURL=BaseProp.d.ts.map