Optionaloptions: {Optionalconstraints?: {OptionaldefaultPreset?: {OptionaldependencyManager?: This dependency manager type serves two functions.
This depends on context and where it's used.
Optionalindentation?: { size?: number; type?: IndentationTypes }Optionalnamespace?: stringOptionalpresets?: (OptionalprocessorOptions?: {Optionalasyncapi?: {OptionaljsonSchema?: {OptionalallowInheritance?: booleanOptionaldisableCache?: booleanThis options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.
Optionaldiscriminator?: stringWhen interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.
OptionalignoreAdditionalItems?: booleanFor JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.
Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.
ONLY use this option if you do not have control over the schema files you use to generate the models from.
Instead you should adapt your schemas to be more strict by setting additionalItems: false.
OptionalignoreAdditionalProperties?: booleanFor JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.
Use this option to ignore default additionalProperties for models that has other properties with them.
ONLY use this option if you do not have control over your schema files.
Instead adapt your schemas to be more strict by setting additionalProperties: false.
OptionalinterpretSingleEnumAsConst?: booleanThis option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'}
Use this option to reduce the number of enums being created and use constant values instead.
OptionalpropertyNameForAdditionalProperties?: stringThis option changes which property name that should be used to represent additionalProperties in JSON Schema
Optionalopenapi?: { includeComponentSchemas?: boolean }Optionaltypescript?: {OptionalaliasRef?: booleanOptionalcompilerOptions?: {OptionalallowJs?: booleanOptionalallowSyntheticDefaultImports?: booleanOptionalallowUmdGlobalAccess?: booleanOptionalallowUnreachableCode?: booleanOptionalallowUnusedLabels?: booleanOptionalalwaysStrict?: booleanOptionalassumeChangesOnlyAffectDirectDependencies?: booleanOptionalbaseUrl?: stringOptionalcharset?: stringOptionalcheckJs?: booleanOptionalcomposite?: booleanOptionaldeclaration?: booleanOptionaldeclarationDir?: stringOptionaldeclarationMap?: booleanOptionaldisableReferencedProjectLoad?: booleanOptionaldisableSizeLimit?: booleanOptionaldisableSolutionSearching?: booleanOptionaldisableSourceOfProjectReferenceRedirect?: booleanOptionaldownlevelIteration?: booleanOptionalemitBOM?: booleanOptionalemitDeclarationOnly?: booleanOptionalemitDecoratorMetadata?: booleanOptionalesModuleInterop?: booleanOptionalexactOptionalPropertyTypes?: booleanOptionalexperimentalDecorators?: booleanOptionalforceConsistentCasingInFileNames?: booleanOptionalimportHelpers?: booleanOptionalimportsNotUsedAsValues?: ImportsNotUsedAsValuesOptionalincremental?: booleanOptionalinlineSourceMap?: booleanOptionalinlineSources?: booleanOptionalisolatedModules?: booleanOptionaljsx?: JsxEmitOptionaljsxFactory?: stringOptionaljsxFragmentFactory?: stringOptionaljsxImportSource?: stringOptionalkeyofStringsOnly?: booleanOptionallib?: ((...) | (...))[]Optionallocale?: stringOptionalmapRoot?: stringOptionalmaxNodeModuleJsDepth?: numberOptionalmodule?: ModuleKindOptionalmoduleDetection?: ModuleDetectionKindOptionalmoduleResolution?: ModuleResolutionKindOptionalmoduleSuffixes?: ((...) | (...))[]OptionalnewLine?: NewLineKindOptionalnoEmit?: booleanOptionalnoEmitHelpers?: booleanOptionalnoEmitOnError?: booleanOptionalnoErrorTruncation?: booleanOptionalnoFallthroughCasesInSwitch?: booleanOptionalnoImplicitAny?: booleanOptionalnoImplicitOverride?: booleanOptionalnoImplicitReturns?: booleanOptionalnoImplicitThis?: booleanOptionalnoImplicitUseStrict?: booleanOptionalnoLib?: booleanOptionalnoPropertyAccessFromIndexSignature?: booleanOptionalnoResolve?: booleanOptionalnoStrictGenericChecks?: booleanOptionalnoUncheckedIndexedAccess?: booleanOptionalnoUnusedLocals?: booleanOptionalnoUnusedParameters?: booleanOptionalout?: stringOptionaloutDir?: stringOptionaloutFile?: stringOptionalpaths?: { [key: string]: (...) | (...) }OptionalpreserveConstEnums?: booleanOptionalpreserveSymlinks?: booleanOptionalpreserveValueImports?: booleanOptionalproject?: stringOptionalreactNamespace?: stringOptionalremoveComments?: booleanOptionalresolveJsonModule?: booleanOptionalrootDir?: stringOptionalrootDirs?: ((...) | (...))[]OptionalskipDefaultLibCheck?: booleanOptionalskipLibCheck?: booleanOptionalsourceMap?: booleanOptionalsourceRoot?: stringOptionalstrict?: booleanOptionalstrictBindCallApply?: booleanOptionalstrictFunctionTypes?: booleanOptionalstrictNullChecks?: booleanOptionalstrictPropertyInitialization?: booleanOptionalstripInternal?: booleanOptionalsuppressExcessPropertyErrors?: booleanOptionalsuppressImplicitAnyIndexErrors?: booleanOptionaltarget?: ScriptTargetOptionaltraceResolution?: booleanOptionaltsBuildInfoFile?: stringOptionaltypeRoots?: ((...) | (...))[]Paths used to compute primary types search locations
Optionaltypes?: ((...) | (...))[]OptionaluseDefineForClassFields?: booleanOptionaluseUnknownInCatchVariables?: booleanOptionaldefaultNumberType?: "number" | "integer"OptionaldefaultProps?: booleanOptionalesModuleInterop?: booleanOptionalexcludePrivate?: booleanOptionalid?: stringOptionalignoreErrors?: booleanOptionalinclude?: (string | undefined)[]OptionalnoExtraProps?: booleanOptionalout?: stringOptionalpropOrder?: booleanOptionalref?: booleanOptionalrejectDateType?: booleanOptionalrequired?: booleanOptionalskipLibCheck?: booleanOptionalstrictNullChecks?: booleanOptionaltitles?: booleanOptionaltopRef?: booleanOptionaltsNodeRegister?: booleanOptionaltypeOfKeyword?: booleanOptionaluniqueNames?: booleanOptionalvalidationKeywords?: (string | undefined)[]OptionaltypeMapping?: {ReadonlylanguageReadonlyoptionsStaticdefaultStaticdefaultOptionalconstraints?: {OptionaldefaultPreset?: {OptionaldependencyManager?: This dependency manager type serves two functions.
This depends on context and where it's used.
Optionalindentation?: { size?: number; type?: IndentationTypes }Optionalnamespace?: stringOptionalpresets?: (OptionalprocessorOptions?: {Optionalasyncapi?: {OptionaljsonSchema?: {OptionalallowInheritance?: booleanOptionaldisableCache?: booleanThis options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.
Optionaldiscriminator?: stringWhen interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.
OptionalignoreAdditionalItems?: booleanFor JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.
Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.
ONLY use this option if you do not have control over the schema files you use to generate the models from.
Instead you should adapt your schemas to be more strict by setting additionalItems: false.
OptionalignoreAdditionalProperties?: booleanFor JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.
Use this option to ignore default additionalProperties for models that has other properties with them.
ONLY use this option if you do not have control over your schema files.
Instead adapt your schemas to be more strict by setting additionalProperties: false.
OptionalinterpretSingleEnumAsConst?: booleanThis option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'}
Use this option to reduce the number of enums being created and use constant values instead.
OptionalpropertyNameForAdditionalProperties?: stringThis option changes which property name that should be used to represent additionalProperties in JSON Schema
Optionalopenapi?: { includeComponentSchemas?: boolean }Optionaltypescript?: {OptionalaliasRef?: booleanOptionalcompilerOptions?: {OptionalallowJs?: booleanOptionalallowSyntheticDefaultImports?: booleanOptionalallowUmdGlobalAccess?: booleanOptionalallowUnreachableCode?: booleanOptionalallowUnusedLabels?: booleanOptionalalwaysStrict?: booleanOptionalassumeChangesOnlyAffectDirectDependencies?: booleanOptionalbaseUrl?: stringOptionalcharset?: stringOptionalcheckJs?: booleanOptionalcomposite?: booleanOptionaldeclaration?: booleanOptionaldeclarationDir?: stringOptionaldeclarationMap?: booleanOptionaldisableReferencedProjectLoad?: booleanOptionaldisableSizeLimit?: booleanOptionaldisableSolutionSearching?: booleanOptionaldisableSourceOfProjectReferenceRedirect?: booleanOptionaldownlevelIteration?: booleanOptionalemitBOM?: booleanOptionalemitDeclarationOnly?: booleanOptionalemitDecoratorMetadata?: booleanOptionalesModuleInterop?: booleanOptionalexactOptionalPropertyTypes?: booleanOptionalexperimentalDecorators?: booleanOptionalforceConsistentCasingInFileNames?: booleanOptionalimportHelpers?: booleanOptionalimportsNotUsedAsValues?: ImportsNotUsedAsValuesOptionalincremental?: booleanOptionalinlineSourceMap?: booleanOptionalinlineSources?: booleanOptionalisolatedModules?: booleanOptionaljsx?: JsxEmitOptionaljsxFactory?: stringOptionaljsxFragmentFactory?: stringOptionaljsxImportSource?: stringOptionalkeyofStringsOnly?: booleanOptionallib?: (string | undefined)[]Optionallocale?: stringOptionalmapRoot?: stringOptionalmaxNodeModuleJsDepth?: numberOptionalmodule?: ModuleKindOptionalmoduleDetection?: ModuleDetectionKindOptionalmoduleResolution?: ModuleResolutionKindOptionalmoduleSuffixes?: (string | undefined)[]OptionalnewLine?: NewLineKindOptionalnoEmit?: booleanOptionalnoEmitHelpers?: booleanOptionalnoEmitOnError?: booleanOptionalnoErrorTruncation?: booleanOptionalnoFallthroughCasesInSwitch?: booleanOptionalnoImplicitAny?: booleanOptionalnoImplicitOverride?: booleanOptionalnoImplicitReturns?: booleanOptionalnoImplicitThis?: booleanOptionalnoImplicitUseStrict?: booleanOptionalnoLib?: booleanOptionalnoPropertyAccessFromIndexSignature?: booleanOptionalnoResolve?: booleanOptionalnoStrictGenericChecks?: booleanOptionalnoUncheckedIndexedAccess?: booleanOptionalnoUnusedLocals?: booleanOptionalnoUnusedParameters?: booleanOptionalout?: stringOptionaloutDir?: stringOptionaloutFile?: stringOptionalpaths?: { [key: string]: (...)[] | undefined }OptionalpreserveConstEnums?: booleanOptionalpreserveSymlinks?: booleanOptionalpreserveValueImports?: booleanOptionalproject?: stringOptionalreactNamespace?: stringOptionalremoveComments?: booleanOptionalresolveJsonModule?: booleanOptionalrootDir?: stringOptionalrootDirs?: (string | undefined)[]OptionalskipDefaultLibCheck?: booleanOptionalskipLibCheck?: booleanOptionalsourceMap?: booleanOptionalsourceRoot?: stringOptionalstrict?: booleanOptionalstrictBindCallApply?: booleanOptionalstrictFunctionTypes?: booleanOptionalstrictNullChecks?: booleanOptionalstrictPropertyInitialization?: booleanOptionalstripInternal?: booleanOptionalsuppressExcessPropertyErrors?: booleanOptionalsuppressImplicitAnyIndexErrors?: booleanOptionaltarget?: ScriptTargetOptionaltraceResolution?: booleanOptionaltsBuildInfoFile?: stringOptionaltypeRoots?: (string | undefined)[]Paths used to compute primary types search locations
Optionaltypes?: (string | undefined)[]OptionaluseDefineForClassFields?: booleanOptionaluseUnknownInCatchVariables?: booleanOptionaldefaultNumberType?: "number" | "integer"OptionaldefaultProps?: booleanOptionalesModuleInterop?: booleanOptionalexcludePrivate?: booleanOptionalid?: stringOptionalignoreErrors?: booleanOptionalinclude?: (string | undefined)[]OptionalnoExtraProps?: booleanOptionalout?: stringOptionalpropOrder?: booleanOptionalref?: booleanOptionalrejectDateType?: booleanOptionalrequired?: booleanOptionalskipLibCheck?: booleanOptionalstrictNullChecks?: booleanOptionaltitles?: booleanOptionaltopRef?: booleanOptionaltsNodeRegister?: booleanOptionaltypeOfKeyword?: booleanOptionaluniqueNames?: booleanOptionalvalidationKeywords?: (string | undefined)[]OptionaltypeMapping?: {Generates a scattered model where dependencies and rendered results are separated.
Generates the full output of a model, instead of a scattered model.
OutputModels result is no longer the model itself, but including package, package dependencies and model dependencies.
Wrapper to get an instance of the dependency manager
ProtectedgetThis function returns an instance of the dependency manager which is either a factory or an instance.
ProtectedgetGet all presets (default and custom ones from options) for a given preset type (class, enum, etc).
ProtectedprocessProcess any of the input formats to the appropriate InputMetaModel type and split out the meta models based on the requirements of the generators
Render a scattered model, where the source code and library and model dependencies are separated.
Optionaloptions: Partial<CplusplusOptions>Render a complete model result where the model code, library and model dependencies are all bundled appropriately.
For Cplusplus you need to specify which package the model is placed under.
Optionaloptions: Partial<CplusplusOptions>StaticgetReturns the Cplusplus options by merging custom options with default ones.
Optionaloptions: {Optionalconstraints?: {OptionaldefaultPreset?: {OptionaldependencyManager?: This dependency manager type serves two functions.
This depends on context and where it's used.
Optionalindentation?: { size?: number; type?: IndentationTypes }Optionalnamespace?: stringOptionalpresets?: (OptionalprocessorOptions?: {Optionalasyncapi?: {OptionaljsonSchema?: {OptionalallowInheritance?: booleanOptionaldisableCache?: booleanThis options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.
Optionaldiscriminator?: stringWhen interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.
OptionalignoreAdditionalItems?: booleanFor JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.
Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.
ONLY use this option if you do not have control over the schema files you use to generate the models from.
Instead you should adapt your schemas to be more strict by setting additionalItems: false.
OptionalignoreAdditionalProperties?: booleanFor JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.
Use this option to ignore default additionalProperties for models that has other properties with them.
ONLY use this option if you do not have control over your schema files.
Instead adapt your schemas to be more strict by setting additionalProperties: false.
OptionalinterpretSingleEnumAsConst?: booleanThis option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'}
Use this option to reduce the number of enums being created and use constant values instead.
OptionalpropertyNameForAdditionalProperties?: stringThis option changes which property name that should be used to represent additionalProperties in JSON Schema
Optionalopenapi?: { includeComponentSchemas?: boolean }Optionaltypescript?: {OptionalaliasRef?: booleanOptionalcompilerOptions?: {OptionalallowJs?: booleanOptionalallowSyntheticDefaultImports?: booleanOptionalallowUmdGlobalAccess?: booleanOptionalallowUnreachableCode?: booleanOptionalallowUnusedLabels?: booleanOptionalalwaysStrict?: booleanOptionalassumeChangesOnlyAffectDirectDependencies?: booleanOptionalbaseUrl?: stringOptionalcharset?: stringOptionalcheckJs?: booleanOptionalcomposite?: booleanOptionaldeclaration?: booleanOptionaldeclarationDir?: stringOptionaldeclarationMap?: booleanOptionaldisableReferencedProjectLoad?: booleanOptionaldisableSizeLimit?: booleanOptionaldisableSolutionSearching?: booleanOptionaldisableSourceOfProjectReferenceRedirect?: booleanOptionaldownlevelIteration?: booleanOptionalemitBOM?: booleanOptionalemitDeclarationOnly?: booleanOptionalemitDecoratorMetadata?: booleanOptionalesModuleInterop?: booleanOptionalexactOptionalPropertyTypes?: booleanOptionalexperimentalDecorators?: booleanOptionalforceConsistentCasingInFileNames?: booleanOptionalimportHelpers?: booleanOptionalimportsNotUsedAsValues?: ImportsNotUsedAsValuesOptionalincremental?: booleanOptionalinlineSourceMap?: booleanOptionalinlineSources?: booleanOptionalisolatedModules?: booleanOptionaljsx?: JsxEmitOptionaljsxFactory?: stringOptionaljsxFragmentFactory?: stringOptionaljsxImportSource?: stringOptionalkeyofStringsOnly?: booleanOptionallib?: ((...) | (...))[]Optionallocale?: stringOptionalmapRoot?: stringOptionalmaxNodeModuleJsDepth?: numberOptionalmodule?: ModuleKindOptionalmoduleDetection?: ModuleDetectionKindOptionalmoduleResolution?: ModuleResolutionKindOptionalmoduleSuffixes?: ((...) | (...))[]OptionalnewLine?: NewLineKindOptionalnoEmit?: booleanOptionalnoEmitHelpers?: booleanOptionalnoEmitOnError?: booleanOptionalnoErrorTruncation?: booleanOptionalnoFallthroughCasesInSwitch?: booleanOptionalnoImplicitAny?: booleanOptionalnoImplicitOverride?: booleanOptionalnoImplicitReturns?: booleanOptionalnoImplicitThis?: booleanOptionalnoImplicitUseStrict?: booleanOptionalnoLib?: booleanOptionalnoPropertyAccessFromIndexSignature?: booleanOptionalnoResolve?: booleanOptionalnoStrictGenericChecks?: booleanOptionalnoUncheckedIndexedAccess?: booleanOptionalnoUnusedLocals?: booleanOptionalnoUnusedParameters?: booleanOptionalout?: stringOptionaloutDir?: stringOptionaloutFile?: stringOptionalpaths?: { [key: string]: (...) | (...) }OptionalpreserveConstEnums?: booleanOptionalpreserveSymlinks?: booleanOptionalpreserveValueImports?: booleanOptionalproject?: stringOptionalreactNamespace?: stringOptionalremoveComments?: booleanOptionalresolveJsonModule?: booleanOptionalrootDir?: stringOptionalrootDirs?: ((...) | (...))[]OptionalskipDefaultLibCheck?: booleanOptionalskipLibCheck?: booleanOptionalsourceMap?: booleanOptionalsourceRoot?: stringOptionalstrict?: booleanOptionalstrictBindCallApply?: booleanOptionalstrictFunctionTypes?: booleanOptionalstrictNullChecks?: booleanOptionalstrictPropertyInitialization?: booleanOptionalstripInternal?: booleanOptionalsuppressExcessPropertyErrors?: booleanOptionalsuppressImplicitAnyIndexErrors?: booleanOptionaltarget?: ScriptTargetOptionaltraceResolution?: booleanOptionaltsBuildInfoFile?: stringOptionaltypeRoots?: ((...) | (...))[]Paths used to compute primary types search locations
Optionaltypes?: ((...) | (...))[]OptionaluseDefineForClassFields?: booleanOptionaluseUnknownInCatchVariables?: booleanOptionaldefaultNumberType?: "number" | "integer"OptionaldefaultProps?: booleanOptionalesModuleInterop?: booleanOptionalexcludePrivate?: booleanOptionalid?: stringOptionalignoreErrors?: booleanOptionalinclude?: (string | undefined)[]OptionalnoExtraProps?: booleanOptionalout?: stringOptionalpropOrder?: booleanOptionalref?: booleanOptionalrejectDateType?: booleanOptionalrequired?: booleanOptionalskipLibCheck?: booleanOptionalstrictNullChecks?: booleanOptionaltitles?: booleanOptionaltopRef?: booleanOptionaltsNodeRegister?: booleanOptionaltypeOfKeyword?: booleanOptionaluniqueNames?: booleanOptionalvalidationKeywords?: (string | undefined)[]OptionaltypeMapping?: {
Abstract generator which must be implemented by each language