{ "$schema": "http://json-schema.org/schema", "id": "https://github.com/cyclosproject/ng-openapi-gen/blob/master/ng-openapi-gen-schema.json", "title": "Options for ng-openapi-gen", "type": "object", "required": [ "input" ], "properties": { "$schema": { "type": "string" }, "input": { "description": "The input file or URL to the OpenAPI 3 specification, JSON or YAML, local file or URL", "type": "string" }, "output": { "description": "Where generated files will be written to. Defaults to 'src/app/api'.", "type": "string", "default": "src/app/api" }, "fetchTimeout": { "description": "Indicates the timeout when fetching the input URL, in milliseconds. Defaults to 20 seconds (20000).", "type": "number", "default": 20000 }, "defaultTag": { "description": "Tag name assumed for operations without tags. Defaults to 'Api'.", "type": "string" }, "includeTags": { "description": "When specified, filters the generated services, including only those corresponding to this list of tags.", "type": "array", "items": { "type": "string" } }, "excludeTags": { "description": "When specified, filters the generated services, excluding any service corresponding to this list of tags.", "type": "array", "items": { "type": "string" } }, "ignoreUnusedModels": { "description": "Indicates whether or not to ignore model files that are not referenced by any operation. Defaults to true.", "type": "boolean", "default": true }, "removeStaleFiles": { "description": "Indicates whether or not to remove any files in the output folder that were not generated. Defaults to true.", "type": "boolean", "default": true }, "modelIndex": { "description": "Typescript file, without '.ts' extension that exports all models. Set to false to skip. Defaults to `models`.", "default": "models", "anyOf": [ { "type": "string" }, { "type": "boolean" } ] }, "services": { "description": "When set to false, no services will be generated, only operation functions. Disabling services also disables the module and service index.", "default": true, "type": "boolean" }, "serviceIndex": { "description": "Typescript file, without '.ts' extension that exports all services. Set to false to skip. Defaults to `services`.", "default": "services", "anyOf": [ { "type": "string" }, { "type": "boolean" } ] }, "servicePrefix": { "description": "Prefix for generated service classes. Defaults to empty.", "type": "string", "default": "" }, "serviceSuffix": { "description": "Suffix for generated service classes. Defaults to `Service`.", "type": "string", "default": "Service" }, "modelPrefix": { "description": "Prefix for generated model classes. Defaults to empty.", "type": "string", "default": "" }, "modelSuffix": { "description": "Suffix for generated model classes. Defaults to empty.", "type": "string", "default": "" }, "configuration": { "description": "Name for the configuration class to generate. Defaults to 'ApiConfiguration'.", "type": "string", "default": "ApiConfiguration" }, "baseService": { "description": "Name for the base service class to generate. Defaults to 'BaseService'.", "type": "string", "default": "BaseService" }, "apiService": { "description": "Name for the service to call functions directly. By default is not generated.", "type": "string", "default": "" }, "requestBuilder": { "description": "Name for the request builder class to generate. Defaults to 'RequestBuilder'.", "type": "string", "default": "RequestBuilder" }, "response": { "description": "Name for the response class to generate. Defaults to 'StrictHttpResponse'.", "type": "string", "default": "StrictHttpResponse" }, "module": { "description": "Class name of the module that provides all services. Set to false to skip. Defaults to `ApiModule`.", "default": "ApiModule", "anyOf": [ { "type": "string" }, { "type": "boolean" } ] }, "enumStyle": { "description": "Determines how root enums will be generated. Possible values are:\n\n- `alias`: just generate a type alias with the possible values;\n- `upper` for an enum with UPPER_CASE names;\n- `pascal` for enum PascalCase names;\n- `ignorecase` for enum names that ignore character casing; Defaults to 'pascal'.", "default": "pascal", "enum": [ "alias", "upper", "pascal", "ignorecase" ] }, "enumArray": { "description": "Should an array be exported for each model, in a file sibling to the enum definition?", "default": false, "type": "boolean" }, "endOfLineStyle": { "description": "Determines how to normalize line endings. Possible values are: `crlf`: normalize line endings to CRLF (Windows, DOS) => \\r\\n. `lf` normalize line endings to LF (Unix, OS X) => \\n. `cr` normalize line endings to CR (Mac OS) => \\r. `auto` normalize line endings for the current operating system. Defaults to 'auto'.", "default": "auto", "enum": [ "crlf", "lf", "cr", "auto" ] }, "templates": { "description": "Custom templates directory. Any `.handlebars` files here will be used instead of the corresponding default.", "type": "string" }, "excludeParameters": { "description": "When specified, ignores on generated services any parameters whose names are in this list.", "type": "array", "items": { "type": "string" } }, "indexFile": { "description": "When set to true, a index.ts file will be generated that exports all generated files.", "default": false, "type": "boolean" }, "skipJsonSuffix": { "description": "When specified, does not generate a $Json suffix.", "default": false, "type": "boolean" }, "customizedResponseType": { "type": "object", "description": "Defines which paths to use which responseType, commonly used when build-in deduction can't fullfill your needs", "minProperties": 1, "patternProperties": { ".*": { "required": [ "toUse" ], "type": "object", "properties": { "toUse": { "type": "string", "enum": [ "arraybuffer", "blob", "json", "document" ] } } } } }, "useTempDir": { "description": "When specified, will create temporary files in system temporary folder instead of output folder", "default": false, "type": "boolean" }, "silent": { "description": "When set to true, no verbose output will be displayed.", "default": "false", "type": "boolean" } } }