Class ScalaFileGenerator

Abstract file generator which each file generator much implement.

Hierarchy (view full)

Implements

Constructors

  • Parameters

    • Optional options: {
          collectionType?: "List" | "Array";
          constraints?: {
              constant?: ConstantConstraint<ScalaOptions>;
              enumKey?: EnumKeyConstraint<ScalaOptions>;
              enumValue?: EnumValueConstraint<ScalaOptions>;
              modelName?: ModelNameConstraint<ScalaOptions>;
              propertyKey?: PropertyKeyConstraint<ScalaOptions>;
          };
          defaultPreset?: {
              class?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  ctor?: ((args) => string | Promise<string>);
                  getter?: ((args) => string | Promise<string>);
                  property?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  setter?: ((args) => string | Promise<string>);
              };
              enum?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
              };
          };
          dependencyManager?: (() => AbstractDependencyManager) | {
              dependencies?: (undefined | string)[];
              addDependency?(dependency): void;
          };
          indentation?: {
              size?: number;
              type?: IndentationTypes;
          };
          presets?: (undefined | {
              class?: {
                  additionalContent?: ((args) => (...) | (...));
                  ctor?: ((args) => (...) | (...));
                  getter?: ((args) => (...) | (...));
                  property?: ((args) => (...) | (...));
                  self?: ((args) => (...) | (...));
                  setter?: ((args) => (...) | (...));
              };
              enum?: {
                  additionalContent?: ((args) => (...) | (...));
                  item?: ((args) => string);
                  self?: ((args) => (...) | (...));
              };
          } | {
              options?: any;
              preset?: {
                  class?: {
                      additionalContent?: (...) | (...);
                      ctor?: (...) | (...);
                      getter?: (...) | (...);
                      property?: (...) | (...);
                      self?: (...) | (...);
                      setter?: (...) | (...);
                  };
                  enum?: {
                      additionalContent?: (...) | (...);
                      item?: (...) | (...);
                      self?: (...) | (...);
                  };
              };
          })[];
          processorOptions?: {
              asyncapi?: {
                  __unstable?: {
                      resolver?: {
                          resolvers?: (...) | (...);
                      };
                  };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: {
                          resolver?: (...) | (...);
                      };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              interpreter?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: {
                  includeComponentSchemas?: boolean;
              };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: ((...) | (...))[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: ((...) | (...))[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: {};
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: ((...) | (...))[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: ((...) | (...))[];
                      types?: ((...) | (...))[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                  };
                  defaultNumberType?: "number" | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (undefined | string)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (undefined | string)[];
              };
          };
          typeMapping?: {
              Any?: TypeMappingFunction<ConstrainedAnyModel, ScalaOptions, ScalaDependencyManager>;
              Array?: TypeMappingFunction<ConstrainedArrayModel, ScalaOptions, ScalaDependencyManager>;
              Boolean?: TypeMappingFunction<ConstrainedBooleanModel, ScalaOptions, ScalaDependencyManager>;
              Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, ScalaOptions, ScalaDependencyManager>;
              Enum?: TypeMappingFunction<ConstrainedEnumModel, ScalaOptions, ScalaDependencyManager>;
              Float?: TypeMappingFunction<ConstrainedFloatModel, ScalaOptions, ScalaDependencyManager>;
              Integer?: TypeMappingFunction<ConstrainedIntegerModel, ScalaOptions, ScalaDependencyManager>;
              Object?: TypeMappingFunction<ConstrainedObjectModel, ScalaOptions, ScalaDependencyManager>;
              Reference?: TypeMappingFunction<ConstrainedReferenceModel, ScalaOptions, ScalaDependencyManager>;
              String?: TypeMappingFunction<ConstrainedStringModel, ScalaOptions, ScalaDependencyManager>;
              Tuple?: TypeMappingFunction<ConstrainedTupleModel, ScalaOptions, ScalaDependencyManager>;
              Union?: TypeMappingFunction<ConstrainedUnionModel, ScalaOptions, ScalaDependencyManager>;
          };
      }
      • Optional collectionType?: "List" | "Array"
      • Optional constraints?: {
            constant?: ConstantConstraint<ScalaOptions>;
            enumKey?: EnumKeyConstraint<ScalaOptions>;
            enumValue?: EnumValueConstraint<ScalaOptions>;
            modelName?: ModelNameConstraint<ScalaOptions>;
            propertyKey?: PropertyKeyConstraint<ScalaOptions>;
        }
      • Optional defaultPreset?: {
            class?: {
                additionalContent?: ((args) => string | Promise<string>);
                ctor?: ((args) => string | Promise<string>);
                getter?: ((args) => string | Promise<string>);
                property?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                setter?: ((args) => string | Promise<string>);
            };
            enum?: {
                additionalContent?: ((args) => string | Promise<string>);
                item?: ((args) => string);
                self?: ((args) => string | Promise<string>);
            };
        }
        • Optional class?: {
              additionalContent?: ((args) => string | Promise<string>);
              ctor?: ((args) => string | Promise<string>);
              getter?: ((args) => string | Promise<string>);
              property?: ((args) => string | Promise<string>);
              self?: ((args) => string | Promise<string>);
              setter?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional ctor?: ((args) => string | Promise<string>)
          • Optional getter?: ((args) => string | Promise<string>)
          • Optional property?: ((args) => string | Promise<string>)
          • Optional self?: ((args) => string | Promise<string>)
          • Optional setter?: ((args) => string | Promise<string>)
        • Optional enum?: {
              additionalContent?: ((args) => string | Promise<string>);
              item?: ((args) => string);
              self?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional item?: ((args) => string)
          • Optional self?: ((args) => string | Promise<string>)
      • Optional dependencyManager?: (() => AbstractDependencyManager) | {
            dependencies?: (undefined | string)[];
            addDependency?(dependency): void;
        }

        This dependency manager type serves two functions.

        1. It can be used to provide a factory for generate functions
        2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

        This depends on context and where it's used.

      • Optional indentation?: {
            size?: number;
            type?: IndentationTypes;
        }
      • Optional presets?: (undefined | {
            class?: {
                additionalContent?: ((args) => (...) | (...));
                ctor?: ((args) => (...) | (...));
                getter?: ((args) => (...) | (...));
                property?: ((args) => (...) | (...));
                self?: ((args) => (...) | (...));
                setter?: ((args) => (...) | (...));
            };
            enum?: {
                additionalContent?: ((args) => (...) | (...));
                item?: ((args) => string);
                self?: ((args) => (...) | (...));
            };
        } | {
            options?: any;
            preset?: {
                class?: {
                    additionalContent?: (...) | (...);
                    ctor?: (...) | (...);
                    getter?: (...) | (...);
                    property?: (...) | (...);
                    self?: (...) | (...);
                    setter?: (...) | (...);
                };
                enum?: {
                    additionalContent?: (...) | (...);
                    item?: (...) | (...);
                    self?: (...) | (...);
                };
            };
        })[]
      • Optional processorOptions?: {
            asyncapi?: {
                __unstable?: {
                    resolver?: {
                        resolvers?: (...) | (...);
                    };
                };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: {
                        resolver?: (...) | (...);
                    };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                };
            };
            interpreter?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
            };
            jsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            };
            openapi?: {
                includeComponentSchemas?: boolean;
            };
            typescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: ((...) | (...))[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: ((...) | (...))[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: {};
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: ((...) | (...))[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: ((...) | (...))[];
                    types?: ((...) | (...))[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                };
                defaultNumberType?: "number" | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (undefined | string)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (undefined | string)[];
            };
        }
        • Optional asyncapi?: {
              __unstable?: {
                  resolver?: {
                      resolvers?: (...) | (...);
                  };
              };
              applyTraits?: boolean;
              parseSchemas?: boolean;
              source?: string;
              validateOptions?: {
                  __unstable?: {
                      resolver?: (...) | (...);
                  };
                  allowedSeverity?: {
                      error?: (...) | (...) | (...);
                      hint?: (...) | (...) | (...);
                      info?: (...) | (...) | (...);
                      warning?: (...) | (...) | (...);
                  };
                  ignoreUnknownFormat?: boolean;
              };
          }
          • Optional __unstable?: {
                resolver?: {
                    resolvers?: (...) | (...);
                };
            }
            • Optional resolver?: {
                  resolvers?: (...) | (...);
              }
              • Optional resolvers?: (...) | (...)
          • Optional applyTraits?: boolean
          • Optional parseSchemas?: boolean
          • Optional source?: string
          • Optional validateOptions?: {
                __unstable?: {
                    resolver?: (...) | (...);
                };
                allowedSeverity?: {
                    error?: (...) | (...) | (...);
                    hint?: (...) | (...) | (...);
                    info?: (...) | (...) | (...);
                    warning?: (...) | (...) | (...);
                };
                ignoreUnknownFormat?: boolean;
            }
            • Optional __unstable?: {
                  resolver?: (...) | (...);
              }
              • Optional resolver?: (...) | (...)
            • Optional allowedSeverity?: {
                  error?: (...) | (...) | (...);
                  hint?: (...) | (...) | (...);
                  info?: (...) | (...) | (...);
                  warning?: (...) | (...) | (...);
              }
              • Optional error?: (...) | (...) | (...)
              • Optional hint?: (...) | (...) | (...)
              • Optional info?: (...) | (...) | (...)
              • Optional warning?: (...) | (...) | (...)
            • Optional ignoreUnknownFormat?: boolean
        • Optional interpreter?: {
              allowInheritance?: boolean;
              disableCache?: boolean;
              discriminator?: string;
              ignoreAdditionalItems?: boolean;
              ignoreAdditionalProperties?: boolean;
          }

          Deprecated

          Use the jsonSchema options instead of interpreter

          • Optional allowInheritance?: boolean
          • Optional disableCache?: boolean

            This 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.

          • Optional discriminator?: string

            When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

          • Optional ignoreAdditionalItems?: boolean

            For 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.

          • Optional ignoreAdditionalProperties?: boolean

            For 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.

        • Optional jsonSchema?: {
              allowInheritance?: boolean;
              disableCache?: boolean;
              discriminator?: string;
              ignoreAdditionalItems?: boolean;
              ignoreAdditionalProperties?: boolean;
              interpretSingleEnumAsConst?: boolean;
              propertyNameForAdditionalProperties?: string;
          }
          • Optional allowInheritance?: boolean
          • Optional disableCache?: boolean

            This 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.

          • Optional discriminator?: string

            When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

          • Optional ignoreAdditionalItems?: boolean

            For 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.

          • Optional ignoreAdditionalProperties?: boolean

            For 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.

          • Optional interpretSingleEnumAsConst?: boolean

            This 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.

          • Optional propertyNameForAdditionalProperties?: string

            This option changes which property name that should be used to represent additionalProperties in JSON Schema

        • Optional openapi?: {
              includeComponentSchemas?: boolean;
          }
          • Optional includeComponentSchemas?: boolean
        • Optional typescript?: {
              aliasRef?: boolean;
              compilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: ((...) | (...))[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: ((...) | (...))[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: {};
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: ((...) | (...))[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: ((...) | (...))[];
                  types?: ((...) | (...))[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
              };
              defaultNumberType?: "number" | "integer";
              defaultProps?: boolean;
              esModuleInterop?: boolean;
              excludePrivate?: boolean;
              id?: string;
              ignoreErrors?: boolean;
              include?: (undefined | string)[];
              noExtraProps?: boolean;
              out?: string;
              propOrder?: boolean;
              ref?: boolean;
              rejectDateType?: boolean;
              required?: boolean;
              skipLibCheck?: boolean;
              strictNullChecks?: boolean;
              titles?: boolean;
              topRef?: boolean;
              tsNodeRegister?: boolean;
              typeOfKeyword?: boolean;
              uniqueNames?: boolean;
              validationKeywords?: (undefined | string)[];
          }
          • Optional aliasRef?: boolean
          • Optional compilerOptions?: {
                allowJs?: boolean;
                allowSyntheticDefaultImports?: boolean;
                allowUmdGlobalAccess?: boolean;
                allowUnreachableCode?: boolean;
                allowUnusedLabels?: boolean;
                alwaysStrict?: boolean;
                assumeChangesOnlyAffectDirectDependencies?: boolean;
                baseUrl?: string;
                charset?: string;
                checkJs?: boolean;
                composite?: boolean;
                declaration?: boolean;
                declarationDir?: string;
                declarationMap?: boolean;
                disableReferencedProjectLoad?: boolean;
                disableSizeLimit?: boolean;
                disableSolutionSearching?: boolean;
                disableSourceOfProjectReferenceRedirect?: boolean;
                downlevelIteration?: boolean;
                emitBOM?: boolean;
                emitDeclarationOnly?: boolean;
                emitDecoratorMetadata?: boolean;
                esModuleInterop?: boolean;
                exactOptionalPropertyTypes?: boolean;
                experimentalDecorators?: boolean;
                forceConsistentCasingInFileNames?: boolean;
                importHelpers?: boolean;
                importsNotUsedAsValues?: ImportsNotUsedAsValues;
                incremental?: boolean;
                inlineSourceMap?: boolean;
                inlineSources?: boolean;
                isolatedModules?: boolean;
                jsx?: JsxEmit;
                jsxFactory?: string;
                jsxFragmentFactory?: string;
                jsxImportSource?: string;
                keyofStringsOnly?: boolean;
                lib?: ((...) | (...))[];
                locale?: string;
                mapRoot?: string;
                maxNodeModuleJsDepth?: number;
                module?: ModuleKind;
                moduleDetection?: ModuleDetectionKind;
                moduleResolution?: ModuleResolutionKind;
                moduleSuffixes?: ((...) | (...))[];
                newLine?: NewLineKind;
                noEmit?: boolean;
                noEmitHelpers?: boolean;
                noEmitOnError?: boolean;
                noErrorTruncation?: boolean;
                noFallthroughCasesInSwitch?: boolean;
                noImplicitAny?: boolean;
                noImplicitOverride?: boolean;
                noImplicitReturns?: boolean;
                noImplicitThis?: boolean;
                noImplicitUseStrict?: boolean;
                noLib?: boolean;
                noPropertyAccessFromIndexSignature?: boolean;
                noResolve?: boolean;
                noStrictGenericChecks?: boolean;
                noUncheckedIndexedAccess?: boolean;
                noUnusedLocals?: boolean;
                noUnusedParameters?: boolean;
                out?: string;
                outDir?: string;
                outFile?: string;
                paths?: {};
                preserveConstEnums?: boolean;
                preserveSymlinks?: boolean;
                preserveValueImports?: boolean;
                project?: string;
                reactNamespace?: string;
                removeComments?: boolean;
                resolveJsonModule?: boolean;
                rootDir?: string;
                rootDirs?: ((...) | (...))[];
                skipDefaultLibCheck?: boolean;
                skipLibCheck?: boolean;
                sourceMap?: boolean;
                sourceRoot?: string;
                strict?: boolean;
                strictBindCallApply?: boolean;
                strictFunctionTypes?: boolean;
                strictNullChecks?: boolean;
                strictPropertyInitialization?: boolean;
                stripInternal?: boolean;
                suppressExcessPropertyErrors?: boolean;
                suppressImplicitAnyIndexErrors?: boolean;
                target?: ScriptTarget;
                traceResolution?: boolean;
                tsBuildInfoFile?: string;
                typeRoots?: ((...) | (...))[];
                types?: ((...) | (...))[];
                useDefineForClassFields?: boolean;
                useUnknownInCatchVariables?: boolean;
            }
            • Optional allowJs?: boolean
            • Optional allowSyntheticDefaultImports?: boolean
            • Optional allowUmdGlobalAccess?: boolean
            • Optional allowUnreachableCode?: boolean
            • Optional allowUnusedLabels?: boolean
            • Optional alwaysStrict?: boolean
            • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
            • Optional baseUrl?: string
            • Optional charset?: string
            • Optional checkJs?: boolean
            • Optional composite?: boolean
            • Optional declaration?: boolean
            • Optional declarationDir?: string
            • Optional declarationMap?: boolean
            • Optional disableReferencedProjectLoad?: boolean
            • Optional disableSizeLimit?: boolean
            • Optional disableSolutionSearching?: boolean
            • Optional disableSourceOfProjectReferenceRedirect?: boolean
            • Optional downlevelIteration?: boolean
            • Optional emitBOM?: boolean
            • Optional emitDeclarationOnly?: boolean
            • Optional emitDecoratorMetadata?: boolean
            • Optional esModuleInterop?: boolean
            • Optional exactOptionalPropertyTypes?: boolean
            • Optional experimentalDecorators?: boolean
            • Optional forceConsistentCasingInFileNames?: boolean
            • Optional importHelpers?: boolean
            • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
            • Optional incremental?: boolean
            • Optional inlineSourceMap?: boolean
            • Optional inlineSources?: boolean
            • Optional isolatedModules?: boolean
            • Optional jsx?: JsxEmit
            • Optional jsxFactory?: string
            • Optional jsxFragmentFactory?: string
            • Optional jsxImportSource?: string
            • Optional keyofStringsOnly?: boolean
            • Optional lib?: ((...) | (...))[]
            • Optional locale?: string
            • Optional mapRoot?: string
            • Optional maxNodeModuleJsDepth?: number
            • Optional module?: ModuleKind
            • Optional moduleDetection?: ModuleDetectionKind
            • Optional moduleResolution?: ModuleResolutionKind
            • Optional moduleSuffixes?: ((...) | (...))[]
            • Optional newLine?: NewLineKind
            • Optional noEmit?: boolean
            • Optional noEmitHelpers?: boolean
            • Optional noEmitOnError?: boolean
            • Optional noErrorTruncation?: boolean
            • Optional noFallthroughCasesInSwitch?: boolean
            • Optional noImplicitAny?: boolean
            • Optional noImplicitOverride?: boolean
            • Optional noImplicitReturns?: boolean
            • Optional noImplicitThis?: boolean
            • Optional noImplicitUseStrict?: boolean
            • Optional noLib?: boolean
            • Optional noPropertyAccessFromIndexSignature?: boolean
            • Optional noResolve?: boolean
            • Optional noStrictGenericChecks?: boolean
            • Optional noUncheckedIndexedAccess?: boolean
            • Optional noUnusedLocals?: boolean
            • Optional noUnusedParameters?: boolean
            • Optional out?: string
            • Optional outDir?: string
            • Optional outFile?: string
            • Optional paths?: {}
              • Optional preserveConstEnums?: boolean
              • Optional preserveSymlinks?: boolean
              • Optional preserveValueImports?: boolean
              • Optional project?: string
              • Optional reactNamespace?: string
              • Optional removeComments?: boolean
              • Optional resolveJsonModule?: boolean
              • Optional rootDir?: string
              • Optional rootDirs?: ((...) | (...))[]
              • Optional skipDefaultLibCheck?: boolean
              • Optional skipLibCheck?: boolean
              • Optional sourceMap?: boolean
              • Optional sourceRoot?: string
              • Optional strict?: boolean
              • Optional strictBindCallApply?: boolean
              • Optional strictFunctionTypes?: boolean
              • Optional strictNullChecks?: boolean
              • Optional strictPropertyInitialization?: boolean
              • Optional stripInternal?: boolean
              • Optional suppressExcessPropertyErrors?: boolean
              • Optional suppressImplicitAnyIndexErrors?: boolean
              • Optional target?: ScriptTarget
              • Optional traceResolution?: boolean
              • Optional tsBuildInfoFile?: string
              • Optional typeRoots?: ((...) | (...))[]

                Paths used to compute primary types search locations

              • Optional types?: ((...) | (...))[]
              • Optional useDefineForClassFields?: boolean
              • Optional useUnknownInCatchVariables?: boolean
            • Optional defaultNumberType?: "number" | "integer"
            • Optional defaultProps?: boolean
            • Optional esModuleInterop?: boolean
            • Optional excludePrivate?: boolean
            • Optional id?: string
            • Optional ignoreErrors?: boolean
            • Optional include?: (undefined | string)[]
            • Optional noExtraProps?: boolean
            • Optional out?: string
            • Optional propOrder?: boolean
            • Optional ref?: boolean
            • Optional rejectDateType?: boolean
            • Optional required?: boolean
            • Optional skipLibCheck?: boolean
            • Optional strictNullChecks?: boolean
            • Optional titles?: boolean
            • Optional topRef?: boolean
            • Optional tsNodeRegister?: boolean
            • Optional typeOfKeyword?: boolean
            • Optional uniqueNames?: boolean
            • Optional validationKeywords?: (undefined | string)[]
        • Optional typeMapping?: {
              Any?: TypeMappingFunction<ConstrainedAnyModel, ScalaOptions, ScalaDependencyManager>;
              Array?: TypeMappingFunction<ConstrainedArrayModel, ScalaOptions, ScalaDependencyManager>;
              Boolean?: TypeMappingFunction<ConstrainedBooleanModel, ScalaOptions, ScalaDependencyManager>;
              Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, ScalaOptions, ScalaDependencyManager>;
              Enum?: TypeMappingFunction<ConstrainedEnumModel, ScalaOptions, ScalaDependencyManager>;
              Float?: TypeMappingFunction<ConstrainedFloatModel, ScalaOptions, ScalaDependencyManager>;
              Integer?: TypeMappingFunction<ConstrainedIntegerModel, ScalaOptions, ScalaDependencyManager>;
              Object?: TypeMappingFunction<ConstrainedObjectModel, ScalaOptions, ScalaDependencyManager>;
              Reference?: TypeMappingFunction<ConstrainedReferenceModel, ScalaOptions, ScalaDependencyManager>;
              String?: TypeMappingFunction<ConstrainedStringModel, ScalaOptions, ScalaDependencyManager>;
              Tuple?: TypeMappingFunction<ConstrainedTupleModel, ScalaOptions, ScalaDependencyManager>;
              Union?: TypeMappingFunction<ConstrainedUnionModel, ScalaOptions, ScalaDependencyManager>;
          }

      Returns ScalaFileGenerator

    Properties

    languageName: string
    options: ScalaOptions
    defaultOptions: ScalaOptions = ...

    Methods

    • Parameters

      • model: MetaModel
      • options: {
            collectionType?: "List" | "Array";
            constraints?: {
                constant?: ConstantConstraint<ScalaOptions>;
                enumKey?: EnumKeyConstraint<ScalaOptions>;
                enumValue?: EnumValueConstraint<ScalaOptions>;
                modelName?: ModelNameConstraint<ScalaOptions>;
                propertyKey?: PropertyKeyConstraint<ScalaOptions>;
            };
            defaultPreset?: {
                class?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    ctor?: ((args) => string | Promise<string>);
                    getter?: ((args) => string | Promise<string>);
                    property?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    setter?: ((args) => string | Promise<string>);
                };
                enum?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                };
            };
            dependencyManager?: (() => AbstractDependencyManager) | {
                dependencies?: (undefined | string)[];
                addDependency?(dependency): void;
            };
            indentation?: {
                size?: number;
                type?: IndentationTypes;
            };
            presets?: (undefined | {
                class?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    ctor?: ((args) => string | Promise<(...)>);
                    getter?: ((args) => string | Promise<(...)>);
                    property?: ((args) => string | Promise<(...)>);
                    self?: ((args) => string | Promise<(...)>);
                    setter?: ((args) => string | Promise<(...)>);
                };
                enum?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    item?: ((args) => string);
                    self?: ((args) => string | Promise<(...)>);
                };
            } | {
                options?: any;
                preset?: {
                    class?: {
                        additionalContent?: ((args) => ...);
                        ctor?: ((args) => ...);
                        getter?: ((args) => ...);
                        property?: ((args) => ...);
                        self?: ((args) => ...);
                        setter?: ((args) => ...);
                    };
                    enum?: {
                        additionalContent?: ((args) => ...);
                        item?: ((args) => ...);
                        self?: ((args) => ...);
                    };
                };
            })[];
            processorOptions?: {
                asyncapi?: {
                    __unstable?: {
                        resolver?: {
                            resolvers?: (...)[];
                        };
                    };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: {
                            resolver?: {
                                resolvers?: ...;
                            };
                        };
                        allowedSeverity?: {
                            error?: boolean;
                            hint?: boolean;
                            info?: boolean;
                            warning?: boolean;
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                interpreter?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: {
                    includeComponentSchemas?: boolean;
                };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: (undefined | string)[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: (undefined | string)[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: {};
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: (undefined | string)[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: (undefined | string)[];
                        types?: (undefined | string)[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                    };
                    defaultNumberType?: "number" | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (undefined | string)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (undefined | string)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<ConstrainedAnyModel, ScalaOptions, ScalaDependencyManager>;
                Array?: TypeMappingFunction<ConstrainedArrayModel, ScalaOptions, ScalaDependencyManager>;
                Boolean?: TypeMappingFunction<ConstrainedBooleanModel, ScalaOptions, ScalaDependencyManager>;
                Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, ScalaOptions, ScalaDependencyManager>;
                Enum?: TypeMappingFunction<ConstrainedEnumModel, ScalaOptions, ScalaDependencyManager>;
                Float?: TypeMappingFunction<ConstrainedFloatModel, ScalaOptions, ScalaDependencyManager>;
                Integer?: TypeMappingFunction<ConstrainedIntegerModel, ScalaOptions, ScalaDependencyManager>;
                Object?: TypeMappingFunction<ConstrainedObjectModel, ScalaOptions, ScalaDependencyManager>;
                Reference?: TypeMappingFunction<ConstrainedReferenceModel, ScalaOptions, ScalaDependencyManager>;
                String?: TypeMappingFunction<ConstrainedStringModel, ScalaOptions, ScalaDependencyManager>;
                Tuple?: TypeMappingFunction<ConstrainedTupleModel, ScalaOptions, ScalaDependencyManager>;
                Union?: TypeMappingFunction<ConstrainedUnionModel, ScalaOptions, ScalaDependencyManager>;
            };
        }
        • Optional collectionType?: "List" | "Array"
        • Optional constraints?: {
              constant?: ConstantConstraint<ScalaOptions>;
              enumKey?: EnumKeyConstraint<ScalaOptions>;
              enumValue?: EnumValueConstraint<ScalaOptions>;
              modelName?: ModelNameConstraint<ScalaOptions>;
              propertyKey?: PropertyKeyConstraint<ScalaOptions>;
          }
        • Optional defaultPreset?: {
              class?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  ctor?: ((args) => string | Promise<string>);
                  getter?: ((args) => string | Promise<string>);
                  property?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  setter?: ((args) => string | Promise<string>);
              };
              enum?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
              };
          }
          • Optional class?: {
                additionalContent?: ((args) => string | Promise<string>);
                ctor?: ((args) => string | Promise<string>);
                getter?: ((args) => string | Promise<string>);
                property?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                setter?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional ctor?: ((args) => string | Promise<string>)
            • Optional getter?: ((args) => string | Promise<string>)
            • Optional property?: ((args) => string | Promise<string>)
            • Optional self?: ((args) => string | Promise<string>)
            • Optional setter?: ((args) => string | Promise<string>)
          • Optional enum?: {
                additionalContent?: ((args) => string | Promise<string>);
                item?: ((args) => string);
                self?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional item?: ((args) => string)
            • Optional self?: ((args) => string | Promise<string>)
        • Optional dependencyManager?: (() => AbstractDependencyManager) | {
              dependencies?: (undefined | string)[];
              addDependency?(dependency): void;
          }

          This dependency manager type serves two functions.

          1. It can be used to provide a factory for generate functions
          2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

          This depends on context and where it's used.

        • Optional indentation?: {
              size?: number;
              type?: IndentationTypes;
          }
        • Optional presets?: (undefined | {
              class?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  ctor?: ((args) => string | Promise<(...)>);
                  getter?: ((args) => string | Promise<(...)>);
                  property?: ((args) => string | Promise<(...)>);
                  self?: ((args) => string | Promise<(...)>);
                  setter?: ((args) => string | Promise<(...)>);
              };
              enum?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  item?: ((args) => string);
                  self?: ((args) => string | Promise<(...)>);
              };
          } | {
              options?: any;
              preset?: {
                  class?: {
                      additionalContent?: ((args) => ...);
                      ctor?: ((args) => ...);
                      getter?: ((args) => ...);
                      property?: ((args) => ...);
                      self?: ((args) => ...);
                      setter?: ((args) => ...);
                  };
                  enum?: {
                      additionalContent?: ((args) => ...);
                      item?: ((args) => ...);
                      self?: ((args) => ...);
                  };
              };
          })[]
        • Optional processorOptions?: {
              asyncapi?: {
                  __unstable?: {
                      resolver?: {
                          resolvers?: (...)[];
                      };
                  };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: {
                          resolver?: {
                              resolvers?: ...;
                          };
                      };
                      allowedSeverity?: {
                          error?: boolean;
                          hint?: boolean;
                          info?: boolean;
                          warning?: boolean;
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              interpreter?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: {
                  includeComponentSchemas?: boolean;
              };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: (undefined | string)[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: (undefined | string)[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: {};
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: (undefined | string)[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: (undefined | string)[];
                      types?: (undefined | string)[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                  };
                  defaultNumberType?: "number" | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (undefined | string)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (undefined | string)[];
              };
          }
          • Optional asyncapi?: {
                __unstable?: {
                    resolver?: {
                        resolvers?: (...)[];
                    };
                };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: {
                        resolver?: {
                            resolvers?: ...;
                        };
                    };
                    allowedSeverity?: {
                        error?: boolean;
                        hint?: boolean;
                        info?: boolean;
                        warning?: boolean;
                    };
                    ignoreUnknownFormat?: boolean;
                };
            }
            • Optional __unstable?: {
                  resolver?: {
                      resolvers?: (...)[];
                  };
              }
              • Optional resolver?: {
                    resolvers?: (...)[];
                }
                • Optional resolvers?: (...)[]
            • Optional applyTraits?: boolean
            • Optional parseSchemas?: boolean
            • Optional source?: string
            • Optional validateOptions?: {
                  __unstable?: {
                      resolver?: {
                          resolvers?: ...;
                      };
                  };
                  allowedSeverity?: {
                      error?: boolean;
                      hint?: boolean;
                      info?: boolean;
                      warning?: boolean;
                  };
                  ignoreUnknownFormat?: boolean;
              }
              • Optional __unstable?: {
                    resolver?: {
                        resolvers?: ...;
                    };
                }
                • Optional resolver?: {
                      resolvers?: ...;
                  }
                  • Optional resolvers?: ...
              • Optional allowedSeverity?: {
                    error?: boolean;
                    hint?: boolean;
                    info?: boolean;
                    warning?: boolean;
                }
                • Optional error?: boolean
                • Optional hint?: boolean
                • Optional info?: boolean
                • Optional warning?: boolean
              • Optional ignoreUnknownFormat?: boolean
          • Optional interpreter?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
            }

            Deprecated

            Use the jsonSchema options instead of interpreter

            • Optional allowInheritance?: boolean
            • Optional disableCache?: boolean

              This 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.

            • Optional discriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • Optional ignoreAdditionalItems?: boolean

              For 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.

            • Optional ignoreAdditionalProperties?: boolean

              For 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.

          • Optional jsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • Optional allowInheritance?: boolean
            • Optional disableCache?: boolean

              This 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.

            • Optional discriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • Optional ignoreAdditionalItems?: boolean

              For 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.

            • Optional ignoreAdditionalProperties?: boolean

              For 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.

            • Optional interpretSingleEnumAsConst?: boolean

              This 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.

            • Optional propertyNameForAdditionalProperties?: string

              This option changes which property name that should be used to represent additionalProperties in JSON Schema

          • Optional openapi?: {
                includeComponentSchemas?: boolean;
            }
            • Optional includeComponentSchemas?: boolean
          • Optional typescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: (undefined | string)[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: (undefined | string)[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: {};
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: (undefined | string)[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: (undefined | string)[];
                    types?: (undefined | string)[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                };
                defaultNumberType?: "number" | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (undefined | string)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (undefined | string)[];
            }
            • Optional aliasRef?: boolean
            • Optional compilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: (undefined | string)[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: (undefined | string)[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: {};
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: (undefined | string)[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: (undefined | string)[];
                  types?: (undefined | string)[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
              }
              • Optional allowJs?: boolean
              • Optional allowSyntheticDefaultImports?: boolean
              • Optional allowUmdGlobalAccess?: boolean
              • Optional allowUnreachableCode?: boolean
              • Optional allowUnusedLabels?: boolean
              • Optional alwaysStrict?: boolean
              • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
              • Optional baseUrl?: string
              • Optional charset?: string
              • Optional checkJs?: boolean
              • Optional composite?: boolean
              • Optional declaration?: boolean
              • Optional declarationDir?: string
              • Optional declarationMap?: boolean
              • Optional disableReferencedProjectLoad?: boolean
              • Optional disableSizeLimit?: boolean
              • Optional disableSolutionSearching?: boolean
              • Optional disableSourceOfProjectReferenceRedirect?: boolean
              • Optional downlevelIteration?: boolean
              • Optional emitBOM?: boolean
              • Optional emitDeclarationOnly?: boolean
              • Optional emitDecoratorMetadata?: boolean
              • Optional esModuleInterop?: boolean
              • Optional exactOptionalPropertyTypes?: boolean
              • Optional experimentalDecorators?: boolean
              • Optional forceConsistentCasingInFileNames?: boolean
              • Optional importHelpers?: boolean
              • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optional incremental?: boolean
              • Optional inlineSourceMap?: boolean
              • Optional inlineSources?: boolean
              • Optional isolatedModules?: boolean
              • Optional jsx?: JsxEmit
              • Optional jsxFactory?: string
              • Optional jsxFragmentFactory?: string
              • Optional jsxImportSource?: string
              • Optional keyofStringsOnly?: boolean
              • Optional lib?: (undefined | string)[]
              • Optional locale?: string
              • Optional mapRoot?: string
              • Optional maxNodeModuleJsDepth?: number
              • Optional module?: ModuleKind
              • Optional moduleDetection?: ModuleDetectionKind
              • Optional moduleResolution?: ModuleResolutionKind
              • Optional moduleSuffixes?: (undefined | string)[]
              • Optional newLine?: NewLineKind
              • Optional noEmit?: boolean
              • Optional noEmitHelpers?: boolean
              • Optional noEmitOnError?: boolean
              • Optional noErrorTruncation?: boolean
              • Optional noFallthroughCasesInSwitch?: boolean
              • Optional noImplicitAny?: boolean
              • Optional noImplicitOverride?: boolean
              • Optional noImplicitReturns?: boolean
              • Optional noImplicitThis?: boolean
              • Optional noImplicitUseStrict?: boolean
              • Optional noLib?: boolean
              • Optional noPropertyAccessFromIndexSignature?: boolean
              • Optional noResolve?: boolean
              • Optional noStrictGenericChecks?: boolean
              • Optional noUncheckedIndexedAccess?: boolean
              • Optional noUnusedLocals?: boolean
              • Optional noUnusedParameters?: boolean
              • Optional out?: string
              • Optional outDir?: string
              • Optional outFile?: string
              • Optional paths?: {}
                • Optional preserveConstEnums?: boolean
                • Optional preserveSymlinks?: boolean
                • Optional preserveValueImports?: boolean
                • Optional project?: string
                • Optional reactNamespace?: string
                • Optional removeComments?: boolean
                • Optional resolveJsonModule?: boolean
                • Optional rootDir?: string
                • Optional rootDirs?: (undefined | string)[]
                • Optional skipDefaultLibCheck?: boolean
                • Optional skipLibCheck?: boolean
                • Optional sourceMap?: boolean
                • Optional sourceRoot?: string
                • Optional strict?: boolean
                • Optional strictBindCallApply?: boolean
                • Optional strictFunctionTypes?: boolean
                • Optional strictNullChecks?: boolean
                • Optional strictPropertyInitialization?: boolean
                • Optional stripInternal?: boolean
                • Optional suppressExcessPropertyErrors?: boolean
                • Optional suppressImplicitAnyIndexErrors?: boolean
                • Optional target?: ScriptTarget
                • Optional traceResolution?: boolean
                • Optional tsBuildInfoFile?: string
                • Optional typeRoots?: (undefined | string)[]

                  Paths used to compute primary types search locations

                • Optional types?: (undefined | string)[]
                • Optional useDefineForClassFields?: boolean
                • Optional useUnknownInCatchVariables?: boolean
              • Optional defaultNumberType?: "number" | "integer"
              • Optional defaultProps?: boolean
              • Optional esModuleInterop?: boolean
              • Optional excludePrivate?: boolean
              • Optional id?: string
              • Optional ignoreErrors?: boolean
              • Optional include?: (undefined | string)[]
              • Optional noExtraProps?: boolean
              • Optional out?: string
              • Optional propOrder?: boolean
              • Optional ref?: boolean
              • Optional rejectDateType?: boolean
              • Optional required?: boolean
              • Optional skipLibCheck?: boolean
              • Optional strictNullChecks?: boolean
              • Optional titles?: boolean
              • Optional topRef?: boolean
              • Optional tsNodeRegister?: boolean
              • Optional typeOfKeyword?: boolean
              • Optional uniqueNames?: boolean
              • Optional validationKeywords?: (undefined | string)[]
          • Optional typeMapping?: {
                Any?: TypeMappingFunction<ConstrainedAnyModel, ScalaOptions, ScalaDependencyManager>;
                Array?: TypeMappingFunction<ConstrainedArrayModel, ScalaOptions, ScalaDependencyManager>;
                Boolean?: TypeMappingFunction<ConstrainedBooleanModel, ScalaOptions, ScalaDependencyManager>;
                Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, ScalaOptions, ScalaDependencyManager>;
                Enum?: TypeMappingFunction<ConstrainedEnumModel, ScalaOptions, ScalaDependencyManager>;
                Float?: TypeMappingFunction<ConstrainedFloatModel, ScalaOptions, ScalaDependencyManager>;
                Integer?: TypeMappingFunction<ConstrainedIntegerModel, ScalaOptions, ScalaDependencyManager>;
                Object?: TypeMappingFunction<ConstrainedObjectModel, ScalaOptions, ScalaDependencyManager>;
                Reference?: TypeMappingFunction<ConstrainedReferenceModel, ScalaOptions, ScalaDependencyManager>;
                String?: TypeMappingFunction<ConstrainedStringModel, ScalaOptions, ScalaDependencyManager>;
                Tuple?: TypeMappingFunction<ConstrainedTupleModel, ScalaOptions, ScalaDependencyManager>;
                Union?: TypeMappingFunction<ConstrainedUnionModel, ScalaOptions, ScalaDependencyManager>;
            }

        Returns ConstrainedMetaModel

      • Returns the Scala options by merging custom options with default ones.

        Parameters

        • Optional options: {
              collectionType?: "List" | "Array";
              constraints?: {
                  constant?: ConstantConstraint<ScalaOptions>;
                  enumKey?: EnumKeyConstraint<ScalaOptions>;
                  enumValue?: EnumValueConstraint<ScalaOptions>;
                  modelName?: ModelNameConstraint<ScalaOptions>;
                  propertyKey?: PropertyKeyConstraint<ScalaOptions>;
              };
              defaultPreset?: {
                  class?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      ctor?: ((args) => string | Promise<string>);
                      getter?: ((args) => string | Promise<string>);
                      property?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      setter?: ((args) => string | Promise<string>);
                  };
                  enum?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      item?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                  };
              };
              dependencyManager?: (() => AbstractDependencyManager) | {
                  dependencies?: (undefined | string)[];
                  addDependency?(dependency): void;
              };
              indentation?: {
                  size?: number;
                  type?: IndentationTypes;
              };
              presets?: (undefined | {
                  class?: {
                      additionalContent?: ((args) => (...) | (...));
                      ctor?: ((args) => (...) | (...));
                      getter?: ((args) => (...) | (...));
                      property?: ((args) => (...) | (...));
                      self?: ((args) => (...) | (...));
                      setter?: ((args) => (...) | (...));
                  };
                  enum?: {
                      additionalContent?: ((args) => (...) | (...));
                      item?: ((args) => string);
                      self?: ((args) => (...) | (...));
                  };
              } | {
                  options?: any;
                  preset?: {
                      class?: {
                          additionalContent?: (...) | (...);
                          ctor?: (...) | (...);
                          getter?: (...) | (...);
                          property?: (...) | (...);
                          self?: (...) | (...);
                          setter?: (...) | (...);
                      };
                      enum?: {
                          additionalContent?: (...) | (...);
                          item?: (...) | (...);
                          self?: (...) | (...);
                      };
                  };
              })[];
              processorOptions?: {
                  asyncapi?: {
                      __unstable?: {
                          resolver?: {
                              resolvers?: (...) | (...);
                          };
                      };
                      applyTraits?: boolean;
                      parseSchemas?: boolean;
                      source?: string;
                      validateOptions?: {
                          __unstable?: {
                              resolver?: (...) | (...);
                          };
                          allowedSeverity?: {
                              error?: (...) | (...) | (...);
                              hint?: (...) | (...) | (...);
                              info?: (...) | (...) | (...);
                              warning?: (...) | (...) | (...);
                          };
                          ignoreUnknownFormat?: boolean;
                      };
                  };
                  interpreter?: {
                      allowInheritance?: boolean;
                      disableCache?: boolean;
                      discriminator?: string;
                      ignoreAdditionalItems?: boolean;
                      ignoreAdditionalProperties?: boolean;
                  };
                  jsonSchema?: {
                      allowInheritance?: boolean;
                      disableCache?: boolean;
                      discriminator?: string;
                      ignoreAdditionalItems?: boolean;
                      ignoreAdditionalProperties?: boolean;
                      interpretSingleEnumAsConst?: boolean;
                      propertyNameForAdditionalProperties?: string;
                  };
                  openapi?: {
                      includeComponentSchemas?: boolean;
                  };
                  typescript?: {
                      aliasRef?: boolean;
                      compilerOptions?: {
                          allowJs?: boolean;
                          allowSyntheticDefaultImports?: boolean;
                          allowUmdGlobalAccess?: boolean;
                          allowUnreachableCode?: boolean;
                          allowUnusedLabels?: boolean;
                          alwaysStrict?: boolean;
                          assumeChangesOnlyAffectDirectDependencies?: boolean;
                          baseUrl?: string;
                          charset?: string;
                          checkJs?: boolean;
                          composite?: boolean;
                          declaration?: boolean;
                          declarationDir?: string;
                          declarationMap?: boolean;
                          disableReferencedProjectLoad?: boolean;
                          disableSizeLimit?: boolean;
                          disableSolutionSearching?: boolean;
                          disableSourceOfProjectReferenceRedirect?: boolean;
                          downlevelIteration?: boolean;
                          emitBOM?: boolean;
                          emitDeclarationOnly?: boolean;
                          emitDecoratorMetadata?: boolean;
                          esModuleInterop?: boolean;
                          exactOptionalPropertyTypes?: boolean;
                          experimentalDecorators?: boolean;
                          forceConsistentCasingInFileNames?: boolean;
                          importHelpers?: boolean;
                          importsNotUsedAsValues?: ImportsNotUsedAsValues;
                          incremental?: boolean;
                          inlineSourceMap?: boolean;
                          inlineSources?: boolean;
                          isolatedModules?: boolean;
                          jsx?: JsxEmit;
                          jsxFactory?: string;
                          jsxFragmentFactory?: string;
                          jsxImportSource?: string;
                          keyofStringsOnly?: boolean;
                          lib?: ((...) | (...))[];
                          locale?: string;
                          mapRoot?: string;
                          maxNodeModuleJsDepth?: number;
                          module?: ModuleKind;
                          moduleDetection?: ModuleDetectionKind;
                          moduleResolution?: ModuleResolutionKind;
                          moduleSuffixes?: ((...) | (...))[];
                          newLine?: NewLineKind;
                          noEmit?: boolean;
                          noEmitHelpers?: boolean;
                          noEmitOnError?: boolean;
                          noErrorTruncation?: boolean;
                          noFallthroughCasesInSwitch?: boolean;
                          noImplicitAny?: boolean;
                          noImplicitOverride?: boolean;
                          noImplicitReturns?: boolean;
                          noImplicitThis?: boolean;
                          noImplicitUseStrict?: boolean;
                          noLib?: boolean;
                          noPropertyAccessFromIndexSignature?: boolean;
                          noResolve?: boolean;
                          noStrictGenericChecks?: boolean;
                          noUncheckedIndexedAccess?: boolean;
                          noUnusedLocals?: boolean;
                          noUnusedParameters?: boolean;
                          out?: string;
                          outDir?: string;
                          outFile?: string;
                          paths?: {};
                          preserveConstEnums?: boolean;
                          preserveSymlinks?: boolean;
                          preserveValueImports?: boolean;
                          project?: string;
                          reactNamespace?: string;
                          removeComments?: boolean;
                          resolveJsonModule?: boolean;
                          rootDir?: string;
                          rootDirs?: ((...) | (...))[];
                          skipDefaultLibCheck?: boolean;
                          skipLibCheck?: boolean;
                          sourceMap?: boolean;
                          sourceRoot?: string;
                          strict?: boolean;
                          strictBindCallApply?: boolean;
                          strictFunctionTypes?: boolean;
                          strictNullChecks?: boolean;
                          strictPropertyInitialization?: boolean;
                          stripInternal?: boolean;
                          suppressExcessPropertyErrors?: boolean;
                          suppressImplicitAnyIndexErrors?: boolean;
                          target?: ScriptTarget;
                          traceResolution?: boolean;
                          tsBuildInfoFile?: string;
                          typeRoots?: ((...) | (...))[];
                          types?: ((...) | (...))[];
                          useDefineForClassFields?: boolean;
                          useUnknownInCatchVariables?: boolean;
                      };
                      defaultNumberType?: "number" | "integer";
                      defaultProps?: boolean;
                      esModuleInterop?: boolean;
                      excludePrivate?: boolean;
                      id?: string;
                      ignoreErrors?: boolean;
                      include?: (undefined | string)[];
                      noExtraProps?: boolean;
                      out?: string;
                      propOrder?: boolean;
                      ref?: boolean;
                      rejectDateType?: boolean;
                      required?: boolean;
                      skipLibCheck?: boolean;
                      strictNullChecks?: boolean;
                      titles?: boolean;
                      topRef?: boolean;
                      tsNodeRegister?: boolean;
                      typeOfKeyword?: boolean;
                      uniqueNames?: boolean;
                      validationKeywords?: (undefined | string)[];
                  };
              };
              typeMapping?: {
                  Any?: TypeMappingFunction<ConstrainedAnyModel, ScalaOptions, ScalaDependencyManager>;
                  Array?: TypeMappingFunction<ConstrainedArrayModel, ScalaOptions, ScalaDependencyManager>;
                  Boolean?: TypeMappingFunction<ConstrainedBooleanModel, ScalaOptions, ScalaDependencyManager>;
                  Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, ScalaOptions, ScalaDependencyManager>;
                  Enum?: TypeMappingFunction<ConstrainedEnumModel, ScalaOptions, ScalaDependencyManager>;
                  Float?: TypeMappingFunction<ConstrainedFloatModel, ScalaOptions, ScalaDependencyManager>;
                  Integer?: TypeMappingFunction<ConstrainedIntegerModel, ScalaOptions, ScalaDependencyManager>;
                  Object?: TypeMappingFunction<ConstrainedObjectModel, ScalaOptions, ScalaDependencyManager>;
                  Reference?: TypeMappingFunction<ConstrainedReferenceModel, ScalaOptions, ScalaDependencyManager>;
                  String?: TypeMappingFunction<ConstrainedStringModel, ScalaOptions, ScalaDependencyManager>;
                  Tuple?: TypeMappingFunction<ConstrainedTupleModel, ScalaOptions, ScalaDependencyManager>;
                  Union?: TypeMappingFunction<ConstrainedUnionModel, ScalaOptions, ScalaDependencyManager>;
              };
          }
          • Optional collectionType?: "List" | "Array"
          • Optional constraints?: {
                constant?: ConstantConstraint<ScalaOptions>;
                enumKey?: EnumKeyConstraint<ScalaOptions>;
                enumValue?: EnumValueConstraint<ScalaOptions>;
                modelName?: ModelNameConstraint<ScalaOptions>;
                propertyKey?: PropertyKeyConstraint<ScalaOptions>;
            }
          • Optional defaultPreset?: {
                class?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    ctor?: ((args) => string | Promise<string>);
                    getter?: ((args) => string | Promise<string>);
                    property?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    setter?: ((args) => string | Promise<string>);
                };
                enum?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                };
            }
            • Optional class?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  ctor?: ((args) => string | Promise<string>);
                  getter?: ((args) => string | Promise<string>);
                  property?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  setter?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional ctor?: ((args) => string | Promise<string>)
              • Optional getter?: ((args) => string | Promise<string>)
              • Optional property?: ((args) => string | Promise<string>)
              • Optional self?: ((args) => string | Promise<string>)
              • Optional setter?: ((args) => string | Promise<string>)
            • Optional enum?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional item?: ((args) => string)
              • Optional self?: ((args) => string | Promise<string>)
          • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                dependencies?: (undefined | string)[];
                addDependency?(dependency): void;
            }

            This dependency manager type serves two functions.

            1. It can be used to provide a factory for generate functions
            2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

            This depends on context and where it's used.

          • Optional indentation?: {
                size?: number;
                type?: IndentationTypes;
            }
          • Optional presets?: (undefined | {
                class?: {
                    additionalContent?: ((args) => (...) | (...));
                    ctor?: ((args) => (...) | (...));
                    getter?: ((args) => (...) | (...));
                    property?: ((args) => (...) | (...));
                    self?: ((args) => (...) | (...));
                    setter?: ((args) => (...) | (...));
                };
                enum?: {
                    additionalContent?: ((args) => (...) | (...));
                    item?: ((args) => string);
                    self?: ((args) => (...) | (...));
                };
            } | {
                options?: any;
                preset?: {
                    class?: {
                        additionalContent?: (...) | (...);
                        ctor?: (...) | (...);
                        getter?: (...) | (...);
                        property?: (...) | (...);
                        self?: (...) | (...);
                        setter?: (...) | (...);
                    };
                    enum?: {
                        additionalContent?: (...) | (...);
                        item?: (...) | (...);
                        self?: (...) | (...);
                    };
                };
            })[]
          • Optional processorOptions?: {
                asyncapi?: {
                    __unstable?: {
                        resolver?: {
                            resolvers?: (...) | (...);
                        };
                    };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: {
                            resolver?: (...) | (...);
                        };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                interpreter?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: {
                    includeComponentSchemas?: boolean;
                };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: ((...) | (...))[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: ((...) | (...))[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: {};
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: ((...) | (...))[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: ((...) | (...))[];
                        types?: ((...) | (...))[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                    };
                    defaultNumberType?: "number" | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (undefined | string)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (undefined | string)[];
                };
            }
            • Optional asyncapi?: {
                  __unstable?: {
                      resolver?: {
                          resolvers?: (...) | (...);
                      };
                  };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: {
                          resolver?: (...) | (...);
                      };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              }
              • Optional __unstable?: {
                    resolver?: {
                        resolvers?: (...) | (...);
                    };
                }
                • Optional resolver?: {
                      resolvers?: (...) | (...);
                  }
                  • Optional resolvers?: (...) | (...)
              • Optional applyTraits?: boolean
              • Optional parseSchemas?: boolean
              • Optional source?: string
              • Optional validateOptions?: {
                    __unstable?: {
                        resolver?: (...) | (...);
                    };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                }
                • Optional __unstable?: {
                      resolver?: (...) | (...);
                  }
                  • Optional resolver?: (...) | (...)
                • Optional allowedSeverity?: {
                      error?: (...) | (...) | (...);
                      hint?: (...) | (...) | (...);
                      info?: (...) | (...) | (...);
                      warning?: (...) | (...) | (...);
                  }
                  • Optional error?: (...) | (...) | (...)
                  • Optional hint?: (...) | (...) | (...)
                  • Optional info?: (...) | (...) | (...)
                  • Optional warning?: (...) | (...) | (...)
                • Optional ignoreUnknownFormat?: boolean
            • Optional interpreter?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
              }

              Deprecated

              Use the jsonSchema options instead of interpreter

              • Optional allowInheritance?: boolean
              • Optional disableCache?: boolean

                This 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.

              • Optional discriminator?: string

                When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

              • Optional ignoreAdditionalItems?: boolean

                For 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.

              • Optional ignoreAdditionalProperties?: boolean

                For 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.

            • Optional jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              }
              • Optional allowInheritance?: boolean
              • Optional disableCache?: boolean

                This 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.

              • Optional discriminator?: string

                When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

              • Optional ignoreAdditionalItems?: boolean

                For 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.

              • Optional ignoreAdditionalProperties?: boolean

                For 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.

              • Optional interpretSingleEnumAsConst?: boolean

                This 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.

              • Optional propertyNameForAdditionalProperties?: string

                This option changes which property name that should be used to represent additionalProperties in JSON Schema

            • Optional openapi?: {
                  includeComponentSchemas?: boolean;
              }
              • Optional includeComponentSchemas?: boolean
            • Optional typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: ((...) | (...))[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: ((...) | (...))[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: {};
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: ((...) | (...))[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: ((...) | (...))[];
                      types?: ((...) | (...))[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                  };
                  defaultNumberType?: "number" | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (undefined | string)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (undefined | string)[];
              }
              • Optional aliasRef?: boolean
              • Optional compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: ((...) | (...))[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: ((...) | (...))[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: {};
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: ((...) | (...))[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: ((...) | (...))[];
                    types?: ((...) | (...))[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                }
                • Optional allowJs?: boolean
                • Optional allowSyntheticDefaultImports?: boolean
                • Optional allowUmdGlobalAccess?: boolean
                • Optional allowUnreachableCode?: boolean
                • Optional allowUnusedLabels?: boolean
                • Optional alwaysStrict?: boolean
                • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                • Optional baseUrl?: string
                • Optional charset?: string
                • Optional checkJs?: boolean
                • Optional composite?: boolean
                • Optional declaration?: boolean
                • Optional declarationDir?: string
                • Optional declarationMap?: boolean
                • Optional disableReferencedProjectLoad?: boolean
                • Optional disableSizeLimit?: boolean
                • Optional disableSolutionSearching?: boolean
                • Optional disableSourceOfProjectReferenceRedirect?: boolean
                • Optional downlevelIteration?: boolean
                • Optional emitBOM?: boolean
                • Optional emitDeclarationOnly?: boolean
                • Optional emitDecoratorMetadata?: boolean
                • Optional esModuleInterop?: boolean
                • Optional exactOptionalPropertyTypes?: boolean
                • Optional experimentalDecorators?: boolean
                • Optional forceConsistentCasingInFileNames?: boolean
                • Optional importHelpers?: boolean
                • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                • Optional incremental?: boolean
                • Optional inlineSourceMap?: boolean
                • Optional inlineSources?: boolean
                • Optional isolatedModules?: boolean
                • Optional jsx?: JsxEmit
                • Optional jsxFactory?: string
                • Optional jsxFragmentFactory?: string
                • Optional jsxImportSource?: string
                • Optional keyofStringsOnly?: boolean
                • Optional lib?: ((...) | (...))[]
                • Optional locale?: string
                • Optional mapRoot?: string
                • Optional maxNodeModuleJsDepth?: number
                • Optional module?: ModuleKind
                • Optional moduleDetection?: ModuleDetectionKind
                • Optional moduleResolution?: ModuleResolutionKind
                • Optional moduleSuffixes?: ((...) | (...))[]
                • Optional newLine?: NewLineKind
                • Optional noEmit?: boolean
                • Optional noEmitHelpers?: boolean
                • Optional noEmitOnError?: boolean
                • Optional noErrorTruncation?: boolean
                • Optional noFallthroughCasesInSwitch?: boolean
                • Optional noImplicitAny?: boolean
                • Optional noImplicitOverride?: boolean
                • Optional noImplicitReturns?: boolean
                • Optional noImplicitThis?: boolean
                • Optional noImplicitUseStrict?: boolean
                • Optional noLib?: boolean
                • Optional noPropertyAccessFromIndexSignature?: boolean
                • Optional noResolve?: boolean
                • Optional noStrictGenericChecks?: boolean
                • Optional noUncheckedIndexedAccess?: boolean
                • Optional noUnusedLocals?: boolean
                • Optional noUnusedParameters?: boolean
                • Optional out?: string
                • Optional outDir?: string
                • Optional outFile?: string
                • Optional paths?: {}
                  • Optional preserveConstEnums?: boolean
                  • Optional preserveSymlinks?: boolean
                  • Optional preserveValueImports?: boolean
                  • Optional project?: string
                  • Optional reactNamespace?: string
                  • Optional removeComments?: boolean
                  • Optional resolveJsonModule?: boolean
                  • Optional rootDir?: string
                  • Optional rootDirs?: ((...) | (...))[]
                  • Optional skipDefaultLibCheck?: boolean
                  • Optional skipLibCheck?: boolean
                  • Optional sourceMap?: boolean
                  • Optional sourceRoot?: string
                  • Optional strict?: boolean
                  • Optional strictBindCallApply?: boolean
                  • Optional strictFunctionTypes?: boolean
                  • Optional strictNullChecks?: boolean
                  • Optional strictPropertyInitialization?: boolean
                  • Optional stripInternal?: boolean
                  • Optional suppressExcessPropertyErrors?: boolean
                  • Optional suppressImplicitAnyIndexErrors?: boolean
                  • Optional target?: ScriptTarget
                  • Optional traceResolution?: boolean
                  • Optional tsBuildInfoFile?: string
                  • Optional typeRoots?: ((...) | (...))[]

                    Paths used to compute primary types search locations

                  • Optional types?: ((...) | (...))[]
                  • Optional useDefineForClassFields?: boolean
                  • Optional useUnknownInCatchVariables?: boolean
                • Optional defaultNumberType?: "number" | "integer"
                • Optional defaultProps?: boolean
                • Optional esModuleInterop?: boolean
                • Optional excludePrivate?: boolean
                • Optional id?: string
                • Optional ignoreErrors?: boolean
                • Optional include?: (undefined | string)[]
                • Optional noExtraProps?: boolean
                • Optional out?: string
                • Optional propOrder?: boolean
                • Optional ref?: boolean
                • Optional rejectDateType?: boolean
                • Optional required?: boolean
                • Optional skipLibCheck?: boolean
                • Optional strictNullChecks?: boolean
                • Optional titles?: boolean
                • Optional topRef?: boolean
                • Optional tsNodeRegister?: boolean
                • Optional typeOfKeyword?: boolean
                • Optional uniqueNames?: boolean
                • Optional validationKeywords?: (undefined | string)[]
            • Optional typeMapping?: {
                  Any?: TypeMappingFunction<ConstrainedAnyModel, ScalaOptions, ScalaDependencyManager>;
                  Array?: TypeMappingFunction<ConstrainedArrayModel, ScalaOptions, ScalaDependencyManager>;
                  Boolean?: TypeMappingFunction<ConstrainedBooleanModel, ScalaOptions, ScalaDependencyManager>;
                  Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, ScalaOptions, ScalaDependencyManager>;
                  Enum?: TypeMappingFunction<ConstrainedEnumModel, ScalaOptions, ScalaDependencyManager>;
                  Float?: TypeMappingFunction<ConstrainedFloatModel, ScalaOptions, ScalaDependencyManager>;
                  Integer?: TypeMappingFunction<ConstrainedIntegerModel, ScalaOptions, ScalaDependencyManager>;
                  Object?: TypeMappingFunction<ConstrainedObjectModel, ScalaOptions, ScalaDependencyManager>;
                  Reference?: TypeMappingFunction<ConstrainedReferenceModel, ScalaOptions, ScalaDependencyManager>;
                  String?: TypeMappingFunction<ConstrainedStringModel, ScalaOptions, ScalaDependencyManager>;
                  Tuple?: TypeMappingFunction<ConstrainedTupleModel, ScalaOptions, ScalaDependencyManager>;
                  Union?: TypeMappingFunction<ConstrainedUnionModel, ScalaOptions, ScalaDependencyManager>;
              }

          Returns ScalaOptions