From 63507b23cced61e2f903ade146b37e7194373e0f Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 13:22:59 +0000 Subject: [PATCH 01/70] Add core location --- README.md | 65 +- docs/custom-core-location.md | 54 + src/index.ts | 13 + src/templates/exportService.hbs | 10 +- src/utils/generateCoreLocation.spec.ts | 33 + src/utils/generateCoreLocation.ts | 25 + src/utils/writeClient.spec.ts | 1 + src/utils/writeClient.ts | 35 +- src/utils/writeClientClass.spec.ts | 11 +- src/utils/writeClientClass.ts | 5 +- src/utils/writeClientIndex.spec.ts | 2 +- src/utils/writeClientIndex.ts | 3 + src/utils/writeClientModels.spec.ts | 2 +- src/utils/writeClientModels.ts | 5 +- src/utils/writeClientSchemas.spec.ts | 2 +- src/utils/writeClientSchemas.ts | 5 +- src/utils/writeClientServices.spec.ts | 12 +- src/utils/writeClientServices.ts | 3 + test/__snapshots__/index.spec.ts.snap | 3724 ++++++++++++++++++++++++ test/index.spec.ts | 23 + types/index.d.ts | 1 + 21 files changed, 3987 insertions(+), 47 deletions(-) create mode 100644 docs/custom-core-location.md create mode 100644 src/utils/generateCoreLocation.spec.ts create mode 100644 src/utils/generateCoreLocation.ts diff --git a/README.md b/README.md index 429f905ee..2a1b182a7 100644 --- a/README.md +++ b/README.md @@ -11,16 +11,17 @@ > Node.js library that generates Typescript clients based on the OpenAPI specification. ## Why? -- Frontend ❤️ OpenAPI, but we do not want to use JAVA codegen in our builds -- Quick, lightweight, robust and framework-agnostic 🚀 -- Supports generation of TypeScript clients -- Supports generations of Fetch, [Node-Fetch](#node-fetch-support), [Axios](#axios-support), [Angular](#angular-support) and XHR http clients -- Supports OpenAPI specification v2.0 and v3.0 -- Supports JSON and YAML files for input -- Supports generation through CLI, Node.js and NPX -- Supports tsc and @babel/plugin-transform-typescript -- Supports aborting of requests (cancelable promise pattern) -- Supports external references using [json-schema-ref-parser](https://github.com/APIDevTools/json-schema-ref-parser/) + +- Frontend ❤️ OpenAPI, but we do not want to use JAVA codegen in our builds +- Quick, lightweight, robust and framework-agnostic 🚀 +- Supports generation of TypeScript clients +- Supports generations of Fetch, [Node-Fetch](#node-fetch-support), [Axios](#axios-support), [Angular](#angular-support) and XHR http clients +- Supports OpenAPI specification v2.0 and v3.0 +- Supports JSON and YAML files for input +- Supports generation through CLI, Node.js and NPX +- Supports tsc and @babel/plugin-transform-typescript +- Supports aborting of requests (cancelable promise pattern) +- Supports external references using [json-schema-ref-parser](https://github.com/APIDevTools/json-schema-ref-parser/) ## Install @@ -51,6 +52,7 @@ $ openapi --help --postfixServices Service name postfix (default: "Service") --postfixModels Model name postfix --request Path to custom request file + --coreLocation Path to custom core location to be used while using for multiple APIS -h, --help display help for command Examples @@ -58,27 +60,28 @@ $ openapi --help $ openapi --input ./spec.json --output ./generated --client xhr ``` -Documentation -=== -- [Basic usage](docs/basic-usage.md) -- [OpenAPI object](docs/openapi-object.md) -- [Client instances](docs/client-instances.md) `--name` -- [Argument vs. Object style](docs/arguments-vs-object-style.md) `--useOptions` -- [Enums vs. Union types](docs/enum-vs-union-types.md) `--useUnionTypes` -- [Runtime schemas](docs/runtime-schemas.md) `--exportSchemas` -- [Enum with custom names and descriptions](docs/custom-enums.md) -- [Nullable props (OpenAPI v2)](docs/nullable-props.md) -- [Authorization](docs/authorization.md) -- [External references](docs/external-references.md) -- [Canceling requests](docs/canceling-requests.md) -- [Custom request file](docs/custom-request-file.md) - -Support -=== -- [Babel support](docs/babel-support.md) -- [Axios support](docs/axios-support.md) -- [Angular support](docs/angular-support.md) -- [Node-Fetch support](docs/node-fetch-support.md) +# Documentation + +- [Basic usage](docs/basic-usage.md) +- [OpenAPI object](docs/openapi-object.md) +- [Client instances](docs/client-instances.md) `--name` +- [Argument vs. Object style](docs/arguments-vs-object-style.md) `--useOptions` +- [Enums vs. Union types](docs/enum-vs-union-types.md) `--useUnionTypes` +- [Runtime schemas](docs/runtime-schemas.md) `--exportSchemas` +- [Enum with custom names and descriptions](docs/custom-enums.md) +- [Nullable props (OpenAPI v2)](docs/nullable-props.md) +- [Authorization](docs/authorization.md) +- [External references](docs/external-references.md) +- [Canceling requests](docs/canceling-requests.md) +- [Custom request file](docs/custom-request-file.md) +- [Custom Core Location](docs/custom-core-location.md) + +# Support + +- [Babel support](docs/babel-support.md) +- [Axios support](docs/axios-support.md) +- [Angular support](docs/angular-support.md) +- [Node-Fetch support](docs/node-fetch-support.md) [npm-url]: https://npmjs.org/package/openapi-typescript-codegen [npm-image]: https://img.shields.io/npm/v/openapi-typescript-codegen.svg diff --git a/docs/custom-core-location.md b/docs/custom-core-location.md new file mode 100644 index 000000000..92825ff94 --- /dev/null +++ b/docs/custom-core-location.md @@ -0,0 +1,54 @@ +# Custom Core Location + +If you want to implement the core generation with a custom core +location so that it can be shared over multiple APIS. + +The following example shows 2 APIS being created with a shared core. +First create a empty core + +### generation.ts + +```typescript +import { generate } from 'openapi-typescript-codegen'; +await generate({ + input: { + openapi: '3.0.0', + info: { + version: '1.0.0', + title: 'Dummy for generation core', + }, + }, + output: `./src/generated/core`, + httpClient: 'axios', + exportCore: true, + exportModels: false, + exportSchemas: false, + exportServices: false, +}); + +await generate({ + input: api1, + output: `src/generated/api1`, + httpClient: 'axios', + clientName: 'api1', + exportCore: false, + coreLocation: `src/generated/core`, +}); + +await generate({ + input: api2, + output: `src/generated/api2`, + httpClient: 'axios', + clientName: 'api2', + exportCore: false, + coreLocation: `src/generated/core`, +}); +``` + +And this means that the following index.ts inside `src/generated/` will work with no duplicate cores generated + +```typescript +export * from './core'; +export * from './api1'; +export * from './api2'; +``` diff --git a/src/index.ts b/src/index.ts index e63919085..60702729a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,9 @@ +import { resolve } from 'path'; import { HttpClient } from './HttpClient'; import { Indent } from './Indent'; import { parse as parseV2 } from './openApi/v2'; import { parse as parseV3 } from './openApi/v3'; +import { generateCoreLocationFromOutput } from './utils/generateCoreLocation'; import { getOpenApiSpec } from './utils/getOpenApiSpec'; import { getOpenApiVersion, OpenApiVersion } from './utils/getOpenApiVersion'; import { isString } from './utils/isString'; @@ -28,6 +30,7 @@ export type Options = { postfixModels?: string; request?: string; write?: boolean; + coreLocation?: string; }; /** @@ -49,6 +52,7 @@ export type Options = { * @param postfixModels Model name postfix * @param request Path to custom request file * @param write Write the files to disk (true or false) + * @param coreLocation The location of an alternative core package to be used when creating multiple APIs forces exportCore = false */ export const generate = async ({ input, @@ -66,6 +70,7 @@ export const generate = async ({ postfixModels = '', request, write = true, + coreLocation = undefined, }: Options): Promise => { const openApi = isString(input) ? await getOpenApiSpec(input) : input; const openApiVersion = getOpenApiVersion(openApi); @@ -75,6 +80,12 @@ export const generate = async ({ useOptions, }); + if (coreLocation && coreLocation !== '') { + exportCore = false; + coreLocation = generateCoreLocationFromOutput(coreLocation, output); + } else { + coreLocation = '../core'; + } switch (openApiVersion) { case OpenApiVersion.V2: { const client = parseV2(openApi); @@ -94,6 +105,7 @@ export const generate = async ({ indent, postfixServices, postfixModels, + coreLocation, clientName, request ); @@ -118,6 +130,7 @@ export const generate = async ({ indent, postfixServices, postfixModels, + coreLocation, clientName, request ); diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index d6bccbbeb..5d6e98b52 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -18,17 +18,17 @@ import type { {{{this}}} } from '../models/{{{this}}}'; {{/if}} {{#notEquals @root.httpClient 'angular'}} -import type { CancelablePromise } from '../core/CancelablePromise'; +import type { CancelablePromise } from '{{{coreLocation}}}/CancelablePromise'; {{/notEquals}} {{#if @root.exportClient}} {{#equals @root.httpClient 'angular'}} -import { BaseHttpRequest } from '../core/BaseHttpRequest'; +import { BaseHttpRequest } from '{{{coreLocation}}}/BaseHttpRequest'; {{else}} -import type { BaseHttpRequest } from '../core/BaseHttpRequest'; +import type { BaseHttpRequest } from '{{{coreLocation}}}/BaseHttpRequest'; {{/equals}} {{else}} -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; +import { OpenAPI } from '{{{coreLocation}}}/OpenAPI'; +import { request as __request } from '{{{coreLocation}}}/request'; {{/if}} {{#equals @root.httpClient 'angular'}} diff --git a/src/utils/generateCoreLocation.spec.ts b/src/utils/generateCoreLocation.spec.ts new file mode 100644 index 000000000..f9fdc7075 --- /dev/null +++ b/src/utils/generateCoreLocation.spec.ts @@ -0,0 +1,33 @@ +import { generateCoreLocationFromOutput } from './generateCoreLocation'; + +describe('generateCoreLocation', () => { + it('Happy path', () => { + const loc = generateCoreLocationFromOutput('coreDir1/coreDir2/core', 'output/dir1/dir2'); + + expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); + }); + + it('output starts with ./', () => { + const loc = generateCoreLocationFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2'); + + expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); + }); + + it('output ends with /', () => { + const loc = generateCoreLocationFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2/'); + + expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); + }); + + it('coreLoc starts with ./', () => { + const loc = generateCoreLocationFromOutput('./coreDir1/coreDir2/core', './output/dir1/dir2/'); + + expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); + }); + + it('coreLoc ends with /', () => { + const loc = generateCoreLocationFromOutput('./coreDir1/coreDir2/core/', './output/dir1/dir2/'); + + expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); + }); +}); diff --git a/src/utils/generateCoreLocation.ts b/src/utils/generateCoreLocation.ts new file mode 100644 index 000000000..f9eae8400 --- /dev/null +++ b/src/utils/generateCoreLocation.ts @@ -0,0 +1,25 @@ +export const generateCoreLocationFromOutput = (coreLocation: string, output: string): string => { + //This brings the core location back up to the top level before going elsewhere + + let outputTmp = output; + if (outputTmp.startsWith('./')) { + outputTmp = outputTmp.slice(2); + } + if (outputTmp.endsWith('/')) { + outputTmp = outputTmp.slice(0, outputTmp.length - 1); + } + var count = (outputTmp.match(/\//g) || []).length; + + let location = '../../'; + for (let i = 0; i < count; ++i) { + location += '../'; + } + + if (coreLocation.startsWith('./')) { + coreLocation = coreLocation.slice(2); + } + if (coreLocation.endsWith('/')) { + coreLocation = coreLocation.slice(0, coreLocation.length - 1); + } + return (location += coreLocation); +}; diff --git a/src/utils/writeClient.spec.ts b/src/utils/writeClient.spec.ts index 3c06a95a5..75c8eb2d4 100644 --- a/src/utils/writeClient.spec.ts +++ b/src/utils/writeClient.spec.ts @@ -49,6 +49,7 @@ describe('writeClient', () => { true, Indent.SPACE_4, 'Service', + '../core', 'AppClient' ); diff --git a/src/utils/writeClient.ts b/src/utils/writeClient.ts index cea2f3d88..0c852cb58 100644 --- a/src/utils/writeClient.ts +++ b/src/utils/writeClient.ts @@ -30,6 +30,7 @@ import { writeClientServices } from './writeClientServices'; * @param indent Indentation options (4, 2 or tab) * @param postfixServices Service name postfix * @param postfixModels Model name postfix + * @param coreLocation The location of the core packages * @param clientName Custom client class name * @param request Path to custom request file */ @@ -47,6 +48,7 @@ export const writeClient = async ( indent: Indent, postfixServices: string, postfixModels: string, + coreLocation: string, clientName?: string, request?: string ): Promise => { @@ -78,6 +80,7 @@ export const writeClient = async ( useOptions, indent, postfixServices, + coreLocation, clientName ); } @@ -85,18 +88,43 @@ export const writeClient = async ( if (exportSchemas) { await rmdir(outputPathSchemas); await mkdir(outputPathSchemas); - await writeClientSchemas(client.models, templates, outputPathSchemas, httpClient, useUnionTypes, indent); + await writeClientSchemas( + client.models, + templates, + outputPathSchemas, + httpClient, + useUnionTypes, + indent, + coreLocation + ); } if (exportModels) { await rmdir(outputPathModels); await mkdir(outputPathModels); - await writeClientModels(client.models, templates, outputPathModels, httpClient, useUnionTypes, indent); + await writeClientModels( + client.models, + templates, + outputPathModels, + httpClient, + useUnionTypes, + indent, + coreLocation + ); } if (isDefined(clientName)) { await mkdir(outputPath); - await writeClientClass(client, templates, outputPath, httpClient, clientName, indent, postfixServices); + await writeClientClass( + client, + templates, + outputPath, + httpClient, + clientName, + indent, + postfixServices, + coreLocation + ); } if (exportCore || exportServices || exportSchemas || exportModels) { @@ -112,6 +140,7 @@ export const writeClient = async ( exportSchemas, postfixServices, postfixModels, + coreLocation, clientName ); } diff --git a/src/utils/writeClientClass.spec.ts b/src/utils/writeClientClass.spec.ts index 102f2eb57..5f7d740e4 100644 --- a/src/utils/writeClientClass.spec.ts +++ b/src/utils/writeClientClass.spec.ts @@ -36,7 +36,16 @@ describe('writeClientClass', () => { }, }; - await writeClientClass(client, templates, './dist', HttpClient.FETCH, 'AppClient', Indent.SPACE_4, ''); + await writeClientClass( + client, + templates, + './dist', + HttpClient.FETCH, + 'AppClient', + Indent.SPACE_4, + '', + '../core' + ); expect(writeFile).toBeCalled(); }); diff --git a/src/utils/writeClientClass.ts b/src/utils/writeClientClass.ts index 558150bb4..083291f40 100644 --- a/src/utils/writeClientClass.ts +++ b/src/utils/writeClientClass.ts @@ -22,6 +22,7 @@ import { sortServicesByName } from './sortServicesByName'; * @param clientName Custom client class name * @param indent Indentation options (4, 2 or tab) * @param postfix Service name postfix + * @param coreLocation The location of the core packages */ export const writeClientClass = async ( client: Client, @@ -30,7 +31,8 @@ export const writeClientClass = async ( httpClient: HttpClient, clientName: string, indent: Indent, - postfix: string + postfix: string, + coreLocation: string ): Promise => { const templateResult = templates.client({ clientName, @@ -41,6 +43,7 @@ export const writeClientClass = async ( models: sortModelsByName(client.models), services: sortServicesByName(client.services), httpRequest: getHttpRequestName(httpClient), + coreLocation, }); await writeFile(resolve(outputPath, `${clientName}.ts`), i(f(templateResult), indent)); diff --git a/src/utils/writeClientIndex.spec.ts b/src/utils/writeClientIndex.spec.ts index a74421115..d6ddc1ea5 100644 --- a/src/utils/writeClientIndex.spec.ts +++ b/src/utils/writeClientIndex.spec.ts @@ -34,7 +34,7 @@ describe('writeClientIndex', () => { }, }; - await writeClientIndex(client, templates, '/', true, true, true, true, true, 'Service', ''); + await writeClientIndex(client, templates, '/', true, true, true, true, true, 'Service', '../core', ''); expect(writeFile).toBeCalledWith('/index.ts', 'index'); }); diff --git a/src/utils/writeClientIndex.ts b/src/utils/writeClientIndex.ts index 5044294d5..038d4f077 100644 --- a/src/utils/writeClientIndex.ts +++ b/src/utils/writeClientIndex.ts @@ -21,6 +21,7 @@ import { sortServicesByName } from './sortServicesByName'; * @param exportSchemas Generate schemas * @param postfixServices Service name postfix * @param postfixModels Model name postfix + * @param coreLocation The location of the core packages * @param clientName Custom client class name */ export const writeClientIndex = async ( @@ -34,6 +35,7 @@ export const writeClientIndex = async ( exportSchemas: boolean, postfixServices: string, postfixModels: string, + coreLocation: string, clientName?: string ): Promise => { const templateResult = templates.index({ @@ -50,6 +52,7 @@ export const writeClientIndex = async ( models: sortModelsByName(client.models), services: sortServicesByName(client.services), exportClient: isDefined(clientName), + coreLocation, }); await writeFile(resolve(outputPath, 'index.ts'), templateResult); diff --git a/src/utils/writeClientModels.spec.ts b/src/utils/writeClientModels.spec.ts index e147c8e73..301c2626f 100644 --- a/src/utils/writeClientModels.spec.ts +++ b/src/utils/writeClientModels.spec.ts @@ -51,7 +51,7 @@ describe('writeClientModels', () => { }, }; - await writeClientModels(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4); + await writeClientModels(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core'); expect(writeFile).toBeCalledWith('/User.ts', `model${EOL}`); }); diff --git a/src/utils/writeClientModels.ts b/src/utils/writeClientModels.ts index 997569b9f..16e61a8ea 100644 --- a/src/utils/writeClientModels.ts +++ b/src/utils/writeClientModels.ts @@ -16,6 +16,7 @@ import type { Templates } from './registerHandlebarTemplates'; * @param httpClient The selected httpClient (fetch, xhr, node or axios) * @param useUnionTypes Use union types instead of enums * @param indent Indentation options (4, 2 or tab) + * @param coreLocation The location of the core packages */ export const writeClientModels = async ( models: Model[], @@ -23,7 +24,8 @@ export const writeClientModels = async ( outputPath: string, httpClient: HttpClient, useUnionTypes: boolean, - indent: Indent + indent: Indent, + coreLocation: string ): Promise => { for (const model of models) { const file = resolve(outputPath, `${model.name}.ts`); @@ -31,6 +33,7 @@ export const writeClientModels = async ( ...model, httpClient, useUnionTypes, + coreLocation, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/src/utils/writeClientSchemas.spec.ts b/src/utils/writeClientSchemas.spec.ts index f71286232..3f2b2270b 100644 --- a/src/utils/writeClientSchemas.spec.ts +++ b/src/utils/writeClientSchemas.spec.ts @@ -51,7 +51,7 @@ describe('writeClientSchemas', () => { }, }; - await writeClientSchemas(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4); + await writeClientSchemas(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core'); expect(writeFile).toBeCalledWith('/$User.ts', `schema${EOL}`); }); diff --git a/src/utils/writeClientSchemas.ts b/src/utils/writeClientSchemas.ts index e1c885f64..4cb22c3ed 100644 --- a/src/utils/writeClientSchemas.ts +++ b/src/utils/writeClientSchemas.ts @@ -16,6 +16,7 @@ import type { Templates } from './registerHandlebarTemplates'; * @param httpClient The selected httpClient (fetch, xhr, node or axios) * @param useUnionTypes Use union types instead of enums * @param indent Indentation options (4, 2 or tab) + * @param coreLocation The location of the core packages */ export const writeClientSchemas = async ( models: Model[], @@ -23,7 +24,8 @@ export const writeClientSchemas = async ( outputPath: string, httpClient: HttpClient, useUnionTypes: boolean, - indent: Indent + indent: Indent, + coreLocation: string ): Promise => { for (const model of models) { const file = resolve(outputPath, `$${model.name}.ts`); @@ -31,6 +33,7 @@ export const writeClientSchemas = async ( ...model, httpClient, useUnionTypes, + coreLocation, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/src/utils/writeClientServices.spec.ts b/src/utils/writeClientServices.spec.ts index b7ebbfe6c..3b572b9cd 100644 --- a/src/utils/writeClientServices.spec.ts +++ b/src/utils/writeClientServices.spec.ts @@ -39,7 +39,17 @@ describe('writeClientServices', () => { }, }; - await writeClientServices(services, templates, '/', HttpClient.FETCH, false, false, Indent.SPACE_4, 'Service'); + await writeClientServices( + services, + templates, + '/', + HttpClient.FETCH, + false, + false, + Indent.SPACE_4, + 'Service', + '../core' + ); expect(writeFile).toBeCalledWith('/UserService.ts', `service${EOL}`); }); diff --git a/src/utils/writeClientServices.ts b/src/utils/writeClientServices.ts index 2f95341d2..5ed210c81 100644 --- a/src/utils/writeClientServices.ts +++ b/src/utils/writeClientServices.ts @@ -19,6 +19,7 @@ import type { Templates } from './registerHandlebarTemplates'; * @param useOptions Use options or arguments functions * @param indent Indentation options (4, 2 or tab) * @param postfix Service name postfix + * @param coreLocation The location of the core packages * @param clientName Custom client class name */ export const writeClientServices = async ( @@ -30,6 +31,7 @@ export const writeClientServices = async ( useOptions: boolean, indent: Indent, postfix: string, + coreLocation: string, clientName?: string ): Promise => { for (const service of services) { @@ -41,6 +43,7 @@ export const writeClientServices = async ( useOptions, postfix, exportClient: isDefined(clientName), + coreLocation, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index eefa4ffe0..d80c8a245 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -7360,3 +7360,3727 @@ export class UploadService { } " `; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/index.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type { _default as _defaultDto } from './models/_default'; +export type { ArrayWithArray as ArrayWithArrayDto } from './models/ArrayWithArray'; +export type { ArrayWithBooleans as ArrayWithBooleansDto } from './models/ArrayWithBooleans'; +export type { ArrayWithNumbers as ArrayWithNumbersDto } from './models/ArrayWithNumbers'; +export type { ArrayWithProperties as ArrayWithPropertiesDto } from './models/ArrayWithProperties'; +export type { ArrayWithReferences as ArrayWithReferencesDto } from './models/ArrayWithReferences'; +export type { ArrayWithStrings as ArrayWithStringsDto } from './models/ArrayWithStrings'; +export type { CommentWithBackticks as CommentWithBackticksDto } from './models/CommentWithBackticks'; +export type { CommentWithBreaks as CommentWithBreaksDto } from './models/CommentWithBreaks'; +export type { CommentWithExpressionPlaceholders as CommentWithExpressionPlaceholdersDto } from './models/CommentWithExpressionPlaceholders'; +export type { CommentWithQuotes as CommentWithQuotesDto } from './models/CommentWithQuotes'; +export type { CommentWithReservedCharacters as CommentWithReservedCharactersDto } from './models/CommentWithReservedCharacters'; +export type { CommentWithSlashes as CommentWithSlashesDto } from './models/CommentWithSlashes'; +export type { CompositionBaseModel as CompositionBaseModelDto } from './models/CompositionBaseModel'; +export type { CompositionExtendedModel as CompositionExtendedModelDto } from './models/CompositionExtendedModel'; +export type { CompositionWithAllOfAndNullable as CompositionWithAllOfAndNullableDto } from './models/CompositionWithAllOfAndNullable'; +export type { CompositionWithAnyOf as CompositionWithAnyOfDto } from './models/CompositionWithAnyOf'; +export type { CompositionWithAnyOfAndNullable as CompositionWithAnyOfAndNullableDto } from './models/CompositionWithAnyOfAndNullable'; +export type { CompositionWithAnyOfAnonymous as CompositionWithAnyOfAnonymousDto } from './models/CompositionWithAnyOfAnonymous'; +export type { CompositionWithOneOf as CompositionWithOneOfDto } from './models/CompositionWithOneOf'; +export type { CompositionWithOneOfAndComplexArrayDictionary as CompositionWithOneOfAndComplexArrayDictionaryDto } from './models/CompositionWithOneOfAndComplexArrayDictionary'; +export type { CompositionWithOneOfAndNullable as CompositionWithOneOfAndNullableDto } from './models/CompositionWithOneOfAndNullable'; +export type { CompositionWithOneOfAndSimpleArrayDictionary as CompositionWithOneOfAndSimpleArrayDictionaryDto } from './models/CompositionWithOneOfAndSimpleArrayDictionary'; +export type { CompositionWithOneOfAndSimpleDictionary as CompositionWithOneOfAndSimpleDictionaryDto } from './models/CompositionWithOneOfAndSimpleDictionary'; +export type { CompositionWithOneOfAnonymous as CompositionWithOneOfAnonymousDto } from './models/CompositionWithOneOfAnonymous'; +export type { CompositionWithOneOfDiscriminator as CompositionWithOneOfDiscriminatorDto } from './models/CompositionWithOneOfDiscriminator'; +export type { DeprecatedModel as DeprecatedModelDto } from './models/DeprecatedModel'; +export type { DictionaryWithArray as DictionaryWithArrayDto } from './models/DictionaryWithArray'; +export type { DictionaryWithDictionary as DictionaryWithDictionaryDto } from './models/DictionaryWithDictionary'; +export type { DictionaryWithProperties as DictionaryWithPropertiesDto } from './models/DictionaryWithProperties'; +export type { DictionaryWithReference as DictionaryWithReferenceDto } from './models/DictionaryWithReference'; +export type { DictionaryWithString as DictionaryWithStringDto } from './models/DictionaryWithString'; +export type { EnumFromDescription as EnumFromDescriptionDto } from './models/EnumFromDescription'; +export { EnumWithExtensions as EnumWithExtensionsDto } from './models/EnumWithExtensions'; +export { EnumWithNumbers as EnumWithNumbersDto } from './models/EnumWithNumbers'; +export { EnumWithStrings as EnumWithStringsDto } from './models/EnumWithStrings'; +export type { File as FileDto } from './models/File'; +export type { FreeFormObjectWithAdditionalPropertiesEqEmptyObject as FreeFormObjectWithAdditionalPropertiesEqEmptyObjectDto } from './models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; +export type { FreeFormObjectWithAdditionalPropertiesEqTrue as FreeFormObjectWithAdditionalPropertiesEqTrueDto } from './models/FreeFormObjectWithAdditionalPropertiesEqTrue'; +export type { FreeFormObjectWithoutAdditionalProperties as FreeFormObjectWithoutAdditionalPropertiesDto } from './models/FreeFormObjectWithoutAdditionalProperties'; +export type { ModelCircle as ModelCircleDto } from './models/ModelCircle'; +export type { ModelSquare as ModelSquareDto } from './models/ModelSquare'; +export type { ModelThatExtends as ModelThatExtendsDto } from './models/ModelThatExtends'; +export type { ModelThatExtendsExtends as ModelThatExtendsExtendsDto } from './models/ModelThatExtendsExtends'; +export type { ModelWithArray as ModelWithArrayDto } from './models/ModelWithArray'; +export type { ModelWithBoolean as ModelWithBooleanDto } from './models/ModelWithBoolean'; +export type { ModelWithCircularReference as ModelWithCircularReferenceDto } from './models/ModelWithCircularReference'; +export type { ModelWithDictionary as ModelWithDictionaryDto } from './models/ModelWithDictionary'; +export type { ModelWithDuplicateImports as ModelWithDuplicateImportsDto } from './models/ModelWithDuplicateImports'; +export type { ModelWithDuplicateProperties as ModelWithDuplicatePropertiesDto } from './models/ModelWithDuplicateProperties'; +export { ModelWithEnum as ModelWithEnumDto } from './models/ModelWithEnum'; +export type { ModelWithEnumFromDescription as ModelWithEnumFromDescriptionDto } from './models/ModelWithEnumFromDescription'; +export type { ModelWithInteger as ModelWithIntegerDto } from './models/ModelWithInteger'; +export type { ModelWithNestedEnums as ModelWithNestedEnumsDto } from './models/ModelWithNestedEnums'; +export type { ModelWithNestedProperties as ModelWithNestedPropertiesDto } from './models/ModelWithNestedProperties'; +export type { ModelWithNullableString as ModelWithNullableStringDto } from './models/ModelWithNullableString'; +export type { ModelWithOrderedProperties as ModelWithOrderedPropertiesDto } from './models/ModelWithOrderedProperties'; +export type { ModelWithPattern as ModelWithPatternDto } from './models/ModelWithPattern'; +export type { ModelWithProperties as ModelWithPropertiesDto } from './models/ModelWithProperties'; +export type { ModelWithReference as ModelWithReferenceDto } from './models/ModelWithReference'; +export type { ModelWithString as ModelWithStringDto } from './models/ModelWithString'; +export type { Pageable as PageableDto } from './models/Pageable'; +export type { SimpleBoolean as SimpleBooleanDto } from './models/SimpleBoolean'; +export type { SimpleFile as SimpleFileDto } from './models/SimpleFile'; +export type { SimpleInteger as SimpleIntegerDto } from './models/SimpleInteger'; +export type { SimpleReference as SimpleReferenceDto } from './models/SimpleReference'; +export type { SimpleString as SimpleStringDto } from './models/SimpleString'; +export type { SimpleStringWithPattern as SimpleStringWithPatternDto } from './models/SimpleStringWithPattern'; + +export { $_default } from './schemas/$_default'; +export { $ArrayWithArray } from './schemas/$ArrayWithArray'; +export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; +export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; +export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; +export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; +export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; +export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; +export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; +export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; +export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; +export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; +export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; +export { $CompositionBaseModel } from './schemas/$CompositionBaseModel'; +export { $CompositionExtendedModel } from './schemas/$CompositionExtendedModel'; +export { $CompositionWithAllOfAndNullable } from './schemas/$CompositionWithAllOfAndNullable'; +export { $CompositionWithAnyOf } from './schemas/$CompositionWithAnyOf'; +export { $CompositionWithAnyOfAndNullable } from './schemas/$CompositionWithAnyOfAndNullable'; +export { $CompositionWithAnyOfAnonymous } from './schemas/$CompositionWithAnyOfAnonymous'; +export { $CompositionWithOneOf } from './schemas/$CompositionWithOneOf'; +export { $CompositionWithOneOfAndComplexArrayDictionary } from './schemas/$CompositionWithOneOfAndComplexArrayDictionary'; +export { $CompositionWithOneOfAndNullable } from './schemas/$CompositionWithOneOfAndNullable'; +export { $CompositionWithOneOfAndSimpleArrayDictionary } from './schemas/$CompositionWithOneOfAndSimpleArrayDictionary'; +export { $CompositionWithOneOfAndSimpleDictionary } from './schemas/$CompositionWithOneOfAndSimpleDictionary'; +export { $CompositionWithOneOfAnonymous } from './schemas/$CompositionWithOneOfAnonymous'; +export { $CompositionWithOneOfDiscriminator } from './schemas/$CompositionWithOneOfDiscriminator'; +export { $DeprecatedModel } from './schemas/$DeprecatedModel'; +export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; +export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; +export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; +export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; +export { $DictionaryWithString } from './schemas/$DictionaryWithString'; +export { $EnumFromDescription } from './schemas/$EnumFromDescription'; +export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; +export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; +export { $EnumWithStrings } from './schemas/$EnumWithStrings'; +export { $File } from './schemas/$File'; +export { $FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; +export { $FreeFormObjectWithAdditionalPropertiesEqTrue } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue'; +export { $FreeFormObjectWithoutAdditionalProperties } from './schemas/$FreeFormObjectWithoutAdditionalProperties'; +export { $ModelCircle } from './schemas/$ModelCircle'; +export { $ModelSquare } from './schemas/$ModelSquare'; +export { $ModelThatExtends } from './schemas/$ModelThatExtends'; +export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; +export { $ModelWithArray } from './schemas/$ModelWithArray'; +export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; +export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; +export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; +export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; +export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; +export { $ModelWithEnum } from './schemas/$ModelWithEnum'; +export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; +export { $ModelWithInteger } from './schemas/$ModelWithInteger'; +export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; +export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; +export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; +export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; +export { $ModelWithPattern } from './schemas/$ModelWithPattern'; +export { $ModelWithProperties } from './schemas/$ModelWithProperties'; +export { $ModelWithReference } from './schemas/$ModelWithReference'; +export { $ModelWithString } from './schemas/$ModelWithString'; +export { $Pageable } from './schemas/$Pageable'; +export { $SimpleBoolean } from './schemas/$SimpleBoolean'; +export { $SimpleFile } from './schemas/$SimpleFile'; +export { $SimpleInteger } from './schemas/$SimpleInteger'; +export { $SimpleReference } from './schemas/$SimpleReference'; +export { $SimpleString } from './schemas/$SimpleString'; +export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; + +export { CollectionFormatService } from './services/CollectionFormatService'; +export { ComplexService } from './services/ComplexService'; +export { DefaultService } from './services/DefaultService'; +export { DefaultsService } from './services/DefaultsService'; +export { DeprecatedService } from './services/DeprecatedService'; +export { DescriptionsService } from './services/DescriptionsService'; +export { DuplicateService } from './services/DuplicateService'; +export { ErrorService } from './services/ErrorService'; +export { FormDataService } from './services/FormDataService'; +export { HeaderService } from './services/HeaderService'; +export { MultipartService } from './services/MultipartService'; +export { MultipleTags1Service } from './services/MultipleTags1Service'; +export { MultipleTags2Service } from './services/MultipleTags2Service'; +export { MultipleTags3Service } from './services/MultipleTags3Service'; +export { NoContentService } from './services/NoContentService'; +export { ParametersService } from './services/ParametersService'; +export { RequestBodyService } from './services/RequestBodyService'; +export { ResponseService } from './services/ResponseService'; +export { SimpleService } from './services/SimpleService'; +export { TypesService } from './services/TypesService'; +export { UploadService } from './services/UploadService'; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/_default.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type _default = { + name?: string; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithArray.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a simple array containing an array + */ +export type ArrayWithArray = Array>; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithBooleans.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple array with booleans + */ +export type ArrayWithBooleans = Array; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithNumbers.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple array with numbers + */ +export type ArrayWithNumbers = Array; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple array with properties + */ +export type ArrayWithProperties = Array<{ + foo?: string; + bar?: string; +}>; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithReferences.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a simple array with references + */ +export type ArrayWithReferences = Array; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithStrings.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple array with strings + */ +export type ArrayWithStrings = Array; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithBackticks.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + */ +export type CommentWithBackticks = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithBreaks.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Testing multiline comments in string: First line + * Second line + * + * Fourth line + */ +export type CommentWithBreaks = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithExpressionPlaceholders.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Testing expression placeholders in string: \${expression} should work + */ +export type CommentWithExpressionPlaceholders = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithQuotes.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Testing quotes in string: 'single quote''' and "double quotes""" should work + */ +export type CommentWithQuotes = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithReservedCharacters.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Testing reserved characters in string: * inline * and ** inline ** should work + */ +export type CommentWithReservedCharacters = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithSlashes.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work + */ +export type CommentWithSlashes = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionBaseModel.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a base model with two simple optional properties + */ +export type CompositionBaseModel = { + firstName?: string; + lastname?: string; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionExtendedModel.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { CompositionBaseModel } from './CompositionBaseModel'; + +/** + * This is a model that extends the base model + */ +export type CompositionExtendedModel = (CompositionBaseModel & { + firstName: string; + lastname: string; + age: number; +}); + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAllOfAndNullable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; + +/** + * This is a model with one property with a 'all of' relationship + */ +export type CompositionWithAllOfAndNullable = { + propA?: ({ + boolean?: boolean; + } & ModelWithEnum & ModelWithArray & ModelWithDictionary) | null; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOf.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model with one property with a 'any of' relationship + */ +export type CompositionWithAnyOf = { + propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAndNullable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; + +/** + * This is a model with one property with a 'any of' relationship + */ +export type CompositionWithAnyOfAndNullable = { + propA?: ({ + boolean?: boolean; + } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAnonymous.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one property with a 'any of' relationship where the options are not $ref + */ +export type CompositionWithAnyOfAnonymous = { + propA?: ({ + propA?: string; + } | string | number); +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOf.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model with one property with a 'one of' relationship + */ +export type CompositionWithOneOf = { + propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model that contains a dictionary of complex arrays (composited) within composition + */ +export type CompositionWithOneOfAndComplexArrayDictionary = { + propA?: (boolean | Record>); +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndNullable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; + +/** + * This is a model with one property with a 'one of' relationship + */ +export type CompositionWithOneOfAndNullable = { + propA?: ({ + boolean?: boolean; + } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model that contains a dictionary of simple arrays within composition + */ +export type CompositionWithOneOfAndSimpleArrayDictionary = { + propA?: (boolean | Record>); +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model that contains a simple dictionary within composition + */ +export type CompositionWithOneOfAndSimpleDictionary = { + propA?: (boolean | Record); +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAnonymous.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one property with a 'one of' relationship where the options are not $ref + */ +export type CompositionWithOneOfAnonymous = { + propA?: ({ + propA?: string; + } | string | number); +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfDiscriminator.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelCircle } from './ModelCircle'; +import type { ModelSquare } from './ModelSquare'; + +/** + * This is a model with one property with a 'one of' relationship where the options are not $ref + */ +export type CompositionWithOneOfDiscriminator = (ModelCircle | ModelSquare); + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DeprecatedModel.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a deprecated model with a deprecated property + * @deprecated + */ +export type DeprecatedModel = { + /** + * This is a deprecated property + * @deprecated + */ + prop?: string; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithArray.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a complex dictionary + */ +export type DictionaryWithArray = Record>; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a string dictionary + */ +export type DictionaryWithDictionary = Record>; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a complex dictionary + */ +export type DictionaryWithProperties = Record; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a string reference + */ +export type DictionaryWithReference = Record; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a string dictionary + */ +export type DictionaryWithString = Record; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumFromDescription.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Success=1,Warning=2,Error=3 + */ +export type EnumFromDescription = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumWithExtensions.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple enum with numbers + */ +export enum EnumWithExtensions { + /** + * Used when the status of something is successful + */ + CUSTOM_SUCCESS = 200, + /** + * Used when the status of something has a warning + */ + CUSTOM_WARNING = 400, + /** + * Used when the status of something has an error + */ + CUSTOM_ERROR = 500, +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumWithNumbers.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple enum with numbers + */ +export enum EnumWithNumbers { + '_1' = 1, + '_2' = 2, + '_3' = 3, + '_1.1' = 1.1, + '_1.2' = 1.2, + '_1.3' = 1.3, + '_100' = 100, + '_200' = 200, + '_300' = 300, + '_-100' = -100, + '_-200' = -200, + '_-300' = -300, + '_-1.1' = -1.1, + '_-1.2' = -1.2, + '_-1.3' = -1.3, +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumWithStrings.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple enum with strings + */ +export enum EnumWithStrings { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + _SINGLE_QUOTE_ = '\\'Single Quote\\'', + _DOUBLE_QUOTES_ = '"Double Quotes"', +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/File.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type File = { + readonly id?: string; + readonly updated_at?: string; + readonly created_at?: string; + mime: string; + readonly file?: string; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a free-form object with additionalProperties: {}. + */ +export type FreeFormObjectWithAdditionalPropertiesEqEmptyObject = Record; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a free-form object with additionalProperties: true. + */ +export type FreeFormObjectWithAdditionalPropertiesEqTrue = Record; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a free-form object without additionalProperties. + */ +export type FreeFormObjectWithoutAdditionalProperties = Record; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelCircle.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Circle + */ +export type ModelCircle = { + kind: 'circle'; + radius?: number; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelSquare.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * Square + */ +export type ModelSquare = { + kind: 'square'; + sideLength?: number; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelThatExtends.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model that extends another model + */ +export type ModelThatExtends = (ModelWithString & { + propExtendsA?: string; + propExtendsB?: ModelWithString; +}); + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelThatExtendsExtends.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelThatExtends } from './ModelThatExtends'; +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model that extends another model + */ +export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { + propExtendsC?: string; + propExtendsD?: ModelWithString; +}); + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithArray.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model with one property containing an array + */ +export type ModelWithArray = { + prop?: Array; + propWithFile?: Array; + propWithNumber?: Array; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithBoolean.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one boolean property + */ +export type ModelWithBoolean = { + /** + * This is a simple boolean property + */ + prop?: boolean; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithCircularReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one property containing a circular reference + */ +export type ModelWithCircularReference = { + prop?: ModelWithCircularReference; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one property containing a dictionary + */ +export type ModelWithDictionary = { + prop?: Record; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateImports.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model with duplicated imports + */ +export type ModelWithDuplicateImports = { + propA?: ModelWithString; + propB?: ModelWithString; + propC?: ModelWithString; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model with duplicated properties + */ +export type ModelWithDuplicateProperties = { + prop?: ModelWithString; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithEnum.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one enum + */ +export type ModelWithEnum = { + /** + * This is a simple enum with strings + */ + test?: ModelWithEnum.test; + /** + * These are the HTTP error code enums + */ + statusCode?: ModelWithEnum.statusCode; + /** + * Simple boolean enum + */ + bool?: boolean; +}; + +export namespace ModelWithEnum { + + /** + * This is a simple enum with strings + */ + export enum test { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + } + + /** + * These are the HTTP error code enums + */ + export enum statusCode { + _100 = '100', + _200_FOO = '200 FOO', + _300_FOO_BAR = '300 FOO_BAR', + _400_FOO_BAR = '400 foo-bar', + _500_FOO_BAR = '500 foo.bar', + _600_FOO_BAR = '600 foo&bar', + } + + +} + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithEnumFromDescription.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one enum + */ +export type ModelWithEnumFromDescription = { + /** + * Success=1,Warning=2,Error=3 + */ + test?: number; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithInteger.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one number property + */ +export type ModelWithInteger = { + /** + * This is a simple number property + */ + prop?: number; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithNestedEnums.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with nested enums + */ +export type ModelWithNestedEnums = { + dictionaryWithEnum?: Record; + dictionaryWithEnumFromDescription?: Record; + arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; + arrayWithDescription?: Array; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithNestedProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one nested property + */ +export type ModelWithNestedProperties = { + readonly first: { + readonly second: { + readonly third: string | null; + } | null; + } | null; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithNullableString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one string property + */ +export type ModelWithNullableString = { + /** + * This is a simple string property + */ + nullableProp1?: string | null; + /** + * This is a simple string property + */ + nullableRequiredProp1: string | null; + /** + * This is a simple string property + */ + nullableProp2?: string | null; + /** + * This is a simple string property + */ + nullableRequiredProp2: string | null; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithOrderedProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with ordered properties + */ +export type ModelWithOrderedProperties = { + zebra?: string; + apple?: string; + hawaii?: string; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithPattern.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model that contains a some patterns + */ +export type ModelWithPattern = { + key: string; + name: string; + readonly enabled?: boolean; + readonly modified?: string; + id?: string; + text?: string; + patternWithSingleQuotes?: string; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a model with one nested property + */ +export type ModelWithProperties = { + required: string; + readonly requiredAndReadOnly: string; + requiredAndNullable: string | null; + string?: string; + number?: number; + boolean?: boolean; + reference?: ModelWithString; + 'property with space'?: string; + default?: string; + try?: string; + readonly '@namespace.string'?: string; + readonly '@namespace.integer'?: number; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithProperties } from './ModelWithProperties'; + +/** + * This is a model with one property containing a reference + */ +export type ModelWithReference = { + prop?: ModelWithProperties; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a model with one string property + */ +export type ModelWithString = { + /** + * This is a simple string property + */ + prop?: string; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/Pageable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type Pageable = { + page?: number; + size?: number; + sort?: Array; +}; + +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleBoolean.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple boolean + */ +export type SimpleBoolean = boolean; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleFile.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple file + */ +export type SimpleFile = Blob; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleInteger.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple number + */ +export type SimpleInteger = number; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ModelWithString } from './ModelWithString'; + +/** + * This is a simple reference + */ +export type SimpleReference = ModelWithString; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple string + */ +export type SimpleString = string; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleStringWithPattern.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +/** + * This is a simple string + */ +export type SimpleStringWithPattern = string | null; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$_default.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $_default = { + properties: { + name: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithArray.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithArray = { + type: 'array', + contains: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithBooleans.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithBooleans = { + type: 'array', + contains: { + type: 'boolean', + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithNumbers.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithNumbers = { + type: 'array', + contains: { + type: 'number', + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithProperties = { + type: 'array', + contains: { + properties: { + foo: { + type: 'string', + }, + bar: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithReferences.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithReferences = { + type: 'array', + contains: { + type: 'ModelWithString', + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithStrings.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithStrings = { + type: 'array', + contains: { + type: 'string', + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBackticks.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithBackticks = { + type: 'number', + description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBreaks.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithBreaks = { + type: 'number', + description: \`Testing multiline comments in string: First line + Second line + + Fourth line\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithExpressionPlaceholders = { + type: 'number', + description: \`Testing expression placeholders in string: \\\${expression} should work\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithQuotes.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithQuotes = { + type: 'number', + description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithReservedCharacters.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithReservedCharacters = { + type: 'number', + description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithSlashes.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithSlashes = { + type: 'number', + description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionBaseModel.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionBaseModel = { + description: \`This is a base model with two simple optional properties\`, + properties: { + firstName: { + type: 'string', + }, + lastname: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionExtendedModel.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionExtendedModel = { + type: 'all-of', + description: \`This is a model that extends the base model\`, + contains: [{ + type: 'CompositionBaseModel', + }, { + properties: { + firstName: { + type: 'string', + isRequired: true, + }, + lastname: { + type: 'string', + isRequired: true, + }, + age: { + type: 'number', + isRequired: true, + }, + }, + }], +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAllOfAndNullable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAllOfAndNullable = { + description: \`This is a model with one property with a 'all of' relationship\`, + properties: { + propA: { + type: 'all-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOf.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAnyOf = { + description: \`This is a model with one property with a 'any of' relationship\`, + properties: { + propA: { + type: 'any-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAndNullable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAnyOfAndNullable = { + description: \`This is a model with one property with a 'any of' relationship\`, + properties: { + propA: { + type: 'any-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAnonymous.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAnyOfAnonymous = { + description: \`This is a model with one property with a 'any of' relationship where the options are not $ref\`, + properties: { + propA: { + type: 'any-of', + contains: [{ + description: \`Anonymous object type\`, + properties: { + propA: { + type: 'string', + }, + }, + }, { + type: 'string', + description: \`Anonymous string type\`, + }, { + type: 'number', + description: \`Anonymous integer type\`, + }], + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOf.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOf = { + description: \`This is a model with one property with a 'one of' relationship\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndComplexArrayDictionary = { + description: \`This is a model that contains a dictionary of complex arrays (composited) within composition\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'boolean', + }, { + type: 'dictionary', + contains: { + type: 'array', + contains: { + type: 'one-of', + contains: [{ + type: 'number', + }, { + type: 'string', + }], + }, + }, + }], + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndNullable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndNullable = { + description: \`This is a model with one property with a 'one of' relationship\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndSimpleArrayDictionary = { + description: \`This is a model that contains a dictionary of simple arrays within composition\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'boolean', + }, { + type: 'dictionary', + contains: { + type: 'array', + contains: { + type: 'boolean', + }, + }, + }], + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndSimpleDictionary = { + description: \`This is a model that contains a simple dictionary within composition\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'boolean', + }, { + type: 'dictionary', + contains: { + type: 'number', + }, + }], + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAnonymous.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAnonymous = { + description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + description: \`Anonymous object type\`, + properties: { + propA: { + type: 'string', + }, + }, + }, { + type: 'string', + description: \`Anonymous string type\`, + }, { + type: 'number', + description: \`Anonymous integer type\`, + }], + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfDiscriminator.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfDiscriminator = { + type: 'one-of', + description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, + contains: [{ + type: 'ModelCircle', + }, { + type: 'ModelSquare', + }], +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DeprecatedModel.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DeprecatedModel = { + description: \`This is a deprecated model with a deprecated property\`, + properties: { + prop: { + type: 'string', + description: \`This is a deprecated property\`, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithArray.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithArray = { + type: 'dictionary', + contains: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithDictionary = { + type: 'dictionary', + contains: { + type: 'dictionary', + contains: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithProperties = { + type: 'dictionary', + contains: { + properties: { + foo: { + type: 'string', + }, + bar: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithReference = { + type: 'dictionary', + contains: { + type: 'ModelWithString', + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithString = { + type: 'dictionary', + contains: { + type: 'string', + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumFromDescription.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumFromDescription = { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumWithExtensions.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithExtensions = { + type: 'Enum', +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumWithNumbers.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithNumbers = { + type: 'Enum', +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumWithStrings.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithStrings = { + type: 'Enum', +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$File.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $File = { + properties: { + id: { + type: 'string', + isReadOnly: true, + minLength: 1, + }, + updated_at: { + type: 'string', + isReadOnly: true, + format: 'date-time', + }, + created_at: { + type: 'string', + isReadOnly: true, + format: 'date-time', + }, + mime: { + type: 'string', + isRequired: true, + maxLength: 24, + minLength: 1, + }, + file: { + type: 'string', + isReadOnly: true, + format: 'uri', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FreeFormObjectWithAdditionalPropertiesEqEmptyObject = { + type: 'dictionary', + contains: { + properties: { + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FreeFormObjectWithAdditionalPropertiesEqTrue = { + type: 'dictionary', + contains: { + properties: { + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FreeFormObjectWithoutAdditionalProperties = { + type: 'dictionary', + contains: { + properties: { + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelCircle.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelCircle = { + description: \`Circle\`, + properties: { + kind: { + type: 'string', + isRequired: true, + }, + radius: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelSquare.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelSquare = { + description: \`Square\`, + properties: { + kind: { + type: 'string', + isRequired: true, + }, + sideLength: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtends.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelThatExtends = { + type: 'all-of', + description: \`This is a model that extends another model\`, + contains: [{ + type: 'ModelWithString', + }, { + properties: { + propExtendsA: { + type: 'string', + }, + propExtendsB: { + type: 'ModelWithString', + }, + }, + }], +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtendsExtends.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelThatExtendsExtends = { + type: 'all-of', + description: \`This is a model that extends another model\`, + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelThatExtends', + }, { + properties: { + propExtendsC: { + type: 'string', + }, + propExtendsD: { + type: 'ModelWithString', + }, + }, + }], +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithArray.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithArray = { + description: \`This is a model with one property containing an array\`, + properties: { + prop: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, + propWithFile: { + type: 'array', + contains: { + type: 'binary', + }, + }, + propWithNumber: { + type: 'array', + contains: { + type: 'number', + }, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithBoolean.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithBoolean = { + description: \`This is a model with one boolean property\`, + properties: { + prop: { + type: 'boolean', + description: \`This is a simple boolean property\`, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithCircularReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithCircularReference = { + description: \`This is a model with one property containing a circular reference\`, + properties: { + prop: { + type: 'ModelWithCircularReference', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDictionary.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDictionary = { + description: \`This is a model with one property containing a dictionary\`, + properties: { + prop: { + type: 'dictionary', + contains: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateImports.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDuplicateImports = { + description: \`This is a model with duplicated imports\`, + properties: { + propA: { + type: 'ModelWithString', + }, + propB: { + type: 'ModelWithString', + }, + propC: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDuplicateProperties = { + description: \`This is a model with duplicated properties\`, + properties: { + prop: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnum.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithEnum = { + description: \`This is a model with one enum\`, + properties: { + test: { + type: 'Enum', + }, + statusCode: { + type: 'Enum', + }, + bool: { + type: 'boolean', + description: \`Simple boolean enum\`, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithEnumFromDescription = { + description: \`This is a model with one enum\`, + properties: { + test: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithInteger.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithInteger = { + description: \`This is a model with one number property\`, + properties: { + prop: { + type: 'number', + description: \`This is a simple number property\`, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedEnums.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNestedEnums = { + description: \`This is a model with nested enums\`, + properties: { + dictionaryWithEnum: { + type: 'dictionary', + contains: { + type: 'Enum', + }, + }, + dictionaryWithEnumFromDescription: { + type: 'dictionary', + contains: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, + arrayWithEnum: { + type: 'array', + contains: { + type: 'Enum', + }, + }, + arrayWithDescription: { + type: 'array', + contains: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNestedProperties = { + description: \`This is a model with one nested property\`, + properties: { + first: { + properties: { + second: { + properties: { + third: { + type: 'string', + isReadOnly: true, + isRequired: true, + isNullable: true, + }, + }, + isReadOnly: true, + isRequired: true, + isNullable: true, + }, + }, + isReadOnly: true, + isRequired: true, + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNullableString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNullableString = { + description: \`This is a model with one string property\`, + properties: { + nullableProp1: { + type: 'string', + description: \`This is a simple string property\`, + isNullable: true, + }, + nullableRequiredProp1: { + type: 'string', + description: \`This is a simple string property\`, + isRequired: true, + isNullable: true, + }, + nullableProp2: { + type: 'string', + description: \`This is a simple string property\`, + isNullable: true, + }, + nullableRequiredProp2: { + type: 'string', + description: \`This is a simple string property\`, + isRequired: true, + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithOrderedProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithOrderedProperties = { + description: \`This is a model with ordered properties\`, + properties: { + zebra: { + type: 'string', + }, + apple: { + type: 'string', + }, + hawaii: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithPattern.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithPattern = { + description: \`This is a model that contains a some patterns\`, + properties: { + key: { + type: 'string', + isRequired: true, + maxLength: 64, + pattern: '^[a-zA-Z0-9_]*$', + }, + name: { + type: 'string', + isRequired: true, + maxLength: 255, + }, + enabled: { + type: 'boolean', + isReadOnly: true, + }, + modified: { + type: 'string', + isReadOnly: true, + format: 'date-time', + }, + id: { + type: 'string', + pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', + }, + text: { + type: 'string', + pattern: '^\\\\w+$', + }, + patternWithSingleQuotes: { + type: 'string', + pattern: '^[a-zA-Z0-9\\']*$', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithProperties.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithProperties = { + description: \`This is a model with one nested property\`, + properties: { + required: { + type: 'string', + isRequired: true, + }, + requiredAndReadOnly: { + type: 'string', + isReadOnly: true, + isRequired: true, + }, + requiredAndNullable: { + type: 'string', + isRequired: true, + isNullable: true, + }, + string: { + type: 'string', + }, + number: { + type: 'number', + }, + boolean: { + type: 'boolean', + }, + reference: { + type: 'ModelWithString', + }, + 'property with space': { + type: 'string', + }, + default: { + type: 'string', + }, + try: { + type: 'string', + }, + '@namespace.string': { + type: 'string', + isReadOnly: true, + }, + '@namespace.integer': { + type: 'number', + isReadOnly: true, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithReference = { + description: \`This is a model with one property containing a reference\`, + properties: { + prop: { + type: 'ModelWithProperties', + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithString = { + description: \`This is a model with one string property\`, + properties: { + prop: { + type: 'string', + description: \`This is a simple string property\`, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$Pageable.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Pageable = { + properties: { + page: { + type: 'number', + format: 'int32', + }, + size: { + type: 'number', + format: 'int32', + minimum: 1, + }, + sort: { + type: 'array', + contains: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleBoolean.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleBoolean = { + type: 'boolean', + description: \`This is a simple boolean\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleFile.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleFile = { + type: 'binary', + description: \`This is a simple file\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleInteger.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleInteger = { + type: 'number', + description: \`This is a simple number\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleReference.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleReference = { + type: 'ModelWithString', + description: \`This is a simple reference\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleString.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleString = { + type: 'string', + description: \`This is a simple string\`, +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleStringWithPattern.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleStringWithPattern = { + type: 'string', + description: \`This is a simple string\`, + isNullable: true, + maxLength: 64, + pattern: '^[a-zA-Z0-9_]*$', +} as const; +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/CollectionFormatService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class CollectionFormatService { + + /** + * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) + * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) + * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) + * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) + * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) + * @throws ApiError + */ + public static collectionFormat( + parameterArrayCsv: Array | null, + parameterArraySsv: Array | null, + parameterArrayTsv: Array | null, + parameterArrayPipes: Array | null, + parameterArrayMulti: Array | null, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/collectionFormat', + query: { + 'parameterArrayCSV': parameterArrayCsv, + 'parameterArraySSV': parameterArraySsv, + 'parameterArrayTSV': parameterArrayTsv, + 'parameterArrayPipes': parameterArrayPipes, + 'parameterArrayMulti': parameterArrayMulti, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ComplexService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithArray } from '../models/ModelWithArray'; +import type { ModelWithDictionary } from '../models/ModelWithDictionary'; +import type { ModelWithEnum } from '../models/ModelWithEnum'; +import type { ModelWithString } from '../models/ModelWithString'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class ComplexService { + + /** + * @param parameterObject Parameter containing object + * @param parameterReference Parameter containing reference + * @returns ModelWithString Successful response + * @throws ApiError + */ + public static complexTypes( + parameterObject: { + first?: { + second?: { + third?: string; + }; + }; + }, + parameterReference: ModelWithString, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/complex', + query: { + 'parameterObject': parameterObject, + 'parameterReference': parameterReference, + }, + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); + } + + /** + * @param id + * @param requestBody + * @returns ModelWithString Success + * @throws ApiError + */ + public static complexParams( + id: number, + requestBody?: { + readonly key: string | null; + name: string | null; + enabled?: boolean; + readonly type: 'Monkey' | 'Horse' | 'Bird'; + listOfModels?: Array | null; + listOfStrings?: Array | null; + parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); + readonly user?: { + readonly id?: number; + readonly name?: string | null; + }; + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/complex/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json-patch+json', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DefaultService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class DefaultService { + + /** + * @throws ApiError + */ + public static serviceWithEmptyTag(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-tag', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DefaultsService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class DefaultsService { + + /** + * @param parameterString This is a simple string with default value + * @param parameterNumber This is a simple number with default value + * @param parameterBoolean This is a simple boolean with default value + * @param parameterEnum This is a simple enum with default value + * @param parameterModel This is a simple model with default value + * @throws ApiError + */ + public static callWithDefaultParameters( + parameterString: string | null = 'Hello World!', + parameterNumber: number | null = 123, + parameterBoolean: boolean | null = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString | null = { + "prop": "Hello World!" + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); + } + + /** + * @param parameterString This is a simple string that is optional with default value + * @param parameterNumber This is a simple number that is optional with default value + * @param parameterBoolean This is a simple boolean that is optional with default value + * @param parameterEnum This is a simple enum that is optional with default value + * @param parameterModel This is a simple model that is optional with default value + * @throws ApiError + */ + public static callWithDefaultOptionalParameters( + parameterString: string = 'Hello World!', + parameterNumber: number = 123, + parameterBoolean: boolean = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString = { + "prop": "Hello World!" + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); + } + + /** + * @param parameterStringWithNoDefault This is a string with no default + * @param parameterOptionalStringWithDefault This is a optional string with default + * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default + * @param parameterOptionalStringWithNoDefault This is a optional string with no default + * @param parameterStringWithDefault This is a string with default + * @param parameterStringWithEmptyDefault This is a string with empty default + * @param parameterStringNullableWithNoDefault This is a string that can be null with no default + * @param parameterStringNullableWithDefault This is a string that can be null with default + * @throws ApiError + */ + public static callToTestOrderOfParams( + parameterStringWithNoDefault: string, + parameterOptionalStringWithDefault: string = 'Hello World!', + parameterOptionalStringWithEmptyDefault: string = '', + parameterOptionalStringWithNoDefault?: string, + parameterStringWithDefault: string = 'Hello World!', + parameterStringWithEmptyDefault: string = '', + parameterStringNullableWithNoDefault?: string | null, + parameterStringNullableWithDefault: string | null = null, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/defaults', + query: { + 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, + 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, + 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, + 'parameterStringWithDefault': parameterStringWithDefault, + 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, + 'parameterStringWithNoDefault': parameterStringWithNoDefault, + 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, + 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DeprecatedService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { DeprecatedModel } from '../models/DeprecatedModel'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class DeprecatedService { + + /** + * @deprecated + * @param parameter This parameter is deprecated + * @throws ApiError + */ + public static deprecatedCall( + parameter: DeprecatedModel | null, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/deprecated', + headers: { + 'parameter': parameter, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DescriptionsService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class DescriptionsService { + + /** + * @param parameterWithBreaks Testing multiline comments in string: First line + * Second line + * + * Fourth line + * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work + * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work + * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work + * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work + * @throws ApiError + */ + public static callWithDescriptions( + parameterWithBreaks?: any, + parameterWithBackticks?: any, + parameterWithSlashes?: any, + parameterWithExpressionPlaceholders?: any, + parameterWithQuotes?: any, + parameterWithReservedCharacters?: any, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/descriptions/', + query: { + 'parameterWithBreaks': parameterWithBreaks, + 'parameterWithBackticks': parameterWithBackticks, + 'parameterWithSlashes': parameterWithSlashes, + 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, + 'parameterWithQuotes': parameterWithQuotes, + 'parameterWithReservedCharacters': parameterWithReservedCharacters, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DuplicateService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class DuplicateService { + + /** + * @throws ApiError + */ + public static duplicateName(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/duplicate', + }); + } + + /** + * @throws ApiError + */ + public static duplicateName1(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/duplicate', + }); + } + + /** + * @throws ApiError + */ + public static duplicateName2(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/duplicate', + }); + } + + /** + * @throws ApiError + */ + public static duplicateName3(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/duplicate', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ErrorService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class ErrorService { + + /** + * @param status Status code to return + * @returns any Custom message: Successful response + * @throws ApiError + */ + public static testErrorCode( + status: number, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/error', + query: { + 'status': status, + }, + errors: { + 500: \`Custom message: Internal Server Error\`, + 501: \`Custom message: Not Implemented\`, + 502: \`Custom message: Bad Gateway\`, + 503: \`Custom message: Service Unavailable\`, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/FormDataService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class FormDataService { + + /** + * @param parameter This is a reusable parameter + * @param formData A reusable request body + * @throws ApiError + */ + public static postApiFormData( + parameter?: string, + formData?: ModelWithString, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/formData/', + query: { + 'parameter': parameter, + }, + formData: formData, + mediaType: 'multipart/form-data', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/HeaderService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class HeaderService { + + /** + * @returns string Successful response + * @throws ApiError + */ + public static callWithResultFromHeader(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/header', + responseHeader: 'operation-location', + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipartService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class MultipartService { + + /** + * @param formData + * @throws ApiError + */ + public static multipartRequest( + formData?: { + content?: Blob; + data?: ModelWithString | null; + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/multipart', + formData: formData, + mediaType: 'multipart/form-data', + }); + } + + /** + * @returns any OK + * @throws ApiError + */ + public static multipartResponse(): CancelablePromise<{ + file?: Blob; + metadata?: { + foo?: string; + bar?: string; + }; + }> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multipart', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipleTags1Service.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class MultipleTags1Service { + + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipleTags2Service.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class MultipleTags2Service { + + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipleTags3Service.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class MultipleTags3Service { + + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/NoContentService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class NoContentService { + + /** + * @returns void + * @throws ApiError + */ + public static callWithNoContentResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-content', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ParametersService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { Pageable } from '../models/Pageable'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class ParametersService { + + /** + * @param parameterHeader This is the parameter that goes into the header + * @param parameterQuery This is the parameter that goes into the query params + * @param parameterForm This is the parameter that goes into the form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param parameterPath This is the parameter that goes into the path + * @param requestBody This is the parameter that goes into the body + * @throws ApiError + */ + public static callWithParameters( + parameterHeader: string | null, + parameterQuery: string | null, + parameterForm: string | null, + parameterCookie: string | null, + parameterPath: string | null, + requestBody: ModelWithString | null, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameterPath}', + path: { + 'parameterPath': parameterPath, + }, + cookies: { + 'parameterCookie': parameterCookie, + }, + headers: { + 'parameterHeader': parameterHeader, + }, + query: { + 'parameterQuery': parameterQuery, + }, + formData: { + 'parameterForm': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * @param parameterHeader This is the parameter that goes into the request header + * @param parameterQuery This is the parameter that goes into the request query params + * @param parameterForm This is the parameter that goes into the request form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param requestBody This is the parameter that goes into the body + * @param parameterPath1 This is the parameter that goes into the path + * @param parameterPath2 This is the parameter that goes into the path + * @param parameterPath3 This is the parameter that goes into the path + * @param _default This is the parameter with a reserved keyword + * @throws ApiError + */ + public static callWithWeirdParameterNames( + parameterHeader: string | null, + parameterQuery: string | null, + parameterForm: string | null, + parameterCookie: string | null, + requestBody: ModelWithString | null, + parameterPath1?: string, + parameterPath2?: string, + parameterPath3?: string, + _default?: string, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', + path: { + 'parameter.path.1': parameterPath1, + 'parameter-path-2': parameterPath2, + 'PARAMETER-PATH-3': parameterPath3, + }, + cookies: { + 'PARAMETER-COOKIE': parameterCookie, + }, + headers: { + 'parameter.header': parameterHeader, + }, + query: { + 'default': _default, + 'parameter-query': parameterQuery, + }, + formData: { + 'parameter_form': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * @param requestBody This is a required parameter + * @param parameter This is an optional parameter + * @throws ApiError + */ + public static getCallWithOptionalParam( + requestBody: ModelWithString, + parameter?: string, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * @param parameter This is a required parameter + * @param requestBody This is an optional parameter + * @throws ApiError + */ + public static postCallWithOptionalParam( + parameter: Pageable, + requestBody?: ModelWithString, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/RequestBodyService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class RequestBodyService { + + /** + * @param parameter This is a reusable parameter + * @param requestBody A reusable request body + * @throws ApiError + */ + public static postApiRequestBody( + parameter?: string, + requestBody?: ModelWithString, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/requestBody/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ResponseService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelThatExtends } from '../models/ModelThatExtends'; +import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; +import type { ModelWithString } from '../models/ModelWithString'; + +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class ResponseService { + + /** + * @returns ModelWithString + * @throws ApiError + */ + public static callWithResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/response', + }); + } + + /** + * @returns ModelWithString Message for default response + * @throws ApiError + */ + public static callWithDuplicateResponses(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); + } + + /** + * @returns any Message for 200 response + * @returns ModelWithString Message for default response + * @returns ModelThatExtends Message for 201 response + * @returns ModelThatExtendsExtends Message for 202 response + * @throws ApiError + */ + public static callWithResponses(): CancelablePromise<{ + readonly '@namespace.string'?: string; + readonly '@namespace.integer'?: number; + readonly value?: Array; + } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/SimpleService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class SimpleService { + + /** + * @throws ApiError + */ + public static getCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/simple', + }); + } + + /** + * @throws ApiError + */ + public static putCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/simple', + }); + } + + /** + * @throws ApiError + */ + public static postCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/simple', + }); + } + + /** + * @throws ApiError + */ + public static deleteCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/simple', + }); + } + + /** + * @throws ApiError + */ + public static optionsCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'OPTIONS', + url: '/api/v{api-version}/simple', + }); + } + + /** + * @throws ApiError + */ + public static headCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'HEAD', + url: '/api/v{api-version}/simple', + }); + } + + /** + * @throws ApiError + */ + public static patchCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PATCH', + url: '/api/v{api-version}/simple', + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/TypesService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class TypesService { + + /** + * @param parameterArray This is an array parameter + * @param parameterDictionary This is a dictionary parameter + * @param parameterEnum This is an enum parameter + * @param parameterNumber This is a number parameter + * @param parameterString This is a string parameter + * @param parameterBoolean This is a boolean parameter + * @param parameterObject This is an object parameter + * @param id This is a number parameter + * @returns number Response is a simple number + * @returns string Response is a simple string + * @returns boolean Response is a simple boolean + * @returns any Response is a simple object + * @throws ApiError + */ + public static types( + parameterArray: Array | null, + parameterDictionary: Record | null, + parameterEnum: 'Success' | 'Warning' | 'Error' | null, + parameterNumber: number = 123, + parameterString: string | null = 'default', + parameterBoolean: boolean | null = true, + parameterObject: Record | null = null, + id?: number, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/types', + path: { + 'id': id, + }, + query: { + 'parameterNumber': parameterNumber, + 'parameterString': parameterString, + 'parameterBoolean': parameterBoolean, + 'parameterObject': parameterObject, + 'parameterArray': parameterArray, + 'parameterDictionary': parameterDictionary, + 'parameterEnum': parameterEnum, + }, + }); + } + +} +" +`; + +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/UploadService.ts 1`] = ` +"/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; +import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; +import { request as __request } from '../../../../test/generated/bin/core/request'; + +export class UploadService { + + /** + * @param file Supply a file reference for upload + * @returns boolean + * @throws ApiError + */ + public static uploadFile( + file: Blob, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/upload', + formData: { + 'file': file, + }, + }); + } + +} +" +`; diff --git a/test/index.spec.ts b/test/index.spec.ts index b8e87da75..7d3bac70e 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -46,3 +46,26 @@ describe('v3', () => { }); }); }); + +describe('v3WithCustomCoreLocation', () => { + it('should generate', async () => { + await generate({ + input: './test/spec/v3.json', + output: './test/generated/v3WithCustomCoreLocation/', + httpClient: HttpClient.FETCH, + useOptions: false, + useUnionTypes: false, + exportCore: true, + exportSchemas: true, + exportModels: true, + exportServices: true, + postfixModels: 'Dto', + coreLocation: './test/generated/bin/core', + }); + + sync('./test/generated/v3WithCustomCoreLocation/**/*.ts').forEach(file => { + const content = readFileSync(file, 'utf8').toString(); + expect(content).toMatchSnapshot(file); + }); + }); +}); diff --git a/types/index.d.ts b/types/index.d.ts index e2b5247e0..e5b2a0aeb 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -28,6 +28,7 @@ export type Options = { postfixModels?: string; request?: string; write?: boolean; + coreLocation?: string; }; export declare function generate(options: Options): Promise; From 4a06a8aff89dcb41dbc9bfcb2b79bd88f83ba474 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 13:42:48 +0000 Subject: [PATCH 02/70] add release --- .circleci/config.yml | 32 -------------------------------- .github/release.yaml | 41 +++++++++++++++++++++++++++++++++++++++++ .npmrc | 2 ++ package.json | 6 +++--- 4 files changed, 46 insertions(+), 35 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/release.yaml create mode 100644 .npmrc diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index fe53ab1f2..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,32 +0,0 @@ -version: 2 -jobs: - build: - docker: - - image: cimg/node:lts-browsers - resource_class: large - working_directory: ~/repo - steps: - - checkout - - restore_cache: - keys: - - v1-dependencies-{{ checksum "package-lock.json" }} - - v1-dependencies- - - run: - name: Install dependencies - command: npm install - - save_cache: - key: v1-dependencies-{{ checksum "package-lock.json" }} - paths: - - node_modules - - run: - name: Build library - command: npm run release - - run: - name: Run unit tests - command: npm run test -# - run: -# name: Run e2e tests -# command: npm run test:e2e - - run: - name: Submit to Codecov - command: npm run codecov diff --git a/.github/release.yaml b/.github/release.yaml new file mode 100644 index 000000000..bd2ee7d9d --- /dev/null +++ b/.github/release.yaml @@ -0,0 +1,41 @@ +name: Create Single openAPI page + +on: + push: + branches: 'master' + +jobs: + build: + runs-on: ubuntu-latest + permissions: write-all + env: + GITHUB_TOKEN_CI_CD: ${{ secrets.GH_ACCESS_TOKEN }} + steps: + - uses: actions/setup-node@v3 + with: + node-version: '16.x' + registry-url: 'https://npm.pkg.github.com' + cache-dependency-path: packages/node + + - name: install Node dependencies + run: | + npm i + + - name: test + run: | + npm run test + + - name: publish NPM + run: make publish-node + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Report Status + if: always() + uses: ravsamhq/notify-slack-action@v1 + with: + notification_title: 'OpenAPI typescript gen - ${GITHUB_REF_NAME}' + status: ${{ job.status }} + footer: '<{run_url}|View Run>' + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_TOKEN }} diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..be1a4aea2 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +@formatsocial:registry=https://npm.pkg.github.com +//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN_CI_CD} \ No newline at end of file diff --git a/package.json b/package.json index 0fa79785d..30b24e4de 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "openapi-typescript-codegen", + "name": "@formatsocial/openapi-typescript-codegen", "version": "0.23.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", @@ -120,7 +120,7 @@ "typescript": "4.8.4", "zone.js": "0.11.8" }, - "overrides" : { + "overrides": { "rollup": "3.2.3" } -} +} \ No newline at end of file From bdd39ce947212f3389cd7a7c8fbd13c59e355cf7 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 13:43:38 +0000 Subject: [PATCH 03/70] Move to deps --- .github/{ => workflows}/release.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{ => workflows}/release.yaml (100%) diff --git a/.github/release.yaml b/.github/workflows/release.yaml similarity index 100% rename from .github/release.yaml rename to .github/workflows/release.yaml From 0aa41326d77fcebf8c9ccb78ba5f2ba5ce121b22 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 13:45:56 +0000 Subject: [PATCH 04/70] Add checkout --- .github/workflows/release.yaml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bd2ee7d9d..3c4b747d9 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -11,6 +11,7 @@ jobs: env: GITHUB_TOKEN_CI_CD: ${{ secrets.GH_ACCESS_TOKEN }} steps: + - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16.x' @@ -29,13 +30,3 @@ jobs: run: make publish-node env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Report Status - if: always() - uses: ravsamhq/notify-slack-action@v1 - with: - notification_title: 'OpenAPI typescript gen - ${GITHUB_REF_NAME}' - status: ${{ job.status }} - footer: '<{run_url}|View Run>' - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_TOKEN }} From c4c9479712517685a77c4c4dc90c334d721b2f30 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 13:48:27 +0000 Subject: [PATCH 05/70] Get service --- .github/workflows/release.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3c4b747d9..3b0277ab3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -22,6 +22,10 @@ jobs: run: | npm i + - name: build + run: | + npm run build + - name: test run: | npm run test From 585f32cefc6bdf18c1777ec923f575af27027251 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 13:54:00 +0000 Subject: [PATCH 06/70] Update package --- package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 30b24e4de..8b2bb8ce0 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,10 @@ "homepage": "https://github.com/ferdikoomen/openapi-typescript-codegen", "repository": { "type": "git", - "url": "git+https://github.com/ferdikoomen/openapi-typescript-codegen.git" + "url": "https://github.com/formatsocial/openapi-typescript-codegen.git" + }, + "publishConfig": { + "registry": "https://npm.pkg.github.com/formatsocial" }, "bugs": { "url": "https://github.com/ferdikoomen/openapi-typescript-codegen/issues" From 3ec390d3ffd1305710d6d29354ee720e9edfc342 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 13:57:58 +0000 Subject: [PATCH 07/70] Add publsh --- .github/workflows/release.yaml | 2 +- package.json | 4 ---- src/index.ts | 2 ++ 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3b0277ab3..3d812564a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -31,6 +31,6 @@ jobs: npm run test - name: publish NPM - run: make publish-node + run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/package.json b/package.json index 8b2bb8ce0..b8878de0a 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,6 @@ "version": "0.23.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", - "homepage": "https://github.com/ferdikoomen/openapi-typescript-codegen", "repository": { "type": "git", "url": "https://github.com/formatsocial/openapi-typescript-codegen.git" @@ -11,9 +10,6 @@ "publishConfig": { "registry": "https://npm.pkg.github.com/formatsocial" }, - "bugs": { - "url": "https://github.com/ferdikoomen/openapi-typescript-codegen/issues" - }, "license": "MIT", "keywords": [ "openapi", diff --git a/src/index.ts b/src/index.ts index 60702729a..1f6c937a1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,6 +10,7 @@ import { isString } from './utils/isString'; import { postProcessClient } from './utils/postProcessClient'; import { registerHandlebarTemplates } from './utils/registerHandlebarTemplates'; import { writeClient } from './utils/writeClient'; +import { getServices } from './openApi/v3/parser/getServices'; export { HttpClient } from './HttpClient'; export { Indent } from './Indent'; @@ -142,4 +143,5 @@ export const generate = async ({ export default { HttpClient, generate, + getServices, }; From da7095da83b7c375f481fde68d2209c22e527bd2 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 14:05:38 +0000 Subject: [PATCH 08/70] update NPM --- .github/workflows/release.yaml | 2 +- package-lock.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3d812564a..3d916bbaa 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -33,4 +33,4 @@ jobs: - name: publish NPM run: npm publish env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} diff --git a/package-lock.json b/package-lock.json index 7b2a73f4d..588b39e6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "openapi-typescript-codegen", + "name": "@formatsocial/openapi-typescript-codegen", "version": "0.23.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "openapi-typescript-codegen", + "name": "@formatsocial/openapi-typescript-codegen", "version": "0.23.0", "license": "MIT", "dependencies": { From 026416e69739196fe98efa46a479f130cebb32e7 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 12 Jan 2023 15:29:36 +0000 Subject: [PATCH 09/70] Fixes --- package.json | 2 +- src/index.ts | 20 +++++++++++++----- src/templates/client.hbs | 14 ++++++------- src/templates/exportService.hbs | 10 ++++----- src/utils/generateCoreLocation.spec.ts | 12 +++++------ src/utils/generateCoreLocation.ts | 28 +++++++++++++++++++++++++- src/utils/writeClient.spec.ts | 1 + src/utils/writeClient.ts | 21 ++++++++++++------- src/utils/writeClientClass.spec.ts | 3 ++- src/utils/writeClientClass.ts | 9 ++++++--- src/utils/writeClientIndex.spec.ts | 15 +++++++++++++- src/utils/writeClientIndex.ts | 9 ++++++--- src/utils/writeClientModels.spec.ts | 2 +- src/utils/writeClientModels.ts | 9 ++++++--- src/utils/writeClientSchemas.spec.ts | 2 +- src/utils/writeClientSchemas.ts | 9 ++++++--- src/utils/writeClientServices.spec.ts | 3 ++- src/utils/writeClientServices.ts | 9 ++++++--- types/index.d.ts | 18 +++++++++++++++++ 19 files changed, 144 insertions(+), 52 deletions(-) diff --git a/package.json b/package.json index b8878de0a..2ce18c65d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.23.0", + "version": "0.25.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { diff --git a/src/index.ts b/src/index.ts index 1f6c937a1..8473f61c7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,7 +3,10 @@ import { HttpClient } from './HttpClient'; import { Indent } from './Indent'; import { parse as parseV2 } from './openApi/v2'; import { parse as parseV3 } from './openApi/v3'; -import { generateCoreLocationFromOutput } from './utils/generateCoreLocation'; +import { + generateCoreLocationSameLevelFromOutput, + generateCoreLocationUpLevelFromOutput, +} from './utils/generateCoreLocation'; import { getOpenApiSpec } from './utils/getOpenApiSpec'; import { getOpenApiVersion, OpenApiVersion } from './utils/getOpenApiVersion'; import { isString } from './utils/isString'; @@ -81,12 +84,17 @@ export const generate = async ({ useOptions, }); + let coreLocationSameLevel; + let coreLocationUpALevel; if (coreLocation && coreLocation !== '') { exportCore = false; - coreLocation = generateCoreLocationFromOutput(coreLocation, output); + coreLocationSameLevel = generateCoreLocationSameLevelFromOutput(coreLocation, output); + coreLocationUpALevel = generateCoreLocationUpLevelFromOutput(coreLocation, output); } else { - coreLocation = '../core'; + coreLocationUpALevel = '../core'; + coreLocationSameLevel = './core'; } + switch (openApiVersion) { case OpenApiVersion.V2: { const client = parseV2(openApi); @@ -106,7 +114,8 @@ export const generate = async ({ indent, postfixServices, postfixModels, - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, clientName, request ); @@ -131,7 +140,8 @@ export const generate = async ({ indent, postfixServices, postfixModels, - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, clientName, request ); diff --git a/src/templates/client.hbs b/src/templates/client.hbs index 601f27d8f..27fb08721 100644 --- a/src/templates/client.hbs +++ b/src/templates/client.hbs @@ -4,14 +4,14 @@ import { NgModule} from '@angular/core'; import { HttpClientModule } from '@angular/common/http'; -import { AngularHttpRequest } from './core/AngularHttpRequest'; -import { BaseHttpRequest } from './core/BaseHttpRequest'; -import type { OpenAPIConfig } from './core/OpenAPI'; -import { OpenAPI } from './core/OpenAPI'; +import { AngularHttpRequest } from '{{{coreLocationSameLevel}}}/AngularHttpRequest'; +import { BaseHttpRequest } from '{{{coreLocationSameLevel}}}/BaseHttpRequest'; +import type { OpenAPIConfig } from '{{{coreLocationSameLevel}}}/OpenAPI'; +import { OpenAPI } from '{{{coreLocationSameLevel}}}/OpenAPI'; {{else}} -import type { BaseHttpRequest } from './core/BaseHttpRequest'; -import type { OpenAPIConfig } from './core/OpenAPI'; -import { {{{httpRequest}}} } from './core/{{{httpRequest}}}'; +import type { BaseHttpRequest } from '{{{coreLocationSameLevel}}}/BaseHttpRequest'; +import type { OpenAPIConfig } from '{{{coreLocationSameLevel}}}/OpenAPI'; +import { {{{httpRequest}}} } from '{{{coreLocationSameLevel}}}/{{{httpRequest}}}'; {{/equals}} {{#if services}} diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 5d6e98b52..115d3971a 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -18,17 +18,17 @@ import type { {{{this}}} } from '../models/{{{this}}}'; {{/if}} {{#notEquals @root.httpClient 'angular'}} -import type { CancelablePromise } from '{{{coreLocation}}}/CancelablePromise'; +import type { CancelablePromise } from '{{{coreLocationUpALevel}}}/CancelablePromise'; {{/notEquals}} {{#if @root.exportClient}} {{#equals @root.httpClient 'angular'}} -import { BaseHttpRequest } from '{{{coreLocation}}}/BaseHttpRequest'; +import { BaseHttpRequest } from '{{{coreLocationUpALevel}}}/BaseHttpRequest'; {{else}} -import type { BaseHttpRequest } from '{{{coreLocation}}}/BaseHttpRequest'; +import type { BaseHttpRequest } from '{{{coreLocationUpALevel}}}/BaseHttpRequest'; {{/equals}} {{else}} -import { OpenAPI } from '{{{coreLocation}}}/OpenAPI'; -import { request as __request } from '{{{coreLocation}}}/request'; +import { OpenAPI } from '{{{coreLocationUpALevel}}}/OpenAPI'; +import { request as __request } from '{{{coreLocationUpALevel}}}/request'; {{/if}} {{#equals @root.httpClient 'angular'}} diff --git a/src/utils/generateCoreLocation.spec.ts b/src/utils/generateCoreLocation.spec.ts index f9fdc7075..2298cba8a 100644 --- a/src/utils/generateCoreLocation.spec.ts +++ b/src/utils/generateCoreLocation.spec.ts @@ -1,32 +1,32 @@ -import { generateCoreLocationFromOutput } from './generateCoreLocation'; +import { generateCoreLocationUpLevelFromOutput } from './generateCoreLocation'; describe('generateCoreLocation', () => { it('Happy path', () => { - const loc = generateCoreLocationFromOutput('coreDir1/coreDir2/core', 'output/dir1/dir2'); + const loc = generateCoreLocationUpLevelFromOutput('coreDir1/coreDir2/core', 'output/dir1/dir2'); expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); }); it('output starts with ./', () => { - const loc = generateCoreLocationFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2'); + const loc = generateCoreLocationUpLevelFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2'); expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); }); it('output ends with /', () => { - const loc = generateCoreLocationFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2/'); + const loc = generateCoreLocationUpLevelFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2/'); expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); }); it('coreLoc starts with ./', () => { - const loc = generateCoreLocationFromOutput('./coreDir1/coreDir2/core', './output/dir1/dir2/'); + const loc = generateCoreLocationUpLevelFromOutput('./coreDir1/coreDir2/core', './output/dir1/dir2/'); expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); }); it('coreLoc ends with /', () => { - const loc = generateCoreLocationFromOutput('./coreDir1/coreDir2/core/', './output/dir1/dir2/'); + const loc = generateCoreLocationUpLevelFromOutput('./coreDir1/coreDir2/core/', './output/dir1/dir2/'); expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); }); diff --git a/src/utils/generateCoreLocation.ts b/src/utils/generateCoreLocation.ts index f9eae8400..9d6364d4d 100644 --- a/src/utils/generateCoreLocation.ts +++ b/src/utils/generateCoreLocation.ts @@ -1,4 +1,30 @@ -export const generateCoreLocationFromOutput = (coreLocation: string, output: string): string => { +export const generateCoreLocationSameLevelFromOutput = (coreLocation: string, output: string): string => { + //This brings the core location back up to the top level before going elsewhere + + let outputTmp = output; + if (outputTmp.startsWith('./')) { + outputTmp = outputTmp.slice(2); + } + if (outputTmp.endsWith('/')) { + outputTmp = outputTmp.slice(0, outputTmp.length - 1); + } + var count = (outputTmp.match(/\//g) || []).length; + + let location = '../'; + for (let i = 0; i < count; ++i) { + location += '../'; + } + + if (coreLocation.startsWith('./')) { + coreLocation = coreLocation.slice(2); + } + if (coreLocation.endsWith('/')) { + coreLocation = coreLocation.slice(0, coreLocation.length - 1); + } + return (location += coreLocation); +}; + +export const generateCoreLocationUpLevelFromOutput = (coreLocation: string, output: string): string => { //This brings the core location back up to the top level before going elsewhere let outputTmp = output; diff --git a/src/utils/writeClient.spec.ts b/src/utils/writeClient.spec.ts index 75c8eb2d4..fbd456b84 100644 --- a/src/utils/writeClient.spec.ts +++ b/src/utils/writeClient.spec.ts @@ -50,6 +50,7 @@ describe('writeClient', () => { Indent.SPACE_4, 'Service', '../core', + './core', 'AppClient' ); diff --git a/src/utils/writeClient.ts b/src/utils/writeClient.ts index 0c852cb58..d4dcd3bcb 100644 --- a/src/utils/writeClient.ts +++ b/src/utils/writeClient.ts @@ -30,7 +30,8 @@ import { writeClientServices } from './writeClientServices'; * @param indent Indentation options (4, 2 or tab) * @param postfixServices Service name postfix * @param postfixModels Model name postfix - * @param coreLocation The location of the core packages + * @param coreLocationSameLevel The location of the core packages + * @param coreLocationUpALevel The location of the core packages * @param clientName Custom client class name * @param request Path to custom request file */ @@ -48,7 +49,8 @@ export const writeClient = async ( indent: Indent, postfixServices: string, postfixModels: string, - coreLocation: string, + coreLocationSameLevel: string, + coreLocationUpALevel: string, clientName?: string, request?: string ): Promise => { @@ -80,7 +82,8 @@ export const writeClient = async ( useOptions, indent, postfixServices, - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, clientName ); } @@ -95,7 +98,8 @@ export const writeClient = async ( httpClient, useUnionTypes, indent, - coreLocation + coreLocationSameLevel, + coreLocationUpALevel ); } @@ -109,7 +113,8 @@ export const writeClient = async ( httpClient, useUnionTypes, indent, - coreLocation + coreLocationSameLevel, + coreLocationUpALevel ); } @@ -123,7 +128,8 @@ export const writeClient = async ( clientName, indent, postfixServices, - coreLocation + coreLocationSameLevel, + coreLocationUpALevel ); } @@ -140,7 +146,8 @@ export const writeClient = async ( exportSchemas, postfixServices, postfixModels, - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, clientName ); } diff --git a/src/utils/writeClientClass.spec.ts b/src/utils/writeClientClass.spec.ts index 5f7d740e4..1e5276e52 100644 --- a/src/utils/writeClientClass.spec.ts +++ b/src/utils/writeClientClass.spec.ts @@ -44,7 +44,8 @@ describe('writeClientClass', () => { 'AppClient', Indent.SPACE_4, '', - '../core' + '../core', + './core' ); expect(writeFile).toBeCalled(); diff --git a/src/utils/writeClientClass.ts b/src/utils/writeClientClass.ts index 083291f40..0526e2b76 100644 --- a/src/utils/writeClientClass.ts +++ b/src/utils/writeClientClass.ts @@ -22,7 +22,8 @@ import { sortServicesByName } from './sortServicesByName'; * @param clientName Custom client class name * @param indent Indentation options (4, 2 or tab) * @param postfix Service name postfix - * @param coreLocation The location of the core packages + * @param coreLocationSameLevel The location of the core packages + * @param coreLocationUpALevel The location of the core packages */ export const writeClientClass = async ( client: Client, @@ -32,7 +33,8 @@ export const writeClientClass = async ( clientName: string, indent: Indent, postfix: string, - coreLocation: string + coreLocationSameLevel: string, + coreLocationUpALevel: string ): Promise => { const templateResult = templates.client({ clientName, @@ -43,7 +45,8 @@ export const writeClientClass = async ( models: sortModelsByName(client.models), services: sortServicesByName(client.services), httpRequest: getHttpRequestName(httpClient), - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, }); await writeFile(resolve(outputPath, `${clientName}.ts`), i(f(templateResult), indent)); diff --git a/src/utils/writeClientIndex.spec.ts b/src/utils/writeClientIndex.spec.ts index d6ddc1ea5..b2d8eb37c 100644 --- a/src/utils/writeClientIndex.spec.ts +++ b/src/utils/writeClientIndex.spec.ts @@ -34,7 +34,20 @@ describe('writeClientIndex', () => { }, }; - await writeClientIndex(client, templates, '/', true, true, true, true, true, 'Service', '../core', ''); + await writeClientIndex( + client, + templates, + '/', + true, + true, + true, + true, + true, + 'Service', + '../core', + './core', + '' + ); expect(writeFile).toBeCalledWith('/index.ts', 'index'); }); diff --git a/src/utils/writeClientIndex.ts b/src/utils/writeClientIndex.ts index 038d4f077..78e14cbbc 100644 --- a/src/utils/writeClientIndex.ts +++ b/src/utils/writeClientIndex.ts @@ -21,7 +21,8 @@ import { sortServicesByName } from './sortServicesByName'; * @param exportSchemas Generate schemas * @param postfixServices Service name postfix * @param postfixModels Model name postfix - * @param coreLocation The location of the core packages + * @param coreLocationSameLevel The location of the core packages + * @param coreLocationUpALevel The location of the core packages * @param clientName Custom client class name */ export const writeClientIndex = async ( @@ -35,7 +36,8 @@ export const writeClientIndex = async ( exportSchemas: boolean, postfixServices: string, postfixModels: string, - coreLocation: string, + coreLocationSameLevel: string, + coreLocationUpALevel: string, clientName?: string ): Promise => { const templateResult = templates.index({ @@ -52,7 +54,8 @@ export const writeClientIndex = async ( models: sortModelsByName(client.models), services: sortServicesByName(client.services), exportClient: isDefined(clientName), - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, }); await writeFile(resolve(outputPath, 'index.ts'), templateResult); diff --git a/src/utils/writeClientModels.spec.ts b/src/utils/writeClientModels.spec.ts index 301c2626f..53d45f127 100644 --- a/src/utils/writeClientModels.spec.ts +++ b/src/utils/writeClientModels.spec.ts @@ -51,7 +51,7 @@ describe('writeClientModels', () => { }, }; - await writeClientModels(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core'); + await writeClientModels(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core', './core'); expect(writeFile).toBeCalledWith('/User.ts', `model${EOL}`); }); diff --git a/src/utils/writeClientModels.ts b/src/utils/writeClientModels.ts index 16e61a8ea..3cb708c5a 100644 --- a/src/utils/writeClientModels.ts +++ b/src/utils/writeClientModels.ts @@ -16,7 +16,8 @@ import type { Templates } from './registerHandlebarTemplates'; * @param httpClient The selected httpClient (fetch, xhr, node or axios) * @param useUnionTypes Use union types instead of enums * @param indent Indentation options (4, 2 or tab) - * @param coreLocation The location of the core packages + * @param coreLocationSameLevel The location of the core packages + * @param coreLocationUpALevel The location of the core packages */ export const writeClientModels = async ( models: Model[], @@ -25,7 +26,8 @@ export const writeClientModels = async ( httpClient: HttpClient, useUnionTypes: boolean, indent: Indent, - coreLocation: string + coreLocationSameLevel: string, + coreLocationUpALevel: string ): Promise => { for (const model of models) { const file = resolve(outputPath, `${model.name}.ts`); @@ -33,7 +35,8 @@ export const writeClientModels = async ( ...model, httpClient, useUnionTypes, - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/src/utils/writeClientSchemas.spec.ts b/src/utils/writeClientSchemas.spec.ts index 3f2b2270b..47a4f1180 100644 --- a/src/utils/writeClientSchemas.spec.ts +++ b/src/utils/writeClientSchemas.spec.ts @@ -51,7 +51,7 @@ describe('writeClientSchemas', () => { }, }; - await writeClientSchemas(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core'); + await writeClientSchemas(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core', './core'); expect(writeFile).toBeCalledWith('/$User.ts', `schema${EOL}`); }); diff --git a/src/utils/writeClientSchemas.ts b/src/utils/writeClientSchemas.ts index 4cb22c3ed..3b1037bcc 100644 --- a/src/utils/writeClientSchemas.ts +++ b/src/utils/writeClientSchemas.ts @@ -16,7 +16,8 @@ import type { Templates } from './registerHandlebarTemplates'; * @param httpClient The selected httpClient (fetch, xhr, node or axios) * @param useUnionTypes Use union types instead of enums * @param indent Indentation options (4, 2 or tab) - * @param coreLocation The location of the core packages + * @param coreLocationSameLevel The location of the core packages + * @param coreLocationUpALevel The location of the core packages */ export const writeClientSchemas = async ( models: Model[], @@ -25,7 +26,8 @@ export const writeClientSchemas = async ( httpClient: HttpClient, useUnionTypes: boolean, indent: Indent, - coreLocation: string + coreLocationSameLevel: string, + coreLocationUpALevel: string ): Promise => { for (const model of models) { const file = resolve(outputPath, `$${model.name}.ts`); @@ -33,7 +35,8 @@ export const writeClientSchemas = async ( ...model, httpClient, useUnionTypes, - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/src/utils/writeClientServices.spec.ts b/src/utils/writeClientServices.spec.ts index 3b572b9cd..2c02edc5e 100644 --- a/src/utils/writeClientServices.spec.ts +++ b/src/utils/writeClientServices.spec.ts @@ -48,7 +48,8 @@ describe('writeClientServices', () => { false, Indent.SPACE_4, 'Service', - '../core' + '../core', + './core' ); expect(writeFile).toBeCalledWith('/UserService.ts', `service${EOL}`); diff --git a/src/utils/writeClientServices.ts b/src/utils/writeClientServices.ts index 5ed210c81..3c26e17a9 100644 --- a/src/utils/writeClientServices.ts +++ b/src/utils/writeClientServices.ts @@ -19,7 +19,8 @@ import type { Templates } from './registerHandlebarTemplates'; * @param useOptions Use options or arguments functions * @param indent Indentation options (4, 2 or tab) * @param postfix Service name postfix - * @param coreLocation The location of the core packages + * @param coreLocationSameLevel The location of the core packages + * @param coreLocationUpALevel The location of the core packages * @param clientName Custom client class name */ export const writeClientServices = async ( @@ -31,7 +32,8 @@ export const writeClientServices = async ( useOptions: boolean, indent: Indent, postfix: string, - coreLocation: string, + coreLocationSameLevel: string, + coreLocationUpALevel: string, clientName?: string ): Promise => { for (const service of services) { @@ -43,7 +45,8 @@ export const writeClientServices = async ( useOptions, postfix, exportClient: isDefined(clientName), - coreLocation, + coreLocationSameLevel, + coreLocationUpALevel, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/types/index.d.ts b/types/index.d.ts index e5b2a0aeb..c6faef9d0 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -31,7 +31,25 @@ export type Options = { coreLocation?: string; }; +export interface OpenApi {} +export interface Service { + name: string; + operations: Operation[]; + imports: string[]; +} +export interface Operation { + service: string; + name: string; + summary: string | null; + description: string | null; + deprecated: boolean; + method: string; + path: string; + responseHeader: string | null; +} + export declare function generate(options: Options): Promise; +export declare function getServices(openApi: OpenApi): Service[]; declare type OpenAPI = { HttpClient: HttpClient; From 918df8c0616c0545757bd609833d16afba9b7828 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 7 Feb 2023 10:34:48 +0000 Subject: [PATCH 10/70] Fix core location --- .npmrc | 2 +- package-lock.json | 4 +- package.json | 2 +- src/index.ts | 4 +- src/utils/generateCoreLocation.spec.ts | 67 +++++++++++++++++++++++++- src/utils/generateCoreLocation.ts | 65 ++++++++++++------------- 6 files changed, 101 insertions(+), 43 deletions(-) diff --git a/.npmrc b/.npmrc index be1a4aea2..87a78a866 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,2 @@ @formatsocial:registry=https://npm.pkg.github.com -//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN_CI_CD} \ No newline at end of file +//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 588b39e6a..d8b1146db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.23.0", + "version": "0.26.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.23.0", + "version": "0.26.0", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index 2ce18c65d..2a7842851 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.25.0", + "version": "0.26.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { diff --git a/src/index.ts b/src/index.ts index 8473f61c7..f5c9863fe 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,3 @@ -import { resolve } from 'path'; import { HttpClient } from './HttpClient'; import { Indent } from './Indent'; import { parse as parseV2 } from './openApi/v2'; @@ -13,8 +12,8 @@ import { isString } from './utils/isString'; import { postProcessClient } from './utils/postProcessClient'; import { registerHandlebarTemplates } from './utils/registerHandlebarTemplates'; import { writeClient } from './utils/writeClient'; -import { getServices } from './openApi/v3/parser/getServices'; +export { getServices } from './openApi/v3/parser/getServices'; export { HttpClient } from './HttpClient'; export { Indent } from './Indent'; @@ -153,5 +152,4 @@ export const generate = async ({ export default { HttpClient, generate, - getServices, }; diff --git a/src/utils/generateCoreLocation.spec.ts b/src/utils/generateCoreLocation.spec.ts index 2298cba8a..e597ca36f 100644 --- a/src/utils/generateCoreLocation.spec.ts +++ b/src/utils/generateCoreLocation.spec.ts @@ -1,4 +1,4 @@ -import { generateCoreLocationUpLevelFromOutput } from './generateCoreLocation'; +import { generateCoreLocationUpLevelFromOutput,generateCoreLocationSameLevelFromOutput } from './generateCoreLocation'; describe('generateCoreLocation', () => { it('Happy path', () => { @@ -30,4 +30,69 @@ describe('generateCoreLocation', () => { expect(loc).toEqual('../../../../coreDir1/coreDir2/core'); }); + + + it('Happy path input and output share a location', () => { + const loc = generateCoreLocationUpLevelFromOutput('./output/dir1/core', './output/dir1/dir2'); + + expect(loc).toEqual('../../core'); + }); + + it('Happy path input and output share a location different lengths', () => { + const loc = generateCoreLocationUpLevelFromOutput('./output/dir1/core', './output/dir1/dir2/dir3'); + + expect(loc).toEqual('../../../core'); + }); }); + + +describe('generateCoreLocation', () => { + it('Happy path', () => { + const loc = generateCoreLocationSameLevelFromOutput('coreDir1/coreDir2/core', 'output/dir1/dir2'); + + expect(loc).toEqual('../../../coreDir1/coreDir2/core'); + }); + + it('output starts with ./', () => { + const loc = generateCoreLocationSameLevelFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2'); + + expect(loc).toEqual('../../../coreDir1/coreDir2/core'); + }); + + it('output ends with /', () => { + const loc = generateCoreLocationSameLevelFromOutput('coreDir1/coreDir2/core', './output/dir1/dir2/'); + + expect(loc).toEqual('../../../coreDir1/coreDir2/core'); + }); + + it('coreLoc starts with ./', () => { + const loc = generateCoreLocationSameLevelFromOutput('./coreDir1/coreDir2/core', './output/dir1/dir2/'); + + expect(loc).toEqual('../../../coreDir1/coreDir2/core'); + }); + + it('coreLoc ends with /', () => { + const loc = generateCoreLocationSameLevelFromOutput('./coreDir1/coreDir2/core/', './output/dir1/dir2/'); + + expect(loc).toEqual('../../../coreDir1/coreDir2/core'); + }); + + + it('Happy path input and output share a location', () => { + const loc = generateCoreLocationSameLevelFromOutput('./output/dir1/core', './output/dir1/dir2'); + + expect(loc).toEqual('../core'); + }); + + it('Happy path input and output share a location different lengths', () => { + const loc = generateCoreLocationSameLevelFromOutput('./output/dir1/core', './output/dir1/dir2/dir3'); + + expect(loc).toEqual('../../core'); + }); + + it('Happy path input and output share a location different lengths', () => { + const loc = generateCoreLocationSameLevelFromOutput('./output/dir1/core/', 'output/dir1/dir2/dir3'); + + expect(loc).toEqual('../../core'); + }); +}); \ No newline at end of file diff --git a/src/utils/generateCoreLocation.ts b/src/utils/generateCoreLocation.ts index 9d6364d4d..e41a3b521 100644 --- a/src/utils/generateCoreLocation.ts +++ b/src/utils/generateCoreLocation.ts @@ -1,18 +1,18 @@ export const generateCoreLocationSameLevelFromOutput = (coreLocation: string, output: string): string => { - //This brings the core location back up to the top level before going elsewhere + return coreLocationCalc(coreLocation, output, "") - let outputTmp = output; - if (outputTmp.startsWith('./')) { - outputTmp = outputTmp.slice(2); - } - if (outputTmp.endsWith('/')) { - outputTmp = outputTmp.slice(0, outputTmp.length - 1); - } - var count = (outputTmp.match(/\//g) || []).length; +}; - let location = '../'; - for (let i = 0; i < count; ++i) { - location += '../'; +export const generateCoreLocationUpLevelFromOutput = (coreLocation: string, output: string): string => { + return coreLocationCalc(coreLocation, output, "../") +}; + +const coreLocationCalc = (coreLocation: string, output: string, startingLoc:string): string => { + if (output.startsWith('./')) { + output = output.slice(2); + } + if (output.endsWith('/')) { + output = output.slice(0, output.length - 1); } if (coreLocation.startsWith('./')) { @@ -21,31 +21,26 @@ export const generateCoreLocationSameLevelFromOutput = (coreLocation: string, ou if (coreLocation.endsWith('/')) { coreLocation = coreLocation.slice(0, coreLocation.length - 1); } - return (location += coreLocation); -}; - -export const generateCoreLocationUpLevelFromOutput = (coreLocation: string, output: string): string => { - //This brings the core location back up to the top level before going elsewhere - let outputTmp = output; - if (outputTmp.startsWith('./')) { - outputTmp = outputTmp.slice(2); - } - if (outputTmp.endsWith('/')) { - outputTmp = outputTmp.slice(0, outputTmp.length - 1); - } - var count = (outputTmp.match(/\//g) || []).length; + let outputSplit = output.split("/") + let coreLocationSplit = coreLocation.split("/") - let location = '../../'; - for (let i = 0; i < count; ++i) { + let sameCount = 0 + for (const index in outputSplit) { + if ((outputSplit[index]) == coreLocationSplit[index]) { + sameCount++ + } + } + let location = startingLoc; + for (let i = 0+sameCount; i < outputSplit.length; ++i) { location += '../'; } - if (coreLocation.startsWith('./')) { - coreLocation = coreLocation.slice(2); - } - if (coreLocation.endsWith('/')) { - coreLocation = coreLocation.slice(0, coreLocation.length - 1); - } - return (location += coreLocation); -}; + for (let i = 0+sameCount; i < coreLocationSplit.length; ++i) { + if (!location.endsWith('/')) { + location += '/'; + } + location += coreLocationSplit[i]; + } + return location; +} \ No newline at end of file From 60fc2f64d7fb7e805b3b6dd7f0f20736babc1e75 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 7 Feb 2023 10:34:58 +0000 Subject: [PATCH 11/70] 0.27.0 --- package-lock.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8b1146db..e9966c456 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.26.0", + "version": "0.27.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.26.0", + "version": "0.27.0", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index 2a7842851..dc9d886a7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.26.0", + "version": "0.27.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { @@ -122,4 +122,4 @@ "overrides": { "rollup": "3.2.3" } -} \ No newline at end of file +} From 52bb596e20a8d232dddb69a566ef36ae9932e357 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 7 Feb 2023 10:48:25 +0000 Subject: [PATCH 12/70] Fix screenshots --- test/__snapshots__/index.spec.ts.snap | 126 +++++++++++++------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index d80c8a245..fe4e8eceb 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -9995,9 +9995,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class CollectionFormatService { @@ -10042,9 +10042,9 @@ import type { ModelWithDictionary } from '../models/ModelWithDictionary'; import type { ModelWithEnum } from '../models/ModelWithEnum'; import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class ComplexService { @@ -10119,9 +10119,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class DefaultService { @@ -10145,9 +10145,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class DefaultsService { @@ -10258,9 +10258,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom /* eslint-disable */ import type { DeprecatedModel } from '../models/DeprecatedModel'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class DeprecatedService { @@ -10289,9 +10289,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class DescriptionsService { @@ -10337,9 +10337,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class DuplicateService { @@ -10391,9 +10391,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class ErrorService { @@ -10430,9 +10430,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class FormDataService { @@ -10464,9 +10464,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class HeaderService { @@ -10496,9 +10496,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class MultipartService { @@ -10545,9 +10545,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class MultipleTags1Service { @@ -10581,9 +10581,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class MultipleTags2Service { @@ -10617,9 +10617,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class MultipleTags3Service { @@ -10642,9 +10642,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class NoContentService { @@ -10670,9 +10670,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom import type { ModelWithString } from '../models/ModelWithString'; import type { Pageable } from '../models/Pageable'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class ParametersService { @@ -10815,9 +10815,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class RequestBodyService { @@ -10853,9 +10853,9 @@ import type { ModelThatExtends } from '../models/ModelThatExtends'; import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class ResponseService { @@ -10917,9 +10917,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class SimpleService { @@ -11001,9 +11001,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class TypesService { @@ -11058,9 +11058,9 @@ exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustom "/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../../../test/generated/bin/core/CancelablePromise'; -import { OpenAPI } from '../../../../test/generated/bin/core/OpenAPI'; -import { request as __request } from '../../../../test/generated/bin/core/request'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class UploadService { From 0cae978d15460fd3c5745382ae7f25c9da20dcfd Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 7 Feb 2023 10:48:46 +0000 Subject: [PATCH 13/70] 0.27.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e9966c456..b6fbecc9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.27.0", + "version": "0.27.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.27.0", + "version": "0.27.1", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index dc9d886a7..99207f1d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.27.0", + "version": "0.27.1", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 77ab6b87893553b7c35f2b2ffdb45f2083659eb2 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 7 Feb 2023 10:54:39 +0000 Subject: [PATCH 14/70] Fix CICD --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3d916bbaa..c51345287 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest permissions: write-all env: - GITHUB_TOKEN_CI_CD: ${{ secrets.GH_ACCESS_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 From b611cbbaba87b247fd45b18bb488ed0fb54de56b Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:00:01 +0000 Subject: [PATCH 15/70] Add react hooks --- bin/index.js | 2 + package-lock.json | 112 +++++++++++++++++++++++++- package.json | 3 +- rollup.config.mjs | 1 + src/index.ts | 5 ++ src/templates/exportService.hbs | 50 ++++++++++++ src/utils/registerHandlebarHelpers.ts | 4 + src/utils/writeClient.spec.ts | 2 + src/utils/writeClient.ts | 3 + src/utils/writeClientClass.ts | 3 + src/utils/writeClientServices.spec.ts | 3 +- src/utils/writeClientServices.ts | 2 + 12 files changed, 184 insertions(+), 6 deletions(-) diff --git a/bin/index.js b/bin/index.js index ed8b0889b..403bfda10 100755 --- a/bin/index.js +++ b/bin/index.js @@ -20,6 +20,7 @@ const params = program .option('--exportServices ', 'Write services to disk', true) .option('--exportModels ', 'Write models to disk', true) .option('--exportSchemas ', 'Write schemas to disk', false) + .option('--exportReactQueryHook ', 'export react query hooks in addition', false) .option('--indent ', 'Indentation options [4, 2, tabs]', '4') .option('--postfix ', 'Deprecated: Use --postfixServices instead. Service name postfix', 'Service') .option('--postfixServices ', 'Service name postfix', 'Service') @@ -42,6 +43,7 @@ if (OpenAPI) { exportServices: JSON.parse(params.exportServices) === true, exportModels: JSON.parse(params.exportModels) === true, exportSchemas: JSON.parse(params.exportSchemas) === true, + exportReactQueryHook: JSON.parse(params.exportReactQueryHook) === true, indent: params.indent, postfixServices: params.postfixServices ?? params.postfix, postfixModels: params.postfixModels, diff --git a/package-lock.json b/package-lock.json index b6fbecc9c..dee76d8df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.27.1", "license": "MIT", "dependencies": { + "@tanstack/react-query": "^4.24.6", "camelcase": "^6.3.0", "commander": "^9.4.1", "fs-extra": "^10.1.0", @@ -4366,6 +4367,41 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@tanstack/query-core": { + "version": "4.24.6", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.24.6.tgz", + "integrity": "sha512-Tfru6YTDTCpX7dKVwHp/sosw/dNjEdzrncduUjIkQxn7n7u+74HT2ZrGtwwrU6Orws4x7zp3FKRqBPWVVhpx9w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "4.24.6", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.24.6.tgz", + "integrity": "sha512-pbJUVZCS4pcXS0kZiY+mVJ01ude0GrH5OXT2g9whcqSveRG/YVup/XdA9NdRpSMGkP2HxDRxxRNsTXkniWeIIA==", + "dependencies": { + "@tanstack/query-core": "4.24.6", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -11489,8 +11525,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.14.1", @@ -11855,6 +11890,18 @@ "node": ">=8" } }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, "node_modules/lru-cache": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", @@ -14193,6 +14240,18 @@ "node": ">= 0.8" } }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -16208,6 +16267,14 @@ "fast-url-parser": "^1.1.3" } }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -19913,6 +19980,20 @@ "@sinonjs/commons": "^1.7.0" } }, + "@tanstack/query-core": { + "version": "4.24.6", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.24.6.tgz", + "integrity": "sha512-Tfru6YTDTCpX7dKVwHp/sosw/dNjEdzrncduUjIkQxn7n7u+74HT2ZrGtwwrU6Orws4x7zp3FKRqBPWVVhpx9w==" + }, + "@tanstack/react-query": { + "version": "4.24.6", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.24.6.tgz", + "integrity": "sha512-pbJUVZCS4pcXS0kZiY+mVJ01ude0GrH5OXT2g9whcqSveRG/YVup/XdA9NdRpSMGkP2HxDRxxRNsTXkniWeIIA==", + "requires": { + "@tanstack/query-core": "4.24.6", + "use-sync-external-store": "^1.2.0" + } + }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -25230,8 +25311,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.14.1", @@ -25496,6 +25576,15 @@ } } }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lru-cache": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", @@ -27136,6 +27225,15 @@ "unpipe": "1.0.0" } }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, "react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -28663,6 +28761,12 @@ "fast-url-parser": "^1.1.3" } }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index 99207f1d0..22c24943a 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "json-schema-ref-parser": "^9.0.9" }, "devDependencies": { + "@tanstack/react-query": "^4.24.6", "@angular-devkit/build-angular": "14.2.7", "@angular/animations": "14.2.8", "@angular/cli": "14.2.7", @@ -122,4 +123,4 @@ "overrides": { "rollup": "3.2.3" } -} +} \ No newline at end of file diff --git a/rollup.config.mjs b/rollup.config.mjs index df7373395..f336c2be2 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -39,6 +39,7 @@ const handlebarsPlugin = () => ({ escapeComment: true, escapeDescription: true, camelCase: true, + capitalise: true, }, }); return `export default ${templateSpec};`; diff --git a/src/index.ts b/src/index.ts index f5c9863fe..d4288ee53 100644 --- a/src/index.ts +++ b/src/index.ts @@ -28,6 +28,7 @@ export type Options = { exportServices?: boolean; exportModels?: boolean; exportSchemas?: boolean; + exportReactQueryHook?: boolean; indent?: Indent; postfixServices?: string; postfixModels?: string; @@ -50,6 +51,7 @@ export type Options = { * @param exportServices Generate services * @param exportModels Generate models * @param exportSchemas Generate schemas + * @param exportReactQueryHook Generate schemas * @param indent Indentation options (4, 2 or tab) * @param postfixServices Service name postfix * @param postfixModels Model name postfix @@ -74,6 +76,7 @@ export const generate = async ({ request, write = true, coreLocation = undefined, + exportReactQueryHook = false, }: Options): Promise => { const openApi = isString(input) ? await getOpenApiSpec(input) : input; const openApiVersion = getOpenApiVersion(openApi); @@ -115,6 +118,7 @@ export const generate = async ({ postfixModels, coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, clientName, request ); @@ -141,6 +145,7 @@ export const generate = async ({ postfixModels, coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, clientName, request ); diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 115d3971a..3d91e210b 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -1,5 +1,8 @@ {{>header}} +{{#if @root.exportReactQueryHook}} +import { useQuery } from "@tanstack/react-query"; +{{/if}} {{#equals @root.httpClient 'angular'}} {{#if @root.exportClient}} import { Injectable } from '@angular/core'; @@ -148,5 +151,52 @@ export class {{{name}}}{{{@root.postfix}}} { }); } + {{#if @root.exportReactQueryHook}} + + /** + * Hook version using react-query + {{#if deprecated}} + * @deprecated + {{/if}} + {{#if summary}} + * {{{escapeComment summary}}} + {{/if}} + {{#if description}} + * {{{escapeComment description}}} + {{/if}} + {{#unless @root.useOptions}} + {{#if parameters}} + {{#each parameters}} + * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + {{/if}} + {{/unless}} + {{#each results}} + * @returns {{{type}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + * @throws ApiError + */ + {{#if @root.exportClient}} + public {{camelCase @root.reactQueryHookName}}({{>parameters}}){ + {{else}} + public static use{{capitalise name}}Data({{>parameters}}){ + {{/if}} + return useQuery({ + queryKey: [ + '{{@root.name}}', + {{#each parametersPath}} + {{{name}}}, + {{/each}} + ], + queryFn: async () => { + return await this.{{{name}}}( + {{#each parameters}} + {{{name}}}, + {{/each}} + ); + }, + }); + } + {{/if}} {{/each}} } diff --git a/src/utils/registerHandlebarHelpers.ts b/src/utils/registerHandlebarHelpers.ts index 88f47c19b..a02e11a68 100644 --- a/src/utils/registerHandlebarHelpers.ts +++ b/src/utils/registerHandlebarHelpers.ts @@ -104,4 +104,8 @@ export const registerHandlebarHelpers = (root: { Handlebars.registerHelper('camelCase', function (value: string): string { return camelCase(value); }); + + Handlebars.registerHelper('capitalise', function (value: string): string { + return value.charAt(0).toUpperCase() + value.substring(1); + }); }; diff --git a/src/utils/writeClient.spec.ts b/src/utils/writeClient.spec.ts index fbd456b84..3877b53ff 100644 --- a/src/utils/writeClient.spec.ts +++ b/src/utils/writeClient.spec.ts @@ -49,8 +49,10 @@ describe('writeClient', () => { true, Indent.SPACE_4, 'Service', + '', '../core', './core', + false, 'AppClient' ); diff --git a/src/utils/writeClient.ts b/src/utils/writeClient.ts index d4dcd3bcb..5ef61b495 100644 --- a/src/utils/writeClient.ts +++ b/src/utils/writeClient.ts @@ -32,6 +32,7 @@ import { writeClientServices } from './writeClientServices'; * @param postfixModels Model name postfix * @param coreLocationSameLevel The location of the core packages * @param coreLocationUpALevel The location of the core packages + * @param exportReactQueryHook export react hooks * @param clientName Custom client class name * @param request Path to custom request file */ @@ -51,6 +52,7 @@ export const writeClient = async ( postfixModels: string, coreLocationSameLevel: string, coreLocationUpALevel: string, + exportReactQueryHook: boolean, clientName?: string, request?: string ): Promise => { @@ -84,6 +86,7 @@ export const writeClient = async ( postfixServices, coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, clientName ); } diff --git a/src/utils/writeClientClass.ts b/src/utils/writeClientClass.ts index 0526e2b76..d07ee3557 100644 --- a/src/utils/writeClientClass.ts +++ b/src/utils/writeClientClass.ts @@ -47,6 +47,9 @@ export const writeClientClass = async ( httpRequest: getHttpRequestName(httpClient), coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook: true, + reactQueryKeys: 'pathssss', + reactQueryHookName: `use--SOOOMMMEEETTTJJHJIOIUJDFData`, }); await writeFile(resolve(outputPath, `${clientName}.ts`), i(f(templateResult), indent)); diff --git a/src/utils/writeClientServices.spec.ts b/src/utils/writeClientServices.spec.ts index 2c02edc5e..b17d597fb 100644 --- a/src/utils/writeClientServices.spec.ts +++ b/src/utils/writeClientServices.spec.ts @@ -49,7 +49,8 @@ describe('writeClientServices', () => { Indent.SPACE_4, 'Service', '../core', - './core' + './core', + false ); expect(writeFile).toBeCalledWith('/UserService.ts', `service${EOL}`); diff --git a/src/utils/writeClientServices.ts b/src/utils/writeClientServices.ts index 3c26e17a9..f6a727384 100644 --- a/src/utils/writeClientServices.ts +++ b/src/utils/writeClientServices.ts @@ -34,6 +34,7 @@ export const writeClientServices = async ( postfix: string, coreLocationSameLevel: string, coreLocationUpALevel: string, + exportReactQueryHook: boolean, clientName?: string ): Promise => { for (const service of services) { @@ -47,6 +48,7 @@ export const writeClientServices = async ( exportClient: isDefined(clientName), coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, }); await writeFile(file, i(f(templateResult), indent)); } From 80800dd8c79c136542be9285c6788046d2283928 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:01:05 +0000 Subject: [PATCH 16/70] 0.28.0 --- package-lock.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index dee76d8df..c9d68ab71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.27.1", + "version": "0.28.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.27.1", + "version": "0.28.0", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 22c24943a..d6e8ec15d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.27.1", + "version": "0.28.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { @@ -123,4 +123,4 @@ "overrides": { "rollup": "3.2.3" } -} \ No newline at end of file +} From 65edf535c4dfb7cedb6901fbbd01f37fb0782756 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:01:10 +0000 Subject: [PATCH 17/70] 1.0.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c9d68ab71..c5f309799 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.28.0", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.28.0", + "version": "1.0.0", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index d6e8ec15d..f715444c1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "0.28.0", + "version": "1.0.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 6d4feb8125cef279de906d6cbc104ab81b3ef888 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:12:06 +0000 Subject: [PATCH 18/70] update types --- types/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/index.d.ts b/types/index.d.ts index c6faef9d0..035d098c9 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -29,6 +29,7 @@ export type Options = { request?: string; write?: boolean; coreLocation?: string; + exportReactQueryHook?: boolean; }; export interface OpenApi {} From 8bcd0288f2c3d8add5f462c61386a08b3371f1e9 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:12:09 +0000 Subject: [PATCH 19/70] 1.0.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c5f309799..2ba8dda3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.0", + "version": "1.0.1", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index f715444c1..2e5a2934e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.0", + "version": "1.0.1", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 7e2d9c596636a2d3d09858f9f99d6d861cdf2092 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:14:42 +0000 Subject: [PATCH 20/70] fix camel --- src/templates/exportService.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 3d91e210b..9baa396dc 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -177,7 +177,7 @@ export class {{{name}}}{{{@root.postfix}}} { * @throws ApiError */ {{#if @root.exportClient}} - public {{camelCase @root.reactQueryHookName}}({{>parameters}}){ + public use{{capitalise name}}Data({{>parameters}}){ {{else}} public static use{{capitalise name}}Data({{>parameters}}){ {{/if}} From cd0eed6b0cb39dda03ec3a4cf8976559b8a152e3 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:14:45 +0000 Subject: [PATCH 21/70] 1.0.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ba8dda3e..8e5619cef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.1", + "version": "1.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.1", + "version": "1.0.2", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 2e5a2934e..0d313ec39 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.1", + "version": "1.0.2", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 1494f37c80ab1221d87810bdd857c696e919d36c Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:19:20 +0000 Subject: [PATCH 22/70] export query key --- src/templates/exportService.hbs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 9baa396dc..c7d0c031c 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -197,6 +197,20 @@ export class {{{name}}}{{{@root.postfix}}} { }, }); } + + {{#if @root.exportClient}} + public use{{capitalise name}}DataQueryKey({{>parameters}}){ + {{else}} + public static use{{capitalise name}}DataQueryKey({{>parameters}}){ + {{/if}} + return [ + '{{@root.name}}', + {{#each parametersPath}} + {{{name}}}, + {{/each}} + ] + }); + } {{/if}} {{/each}} } From e783bf4e624ffd3f057201ac29e7182b7856276e Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:19:22 +0000 Subject: [PATCH 23/70] 1.0.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8e5619cef..cb9908ff1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.2", + "version": "1.0.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.2", + "version": "1.0.3", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 0d313ec39..2c1eb6039 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.2", + "version": "1.0.3", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 60ad78cdfa109cbbc546c75a53558113c4a9ab88 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:22:06 +0000 Subject: [PATCH 24/70] Fix bug --- src/templates/exportService.hbs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index c7d0c031c..0e46f59b9 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -209,7 +209,6 @@ export class {{{name}}}{{{@root.postfix}}} { {{{name}}}, {{/each}} ] - }); } {{/if}} {{/each}} From e4559148a0ac4dfeb337a01b3033a2fff674ddec Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:22:08 +0000 Subject: [PATCH 25/70] 1.0.4 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb9908ff1..7a08ea278 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.3", + "version": "1.0.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.3", + "version": "1.0.4", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 2c1eb6039..32e58cc92 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.3", + "version": "1.0.4", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From df03a082a362c89f9a9bde97465f56ceec605315 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:23:02 +0000 Subject: [PATCH 26/70] Add space --- src/templates/exportService.hbs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 0e46f59b9..21c0b45c9 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -210,6 +210,7 @@ export class {{{name}}}{{{@root.postfix}}} { {{/each}} ] } + {{/if}} {{/each}} } From 7dfc0b3dc53c7e8822a954aff96fc4e89a4898ad Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:23:05 +0000 Subject: [PATCH 27/70] 1.0.5 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7a08ea278..bda4dad89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.4", + "version": "1.0.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.4", + "version": "1.0.5", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 32e58cc92..48fb8ae59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.4", + "version": "1.0.5", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From abf0dcc9d450a9b6feb53850283b49ad0e79aa96 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:32:53 +0000 Subject: [PATCH 28/70] only hooks for get --- src/templates/exportService.hbs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 21c0b45c9..13b95a4d8 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -152,6 +152,7 @@ export class {{{name}}}{{{@root.postfix}}} { } {{#if @root.exportReactQueryHook}} + {{#equals method 'GET'}} /** * Hook version using react-query @@ -210,7 +211,8 @@ export class {{{name}}}{{{@root.postfix}}} { {{/each}} ] } - + + {{/equals}} {{/if}} {{/each}} } From af4e7ce5cfbaca1b9690c81e73c3be96628e5d9a Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:33:10 +0000 Subject: [PATCH 29/70] 1.0.6 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index bda4dad89..913216c00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.5", + "version": "1.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.5", + "version": "1.0.6", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 48fb8ae59..748449fca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.5", + "version": "1.0.6", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From dbbf7d86dabebc1b7930903b024f019766609faa Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:36:18 +0000 Subject: [PATCH 30/70] Add queries to the key --- src/templates/exportService.hbs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 13b95a4d8..e04a885d9 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -188,6 +188,10 @@ export class {{{name}}}{{{@root.postfix}}} { {{#each parametersPath}} {{{name}}}, {{/each}} + {{#each parametersQuery}} + {{{name}}}, + {{/each}} + ] ], queryFn: async () => { return await this.{{{name}}}( @@ -209,6 +213,9 @@ export class {{{name}}}{{{@root.postfix}}} { {{#each parametersPath}} {{{name}}}, {{/each}} + {{#each parametersQuery}} + {{{name}}}, + {{/each}} ] } From 4c5ebcaca6a0092d8bf0c1cd679e6c993c84e6b5 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:36:25 +0000 Subject: [PATCH 31/70] 1.0.7 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 913216c00..5cbfa2c24 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.6", + "version": "1.0.7", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.6", + "version": "1.0.7", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 748449fca..e3cbf526e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.6", + "version": "1.0.7", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 013dba0935825f073aa7e66058ecc3573c81ef13 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:37:11 +0000 Subject: [PATCH 32/70] fix tempalte --- src/templates/exportService.hbs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index e04a885d9..84b2107a0 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -191,7 +191,6 @@ export class {{{name}}}{{{@root.postfix}}} { {{#each parametersQuery}} {{{name}}}, {{/each}} - ] ], queryFn: async () => { return await this.{{{name}}}( From 81dd61940a1058838ed9fbce031b94ac8ef3a88e Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:37:13 +0000 Subject: [PATCH 33/70] 1.0.8 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5cbfa2c24..4978c81c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.7", + "version": "1.0.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.7", + "version": "1.0.8", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index e3cbf526e..f5fc1eb70 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.7", + "version": "1.0.8", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From adceae267403236023dc6123a2dd26e2293be421 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:49:19 +0000 Subject: [PATCH 34/70] Remove Data --- src/templates/exportService.hbs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 84b2107a0..39835b204 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -178,9 +178,9 @@ export class {{{name}}}{{{@root.postfix}}} { * @throws ApiError */ {{#if @root.exportClient}} - public use{{capitalise name}}Data({{>parameters}}){ + public use{{capitalise name}}({{>parameters}}){ {{else}} - public static use{{capitalise name}}Data({{>parameters}}){ + public static use{{capitalise name}}({{>parameters}}){ {{/if}} return useQuery({ queryKey: [ @@ -203,9 +203,9 @@ export class {{{name}}}{{{@root.postfix}}} { } {{#if @root.exportClient}} - public use{{capitalise name}}DataQueryKey({{>parameters}}){ + public use{{capitalise name}}QueryKey({{>parameters}}){ {{else}} - public static use{{capitalise name}}DataQueryKey({{>parameters}}){ + public static use{{capitalise name}}QueryKey({{>parameters}}){ {{/if}} return [ '{{@root.name}}', From 127834a82b9f56c05466fdcd922a3ef8461735cb Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 15:49:32 +0000 Subject: [PATCH 35/70] 1.0.9 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4978c81c0..c16030b6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.8", + "version": "1.0.9", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.8", + "version": "1.0.9", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index f5fc1eb70..94ed89b35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.8", + "version": "1.0.9", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 3186dd80a42b61b9d7add85ace02f579f2636c8e Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 17:18:44 +0000 Subject: [PATCH 36/70] update context --- src/templates/exportService.hbs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 39835b204..5275d7682 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -1,7 +1,7 @@ {{>header}} {{#if @root.exportReactQueryHook}} -import { useQuery } from "@tanstack/react-query"; +import { defaultContext, useQuery } from "@tanstack/react-query"; {{/if}} {{#equals @root.httpClient 'angular'}} {{#if @root.exportClient}} @@ -183,6 +183,7 @@ export class {{{name}}}{{{@root.postfix}}} { public static use{{capitalise name}}({{>parameters}}){ {{/if}} return useQuery({ + context: defaultContext, queryKey: [ '{{@root.name}}', {{#each parametersPath}} From 4f4b022bbb1f513a4ec38667c76389f497dc957b Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 17:18:48 +0000 Subject: [PATCH 37/70] 1.0.10 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c16030b6e..b03d79211 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.9", + "version": "1.0.10", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.9", + "version": "1.0.10", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 94ed89b35..c95bc5797 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.9", + "version": "1.0.10", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From c3cbae5ef166cbeba70b6b62b445c0988ee75c30 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 22:45:53 +0000 Subject: [PATCH 38/70] Update with binding --- src/templates/exportService.hbs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 5275d7682..f16cd96d1 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -41,8 +41,21 @@ import { request as __request } from '{{{coreLocationUpALevel}}}/request'; {{/equals}} export class {{{name}}}{{{@root.postfix}}} { {{#if @root.exportClient}} + {{#if @root.exportReactQueryHook}} + + constructor(public readonly httpRequest: BaseHttpRequest) { + {{#each operations}} + + this.{{{name}}} = this.{{{name}}}.bind(this) + {{#equals method 'GET'}} + this.use{{capitalise name}} = this.use{{capitalise name}}.bind(this) + {{/equals}} + {{/each}} + } + {{else}} constructor(public readonly httpRequest: BaseHttpRequest) {} + {{/if}} {{else}} {{#equals @root.httpClient 'angular'}} From 9c626e1374b79e73c224fd922a64e6a81cace701 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 17 Feb 2023 22:46:30 +0000 Subject: [PATCH 39/70] 1.0.11 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b03d79211..b9f1309d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.10", + "version": "1.0.11", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.10", + "version": "1.0.11", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index c95bc5797..da92538fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.10", + "version": "1.0.11", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 6ad967dd948325db44d9d9018092eb8a59a4c1bc Mon Sep 17 00:00:00 2001 From: anthony lock Date: Mon, 20 Feb 2023 12:23:58 +0000 Subject: [PATCH 40/70] Fix names --- src/templates/exportService.hbs | 18 +++--------------- .../partials/exportReactQueryHookKey.hbs | 7 +++++++ src/utils/registerHandlebarTemplates.ts | 2 ++ 3 files changed, 12 insertions(+), 15 deletions(-) create mode 100644 src/templates/partials/exportReactQueryHookKey.hbs diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index f16cd96d1..29cf1ea64 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -198,13 +198,7 @@ export class {{{name}}}{{{@root.postfix}}} { return useQuery({ context: defaultContext, queryKey: [ - '{{@root.name}}', - {{#each parametersPath}} - {{{name}}}, - {{/each}} - {{#each parametersQuery}} - {{{name}}}, - {{/each}} + {{>exportReactQueryHookKey}} ], queryFn: async () => { return await this.{{{name}}}( @@ -222,14 +216,8 @@ export class {{{name}}}{{{@root.postfix}}} { public static use{{capitalise name}}QueryKey({{>parameters}}){ {{/if}} return [ - '{{@root.name}}', - {{#each parametersPath}} - {{{name}}}, - {{/each}} - {{#each parametersQuery}} - {{{name}}}, - {{/each}} - ] + {{>exportReactQueryHookKey}} + ] } {{/equals}} diff --git a/src/templates/partials/exportReactQueryHookKey.hbs b/src/templates/partials/exportReactQueryHookKey.hbs new file mode 100644 index 000000000..5e3cbf167 --- /dev/null +++ b/src/templates/partials/exportReactQueryHookKey.hbs @@ -0,0 +1,7 @@ +'{{capitalise name}}', +{{#each parametersPath}} + {{{name}}}, +{{/each}} +{{#each parametersQuery}} + {{{name}}}, +{{/each}} \ No newline at end of file diff --git a/src/utils/registerHandlebarTemplates.ts b/src/utils/registerHandlebarTemplates.ts index bf77cbdc1..c59032cd9 100644 --- a/src/utils/registerHandlebarTemplates.ts +++ b/src/utils/registerHandlebarTemplates.ts @@ -83,6 +83,7 @@ import partialTypeInterface from '../templates/partials/typeInterface.hbs'; import partialTypeIntersection from '../templates/partials/typeIntersection.hbs'; import partialTypeReference from '../templates/partials/typeReference.hbs'; import partialTypeUnion from '../templates/partials/typeUnion.hbs'; +import exportReactQueryHookKey from '../templates/partials/exportReactQueryHookKey.hbs'; import { registerHandlebarHelpers } from './registerHandlebarHelpers'; export interface Templates { @@ -163,6 +164,7 @@ export const registerHandlebarTemplates = (root: { Handlebars.registerPartial('typeInterface', Handlebars.template(partialTypeInterface)); Handlebars.registerPartial('typeReference', Handlebars.template(partialTypeReference)); Handlebars.registerPartial('typeUnion', Handlebars.template(partialTypeUnion)); + Handlebars.registerPartial('exportReactQueryHookKey', Handlebars.template(exportReactQueryHookKey)); Handlebars.registerPartial('typeIntersection', Handlebars.template(partialTypeIntersection)); Handlebars.registerPartial('base', Handlebars.template(partialBase)); From 1ea9802d03e0125f2cd4cb338061679384908ed1 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Mon, 20 Feb 2023 12:24:00 +0000 Subject: [PATCH 41/70] 1.0.12 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b9f1309d0..bbc9f06bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.11", + "version": "1.0.12", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.11", + "version": "1.0.12", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index da92538fb..8b7c4dd6c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.11", + "version": "1.0.12", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 6cff83bccf9265117af43b20e26ba52e22095283 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 31 Mar 2023 11:25:12 +0100 Subject: [PATCH 42/70] Update query response to string[] --- src/templates/exportService.hbs | 2 +- src/templates/partials/exportReactQueryHookKey.hbs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 29cf1ea64..22f38d524 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -213,7 +213,7 @@ export class {{{name}}}{{{@root.postfix}}} { {{#if @root.exportClient}} public use{{capitalise name}}QueryKey({{>parameters}}){ {{else}} - public static use{{capitalise name}}QueryKey({{>parameters}}){ + public static use{{capitalise name}}QueryKey({{>parameters}}):string[]{ {{/if}} return [ {{>exportReactQueryHookKey}} diff --git a/src/templates/partials/exportReactQueryHookKey.hbs b/src/templates/partials/exportReactQueryHookKey.hbs index 5e3cbf167..2da241698 100644 --- a/src/templates/partials/exportReactQueryHookKey.hbs +++ b/src/templates/partials/exportReactQueryHookKey.hbs @@ -1,7 +1,7 @@ '{{capitalise name}}', {{#each parametersPath}} - {{{name}}}, + String( {{{name}}} ), {{/each}} {{#each parametersQuery}} - {{{name}}}, + String( {{{name}}} ), {{/each}} \ No newline at end of file From bec1c7f31215eaa98035631227f1ddcc1caed46a Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 31 Mar 2023 11:25:47 +0100 Subject: [PATCH 43/70] 1.0.13 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index bbc9f06bd..892983225 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.12", + "version": "1.0.13", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.12", + "version": "1.0.13", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index 8b7c4dd6c..f9f69f5b3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.12", + "version": "1.0.13", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From b8c329ffadcfe2e72c0cefc708e03a4d6bdeaba3 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 31 Mar 2023 11:34:00 +0100 Subject: [PATCH 44/70] Add string [] --- src/templates/exportService.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 22f38d524..96c9a1e81 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -211,7 +211,7 @@ export class {{{name}}}{{{@root.postfix}}} { } {{#if @root.exportClient}} - public use{{capitalise name}}QueryKey({{>parameters}}){ + public use{{capitalise name}}QueryKey({{>parameters}}):string[]{ {{else}} public static use{{capitalise name}}QueryKey({{>parameters}}):string[]{ {{/if}} From b3e7d176e354c833e94848c38226305892647082 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Fri, 31 Mar 2023 11:34:12 +0100 Subject: [PATCH 45/70] 1.0.14 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 892983225..0ec4f1ac8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.13", + "version": "1.0.14", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.13", + "version": "1.0.14", "license": "MIT", "dependencies": { "@tanstack/react-query": "^4.24.6", diff --git a/package.json b/package.json index f9f69f5b3..1d41f2c8f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.13", + "version": "1.0.14", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From ae7950ee567ef9019705efcd1d321946027fbba1 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 5 Oct 2023 15:24:49 +0100 Subject: [PATCH 46/70] Split query and non query --- src/templates/client.hbs | 10 ++ src/templates/exportService.hbs | 64 ------- src/templates/exportServiceQuery.hbs | 227 ++++++++++++++++++++++++ src/utils/registerHandlebarTemplates.ts | 3 + 4 files changed, 240 insertions(+), 64 deletions(-) create mode 100644 src/templates/exportServiceQuery.hbs diff --git a/src/templates/client.hbs b/src/templates/client.hbs index 27fb08721..1a43453d4 100644 --- a/src/templates/client.hbs +++ b/src/templates/client.hbs @@ -18,6 +18,9 @@ import { {{{httpRequest}}} } from '{{{coreLocationSameLevel}}}/{{{httpRequest}}} {{#each services}} import { {{{name}}}{{{@root.postfix}}} } from './services/{{{name}}}{{{@root.postfix}}}'; {{/each}} +{{#each services}} +import { {{{name}}}Query{{{@root.postfix}}} } from './services/{{{name}}}Query{{{@root.postfix}}}'; +{{/each}} {{/if}} {{#equals @root.httpClient 'angular'}} @@ -57,6 +60,9 @@ export class {{{clientName}}} { public readonly {{{camelCase name}}}: {{{name}}}{{{@root.postfix}}}; {{/each}} + {{#each services}} + public readonly {{{camelCase name}}}Query: {{{name}}}Query{{{@root.postfix}}}; + {{/each}} public readonly request: BaseHttpRequest; constructor(config?: Partial, HttpRequest: HttpRequestConstructor = {{{httpRequest}}}) { @@ -75,6 +81,10 @@ export class {{{clientName}}} { {{#each services}} this.{{{camelCase name}}} = new {{{name}}}{{{@root.postfix}}}(this.request); {{/each}} + + {{#each services}} + this.{{{camelCase name}}}Query = new {{{name}}}Query{{{@root.postfix}}}(this.request); + {{/each}} } } {{/equals}} diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 96c9a1e81..5bb0ba993 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -1,7 +1,6 @@ {{>header}} {{#if @root.exportReactQueryHook}} -import { defaultContext, useQuery } from "@tanstack/react-query"; {{/if}} {{#equals @root.httpClient 'angular'}} {{#if @root.exportClient}} @@ -47,9 +46,6 @@ export class {{{name}}}{{{@root.postfix}}} { {{#each operations}} this.{{{name}}} = this.{{{name}}}.bind(this) - {{#equals method 'GET'}} - this.use{{capitalise name}} = this.use{{capitalise name}}.bind(this) - {{/equals}} {{/each}} } {{else}} @@ -163,64 +159,4 @@ export class {{{name}}}{{{@root.postfix}}} { {{/if}} }); } - - {{#if @root.exportReactQueryHook}} - {{#equals method 'GET'}} - - /** - * Hook version using react-query - {{#if deprecated}} - * @deprecated - {{/if}} - {{#if summary}} - * {{{escapeComment summary}}} - {{/if}} - {{#if description}} - * {{{escapeComment description}}} - {{/if}} - {{#unless @root.useOptions}} - {{#if parameters}} - {{#each parameters}} - * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} - {{/each}} - {{/if}} - {{/unless}} - {{#each results}} - * @returns {{{type}}} {{#if description}}{{{escapeComment description}}}{{/if}} - {{/each}} - * @throws ApiError - */ - {{#if @root.exportClient}} - public use{{capitalise name}}({{>parameters}}){ - {{else}} - public static use{{capitalise name}}({{>parameters}}){ - {{/if}} - return useQuery({ - context: defaultContext, - queryKey: [ - {{>exportReactQueryHookKey}} - ], - queryFn: async () => { - return await this.{{{name}}}( - {{#each parameters}} - {{{name}}}, - {{/each}} - ); - }, - }); - } - - {{#if @root.exportClient}} - public use{{capitalise name}}QueryKey({{>parameters}}):string[]{ - {{else}} - public static use{{capitalise name}}QueryKey({{>parameters}}):string[]{ - {{/if}} - return [ - {{>exportReactQueryHookKey}} - ] - } - - {{/equals}} - {{/if}} - {{/each}} } diff --git a/src/templates/exportServiceQuery.hbs b/src/templates/exportServiceQuery.hbs new file mode 100644 index 000000000..c7a2c904f --- /dev/null +++ b/src/templates/exportServiceQuery.hbs @@ -0,0 +1,227 @@ +"use client" +{{>header}} + +{{#if @root.exportReactQueryHook}} +import { defaultContext, useQuery } from "@tanstack/react-query"; +{{/if}} +{{#equals @root.httpClient 'angular'}} +{{#if @root.exportClient}} +import { Injectable } from '@angular/core'; +import type { Observable } from 'rxjs'; +{{else}} +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import type { Observable } from 'rxjs'; +{{/if}} + +{{/equals}} +{{#if imports}} +{{#each imports}} +import type { {{{this}}} } from '../models/{{{this}}}'; +{{/each}} + +{{/if}} +{{#notEquals @root.httpClient 'angular'}} +import type { CancelablePromise } from '{{{coreLocationUpALevel}}}/CancelablePromise'; +{{/notEquals}} +{{#if @root.exportClient}} +{{#equals @root.httpClient 'angular'}} +import { BaseHttpRequest } from '{{{coreLocationUpALevel}}}/BaseHttpRequest'; +{{else}} +import type { BaseHttpRequest } from '{{{coreLocationUpALevel}}}/BaseHttpRequest'; +{{/equals}} +{{else}} +import { OpenAPI } from '{{{coreLocationUpALevel}}}/OpenAPI'; +import { request as __request } from '{{{coreLocationUpALevel}}}/request'; +{{/if}} + +{{#equals @root.httpClient 'angular'}} +@Injectable({ + providedIn: 'root', +}) +{{/equals}} +export class {{{name}}}{{{@root.postfix}}} { + {{#if @root.exportClient}} + {{#if @root.exportReactQueryHook}} + + constructor(public readonly httpRequest: BaseHttpRequest) { + {{#each operations}} + + this.{{{name}}} = this.{{{name}}}.bind(this) + {{#equals method 'GET'}} + this.use{{capitalise name}} = this.use{{capitalise name}}.bind(this) + {{/equals}} + {{/each}} + } + {{else}} + + constructor(public readonly httpRequest: BaseHttpRequest) {} + {{/if}} + {{else}} + {{#equals @root.httpClient 'angular'}} + + constructor(public readonly http: HttpClient) {} + {{/equals}} + {{/if}} + + {{#each operations}} + /** + {{#if deprecated}} + * @deprecated + {{/if}} + {{#if summary}} + * {{{escapeComment summary}}} + {{/if}} + {{#if description}} + * {{{escapeComment description}}} + {{/if}} + {{#unless @root.useOptions}} + {{#if parameters}} + {{#each parameters}} + * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + {{/if}} + {{/unless}} + {{#each results}} + * @returns {{{type}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + * @throws ApiError + */ + {{#if @root.exportClient}} + {{#equals @root.httpClient 'angular'}} + public {{{name}}}({{>parameters}}): Observable<{{>result}}> { + return this.httpRequest.request({ + {{else}} + public {{{name}}}({{>parameters}}): CancelablePromise<{{>result}}> { + return this.httpRequest.request({ + {{/equals}} + {{else}} + {{#equals @root.httpClient 'angular'}} + public {{{name}}}({{>parameters}}): Observable<{{>result}}> { + return __request(OpenAPI, this.http, { + {{else}} + public static {{{name}}}({{>parameters}}): CancelablePromise<{{>result}}> { + return __request(OpenAPI, { + {{/equals}} + {{/if}} + method: '{{{method}}}', + url: '{{{path}}}', + {{#if parametersPath}} + path: { + {{#each parametersPath}} + '{{{prop}}}': {{{name}}}, + {{/each}} + }, + {{/if}} + {{#if parametersCookie}} + cookies: { + {{#each parametersCookie}} + '{{{prop}}}': {{{name}}}, + {{/each}} + }, + {{/if}} + {{#if parametersHeader}} + headers: { + {{#each parametersHeader}} + '{{{prop}}}': {{{name}}}, + {{/each}} + }, + {{/if}} + {{#if parametersQuery}} + query: { + {{#each parametersQuery}} + '{{{prop}}}': {{{name}}}, + {{/each}} + }, + {{/if}} + {{#if parametersForm}} + formData: { + {{#each parametersForm}} + '{{{prop}}}': {{{name}}}, + {{/each}} + }, + {{/if}} + {{#if parametersBody}} + {{#equals parametersBody.in 'formData'}} + formData: {{{parametersBody.name}}}, + {{/equals}} + {{#equals parametersBody.in 'body'}} + body: {{{parametersBody.name}}}, + {{/equals}} + {{#if parametersBody.mediaType}} + mediaType: '{{{parametersBody.mediaType}}}', + {{/if}} + {{/if}} + {{#if responseHeader}} + responseHeader: '{{{responseHeader}}}', + {{/if}} + {{#if errors}} + errors: { + {{#each errors}} + {{{code}}}: `{{{escapeDescription description}}}`, + {{/each}} + }, + {{/if}} + }); + } + + {{#if @root.exportReactQueryHook}} + {{#equals method 'GET'}} + + /** + * Hook version using react-query + {{#if deprecated}} + * @deprecated + {{/if}} + {{#if summary}} + * {{{escapeComment summary}}} + {{/if}} + {{#if description}} + * {{{escapeComment description}}} + {{/if}} + {{#unless @root.useOptions}} + {{#if parameters}} + {{#each parameters}} + * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + {{/if}} + {{/unless}} + {{#each results}} + * @returns {{{type}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + * @throws ApiError + */ + {{#if @root.exportClient}} + public use{{capitalise name}}({{>parameters}}){ + {{else}} + public static use{{capitalise name}}({{>parameters}}){ + {{/if}} + return useQuery({ + context: defaultContext, + queryKey: [ + {{>exportReactQueryHookKey}} + ], + queryFn: async () => { + return await this.{{{name}}}( + {{#each parameters}} + {{{name}}}, + {{/each}} + ); + }, + }); + } + + {{#if @root.exportClient}} + public use{{capitalise name}}QueryKey({{>parameters}}):string[]{ + {{else}} + public static use{{capitalise name}}QueryKey({{>parameters}}):string[]{ + {{/if}} + return [ + {{>exportReactQueryHookKey}} + ] + } + + {{/equals}} + {{/if}} + {{/each}} +} diff --git a/src/utils/registerHandlebarTemplates.ts b/src/utils/registerHandlebarTemplates.ts index c59032cd9..abc935e2f 100644 --- a/src/utils/registerHandlebarTemplates.ts +++ b/src/utils/registerHandlebarTemplates.ts @@ -55,6 +55,7 @@ import xhrSendRequest from '../templates/core/xhr/sendRequest.hbs'; import templateExportModel from '../templates/exportModel.hbs'; import templateExportSchema from '../templates/exportSchema.hbs'; import templateExportService from '../templates/exportService.hbs'; +import templateQueryExportService from '../templates/exportServiceQuery.hbs'; import templateIndex from '../templates/index.hbs'; import partialBase from '../templates/partials/base.hbs'; import partialExportComposition from '../templates/partials/exportComposition.hbs'; @@ -93,6 +94,7 @@ export interface Templates { model: Handlebars.TemplateDelegate; schema: Handlebars.TemplateDelegate; service: Handlebars.TemplateDelegate; + serviceQuery: Handlebars.TemplateDelegate; }; core: { settings: Handlebars.TemplateDelegate; @@ -125,6 +127,7 @@ export const registerHandlebarTemplates = (root: { model: Handlebars.template(templateExportModel), schema: Handlebars.template(templateExportSchema), service: Handlebars.template(templateExportService), + serviceQuery: Handlebars.template(templateQueryExportService), }, core: { settings: Handlebars.template(templateCoreSettings), From 2584cd2f320edc3c3f1ff0314dbc9315d003a1b2 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 5 Oct 2023 15:27:42 +0100 Subject: [PATCH 47/70] Add version --- package-lock.json | 46 +++++++++++++++++++++++++++++----------------- package.json | 4 ++-- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0ec4f1ac8..f744215b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,6 @@ "version": "1.0.14", "license": "MIT", "dependencies": { - "@tanstack/react-query": "^4.24.6", "camelcase": "^6.3.0", "commander": "^9.4.1", "fs-extra": "^10.1.0", @@ -38,6 +37,7 @@ "@rollup/plugin-commonjs": "23.0.5", "@rollup/plugin-node-resolve": "15.0.1", "@rollup/plugin-typescript": "9.0.2", + "@tanstack/react-query": "^4.35.7", "@types/cross-spawn": "6.0.2", "@types/express": "4.17.15", "@types/fs-extra": "^9.0.13", @@ -4368,20 +4368,22 @@ } }, "node_modules/@tanstack/query-core": { - "version": "4.24.6", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.24.6.tgz", - "integrity": "sha512-Tfru6YTDTCpX7dKVwHp/sosw/dNjEdzrncduUjIkQxn7n7u+74HT2ZrGtwwrU6Orws4x7zp3FKRqBPWVVhpx9w==", + "version": "4.35.7", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.7.tgz", + "integrity": "sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==", + "dev": true, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "4.24.6", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.24.6.tgz", - "integrity": "sha512-pbJUVZCS4pcXS0kZiY+mVJ01ude0GrH5OXT2g9whcqSveRG/YVup/XdA9NdRpSMGkP2HxDRxxRNsTXkniWeIIA==", + "version": "4.35.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.35.7.tgz", + "integrity": "sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==", + "dev": true, "dependencies": { - "@tanstack/query-core": "4.24.6", + "@tanstack/query-core": "4.35.7", "use-sync-external-store": "^1.2.0" }, "funding": { @@ -11525,7 +11527,8 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", @@ -11894,6 +11897,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -14244,6 +14248,7 @@ "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, "peer": true, "dependencies": { "loose-envify": "^1.1.0" @@ -16271,6 +16276,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "dev": true, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -19981,16 +19987,18 @@ } }, "@tanstack/query-core": { - "version": "4.24.6", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.24.6.tgz", - "integrity": "sha512-Tfru6YTDTCpX7dKVwHp/sosw/dNjEdzrncduUjIkQxn7n7u+74HT2ZrGtwwrU6Orws4x7zp3FKRqBPWVVhpx9w==" + "version": "4.35.7", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.7.tgz", + "integrity": "sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==", + "dev": true }, "@tanstack/react-query": { - "version": "4.24.6", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.24.6.tgz", - "integrity": "sha512-pbJUVZCS4pcXS0kZiY+mVJ01ude0GrH5OXT2g9whcqSveRG/YVup/XdA9NdRpSMGkP2HxDRxxRNsTXkniWeIIA==", + "version": "4.35.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.35.7.tgz", + "integrity": "sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==", + "dev": true, "requires": { - "@tanstack/query-core": "4.24.6", + "@tanstack/query-core": "4.35.7", "use-sync-external-store": "^1.2.0" } }, @@ -25311,7 +25319,8 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "js-yaml": { "version": "3.14.1", @@ -25580,6 +25589,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "peer": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -27229,6 +27239,7 @@ "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, "peer": true, "requires": { "loose-envify": "^1.1.0" @@ -28765,6 +28776,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "dev": true, "requires": {} }, "util-deprecate": { diff --git a/package.json b/package.json index 1d41f2c8f..35c44a032 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "json-schema-ref-parser": "^9.0.9" }, "devDependencies": { - "@tanstack/react-query": "^4.24.6", + "@tanstack/react-query": "^4.35.7", "@angular-devkit/build-angular": "14.2.7", "@angular/animations": "14.2.8", "@angular/cli": "14.2.7", @@ -123,4 +123,4 @@ "overrides": { "rollup": "3.2.3" } -} +} \ No newline at end of file From 9188b53e233959b9cbc1c932a1565d3674615681 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 5 Oct 2023 15:27:48 +0100 Subject: [PATCH 48/70] 1.1.0 --- package-lock.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index f744215b3..463d6644f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.14", + "version": "1.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.14", + "version": "1.1.0", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index 35c44a032..0c0192540 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.0.14", + "version": "1.1.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { @@ -123,4 +123,4 @@ "overrides": { "rollup": "3.2.3" } -} \ No newline at end of file +} From 771856477842e47a7df9f03f189be04bfda425a1 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 5 Oct 2023 16:43:38 +0100 Subject: [PATCH 49/70] Fix query client --- src/templates/client.hbs | 7 ++++++- src/templates/exportService.hbs | 2 ++ src/templates/exportServiceQuery.hbs | 2 +- src/utils/writeClient.spec.ts | 1 + src/utils/writeClient.ts | 10 +++++++--- src/utils/writeClientClass.spec.ts | 4 +++- src/utils/writeClientClass.ts | 6 +++--- src/utils/writeClientCore.spec.ts | 1 + src/utils/writeClientIndex.spec.ts | 4 +++- src/utils/writeClientIndex.ts | 2 ++ src/utils/writeClientModels.spec.ts | 13 ++++++++++++- src/utils/writeClientModels.ts | 4 +++- src/utils/writeClientSchemas.spec.ts | 13 ++++++++++++- src/utils/writeClientSchemas.ts | 4 +++- src/utils/writeClientServices.spec.ts | 1 + src/utils/writeClientServices.ts | 17 +++++++++++++++++ 16 files changed, 77 insertions(+), 14 deletions(-) diff --git a/src/templates/client.hbs b/src/templates/client.hbs index 1a43453d4..2813c556b 100644 --- a/src/templates/client.hbs +++ b/src/templates/client.hbs @@ -18,10 +18,12 @@ import { {{{httpRequest}}} } from '{{{coreLocationSameLevel}}}/{{{httpRequest}}} {{#each services}} import { {{{name}}}{{{@root.postfix}}} } from './services/{{{name}}}{{{@root.postfix}}}'; {{/each}} +{{#if @root.exportReactQueryHook}} {{#each services}} import { {{{name}}}Query{{{@root.postfix}}} } from './services/{{{name}}}Query{{{@root.postfix}}}'; {{/each}} {{/if}} +{{/if}} {{#equals @root.httpClient 'angular'}} @NgModule({ @@ -60,9 +62,11 @@ export class {{{clientName}}} { public readonly {{{camelCase name}}}: {{{name}}}{{{@root.postfix}}}; {{/each}} + {{#if @root.exportReactQueryHook}} {{#each services}} public readonly {{{camelCase name}}}Query: {{{name}}}Query{{{@root.postfix}}}; {{/each}} + {{/if}} public readonly request: BaseHttpRequest; constructor(config?: Partial, HttpRequest: HttpRequestConstructor = {{{httpRequest}}}) { @@ -81,10 +85,11 @@ export class {{{clientName}}} { {{#each services}} this.{{{camelCase name}}} = new {{{name}}}{{{@root.postfix}}}(this.request); {{/each}} - + {{#if @root.exportReactQueryHook}} {{#each services}} this.{{{camelCase name}}}Query = new {{{name}}}Query{{{@root.postfix}}}(this.request); {{/each}} + {{/if}} } } {{/equals}} diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 5bb0ba993..dbad8f4bb 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -46,6 +46,7 @@ export class {{{name}}}{{{@root.postfix}}} { {{#each operations}} this.{{{name}}} = this.{{{name}}}.bind(this) + {{/each}} } {{else}} @@ -159,4 +160,5 @@ export class {{{name}}}{{{@root.postfix}}} { {{/if}} }); } + {{/each}} } diff --git a/src/templates/exportServiceQuery.hbs b/src/templates/exportServiceQuery.hbs index c7a2c904f..5f39b5c60 100644 --- a/src/templates/exportServiceQuery.hbs +++ b/src/templates/exportServiceQuery.hbs @@ -40,7 +40,7 @@ import { request as __request } from '{{{coreLocationUpALevel}}}/request'; providedIn: 'root', }) {{/equals}} -export class {{{name}}}{{{@root.postfix}}} { +export class {{{name}}}Query{{{@root.postfix}}} { {{#if @root.exportClient}} {{#if @root.exportReactQueryHook}} diff --git a/src/utils/writeClient.spec.ts b/src/utils/writeClient.spec.ts index 3877b53ff..faa455c70 100644 --- a/src/utils/writeClient.spec.ts +++ b/src/utils/writeClient.spec.ts @@ -23,6 +23,7 @@ describe('writeClient', () => { model: () => 'model', schema: () => 'schema', service: () => 'service', + serviceQuery: () => 'serviceQuery', }, core: { settings: () => 'settings', diff --git a/src/utils/writeClient.ts b/src/utils/writeClient.ts index 5ef61b495..8be866b67 100644 --- a/src/utils/writeClient.ts +++ b/src/utils/writeClient.ts @@ -102,7 +102,8 @@ export const writeClient = async ( useUnionTypes, indent, coreLocationSameLevel, - coreLocationUpALevel + coreLocationUpALevel, + exportReactQueryHook ); } @@ -117,7 +118,8 @@ export const writeClient = async ( useUnionTypes, indent, coreLocationSameLevel, - coreLocationUpALevel + coreLocationUpALevel, + exportReactQueryHook ); } @@ -132,7 +134,8 @@ export const writeClient = async ( indent, postfixServices, coreLocationSameLevel, - coreLocationUpALevel + coreLocationUpALevel, + exportReactQueryHook ); } @@ -151,6 +154,7 @@ export const writeClient = async ( postfixModels, coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, clientName ); } diff --git a/src/utils/writeClientClass.spec.ts b/src/utils/writeClientClass.spec.ts index 1e5276e52..097523c53 100644 --- a/src/utils/writeClientClass.spec.ts +++ b/src/utils/writeClientClass.spec.ts @@ -23,6 +23,7 @@ describe('writeClientClass', () => { model: () => 'model', schema: () => 'schema', service: () => 'service', + serviceQuery: () => 'serviceQuery', }, core: { settings: () => 'settings', @@ -45,7 +46,8 @@ describe('writeClientClass', () => { Indent.SPACE_4, '', '../core', - './core' + './core', + false ); expect(writeFile).toBeCalled(); diff --git a/src/utils/writeClientClass.ts b/src/utils/writeClientClass.ts index d07ee3557..dc39f5a27 100644 --- a/src/utils/writeClientClass.ts +++ b/src/utils/writeClientClass.ts @@ -34,7 +34,8 @@ export const writeClientClass = async ( indent: Indent, postfix: string, coreLocationSameLevel: string, - coreLocationUpALevel: string + coreLocationUpALevel: string, + exportReactQueryHook: boolean ): Promise => { const templateResult = templates.client({ clientName, @@ -47,10 +48,9 @@ export const writeClientClass = async ( httpRequest: getHttpRequestName(httpClient), coreLocationSameLevel, coreLocationUpALevel, - exportReactQueryHook: true, + exportReactQueryHook, reactQueryKeys: 'pathssss', reactQueryHookName: `use--SOOOMMMEEETTTJJHJIOIUJDFData`, }); - await writeFile(resolve(outputPath, `${clientName}.ts`), i(f(templateResult), indent)); }; diff --git a/src/utils/writeClientCore.spec.ts b/src/utils/writeClientCore.spec.ts index 36990054e..847cd5191 100644 --- a/src/utils/writeClientCore.spec.ts +++ b/src/utils/writeClientCore.spec.ts @@ -25,6 +25,7 @@ describe('writeClientCore', () => { model: () => 'model', schema: () => 'schema', service: () => 'service', + serviceQuery: () => 'serviceQuery', }, core: { settings: () => 'settings', diff --git a/src/utils/writeClientIndex.spec.ts b/src/utils/writeClientIndex.spec.ts index b2d8eb37c..0c18b8d74 100644 --- a/src/utils/writeClientIndex.spec.ts +++ b/src/utils/writeClientIndex.spec.ts @@ -21,6 +21,7 @@ describe('writeClientIndex', () => { model: () => 'model', schema: () => 'schema', service: () => 'service', + serviceQuery: () => 'serviceQuery', }, core: { settings: () => 'settings', @@ -46,7 +47,8 @@ describe('writeClientIndex', () => { 'Service', '../core', './core', - '' + '', + false ); expect(writeFile).toBeCalledWith('/index.ts', 'index'); diff --git a/src/utils/writeClientIndex.ts b/src/utils/writeClientIndex.ts index 78e14cbbc..25baa2774 100644 --- a/src/utils/writeClientIndex.ts +++ b/src/utils/writeClientIndex.ts @@ -38,6 +38,7 @@ export const writeClientIndex = async ( postfixModels: string, coreLocationSameLevel: string, coreLocationUpALevel: string, + exportReactQueryHook: boolean, clientName?: string ): Promise => { const templateResult = templates.index({ @@ -56,6 +57,7 @@ export const writeClientIndex = async ( exportClient: isDefined(clientName), coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, }); await writeFile(resolve(outputPath, 'index.ts'), templateResult); diff --git a/src/utils/writeClientModels.spec.ts b/src/utils/writeClientModels.spec.ts index 53d45f127..73e9c4500 100644 --- a/src/utils/writeClientModels.spec.ts +++ b/src/utils/writeClientModels.spec.ts @@ -38,6 +38,7 @@ describe('writeClientModels', () => { model: () => 'model', schema: () => 'schema', service: () => 'service', + serviceQuery: () => 'serviceQuery', }, core: { settings: () => 'settings', @@ -51,7 +52,17 @@ describe('writeClientModels', () => { }, }; - await writeClientModels(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core', './core'); + await writeClientModels( + models, + templates, + '/', + HttpClient.FETCH, + false, + Indent.SPACE_4, + '../core', + './core', + false + ); expect(writeFile).toBeCalledWith('/User.ts', `model${EOL}`); }); diff --git a/src/utils/writeClientModels.ts b/src/utils/writeClientModels.ts index 3cb708c5a..51f5d7b2a 100644 --- a/src/utils/writeClientModels.ts +++ b/src/utils/writeClientModels.ts @@ -27,7 +27,8 @@ export const writeClientModels = async ( useUnionTypes: boolean, indent: Indent, coreLocationSameLevel: string, - coreLocationUpALevel: string + coreLocationUpALevel: string, + exportReactQueryHook: boolean ): Promise => { for (const model of models) { const file = resolve(outputPath, `${model.name}.ts`); @@ -37,6 +38,7 @@ export const writeClientModels = async ( useUnionTypes, coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/src/utils/writeClientSchemas.spec.ts b/src/utils/writeClientSchemas.spec.ts index 47a4f1180..a0d89a70b 100644 --- a/src/utils/writeClientSchemas.spec.ts +++ b/src/utils/writeClientSchemas.spec.ts @@ -38,6 +38,7 @@ describe('writeClientSchemas', () => { model: () => 'model', schema: () => 'schema', service: () => 'service', + serviceQuery: () => 'serviceQuery', }, core: { settings: () => 'settings', @@ -51,7 +52,17 @@ describe('writeClientSchemas', () => { }, }; - await writeClientSchemas(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4, '../core', './core'); + await writeClientSchemas( + models, + templates, + '/', + HttpClient.FETCH, + false, + Indent.SPACE_4, + '../core', + './core', + false + ); expect(writeFile).toBeCalledWith('/$User.ts', `schema${EOL}`); }); diff --git a/src/utils/writeClientSchemas.ts b/src/utils/writeClientSchemas.ts index 3b1037bcc..d2f496478 100644 --- a/src/utils/writeClientSchemas.ts +++ b/src/utils/writeClientSchemas.ts @@ -27,7 +27,8 @@ export const writeClientSchemas = async ( useUnionTypes: boolean, indent: Indent, coreLocationSameLevel: string, - coreLocationUpALevel: string + coreLocationUpALevel: string, + exportReactQueryHook: boolean ): Promise => { for (const model of models) { const file = resolve(outputPath, `$${model.name}.ts`); @@ -37,6 +38,7 @@ export const writeClientSchemas = async ( useUnionTypes, coreLocationSameLevel, coreLocationUpALevel, + exportReactQueryHook, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/src/utils/writeClientServices.spec.ts b/src/utils/writeClientServices.spec.ts index b17d597fb..5a35ef74c 100644 --- a/src/utils/writeClientServices.spec.ts +++ b/src/utils/writeClientServices.spec.ts @@ -26,6 +26,7 @@ describe('writeClientServices', () => { model: () => 'model', schema: () => 'schema', service: () => 'service', + serviceQuery: () => 'serviceQuery', }, core: { settings: () => 'settings', diff --git a/src/utils/writeClientServices.ts b/src/utils/writeClientServices.ts index f6a727384..82d98e498 100644 --- a/src/utils/writeClientServices.ts +++ b/src/utils/writeClientServices.ts @@ -52,4 +52,21 @@ export const writeClientServices = async ( }); await writeFile(file, i(f(templateResult), indent)); } + if (exportReactQueryHook) { + for (const service of services) { + const file = resolve(outputPath, `${service.name}Query${postfix}.ts`); + const templateResult = templates.exports.serviceQuery({ + ...service, + httpClient, + useUnionTypes, + useOptions, + postfix, + exportClient: isDefined(clientName), + coreLocationSameLevel, + coreLocationUpALevel, + exportReactQueryHook, + }); + await writeFile(file, i(f(templateResult), indent)); + } + } }; From 6e49aee7278c812cc4c8f1cb570682a0f8f32087 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Thu, 5 Oct 2023 16:43:51 +0100 Subject: [PATCH 50/70] 1.1.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 463d6644f..0050caf3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.1.0", + "version": "1.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.1.0", + "version": "1.1.1", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index 0c0192540..d70c4dc86 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.1.0", + "version": "1.1.1", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 670671604be612a2410bb83d5b2ad46aad2c99fa Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 31 Oct 2023 11:54:39 +0000 Subject: [PATCH 51/70] Add query as objects --- rollup.config.mjs | 1 + src/index.ts | 5 +- src/templates/exportService.hbs | 19 + src/templates/exportServiceQuery.hbs | 19 + src/templates/partials/parameters.hbs | 16 +- src/utils/registerHandlebarHelpers.ts | 8 + src/utils/writeClient.ts | 6 +- src/utils/writeClientServices.ts | 5 +- test/__snapshots__/index.spec.ts.snap | 8113 ++++++++++++++++++++- test/index.spec.ts | 24 + test/spec/changeQueryParametersToObj.yaml | 40 + types/index.d.ts | 1 + 12 files changed, 7884 insertions(+), 373 deletions(-) create mode 100644 test/spec/changeQueryParametersToObj.yaml diff --git a/rollup.config.mjs b/rollup.config.mjs index f336c2be2..35ac148ce 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -40,6 +40,7 @@ const handlebarsPlugin = () => ({ escapeDescription: true, camelCase: true, capitalise: true, + parametersQueryIsNotRequired: true, }, }); return `export default ${templateSpec};`; diff --git a/src/index.ts b/src/index.ts index d4288ee53..c7ab2da2a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -35,6 +35,7 @@ export type Options = { request?: string; write?: boolean; coreLocation?: string; + queryAsObject?: boolean; }; /** @@ -77,6 +78,7 @@ export const generate = async ({ write = true, coreLocation = undefined, exportReactQueryHook = false, + queryAsObject = false, }: Options): Promise => { const openApi = isString(input) ? await getOpenApiSpec(input) : input; const openApiVersion = getOpenApiVersion(openApi); @@ -147,7 +149,8 @@ export const generate = async ({ coreLocationUpALevel, exportReactQueryHook, clientName, - request + request, + queryAsObject ); break; } diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index dbad8f4bb..23891ccca 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -73,10 +73,25 @@ export class {{{name}}}{{{@root.postfix}}} { {{/if}} {{#unless @root.useOptions}} {{#if parameters}} + {{#if @root.queryAsObject}} + {{#each parameters}} + {{#notEquals in 'query'}} + * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/notEquals}} + {{/each}} + {{#if parametersQuery}} + * queryObj = { + {{#each parametersQuery}} + * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + * } + {{/if}} + {{else}} {{#each parameters}} * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} {{/each}} {{/if}} + {{/if}} {{/unless}} {{#each results}} * @returns {{{type}}} {{#if description}}{{{escapeComment description}}}{{/if}} @@ -124,12 +139,16 @@ export class {{{name}}}{{{@root.postfix}}} { }, {{/if}} {{#if parametersQuery}} + {{#if @root.queryAsObject}} + query: queryObj, + {{else}} query: { {{#each parametersQuery}} '{{{prop}}}': {{{name}}}, {{/each}} }, {{/if}} + {{/if}} {{#if parametersForm}} formData: { {{#each parametersForm}} diff --git a/src/templates/exportServiceQuery.hbs b/src/templates/exportServiceQuery.hbs index 5f39b5c60..e71ea9cb7 100644 --- a/src/templates/exportServiceQuery.hbs +++ b/src/templates/exportServiceQuery.hbs @@ -77,10 +77,25 @@ export class {{{name}}}Query{{{@root.postfix}}} { {{/if}} {{#unless @root.useOptions}} {{#if parameters}} + {{#if @root.queryAsObject}} + {{#each parameters}} + {{#notEquals in 'query'}} + * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/notEquals}} + {{/each}} + {{#if parametersQuery}} + * queryObj = { + {{#each parametersQuery}} + * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} + {{/each}} + * } + {{/if}} + {{else}} {{#each parameters}} * @param {{{name}}} {{#if description}}{{{escapeComment description}}}{{/if}} {{/each}} {{/if}} + {{/if}} {{/unless}} {{#each results}} * @returns {{{type}}} {{#if description}}{{{escapeComment description}}}{{/if}} @@ -128,12 +143,16 @@ export class {{{name}}}Query{{{@root.postfix}}} { }, {{/if}} {{#if parametersQuery}} + {{#if @root.queryAsObject}} + query: queryObj, + {{else}} query: { {{#each parametersQuery}} '{{{prop}}}': {{{name}}}, {{/each}} }, {{/if}} + {{/if}} {{#if parametersForm}} formData: { {{#each parametersForm}} diff --git a/src/templates/partials/parameters.hbs b/src/templates/partials/parameters.hbs index 57ab5a7d1..a5a747e1c 100644 --- a/src/templates/partials/parameters.hbs +++ b/src/templates/partials/parameters.hbs @@ -20,9 +20,23 @@ {{/each}} } {{~else}} - +{{#if @root.queryAsObject}} {{#each parameters}} +{{#notEquals in 'query'}} {{{name}}}{{>isRequired}}: {{>type}}{{#if default}} = {{{default}}}{{/if}}, +{{/notEquals}} {{/each}} +{{#if parametersQuery}} +queryObj{{#parametersQueryIsNotRequired parametersQuery}}?{{/parametersQueryIsNotRequired}}:{ +{{#each parametersQuery}} +{{{name}}}{{>isRequired}}: {{>type}}{{#if default}} = {{{default}}}{{/if}}, +{{/each}} +}, +{{/if}} +{{else}} +{{#each parameters}} +{{{name}}}{{>isRequired}}: {{>type}}{{#if default}} = {{{default}}}{{/if}}, +{{/each}} +{{/if}} {{/if}} {{/if}} diff --git a/src/utils/registerHandlebarHelpers.ts b/src/utils/registerHandlebarHelpers.ts index a02e11a68..cf6b3ebaa 100644 --- a/src/utils/registerHandlebarHelpers.ts +++ b/src/utils/registerHandlebarHelpers.ts @@ -6,6 +6,7 @@ import type { Enum } from '../client/interfaces/Enum'; import type { Model } from '../client/interfaces/Model'; import type { HttpClient } from '../HttpClient'; import { unique } from './unique'; +import { OperationParameter } from '../client/interfaces/OperationParameter'; export const registerHandlebarHelpers = (root: { httpClient: HttpClient; @@ -108,4 +109,11 @@ export const registerHandlebarHelpers = (root: { Handlebars.registerHelper('capitalise', function (value: string): string { return value.charAt(0).toUpperCase() + value.substring(1); }); + + Handlebars.registerHelper( + 'parametersQueryIsNotRequired', + function (this: any, params: OperationParameter[], options: Handlebars.HelperOptions): string { + return params.every(p => !p.isRequired) ? options.fn(this) : options.inverse(this); + } + ); }; diff --git a/src/utils/writeClient.ts b/src/utils/writeClient.ts index 8be866b67..94227471f 100644 --- a/src/utils/writeClient.ts +++ b/src/utils/writeClient.ts @@ -54,7 +54,8 @@ export const writeClient = async ( coreLocationUpALevel: string, exportReactQueryHook: boolean, clientName?: string, - request?: string + request?: string, + queryAsObject?: boolean ): Promise => { const outputPath = resolve(process.cwd(), output); const outputPathCore = resolve(outputPath, 'core'); @@ -87,7 +88,8 @@ export const writeClient = async ( coreLocationSameLevel, coreLocationUpALevel, exportReactQueryHook, - clientName + clientName, + queryAsObject ); } diff --git a/src/utils/writeClientServices.ts b/src/utils/writeClientServices.ts index 82d98e498..a46575249 100644 --- a/src/utils/writeClientServices.ts +++ b/src/utils/writeClientServices.ts @@ -35,7 +35,8 @@ export const writeClientServices = async ( coreLocationSameLevel: string, coreLocationUpALevel: string, exportReactQueryHook: boolean, - clientName?: string + clientName?: string, + queryAsObject?: boolean ): Promise => { for (const service of services) { const file = resolve(outputPath, `${service.name}${postfix}.ts`); @@ -49,6 +50,7 @@ export const writeClientServices = async ( coreLocationSameLevel, coreLocationUpALevel, exportReactQueryHook, + queryAsObject, }); await writeFile(file, i(f(templateResult), indent)); } @@ -65,6 +67,7 @@ export const writeClientServices = async ( coreLocationSameLevel, coreLocationUpALevel, exportReactQueryHook, + queryAsObject, }); await writeFile(file, i(f(templateResult), indent)); } diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index a01f25ab1..0938f8d7c 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`v2 should generate: test/generated/v2/core/ApiError.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/core/ApiError.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -29,7 +29,7 @@ export class ApiError extends Error { " `; -exports[`v2 should generate: test/generated/v2/core/ApiRequestOptions.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/core/ApiRequestOptions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -50,7 +50,7 @@ export type ApiRequestOptions = { " `; -exports[`v2 should generate: test/generated/v2/core/ApiResult.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/core/ApiResult.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -65,7 +65,7 @@ export type ApiResult = { " `; -exports[`v2 should generate: test/generated/v2/core/CancelablePromise.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/core/CancelablePromise.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -200,7 +200,7 @@ export class CancelablePromise implements Promise { " `; -exports[`v2 should generate: test/generated/v2/core/OpenAPI.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/core/OpenAPI.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -236,7 +236,7 @@ export const OpenAPI: OpenAPIConfig = { " `; -exports[`v2 should generate: test/generated/v2/core/request.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/core/request.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -560,7 +560,7 @@ export const request = (config: OpenAPIConfig, options: ApiRequestOptions): C " `; -exports[`v2 should generate: test/generated/v2/index.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/index.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -687,7 +687,7 @@ export { TypesService } from './services/TypesService'; " `; -exports[`v2 should generate: test/generated/v2/models/_default.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/_default.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -699,7 +699,7 @@ export type _default = { " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithArray.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ArrayWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -712,7 +712,7 @@ export type ArrayWithArray = Array>; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithBooleans.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ArrayWithBooleans.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -724,7 +724,7 @@ export type ArrayWithBooleans = Array; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithNumbers.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ArrayWithNumbers.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -736,7 +736,7 @@ export type ArrayWithNumbers = Array; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ArrayWithProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -751,7 +751,7 @@ export type ArrayWithProperties = Array<{ " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithReferences.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ArrayWithReferences.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -764,7 +764,7 @@ export type ArrayWithReferences = Array; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithStrings.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ArrayWithStrings.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -776,7 +776,7 @@ export type ArrayWithStrings = Array; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithBackticks.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/CommentWithBackticks.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -788,7 +788,7 @@ export type CommentWithBackticks = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithBreaks.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/CommentWithBreaks.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -803,7 +803,7 @@ export type CommentWithBreaks = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithExpressionPlaceholders.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/CommentWithExpressionPlaceholders.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -815,7 +815,7 @@ export type CommentWithExpressionPlaceholders = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithQuotes.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/CommentWithQuotes.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -827,7 +827,7 @@ export type CommentWithQuotes = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithReservedCharacters.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/CommentWithReservedCharacters.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -839,7 +839,7 @@ export type CommentWithReservedCharacters = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithSlashes.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/CommentWithSlashes.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -851,7 +851,7 @@ export type CommentWithSlashes = number; " `; -exports[`v2 should generate: test/generated/v2/models/Date.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/Date.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -863,7 +863,7 @@ export type Date = string; " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithArray.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -876,7 +876,7 @@ export type DictionaryWithArray = Record>; " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithDictionary.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -888,7 +888,7 @@ export type DictionaryWithDictionary = Record>; " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -903,7 +903,7 @@ export type DictionaryWithProperties = Record; " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -928,7 +928,7 @@ export type DictionaryWithString = Record; " `; -exports[`v2 should generate: test/generated/v2/models/EnumFromDescription.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/EnumFromDescription.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -940,7 +940,7 @@ export type EnumFromDescription = number; " `; -exports[`v2 should generate: test/generated/v2/models/EnumWithExtensions.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/EnumWithExtensions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -965,7 +965,7 @@ export enum EnumWithExtensions { " `; -exports[`v2 should generate: test/generated/v2/models/EnumWithNumbers.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/EnumWithNumbers.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -993,7 +993,7 @@ export enum EnumWithNumbers { " `; -exports[`v2 should generate: test/generated/v2/models/EnumWithStrings.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/EnumWithStrings.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1011,7 +1011,7 @@ export enum EnumWithStrings { " `; -exports[`v2 should generate: test/generated/v2/models/ModelThatExtends.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelThatExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1028,7 +1028,7 @@ export type ModelThatExtends = (ModelWithString & { " `; -exports[`v2 should generate: test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1046,7 +1046,7 @@ export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithArray.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1064,7 +1064,7 @@ export type ModelWithArray = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithBoolean.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithBoolean.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1082,7 +1082,7 @@ export type ModelWithBoolean = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithCircularReference.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithCircularReference.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1097,7 +1097,7 @@ export type ModelWithCircularReference = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithDictionary.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1112,7 +1112,7 @@ export type ModelWithDictionary = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateImports.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithDuplicateImports.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1130,7 +1130,7 @@ export type ModelWithDuplicateImports = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithDuplicateProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1146,7 +1146,7 @@ export type ModelWithDuplicateProperties = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithEnum.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithEnum.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1193,7 +1193,7 @@ export namespace ModelWithEnum { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithEnumFromDescription.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithEnumFromDescription.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1211,7 +1211,7 @@ export type ModelWithEnumFromDescription = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithInteger.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithInteger.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1229,7 +1229,7 @@ export type ModelWithInteger = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithNestedEnums.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithNestedEnums.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1247,7 +1247,7 @@ export type ModelWithNestedEnums = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithNestedProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithNestedProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1266,7 +1266,7 @@ export type ModelWithNestedProperties = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithNullableString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithNullableString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1288,7 +1288,7 @@ export type ModelWithNullableString = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithOrderedProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithOrderedProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1305,7 +1305,7 @@ export type ModelWithOrderedProperties = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithPattern.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithPattern.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1326,7 +1326,7 @@ export type ModelWithPattern = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1352,7 +1352,7 @@ export type ModelWithProperties = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithReference.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithReference.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1368,7 +1368,7 @@ export type ModelWithReference = { " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/ModelWithString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1386,7 +1386,7 @@ export type ModelWithString = { " `; -exports[`v2 should generate: test/generated/v2/models/SimpleBoolean.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/SimpleBoolean.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1398,7 +1398,7 @@ export type SimpleBoolean = boolean; " `; -exports[`v2 should generate: test/generated/v2/models/SimpleFile.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/SimpleFile.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1410,7 +1410,7 @@ export type SimpleFile = Blob; " `; -exports[`v2 should generate: test/generated/v2/models/SimpleInteger.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/SimpleInteger.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1422,7 +1422,7 @@ export type SimpleInteger = number; " `; -exports[`v2 should generate: test/generated/v2/models/SimpleReference.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/SimpleReference.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1435,7 +1435,7 @@ export type SimpleReference = ModelWithString; " `; -exports[`v2 should generate: test/generated/v2/models/SimpleString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/SimpleString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1447,7 +1447,7 @@ export type SimpleString = string; " `; -exports[`v2 should generate: test/generated/v2/models/SimpleStringWithPattern.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/models/SimpleStringWithPattern.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1459,7 +1459,7 @@ export type SimpleStringWithPattern = string; " `; -exports[`v2 should generate: test/generated/v2/schemas/$_default.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$_default.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1474,7 +1474,7 @@ export const $_default = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithArray.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1491,7 +1491,7 @@ export const $ArrayWithArray = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithBooleans.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithBooleans.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1505,7 +1505,7 @@ export const $ArrayWithBooleans = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithNumbers.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithNumbers.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1519,7 +1519,7 @@ export const $ArrayWithNumbers = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1540,7 +1540,7 @@ export const $ArrayWithProperties = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithReferences.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithReferences.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1554,7 +1554,7 @@ export const $ArrayWithReferences = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithStrings.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithStrings.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1568,7 +1568,7 @@ export const $ArrayWithStrings = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBackticks.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithBackticks.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1580,7 +1580,7 @@ export const $CommentWithBackticks = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBreaks.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithBreaks.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1594,7 +1594,7 @@ export const $CommentWithBreaks = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1606,7 +1606,7 @@ export const $CommentWithExpressionPlaceholders = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithQuotes.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithQuotes.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1618,7 +1618,7 @@ export const $CommentWithQuotes = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithReservedCharacters.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithReservedCharacters.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1630,7 +1630,7 @@ export const $CommentWithReservedCharacters = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithSlashes.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithSlashes.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1642,7 +1642,7 @@ export const $CommentWithSlashes = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$Date.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$Date.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1654,7 +1654,7 @@ export const $Date = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithArray.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1671,7 +1671,7 @@ export const $DictionaryWithArray = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithDictionary.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1688,7 +1688,7 @@ export const $DictionaryWithDictionary = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1709,7 +1709,7 @@ export const $DictionaryWithProperties = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithReference.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithReference.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1723,7 +1723,7 @@ export const $DictionaryWithReference = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1737,7 +1737,7 @@ export const $DictionaryWithString = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumFromDescription.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$EnumFromDescription.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1749,7 +1749,7 @@ export const $EnumFromDescription = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithExtensions.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithExtensions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1760,7 +1760,7 @@ export const $EnumWithExtensions = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithNumbers.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithNumbers.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1771,7 +1771,7 @@ export const $EnumWithNumbers = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithStrings.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithStrings.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1782,7 +1782,7 @@ export const $EnumWithStrings = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtends.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelThatExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1806,7 +1806,7 @@ export const $ModelThatExtends = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtendsExtends.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelThatExtendsExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1832,7 +1832,7 @@ export const $ModelThatExtendsExtends = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithArray.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1863,7 +1863,7 @@ export const $ModelWithArray = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithBoolean.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithBoolean.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1880,7 +1880,7 @@ export const $ModelWithBoolean = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithCircularReference.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithCircularReference.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1896,7 +1896,7 @@ export const $ModelWithCircularReference = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDictionary.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1915,7 +1915,7 @@ export const $ModelWithDictionary = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateImports.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDuplicateImports.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1937,7 +1937,7 @@ export const $ModelWithDuplicateImports = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDuplicateProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1953,7 +1953,7 @@ export const $ModelWithDuplicateProperties = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnum.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithEnum.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1976,7 +1976,7 @@ export const $ModelWithEnum = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithEnumFromDescription.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -1993,7 +1993,7 @@ export const $ModelWithEnumFromDescription = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithInteger.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithInteger.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2010,7 +2010,7 @@ export const $ModelWithInteger = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedEnums.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNestedEnums.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2049,7 +2049,7 @@ export const $ModelWithNestedEnums = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNestedProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2079,7 +2079,7 @@ export const $ModelWithNestedProperties = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNullableString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNullableString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2103,7 +2103,7 @@ export const $ModelWithNullableString = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithOrderedProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithOrderedProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2125,7 +2125,7 @@ export const $ModelWithOrderedProperties = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithPattern.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithPattern.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2170,7 +2170,7 @@ export const $ModelWithPattern = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithProperties.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2221,7 +2221,7 @@ export const $ModelWithProperties = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithReference.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithReference.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2237,7 +2237,7 @@ export const $ModelWithReference = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2254,7 +2254,7 @@ export const $ModelWithString = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleBoolean.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleBoolean.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2266,7 +2266,7 @@ export const $SimpleBoolean = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleFile.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleFile.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2278,7 +2278,7 @@ export const $SimpleFile = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleInteger.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleInteger.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2290,7 +2290,7 @@ export const $SimpleInteger = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleReference.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleReference.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2302,7 +2302,7 @@ export const $SimpleReference = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleString.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2314,7 +2314,7 @@ export const $SimpleString = { " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleStringWithPattern.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleStringWithPattern.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2328,7 +2328,7 @@ export const $SimpleStringWithPattern = { " `; -exports[`v2 should generate: test/generated/v2/services/CollectionFormatService.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/services/CollectionFormatService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2345,30 +2345,29 @@ export class CollectionFormatService { * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) * @throws ApiError */ - public static collectionFormat( - parameterArrayCsv: Array, - parameterArraySsv: Array, - parameterArrayTsv: Array, - parameterArrayPipes: Array, - parameterArrayMulti: Array, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/collectionFormat', - query: { - 'parameterArrayCSV': parameterArrayCsv, - 'parameterArraySSV': parameterArraySsv, - 'parameterArrayTSV': parameterArrayTsv, - 'parameterArrayPipes': parameterArrayPipes, - 'parameterArrayMulti': parameterArrayMulti, - }, - }); - } + public static collectionFormat(parameterArrayCsv: Array, + parameterArraySsv: Array, + parameterArrayTsv: Array, + parameterArrayPipes: Array, + parameterArrayMulti: Array, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/collectionFormat', + query: { + 'parameterArrayCSV': parameterArrayCsv, + 'parameterArraySSV': parameterArraySsv, + 'parameterArrayTSV': parameterArrayTsv, + 'parameterArrayPipes': parameterArrayPipes, + 'parameterArrayMulti': parameterArrayMulti, + }, + }); +} } " `; -exports[`v2 should generate: test/generated/v2/services/ComplexService.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/services/ComplexService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2384,34 +2383,33 @@ export class ComplexService { * @returns ModelWithString Successful response * @throws ApiError */ - public static complexTypes( - parameterObject: { - first?: { - second?: { - third?: string; - }; + public static complexTypes(parameterObject: { + first?: { + second?: { + third?: string; }; + }; + }, + parameterReference: ModelWithString, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/complex', + query: { + 'parameterObject': parameterObject, + 'parameterReference': parameterReference, }, - parameterReference: ModelWithString, - ): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/complex', - query: { - 'parameterObject': parameterObject, - 'parameterReference': parameterReference, - }, - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); +} } " `; -exports[`v2 should generate: test/generated/v2/services/DefaultService.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/services/DefaultService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2433,7 +2431,7 @@ export class DefaultService { " `; -exports[`v2 should generate: test/generated/v2/services/DefaultsService.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/services/DefaultsService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2451,97 +2449,94 @@ export class DefaultsService { * @param parameterModel This is a simple model with default value * @throws ApiError */ - public static callWithDefaultParameters( - parameterString: string = 'Hello World!', - parameterNumber: number = 123, - parameterBoolean: boolean = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString = { - "prop": "Hello World!" + public static callWithDefaultParameters(parameterString: string = 'Hello World!', + parameterNumber: number = 123, + parameterBoolean: boolean = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString = { + "prop": "Hello World!" + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - /** - * @param parameterString This is a simple string that is optional with default value - * @param parameterNumber This is a simple number that is optional with default value - * @param parameterBoolean This is a simple boolean that is optional with default value - * @param parameterEnum This is a simple enum that is optional with default value - * @param parameterModel This is a simple model that is optional with default value - * @throws ApiError - */ - public static callWithDefaultOptionalParameters( - parameterString: string = 'Hello World!', - parameterNumber: number = 123, - parameterBoolean: boolean = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString = { - "prop": "Hello World!" + }); +} +/** + * @param parameterString This is a simple string that is optional with default value + * @param parameterNumber This is a simple number that is optional with default value + * @param parameterBoolean This is a simple boolean that is optional with default value + * @param parameterEnum This is a simple enum that is optional with default value + * @param parameterModel This is a simple model that is optional with default value + * @throws ApiError + */ +public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', +parameterNumber: number = 123, +parameterBoolean: boolean = true, +parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', +parameterModel: ModelWithString = { + "prop": "Hello World!" +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - /** - * @param parameterStringWithNoDefault This is a string with no default - * @param parameterOptionalStringWithDefault This is a optional string with default - * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default - * @param parameterOptionalStringWithNoDefault This is a optional string with no default - * @param parameterStringWithDefault This is a string with default - * @param parameterStringWithEmptyDefault This is a string with empty default - * @param parameterStringNullableWithNoDefault This is a string that can be null with no default - * @param parameterStringNullableWithDefault This is a string that can be null with default - * @throws ApiError - */ - public static callToTestOrderOfParams( - parameterStringWithNoDefault: string, - parameterOptionalStringWithDefault: string = 'Hello World!', - parameterOptionalStringWithEmptyDefault: string = '', - parameterOptionalStringWithNoDefault?: string, - parameterStringWithDefault: string = 'Hello World!', - parameterStringWithEmptyDefault: string = '', - parameterStringNullableWithNoDefault?: string | null, - parameterStringNullableWithDefault: string | null = null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/defaults', - query: { - 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, - 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, - 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, - 'parameterStringWithDefault': parameterStringWithDefault, - 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, - 'parameterStringWithNoDefault': parameterStringWithNoDefault, - 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, - 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, - }, - }); - } + }); +} +/** + * @param parameterStringWithNoDefault This is a string with no default + * @param parameterOptionalStringWithDefault This is a optional string with default + * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default + * @param parameterOptionalStringWithNoDefault This is a optional string with no default + * @param parameterStringWithDefault This is a string with default + * @param parameterStringWithEmptyDefault This is a string with empty default + * @param parameterStringNullableWithNoDefault This is a string that can be null with no default + * @param parameterStringNullableWithDefault This is a string that can be null with default + * @throws ApiError + */ +public static callToTestOrderOfParams(parameterStringWithNoDefault: string, +parameterOptionalStringWithDefault: string = 'Hello World!', +parameterOptionalStringWithEmptyDefault: string = '', +parameterOptionalStringWithNoDefault?: string, +parameterStringWithDefault: string = 'Hello World!', +parameterStringWithEmptyDefault: string = '', +parameterStringNullableWithNoDefault?: string | null, +parameterStringNullableWithDefault: string | null = null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/defaults', + query: { + 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, + 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, + 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, + 'parameterStringWithDefault': parameterStringWithDefault, + 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, + 'parameterStringWithNoDefault': parameterStringWithNoDefault, + 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, + 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, + }, + }); +} } " `; -exports[`v2 should generate: test/generated/v2/services/DescriptionsService.ts 1`] = ` +exports[`v2 should generate: ./test/generated/v2/services/DescriptionsService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2562,8 +2557,3096 @@ export class DescriptionsService { * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work * @throws ApiError */ - public static callWithDescriptions( - parameterWithBreaks?: string, + public static callWithDescriptions(parameterWithBreaks?: string, + parameterWithBackticks?: string, + parameterWithSlashes?: string, + parameterWithExpressionPlaceholders?: string, + parameterWithQuotes?: string, + parameterWithReservedCharacters?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/descriptions/', + query: { + 'parameterWithBreaks': parameterWithBreaks, + 'parameterWithBackticks': parameterWithBackticks, + 'parameterWithSlashes': parameterWithSlashes, + 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, + 'parameterWithQuotes': parameterWithQuotes, + 'parameterWithReservedCharacters': parameterWithReservedCharacters, + }, + }); +} +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/DuplicateService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DuplicateService { + /** + * @throws ApiError + */ + public static duplicateName(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName1(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName2(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName3(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/duplicate', + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/ErrorService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ErrorService { + /** + * @param status Status code to return + * @returns any Custom message: Successful response + * @throws ApiError + */ + public static testErrorCode(status: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/error', + query: { + 'status': status, + }, + errors: { + 500: \`Custom message: Internal Server Error\`, + 501: \`Custom message: Not Implemented\`, + 502: \`Custom message: Bad Gateway\`, + 503: \`Custom message: Service Unavailable\`, + }, + }); +} +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/HeaderService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class HeaderService { + /** + * @returns string Successful response + * @throws ApiError + */ + public static callWithResultFromHeader(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/header', + responseHeader: 'operation-location', + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/MultipleTags1Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags1Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/MultipleTags2Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags2Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/MultipleTags3Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags3Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/NoContentService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class NoContentService { + /** + * @returns void + * @throws ApiError + */ + public static callWithNoContentResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-content', + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/ParametersService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ParametersService { + /** + * @param parameterHeader This is the parameter that goes into the header + * @param parameterQuery This is the parameter that goes into the query params + * @param parameterForm This is the parameter that goes into the form data + * @param parameterBody This is the parameter that is sent as request body + * @param parameterPath This is the parameter that goes into the path + * @throws ApiError + */ + public static callWithParameters(parameterHeader: string, + parameterQuery: string, + parameterForm: string, + parameterBody: string, + parameterPath: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameterPath}', + path: { + 'parameterPath': parameterPath, + }, + headers: { + 'parameterHeader': parameterHeader, + }, + query: { + 'parameterQuery': parameterQuery, + }, + formData: { + 'parameterForm': parameterForm, + }, + body: parameterBody, + }); +} +/** + * @param parameterHeader This is the parameter that goes into the request header + * @param parameterQuery This is the parameter that goes into the request query params + * @param parameterForm This is the parameter that goes into the request form data + * @param parameterBody This is the parameter that is sent as request body + * @param parameterPath1 This is the parameter that goes into the path + * @param parameterPath2 This is the parameter that goes into the path + * @param parameterPath3 This is the parameter that goes into the path + * @param _default This is the parameter with a reserved keyword + * @throws ApiError + */ +public static callWithWeirdParameterNames(parameterHeader: string, +parameterQuery: string, +parameterForm: string, +parameterBody: string, +parameterPath1?: string, +parameterPath2?: string, +parameterPath3?: string, +_default?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', + path: { + 'parameter.path.1': parameterPath1, + 'parameter-path-2': parameterPath2, + 'PARAMETER-PATH-3': parameterPath3, + }, + headers: { + 'parameter.header': parameterHeader, + }, + query: { + 'default': _default, + 'parameter-query': parameterQuery, + }, + formData: { + 'parameter_form': parameterForm, + }, + body: parameterBody, + }); +} +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/ResponseService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelThatExtends } from '../models/ModelThatExtends'; +import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ResponseService { + /** + * @returns ModelWithString Message for default response + * @throws ApiError + */ + public static callWithResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/response', + }); + } + /** + * @returns ModelWithString Message for default response + * @throws ApiError + */ + public static callWithDuplicateResponses(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); + } + /** + * @returns any Message for 200 response + * @returns ModelWithString Message for default response + * @returns ModelThatExtends Message for 201 response + * @returns ModelThatExtendsExtends Message for 202 response + * @throws ApiError + */ + public static callWithResponses(): CancelablePromise<{ + readonly '@namespace.string'?: string; + readonly '@namespace.integer'?: number; + readonly value?: Array; + } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/SimpleService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class SimpleService { + /** + * @throws ApiError + */ + public static getCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static putCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static postCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static deleteCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static optionsCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'OPTIONS', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static headCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'HEAD', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static patchCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PATCH', + url: '/api/v{api-version}/simple', + }); + } +} +" +`; + +exports[`v2 should generate: ./test/generated/v2/services/TypesService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class TypesService { + /** + * @param parameterArray This is an array parameter + * @param parameterDictionary This is a dictionary parameter + * @param parameterEnum This is an enum parameter + * @param parameterNumber This is a number parameter + * @param parameterString This is a string parameter + * @param parameterBoolean This is a boolean parameter + * @param parameterObject This is an object parameter + * @param id This is a number parameter + * @returns number Response is a simple number + * @returns string Response is a simple string + * @returns boolean Response is a simple boolean + * @returns any Response is a simple object + * @throws ApiError + */ + public static types(parameterArray: Array, + parameterDictionary: Record, + parameterEnum: 'Success' | 'Warning' | 'Error', + parameterNumber: number = 123, + parameterString: string = 'default', + parameterBoolean: boolean = true, + parameterObject: any = null, + id?: number, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/types', + path: { + 'id': id, + }, + query: { + 'parameterNumber': parameterNumber, + 'parameterString': parameterString, + 'parameterBoolean': parameterBoolean, + 'parameterObject': parameterObject, + 'parameterArray': parameterArray, + 'parameterDictionary': parameterDictionary, + 'parameterEnum': parameterEnum, + }, + }); +} +} +" +`; + +exports[`v2 should generate: test/generated/v2/core/ApiError.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; + +export class ApiError extends Error { + public readonly url: string; + public readonly status: number; + public readonly statusText: string; + public readonly body: any; + public readonly request: ApiRequestOptions; + + constructor(request: ApiRequestOptions, response: ApiResult, message: string) { + super(message); + + this.name = 'ApiError'; + this.url = response.url; + this.status = response.status; + this.statusText = response.statusText; + this.body = response.body; + this.request = request; + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/core/ApiRequestOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type ApiRequestOptions = { + readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; + readonly url: string; + readonly path?: Record; + readonly cookies?: Record; + readonly headers?: Record; + readonly query?: Record; + readonly formData?: Record; + readonly body?: any; + readonly mediaType?: string; + readonly responseHeader?: string; + readonly errors?: Record; +}; +" +`; + +exports[`v2 should generate: test/generated/v2/core/ApiResult.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type ApiResult = { + readonly url: string; + readonly ok: boolean; + readonly status: number; + readonly statusText: string; + readonly body: any; +}; +" +`; + +exports[`v2 should generate: test/generated/v2/core/CancelablePromise.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export class CancelError extends Error { + + constructor(message: string) { + super(message); + this.name = 'CancelError'; + } + + public get isCancelled(): boolean { + return true; + } +} + +export interface OnCancel { + readonly isResolved: boolean; + readonly isRejected: boolean; + readonly isCancelled: boolean; + + (cancelHandler: () => void): void; +} + +export class CancelablePromise implements Promise { + #isResolved: boolean; + #isRejected: boolean; + #isCancelled: boolean; + readonly #cancelHandlers: (() => void)[]; + readonly #promise: Promise; + #resolve?: (value: T | PromiseLike) => void; + #reject?: (reason?: any) => void; + + constructor( + executor: ( + resolve: (value: T | PromiseLike) => void, + reject: (reason?: any) => void, + onCancel: OnCancel + ) => void + ) { + this.#isResolved = false; + this.#isRejected = false; + this.#isCancelled = false; + this.#cancelHandlers = []; + this.#promise = new Promise((resolve, reject) => { + this.#resolve = resolve; + this.#reject = reject; + + const onResolve = (value: T | PromiseLike): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isResolved = true; + if (this.#resolve) this.#resolve(value); + }; + + const onReject = (reason?: any): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isRejected = true; + if (this.#reject) this.#reject(reason); + }; + + const onCancel = (cancelHandler: () => void): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#cancelHandlers.push(cancelHandler); + }; + + Object.defineProperty(onCancel, 'isResolved', { + get: (): boolean => this.#isResolved, + }); + + Object.defineProperty(onCancel, 'isRejected', { + get: (): boolean => this.#isRejected, + }); + + Object.defineProperty(onCancel, 'isCancelled', { + get: (): boolean => this.#isCancelled, + }); + + return executor(onResolve, onReject, onCancel as OnCancel); + }); + } + + get [Symbol.toStringTag]() { + return "Cancellable Promise"; + } + + public then( + onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, + onRejected?: ((reason: any) => TResult2 | PromiseLike) | null + ): Promise { + return this.#promise.then(onFulfilled, onRejected); + } + + public catch( + onRejected?: ((reason: any) => TResult | PromiseLike) | null + ): Promise { + return this.#promise.catch(onRejected); + } + + public finally(onFinally?: (() => void) | null): Promise { + return this.#promise.finally(onFinally); + } + + public cancel(): void { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isCancelled = true; + if (this.#cancelHandlers.length) { + try { + for (const cancelHandler of this.#cancelHandlers) { + cancelHandler(); + } + } catch (error) { + console.warn('Cancellation threw an error', error); + return; + } + } + this.#cancelHandlers.length = 0; + if (this.#reject) this.#reject(new CancelError('Request aborted')); + } + + public get isCancelled(): boolean { + return this.#isCancelled; + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/core/OpenAPI.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ApiRequestOptions } from './ApiRequestOptions'; + +type Resolver = (options: ApiRequestOptions) => Promise; +type Headers = Record; + +export type OpenAPIConfig = { + BASE: string; + VERSION: string; + WITH_CREDENTIALS: boolean; + CREDENTIALS: 'include' | 'omit' | 'same-origin'; + TOKEN?: string | Resolver | undefined; + USERNAME?: string | Resolver | undefined; + PASSWORD?: string | Resolver | undefined; + HEADERS?: Headers | Resolver | undefined; + ENCODE_PATH?: ((path: string) => string) | undefined; +}; + +export const OpenAPI: OpenAPIConfig = { + BASE: 'http://localhost:3000/base', + VERSION: '1.0', + WITH_CREDENTIALS: false, + CREDENTIALS: 'include', + TOKEN: undefined, + USERNAME: undefined, + PASSWORD: undefined, + HEADERS: undefined, + ENCODE_PATH: undefined, +}; +" +`; + +exports[`v2 should generate: test/generated/v2/core/request.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import { ApiError } from './ApiError'; +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; +import { CancelablePromise } from './CancelablePromise'; +import type { OnCancel } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; + +export const isDefined = (value: T | null | undefined): value is Exclude => { + return value !== undefined && value !== null; +}; + +export const isString = (value: any): value is string => { + return typeof value === 'string'; +}; + +export const isStringWithValue = (value: any): value is string => { + return isString(value) && value !== ''; +}; + +export const isBlob = (value: any): value is Blob => { + return ( + typeof value === 'object' && + typeof value.type === 'string' && + typeof value.stream === 'function' && + typeof value.arrayBuffer === 'function' && + typeof value.constructor === 'function' && + typeof value.constructor.name === 'string' && + /^(Blob|File)$/.test(value.constructor.name) && + /^(Blob|File)$/.test(value[Symbol.toStringTag]) + ); +}; + +export const isFormData = (value: any): value is FormData => { + return value instanceof FormData; +}; + +export const base64 = (str: string): string => { + try { + return btoa(str); + } catch (err) { + // @ts-ignore + return Buffer.from(str).toString('base64'); + } +}; + +export const getQueryString = (params: Record): string => { + const qs: string[] = []; + + const append = (key: string, value: any) => { + qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); + }; + + const process = (key: string, value: any) => { + if (isDefined(value)) { + if (Array.isArray(value)) { + value.forEach(v => { + process(key, v); + }); + } else if (typeof value === 'object') { + Object.entries(value).forEach(([k, v]) => { + process(\`\${key}[\${k}]\`, v); + }); + } else { + append(key, value); + } + } + }; + + Object.entries(params).forEach(([key, value]) => { + process(key, value); + }); + + if (qs.length > 0) { + return \`?\${qs.join('&')}\`; + } + + return ''; +}; + +const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { + const encoder = config.ENCODE_PATH || encodeURI; + + const path = options.url + .replace('{api-version}', config.VERSION) + .replace(/{(.*?)}/g, (substring: string, group: string) => { + if (options.path?.hasOwnProperty(group)) { + return encoder(String(options.path[group])); + } + return substring; + }); + + const url = \`\${config.BASE}\${path}\`; + if (options.query) { + return \`\${url}\${getQueryString(options.query)}\`; + } + return url; +}; + +export const getFormData = (options: ApiRequestOptions): FormData | undefined => { + if (options.formData) { + const formData = new FormData(); + + const process = (key: string, value: any) => { + if (isString(value) || isBlob(value)) { + formData.append(key, value); + } else { + formData.append(key, JSON.stringify(value)); + } + }; + + Object.entries(options.formData) + .filter(([_, value]) => isDefined(value)) + .forEach(([key, value]) => { + if (Array.isArray(value)) { + value.forEach(v => process(key, v)); + } else { + process(key, value); + } + }); + + return formData; + } + return undefined; +}; + +type Resolver = (options: ApiRequestOptions) => Promise; + +export const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => { + if (typeof resolver === 'function') { + return (resolver as Resolver)(options); + } + return resolver; +}; + +export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { + const token = await resolve(options, config.TOKEN); + const username = await resolve(options, config.USERNAME); + const password = await resolve(options, config.PASSWORD); + const additionalHeaders = await resolve(options, config.HEADERS); + + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + }) + .filter(([_, value]) => isDefined(value)) + .reduce((headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), {} as Record); + + if (isStringWithValue(token)) { + headers['Authorization'] = \`Bearer \${token}\`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(\`\${username}:\${password}\`); + headers['Authorization'] = \`Basic \${credentials}\`; + } + + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = options.body.type || 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } + + return new Headers(headers); +}; + +export const getRequestBody = (options: ApiRequestOptions): any => { + if (options.body !== undefined) { + if (options.mediaType?.includes('/json')) { + return JSON.stringify(options.body) + } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { + return options.body; + } else { + return JSON.stringify(options.body); + } + } + return undefined; +}; + +export const sendRequest = async ( + config: OpenAPIConfig, + options: ApiRequestOptions, + url: string, + body: any, + formData: FormData | undefined, + headers: Headers, + onCancel: OnCancel +): Promise => { + const controller = new AbortController(); + + const request: RequestInit = { + headers, + body: body ?? formData, + method: options.method, + signal: controller.signal, + }; + + if (config.WITH_CREDENTIALS) { + request.credentials = config.CREDENTIALS; + } + + onCancel(() => controller.abort()); + + return await fetch(url, request); +}; + +export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { + if (responseHeader) { + const content = response.headers.get(responseHeader); + if (isString(content)) { + return content; + } + } + return undefined; +}; + +export const getResponseBody = async (response: Response): Promise => { + if (response.status !== 204) { + try { + const contentType = response.headers.get('Content-Type'); + if (contentType) { + const jsonTypes = ['application/json', 'application/problem+json'] + const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); + if (isJSON) { + return await response.json(); + } else { + return await response.text(); + } + } + } catch (error) { + console.error(error); + } + } + return undefined; +}; + +export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => { + const errors: Record = { + 400: 'Bad Request', + 401: 'Unauthorized', + 403: 'Forbidden', + 404: 'Not Found', + 500: 'Internal Server Error', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + ...options.errors, + } + + const error = errors[result.status]; + if (error) { + throw new ApiError(options, result, error); + } + + if (!result.ok) { + const errorStatus = result.status ?? 'unknown'; + const errorStatusText = result.statusText ?? 'unknown'; + const errorBody = (() => { + try { + return JSON.stringify(result.body, null, 2); + } catch (e) { + return undefined; + } + })(); + + throw new ApiError(options, result, + \`Generic Error: status: \${errorStatus}; status text: \${errorStatusText}; body: \${errorBody}\` + ); + } +}; + +/** + * Request method + * @param config The OpenAPI configuration object + * @param options The request options from the service + * @returns CancelablePromise + * @throws ApiError + */ +export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options); + + if (!onCancel.isCancelled) { + const response = await sendRequest(config, options, url, body, formData, headers, onCancel); + const responseBody = await getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); + + const result: ApiResult = { + url, + ok: response.ok, + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + }; + + catchErrorCodes(options, result); + + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); +}; +" +`; + +exports[`v2 should generate: test/generated/v2/index.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export { ApiError } from './core/ApiError'; +export { CancelablePromise, CancelError } from './core/CancelablePromise'; +export { OpenAPI } from './core/OpenAPI'; +export type { OpenAPIConfig } from './core/OpenAPI'; + +export type { _default } from './models/_default'; +export type { ArrayWithArray } from './models/ArrayWithArray'; +export type { ArrayWithBooleans } from './models/ArrayWithBooleans'; +export type { ArrayWithNumbers } from './models/ArrayWithNumbers'; +export type { ArrayWithProperties } from './models/ArrayWithProperties'; +export type { ArrayWithReferences } from './models/ArrayWithReferences'; +export type { ArrayWithStrings } from './models/ArrayWithStrings'; +export type { CommentWithBackticks } from './models/CommentWithBackticks'; +export type { CommentWithBreaks } from './models/CommentWithBreaks'; +export type { CommentWithExpressionPlaceholders } from './models/CommentWithExpressionPlaceholders'; +export type { CommentWithQuotes } from './models/CommentWithQuotes'; +export type { CommentWithReservedCharacters } from './models/CommentWithReservedCharacters'; +export type { CommentWithSlashes } from './models/CommentWithSlashes'; +export type { Date } from './models/Date'; +export type { DictionaryWithArray } from './models/DictionaryWithArray'; +export type { DictionaryWithDictionary } from './models/DictionaryWithDictionary'; +export type { DictionaryWithProperties } from './models/DictionaryWithProperties'; +export type { DictionaryWithReference } from './models/DictionaryWithReference'; +export type { DictionaryWithString } from './models/DictionaryWithString'; +export type { EnumFromDescription } from './models/EnumFromDescription'; +export { EnumWithExtensions } from './models/EnumWithExtensions'; +export { EnumWithNumbers } from './models/EnumWithNumbers'; +export { EnumWithStrings } from './models/EnumWithStrings'; +export type { ModelThatExtends } from './models/ModelThatExtends'; +export type { ModelThatExtendsExtends } from './models/ModelThatExtendsExtends'; +export type { ModelWithArray } from './models/ModelWithArray'; +export type { ModelWithBoolean } from './models/ModelWithBoolean'; +export type { ModelWithCircularReference } from './models/ModelWithCircularReference'; +export type { ModelWithDictionary } from './models/ModelWithDictionary'; +export type { ModelWithDuplicateImports } from './models/ModelWithDuplicateImports'; +export type { ModelWithDuplicateProperties } from './models/ModelWithDuplicateProperties'; +export { ModelWithEnum } from './models/ModelWithEnum'; +export type { ModelWithEnumFromDescription } from './models/ModelWithEnumFromDescription'; +export type { ModelWithInteger } from './models/ModelWithInteger'; +export type { ModelWithNestedEnums } from './models/ModelWithNestedEnums'; +export type { ModelWithNestedProperties } from './models/ModelWithNestedProperties'; +export type { ModelWithNullableString } from './models/ModelWithNullableString'; +export type { ModelWithOrderedProperties } from './models/ModelWithOrderedProperties'; +export type { ModelWithPattern } from './models/ModelWithPattern'; +export type { ModelWithProperties } from './models/ModelWithProperties'; +export type { ModelWithReference } from './models/ModelWithReference'; +export type { ModelWithString } from './models/ModelWithString'; +export type { SimpleBoolean } from './models/SimpleBoolean'; +export type { SimpleFile } from './models/SimpleFile'; +export type { SimpleInteger } from './models/SimpleInteger'; +export type { SimpleReference } from './models/SimpleReference'; +export type { SimpleString } from './models/SimpleString'; +export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern'; + +export { $_default } from './schemas/$_default'; +export { $ArrayWithArray } from './schemas/$ArrayWithArray'; +export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; +export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; +export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; +export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; +export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; +export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; +export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; +export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; +export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; +export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; +export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; +export { $Date } from './schemas/$Date'; +export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; +export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; +export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; +export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; +export { $DictionaryWithString } from './schemas/$DictionaryWithString'; +export { $EnumFromDescription } from './schemas/$EnumFromDescription'; +export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; +export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; +export { $EnumWithStrings } from './schemas/$EnumWithStrings'; +export { $ModelThatExtends } from './schemas/$ModelThatExtends'; +export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; +export { $ModelWithArray } from './schemas/$ModelWithArray'; +export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; +export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; +export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; +export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; +export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; +export { $ModelWithEnum } from './schemas/$ModelWithEnum'; +export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; +export { $ModelWithInteger } from './schemas/$ModelWithInteger'; +export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; +export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; +export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; +export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; +export { $ModelWithPattern } from './schemas/$ModelWithPattern'; +export { $ModelWithProperties } from './schemas/$ModelWithProperties'; +export { $ModelWithReference } from './schemas/$ModelWithReference'; +export { $ModelWithString } from './schemas/$ModelWithString'; +export { $SimpleBoolean } from './schemas/$SimpleBoolean'; +export { $SimpleFile } from './schemas/$SimpleFile'; +export { $SimpleInteger } from './schemas/$SimpleInteger'; +export { $SimpleReference } from './schemas/$SimpleReference'; +export { $SimpleString } from './schemas/$SimpleString'; +export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; + +export { CollectionFormatService } from './services/CollectionFormatService'; +export { ComplexService } from './services/ComplexService'; +export { DefaultService } from './services/DefaultService'; +export { DefaultsService } from './services/DefaultsService'; +export { DescriptionsService } from './services/DescriptionsService'; +export { DuplicateService } from './services/DuplicateService'; +export { ErrorService } from './services/ErrorService'; +export { HeaderService } from './services/HeaderService'; +export { MultipleTags1Service } from './services/MultipleTags1Service'; +export { MultipleTags2Service } from './services/MultipleTags2Service'; +export { MultipleTags3Service } from './services/MultipleTags3Service'; +export { NoContentService } from './services/NoContentService'; +export { ParametersService } from './services/ParametersService'; +export { ResponseService } from './services/ResponseService'; +export { SimpleService } from './services/SimpleService'; +export { TypesService } from './services/TypesService'; +" +`; + +exports[`v2 should generate: test/generated/v2/models/_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type _default = { + name?: string; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a simple array containing an array + */ +export type ArrayWithArray = Array>; +" +`; + +exports[`v2 should generate: test/generated/v2/models/ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with booleans + */ +export type ArrayWithBooleans = Array; +" +`; + +exports[`v2 should generate: test/generated/v2/models/ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with numbers + */ +export type ArrayWithNumbers = Array; +" +`; + +exports[`v2 should generate: test/generated/v2/models/ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with properties + */ +export type ArrayWithProperties = Array<{ + foo?: string; + bar?: string; +}>; +" +`; + +exports[`v2 should generate: test/generated/v2/models/ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a simple array with references + */ +export type ArrayWithReferences = Array; +" +`; + +exports[`v2 should generate: test/generated/v2/models/ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with strings + */ +export type ArrayWithStrings = Array; +" +`; + +exports[`v2 should generate: test/generated/v2/models/CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + */ +export type CommentWithBackticks = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing multiline comments in string: First line + * Second line + * + * Fourth line + */ +export type CommentWithBreaks = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing expression placeholders in string: \${expression} should work + */ +export type CommentWithExpressionPlaceholders = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing quotes in string: 'single quote''' and "double quotes""" should work + */ +export type CommentWithQuotes = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing reserved characters in string: * inline * and ** inline ** should work + */ +export type CommentWithReservedCharacters = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work + */ +export type CommentWithSlashes = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/Date.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a type-only model that defines Date as a string + */ +export type Date = string; +" +`; + +exports[`v2 should generate: test/generated/v2/models/DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a complex dictionary + */ +export type DictionaryWithArray = Record>; +" +`; + +exports[`v2 should generate: test/generated/v2/models/DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a string dictionary + */ +export type DictionaryWithDictionary = Record>; +" +`; + +exports[`v2 should generate: test/generated/v2/models/DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a complex dictionary + */ +export type DictionaryWithProperties = Record; +" +`; + +exports[`v2 should generate: test/generated/v2/models/DictionaryWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a string reference + */ +export type DictionaryWithReference = Record; +" +`; + +exports[`v2 should generate: test/generated/v2/models/DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a string dictionary + */ +export type DictionaryWithString = Record; +" +`; + +exports[`v2 should generate: test/generated/v2/models/EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Success=1,Warning=2,Error=3 + */ +export type EnumFromDescription = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple enum with numbers + */ +export enum EnumWithExtensions { + /** + * Used when the status of something is successful + */ + CUSTOM_SUCCESS = 200, + /** + * Used when the status of something has a warning + */ + CUSTOM_WARNING = 400, + /** + * Used when the status of something has an error + */ + CUSTOM_ERROR = 500, +} +" +`; + +exports[`v2 should generate: test/generated/v2/models/EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple enum with numbers + */ +export enum EnumWithNumbers { + '_1' = 1, + '_2' = 2, + '_3' = 3, + '_1.1' = 1.1, + '_1.2' = 1.2, + '_1.3' = 1.3, + '_100' = 100, + '_200' = 200, + '_300' = 300, + '_-100' = -100, + '_-200' = -200, + '_-300' = -300, + '_-1.1' = -1.1, + '_-1.2' = -1.2, + '_-1.3' = -1.3, +} +" +`; + +exports[`v2 should generate: test/generated/v2/models/EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple enum with strings + */ +export enum EnumWithStrings { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + _SINGLE_QUOTE_ = '\\'Single Quote\\'', + _DOUBLE_QUOTES_ = '"Double Quotes"', +} +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model that extends another model + */ +export type ModelThatExtends = (ModelWithString & { + propExtendsA?: string; + propExtendsB?: ModelWithString; +}); + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelThatExtends } from './ModelThatExtends'; +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model that extends another model + */ +export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { + propExtendsC?: string; + propExtendsD?: ModelWithString; +}); + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with one property containing an array + */ +export type ModelWithArray = { + prop?: Array; + propWithFile?: Array; + propWithNumber?: Array; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one boolean property + */ +export type ModelWithBoolean = { + /** + * This is a simple boolean property + */ + prop?: boolean; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one property containing a circular reference + */ +export type ModelWithCircularReference = { + prop?: ModelWithCircularReference; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one property containing a dictionary + */ +export type ModelWithDictionary = { + prop?: Record; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with duplicated imports + */ +export type ModelWithDuplicateImports = { + propA?: ModelWithString; + propB?: ModelWithString; + propC?: ModelWithString; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with duplicated properties + */ +export type ModelWithDuplicateProperties = { + prop?: ModelWithString; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one enum + */ +export type ModelWithEnum = { + /** + * This is a simple enum with strings + */ + test?: ModelWithEnum.test; + /** + * These are the HTTP error code enums + */ + statusCode?: ModelWithEnum.statusCode; + /** + * Simple boolean enum + */ + bool?: boolean; +}; +export namespace ModelWithEnum { + /** + * This is a simple enum with strings + */ + export enum test { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + } + /** + * These are the HTTP error code enums + */ + export enum statusCode { + _100 = '100', + _200_FOO = '200 FOO', + _300_FOO_BAR = '300 FOO_BAR', + _400_FOO_BAR = '400 foo-bar', + _500_FOO_BAR = '500 foo.bar', + _600_FOO_BAR = '600 foo&bar', + } +} + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one enum + */ +export type ModelWithEnumFromDescription = { + /** + * Success=1,Warning=2,Error=3 + */ + test?: number; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one number property + */ +export type ModelWithInteger = { + /** + * This is a simple number property + */ + prop?: number; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with nested enums + */ +export type ModelWithNestedEnums = { + dictionaryWithEnum?: Record; + dictionaryWithEnumFromDescription?: Record; + arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; + arrayWithDescription?: Array; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one nested property + */ +export type ModelWithNestedProperties = { + readonly first: { + readonly second: { + readonly third: string; + }; + }; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one string property + */ +export type ModelWithNullableString = { + /** + * This is a simple string property + */ + nullableProp?: string | null; + /** + * This is a simple string property + */ + nullableRequiredProp: string | null; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with ordered properties + */ +export type ModelWithOrderedProperties = { + zebra?: string; + apple?: string; + hawaii?: string; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model that contains a some patterns + */ +export type ModelWithPattern = { + key: string; + name: string; + readonly enabled?: boolean; + readonly modified?: string; + id?: string; + text?: string; + patternWithSingleQuotes?: string; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with one nested property + */ +export type ModelWithProperties = { + required: string; + readonly requiredAndReadOnly: string; + string?: string; + number?: number; + boolean?: boolean; + reference?: ModelWithString; + 'property with space'?: string; + default?: string; + try?: string; + readonly '@namespace.string'?: string; + readonly '@namespace.integer'?: number; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithProperties } from './ModelWithProperties'; +/** + * This is a model with one property containing a reference + */ +export type ModelWithReference = { + prop?: ModelWithProperties; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one string property + */ +export type ModelWithString = { + /** + * This is a simple string property + */ + prop?: string; +}; + +" +`; + +exports[`v2 should generate: test/generated/v2/models/SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple boolean + */ +export type SimpleBoolean = boolean; +" +`; + +exports[`v2 should generate: test/generated/v2/models/SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple file + */ +export type SimpleFile = Blob; +" +`; + +exports[`v2 should generate: test/generated/v2/models/SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple number + */ +export type SimpleInteger = number; +" +`; + +exports[`v2 should generate: test/generated/v2/models/SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a simple reference + */ +export type SimpleReference = ModelWithString; +" +`; + +exports[`v2 should generate: test/generated/v2/models/SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple string + */ +export type SimpleString = string; +" +`; + +exports[`v2 should generate: test/generated/v2/models/SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple string + */ +export type SimpleStringWithPattern = string; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $_default = { + properties: { + name: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithArray = { + type: 'array', + contains: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithBooleans = { + type: 'array', + contains: { + type: 'boolean', + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithNumbers = { + type: 'array', + contains: { + type: 'number', + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithProperties = { + type: 'array', + contains: { + properties: { + foo: { + type: 'string', + }, + bar: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithReferences = { + type: 'array', + contains: { + type: 'ModelWithString', + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithStrings = { + type: 'array', + contains: { + type: 'string', + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithBackticks = { + type: 'number', + description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithBreaks = { + type: 'number', + description: \`Testing multiline comments in string: First line + Second line + Fourth line\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithExpressionPlaceholders = { + type: 'number', + description: \`Testing expression placeholders in string: \\\${expression} should work\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithQuotes = { + type: 'number', + description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithReservedCharacters = { + type: 'number', + description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithSlashes = { + type: 'number', + description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$Date.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Date = { + type: 'string', + description: \`This is a type-only model that defines Date as a string\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithArray = { + type: 'dictionary', + contains: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithDictionary = { + type: 'dictionary', + contains: { + type: 'dictionary', + contains: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithProperties = { + type: 'dictionary', + contains: { + properties: { + foo: { + type: 'string', + }, + bar: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithReference = { + type: 'dictionary', + contains: { + type: 'ModelWithString', + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithString = { + type: 'dictionary', + contains: { + type: 'string', + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumFromDescription = { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithExtensions = { + type: 'Enum', +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithNumbers = { + type: 'Enum', +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithStrings = { + type: 'Enum', +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelThatExtends = { + type: 'all-of', + description: \`This is a model that extends another model\`, + contains: [{ + type: 'ModelWithString', + }, { + properties: { + propExtendsA: { + type: 'string', + }, + propExtendsB: { + type: 'ModelWithString', + }, + }, + }], +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelThatExtendsExtends = { + type: 'all-of', + description: \`This is a model that extends another model\`, + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelThatExtends', + }, { + properties: { + propExtendsC: { + type: 'string', + }, + propExtendsD: { + type: 'ModelWithString', + }, + }, + }], +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithArray = { + description: \`This is a model with one property containing an array\`, + properties: { + prop: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, + propWithFile: { + type: 'array', + contains: { + type: 'binary', + }, + }, + propWithNumber: { + type: 'array', + contains: { + type: 'number', + }, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithBoolean = { + description: \`This is a model with one boolean property\`, + properties: { + prop: { + type: 'boolean', + description: \`This is a simple boolean property\`, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithCircularReference = { + description: \`This is a model with one property containing a circular reference\`, + properties: { + prop: { + type: 'ModelWithCircularReference', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDictionary = { + description: \`This is a model with one property containing a dictionary\`, + properties: { + prop: { + type: 'dictionary', + contains: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDuplicateImports = { + description: \`This is a model with duplicated imports\`, + properties: { + propA: { + type: 'ModelWithString', + }, + propB: { + type: 'ModelWithString', + }, + propC: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDuplicateProperties = { + description: \`This is a model with duplicated properties\`, + properties: { + prop: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithEnum = { + description: \`This is a model with one enum\`, + properties: { + test: { + type: 'Enum', + }, + statusCode: { + type: 'Enum', + }, + bool: { + type: 'boolean', + description: \`Simple boolean enum\`, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithEnumFromDescription = { + description: \`This is a model with one enum\`, + properties: { + test: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithInteger = { + description: \`This is a model with one number property\`, + properties: { + prop: { + type: 'number', + description: \`This is a simple number property\`, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNestedEnums = { + description: \`This is a model with nested enums\`, + properties: { + dictionaryWithEnum: { + type: 'dictionary', + contains: { + type: 'Enum', + }, + }, + dictionaryWithEnumFromDescription: { + type: 'dictionary', + contains: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, + arrayWithEnum: { + type: 'array', + contains: { + type: 'Enum', + }, + }, + arrayWithDescription: { + type: 'array', + contains: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNestedProperties = { + description: \`This is a model with one nested property\`, + properties: { + first: { + properties: { + second: { + properties: { + third: { + type: 'string', + isReadOnly: true, + isRequired: true, + }, + }, + isReadOnly: true, + isRequired: true, + }, + }, + isReadOnly: true, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNullableString = { + description: \`This is a model with one string property\`, + properties: { + nullableProp: { + type: 'string', + description: \`This is a simple string property\`, + isNullable: true, + }, + nullableRequiredProp: { + type: 'string', + description: \`This is a simple string property\`, + isRequired: true, + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithOrderedProperties = { + description: \`This is a model with ordered properties\`, + properties: { + zebra: { + type: 'string', + }, + apple: { + type: 'string', + }, + hawaii: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithPattern = { + description: \`This is a model that contains a some patterns\`, + properties: { + key: { + type: 'string', + isRequired: true, + maxLength: 64, + pattern: '^[a-zA-Z0-9_]*$', + }, + name: { + type: 'string', + isRequired: true, + maxLength: 255, + }, + enabled: { + type: 'boolean', + isReadOnly: true, + }, + modified: { + type: 'string', + isReadOnly: true, + format: 'date-time', + }, + id: { + type: 'string', + pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', + }, + text: { + type: 'string', + pattern: '^\\\\w+$', + }, + patternWithSingleQuotes: { + type: 'string', + pattern: '^[a-zA-Z0-9\\']*$', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithProperties = { + description: \`This is a model with one nested property\`, + properties: { + required: { + type: 'string', + isRequired: true, + }, + requiredAndReadOnly: { + type: 'string', + isReadOnly: true, + isRequired: true, + }, + string: { + type: 'string', + }, + number: { + type: 'number', + }, + boolean: { + type: 'boolean', + }, + reference: { + type: 'ModelWithString', + }, + 'property with space': { + type: 'string', + }, + default: { + type: 'string', + }, + try: { + type: 'string', + }, + '@namespace.string': { + type: 'string', + isReadOnly: true, + }, + '@namespace.integer': { + type: 'number', + isReadOnly: true, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithReference = { + description: \`This is a model with one property containing a reference\`, + properties: { + prop: { + type: 'ModelWithProperties', + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithString = { + description: \`This is a model with one string property\`, + properties: { + prop: { + type: 'string', + description: \`This is a simple string property\`, + }, + }, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleBoolean = { + type: 'boolean', + description: \`This is a simple boolean\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleFile = { + type: 'binary', + description: \`This is a simple file\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleInteger = { + type: 'number', + description: \`This is a simple number\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleReference = { + type: 'ModelWithString', + description: \`This is a simple reference\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleString = { + type: 'string', + description: \`This is a simple string\`, +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/schemas/$SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleStringWithPattern = { + type: 'string', + description: \`This is a simple string\`, + maxLength: 64, + pattern: '^[a-zA-Z0-9_]*$', +} as const; +" +`; + +exports[`v2 should generate: test/generated/v2/services/CollectionFormatService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class CollectionFormatService { + /** + * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) + * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) + * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) + * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) + * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) + * @throws ApiError + */ + public static collectionFormat( + parameterArrayCsv: Array, + parameterArraySsv: Array, + parameterArrayTsv: Array, + parameterArrayPipes: Array, + parameterArrayMulti: Array, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/collectionFormat', + query: { + 'parameterArrayCSV': parameterArrayCsv, + 'parameterArraySSV': parameterArraySsv, + 'parameterArrayTSV': parameterArrayTsv, + 'parameterArrayPipes': parameterArrayPipes, + 'parameterArrayMulti': parameterArrayMulti, + }, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/ComplexService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ComplexService { + /** + * @param parameterObject Parameter containing object + * @param parameterReference Parameter containing reference + * @returns ModelWithString Successful response + * @throws ApiError + */ + public static complexTypes( + parameterObject: { + first?: { + second?: { + third?: string; + }; + }; + }, + parameterReference: ModelWithString, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/complex', + query: { + 'parameterObject': parameterObject, + 'parameterReference': parameterReference, + }, + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DefaultService { + /** + * @throws ApiError + */ + public static serviceWithEmptyTag(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-tag', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/DefaultsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DefaultsService { + /** + * @param parameterString This is a simple string with default value + * @param parameterNumber This is a simple number with default value + * @param parameterBoolean This is a simple boolean with default value + * @param parameterEnum This is a simple enum with default value + * @param parameterModel This is a simple model with default value + * @throws ApiError + */ + public static callWithDefaultParameters( + parameterString: string = 'Hello World!', + parameterNumber: number = 123, + parameterBoolean: boolean = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString = { + "prop": "Hello World!" + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); + } + /** + * @param parameterString This is a simple string that is optional with default value + * @param parameterNumber This is a simple number that is optional with default value + * @param parameterBoolean This is a simple boolean that is optional with default value + * @param parameterEnum This is a simple enum that is optional with default value + * @param parameterModel This is a simple model that is optional with default value + * @throws ApiError + */ + public static callWithDefaultOptionalParameters( + parameterString: string = 'Hello World!', + parameterNumber: number = 123, + parameterBoolean: boolean = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString = { + "prop": "Hello World!" + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); + } + /** + * @param parameterStringWithNoDefault This is a string with no default + * @param parameterOptionalStringWithDefault This is a optional string with default + * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default + * @param parameterOptionalStringWithNoDefault This is a optional string with no default + * @param parameterStringWithDefault This is a string with default + * @param parameterStringWithEmptyDefault This is a string with empty default + * @param parameterStringNullableWithNoDefault This is a string that can be null with no default + * @param parameterStringNullableWithDefault This is a string that can be null with default + * @throws ApiError + */ + public static callToTestOrderOfParams( + parameterStringWithNoDefault: string, + parameterOptionalStringWithDefault: string = 'Hello World!', + parameterOptionalStringWithEmptyDefault: string = '', + parameterOptionalStringWithNoDefault?: string, + parameterStringWithDefault: string = 'Hello World!', + parameterStringWithEmptyDefault: string = '', + parameterStringNullableWithNoDefault?: string | null, + parameterStringNullableWithDefault: string | null = null, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/defaults', + query: { + 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, + 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, + 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, + 'parameterStringWithDefault': parameterStringWithDefault, + 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, + 'parameterStringWithNoDefault': parameterStringWithNoDefault, + 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, + 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, + }, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/DescriptionsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DescriptionsService { + /** + * @param parameterWithBreaks Testing multiline comments in string: First line + * Second line + * + * Fourth line + * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work + * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work + * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work + * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work + * @throws ApiError + */ + public static callWithDescriptions( + parameterWithBreaks?: string, parameterWithBackticks?: string, parameterWithSlashes?: string, parameterWithExpressionPlaceholders?: string, @@ -2571,23 +5654,4109 @@ export class DescriptionsService { parameterWithReservedCharacters?: string, ): CancelablePromise { return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/descriptions/', - query: { - 'parameterWithBreaks': parameterWithBreaks, - 'parameterWithBackticks': parameterWithBackticks, - 'parameterWithSlashes': parameterWithSlashes, - 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, - 'parameterWithQuotes': parameterWithQuotes, - 'parameterWithReservedCharacters': parameterWithReservedCharacters, - }, + method: 'POST', + url: '/api/v{api-version}/descriptions/', + query: { + 'parameterWithBreaks': parameterWithBreaks, + 'parameterWithBackticks': parameterWithBackticks, + 'parameterWithSlashes': parameterWithSlashes, + 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, + 'parameterWithQuotes': parameterWithQuotes, + 'parameterWithReservedCharacters': parameterWithReservedCharacters, + }, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/DuplicateService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DuplicateService { + /** + * @throws ApiError + */ + public static duplicateName(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName1(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName2(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName3(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/duplicate', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/ErrorService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ErrorService { + /** + * @param status Status code to return + * @returns any Custom message: Successful response + * @throws ApiError + */ + public static testErrorCode( + status: string, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/error', + query: { + 'status': status, + }, + errors: { + 500: \`Custom message: Internal Server Error\`, + 501: \`Custom message: Not Implemented\`, + 502: \`Custom message: Bad Gateway\`, + 503: \`Custom message: Service Unavailable\`, + }, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/HeaderService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class HeaderService { + /** + * @returns string Successful response + * @throws ApiError + */ + public static callWithResultFromHeader(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/header', + responseHeader: 'operation-location', + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/MultipleTags1Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags1Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/MultipleTags2Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags2Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/MultipleTags3Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags3Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/NoContentService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class NoContentService { + /** + * @returns void + * @throws ApiError + */ + public static callWithNoContentResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-content', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/ParametersService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ParametersService { + /** + * @param parameterHeader This is the parameter that goes into the header + * @param parameterQuery This is the parameter that goes into the query params + * @param parameterForm This is the parameter that goes into the form data + * @param parameterBody This is the parameter that is sent as request body + * @param parameterPath This is the parameter that goes into the path + * @throws ApiError + */ + public static callWithParameters( + parameterHeader: string, + parameterQuery: string, + parameterForm: string, + parameterBody: string, + parameterPath: string, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameterPath}', + path: { + 'parameterPath': parameterPath, + }, + headers: { + 'parameterHeader': parameterHeader, + }, + query: { + 'parameterQuery': parameterQuery, + }, + formData: { + 'parameterForm': parameterForm, + }, + body: parameterBody, + }); + } + /** + * @param parameterHeader This is the parameter that goes into the request header + * @param parameterQuery This is the parameter that goes into the request query params + * @param parameterForm This is the parameter that goes into the request form data + * @param parameterBody This is the parameter that is sent as request body + * @param parameterPath1 This is the parameter that goes into the path + * @param parameterPath2 This is the parameter that goes into the path + * @param parameterPath3 This is the parameter that goes into the path + * @param _default This is the parameter with a reserved keyword + * @throws ApiError + */ + public static callWithWeirdParameterNames( + parameterHeader: string, + parameterQuery: string, + parameterForm: string, + parameterBody: string, + parameterPath1?: string, + parameterPath2?: string, + parameterPath3?: string, + _default?: string, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', + path: { + 'parameter.path.1': parameterPath1, + 'parameter-path-2': parameterPath2, + 'PARAMETER-PATH-3': parameterPath3, + }, + headers: { + 'parameter.header': parameterHeader, + }, + query: { + 'default': _default, + 'parameter-query': parameterQuery, + }, + formData: { + 'parameter_form': parameterForm, + }, + body: parameterBody, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/ResponseService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelThatExtends } from '../models/ModelThatExtends'; +import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ResponseService { + /** + * @returns ModelWithString Message for default response + * @throws ApiError + */ + public static callWithResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/response', + }); + } + /** + * @returns ModelWithString Message for default response + * @throws ApiError + */ + public static callWithDuplicateResponses(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); + } + /** + * @returns any Message for 200 response + * @returns ModelWithString Message for default response + * @returns ModelThatExtends Message for 201 response + * @returns ModelThatExtendsExtends Message for 202 response + * @throws ApiError + */ + public static callWithResponses(): CancelablePromise<{ + readonly '@namespace.string'?: string; + readonly '@namespace.integer'?: number; + readonly value?: Array; + } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/SimpleService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class SimpleService { + /** + * @throws ApiError + */ + public static getCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static putCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static postCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static deleteCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static optionsCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'OPTIONS', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static headCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'HEAD', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static patchCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PATCH', + url: '/api/v{api-version}/simple', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/services/TypesService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class TypesService { + /** + * @param parameterArray This is an array parameter + * @param parameterDictionary This is a dictionary parameter + * @param parameterEnum This is an enum parameter + * @param parameterNumber This is a number parameter + * @param parameterString This is a string parameter + * @param parameterBoolean This is a boolean parameter + * @param parameterObject This is an object parameter + * @param id This is a number parameter + * @returns number Response is a simple number + * @returns string Response is a simple string + * @returns boolean Response is a simple boolean + * @returns any Response is a simple object + * @throws ApiError + */ + public static types( + parameterArray: Array, + parameterDictionary: Record, + parameterEnum: 'Success' | 'Warning' | 'Error', + parameterNumber: number = 123, + parameterString: string = 'default', + parameterBoolean: boolean = true, + parameterObject: any = null, + id?: number, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/types', + path: { + 'id': id, + }, + query: { + 'parameterNumber': parameterNumber, + 'parameterString': parameterString, + 'parameterBoolean': parameterBoolean, + 'parameterObject': parameterObject, + 'parameterArray': parameterArray, + 'parameterDictionary': parameterDictionary, + 'parameterEnum': parameterEnum, + }, + }); + } +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/core/ApiError.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; + +export class ApiError extends Error { + public readonly url: string; + public readonly status: number; + public readonly statusText: string; + public readonly body: any; + public readonly request: ApiRequestOptions; + + constructor(request: ApiRequestOptions, response: ApiResult, message: string) { + super(message); + + this.name = 'ApiError'; + this.url = response.url; + this.status = response.status; + this.statusText = response.statusText; + this.body = response.body; + this.request = request; + } +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/core/ApiRequestOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type ApiRequestOptions = { + readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; + readonly url: string; + readonly path?: Record; + readonly cookies?: Record; + readonly headers?: Record; + readonly query?: Record; + readonly formData?: Record; + readonly body?: any; + readonly mediaType?: string; + readonly responseHeader?: string; + readonly errors?: Record; +}; +" +`; + +exports[`v3 should generate: ./test/generated/v3/core/ApiResult.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type ApiResult = { + readonly url: string; + readonly ok: boolean; + readonly status: number; + readonly statusText: string; + readonly body: any; +}; +" +`; + +exports[`v3 should generate: ./test/generated/v3/core/CancelablePromise.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export class CancelError extends Error { + + constructor(message: string) { + super(message); + this.name = 'CancelError'; + } + + public get isCancelled(): boolean { + return true; + } +} + +export interface OnCancel { + readonly isResolved: boolean; + readonly isRejected: boolean; + readonly isCancelled: boolean; + + (cancelHandler: () => void): void; +} + +export class CancelablePromise implements Promise { + #isResolved: boolean; + #isRejected: boolean; + #isCancelled: boolean; + readonly #cancelHandlers: (() => void)[]; + readonly #promise: Promise; + #resolve?: (value: T | PromiseLike) => void; + #reject?: (reason?: any) => void; + + constructor( + executor: ( + resolve: (value: T | PromiseLike) => void, + reject: (reason?: any) => void, + onCancel: OnCancel + ) => void + ) { + this.#isResolved = false; + this.#isRejected = false; + this.#isCancelled = false; + this.#cancelHandlers = []; + this.#promise = new Promise((resolve, reject) => { + this.#resolve = resolve; + this.#reject = reject; + + const onResolve = (value: T | PromiseLike): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isResolved = true; + if (this.#resolve) this.#resolve(value); + }; + + const onReject = (reason?: any): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isRejected = true; + if (this.#reject) this.#reject(reason); + }; + + const onCancel = (cancelHandler: () => void): void => { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#cancelHandlers.push(cancelHandler); + }; + + Object.defineProperty(onCancel, 'isResolved', { + get: (): boolean => this.#isResolved, + }); + + Object.defineProperty(onCancel, 'isRejected', { + get: (): boolean => this.#isRejected, + }); + + Object.defineProperty(onCancel, 'isCancelled', { + get: (): boolean => this.#isCancelled, + }); + + return executor(onResolve, onReject, onCancel as OnCancel); + }); + } + + get [Symbol.toStringTag]() { + return "Cancellable Promise"; + } + + public then( + onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, + onRejected?: ((reason: any) => TResult2 | PromiseLike) | null + ): Promise { + return this.#promise.then(onFulfilled, onRejected); + } + + public catch( + onRejected?: ((reason: any) => TResult | PromiseLike) | null + ): Promise { + return this.#promise.catch(onRejected); + } + + public finally(onFinally?: (() => void) | null): Promise { + return this.#promise.finally(onFinally); + } + + public cancel(): void { + if (this.#isResolved || this.#isRejected || this.#isCancelled) { + return; + } + this.#isCancelled = true; + if (this.#cancelHandlers.length) { + try { + for (const cancelHandler of this.#cancelHandlers) { + cancelHandler(); + } + } catch (error) { + console.warn('Cancellation threw an error', error); + return; + } + } + this.#cancelHandlers.length = 0; + if (this.#reject) this.#reject(new CancelError('Request aborted')); + } + + public get isCancelled(): boolean { + return this.#isCancelled; + } +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/core/OpenAPI.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ApiRequestOptions } from './ApiRequestOptions'; + +type Resolver = (options: ApiRequestOptions) => Promise; +type Headers = Record; + +export type OpenAPIConfig = { + BASE: string; + VERSION: string; + WITH_CREDENTIALS: boolean; + CREDENTIALS: 'include' | 'omit' | 'same-origin'; + TOKEN?: string | Resolver | undefined; + USERNAME?: string | Resolver | undefined; + PASSWORD?: string | Resolver | undefined; + HEADERS?: Headers | Resolver | undefined; + ENCODE_PATH?: ((path: string) => string) | undefined; +}; + +export const OpenAPI: OpenAPIConfig = { + BASE: 'http://localhost:3000/base', + VERSION: '1.0', + WITH_CREDENTIALS: false, + CREDENTIALS: 'include', + TOKEN: undefined, + USERNAME: undefined, + PASSWORD: undefined, + HEADERS: undefined, + ENCODE_PATH: undefined, +}; +" +`; + +exports[`v3 should generate: ./test/generated/v3/core/request.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import { ApiError } from './ApiError'; +import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ApiResult } from './ApiResult'; +import { CancelablePromise } from './CancelablePromise'; +import type { OnCancel } from './CancelablePromise'; +import type { OpenAPIConfig } from './OpenAPI'; + +export const isDefined = (value: T | null | undefined): value is Exclude => { + return value !== undefined && value !== null; +}; + +export const isString = (value: any): value is string => { + return typeof value === 'string'; +}; + +export const isStringWithValue = (value: any): value is string => { + return isString(value) && value !== ''; +}; + +export const isBlob = (value: any): value is Blob => { + return ( + typeof value === 'object' && + typeof value.type === 'string' && + typeof value.stream === 'function' && + typeof value.arrayBuffer === 'function' && + typeof value.constructor === 'function' && + typeof value.constructor.name === 'string' && + /^(Blob|File)$/.test(value.constructor.name) && + /^(Blob|File)$/.test(value[Symbol.toStringTag]) + ); +}; + +export const isFormData = (value: any): value is FormData => { + return value instanceof FormData; +}; + +export const base64 = (str: string): string => { + try { + return btoa(str); + } catch (err) { + // @ts-ignore + return Buffer.from(str).toString('base64'); + } +}; + +export const getQueryString = (params: Record): string => { + const qs: string[] = []; + + const append = (key: string, value: any) => { + qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); + }; + + const process = (key: string, value: any) => { + if (isDefined(value)) { + if (Array.isArray(value)) { + value.forEach(v => { + process(key, v); + }); + } else if (typeof value === 'object') { + Object.entries(value).forEach(([k, v]) => { + process(\`\${key}[\${k}]\`, v); + }); + } else { + append(key, value); + } + } + }; + + Object.entries(params).forEach(([key, value]) => { + process(key, value); + }); + + if (qs.length > 0) { + return \`?\${qs.join('&')}\`; + } + + return ''; +}; + +const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { + const encoder = config.ENCODE_PATH || encodeURI; + + const path = options.url + .replace('{api-version}', config.VERSION) + .replace(/{(.*?)}/g, (substring: string, group: string) => { + if (options.path?.hasOwnProperty(group)) { + return encoder(String(options.path[group])); + } + return substring; + }); + + const url = \`\${config.BASE}\${path}\`; + if (options.query) { + return \`\${url}\${getQueryString(options.query)}\`; + } + return url; +}; + +export const getFormData = (options: ApiRequestOptions): FormData | undefined => { + if (options.formData) { + const formData = new FormData(); + + const process = (key: string, value: any) => { + if (isString(value) || isBlob(value)) { + formData.append(key, value); + } else { + formData.append(key, JSON.stringify(value)); + } + }; + + Object.entries(options.formData) + .filter(([_, value]) => isDefined(value)) + .forEach(([key, value]) => { + if (Array.isArray(value)) { + value.forEach(v => process(key, v)); + } else { + process(key, value); + } + }); + + return formData; + } + return undefined; +}; + +type Resolver = (options: ApiRequestOptions) => Promise; + +export const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => { + if (typeof resolver === 'function') { + return (resolver as Resolver)(options); + } + return resolver; +}; + +export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { + const token = await resolve(options, config.TOKEN); + const username = await resolve(options, config.USERNAME); + const password = await resolve(options, config.PASSWORD); + const additionalHeaders = await resolve(options, config.HEADERS); + + const headers = Object.entries({ + Accept: 'application/json', + ...additionalHeaders, + ...options.headers, + }) + .filter(([_, value]) => isDefined(value)) + .reduce((headers, [key, value]) => ({ + ...headers, + [key]: String(value), + }), {} as Record); + + if (isStringWithValue(token)) { + headers['Authorization'] = \`Bearer \${token}\`; + } + + if (isStringWithValue(username) && isStringWithValue(password)) { + const credentials = base64(\`\${username}:\${password}\`); + headers['Authorization'] = \`Basic \${credentials}\`; + } + + if (options.body) { + if (options.mediaType) { + headers['Content-Type'] = options.mediaType; + } else if (isBlob(options.body)) { + headers['Content-Type'] = options.body.type || 'application/octet-stream'; + } else if (isString(options.body)) { + headers['Content-Type'] = 'text/plain'; + } else if (!isFormData(options.body)) { + headers['Content-Type'] = 'application/json'; + } + } + + return new Headers(headers); +}; + +export const getRequestBody = (options: ApiRequestOptions): any => { + if (options.body !== undefined) { + if (options.mediaType?.includes('/json')) { + return JSON.stringify(options.body) + } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { + return options.body; + } else { + return JSON.stringify(options.body); + } + } + return undefined; +}; + +export const sendRequest = async ( + config: OpenAPIConfig, + options: ApiRequestOptions, + url: string, + body: any, + formData: FormData | undefined, + headers: Headers, + onCancel: OnCancel +): Promise => { + const controller = new AbortController(); + + const request: RequestInit = { + headers, + body: body ?? formData, + method: options.method, + signal: controller.signal, + }; + + if (config.WITH_CREDENTIALS) { + request.credentials = config.CREDENTIALS; + } + + onCancel(() => controller.abort()); + + return await fetch(url, request); +}; + +export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { + if (responseHeader) { + const content = response.headers.get(responseHeader); + if (isString(content)) { + return content; + } + } + return undefined; +}; + +export const getResponseBody = async (response: Response): Promise => { + if (response.status !== 204) { + try { + const contentType = response.headers.get('Content-Type'); + if (contentType) { + const jsonTypes = ['application/json', 'application/problem+json'] + const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); + if (isJSON) { + return await response.json(); + } else { + return await response.text(); + } + } + } catch (error) { + console.error(error); + } + } + return undefined; +}; + +export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => { + const errors: Record = { + 400: 'Bad Request', + 401: 'Unauthorized', + 403: 'Forbidden', + 404: 'Not Found', + 500: 'Internal Server Error', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + ...options.errors, + } + + const error = errors[result.status]; + if (error) { + throw new ApiError(options, result, error); + } + + if (!result.ok) { + const errorStatus = result.status ?? 'unknown'; + const errorStatusText = result.statusText ?? 'unknown'; + const errorBody = (() => { + try { + return JSON.stringify(result.body, null, 2); + } catch (e) { + return undefined; + } + })(); + + throw new ApiError(options, result, + \`Generic Error: status: \${errorStatus}; status text: \${errorStatusText}; body: \${errorBody}\` + ); + } +}; + +/** + * Request method + * @param config The OpenAPI configuration object + * @param options The request options from the service + * @returns CancelablePromise + * @throws ApiError + */ +export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { + return new CancelablePromise(async (resolve, reject, onCancel) => { + try { + const url = getUrl(config, options); + const formData = getFormData(options); + const body = getRequestBody(options); + const headers = await getHeaders(config, options); + + if (!onCancel.isCancelled) { + const response = await sendRequest(config, options, url, body, formData, headers, onCancel); + const responseBody = await getResponseBody(response); + const responseHeader = getResponseHeader(response, options.responseHeader); + + const result: ApiResult = { + url, + ok: response.ok, + status: response.status, + statusText: response.statusText, + body: responseHeader ?? responseBody, + }; + + catchErrorCodes(options, result); + + resolve(result.body); + } + } catch (error) { + reject(error); + } + }); +}; +" +`; + +exports[`v3 should generate: ./test/generated/v3/index.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export { ApiError } from './core/ApiError'; +export { CancelablePromise, CancelError } from './core/CancelablePromise'; +export { OpenAPI } from './core/OpenAPI'; +export type { OpenAPIConfig } from './core/OpenAPI'; + +export type { _default } from './models/_default'; +export type { ArrayWithArray } from './models/ArrayWithArray'; +export type { ArrayWithBooleans } from './models/ArrayWithBooleans'; +export type { ArrayWithNumbers } from './models/ArrayWithNumbers'; +export type { ArrayWithProperties } from './models/ArrayWithProperties'; +export type { ArrayWithReferences } from './models/ArrayWithReferences'; +export type { ArrayWithStrings } from './models/ArrayWithStrings'; +export type { CommentWithBackticks } from './models/CommentWithBackticks'; +export type { CommentWithBreaks } from './models/CommentWithBreaks'; +export type { CommentWithExpressionPlaceholders } from './models/CommentWithExpressionPlaceholders'; +export type { CommentWithQuotes } from './models/CommentWithQuotes'; +export type { CommentWithReservedCharacters } from './models/CommentWithReservedCharacters'; +export type { CommentWithSlashes } from './models/CommentWithSlashes'; +export type { CompositionBaseModel } from './models/CompositionBaseModel'; +export type { CompositionExtendedModel } from './models/CompositionExtendedModel'; +export type { CompositionWithAllOfAndNullable } from './models/CompositionWithAllOfAndNullable'; +export type { CompositionWithAnyOf } from './models/CompositionWithAnyOf'; +export type { CompositionWithAnyOfAndNullable } from './models/CompositionWithAnyOfAndNullable'; +export type { CompositionWithAnyOfAnonymous } from './models/CompositionWithAnyOfAnonymous'; +export type { CompositionWithOneOf } from './models/CompositionWithOneOf'; +export type { CompositionWithOneOfAndComplexArrayDictionary } from './models/CompositionWithOneOfAndComplexArrayDictionary'; +export type { CompositionWithOneOfAndNullable } from './models/CompositionWithOneOfAndNullable'; +export type { CompositionWithOneOfAndSimpleArrayDictionary } from './models/CompositionWithOneOfAndSimpleArrayDictionary'; +export type { CompositionWithOneOfAndSimpleDictionary } from './models/CompositionWithOneOfAndSimpleDictionary'; +export type { CompositionWithOneOfAnonymous } from './models/CompositionWithOneOfAnonymous'; +export type { CompositionWithOneOfDiscriminator } from './models/CompositionWithOneOfDiscriminator'; +export type { DeprecatedModel } from './models/DeprecatedModel'; +export type { DictionaryWithArray } from './models/DictionaryWithArray'; +export type { DictionaryWithDictionary } from './models/DictionaryWithDictionary'; +export type { DictionaryWithProperties } from './models/DictionaryWithProperties'; +export type { DictionaryWithReference } from './models/DictionaryWithReference'; +export type { DictionaryWithString } from './models/DictionaryWithString'; +export type { EnumFromDescription } from './models/EnumFromDescription'; +export { EnumWithExtensions } from './models/EnumWithExtensions'; +export { EnumWithNumbers } from './models/EnumWithNumbers'; +export { EnumWithStrings } from './models/EnumWithStrings'; +export type { File } from './models/File'; +export type { FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; +export type { FreeFormObjectWithAdditionalPropertiesEqTrue } from './models/FreeFormObjectWithAdditionalPropertiesEqTrue'; +export type { FreeFormObjectWithoutAdditionalProperties } from './models/FreeFormObjectWithoutAdditionalProperties'; +export type { ModelCircle } from './models/ModelCircle'; +export type { ModelSquare } from './models/ModelSquare'; +export type { ModelThatExtends } from './models/ModelThatExtends'; +export type { ModelThatExtendsExtends } from './models/ModelThatExtendsExtends'; +export type { ModelWithArray } from './models/ModelWithArray'; +export type { ModelWithBoolean } from './models/ModelWithBoolean'; +export type { ModelWithCircularReference } from './models/ModelWithCircularReference'; +export type { ModelWithDictionary } from './models/ModelWithDictionary'; +export type { ModelWithDuplicateImports } from './models/ModelWithDuplicateImports'; +export type { ModelWithDuplicateProperties } from './models/ModelWithDuplicateProperties'; +export { ModelWithEnum } from './models/ModelWithEnum'; +export type { ModelWithEnumFromDescription } from './models/ModelWithEnumFromDescription'; +export type { ModelWithInteger } from './models/ModelWithInteger'; +export type { ModelWithNestedEnums } from './models/ModelWithNestedEnums'; +export type { ModelWithNestedProperties } from './models/ModelWithNestedProperties'; +export type { ModelWithNullableString } from './models/ModelWithNullableString'; +export type { ModelWithOrderedProperties } from './models/ModelWithOrderedProperties'; +export type { ModelWithPattern } from './models/ModelWithPattern'; +export type { ModelWithProperties } from './models/ModelWithProperties'; +export type { ModelWithReference } from './models/ModelWithReference'; +export type { ModelWithString } from './models/ModelWithString'; +export type { Pageable } from './models/Pageable'; +export type { SimpleBoolean } from './models/SimpleBoolean'; +export type { SimpleFile } from './models/SimpleFile'; +export type { SimpleInteger } from './models/SimpleInteger'; +export type { SimpleParameter } from './models/SimpleParameter'; +export type { SimpleReference } from './models/SimpleReference'; +export type { SimpleString } from './models/SimpleString'; +export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern'; + +export { $_default } from './schemas/$_default'; +export { $ArrayWithArray } from './schemas/$ArrayWithArray'; +export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; +export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; +export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; +export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; +export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; +export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; +export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; +export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; +export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; +export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; +export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; +export { $CompositionBaseModel } from './schemas/$CompositionBaseModel'; +export { $CompositionExtendedModel } from './schemas/$CompositionExtendedModel'; +export { $CompositionWithAllOfAndNullable } from './schemas/$CompositionWithAllOfAndNullable'; +export { $CompositionWithAnyOf } from './schemas/$CompositionWithAnyOf'; +export { $CompositionWithAnyOfAndNullable } from './schemas/$CompositionWithAnyOfAndNullable'; +export { $CompositionWithAnyOfAnonymous } from './schemas/$CompositionWithAnyOfAnonymous'; +export { $CompositionWithOneOf } from './schemas/$CompositionWithOneOf'; +export { $CompositionWithOneOfAndComplexArrayDictionary } from './schemas/$CompositionWithOneOfAndComplexArrayDictionary'; +export { $CompositionWithOneOfAndNullable } from './schemas/$CompositionWithOneOfAndNullable'; +export { $CompositionWithOneOfAndSimpleArrayDictionary } from './schemas/$CompositionWithOneOfAndSimpleArrayDictionary'; +export { $CompositionWithOneOfAndSimpleDictionary } from './schemas/$CompositionWithOneOfAndSimpleDictionary'; +export { $CompositionWithOneOfAnonymous } from './schemas/$CompositionWithOneOfAnonymous'; +export { $CompositionWithOneOfDiscriminator } from './schemas/$CompositionWithOneOfDiscriminator'; +export { $DeprecatedModel } from './schemas/$DeprecatedModel'; +export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; +export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; +export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; +export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; +export { $DictionaryWithString } from './schemas/$DictionaryWithString'; +export { $EnumFromDescription } from './schemas/$EnumFromDescription'; +export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; +export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; +export { $EnumWithStrings } from './schemas/$EnumWithStrings'; +export { $File } from './schemas/$File'; +export { $FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; +export { $FreeFormObjectWithAdditionalPropertiesEqTrue } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue'; +export { $FreeFormObjectWithoutAdditionalProperties } from './schemas/$FreeFormObjectWithoutAdditionalProperties'; +export { $ModelCircle } from './schemas/$ModelCircle'; +export { $ModelSquare } from './schemas/$ModelSquare'; +export { $ModelThatExtends } from './schemas/$ModelThatExtends'; +export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; +export { $ModelWithArray } from './schemas/$ModelWithArray'; +export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; +export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; +export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; +export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; +export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; +export { $ModelWithEnum } from './schemas/$ModelWithEnum'; +export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; +export { $ModelWithInteger } from './schemas/$ModelWithInteger'; +export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; +export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; +export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; +export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; +export { $ModelWithPattern } from './schemas/$ModelWithPattern'; +export { $ModelWithProperties } from './schemas/$ModelWithProperties'; +export { $ModelWithReference } from './schemas/$ModelWithReference'; +export { $ModelWithString } from './schemas/$ModelWithString'; +export { $Pageable } from './schemas/$Pageable'; +export { $SimpleBoolean } from './schemas/$SimpleBoolean'; +export { $SimpleFile } from './schemas/$SimpleFile'; +export { $SimpleInteger } from './schemas/$SimpleInteger'; +export { $SimpleParameter } from './schemas/$SimpleParameter'; +export { $SimpleReference } from './schemas/$SimpleReference'; +export { $SimpleString } from './schemas/$SimpleString'; +export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; + +export { CollectionFormatService } from './services/CollectionFormatService'; +export { ComplexService } from './services/ComplexService'; +export { DefaultService } from './services/DefaultService'; +export { DefaultsService } from './services/DefaultsService'; +export { DeprecatedService } from './services/DeprecatedService'; +export { DescriptionsService } from './services/DescriptionsService'; +export { DuplicateService } from './services/DuplicateService'; +export { ErrorService } from './services/ErrorService'; +export { FormDataService } from './services/FormDataService'; +export { HeaderService } from './services/HeaderService'; +export { MultipartService } from './services/MultipartService'; +export { MultipleTags1Service } from './services/MultipleTags1Service'; +export { MultipleTags2Service } from './services/MultipleTags2Service'; +export { MultipleTags3Service } from './services/MultipleTags3Service'; +export { NoContentService } from './services/NoContentService'; +export { ParametersService } from './services/ParametersService'; +export { RequestBodyService } from './services/RequestBodyService'; +export { ResponseService } from './services/ResponseService'; +export { SimpleService } from './services/SimpleService'; +export { TypesService } from './services/TypesService'; +export { UploadService } from './services/UploadService'; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type _default = { + name?: string; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a simple array containing an array + */ +export type ArrayWithArray = Array>; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with booleans + */ +export type ArrayWithBooleans = Array; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with numbers + */ +export type ArrayWithNumbers = Array; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with properties + */ +export type ArrayWithProperties = Array<{ + foo?: string; + bar?: string; +}>; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a simple array with references + */ +export type ArrayWithReferences = Array; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple array with strings + */ +export type ArrayWithStrings = Array; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + */ +export type CommentWithBackticks = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing multiline comments in string: First line + * Second line + * + * Fourth line + */ +export type CommentWithBreaks = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing expression placeholders in string: \${expression} should work + */ +export type CommentWithExpressionPlaceholders = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing quotes in string: 'single quote''' and "double quotes""" should work + */ +export type CommentWithQuotes = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing reserved characters in string: * inline * and ** inline ** should work + */ +export type CommentWithReservedCharacters = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work + */ +export type CommentWithSlashes = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionBaseModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a base model with two simple optional properties + */ +export type CompositionBaseModel = { + firstName?: string; + lastname?: string; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionExtendedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CompositionBaseModel } from './CompositionBaseModel'; +/** + * This is a model that extends the base model + */ +export type CompositionExtendedModel = (CompositionBaseModel & { + firstName: string; + lastname: string; + age: number; +}); + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAllOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; +/** + * This is a model with one property with a 'all of' relationship + */ +export type CompositionWithAllOfAndNullable = { + propA?: ({ + boolean?: boolean; + } & ModelWithEnum & ModelWithArray & ModelWithDictionary) | null; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAnyOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with one property with a 'any of' relationship + */ +export type CompositionWithAnyOf = { + propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAnyOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; +/** + * This is a model with one property with a 'any of' relationship + */ +export type CompositionWithAnyOfAndNullable = { + propA?: ({ + boolean?: boolean; + } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAnyOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one property with a 'any of' relationship where the options are not $ref + */ +export type CompositionWithAnyOfAnonymous = { + propA?: ({ + propA?: string; + } | string | number); +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with one property with a 'one of' relationship + */ +export type CompositionWithOneOf = { + propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model that contains a dictionary of complex arrays (composited) within composition + */ +export type CompositionWithOneOfAndComplexArrayDictionary = { + propA?: (boolean | Record>); +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithArray } from './ModelWithArray'; +import type { ModelWithDictionary } from './ModelWithDictionary'; +import type { ModelWithEnum } from './ModelWithEnum'; +/** + * This is a model with one property with a 'one of' relationship + */ +export type CompositionWithOneOfAndNullable = { + propA?: ({ + boolean?: boolean; + } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model that contains a dictionary of simple arrays within composition + */ +export type CompositionWithOneOfAndSimpleArrayDictionary = { + propA?: (boolean | Record>); +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model that contains a simple dictionary within composition + */ +export type CompositionWithOneOfAndSimpleDictionary = { + propA?: (boolean | Record); +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one property with a 'one of' relationship where the options are not $ref + */ +export type CompositionWithOneOfAnonymous = { + propA?: ({ + propA?: string; + } | string | number); +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfDiscriminator.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelCircle } from './ModelCircle'; +import type { ModelSquare } from './ModelSquare'; +/** + * This is a model with one property with a 'one of' relationship where the options are not $ref + */ +export type CompositionWithOneOfDiscriminator = (ModelCircle | ModelSquare); + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/DeprecatedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a deprecated model with a deprecated property + * @deprecated + */ +export type DeprecatedModel = { + /** + * This is a deprecated property + * @deprecated + */ + prop?: string; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a complex dictionary + */ +export type DictionaryWithArray = Record>; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a string dictionary + */ +export type DictionaryWithDictionary = Record>; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a complex dictionary + */ +export type DictionaryWithProperties = Record; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a string reference + */ +export type DictionaryWithReference = Record; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a string dictionary + */ +export type DictionaryWithString = Record; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Success=1,Warning=2,Error=3 + */ +export type EnumFromDescription = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple enum with numbers + */ +export enum EnumWithExtensions { + /** + * Used when the status of something is successful + */ + CUSTOM_SUCCESS = 200, + /** + * Used when the status of something has a warning + */ + CUSTOM_WARNING = 400, + /** + * Used when the status of something has an error + */ + CUSTOM_ERROR = 500, +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple enum with numbers + */ +export enum EnumWithNumbers { + '_1' = 1, + '_2' = 2, + '_3' = 3, + '_1.1' = 1.1, + '_1.2' = 1.2, + '_1.3' = 1.3, + '_100' = 100, + '_200' = 200, + '_300' = 300, + '_-100' = -100, + '_-200' = -200, + '_-300' = -300, + '_-1.1' = -1.1, + '_-1.2' = -1.2, + '_-1.3' = -1.3, +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple enum with strings + */ +export enum EnumWithStrings { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + _SINGLE_QUOTE_ = '\\'Single Quote\\'', + _DOUBLE_QUOTES_ = '"Double Quotes"', +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/File.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type File = { + readonly id?: string; + readonly updated_at?: string; + readonly created_at?: string; + mime: string; + readonly file?: string; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a free-form object with additionalProperties: {}. + */ +export type FreeFormObjectWithAdditionalPropertiesEqEmptyObject = Record; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a free-form object with additionalProperties: true. + */ +export type FreeFormObjectWithAdditionalPropertiesEqTrue = Record; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a free-form object without additionalProperties. + */ +export type FreeFormObjectWithoutAdditionalProperties = Record; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelCircle.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Circle + */ +export type ModelCircle = { + kind: 'circle'; + radius?: number; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelSquare.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Square + */ +export type ModelSquare = { + kind: 'square'; + sideLength?: number; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model that extends another model + */ +export type ModelThatExtends = (ModelWithString & { + propExtendsA?: string; + propExtendsB?: ModelWithString; +}); + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelThatExtends } from './ModelThatExtends'; +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model that extends another model + */ +export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { + propExtendsC?: string; + propExtendsD?: ModelWithString; +}); + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with one property containing an array + */ +export type ModelWithArray = { + prop?: Array; + propWithFile?: Array; + propWithNumber?: Array; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one boolean property + */ +export type ModelWithBoolean = { + /** + * This is a simple boolean property + */ + prop?: boolean; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one property containing a circular reference + */ +export type ModelWithCircularReference = { + prop?: ModelWithCircularReference; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one property containing a dictionary + */ +export type ModelWithDictionary = { + prop?: Record; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with duplicated imports + */ +export type ModelWithDuplicateImports = { + propA?: ModelWithString; + propB?: ModelWithString; + propC?: ModelWithString; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with duplicated properties + */ +export type ModelWithDuplicateProperties = { + prop?: ModelWithString; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one enum + */ +export type ModelWithEnum = { + /** + * This is a simple enum with strings + */ + test?: ModelWithEnum.test; + /** + * These are the HTTP error code enums + */ + statusCode?: ModelWithEnum.statusCode; + /** + * Simple boolean enum + */ + bool?: boolean; +}; +export namespace ModelWithEnum { + /** + * This is a simple enum with strings + */ + export enum test { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + } + /** + * These are the HTTP error code enums + */ + export enum statusCode { + _100 = '100', + _200_FOO = '200 FOO', + _300_FOO_BAR = '300 FOO_BAR', + _400_FOO_BAR = '400 foo-bar', + _500_FOO_BAR = '500 foo.bar', + _600_FOO_BAR = '600 foo&bar', + } +} + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one enum + */ +export type ModelWithEnumFromDescription = { + /** + * Success=1,Warning=2,Error=3 + */ + test?: number; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one number property + */ +export type ModelWithInteger = { + /** + * This is a simple number property + */ + prop?: number; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with nested enums + */ +export type ModelWithNestedEnums = { + dictionaryWithEnum?: Record; + dictionaryWithEnumFromDescription?: Record; + arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; + arrayWithDescription?: Array; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one nested property + */ +export type ModelWithNestedProperties = { + readonly first: { + readonly second: { + readonly third: string | null; + } | null; + } | null; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one string property + */ +export type ModelWithNullableString = { + /** + * This is a simple string property + */ + nullableProp1?: string | null; + /** + * This is a simple string property + */ + nullableRequiredProp1: string | null; + /** + * This is a simple string property + */ + nullableProp2?: string | null; + /** + * This is a simple string property + */ + nullableRequiredProp2: string | null; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with ordered properties + */ +export type ModelWithOrderedProperties = { + zebra?: string; + apple?: string; + hawaii?: string; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model that contains a some patterns + */ +export type ModelWithPattern = { + key: string; + name: string; + readonly enabled?: boolean; + readonly modified?: string; + id?: string; + text?: string; + patternWithSingleQuotes?: string; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with one nested property + */ +export type ModelWithProperties = { + required: string; + readonly requiredAndReadOnly: string; + requiredAndNullable: string | null; + string?: string; + number?: number; + boolean?: boolean; + reference?: ModelWithString; + 'property with space'?: string; + default?: string; + try?: string; + readonly '@namespace.string'?: string; + readonly '@namespace.integer'?: number; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithProperties } from './ModelWithProperties'; +/** + * This is a model with one property containing a reference + */ +export type ModelWithReference = { + prop?: ModelWithProperties; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a model with one string property + */ +export type ModelWithString = { + /** + * This is a simple string property + */ + prop?: string; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/Pageable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type Pageable = { + page?: number; + size?: number; + sort?: Array; +}; + +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple boolean + */ +export type SimpleBoolean = boolean; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple file + */ +export type SimpleFile = Blob; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple number + */ +export type SimpleInteger = number; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/SimpleParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a reusable parameter + */ +export type SimpleParameter = string; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; +/** + * This is a simple reference + */ +export type SimpleReference = ModelWithString; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple string + */ +export type SimpleString = string; +" +`; + +exports[`v3 should generate: ./test/generated/v3/models/SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a simple string + */ +export type SimpleStringWithPattern = string | null; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $_default = { + properties: { + name: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithArray = { + type: 'array', + contains: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithBooleans = { + type: 'array', + contains: { + type: 'boolean', + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithNumbers = { + type: 'array', + contains: { + type: 'number', + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithProperties = { + type: 'array', + contains: { + properties: { + foo: { + type: 'string', + }, + bar: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithReferences = { + type: 'array', + contains: { + type: 'ModelWithString', + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ArrayWithStrings = { + type: 'array', + contains: { + type: 'string', + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithBackticks = { + type: 'number', + description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithBreaks = { + type: 'number', + description: \`Testing multiline comments in string: First line + Second line + Fourth line\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithExpressionPlaceholders = { + type: 'number', + description: \`Testing expression placeholders in string: \\\${expression} should work\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithQuotes = { + type: 'number', + description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithReservedCharacters = { + type: 'number', + description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CommentWithSlashes = { + type: 'number', + description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionBaseModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionBaseModel = { + description: \`This is a base model with two simple optional properties\`, + properties: { + firstName: { + type: 'string', + }, + lastname: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionExtendedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionExtendedModel = { + type: 'all-of', + description: \`This is a model that extends the base model\`, + contains: [{ + type: 'CompositionBaseModel', + }, { + properties: { + firstName: { + type: 'string', + isRequired: true, + }, + lastname: { + type: 'string', + isRequired: true, + }, + age: { + type: 'number', + isRequired: true, + }, + }, + }], +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAllOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAllOfAndNullable = { + description: \`This is a model with one property with a 'all of' relationship\`, + properties: { + propA: { + type: 'all-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAnyOf = { + description: \`This is a model with one property with a 'any of' relationship\`, + properties: { + propA: { + type: 'any-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAnyOfAndNullable = { + description: \`This is a model with one property with a 'any of' relationship\`, + properties: { + propA: { + type: 'any-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithAnyOfAnonymous = { + description: \`This is a model with one property with a 'any of' relationship where the options are not $ref\`, + properties: { + propA: { + type: 'any-of', + contains: [{ + description: \`Anonymous object type\`, + properties: { + propA: { + type: 'string', + }, + }, + }, { + type: 'string', + description: \`Anonymous string type\`, + }, { + type: 'number', + description: \`Anonymous integer type\`, + }], + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOf = { + description: \`This is a model with one property with a 'one of' relationship\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndComplexArrayDictionary = { + description: \`This is a model that contains a dictionary of complex arrays (composited) within composition\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'boolean', + }, { + type: 'dictionary', + contains: { + type: 'array', + contains: { + type: 'one-of', + contains: [{ + type: 'number', + }, { + type: 'string', + }], + }, + }, + }], + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndNullable = { + description: \`This is a model with one property with a 'one of' relationship\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + properties: { + boolean: { + type: 'boolean', + }, + }, + }, { + type: 'ModelWithEnum', + }, { + type: 'ModelWithArray', + }, { + type: 'ModelWithDictionary', + }], + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndSimpleArrayDictionary = { + description: \`This is a model that contains a dictionary of simple arrays within composition\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'boolean', + }, { + type: 'dictionary', + contains: { + type: 'array', + contains: { + type: 'boolean', + }, + }, + }], + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAndSimpleDictionary = { + description: \`This is a model that contains a simple dictionary within composition\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + type: 'boolean', + }, { + type: 'dictionary', + contains: { + type: 'number', + }, + }], + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfAnonymous = { + description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, + properties: { + propA: { + type: 'one-of', + contains: [{ + description: \`Anonymous object type\`, + properties: { + propA: { + type: 'string', + }, + }, + }, { + type: 'string', + description: \`Anonymous string type\`, + }, { + type: 'number', + description: \`Anonymous integer type\`, + }], + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfDiscriminator.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CompositionWithOneOfDiscriminator = { + type: 'one-of', + description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, + contains: [{ + type: 'ModelCircle', + }, { + type: 'ModelSquare', + }], +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$DeprecatedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DeprecatedModel = { + description: \`This is a deprecated model with a deprecated property\`, + properties: { + prop: { + type: 'string', + description: \`This is a deprecated property\`, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithArray = { + type: 'dictionary', + contains: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithDictionary = { + type: 'dictionary', + contains: { + type: 'dictionary', + contains: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithProperties = { + type: 'dictionary', + contains: { + properties: { + foo: { + type: 'string', + }, + bar: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithReference = { + type: 'dictionary', + contains: { + type: 'ModelWithString', + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $DictionaryWithString = { + type: 'dictionary', + contains: { + type: 'string', + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumFromDescription = { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithExtensions = { + type: 'Enum', +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithNumbers = { + type: 'Enum', +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EnumWithStrings = { + type: 'Enum', +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$File.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $File = { + properties: { + id: { + type: 'string', + isReadOnly: true, + minLength: 1, + }, + updated_at: { + type: 'string', + isReadOnly: true, + format: 'date-time', + }, + created_at: { + type: 'string', + isReadOnly: true, + format: 'date-time', + }, + mime: { + type: 'string', + isRequired: true, + maxLength: 24, + minLength: 1, + }, + file: { + type: 'string', + isReadOnly: true, + format: 'uri', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FreeFormObjectWithAdditionalPropertiesEqEmptyObject = { + type: 'dictionary', + contains: { + properties: { + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FreeFormObjectWithAdditionalPropertiesEqTrue = { + type: 'dictionary', + contains: { + properties: { + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FreeFormObjectWithoutAdditionalProperties = { + type: 'dictionary', + contains: { + properties: { + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelCircle.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelCircle = { + description: \`Circle\`, + properties: { + kind: { + type: 'string', + isRequired: true, + }, + radius: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelSquare.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelSquare = { + description: \`Square\`, + properties: { + kind: { + type: 'string', + isRequired: true, + }, + sideLength: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelThatExtends = { + type: 'all-of', + description: \`This is a model that extends another model\`, + contains: [{ + type: 'ModelWithString', + }, { + properties: { + propExtendsA: { + type: 'string', + }, + propExtendsB: { + type: 'ModelWithString', + }, + }, + }], +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelThatExtendsExtends = { + type: 'all-of', + description: \`This is a model that extends another model\`, + contains: [{ + type: 'ModelWithString', + }, { + type: 'ModelThatExtends', + }, { + properties: { + propExtendsC: { + type: 'string', + }, + propExtendsD: { + type: 'ModelWithString', + }, + }, + }], +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithArray = { + description: \`This is a model with one property containing an array\`, + properties: { + prop: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, + propWithFile: { + type: 'array', + contains: { + type: 'binary', + }, + }, + propWithNumber: { + type: 'array', + contains: { + type: 'number', + }, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithBoolean = { + description: \`This is a model with one boolean property\`, + properties: { + prop: { + type: 'boolean', + description: \`This is a simple boolean property\`, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithCircularReference = { + description: \`This is a model with one property containing a circular reference\`, + properties: { + prop: { + type: 'ModelWithCircularReference', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDictionary = { + description: \`This is a model with one property containing a dictionary\`, + properties: { + prop: { + type: 'dictionary', + contains: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDuplicateImports = { + description: \`This is a model with duplicated imports\`, + properties: { + propA: { + type: 'ModelWithString', + }, + propB: { + type: 'ModelWithString', + }, + propC: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithDuplicateProperties = { + description: \`This is a model with duplicated properties\`, + properties: { + prop: { + type: 'ModelWithString', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithEnum = { + description: \`This is a model with one enum\`, + properties: { + test: { + type: 'Enum', + }, + statusCode: { + type: 'Enum', + }, + bool: { + type: 'boolean', + description: \`Simple boolean enum\`, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithEnumFromDescription = { + description: \`This is a model with one enum\`, + properties: { + test: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithInteger = { + description: \`This is a model with one number property\`, + properties: { + prop: { + type: 'number', + description: \`This is a simple number property\`, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNestedEnums = { + description: \`This is a model with nested enums\`, + properties: { + dictionaryWithEnum: { + type: 'dictionary', + contains: { + type: 'Enum', + }, + }, + dictionaryWithEnumFromDescription: { + type: 'dictionary', + contains: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, + arrayWithEnum: { + type: 'array', + contains: { + type: 'Enum', + }, + }, + arrayWithDescription: { + type: 'array', + contains: { + type: 'number', + description: \`Success=1,Warning=2,Error=3\`, + }, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNestedProperties = { + description: \`This is a model with one nested property\`, + properties: { + first: { + properties: { + second: { + properties: { + third: { + type: 'string', + isReadOnly: true, + isRequired: true, + isNullable: true, + }, + }, + isReadOnly: true, + isRequired: true, + isNullable: true, + }, + }, + isReadOnly: true, + isRequired: true, + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithNullableString = { + description: \`This is a model with one string property\`, + properties: { + nullableProp1: { + type: 'string', + description: \`This is a simple string property\`, + isNullable: true, + }, + nullableRequiredProp1: { + type: 'string', + description: \`This is a simple string property\`, + isRequired: true, + isNullable: true, + }, + nullableProp2: { + type: 'string', + description: \`This is a simple string property\`, + isNullable: true, + }, + nullableRequiredProp2: { + type: 'string', + description: \`This is a simple string property\`, + isRequired: true, + isNullable: true, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithOrderedProperties = { + description: \`This is a model with ordered properties\`, + properties: { + zebra: { + type: 'string', + }, + apple: { + type: 'string', + }, + hawaii: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithPattern = { + description: \`This is a model that contains a some patterns\`, + properties: { + key: { + type: 'string', + isRequired: true, + maxLength: 64, + pattern: '^[a-zA-Z0-9_]*$', + }, + name: { + type: 'string', + isRequired: true, + maxLength: 255, + }, + enabled: { + type: 'boolean', + isReadOnly: true, + }, + modified: { + type: 'string', + isReadOnly: true, + format: 'date-time', + }, + id: { + type: 'string', + pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', + }, + text: { + type: 'string', + pattern: '^\\\\w+$', + }, + patternWithSingleQuotes: { + type: 'string', + pattern: '^[a-zA-Z0-9\\']*$', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithProperties = { + description: \`This is a model with one nested property\`, + properties: { + required: { + type: 'string', + isRequired: true, + }, + requiredAndReadOnly: { + type: 'string', + isReadOnly: true, + isRequired: true, + }, + requiredAndNullable: { + type: 'string', + isRequired: true, + isNullable: true, + }, + string: { + type: 'string', + }, + number: { + type: 'number', + }, + boolean: { + type: 'boolean', + }, + reference: { + type: 'ModelWithString', + }, + 'property with space': { + type: 'string', + }, + default: { + type: 'string', + }, + try: { + type: 'string', + }, + '@namespace.string': { + type: 'string', + isReadOnly: true, + }, + '@namespace.integer': { + type: 'number', + isReadOnly: true, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithReference = { + description: \`This is a model with one property containing a reference\`, + properties: { + prop: { + type: 'ModelWithProperties', + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ModelWithString = { + description: \`This is a model with one string property\`, + properties: { + prop: { + type: 'string', + description: \`This is a simple string property\`, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$Pageable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Pageable = { + properties: { + page: { + type: 'number', + format: 'int32', + }, + size: { + type: 'number', + format: 'int32', + minimum: 1, + }, + sort: { + type: 'array', + contains: { + type: 'string', + }, + }, + }, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleBoolean = { + type: 'boolean', + description: \`This is a simple boolean\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleFile = { + type: 'binary', + description: \`This is a simple file\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleInteger = { + type: 'number', + description: \`This is a simple number\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleParameter = { + type: 'string', + description: \`This is a reusable parameter\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleReference = { + type: 'ModelWithString', + description: \`This is a simple reference\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleString = { + type: 'string', + description: \`This is a simple string\`, +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleStringWithPattern = { + type: 'string', + description: \`This is a simple string\`, + isNullable: true, + maxLength: 64, + pattern: '^[a-zA-Z0-9_]*$', +} as const; +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/CollectionFormatService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class CollectionFormatService { + /** + * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) + * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) + * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) + * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) + * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) + * @throws ApiError + */ + public static collectionFormat(parameterArrayCsv: Array | null, + parameterArraySsv: Array | null, + parameterArrayTsv: Array | null, + parameterArrayPipes: Array | null, + parameterArrayMulti: Array | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/collectionFormat', + query: { + 'parameterArrayCSV': parameterArrayCsv, + 'parameterArraySSV': parameterArraySsv, + 'parameterArrayTSV': parameterArrayTsv, + 'parameterArrayPipes': parameterArrayPipes, + 'parameterArrayMulti': parameterArrayMulti, + }, + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/ComplexService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithArray } from '../models/ModelWithArray'; +import type { ModelWithDictionary } from '../models/ModelWithDictionary'; +import type { ModelWithEnum } from '../models/ModelWithEnum'; +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ComplexService { + /** + * @param parameterObject Parameter containing object + * @param parameterReference Parameter containing reference + * @returns ModelWithString Successful response + * @throws ApiError + */ + public static complexTypes(parameterObject: { + first?: { + second?: { + third?: string; + }; + }; + }, + parameterReference: ModelWithString, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/complex', + query: { + 'parameterObject': parameterObject, + 'parameterReference': parameterReference, + }, + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); +} +/** + * @param id + * @param requestBody + * @returns ModelWithString Success + * @throws ApiError + */ +public static complexParams(id: number, +requestBody?: { + readonly key: string | null; + name: string | null; + enabled?: boolean; + readonly type: 'Monkey' | 'Horse' | 'Bird'; + listOfModels?: Array | null; + listOfStrings?: Array | null; + parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); + readonly user?: { + readonly id?: number; + readonly name?: string | null; + }; +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/complex/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json-patch+json', + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DefaultService { + /** + * @throws ApiError + */ + public static serviceWithEmptyTag(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-tag', }); } } " `; -exports[`v2 should generate: test/generated/v2/services/DuplicateService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/DefaultsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DefaultsService { + /** + * @param parameterString This is a simple string with default value + * @param parameterNumber This is a simple number with default value + * @param parameterBoolean This is a simple boolean with default value + * @param parameterEnum This is a simple enum with default value + * @param parameterModel This is a simple model with default value + * @throws ApiError + */ + public static callWithDefaultParameters(parameterString: string | null = 'Hello World!', + parameterNumber: number | null = 123, + parameterBoolean: boolean | null = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString | null = { + "prop": "Hello World!" + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} +/** + * @param parameterString This is a simple string that is optional with default value + * @param parameterNumber This is a simple number that is optional with default value + * @param parameterBoolean This is a simple boolean that is optional with default value + * @param parameterEnum This is a simple enum that is optional with default value + * @param parameterModel This is a simple model that is optional with default value + * @throws ApiError + */ +public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', +parameterNumber: number = 123, +parameterBoolean: boolean = true, +parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', +parameterModel: ModelWithString = { + "prop": "Hello World!" +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} +/** + * @param parameterStringWithNoDefault This is a string with no default + * @param parameterOptionalStringWithDefault This is a optional string with default + * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default + * @param parameterOptionalStringWithNoDefault This is a optional string with no default + * @param parameterStringWithDefault This is a string with default + * @param parameterStringWithEmptyDefault This is a string with empty default + * @param parameterStringNullableWithNoDefault This is a string that can be null with no default + * @param parameterStringNullableWithDefault This is a string that can be null with default + * @throws ApiError + */ +public static callToTestOrderOfParams(parameterStringWithNoDefault: string, +parameterOptionalStringWithDefault: string = 'Hello World!', +parameterOptionalStringWithEmptyDefault: string = '', +parameterOptionalStringWithNoDefault?: string, +parameterStringWithDefault: string = 'Hello World!', +parameterStringWithEmptyDefault: string = '', +parameterStringNullableWithNoDefault?: string | null, +parameterStringNullableWithDefault: string | null = null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/defaults', + query: { + 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, + 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, + 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, + 'parameterStringWithDefault': parameterStringWithDefault, + 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, + 'parameterStringWithNoDefault': parameterStringWithNoDefault, + 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, + 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, + }, + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/DeprecatedService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { DeprecatedModel } from '../models/DeprecatedModel'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DeprecatedService { + /** + * @deprecated + * @param parameter This parameter is deprecated + * @throws ApiError + */ + public static deprecatedCall(parameter: DeprecatedModel | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/deprecated', + headers: { + 'parameter': parameter, + }, + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/DescriptionsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DescriptionsService { + /** + * @param parameterWithBreaks Testing multiline comments in string: First line + * Second line + * + * Fourth line + * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work + * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work + * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work + * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work + * @throws ApiError + */ + public static callWithDescriptions(parameterWithBreaks?: any, + parameterWithBackticks?: any, + parameterWithSlashes?: any, + parameterWithExpressionPlaceholders?: any, + parameterWithQuotes?: any, + parameterWithReservedCharacters?: any, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/descriptions/', + query: { + 'parameterWithBreaks': parameterWithBreaks, + 'parameterWithBackticks': parameterWithBackticks, + 'parameterWithSlashes': parameterWithSlashes, + 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, + 'parameterWithQuotes': parameterWithQuotes, + 'parameterWithReservedCharacters': parameterWithReservedCharacters, + }, + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/DuplicateService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2636,42 +9805,73 @@ export class DuplicateService { " `; -exports[`v2 should generate: test/generated/v2/services/ErrorService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/ErrorService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ErrorService { + /** + * @param status Status code to return + * @returns any Custom message: Successful response + * @throws ApiError + */ + public static testErrorCode(status: number, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/error', + query: { + 'status': status, + }, + errors: { + 500: \`Custom message: Internal Server Error\`, + 501: \`Custom message: Not Implemented\`, + 502: \`Custom message: Bad Gateway\`, + 503: \`Custom message: Service Unavailable\`, + }, + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/FormDataService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; -export class ErrorService { +export class FormDataService { /** - * @param status Status code to return - * @returns any Custom message: Successful response + * @param parameter This is a reusable parameter + * @param formData A reusable request body * @throws ApiError */ - public static testErrorCode( - status: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/error', - query: { - 'status': status, - }, - errors: { - 500: \`Custom message: Internal Server Error\`, - 501: \`Custom message: Not Implemented\`, - 502: \`Custom message: Bad Gateway\`, - 503: \`Custom message: Service Unavailable\`, - }, - }); - } + public static postApiFormData(parameter?: string, + formData?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/formData/', + query: { + 'parameter': parameter, + }, + formData: formData, + mediaType: 'multipart/form-data', + }); +} } " `; -exports[`v2 should generate: test/generated/v2/services/HeaderService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/HeaderService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2699,7 +9899,53 @@ export class HeaderService { " `; -exports[`v2 should generate: test/generated/v2/services/MultipleTags1Service.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/MultipartService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipartService { + /** + * @param formData + * @throws ApiError + */ + public static multipartRequest(formData?: { + content?: Blob; + data?: ModelWithString | null; + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/multipart', + formData: formData, + mediaType: 'multipart/form-data', + }); +} +/** + * @returns any OK + * @throws ApiError + */ +public static multipartResponse(): CancelablePromise<{ + file?: Blob; + metadata?: { + foo?: string; + bar?: string; + }; +}> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multipart', + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/MultipleTags1Service.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2732,7 +9978,7 @@ export class MultipleTags1Service { " `; -exports[`v2 should generate: test/generated/v2/services/MultipleTags2Service.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/MultipleTags2Service.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2765,7 +10011,7 @@ export class MultipleTags2Service { " `; -exports[`v2 should generate: test/generated/v2/services/MultipleTags3Service.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/MultipleTags3Service.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2788,7 +10034,7 @@ export class MultipleTags3Service { " `; -exports[`v2 should generate: test/generated/v2/services/NoContentService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/NoContentService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2811,11 +10057,13 @@ export class NoContentService { " `; -exports[`v2 should generate: test/generated/v2/services/ParametersService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/ParametersService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { Pageable } from '../models/Pageable'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; @@ -2824,82 +10072,160 @@ export class ParametersService { * @param parameterHeader This is the parameter that goes into the header * @param parameterQuery This is the parameter that goes into the query params * @param parameterForm This is the parameter that goes into the form data - * @param parameterBody This is the parameter that is sent as request body + * @param parameterCookie This is the parameter that goes into the cookie * @param parameterPath This is the parameter that goes into the path + * @param requestBody This is the parameter that goes into the body * @throws ApiError */ - public static callWithParameters( - parameterHeader: string, - parameterQuery: string, - parameterForm: string, - parameterBody: string, - parameterPath: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameterPath}', - path: { - 'parameterPath': parameterPath, - }, - headers: { - 'parameterHeader': parameterHeader, - }, - query: { - 'parameterQuery': parameterQuery, - }, - formData: { - 'parameterForm': parameterForm, - }, - body: parameterBody, - }); - } + public static callWithParameters(parameterHeader: string | null, + parameterQuery: string | null, + parameterForm: string | null, + parameterCookie: string | null, + parameterPath: string | null, + requestBody: ModelWithString | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameterPath}', + path: { + 'parameterPath': parameterPath, + }, + cookies: { + 'parameterCookie': parameterCookie, + }, + headers: { + 'parameterHeader': parameterHeader, + }, + query: { + 'parameterQuery': parameterQuery, + }, + formData: { + 'parameterForm': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param parameterHeader This is the parameter that goes into the request header + * @param parameterQuery This is the parameter that goes into the request query params + * @param parameterForm This is the parameter that goes into the request form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param requestBody This is the parameter that goes into the body + * @param parameterPath1 This is the parameter that goes into the path + * @param parameterPath2 This is the parameter that goes into the path + * @param parameterPath3 This is the parameter that goes into the path + * @param _default This is the parameter with a reserved keyword + * @throws ApiError + */ +public static callWithWeirdParameterNames(parameterHeader: string | null, +parameterQuery: string | null, +parameterForm: string | null, +parameterCookie: string | null, +requestBody: ModelWithString | null, +parameterPath1?: string, +parameterPath2?: string, +parameterPath3?: string, +_default?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', + path: { + 'parameter.path.1': parameterPath1, + 'parameter-path-2': parameterPath2, + 'PARAMETER-PATH-3': parameterPath3, + }, + cookies: { + 'PARAMETER-COOKIE': parameterCookie, + }, + headers: { + 'parameter.header': parameterHeader, + }, + query: { + 'default': _default, + 'parameter-query': parameterQuery, + }, + formData: { + 'parameter_form': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param requestBody This is a required parameter + * @param parameter This is an optional parameter + * @throws ApiError + */ +public static getCallWithOptionalParam(requestBody: ModelWithString, +parameter?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param parameter This is a required parameter + * @param requestBody This is an optional parameter + * @throws ApiError + */ +public static postCallWithOptionalParam(parameter: Pageable, +requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/RequestBodyService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class RequestBodyService { /** - * @param parameterHeader This is the parameter that goes into the request header - * @param parameterQuery This is the parameter that goes into the request query params - * @param parameterForm This is the parameter that goes into the request form data - * @param parameterBody This is the parameter that is sent as request body - * @param parameterPath1 This is the parameter that goes into the path - * @param parameterPath2 This is the parameter that goes into the path - * @param parameterPath3 This is the parameter that goes into the path - * @param _default This is the parameter with a reserved keyword + * @param parameter This is a reusable parameter + * @param requestBody A reusable request body * @throws ApiError */ - public static callWithWeirdParameterNames( - parameterHeader: string, - parameterQuery: string, - parameterForm: string, - parameterBody: string, - parameterPath1?: string, - parameterPath2?: string, - parameterPath3?: string, - _default?: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', - path: { - 'parameter.path.1': parameterPath1, - 'parameter-path-2': parameterPath2, - 'PARAMETER-PATH-3': parameterPath3, - }, - headers: { - 'parameter.header': parameterHeader, - }, - query: { - 'default': _default, - 'parameter-query': parameterQuery, - }, - formData: { - 'parameter_form': parameterForm, - }, - body: parameterBody, - }); - } + public static postApiRequestBody(parameter?: string, + requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/requestBody/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} } " `; -exports[`v2 should generate: test/generated/v2/services/ResponseService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/ResponseService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -2912,7 +10238,7 @@ import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; export class ResponseService { /** - * @returns ModelWithString Message for default response + * @returns ModelWithString * @throws ApiError */ public static callWithResponse(): CancelablePromise { @@ -2962,7 +10288,7 @@ export class ResponseService { " `; -exports[`v2 should generate: test/generated/v2/services/SimpleService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/SimpleService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3038,7 +10364,7 @@ export class SimpleService { " `; -exports[`v2 should generate: test/generated/v2/services/TypesService.ts 1`] = ` +exports[`v3 should generate: ./test/generated/v3/services/TypesService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3062,33 +10388,60 @@ export class TypesService { * @returns any Response is a simple object * @throws ApiError */ - public static types( - parameterArray: Array, - parameterDictionary: Record, - parameterEnum: 'Success' | 'Warning' | 'Error', - parameterNumber: number = 123, - parameterString: string = 'default', - parameterBoolean: boolean = true, - parameterObject: any = null, - id?: number, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/types', - path: { - 'id': id, - }, - query: { - 'parameterNumber': parameterNumber, - 'parameterString': parameterString, - 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, - 'parameterArray': parameterArray, - 'parameterDictionary': parameterDictionary, - 'parameterEnum': parameterEnum, - }, - }); - } + public static types(parameterArray: Array | null, + parameterDictionary: Record | null, + parameterEnum: 'Success' | 'Warning' | 'Error' | null, + parameterNumber: number = 123, + parameterString: string | null = 'default', + parameterBoolean: boolean | null = true, + parameterObject: Record | null = null, + id?: number, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/types', + path: { + 'id': id, + }, + query: { + 'parameterNumber': parameterNumber, + 'parameterString': parameterString, + 'parameterBoolean': parameterBoolean, + 'parameterObject': parameterObject, + 'parameterArray': parameterArray, + 'parameterDictionary': parameterDictionary, + 'parameterEnum': parameterEnum, + }, + }); +} +} +" +`; + +exports[`v3 should generate: ./test/generated/v3/services/UploadService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class UploadService { + /** + * @param file Supply a file reference for upload + * @returns boolean + * @throws ApiError + */ + public static uploadFile(file: Blob, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/upload', + formData: { + 'file': file, + }, + }); +} } " `; @@ -8647,6 +16000,18 @@ export type SimpleInteger = number; " `; +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * This is a reusable parameter + */ +export type SimpleParameter = string; +" +`; + exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleReference.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ @@ -9975,6 +17340,18 @@ export const $SimpleInteger = { " `; +exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SimpleParameter = { + type: 'string', + description: \`This is a reusable parameter\`, +} as const; +" +`; + exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleReference.ts 1`] = ` "/* istanbul ignore file */ /* tslint:disable */ diff --git a/test/index.spec.ts b/test/index.spec.ts index 95c511501..de790f9ea 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -67,3 +67,27 @@ describe('v3WithCustomCoreLocation', () => { }); }); }); + +describe('changeQueryParametersToObj', () => { + it('should generate', async () => { + await generate({ + input: './test/spec/changeQueryParametersToObj.yaml', + output: './test/generated/changeQueryParametersToObj/', + httpClient: HttpClient.FETCH, + useOptions: false, + useUnionTypes: false, + exportCore: true, + exportSchemas: true, + exportModels: true, + exportServices: true, + postfixModels: 'Dto', + coreLocation: './test/generated/bin/core', + queryAsObject: true, + }); + expect(true).toBe(false); + // sync('./test/generated/changeQueryParametersToObj/**/*.ts').forEach(file => { + // const content = readFileSync(file, 'utf8').toString(); + // expect(content).toMatchSnapshot(file); + // }); + }); +}); diff --git a/test/spec/changeQueryParametersToObj.yaml b/test/spec/changeQueryParametersToObj.yaml new file mode 100644 index 000000000..eadca4515 --- /dev/null +++ b/test/spec/changeQueryParametersToObj.yaml @@ -0,0 +1,40 @@ +openapi: 3.0.0 +info: + version: 1.0.0 + title: thing API + description: An API for Everything . +paths: + /thing: + get: + operationId: GetAllThings + parameters: + - $ref: '#/components/parameters/orderByQuery' + - $ref: '#/components/parameters/orderByOrderQuery' + responses: + '200': + description: Get All Things + content: + application/json: + schema: + type: array + items: + type: string +components: + parameters: + orderByQuery: + name: orderBy + in: query + schema: + type: string + enum: + - name + - createdAt + - updatedAt + orderByOrderQuery: + name: orderByOrder + in: query + schema: + type: string + enum: + - asc + - desc diff --git a/types/index.d.ts b/types/index.d.ts index 035d098c9..e9a7cb515 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -30,6 +30,7 @@ export type Options = { write?: boolean; coreLocation?: string; exportReactQueryHook?: boolean; + queryAsObject?: boolean; }; export interface OpenApi {} From bda46548bcfeae2897b30ddc1b9a4f1dc2ce2d4b Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 31 Oct 2023 11:56:07 +0000 Subject: [PATCH 52/70] 1.2.0 --- package-lock.json | 6 +++--- package.json | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8f7a3e5ea..a9cd09195 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.1.1", + "version": "1.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.1.1", + "version": "1.2.0", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", @@ -17660,4 +17660,4 @@ } } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 36ead8a59..d6214322c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.1.1", + "version": "1.2.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { @@ -125,4 +125,4 @@ "rollup": "3.26.1", "typescript": "5.1.6" } -} \ No newline at end of file +} From bd46a12c05790c55408584b845287f325c538352 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 31 Oct 2023 12:15:45 +0000 Subject: [PATCH 53/70] Fix query names --- src/templates/exportService.hbs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/templates/exportService.hbs b/src/templates/exportService.hbs index 23891ccca..771d7b90e 100644 --- a/src/templates/exportService.hbs +++ b/src/templates/exportService.hbs @@ -140,7 +140,11 @@ export class {{{name}}}{{{@root.postfix}}} { {{/if}} {{#if parametersQuery}} {{#if @root.queryAsObject}} - query: queryObj, + query: queryObj? { + {{#each parametersQuery}} + '{{{prop}}}': queryObj.{{{name}}}, + {{/each}} + }: undefined, {{else}} query: { {{#each parametersQuery}} From 3a92050d51d0e7f9c4f3e5c1b1c2a19f49b857ec Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 31 Oct 2023 12:15:56 +0000 Subject: [PATCH 54/70] 1.2.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9cd09195..5c86230e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.0", + "version": "1.2.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.0", + "version": "1.2.1", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index d6214322c..03be91b5d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.0", + "version": "1.2.1", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 03f3c4e68b6a23c9a39e737b244c5cca9bb5f217 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Mon, 4 Mar 2024 15:29:06 +0000 Subject: [PATCH 55/70] Add const support --- src/client/interfaces/Model.d.ts | 12 +++++++++++- src/openApi/v3/interfaces/OpenApiSchema.d.ts | 1 + src/openApi/v3/parser/getModel.ts | 9 +++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/client/interfaces/Model.d.ts b/src/client/interfaces/Model.d.ts index 5f0318942..90ddb26f4 100644 --- a/src/client/interfaces/Model.d.ts +++ b/src/client/interfaces/Model.d.ts @@ -3,7 +3,17 @@ import type { Schema } from './Schema'; export interface Model extends Schema { name: string; - export: 'reference' | 'generic' | 'enum' | 'array' | 'dictionary' | 'interface' | 'one-of' | 'any-of' | 'all-of'; + export: + | 'reference' + | 'generic' + | 'enum' + | 'array' + | 'dictionary' + | 'interface' + | 'one-of' + | 'any-of' + | 'all-of' + | 'const'; type: string; base: string; template: string | null; diff --git a/src/openApi/v3/interfaces/OpenApiSchema.d.ts b/src/openApi/v3/interfaces/OpenApiSchema.d.ts index a51456f3b..3b77b5ac9 100644 --- a/src/openApi/v3/interfaces/OpenApiSchema.d.ts +++ b/src/openApi/v3/interfaces/OpenApiSchema.d.ts @@ -25,6 +25,7 @@ export interface OpenApiSchema extends OpenApiReference, WithEnumExtension { minProperties?: number; required?: string[]; enum?: (string | number)[]; + const?: string | number | boolean | null; type?: string | string[]; allOf?: OpenApiSchema[]; oneOf?: OpenApiSchema[]; diff --git a/src/openApi/v3/parser/getModel.ts b/src/openApi/v3/parser/getModel.ts index 9e9c60a98..f9b0b43a3 100644 --- a/src/openApi/v3/parser/getModel.ts +++ b/src/openApi/v3/parser/getModel.ts @@ -192,5 +192,14 @@ export const getModel = ( return model; } + if (definition.const !== undefined) { + model.export = 'const'; + const definitionConst = definition.const; + const modelConst = typeof definitionConst === 'string' ? `"${definitionConst}"` : `${definitionConst}`; + model.type = modelConst; + model.base = modelConst; + return model; + } + return model; }; From c7038aed72c155ea29d1f390fc3ab6a0f50c0927 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Mon, 4 Mar 2024 15:30:03 +0000 Subject: [PATCH 56/70] 1.2.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5c86230e8..fd50675e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.1", + "version": "1.2.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.1", + "version": "1.2.2", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index 03be91b5d..d086eab5e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.1", + "version": "1.2.2", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From b0d5482b8584c63bd99b1d70ce4e10907e5b69f5 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Mon, 4 Mar 2024 15:42:49 +0000 Subject: [PATCH 57/70] Move Const up --- src/openApi/v3/parser/getModel.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/openApi/v3/parser/getModel.ts b/src/openApi/v3/parser/getModel.ts index f9b0b43a3..fc45c25cd 100644 --- a/src/openApi/v3/parser/getModel.ts +++ b/src/openApi/v3/parser/getModel.ts @@ -48,6 +48,15 @@ export const getModel = ( properties: [], }; + if (definition.const !== undefined) { + model.export = 'const'; + const definitionConst = definition.const; + const modelConst = typeof definitionConst === 'string' ? `"${definitionConst}"` : `${definitionConst}`; + model.type = modelConst; + model.base = modelConst; + return model; + } + if (definition.$ref) { const definitionRef = getType(definition.$ref); model.export = 'reference'; @@ -192,14 +201,5 @@ export const getModel = ( return model; } - if (definition.const !== undefined) { - model.export = 'const'; - const definitionConst = definition.const; - const modelConst = typeof definitionConst === 'string' ? `"${definitionConst}"` : `${definitionConst}`; - model.type = modelConst; - model.base = modelConst; - return model; - } - return model; }; From 22f78da9f9e0d043a404696e455b2c3b8ac5f064 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Mon, 4 Mar 2024 15:44:19 +0000 Subject: [PATCH 58/70] 1.2.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index fd50675e6..f3762e050 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.2", + "version": "1.2.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.2", + "version": "1.2.3", "license": "MIT", "dependencies": { "camelcase": "^6.3.0", diff --git a/package.json b/package.json index d086eab5e..e63368fb4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.2", + "version": "1.2.3", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From ecb0750525ad79a222c11ab495946b8c09731f9e Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 26 Mar 2024 12:07:25 +0000 Subject: [PATCH 59/70] Add x-const-value-enum, --- jest.config.ts | 9 + package-lock.json | 12812 +++++++++++++++- package.json | 3 +- .../Extensions/WithEnumExtension.d.ts | 11 + src/openApi/v3/interfaces/OpenApiSchema.d.ts | 4 +- .../v3/interfaces/OpenApiServerVariable.d.ts | 4 +- src/openApi/v3/parser/extendEnum.ts | 16 +- src/openApi/v3/parser/getModel.ts | 14 +- test/__snapshots__/index.spec.ts.snap | 10982 +++---------- test/index.spec.ts | 32 +- test/spec/constEnumValue.yaml | 54 + 11 files changed, 14781 insertions(+), 9160 deletions(-) create mode 100644 test/spec/constEnumValue.yaml diff --git a/jest.config.ts b/jest.config.ts index af04ee15d..48009fb07 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -11,6 +11,15 @@ const config: Config.InitialOptions = { '\\.hbs$': '/src/templates/__mocks__/index.ts', }, }, + { + displayName: 'SNAPSHOT', + testEnvironment: 'node', + testMatch: ['/test/index.spec.ts'], + moduleFileExtensions: ['js', 'ts', 'd.ts'], + moduleNameMapper: { + '\\.hbs$': '/src/templates/__mocks__/index.ts', + }, + }, { displayName: 'E2E', testEnvironment: 'node', diff --git a/package-lock.json b/package-lock.json index 32a9722fd..b2c775729 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5024,43 +5024,6 @@ "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@tanstack/query-core": { - "version": "4.35.7", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.7.tgz", - "integrity": "sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "4.35.7", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.35.7.tgz", - "integrity": "sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==", - "dev": true, - "dependencies": { - "@tanstack/query-core": "4.35.7", - "use-sync-external-store": "^1.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -12596,19 +12559,6 @@ "node": ">=8" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "peer": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -14595,19 +14545,6 @@ "node": ">= 0.8" } }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dev": true, - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -17819,5 +17756,12752 @@ "tslib": "^2.3.0" } } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@angular-devkit/architect": { + "version": "0.1703.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.0.tgz", + "integrity": "sha512-2X2cswI4TIwtQxCe5U9f4jeiDjAb8r89XLpU0QwEHyZyWx02uhYHO3FDMJq/NxCS95IUAQOBGBhbD4ey4Hl9cQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "17.3.0", + "rxjs": "7.8.1" + } + }, + "@angular-devkit/build-angular": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.0.tgz", + "integrity": "sha512-mC70mZK/liITM4VlGL6hmYPkVsZwAb+X3TxwodBl/g8p/sYijDhK/4QJHzmcHTxLYQQS6nS5CUcr9ARQFkGN2w==", + "dev": true, + "requires": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1703.0", + "@angular-devkit/build-webpack": "0.1703.0", + "@angular-devkit/core": "17.3.0", + "@babel/core": "7.24.0", + "@babel/generator": "7.23.6", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.22.6", + "@babel/plugin-transform-async-generator-functions": "7.23.9", + "@babel/plugin-transform-async-to-generator": "7.23.3", + "@babel/plugin-transform-runtime": "7.24.0", + "@babel/preset-env": "7.24.0", + "@babel/runtime": "7.24.0", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "17.3.0", + "@vitejs/plugin-basic-ssl": "1.1.0", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.18", + "babel-loader": "9.1.3", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.21.5", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.22", + "css-loader": "6.10.0", + "esbuild": "0.20.1", + "esbuild-wasm": "0.20.1", + "fast-glob": "3.3.2", + "http-proxy-middleware": "2.0.6", + "https-proxy-agent": "7.0.4", + "inquirer": "9.2.15", + "jsonc-parser": "3.2.1", + "karma-source-map-support": "1.4.0", + "less": "4.2.0", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.30.8", + "mini-css-extract-plugin": "2.8.1", + "mrmime": "2.0.0", + "open": "8.4.2", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.1", + "piscina": "4.4.0", + "postcss": "8.4.35", + "postcss-loader": "8.1.1", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.71.1", + "sass-loader": "14.1.1", + "semver": "7.6.0", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "terser": "5.29.1", + "tree-kill": "1.2.2", + "tslib": "2.6.2", + "undici": "6.7.1", + "vite": "5.1.5", + "watchpack": "2.4.0", + "webpack": "5.90.3", + "webpack-dev-middleware": "6.1.1", + "webpack-dev-server": "4.15.1", + "webpack-merge": "5.10.0", + "webpack-subresource-integrity": "5.1.0" + }, + "dependencies": { + "@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/preset-env": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.1703.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.0.tgz", + "integrity": "sha512-IEaLzV5lolURJhMKM4naW6pYTDjI5E8I+97o/kbSa0yakvGOBwg7yRmfc54T1M0Z4nmifPsj4OVRGhBaa6dgXA==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1703.0", + "rxjs": "7.8.1" + } + }, + "@angular-devkit/core": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.0.tgz", + "integrity": "sha512-ldErhMYq8rcFOhWQ0syQdLy6IYb/LL0erigj7gCMOf59oJgM7B13o/ZTOCvyJttUZ9IP0HB98Gi3epEuJ30VLg==", + "dev": true, + "requires": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.1", + "picomatch": "4.0.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + } + }, + "@angular-devkit/schematics": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.0.tgz", + "integrity": "sha512-EW4Y8W/KTlvvT2fw3bh9hY7quDF2b9EaF+KftEqoDRWYbw0tlF8hWIdlfA6JxQC12d6uefh3kDNj5am0Il2oNQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "17.3.0", + "jsonc-parser": "3.2.1", + "magic-string": "0.30.8", + "ora": "5.4.1", + "rxjs": "7.8.1" + } + }, + "@angular/animations": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.0.tgz", + "integrity": "sha512-H7R3c2E479CPpaX6bU84F8u4JV+IFEfM8BUOgrbcI9tF16m6C2eJbl8IqNuW0yADuTarRSlOT7TW0qyrmcxhRw==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/cli": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.0.tgz", + "integrity": "sha512-xwxlimNP4MECkdzjc0+m7lGxighcH0ncAfEo9yUo+r+4EFalB/Q7DAQPIU1xkbBk8iJwcFhGFAnS1IeLur15kQ==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1703.0", + "@angular-devkit/core": "17.3.0", + "@angular-devkit/schematics": "17.3.0", + "@schematics/angular": "17.3.0", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "4.1.2", + "inquirer": "9.2.15", + "jsonc-parser": "3.2.1", + "npm-package-arg": "11.0.1", + "npm-pick-manifest": "9.0.0", + "open": "8.4.2", + "ora": "5.4.1", + "pacote": "17.0.6", + "resolve": "1.22.8", + "semver": "7.6.0", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + } + }, + "@angular/common": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.0.tgz", + "integrity": "sha512-JnS6jbLl2RxsvGFUOBGeoyviNLEjZKRhn3uK4Ein3DENPv0BeSFMjif9Dp4ReUCnqoD4QQVG0X/r1GFaqHn2pw==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.0.tgz", + "integrity": "sha512-lZBD5mFq7SzFJydZwW2jvnQGmtcU1s3e548hl4MSZpRgt13m5UmBQKbyMOvVN2WxKvWKlmDlywsAJlMSXepYig==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler-cli": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.0.tgz", + "integrity": "sha512-ewo+pb0QUC69Ey15z4vPteoBeO81HitqplysOoeXbyVBjMnKmZl3343wx7ukgcI97lmj4d38d1r4AnIoO5n/Vw==", + "dev": true, + "requires": { + "@babel/core": "7.23.9", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "dependencies": { + "@babel/core": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", + "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.9", + "@babel/parser": "^7.23.9", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + } + } + }, + "@angular/core": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.0.tgz", + "integrity": "sha512-umwsNFl/wEMTCUVvNl5iieEgHA+ESxSMcjedZGFWNGnpUxKTgYFYNG41/1wNZfPrS0+uRPHuYU9IHD+NR2s/Rw==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/forms": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.0.tgz", + "integrity": "sha512-TnLOake1fQCmmGEOZbTjP2gbKerZ/bfEMuiFfoe7R2rUvKl4xHGAHp99bqf7bUyAbB8ZgmPZc9/VHrrts8UNyA==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/platform-browser": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.0.tgz", + "integrity": "sha512-sIquvbq04KMOdpk1VdVFt7kVhOk/Rk+hI3M4raarMK5EbZ16nLYzpqjc2OZetUpKy6LB/FemClgNUShj9NlrqA==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/platform-browser-dynamic": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.0.tgz", + "integrity": "sha512-oX5AG0aSjmB89SyJZGyabr6uwfWd7yJM+krcrzHxFbVhvDCwdi9G+B0ADmaUn1shaXDseOFiLpo3R/oagd2fTA==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/router": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.0.tgz", + "integrity": "sha512-OBMAfjaSfEdEYqfYsAemDvknYZV69ABFf06hhduNLhB5QgbPrZCbNptnlrCPx4YDrzcANj2hrcyAmAVNTk8Giw==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + }, + "@apidevtools/json-schema-ref-parser": { + "version": "11.5.4", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.5.4.tgz", + "integrity": "sha512-o2fsypTGU0WxRxbax8zQoHiIB4dyrkwYfcm8TxZ+bx9pCzcWZbQtiMqpgBvWA/nJ2TrGjK5adCLfTH8wUeU/Wg==", + "requires": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + } + }, + "@babel/cli": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.1.tgz", + "integrity": "sha512-HbmrtxyFUr34LwAlV9jS+sSIjUp4FpdtIMGwgufY3AsxrIfsh/HxlMTywsONAZsU0RMYbZtbZFpUCrSGs7o0EA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.25", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dev": true, + "requires": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", + "dev": true + }, + "@babel/core": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "@babel/generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", + "dev": true, + "requires": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "requires": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", + "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.1.tgz", + "integrity": "sha512-HfEWzysMyOa7xI5uQHc/OcZf67/jc+xe/RZlznWQHhbb8Pg1SkRdbK4yEi61aY8wxQA7PkSfoojtLQP/Kpe3og==", + "dev": true, + "requires": { + "@babel/types": "^7.24.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", + "dev": true, + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + } + }, + "@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + } + }, + "@babel/parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", + "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", + "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.0.tgz", + "integrity": "sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.1.tgz", + "integrity": "sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/preset-env": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.1", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "dependencies": { + "@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.1" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", + "dev": true, + "requires": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + } + } + } + }, + "@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@esbuild/aix-ppc64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz", + "integrity": "sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.1.tgz", + "integrity": "sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz", + "integrity": "sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.1.tgz", + "integrity": "sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz", + "integrity": "sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz", + "integrity": "sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz", + "integrity": "sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz", + "integrity": "sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz", + "integrity": "sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz", + "integrity": "sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz", + "integrity": "sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz", + "integrity": "sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz", + "integrity": "sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz", + "integrity": "sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz", + "integrity": "sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz", + "integrity": "sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz", + "integrity": "sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz", + "integrity": "sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz", + "integrity": "sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz", + "integrity": "sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz", + "integrity": "sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz", + "integrity": "sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz", + "integrity": "sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "requires": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + } + }, + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + } + }, + "@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "requires": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "requires": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "@ljharb/through": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", + "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7" + } + }, + "@ngtools/webpack": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.0.tgz", + "integrity": "sha512-wNTCDPPEtjP4mxYerLVLCMwOCTEOD2HqZMVXD8pJbarrGPMuoyglUZuqNSIS5KVqR+fFez6JEUnMvC3QSqf58w==", + "dev": true, + "requires": {} + }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.1.tgz", + "integrity": "sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + } + } + }, + "@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, + "@npmcli/git": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", + "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "dependencies": { + "isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true + }, + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + }, + "which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "requires": { + "isexe": "^3.1.1" + } + } + } + }, + "@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dev": true, + "requires": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + } + }, + "@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true + }, + "@npmcli/package-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.0.tgz", + "integrity": "sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==", + "dev": true, + "requires": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.5.3" + } + }, + "@npmcli/promise-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", + "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", + "dev": true, + "requires": { + "which": "^4.0.0" + }, + "dependencies": { + "isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true + }, + "which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "requires": { + "isexe": "^3.1.1" + } + } + } + }, + "@npmcli/run-script": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.4.tgz", + "integrity": "sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "which": "^4.0.0" + }, + "dependencies": { + "isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true + }, + "which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "requires": { + "isexe": "^3.1.1" + } + } + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true + }, + "@puppeteer/browsers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.0.tgz", + "integrity": "sha512-MC7LxpcBtdfTbzwARXIkqGZ1Osn3nnZJlm+i0+VqHl72t//Xwl9wICrXT8BwtgC6s1xJNHsxOpvzISUqe92+sw==", + "dev": true, + "requires": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.4.0", + "semver": "7.6.0", + "tar-fs": "3.0.5", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + } + }, + "@rollup/plugin-commonjs": { + "version": "25.0.7", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz", + "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "dependencies": { + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + } + }, + "@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "requires": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + } + }, + "@rollup/plugin-typescript": { + "version": "11.1.6", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.6.tgz", + "integrity": "sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" + } + }, + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "dependencies": { + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + } + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz", + "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz", + "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz", + "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz", + "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz", + "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz", + "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz", + "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz", + "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz", + "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz", + "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz", + "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz", + "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz", + "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==", + "dev": true, + "optional": true + }, + "@schematics/angular": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.0.tgz", + "integrity": "sha512-QqugP4Uyxk966VaUb/Jk5LQ5rE1BV4v2TmniPZtN3GZ6MDkpvPnFvlysvoq6y+7uiRhCLiT1DsBIwc9vXz3vWA==", + "dev": true, + "requires": { + "@angular-devkit/core": "17.3.0", + "@angular-devkit/schematics": "17.3.0", + "jsonc-parser": "3.2.1" + } + }, + "@sigstore/bundle": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.2.0.tgz", + "integrity": "sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==", + "dev": true, + "requires": { + "@sigstore/protobuf-specs": "^0.3.0" + } + }, + "@sigstore/core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.0.0.tgz", + "integrity": "sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==", + "dev": true + }, + "@sigstore/protobuf-specs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.0.tgz", + "integrity": "sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==", + "dev": true + }, + "@sigstore/sign": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.3.tgz", + "integrity": "sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==", + "dev": true, + "requires": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "make-fetch-happen": "^13.0.0" + } + }, + "@sigstore/tuf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.1.tgz", + "integrity": "sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==", + "dev": true, + "requires": { + "@sigstore/protobuf-specs": "^0.3.0", + "tuf-js": "^2.2.0" + } + }, + "@sigstore/verify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.1.0.tgz", + "integrity": "sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==", + "dev": true, + "requires": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0" + } + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true + }, + "@tufjs/models": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", + "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", + "dev": true, + "requires": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" + } + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.56.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", + "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/fs-extra": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", + "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", + "dev": true, + "requires": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, + "@types/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==", + "dev": true, + "requires": { + "@types/minimatch": "^5.1.2", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/jsonfile": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz", + "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "@types/node": { + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dev": true, + "requires": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/qs": { + "version": "6.9.14", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", + "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.4.0.tgz", + "integrity": "sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "7.4.0", + "@typescript-eslint/type-utils": "7.4.0", + "@typescript-eslint/utils": "7.4.0", + "@typescript-eslint/visitor-keys": "7.4.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/parser": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.4.0.tgz", + "integrity": "sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "7.4.0", + "@typescript-eslint/types": "7.4.0", + "@typescript-eslint/typescript-estree": "7.4.0", + "@typescript-eslint/visitor-keys": "7.4.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.4.0.tgz", + "integrity": "sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.4.0", + "@typescript-eslint/visitor-keys": "7.4.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.4.0.tgz", + "integrity": "sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "7.4.0", + "@typescript-eslint/utils": "7.4.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.4.0.tgz", + "integrity": "sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.4.0.tgz", + "integrity": "sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.4.0", + "@typescript-eslint/visitor-keys": "7.4.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/utils": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.4.0.tgz", + "integrity": "sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.4.0", + "@typescript-eslint/types": "7.4.0", + "@typescript-eslint/typescript-estree": "7.4.0", + "semver": "^7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.4.0.tgz", + "integrity": "sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.4.0", + "eslint-visitor-keys": "^3.4.1" + } + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "@vitejs/plugin-basic-ssl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", + "integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==", + "dev": true, + "requires": {} + }, + "@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "dependencies": { + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + } + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha512-dEamhpPEwRUBpLNHeuCm/v+g0anFByHahxodVO/BbAarHVBBg2MccCwf9K+o1Pof+2btdnkJelYVUWjW/VrATw==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dev": true, + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "b4a": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", + "dev": true + }, + "babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "requires": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "requires": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + } + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + } + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "bare-events": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", + "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", + "dev": true, + "optional": true + }, + "bare-fs": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.2.tgz", + "integrity": "sha512-X9IqgvyB0/VA5OZJyb5ZstoN62AzD7YxVGog13kkfYWYqJYcK0kcqLZ6TrmH5qr4/8//ejVcX4x/a0UvaogXmA==", + "dev": true, + "optional": true, + "requires": { + "bare-events": "^2.0.0", + "bare-os": "^2.0.0", + "bare-path": "^2.0.0", + "streamx": "^2.13.0" + } + }, + "bare-os": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.1.tgz", + "integrity": "sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==", + "dev": true, + "optional": true + }, + "bare-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.0.tgz", + "integrity": "sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==", + "dev": true, + "optional": true, + "requires": { + "bare-os": "^2.1.0" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "requires": { + "semver": "^7.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "dev": true, + "requires": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "caniuse-lite": { + "version": "1.0.30001598", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001598.tgz", + "integrity": "sha512-j8mQRDziG94uoBfeFuqsJUNECW37DXpnvhcMJMdlH2u3MRkq1sAI0LJcXP1i/Py0KbSIC4UDj8YHPrTn5YsL+Q==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "chromium-bidi": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.14.tgz", + "integrity": "sha512-zm4mX61/U4KXs+S/0WIBHpOWqtpW6FPv1i7n4UZqDDc5LOQ9/Y1MAnB95nO7i/lFFuijLjpe1XMdNcqDqwlH5w==", + "dev": true, + "requires": { + "mitt": "3.0.1", + "urlpattern-polyfill": "10.0.0", + "zod": "3.22.4" + } + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true + }, + "cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "codecov": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz", + "integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==", + "dev": true, + "requires": { + "argv": "0.0.2", + "ignore-walk": "3.0.4", + "js-yaml": "3.14.1", + "teeny-request": "7.1.1", + "urlgrey": "1.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + } + } + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", + "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==" + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "requires": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + } + } + }, + "core-js-compat": { + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", + "dev": true, + "requires": { + "browserslist": "^4.23.0" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "requires": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + } + }, + "create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "critters": { + "version": "0.0.22", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.22.tgz", + "integrity": "sha512-NU7DEcQZM2Dy8XTKFHxtdnIM/drE312j2T4PCVaSUcS0oBeyT/NImpRw/Ap0zOr/1SE7SgPK9tGPg1WK/sVakw==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "postcss-media-query-parser": "^0.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-loader": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "requires": {} + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "requires": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "devtools-protocol": { + "version": "0.0.1262051", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1262051.tgz", + "integrity": "sha512-YJe4CT5SA8on3Spa+UDtNhEqtuV6Epwz3OZ4HQVLhlRccpZ9/PAYk0/cy/oKxFKRrZPBUPyxympQci4yWNWZ9g==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.708", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.708.tgz", + "integrity": "sha512-iWgEEvREL4GTXXHKohhh33+6Y8XkPI5eHihDmm8zUk5Zo7HICEW+wI/j5kJ2tbuNUCXJ/sNXa03ajW635DiJXA==", + "dev": true + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true + }, + "esbuild": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.1.tgz", + "integrity": "sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==", + "dev": true, + "optional": true, + "requires": { + "@esbuild/aix-ppc64": "0.20.1", + "@esbuild/android-arm": "0.20.1", + "@esbuild/android-arm64": "0.20.1", + "@esbuild/android-x64": "0.20.1", + "@esbuild/darwin-arm64": "0.20.1", + "@esbuild/darwin-x64": "0.20.1", + "@esbuild/freebsd-arm64": "0.20.1", + "@esbuild/freebsd-x64": "0.20.1", + "@esbuild/linux-arm": "0.20.1", + "@esbuild/linux-arm64": "0.20.1", + "@esbuild/linux-ia32": "0.20.1", + "@esbuild/linux-loong64": "0.20.1", + "@esbuild/linux-mips64el": "0.20.1", + "@esbuild/linux-ppc64": "0.20.1", + "@esbuild/linux-riscv64": "0.20.1", + "@esbuild/linux-s390x": "0.20.1", + "@esbuild/linux-x64": "0.20.1", + "@esbuild/netbsd-x64": "0.20.1", + "@esbuild/openbsd-x64": "0.20.1", + "@esbuild/sunos-x64": "0.20.1", + "@esbuild/win32-arm64": "0.20.1", + "@esbuild/win32-ia32": "0.20.1", + "@esbuild/win32-x64": "0.20.1" + } + }, + "esbuild-wasm": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.20.1.tgz", + "integrity": "sha512-6v/WJubRsjxBbQdz6izgvx7LsVFvVaGmSdwrFHmEzoVgfXL89hkKPoQHsnVI2ngOkcBUQT9kmAM1hVL1k/Av4A==", + "dev": true + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + } + }, + "eslint-plugin-simple-import-sort": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-12.0.0.tgz", + "integrity": "sha512-8o0dVEdAkYap0Cn5kNeklaKcT1nUsa3LITWEuFk3nJifOoD+5JQGoyDUW2W/iPWwBsNBJpyJS9y4je/BgxLcyQ==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true + }, + "express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + } + } + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "requires": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "dev": true + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "requires": { + "minipass": "^7.0.3" + } + }, + "fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-uri": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", + "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", + "dev": true, + "requires": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4", + "fs-extra": "^11.2.0" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "requires": { + "lru-cache": "^10.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + } + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "dev": true + }, + "inquirer": { + "version": "9.2.15", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.15.tgz", + "integrity": "sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==", + "dev": true, + "requires": { + "@ljharb/through": "^2.3.12", + "ansi-escapes": "^4.3.2", + "chalk": "^5.3.0", + "cli-cursor": "^3.1.0", + "cli-width": "^4.1.0", + "external-editor": "^3.1.0", + "figures": "^3.2.0", + "lodash": "^4.17.21", + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true + } + } + }, + "ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + } + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + } + }, + "jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true + }, + "jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true + }, + "jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "requires": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + } + }, + "jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "requires": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "requires": { + "source-map-support": "^0.5.5" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true + }, + "launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "requires": { + "webpack-sources": "^3.0.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", + "dev": true, + "requires": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "dependencies": { + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", + "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true + }, + "minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "requires": { + "minipass": "^7.0.3" + } + }, + "minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-gyp": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", + "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "dependencies": { + "isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true + }, + "which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "requires": { + "isexe": "^3.1.1" + } + } + } + }, + "node-gyp-build": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", + "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", + "dev": true, + "optional": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "dev": true, + "requires": { + "abbrev": "^2.0.0" + } + }, + "normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dev": true, + "requires": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^3.0.0" + } + }, + "npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "dev": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true + }, + "npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "dev": true, + "requires": { + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + } + }, + "npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "dev": true, + "requires": { + "ignore-walk": "^6.0.4" + }, + "dependencies": { + "ignore-walk": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", + "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", + "dev": true, + "requires": { + "minimatch": "^9.0.0" + } + } + } + }, + "npm-pick-manifest": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", + "dev": true, + "requires": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + } + }, + "npm-registry-fetch": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", + "dev": true, + "requires": { + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^3.0.0" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pac-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", + "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", + "dev": true, + "requires": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "pac-resolver": "^7.0.0", + "socks-proxy-agent": "^8.0.2" + } + }, + "pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "requires": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + } + }, + "pacote": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", + "integrity": "sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==", + "dev": true, + "requires": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "dependencies": { + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + } + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, + "parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "dev": true, + "requires": { + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + } + }, + "parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "dev": true, + "requires": { + "parse5": "^7.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + } + } + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.1.tgz", + "integrity": "sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, + "piscina": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.4.0.tgz", + "integrity": "sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==", + "dev": true, + "requires": { + "nice-napi": "^1.0.2" + } + }, + "pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "requires": { + "find-up": "^6.3.0" + }, + "dependencies": { + "find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "requires": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + } + }, + "locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "requires": { + "p-locate": "^6.0.0" + } + }, + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "requires": { + "p-limit": "^4.0.0" + } + }, + "path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } + }, + "postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-loader": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", + "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", + "dev": true, + "requires": { + "cosmiconfig": "^9.0.0", + "jiti": "^1.20.0", + "semver": "^7.5.4" + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxy-agent": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "puppeteer": { + "version": "22.6.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.6.1.tgz", + "integrity": "sha512-736QHNKtPD4tPeFbIn73E4l0CWsLzvRFlm0JsLG/VsyM8Eh0FRFNmMp+M3+GSMwdmYxqOVpTgzB6VQDxWxu8xQ==", + "dev": true, + "requires": { + "@puppeteer/browsers": "2.2.0", + "cosmiconfig": "9.0.0", + "devtools-protocol": "0.0.1262051", + "puppeteer-core": "22.6.1" + } + }, + "puppeteer-core": { + "version": "22.6.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.6.1.tgz", + "integrity": "sha512-rShSd0xtyDSEJYys5nnzQnnwtrafQWg/lWCppyjZIIbYadWP8B1u0XJD/Oe+Xgw8v1hLHX0loNoA0ItRmNLnBg==", + "dev": true, + "requires": { + "@puppeteer/browsers": "2.2.0", + "chromium-bidi": "0.5.14", + "debug": "4.3.4", + "devtools-protocol": "0.0.1262051", + "ws": "8.16.0" + } + }, + "pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true + }, + "qs": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "dev": true, + "requires": { + "side-channel": "^1.0.6" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "read-package-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", + "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", + "dev": true, + "requires": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" + } + }, + "read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + }, + "dependencies": { + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + } + } + }, + "reflect-metadata": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", + "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "dev": true + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "dev": true, + "requires": { + "glob": "^10.3.7" + } + }, + "rollup": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", + "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.13.0", + "@rollup/rollup-android-arm64": "4.13.0", + "@rollup/rollup-darwin-arm64": "4.13.0", + "@rollup/rollup-darwin-x64": "4.13.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.13.0", + "@rollup/rollup-linux-arm64-gnu": "4.13.0", + "@rollup/rollup-linux-arm64-musl": "4.13.0", + "@rollup/rollup-linux-riscv64-gnu": "4.13.0", + "@rollup/rollup-linux-x64-gnu": "4.13.0", + "@rollup/rollup-linux-x64-musl": "4.13.0", + "@rollup/rollup-win32-arm64-msvc": "4.13.0", + "@rollup/rollup-win32-ia32-msvc": "4.13.0", + "@rollup/rollup-win32-x64-msvc": "4.13.0", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" + } + }, + "run-async": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.71.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", + "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.1.1.tgz", + "integrity": "sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==", + "dev": true, + "requires": { + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "requires": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "sigstore": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.2.tgz", + "integrity": "sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==", + "dev": true, + "requires": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "@sigstore/sign": "^2.2.3", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.1.0" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "smob": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", + "integrity": "sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==", + "dev": true + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "socks": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", + "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", + "dev": true, + "requires": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + } + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + }, + "source-map-js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.1.0.tgz", + "integrity": "sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==", + "dev": true + }, + "source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "dev": true, + "requires": { + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, + "ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "dev": true, + "requires": { + "minipass": "^7.0.3" + } + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "stream-events": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz", + "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==", + "dev": true, + "requires": { + "stubs": "^3.0.0" + } + }, + "streamx": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", + "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", + "dev": true, + "requires": { + "bare-events": "^2.2.0", + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "stubs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", + "integrity": "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true + }, + "synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "requires": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "tar-fs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", + "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==", + "dev": true, + "requires": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "teeny-request": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz", + "integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==", + "dev": true, + "requires": { + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "2.7.0", + "stream-events": "^1.0.5", + "uuid": "^8.0.0" + }, + "dependencies": { + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + } + } + }, + "terser": { + "version": "5.29.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", + "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "requires": {} + }, + "ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "tuf-js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.0.tgz", + "integrity": "sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==", + "dev": true, + "requires": { + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "typescript": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", + "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "dev": true + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "optional": true + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "undici": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.7.1.tgz", + "integrity": "sha512-+Wtb9bAQw6HYWzCnxrPTMVEV3Q1QjYanI0E4q02ehReMuquQdLTEFEYbfs7hcImVYKcQkWSwT6buEmSVIiDDtQ==", + "dev": true + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "requires": { + "unique-slug": "^4.0.0" + } + }, + "unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urlgrey": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz", + "integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==", + "dev": true, + "requires": { + "fast-url-parser": "^1.1.3" + } + }, + "urlpattern-polyfill": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz", + "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "requires": { + "builtins": "^5.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "vite": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz", + "integrity": "sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==", + "dev": true, + "requires": { + "esbuild": "^0.19.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.35", + "rollup": "4.13.0" + }, + "dependencies": { + "@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "dev": true, + "optional": true + }, + "esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + } + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-middleware": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", + "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + } + }, + "webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + } + } + } + }, + "webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "requires": { + "typed-assert": "^1.0.8" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + } + } + }, + "ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "requires": {} + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "dev": true + }, + "zone.js": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.4.tgz", + "integrity": "sha512-NtTUvIlNELez7Q1DzKVIFZBzNb646boQMgpATo9z3Ftuu/gWvzxCW7jdjcUDoRGxRikrhVHB/zLXh1hxeJawvw==", + "dev": true, + "requires": { + "tslib": "^2.3.0" + } + } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 92d16d50f..418ea6f5b 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,8 @@ "validate": "tsc --project tsconfig.json --noEmit", "run": "node ./test/index.js", "test": "jest --selectProjects UNIT", - "test:update": "jest --selectProjects UNIT --updateSnapshot", + "test:snapshot": "jest --selectProjects SNAPSHOT", + "test:update": "jest --selectProjects SNAPSHOT --updateSnapshot", "test:watch": "jest --selectProjects UNIT --watch", "test:coverage": "jest --selectProjects UNIT --coverage", "test:e2e": "jest --selectProjects E2E --runInBand --verbose", diff --git a/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts b/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts index 0d6ead780..7674f9338 100644 --- a/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts +++ b/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts @@ -1,4 +1,15 @@ +import { OpenApiReference } from '../OpenApiReference'; + export interface WithEnumExtension { 'x-enum-varnames'?: string[]; 'x-enum-descriptions'?: string[]; } + +export interface WithEnumConstValueExtension { + 'x-enum-const-value'?: EnumConstValueExtensionValue; +} + +export interface EnumConstValueExtensionValue { + value: string; + type: OpenApiReference; +} diff --git a/src/openApi/v3/interfaces/OpenApiSchema.d.ts b/src/openApi/v3/interfaces/OpenApiSchema.d.ts index 3b77b5ac9..75224100a 100644 --- a/src/openApi/v3/interfaces/OpenApiSchema.d.ts +++ b/src/openApi/v3/interfaces/OpenApiSchema.d.ts @@ -1,5 +1,5 @@ import type { Dictionary } from '../../../utils/types'; -import type { WithEnumExtension } from './Extensions/WithEnumExtension'; +import type { WithEnumConstValueExtension, WithEnumExtension } from './Extensions/WithEnumExtension'; import type { OpenApiDiscriminator } from './OpenApiDiscriminator'; import type { OpenApiExternalDocs } from './OpenApiExternalDocs'; import type { OpenApiReference } from './OpenApiReference'; @@ -8,7 +8,7 @@ import type { OpenApiXml } from './OpenApiXml'; /** * https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject */ -export interface OpenApiSchema extends OpenApiReference, WithEnumExtension { +export interface OpenApiSchema extends OpenApiReference, WithEnumExtension, WithEnumConstValueExtension { title?: string; multipleOf?: number; maximum?: number; diff --git a/src/openApi/v3/interfaces/OpenApiServerVariable.d.ts b/src/openApi/v3/interfaces/OpenApiServerVariable.d.ts index 7e556ccd7..41d57b165 100644 --- a/src/openApi/v3/interfaces/OpenApiServerVariable.d.ts +++ b/src/openApi/v3/interfaces/OpenApiServerVariable.d.ts @@ -1,9 +1,9 @@ -import type { WithEnumExtension } from './Extensions/WithEnumExtension'; +import type { WithEnumExtension, WithEnumConstValueExtension } from './Extensions/WithEnumExtension'; /** * https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#serverVariableObject */ -export interface OpenApiServerVariable extends WithEnumExtension { +export interface OpenApiServerVariable extends WithEnumExtension, WithEnumConstValueExtension { enum?: (string | number)[]; default: string; description?: string; diff --git a/src/openApi/v3/parser/extendEnum.ts b/src/openApi/v3/parser/extendEnum.ts index a7fa865cb..d23297100 100644 --- a/src/openApi/v3/parser/extendEnum.ts +++ b/src/openApi/v3/parser/extendEnum.ts @@ -1,6 +1,10 @@ import type { Enum } from '../../../client/interfaces/Enum'; import { isString } from '../../../utils/isString'; -import type { WithEnumExtension } from '../interfaces/Extensions/WithEnumExtension'; +import type { + WithEnumExtension, + WithEnumConstValueExtension, + EnumConstValueExtensionValue, +} from '../interfaces/Extensions/WithEnumExtension'; /** * Extend the enum with the x-enum properties. This adds the capability @@ -19,3 +23,13 @@ export const extendEnum = (enumerators: Enum[], definition: WithEnumExtension): type: enumerator.type, })); }; + +/** + * Extend the enum with the x-enum-const-value. This adds the capability to define an enum's + * value as part of the definition of the type + */ +export const extendEnumConstValue = ( + definition: WithEnumConstValueExtension +): EnumConstValueExtensionValue | undefined => { + return definition['x-enum-const-value']; +}; diff --git a/src/openApi/v3/parser/getModel.ts b/src/openApi/v3/parser/getModel.ts index fc45c25cd..877023b50 100644 --- a/src/openApi/v3/parser/getModel.ts +++ b/src/openApi/v3/parser/getModel.ts @@ -2,7 +2,7 @@ import type { Model } from '../../../client/interfaces/Model'; import { getPattern } from '../../../utils/getPattern'; import type { OpenApi } from '../interfaces/OpenApi'; import type { OpenApiSchema } from '../interfaces/OpenApiSchema'; -import { extendEnum } from './extendEnum'; +import { extendEnum, extendEnumConstValue } from './extendEnum'; import { getEnum } from './getEnum'; import { getModelComposition } from './getModelComposition'; import { getModelDefault } from './getModelDefault'; @@ -48,6 +48,18 @@ export const getModel = ( properties: [], }; + const enumConstValue = extendEnumConstValue(definition); + if (enumConstValue) { + const definitionRef = getType(enumConstValue.type.$ref); + const enumVal = getEnum([enumConstValue.value]); + model.export = 'const'; + const modelConst = `${definitionRef.type}.${enumVal[0].name}`; + model.type = modelConst; + model.base = modelConst; + model.imports.push(...definitionRef.imports); + return model; + } + if (definition.const !== undefined) { model.export = 'const'; const definitionConst = definition.const; diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index 3c12fe0cb..a50129f78 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -1,7 +1,244 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`v2 should generate: ./test/generated/v2/core/ApiError.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/index.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export { orderByOrderQuery as orderByOrderQueryDto } from './models/orderByOrderQuery'; +export { orderByQuery as orderByQueryDto } from './models/orderByQuery'; + +export { $orderByOrderQuery } from './schemas/$orderByOrderQuery'; +export { $orderByQuery } from './schemas/$orderByQuery'; + +export { DefaultService } from './services/DefaultService'; +" +`; + +exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/models/orderByOrderQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum orderByOrderQuery { + ASC = 'asc', + DESC = 'desc', +} +" +`; + +exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/models/orderByQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum orderByQuery { + NAME = 'name', + CREATED_AT = 'createdAt', + UPDATED_AT = 'updatedAt', +} +" +`; + +exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/schemas/$orderByOrderQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $orderByOrderQuery = { + type: 'Enum', +} as const; +" +`; + +exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/schemas/$orderByQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $orderByQuery = { + type: 'Enum', +} as const; +" +`; + +exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; +export class DefaultService { + /** + * queryObj = { + * @param orderBy + * @param orderByOrder + * } + * @returns string Get All Things + * @throws ApiError + */ + public static getAllThings(queryObj?:{ + orderBy?: 'name' | 'createdAt' | 'updatedAt', + orderByOrder?: 'asc' | 'desc', + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/thing', + query: queryObj? { + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } +} +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/index.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type { responseObj as responseObjDto } from './models/responseObj'; +export type { thingObj as thingObjDto } from './models/thingObj'; +export { thingsEnum as thingsEnumDto } from './models/thingsEnum'; + +export { $responseObj } from './schemas/$responseObj'; +export { $thingObj } from './schemas/$thingObj'; +export { $thingsEnum } from './schemas/$thingsEnum'; + +export { DefaultService } from './services/DefaultService'; +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/models/responseObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { thingObj } from './thingObj'; +import type { thingsEnum } from './thingsEnum'; +export type responseObj = { + control: thingsEnum.THING1; + data: thingObj; +}; + +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type thingObj = { + name: string; + createdAt: string; + updatedAt: string; +}; + +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingsEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum thingsEnum { + THING1 = 'thing1', + ALSO_THING2 = 'alsoThing2', + MEGA_THING3 = 'megaThing3', +} +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$responseObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $responseObj = { + properties: { + control: { + type: 'thingsEnum.THING1', + isRequired: true, + }, + data: { + type: 'thingObj', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $thingObj = { + properties: { + name: { + type: 'string', + isRequired: true, + }, + createdAt: { + type: 'string', + isRequired: true, + }, + updatedAt: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingsEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $thingsEnum = { + type: 'Enum', +} as const; +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { responseObj } from '../models/responseObj'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; +export class DefaultService { + /** + * @returns responseObj Get All Things + * @throws ApiError + */ + public static getAllThings(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/thing', + }); + } +} +" +`; + +exports[`v2 should generate: test/generated/v2/core/ApiError.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -29,8 +266,8 @@ export class ApiError extends Error { " `; -exports[`v2 should generate: ./test/generated/v2/core/ApiRequestOptions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/core/ApiRequestOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -50,8 +287,8 @@ export type ApiRequestOptions = { " `; -exports[`v2 should generate: ./test/generated/v2/core/ApiResult.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/core/ApiResult.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -65,8 +302,8 @@ export type ApiResult = { " `; -exports[`v2 should generate: ./test/generated/v2/core/CancelablePromise.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/core/CancelablePromise.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -153,9 +390,9 @@ export class CancelablePromise implements Promise { }); } - get [Symbol.toStringTag]() { - return "Cancellable Promise"; - } + get [Symbol.toStringTag]() { + return "Cancellable Promise"; + } public then( onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, @@ -200,8 +437,8 @@ export class CancelablePromise implements Promise { " `; -exports[`v2 should generate: ./test/generated/v2/core/OpenAPI.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/core/OpenAPI.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -236,8 +473,8 @@ export const OpenAPI: OpenAPIConfig = { " `; -exports[`v2 should generate: ./test/generated/v2/core/request.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/core/request.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -376,10 +613,12 @@ export const resolve = async (options: ApiRequestOptions, resolver?: T | Reso }; export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { - const token = await resolve(options, config.TOKEN); - const username = await resolve(options, config.USERNAME); - const password = await resolve(options, config.PASSWORD); - const additionalHeaders = await resolve(options, config.HEADERS); + const [token, username, password, additionalHeaders] = await Promise.all([ + resolve(options, config.TOKEN), + resolve(options, config.USERNAME), + resolve(options, config.PASSWORD), + resolve(options, config.HEADERS), + ]); const headers = Object.entries({ Accept: 'application/json', @@ -401,7 +640,7 @@ export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptio headers['Authorization'] = \`Basic \${credentials}\`; } - if (options.body) { + if (options.body !== undefined) { if (options.mediaType) { headers['Content-Type'] = options.mediaType; } else if (isBlob(options.body)) { @@ -560,8 +799,8 @@ export const request = (config: OpenAPIConfig, options: ApiRequestOptions): C " `; -exports[`v2 should generate: ./test/generated/v2/index.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/index.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -687,8 +926,8 @@ export { TypesService } from './services/TypesService'; " `; -exports[`v2 should generate: ./test/generated/v2/models/_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -699,8 +938,8 @@ export type _default = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -712,8 +951,8 @@ export type ArrayWithArray = Array>; " `; -exports[`v2 should generate: ./test/generated/v2/models/ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -724,8 +963,8 @@ export type ArrayWithBooleans = Array; " `; -exports[`v2 should generate: ./test/generated/v2/models/ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -736,8 +975,8 @@ export type ArrayWithNumbers = Array; " `; -exports[`v2 should generate: ./test/generated/v2/models/ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -751,8 +990,8 @@ export type ArrayWithProperties = Array<{ " `; -exports[`v2 should generate: ./test/generated/v2/models/ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -764,8 +1003,8 @@ export type ArrayWithReferences = Array; " `; -exports[`v2 should generate: ./test/generated/v2/models/ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -776,8 +1015,8 @@ export type ArrayWithStrings = Array; " `; -exports[`v2 should generate: ./test/generated/v2/models/CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -788,8 +1027,8 @@ export type CommentWithBackticks = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -803,8 +1042,8 @@ export type CommentWithBreaks = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -815,8 +1054,8 @@ export type CommentWithExpressionPlaceholders = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -827,8 +1066,8 @@ export type CommentWithQuotes = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -839,8 +1078,8 @@ export type CommentWithReservedCharacters = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -851,8 +1090,8 @@ export type CommentWithSlashes = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/Date.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/Date.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -863,8 +1102,8 @@ export type Date = string; " `; -exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -876,8 +1115,8 @@ export type DictionaryWithArray = Record>; " `; -exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -888,8 +1127,8 @@ export type DictionaryWithDictionary = Record>; " `; -exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -903,8 +1142,8 @@ export type DictionaryWithProperties = Record; " `; -exports[`v2 should generate: ./test/generated/v2/models/DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -928,8 +1167,8 @@ export type DictionaryWithString = Record; " `; -exports[`v2 should generate: ./test/generated/v2/models/EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -940,8 +1179,8 @@ export type EnumFromDescription = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -965,8 +1204,8 @@ export enum EnumWithExtensions { " `; -exports[`v2 should generate: ./test/generated/v2/models/EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -993,8 +1232,8 @@ export enum EnumWithNumbers { " `; -exports[`v2 should generate: ./test/generated/v2/models/EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1011,8 +1250,8 @@ export enum EnumWithStrings { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1028,8 +1267,8 @@ export type ModelThatExtends = (ModelWithString & { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1046,8 +1285,8 @@ export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1064,8 +1303,8 @@ export type ModelWithArray = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1082,8 +1321,8 @@ export type ModelWithBoolean = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1097,8 +1336,8 @@ export type ModelWithCircularReference = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1112,8 +1351,8 @@ export type ModelWithDictionary = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1130,8 +1369,8 @@ export type ModelWithDuplicateImports = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1146,8 +1385,8 @@ export type ModelWithDuplicateProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1193,8 +1432,8 @@ export namespace ModelWithEnum { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1211,8 +1450,8 @@ export type ModelWithEnumFromDescription = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1229,9 +1468,9 @@ export type ModelWithInteger = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ +exports[`v2 should generate: test/generated/v2/models/ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ /** @@ -1247,8 +1486,8 @@ export type ModelWithNestedEnums = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1266,8 +1505,8 @@ export type ModelWithNestedProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1288,8 +1527,8 @@ export type ModelWithNullableString = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1305,8 +1544,8 @@ export type ModelWithOrderedProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1326,8 +1565,8 @@ export type ModelWithPattern = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1352,8 +1591,8 @@ export type ModelWithProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1368,8 +1607,8 @@ export type ModelWithReference = { " `; -exports[`v2 should generate: ./test/generated/v2/models/ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1386,8 +1625,8 @@ export type ModelWithString = { " `; -exports[`v2 should generate: ./test/generated/v2/models/SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1398,8 +1637,8 @@ export type SimpleBoolean = boolean; " `; -exports[`v2 should generate: ./test/generated/v2/models/SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1410,8 +1649,8 @@ export type SimpleFile = Blob; " `; -exports[`v2 should generate: ./test/generated/v2/models/SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1422,8 +1661,8 @@ export type SimpleInteger = number; " `; -exports[`v2 should generate: ./test/generated/v2/models/SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1435,8 +1674,8 @@ export type SimpleReference = ModelWithString; " `; -exports[`v2 should generate: ./test/generated/v2/models/SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1447,8 +1686,8 @@ export type SimpleString = string; " `; -exports[`v2 should generate: ./test/generated/v2/models/SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/models/SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1459,8 +1698,8 @@ export type SimpleStringWithPattern = string; " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1474,8 +1713,8 @@ export const $_default = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1491,8 +1730,8 @@ export const $ArrayWithArray = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1505,8 +1744,8 @@ export const $ArrayWithBooleans = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1519,8 +1758,8 @@ export const $ArrayWithNumbers = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1540,8 +1779,8 @@ export const $ArrayWithProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1554,8 +1793,8 @@ export const $ArrayWithReferences = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1568,8 +1807,8 @@ export const $ArrayWithStrings = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1580,8 +1819,8 @@ export const $CommentWithBackticks = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1594,8 +1833,8 @@ export const $CommentWithBreaks = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1606,8 +1845,8 @@ export const $CommentWithExpressionPlaceholders = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1618,8 +1857,8 @@ export const $CommentWithQuotes = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1630,8 +1869,8 @@ export const $CommentWithReservedCharacters = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1642,8 +1881,8 @@ export const $CommentWithSlashes = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$Date.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$Date.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1654,8 +1893,8 @@ export const $Date = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1671,8 +1910,8 @@ export const $DictionaryWithArray = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1688,8 +1927,8 @@ export const $DictionaryWithDictionary = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1709,8 +1948,8 @@ export const $DictionaryWithProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1723,8 +1962,8 @@ export const $DictionaryWithReference = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1737,8 +1976,8 @@ export const $DictionaryWithString = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1749,8 +1988,8 @@ export const $EnumFromDescription = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1760,8 +1999,8 @@ export const $EnumWithExtensions = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1771,8 +2010,8 @@ export const $EnumWithNumbers = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1782,8 +2021,8 @@ export const $EnumWithStrings = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1806,8 +2045,8 @@ export const $ModelThatExtends = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1832,8 +2071,8 @@ export const $ModelThatExtendsExtends = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1863,8 +2102,8 @@ export const $ModelWithArray = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1880,8 +2119,8 @@ export const $ModelWithBoolean = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1896,8 +2135,8 @@ export const $ModelWithCircularReference = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1915,8 +2154,8 @@ export const $ModelWithDictionary = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1937,8 +2176,8 @@ export const $ModelWithDuplicateImports = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1953,8 +2192,8 @@ export const $ModelWithDuplicateProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1976,8 +2215,8 @@ export const $ModelWithEnum = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -1993,8 +2232,8 @@ export const $ModelWithEnumFromDescription = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2010,8 +2249,8 @@ export const $ModelWithInteger = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2049,8 +2288,8 @@ export const $ModelWithNestedEnums = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2079,8 +2318,8 @@ export const $ModelWithNestedProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2103,8 +2342,8 @@ export const $ModelWithNullableString = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2125,8 +2364,8 @@ export const $ModelWithOrderedProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2170,8 +2409,8 @@ export const $ModelWithPattern = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2221,8 +2460,8 @@ export const $ModelWithProperties = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2237,8 +2476,8 @@ export const $ModelWithReference = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2254,8 +2493,8 @@ export const $ModelWithString = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2266,8 +2505,8 @@ export const $SimpleBoolean = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2278,8 +2517,8 @@ export const $SimpleFile = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2290,8 +2529,8 @@ export const $SimpleInteger = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2302,8 +2541,8 @@ export const $SimpleReference = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2314,8 +2553,8 @@ export const $SimpleString = { " `; -exports[`v2 should generate: ./test/generated/v2/schemas/$SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/schemas/$SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2328,8 +2567,8 @@ export const $SimpleStringWithPattern = { " `; -exports[`v2 should generate: ./test/generated/v2/services/CollectionFormatService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/CollectionFormatService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2367,8 +2606,8 @@ export class CollectionFormatService { " `; -exports[`v2 should generate: ./test/generated/v2/services/ComplexService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/ComplexService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2409,8 +2648,8 @@ export class ComplexService { " `; -exports[`v2 should generate: ./test/generated/v2/services/DefaultService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2431,8 +2670,8 @@ export class DefaultService { " `; -exports[`v2 should generate: ./test/generated/v2/services/DefaultsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/DefaultsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2536,8 +2775,8 @@ parameterStringNullableWithDefault: string | null = null, " `; -exports[`v2 should generate: ./test/generated/v2/services/DescriptionsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/DescriptionsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2581,8 +2820,8 @@ export class DescriptionsService { " `; -exports[`v2 should generate: ./test/generated/v2/services/DuplicateService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/DuplicateService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2630,8 +2869,8 @@ export class DuplicateService { " `; -exports[`v2 should generate: ./test/generated/v2/services/ErrorService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/ErrorService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2664,8 +2903,8 @@ export class ErrorService { " `; -exports[`v2 should generate: ./test/generated/v2/services/HeaderService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/HeaderService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2692,8 +2931,8 @@ export class HeaderService { " `; -exports[`v2 should generate: ./test/generated/v2/services/MultipleTags1Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/MultipleTags1Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2725,8 +2964,8 @@ export class MultipleTags1Service { " `; -exports[`v2 should generate: ./test/generated/v2/services/MultipleTags2Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/MultipleTags2Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2758,8 +2997,8 @@ export class MultipleTags2Service { " `; -exports[`v2 should generate: ./test/generated/v2/services/MultipleTags3Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/MultipleTags3Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2781,8 +3020,8 @@ export class MultipleTags3Service { " `; -exports[`v2 should generate: ./test/generated/v2/services/NoContentService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/NoContentService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2804,8 +3043,8 @@ export class NoContentService { " `; -exports[`v2 should generate: ./test/generated/v2/services/ParametersService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/ParametersService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2890,8 +3129,8 @@ _default?: string, " `; -exports[`v2 should generate: ./test/generated/v2/services/ResponseService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/ResponseService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -2953,8 +3192,8 @@ export class ResponseService { " `; -exports[`v2 should generate: ./test/generated/v2/services/SimpleService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/SimpleService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -3029,8 +3268,8 @@ export class SimpleService { " `; -exports[`v2 should generate: ./test/generated/v2/services/TypesService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v2 should generate: test/generated/v2/services/TypesService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -3083,7 +3322,7 @@ export class TypesService { " `; -exports[`v2 should generate: test/generated/v2/core/ApiError.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/core/ApiError.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3112,7 +3351,7 @@ export class ApiError extends Error { " `; -exports[`v2 should generate: test/generated/v2/core/ApiRequestOptions.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/core/ApiRequestOptions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3133,7 +3372,7 @@ export type ApiRequestOptions = { " `; -exports[`v2 should generate: test/generated/v2/core/ApiResult.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/core/ApiResult.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3148,7 +3387,7 @@ export type ApiResult = { " `; -exports[`v2 should generate: test/generated/v2/core/CancelablePromise.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/core/CancelablePromise.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3283,7 +3522,7 @@ export class CancelablePromise implements Promise { " `; -exports[`v2 should generate: test/generated/v2/core/OpenAPI.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/core/OpenAPI.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3319,7 +3558,7 @@ export const OpenAPI: OpenAPIConfig = { " `; -exports[`v2 should generate: test/generated/v2/core/request.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/core/request.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3645,7 +3884,7 @@ export const request = (config: OpenAPIConfig, options: ApiRequestOptions): C " `; -exports[`v2 should generate: test/generated/v2/index.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/index.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3668,7 +3907,20 @@ export type { CommentWithExpressionPlaceholders } from './models/CommentWithExpr export type { CommentWithQuotes } from './models/CommentWithQuotes'; export type { CommentWithReservedCharacters } from './models/CommentWithReservedCharacters'; export type { CommentWithSlashes } from './models/CommentWithSlashes'; -export type { Date } from './models/Date'; +export type { CompositionBaseModel } from './models/CompositionBaseModel'; +export type { CompositionExtendedModel } from './models/CompositionExtendedModel'; +export type { CompositionWithAllOfAndNullable } from './models/CompositionWithAllOfAndNullable'; +export type { CompositionWithAnyOf } from './models/CompositionWithAnyOf'; +export type { CompositionWithAnyOfAndNullable } from './models/CompositionWithAnyOfAndNullable'; +export type { CompositionWithAnyOfAnonymous } from './models/CompositionWithAnyOfAnonymous'; +export type { CompositionWithOneOf } from './models/CompositionWithOneOf'; +export type { CompositionWithOneOfAndComplexArrayDictionary } from './models/CompositionWithOneOfAndComplexArrayDictionary'; +export type { CompositionWithOneOfAndNullable } from './models/CompositionWithOneOfAndNullable'; +export type { CompositionWithOneOfAndSimpleArrayDictionary } from './models/CompositionWithOneOfAndSimpleArrayDictionary'; +export type { CompositionWithOneOfAndSimpleDictionary } from './models/CompositionWithOneOfAndSimpleDictionary'; +export type { CompositionWithOneOfAnonymous } from './models/CompositionWithOneOfAnonymous'; +export type { CompositionWithOneOfDiscriminator } from './models/CompositionWithOneOfDiscriminator'; +export type { DeprecatedModel } from './models/DeprecatedModel'; export type { DictionaryWithArray } from './models/DictionaryWithArray'; export type { DictionaryWithDictionary } from './models/DictionaryWithDictionary'; export type { DictionaryWithProperties } from './models/DictionaryWithProperties'; @@ -3678,6 +3930,12 @@ export type { EnumFromDescription } from './models/EnumFromDescription'; export { EnumWithExtensions } from './models/EnumWithExtensions'; export { EnumWithNumbers } from './models/EnumWithNumbers'; export { EnumWithStrings } from './models/EnumWithStrings'; +export type { File } from './models/File'; +export type { FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; +export type { FreeFormObjectWithAdditionalPropertiesEqTrue } from './models/FreeFormObjectWithAdditionalPropertiesEqTrue'; +export type { FreeFormObjectWithoutAdditionalProperties } from './models/FreeFormObjectWithoutAdditionalProperties'; +export type { ModelCircle } from './models/ModelCircle'; +export type { ModelSquare } from './models/ModelSquare'; export type { ModelThatExtends } from './models/ModelThatExtends'; export type { ModelThatExtendsExtends } from './models/ModelThatExtendsExtends'; export type { ModelWithArray } from './models/ModelWithArray'; @@ -3697,9 +3955,11 @@ export type { ModelWithPattern } from './models/ModelWithPattern'; export type { ModelWithProperties } from './models/ModelWithProperties'; export type { ModelWithReference } from './models/ModelWithReference'; export type { ModelWithString } from './models/ModelWithString'; +export type { Pageable } from './models/Pageable'; export type { SimpleBoolean } from './models/SimpleBoolean'; export type { SimpleFile } from './models/SimpleFile'; export type { SimpleInteger } from './models/SimpleInteger'; +export type { SimpleParameter } from './models/SimpleParameter'; export type { SimpleReference } from './models/SimpleReference'; export type { SimpleString } from './models/SimpleString'; export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern'; @@ -3717,7 +3977,20 @@ export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpres export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; -export { $Date } from './schemas/$Date'; +export { $CompositionBaseModel } from './schemas/$CompositionBaseModel'; +export { $CompositionExtendedModel } from './schemas/$CompositionExtendedModel'; +export { $CompositionWithAllOfAndNullable } from './schemas/$CompositionWithAllOfAndNullable'; +export { $CompositionWithAnyOf } from './schemas/$CompositionWithAnyOf'; +export { $CompositionWithAnyOfAndNullable } from './schemas/$CompositionWithAnyOfAndNullable'; +export { $CompositionWithAnyOfAnonymous } from './schemas/$CompositionWithAnyOfAnonymous'; +export { $CompositionWithOneOf } from './schemas/$CompositionWithOneOf'; +export { $CompositionWithOneOfAndComplexArrayDictionary } from './schemas/$CompositionWithOneOfAndComplexArrayDictionary'; +export { $CompositionWithOneOfAndNullable } from './schemas/$CompositionWithOneOfAndNullable'; +export { $CompositionWithOneOfAndSimpleArrayDictionary } from './schemas/$CompositionWithOneOfAndSimpleArrayDictionary'; +export { $CompositionWithOneOfAndSimpleDictionary } from './schemas/$CompositionWithOneOfAndSimpleDictionary'; +export { $CompositionWithOneOfAnonymous } from './schemas/$CompositionWithOneOfAnonymous'; +export { $CompositionWithOneOfDiscriminator } from './schemas/$CompositionWithOneOfDiscriminator'; +export { $DeprecatedModel } from './schemas/$DeprecatedModel'; export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; @@ -3727,6 +4000,12 @@ export { $EnumFromDescription } from './schemas/$EnumFromDescription'; export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; export { $EnumWithStrings } from './schemas/$EnumWithStrings'; +export { $File } from './schemas/$File'; +export { $FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; +export { $FreeFormObjectWithAdditionalPropertiesEqTrue } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue'; +export { $FreeFormObjectWithoutAdditionalProperties } from './schemas/$FreeFormObjectWithoutAdditionalProperties'; +export { $ModelCircle } from './schemas/$ModelCircle'; +export { $ModelSquare } from './schemas/$ModelSquare'; export { $ModelThatExtends } from './schemas/$ModelThatExtends'; export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; export { $ModelWithArray } from './schemas/$ModelWithArray'; @@ -3746,9 +4025,11 @@ export { $ModelWithPattern } from './schemas/$ModelWithPattern'; export { $ModelWithProperties } from './schemas/$ModelWithProperties'; export { $ModelWithReference } from './schemas/$ModelWithReference'; export { $ModelWithString } from './schemas/$ModelWithString'; +export { $Pageable } from './schemas/$Pageable'; export { $SimpleBoolean } from './schemas/$SimpleBoolean'; export { $SimpleFile } from './schemas/$SimpleFile'; export { $SimpleInteger } from './schemas/$SimpleInteger'; +export { $SimpleParameter } from './schemas/$SimpleParameter'; export { $SimpleReference } from './schemas/$SimpleReference'; export { $SimpleString } from './schemas/$SimpleString'; export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; @@ -3757,22 +4038,27 @@ export { CollectionFormatService } from './services/CollectionFormatService'; export { ComplexService } from './services/ComplexService'; export { DefaultService } from './services/DefaultService'; export { DefaultsService } from './services/DefaultsService'; +export { DeprecatedService } from './services/DeprecatedService'; export { DescriptionsService } from './services/DescriptionsService'; export { DuplicateService } from './services/DuplicateService'; export { ErrorService } from './services/ErrorService'; +export { FormDataService } from './services/FormDataService'; export { HeaderService } from './services/HeaderService'; +export { MultipartService } from './services/MultipartService'; export { MultipleTags1Service } from './services/MultipleTags1Service'; export { MultipleTags2Service } from './services/MultipleTags2Service'; export { MultipleTags3Service } from './services/MultipleTags3Service'; export { NoContentService } from './services/NoContentService'; export { ParametersService } from './services/ParametersService'; +export { RequestBodyService } from './services/RequestBodyService'; export { ResponseService } from './services/ResponseService'; export { SimpleService } from './services/SimpleService'; export { TypesService } from './services/TypesService'; +export { UploadService } from './services/UploadService'; " `; -exports[`v2 should generate: test/generated/v2/models/_default.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/_default.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3784,7 +4070,7 @@ export type _default = { " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithArray.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ArrayWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3797,7 +4083,7 @@ export type ArrayWithArray = Array>; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithBooleans.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ArrayWithBooleans.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3809,7 +4095,7 @@ export type ArrayWithBooleans = Array; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithNumbers.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ArrayWithNumbers.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3821,7 +4107,7 @@ export type ArrayWithNumbers = Array; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithProperties.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ArrayWithProperties.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3836,7 +4122,7 @@ export type ArrayWithProperties = Array<{ " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithReferences.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ArrayWithReferences.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3849,7 +4135,7 @@ export type ArrayWithReferences = Array; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithStrings.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ArrayWithStrings.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3861,7 +4147,7 @@ export type ArrayWithStrings = Array; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithBackticks.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/CommentWithBackticks.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3873,7 +4159,7 @@ export type CommentWithBackticks = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithBreaks.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/CommentWithBreaks.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3888,7 +4174,7 @@ export type CommentWithBreaks = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithExpressionPlaceholders.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/CommentWithExpressionPlaceholders.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3900,7 +4186,7 @@ export type CommentWithExpressionPlaceholders = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithQuotes.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/CommentWithQuotes.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3912,7 +4198,7 @@ export type CommentWithQuotes = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithReservedCharacters.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/CommentWithReservedCharacters.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3924,7 +4210,7 @@ export type CommentWithReservedCharacters = number; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithSlashes.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/CommentWithSlashes.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ @@ -3936,7425 +4222,13 @@ export type CommentWithSlashes = number; " `; -exports[`v2 should generate: test/generated/v2/models/Date.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/CompositionBaseModel.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ /** - * This is a type-only model that defines Date as a string - */ -export type Date = string; -" -`; - -exports[`v2 should generate: test/generated/v2/models/DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a complex dictionary - */ -export type DictionaryWithArray = Record>; -" -`; - -exports[`v2 should generate: test/generated/v2/models/DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithDictionary = Record>; -" -`; - -exports[`v2 should generate: test/generated/v2/models/DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a complex dictionary - */ -export type DictionaryWithProperties = Record; -" -`; - -exports[`v2 should generate: test/generated/v2/models/DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a string reference - */ -export type DictionaryWithReference = Record; -" -`; - -exports[`v2 should generate: test/generated/v2/models/DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithString = Record; -" -`; - -exports[`v2 should generate: test/generated/v2/models/EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Success=1,Warning=2,Error=3 - */ -export type EnumFromDescription = number; -" -`; - -exports[`v2 should generate: test/generated/v2/models/EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithExtensions { - /** - * Used when the status of something is successful - */ - CUSTOM_SUCCESS = 200, - /** - * Used when the status of something has a warning - */ - CUSTOM_WARNING = 400, - /** - * Used when the status of something has an error - */ - CUSTOM_ERROR = 500, -} -" -`; - -exports[`v2 should generate: test/generated/v2/models/EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithNumbers { - '_1' = 1, - '_2' = 2, - '_3' = 3, - '_1.1' = 1.1, - '_1.2' = 1.2, - '_1.3' = 1.3, - '_100' = 100, - '_200' = 200, - '_300' = 300, - '_-100' = -100, - '_-200' = -200, - '_-300' = -300, - '_-1.1' = -1.1, - '_-1.2' = -1.2, - '_-1.3' = -1.3, -} -" -`; - -exports[`v2 should generate: test/generated/v2/models/EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with strings - */ -export enum EnumWithStrings { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - _SINGLE_QUOTE_ = '\\'Single Quote\\'', - _DOUBLE_QUOTES_ = '"Double Quotes"', -} -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtends = (ModelWithString & { - propExtendsA?: string; - propExtendsB?: ModelWithString; -}); - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelThatExtends } from './ModelThatExtends'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { - propExtendsC?: string; - propExtendsD?: ModelWithString; -}); - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property containing an array - */ -export type ModelWithArray = { - prop?: Array; - propWithFile?: Array; - propWithNumber?: Array; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one boolean property - */ -export type ModelWithBoolean = { - /** - * This is a simple boolean property - */ - prop?: boolean; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a circular reference - */ -export type ModelWithCircularReference = { - prop?: ModelWithCircularReference; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a dictionary - */ -export type ModelWithDictionary = { - prop?: Record; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated imports - */ -export type ModelWithDuplicateImports = { - propA?: ModelWithString; - propB?: ModelWithString; - propC?: ModelWithString; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated properties - */ -export type ModelWithDuplicateProperties = { - prop?: ModelWithString; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnum = { - /** - * This is a simple enum with strings - */ - test?: ModelWithEnum.test; - /** - * These are the HTTP error code enums - */ - statusCode?: ModelWithEnum.statusCode; - /** - * Simple boolean enum - */ - bool?: boolean; -}; -export namespace ModelWithEnum { - /** - * This is a simple enum with strings - */ - export enum test { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - } - /** - * These are the HTTP error code enums - */ - export enum statusCode { - _100 = '100', - _200_FOO = '200 FOO', - _300_FOO_BAR = '300 FOO_BAR', - _400_FOO_BAR = '400 foo-bar', - _500_FOO_BAR = '500 foo.bar', - _600_FOO_BAR = '600 foo&bar', - } -} - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnumFromDescription = { - /** - * Success=1,Warning=2,Error=3 - */ - test?: number; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one number property - */ -export type ModelWithInteger = { - /** - * This is a simple number property - */ - prop?: number; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with nested enums - */ -export type ModelWithNestedEnums = { - dictionaryWithEnum?: Record; - dictionaryWithEnumFromDescription?: Record; - arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; - arrayWithDescription?: Array; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one nested property - */ -export type ModelWithNestedProperties = { - readonly first: { - readonly second: { - readonly third: string; - }; - }; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithNullableString = { - /** - * This is a simple string property - */ - nullableProp?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp: string | null; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with ordered properties - */ -export type ModelWithOrderedProperties = { - zebra?: string; - apple?: string; - hawaii?: string; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a some patterns - */ -export type ModelWithPattern = { - key: string; - name: string; - readonly enabled?: boolean; - readonly modified?: string; - id?: string; - text?: string; - patternWithSingleQuotes?: string; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one nested property - */ -export type ModelWithProperties = { - required: string; - readonly requiredAndReadOnly: string; - string?: string; - number?: number; - boolean?: boolean; - reference?: ModelWithString; - 'property with space'?: string; - default?: string; - try?: string; - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithProperties } from './ModelWithProperties'; -/** - * This is a model with one property containing a reference - */ -export type ModelWithReference = { - prop?: ModelWithProperties; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithString = { - /** - * This is a simple string property - */ - prop?: string; -}; - -" -`; - -exports[`v2 should generate: test/generated/v2/models/SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple boolean - */ -export type SimpleBoolean = boolean; -" -`; - -exports[`v2 should generate: test/generated/v2/models/SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple file - */ -export type SimpleFile = Blob; -" -`; - -exports[`v2 should generate: test/generated/v2/models/SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple number - */ -export type SimpleInteger = number; -" -`; - -exports[`v2 should generate: test/generated/v2/models/SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple reference - */ -export type SimpleReference = ModelWithString; -" -`; - -exports[`v2 should generate: test/generated/v2/models/SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleString = string; -" -`; - -exports[`v2 should generate: test/generated/v2/models/SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleStringWithPattern = string; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $_default = { - properties: { - name: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithArray = { - type: 'array', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithBooleans = { - type: 'array', - contains: { - type: 'boolean', - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithNumbers = { - type: 'array', - contains: { - type: 'number', - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithProperties = { - type: 'array', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithReferences = { - type: 'array', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithStrings = { - type: 'array', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBackticks = { - type: 'number', - description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBreaks = { - type: 'number', - description: \`Testing multiline comments in string: First line - Second line - Fourth line\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithExpressionPlaceholders = { - type: 'number', - description: \`Testing expression placeholders in string: \\\${expression} should work\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithQuotes = { - type: 'number', - description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithReservedCharacters = { - type: 'number', - description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithSlashes = { - type: 'number', - description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$Date.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Date = { - type: 'string', - description: \`This is a type-only model that defines Date as a string\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithArray = { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithDictionary = { - type: 'dictionary', - contains: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithProperties = { - type: 'dictionary', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithReference = { - type: 'dictionary', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithString = { - type: 'dictionary', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumFromDescription = { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithExtensions = { - type: 'Enum', -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithNumbers = { - type: 'Enum', -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithStrings = { - type: 'Enum', -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelThatExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - properties: { - propExtendsA: { - type: 'string', - }, - propExtendsB: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelThatExtendsExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelThatExtends', - }, { - properties: { - propExtendsC: { - type: 'string', - }, - propExtendsD: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithArray = { - description: \`This is a model with one property containing an array\`, - properties: { - prop: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, - propWithFile: { - type: 'array', - contains: { - type: 'binary', - }, - }, - propWithNumber: { - type: 'array', - contains: { - type: 'number', - }, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithBoolean = { - description: \`This is a model with one boolean property\`, - properties: { - prop: { - type: 'boolean', - description: \`This is a simple boolean property\`, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithCircularReference = { - description: \`This is a model with one property containing a circular reference\`, - properties: { - prop: { - type: 'ModelWithCircularReference', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDictionary = { - description: \`This is a model with one property containing a dictionary\`, - properties: { - prop: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDuplicateImports = { - description: \`This is a model with duplicated imports\`, - properties: { - propA: { - type: 'ModelWithString', - }, - propB: { - type: 'ModelWithString', - }, - propC: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDuplicateProperties = { - description: \`This is a model with duplicated properties\`, - properties: { - prop: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithEnum = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'Enum', - }, - statusCode: { - type: 'Enum', - }, - bool: { - type: 'boolean', - description: \`Simple boolean enum\`, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithEnumFromDescription = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithInteger = { - description: \`This is a model with one number property\`, - properties: { - prop: { - type: 'number', - description: \`This is a simple number property\`, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNestedEnums = { - description: \`This is a model with nested enums\`, - properties: { - dictionaryWithEnum: { - type: 'dictionary', - contains: { - type: 'Enum', - }, - }, - dictionaryWithEnumFromDescription: { - type: 'dictionary', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - arrayWithEnum: { - type: 'array', - contains: { - type: 'Enum', - }, - }, - arrayWithDescription: { - type: 'array', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNestedProperties = { - description: \`This is a model with one nested property\`, - properties: { - first: { - properties: { - second: { - properties: { - third: { - type: 'string', - isReadOnly: true, - isRequired: true, - }, - }, - isReadOnly: true, - isRequired: true, - }, - }, - isReadOnly: true, - isRequired: true, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNullableString = { - description: \`This is a model with one string property\`, - properties: { - nullableProp: { - type: 'string', - description: \`This is a simple string property\`, - isNullable: true, - }, - nullableRequiredProp: { - type: 'string', - description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithOrderedProperties = { - description: \`This is a model with ordered properties\`, - properties: { - zebra: { - type: 'string', - }, - apple: { - type: 'string', - }, - hawaii: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithPattern = { - description: \`This is a model that contains a some patterns\`, - properties: { - key: { - type: 'string', - isRequired: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', - }, - name: { - type: 'string', - isRequired: true, - maxLength: 255, - }, - enabled: { - type: 'boolean', - isReadOnly: true, - }, - modified: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - id: { - type: 'string', - pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', - }, - text: { - type: 'string', - pattern: '^\\\\w+$', - }, - patternWithSingleQuotes: { - type: 'string', - pattern: '^[a-zA-Z0-9\\']*$', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithProperties = { - description: \`This is a model with one nested property\`, - properties: { - required: { - type: 'string', - isRequired: true, - }, - requiredAndReadOnly: { - type: 'string', - isReadOnly: true, - isRequired: true, - }, - string: { - type: 'string', - }, - number: { - type: 'number', - }, - boolean: { - type: 'boolean', - }, - reference: { - type: 'ModelWithString', - }, - 'property with space': { - type: 'string', - }, - default: { - type: 'string', - }, - try: { - type: 'string', - }, - '@namespace.string': { - type: 'string', - isReadOnly: true, - }, - '@namespace.integer': { - type: 'number', - isReadOnly: true, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithReference = { - description: \`This is a model with one property containing a reference\`, - properties: { - prop: { - type: 'ModelWithProperties', - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithString = { - description: \`This is a model with one string property\`, - properties: { - prop: { - type: 'string', - description: \`This is a simple string property\`, - }, - }, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleBoolean = { - type: 'boolean', - description: \`This is a simple boolean\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleFile = { - type: 'binary', - description: \`This is a simple file\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleInteger = { - type: 'number', - description: \`This is a simple number\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleReference = { - type: 'ModelWithString', - description: \`This is a simple reference\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleString = { - type: 'string', - description: \`This is a simple string\`, -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/schemas/$SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleStringWithPattern = { - type: 'string', - description: \`This is a simple string\`, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', -} as const; -" -`; - -exports[`v2 should generate: test/generated/v2/services/CollectionFormatService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class CollectionFormatService { - /** - * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) - * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) - * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) - * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) - * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) - * @throws ApiError - */ - public static collectionFormat( - parameterArrayCsv: Array, - parameterArraySsv: Array, - parameterArrayTsv: Array, - parameterArrayPipes: Array, - parameterArrayMulti: Array, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/collectionFormat', - query: { - 'parameterArrayCSV': parameterArrayCsv, - 'parameterArraySSV': parameterArraySsv, - 'parameterArrayTSV': parameterArrayTsv, - 'parameterArrayPipes': parameterArrayPipes, - 'parameterArrayMulti': parameterArrayMulti, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/ComplexService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ComplexService { - /** - * @param parameterObject Parameter containing object - * @param parameterReference Parameter containing reference - * @returns ModelWithString Successful response - * @throws ApiError - */ - public static complexTypes( - parameterObject: { - first?: { - second?: { - third?: string; - }; - }; - }, - parameterReference: ModelWithString, - ): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/complex', - query: { - 'parameterObject': parameterObject, - 'parameterReference': parameterReference, - }, - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/DefaultService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultService { - /** - * @throws ApiError - */ - public static serviceWithEmptyTag(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-tag', - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/DefaultsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultsService { - /** - * @param parameterString This is a simple string with default value - * @param parameterNumber This is a simple number with default value - * @param parameterBoolean This is a simple boolean with default value - * @param parameterEnum This is a simple enum with default value - * @param parameterModel This is a simple model with default value - * @throws ApiError - */ - public static callWithDefaultParameters( - parameterString: string = 'Hello World!', - parameterNumber: number = 123, - parameterBoolean: boolean = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString = { - "prop": "Hello World!" - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - /** - * @param parameterString This is a simple string that is optional with default value - * @param parameterNumber This is a simple number that is optional with default value - * @param parameterBoolean This is a simple boolean that is optional with default value - * @param parameterEnum This is a simple enum that is optional with default value - * @param parameterModel This is a simple model that is optional with default value - * @throws ApiError - */ - public static callWithDefaultOptionalParameters( - parameterString: string = 'Hello World!', - parameterNumber: number = 123, - parameterBoolean: boolean = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString = { - "prop": "Hello World!" - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - /** - * @param parameterStringWithNoDefault This is a string with no default - * @param parameterOptionalStringWithDefault This is a optional string with default - * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default - * @param parameterOptionalStringWithNoDefault This is a optional string with no default - * @param parameterStringWithDefault This is a string with default - * @param parameterStringWithEmptyDefault This is a string with empty default - * @param parameterStringNullableWithNoDefault This is a string that can be null with no default - * @param parameterStringNullableWithDefault This is a string that can be null with default - * @throws ApiError - */ - public static callToTestOrderOfParams( - parameterStringWithNoDefault: string, - parameterOptionalStringWithDefault: string = 'Hello World!', - parameterOptionalStringWithEmptyDefault: string = '', - parameterOptionalStringWithNoDefault?: string, - parameterStringWithDefault: string = 'Hello World!', - parameterStringWithEmptyDefault: string = '', - parameterStringNullableWithNoDefault?: string | null, - parameterStringNullableWithDefault: string | null = null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/defaults', - query: { - 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, - 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, - 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, - 'parameterStringWithDefault': parameterStringWithDefault, - 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, - 'parameterStringWithNoDefault': parameterStringWithNoDefault, - 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, - 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/DescriptionsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DescriptionsService { - /** - * @param parameterWithBreaks Testing multiline comments in string: First line - * Second line - * - * Fourth line - * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work - * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work - * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work - * @throws ApiError - */ - public static callWithDescriptions( - parameterWithBreaks?: string, - parameterWithBackticks?: string, - parameterWithSlashes?: string, - parameterWithExpressionPlaceholders?: string, - parameterWithQuotes?: string, - parameterWithReservedCharacters?: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/descriptions/', - query: { - 'parameterWithBreaks': parameterWithBreaks, - 'parameterWithBackticks': parameterWithBackticks, - 'parameterWithSlashes': parameterWithSlashes, - 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, - 'parameterWithQuotes': parameterWithQuotes, - 'parameterWithReservedCharacters': parameterWithReservedCharacters, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/DuplicateService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DuplicateService { - /** - * @throws ApiError - */ - public static duplicateName(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName1(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName2(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName3(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/duplicate', - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/ErrorService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ErrorService { - /** - * @param status Status code to return - * @returns any Custom message: Successful response - * @throws ApiError - */ - public static testErrorCode( - status: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/error', - query: { - 'status': status, - }, - errors: { - 500: \`Custom message: Internal Server Error\`, - 501: \`Custom message: Not Implemented\`, - 502: \`Custom message: Bad Gateway\`, - 503: \`Custom message: Service Unavailable\`, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/HeaderService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class HeaderService { - /** - * @returns string Successful response - * @throws ApiError - */ - public static callWithResultFromHeader(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/header', - responseHeader: 'operation-location', - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/MultipleTags1Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags1Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/MultipleTags2Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags2Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/MultipleTags3Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags3Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/NoContentService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class NoContentService { - /** - * @returns void - * @throws ApiError - */ - public static callWithNoContentResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-content', - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/ParametersService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ParametersService { - /** - * @param parameterHeader This is the parameter that goes into the header - * @param parameterQuery This is the parameter that goes into the query params - * @param parameterForm This is the parameter that goes into the form data - * @param parameterBody This is the parameter that is sent as request body - * @param parameterPath This is the parameter that goes into the path - * @throws ApiError - */ - public static callWithParameters( - parameterHeader: string, - parameterQuery: string, - parameterForm: string, - parameterBody: string, - parameterPath: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameterPath}', - path: { - 'parameterPath': parameterPath, - }, - headers: { - 'parameterHeader': parameterHeader, - }, - query: { - 'parameterQuery': parameterQuery, - }, - formData: { - 'parameterForm': parameterForm, - }, - body: parameterBody, - }); - } - /** - * @param parameterHeader This is the parameter that goes into the request header - * @param parameterQuery This is the parameter that goes into the request query params - * @param parameterForm This is the parameter that goes into the request form data - * @param parameterBody This is the parameter that is sent as request body - * @param parameterPath1 This is the parameter that goes into the path - * @param parameterPath2 This is the parameter that goes into the path - * @param parameterPath3 This is the parameter that goes into the path - * @param _default This is the parameter with a reserved keyword - * @throws ApiError - */ - public static callWithWeirdParameterNames( - parameterHeader: string, - parameterQuery: string, - parameterForm: string, - parameterBody: string, - parameterPath1?: string, - parameterPath2?: string, - parameterPath3?: string, - _default?: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', - path: { - 'parameter.path.1': parameterPath1, - 'parameter-path-2': parameterPath2, - 'PARAMETER-PATH-3': parameterPath3, - }, - headers: { - 'parameter.header': parameterHeader, - }, - query: { - 'default': _default, - 'parameter-query': parameterQuery, - }, - formData: { - 'parameter_form': parameterForm, - }, - body: parameterBody, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/ResponseService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelThatExtends } from '../models/ModelThatExtends'; -import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ResponseService { - /** - * @returns ModelWithString Message for default response - * @throws ApiError - */ - public static callWithResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/response', - }); - } - /** - * @returns ModelWithString Message for default response - * @throws ApiError - */ - public static callWithDuplicateResponses(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } - /** - * @returns any Message for 200 response - * @returns ModelWithString Message for default response - * @returns ModelThatExtends Message for 201 response - * @returns ModelThatExtendsExtends Message for 202 response - * @throws ApiError - */ - public static callWithResponses(): CancelablePromise<{ - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; - readonly value?: Array; - } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/SimpleService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class SimpleService { - /** - * @throws ApiError - */ - public static getCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static putCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static postCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static deleteCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static optionsCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'OPTIONS', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static headCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'HEAD', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static patchCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PATCH', - url: '/api/v{api-version}/simple', - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/TypesService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class TypesService { - /** - * @param parameterArray This is an array parameter - * @param parameterDictionary This is a dictionary parameter - * @param parameterEnum This is an enum parameter - * @param parameterNumber This is a number parameter - * @param parameterString This is a string parameter - * @param parameterBoolean This is a boolean parameter - * @param parameterObject This is an object parameter - * @param id This is a number parameter - * @returns number Response is a simple number - * @returns string Response is a simple string - * @returns boolean Response is a simple boolean - * @returns any Response is a simple object - * @throws ApiError - */ - public static types( - parameterArray: Array, - parameterDictionary: Record, - parameterEnum: 'Success' | 'Warning' | 'Error', - parameterNumber: number = 123, - parameterString: string = 'default', - parameterBoolean: boolean = true, - parameterObject: any = null, - id?: number, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/types', - path: { - 'id': id, - }, - query: { - 'parameterNumber': parameterNumber, - 'parameterString': parameterString, - 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, - 'parameterArray': parameterArray, - 'parameterDictionary': parameterDictionary, - 'parameterEnum': parameterEnum, - }, - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/core/ApiError.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; - -export class ApiError extends Error { - public readonly url: string; - public readonly status: number; - public readonly statusText: string; - public readonly body: any; - public readonly request: ApiRequestOptions; - - constructor(request: ApiRequestOptions, response: ApiResult, message: string) { - super(message); - - this.name = 'ApiError'; - this.url = response.url; - this.status = response.status; - this.statusText = response.statusText; - this.body = response.body; - this.request = request; - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/core/ApiRequestOptions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type ApiRequestOptions = { - readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; - readonly url: string; - readonly path?: Record; - readonly cookies?: Record; - readonly headers?: Record; - readonly query?: Record; - readonly formData?: Record; - readonly body?: any; - readonly mediaType?: string; - readonly responseHeader?: string; - readonly errors?: Record; -}; -" -`; - -exports[`v3 should generate: ./test/generated/v3/core/ApiResult.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type ApiResult = { - readonly url: string; - readonly ok: boolean; - readonly status: number; - readonly statusText: string; - readonly body: any; -}; -" -`; - -exports[`v3 should generate: ./test/generated/v3/core/CancelablePromise.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export class CancelError extends Error { - - constructor(message: string) { - super(message); - this.name = 'CancelError'; - } - - public get isCancelled(): boolean { - return true; - } -} - -export interface OnCancel { - readonly isResolved: boolean; - readonly isRejected: boolean; - readonly isCancelled: boolean; - - (cancelHandler: () => void): void; -} - -export class CancelablePromise implements Promise { - #isResolved: boolean; - #isRejected: boolean; - #isCancelled: boolean; - readonly #cancelHandlers: (() => void)[]; - readonly #promise: Promise; - #resolve?: (value: T | PromiseLike) => void; - #reject?: (reason?: any) => void; - - constructor( - executor: ( - resolve: (value: T | PromiseLike) => void, - reject: (reason?: any) => void, - onCancel: OnCancel - ) => void - ) { - this.#isResolved = false; - this.#isRejected = false; - this.#isCancelled = false; - this.#cancelHandlers = []; - this.#promise = new Promise((resolve, reject) => { - this.#resolve = resolve; - this.#reject = reject; - - const onResolve = (value: T | PromiseLike): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isResolved = true; - if (this.#resolve) this.#resolve(value); - }; - - const onReject = (reason?: any): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isRejected = true; - if (this.#reject) this.#reject(reason); - }; - - const onCancel = (cancelHandler: () => void): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#cancelHandlers.push(cancelHandler); - }; - - Object.defineProperty(onCancel, 'isResolved', { - get: (): boolean => this.#isResolved, - }); - - Object.defineProperty(onCancel, 'isRejected', { - get: (): boolean => this.#isRejected, - }); - - Object.defineProperty(onCancel, 'isCancelled', { - get: (): boolean => this.#isCancelled, - }); - - return executor(onResolve, onReject, onCancel as OnCancel); - }); - } - - get [Symbol.toStringTag]() { - return "Cancellable Promise"; - } - - public then( - onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, - onRejected?: ((reason: any) => TResult2 | PromiseLike) | null - ): Promise { - return this.#promise.then(onFulfilled, onRejected); - } - - public catch( - onRejected?: ((reason: any) => TResult | PromiseLike) | null - ): Promise { - return this.#promise.catch(onRejected); - } - - public finally(onFinally?: (() => void) | null): Promise { - return this.#promise.finally(onFinally); - } - - public cancel(): void { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isCancelled = true; - if (this.#cancelHandlers.length) { - try { - for (const cancelHandler of this.#cancelHandlers) { - cancelHandler(); - } - } catch (error) { - console.warn('Cancellation threw an error', error); - return; - } - } - this.#cancelHandlers.length = 0; - if (this.#reject) this.#reject(new CancelError('Request aborted')); - } - - public get isCancelled(): boolean { - return this.#isCancelled; - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/core/OpenAPI.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; - -type Resolver = (options: ApiRequestOptions) => Promise; -type Headers = Record; - -export type OpenAPIConfig = { - BASE: string; - VERSION: string; - WITH_CREDENTIALS: boolean; - CREDENTIALS: 'include' | 'omit' | 'same-origin'; - TOKEN?: string | Resolver | undefined; - USERNAME?: string | Resolver | undefined; - PASSWORD?: string | Resolver | undefined; - HEADERS?: Headers | Resolver | undefined; - ENCODE_PATH?: ((path: string) => string) | undefined; -}; - -export const OpenAPI: OpenAPIConfig = { - BASE: 'http://localhost:3000/base', - VERSION: '1.0', - WITH_CREDENTIALS: false, - CREDENTIALS: 'include', - TOKEN: undefined, - USERNAME: undefined, - PASSWORD: undefined, - HEADERS: undefined, - ENCODE_PATH: undefined, -}; -" -`; - -exports[`v3 should generate: ./test/generated/v3/core/request.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import { ApiError } from './ApiError'; -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; -import { CancelablePromise } from './CancelablePromise'; -import type { OnCancel } from './CancelablePromise'; -import type { OpenAPIConfig } from './OpenAPI'; - -export const isDefined = (value: T | null | undefined): value is Exclude => { - return value !== undefined && value !== null; -}; - -export const isString = (value: any): value is string => { - return typeof value === 'string'; -}; - -export const isStringWithValue = (value: any): value is string => { - return isString(value) && value !== ''; -}; - -export const isBlob = (value: any): value is Blob => { - return ( - typeof value === 'object' && - typeof value.type === 'string' && - typeof value.stream === 'function' && - typeof value.arrayBuffer === 'function' && - typeof value.constructor === 'function' && - typeof value.constructor.name === 'string' && - /^(Blob|File)$/.test(value.constructor.name) && - /^(Blob|File)$/.test(value[Symbol.toStringTag]) - ); -}; - -export const isFormData = (value: any): value is FormData => { - return value instanceof FormData; -}; - -export const base64 = (str: string): string => { - try { - return btoa(str); - } catch (err) { - // @ts-ignore - return Buffer.from(str).toString('base64'); - } -}; - -export const getQueryString = (params: Record): string => { - const qs: string[] = []; - - const append = (key: string, value: any) => { - qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); - }; - - const process = (key: string, value: any) => { - if (isDefined(value)) { - if (Array.isArray(value)) { - value.forEach(v => { - process(key, v); - }); - } else if (typeof value === 'object') { - Object.entries(value).forEach(([k, v]) => { - process(\`\${key}[\${k}]\`, v); - }); - } else { - append(key, value); - } - } - }; - - Object.entries(params).forEach(([key, value]) => { - process(key, value); - }); - - if (qs.length > 0) { - return \`?\${qs.join('&')}\`; - } - - return ''; -}; - -const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { - const encoder = config.ENCODE_PATH || encodeURI; - - const path = options.url - .replace('{api-version}', config.VERSION) - .replace(/{(.*?)}/g, (substring: string, group: string) => { - if (options.path?.hasOwnProperty(group)) { - return encoder(String(options.path[group])); - } - return substring; - }); - - const url = \`\${config.BASE}\${path}\`; - if (options.query) { - return \`\${url}\${getQueryString(options.query)}\`; - } - return url; -}; - -export const getFormData = (options: ApiRequestOptions): FormData | undefined => { - if (options.formData) { - const formData = new FormData(); - - const process = (key: string, value: any) => { - if (isString(value) || isBlob(value)) { - formData.append(key, value); - } else { - formData.append(key, JSON.stringify(value)); - } - }; - - Object.entries(options.formData) - .filter(([_, value]) => isDefined(value)) - .forEach(([key, value]) => { - if (Array.isArray(value)) { - value.forEach(v => process(key, v)); - } else { - process(key, value); - } - }); - - return formData; - } - return undefined; -}; - -type Resolver = (options: ApiRequestOptions) => Promise; - -export const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => { - if (typeof resolver === 'function') { - return (resolver as Resolver)(options); - } - return resolver; -}; - -export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { - const token = await resolve(options, config.TOKEN); - const username = await resolve(options, config.USERNAME); - const password = await resolve(options, config.PASSWORD); - const additionalHeaders = await resolve(options, config.HEADERS); - - const headers = Object.entries({ - Accept: 'application/json', - ...additionalHeaders, - ...options.headers, - }) - .filter(([_, value]) => isDefined(value)) - .reduce((headers, [key, value]) => ({ - ...headers, - [key]: String(value), - }), {} as Record); - - if (isStringWithValue(token)) { - headers['Authorization'] = \`Bearer \${token}\`; - } - - if (isStringWithValue(username) && isStringWithValue(password)) { - const credentials = base64(\`\${username}:\${password}\`); - headers['Authorization'] = \`Basic \${credentials}\`; - } - - if (options.body) { - if (options.mediaType) { - headers['Content-Type'] = options.mediaType; - } else if (isBlob(options.body)) { - headers['Content-Type'] = options.body.type || 'application/octet-stream'; - } else if (isString(options.body)) { - headers['Content-Type'] = 'text/plain'; - } else if (!isFormData(options.body)) { - headers['Content-Type'] = 'application/json'; - } - } - - return new Headers(headers); -}; - -export const getRequestBody = (options: ApiRequestOptions): any => { - if (options.body !== undefined) { - if (options.mediaType?.includes('/json')) { - return JSON.stringify(options.body) - } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { - return options.body; - } else { - return JSON.stringify(options.body); - } - } - return undefined; -}; - -export const sendRequest = async ( - config: OpenAPIConfig, - options: ApiRequestOptions, - url: string, - body: any, - formData: FormData | undefined, - headers: Headers, - onCancel: OnCancel -): Promise => { - const controller = new AbortController(); - - const request: RequestInit = { - headers, - body: body ?? formData, - method: options.method, - signal: controller.signal, - }; - - if (config.WITH_CREDENTIALS) { - request.credentials = config.CREDENTIALS; - } - - onCancel(() => controller.abort()); - - return await fetch(url, request); -}; - -export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { - if (responseHeader) { - const content = response.headers.get(responseHeader); - if (isString(content)) { - return content; - } - } - return undefined; -}; - -export const getResponseBody = async (response: Response): Promise => { - if (response.status !== 204) { - try { - const contentType = response.headers.get('Content-Type'); - if (contentType) { - const jsonTypes = ['application/json', 'application/problem+json'] - const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); - if (isJSON) { - return await response.json(); - } else { - return await response.text(); - } - } - } catch (error) { - console.error(error); - } - } - return undefined; -}; - -export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => { - const errors: Record = { - 400: 'Bad Request', - 401: 'Unauthorized', - 403: 'Forbidden', - 404: 'Not Found', - 500: 'Internal Server Error', - 502: 'Bad Gateway', - 503: 'Service Unavailable', - ...options.errors, - } - - const error = errors[result.status]; - if (error) { - throw new ApiError(options, result, error); - } - - if (!result.ok) { - const errorStatus = result.status ?? 'unknown'; - const errorStatusText = result.statusText ?? 'unknown'; - const errorBody = (() => { - try { - return JSON.stringify(result.body, null, 2); - } catch (e) { - return undefined; - } - })(); - - throw new ApiError(options, result, - \`Generic Error: status: \${errorStatus}; status text: \${errorStatusText}; body: \${errorBody}\` - ); - } -}; - -/** - * Request method - * @param config The OpenAPI configuration object - * @param options The request options from the service - * @returns CancelablePromise - * @throws ApiError - */ -export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { - return new CancelablePromise(async (resolve, reject, onCancel) => { - try { - const url = getUrl(config, options); - const formData = getFormData(options); - const body = getRequestBody(options); - const headers = await getHeaders(config, options); - - if (!onCancel.isCancelled) { - const response = await sendRequest(config, options, url, body, formData, headers, onCancel); - const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); - - const result: ApiResult = { - url, - ok: response.ok, - status: response.status, - statusText: response.statusText, - body: responseHeader ?? responseBody, - }; - - catchErrorCodes(options, result); - - resolve(result.body); - } - } catch (error) { - reject(error); - } - }); -}; -" -`; - -exports[`v3 should generate: ./test/generated/v3/index.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export { ApiError } from './core/ApiError'; -export { CancelablePromise, CancelError } from './core/CancelablePromise'; -export { OpenAPI } from './core/OpenAPI'; -export type { OpenAPIConfig } from './core/OpenAPI'; - -export type { _default } from './models/_default'; -export type { ArrayWithArray } from './models/ArrayWithArray'; -export type { ArrayWithBooleans } from './models/ArrayWithBooleans'; -export type { ArrayWithNumbers } from './models/ArrayWithNumbers'; -export type { ArrayWithProperties } from './models/ArrayWithProperties'; -export type { ArrayWithReferences } from './models/ArrayWithReferences'; -export type { ArrayWithStrings } from './models/ArrayWithStrings'; -export type { CommentWithBackticks } from './models/CommentWithBackticks'; -export type { CommentWithBreaks } from './models/CommentWithBreaks'; -export type { CommentWithExpressionPlaceholders } from './models/CommentWithExpressionPlaceholders'; -export type { CommentWithQuotes } from './models/CommentWithQuotes'; -export type { CommentWithReservedCharacters } from './models/CommentWithReservedCharacters'; -export type { CommentWithSlashes } from './models/CommentWithSlashes'; -export type { CompositionBaseModel } from './models/CompositionBaseModel'; -export type { CompositionExtendedModel } from './models/CompositionExtendedModel'; -export type { CompositionWithAllOfAndNullable } from './models/CompositionWithAllOfAndNullable'; -export type { CompositionWithAnyOf } from './models/CompositionWithAnyOf'; -export type { CompositionWithAnyOfAndNullable } from './models/CompositionWithAnyOfAndNullable'; -export type { CompositionWithAnyOfAnonymous } from './models/CompositionWithAnyOfAnonymous'; -export type { CompositionWithOneOf } from './models/CompositionWithOneOf'; -export type { CompositionWithOneOfAndComplexArrayDictionary } from './models/CompositionWithOneOfAndComplexArrayDictionary'; -export type { CompositionWithOneOfAndNullable } from './models/CompositionWithOneOfAndNullable'; -export type { CompositionWithOneOfAndSimpleArrayDictionary } from './models/CompositionWithOneOfAndSimpleArrayDictionary'; -export type { CompositionWithOneOfAndSimpleDictionary } from './models/CompositionWithOneOfAndSimpleDictionary'; -export type { CompositionWithOneOfAnonymous } from './models/CompositionWithOneOfAnonymous'; -export type { CompositionWithOneOfDiscriminator } from './models/CompositionWithOneOfDiscriminator'; -export type { DeprecatedModel } from './models/DeprecatedModel'; -export type { DictionaryWithArray } from './models/DictionaryWithArray'; -export type { DictionaryWithDictionary } from './models/DictionaryWithDictionary'; -export type { DictionaryWithProperties } from './models/DictionaryWithProperties'; -export type { DictionaryWithReference } from './models/DictionaryWithReference'; -export type { DictionaryWithString } from './models/DictionaryWithString'; -export type { EnumFromDescription } from './models/EnumFromDescription'; -export { EnumWithExtensions } from './models/EnumWithExtensions'; -export { EnumWithNumbers } from './models/EnumWithNumbers'; -export { EnumWithStrings } from './models/EnumWithStrings'; -export type { File } from './models/File'; -export type { FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export type { FreeFormObjectWithAdditionalPropertiesEqTrue } from './models/FreeFormObjectWithAdditionalPropertiesEqTrue'; -export type { FreeFormObjectWithoutAdditionalProperties } from './models/FreeFormObjectWithoutAdditionalProperties'; -export type { ModelCircle } from './models/ModelCircle'; -export type { ModelSquare } from './models/ModelSquare'; -export type { ModelThatExtends } from './models/ModelThatExtends'; -export type { ModelThatExtendsExtends } from './models/ModelThatExtendsExtends'; -export type { ModelWithArray } from './models/ModelWithArray'; -export type { ModelWithBoolean } from './models/ModelWithBoolean'; -export type { ModelWithCircularReference } from './models/ModelWithCircularReference'; -export type { ModelWithDictionary } from './models/ModelWithDictionary'; -export type { ModelWithDuplicateImports } from './models/ModelWithDuplicateImports'; -export type { ModelWithDuplicateProperties } from './models/ModelWithDuplicateProperties'; -export { ModelWithEnum } from './models/ModelWithEnum'; -export type { ModelWithEnumFromDescription } from './models/ModelWithEnumFromDescription'; -export type { ModelWithInteger } from './models/ModelWithInteger'; -export type { ModelWithNestedEnums } from './models/ModelWithNestedEnums'; -export type { ModelWithNestedProperties } from './models/ModelWithNestedProperties'; -export type { ModelWithNullableString } from './models/ModelWithNullableString'; -export type { ModelWithOrderedProperties } from './models/ModelWithOrderedProperties'; -export type { ModelWithPattern } from './models/ModelWithPattern'; -export type { ModelWithProperties } from './models/ModelWithProperties'; -export type { ModelWithReference } from './models/ModelWithReference'; -export type { ModelWithString } from './models/ModelWithString'; -export type { Pageable } from './models/Pageable'; -export type { SimpleBoolean } from './models/SimpleBoolean'; -export type { SimpleFile } from './models/SimpleFile'; -export type { SimpleInteger } from './models/SimpleInteger'; -export type { SimpleParameter } from './models/SimpleParameter'; -export type { SimpleReference } from './models/SimpleReference'; -export type { SimpleString } from './models/SimpleString'; -export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern'; - -export { $_default } from './schemas/$_default'; -export { $ArrayWithArray } from './schemas/$ArrayWithArray'; -export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; -export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; -export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; -export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; -export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; -export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; -export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; -export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; -export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; -export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; -export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; -export { $CompositionBaseModel } from './schemas/$CompositionBaseModel'; -export { $CompositionExtendedModel } from './schemas/$CompositionExtendedModel'; -export { $CompositionWithAllOfAndNullable } from './schemas/$CompositionWithAllOfAndNullable'; -export { $CompositionWithAnyOf } from './schemas/$CompositionWithAnyOf'; -export { $CompositionWithAnyOfAndNullable } from './schemas/$CompositionWithAnyOfAndNullable'; -export { $CompositionWithAnyOfAnonymous } from './schemas/$CompositionWithAnyOfAnonymous'; -export { $CompositionWithOneOf } from './schemas/$CompositionWithOneOf'; -export { $CompositionWithOneOfAndComplexArrayDictionary } from './schemas/$CompositionWithOneOfAndComplexArrayDictionary'; -export { $CompositionWithOneOfAndNullable } from './schemas/$CompositionWithOneOfAndNullable'; -export { $CompositionWithOneOfAndSimpleArrayDictionary } from './schemas/$CompositionWithOneOfAndSimpleArrayDictionary'; -export { $CompositionWithOneOfAndSimpleDictionary } from './schemas/$CompositionWithOneOfAndSimpleDictionary'; -export { $CompositionWithOneOfAnonymous } from './schemas/$CompositionWithOneOfAnonymous'; -export { $CompositionWithOneOfDiscriminator } from './schemas/$CompositionWithOneOfDiscriminator'; -export { $DeprecatedModel } from './schemas/$DeprecatedModel'; -export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; -export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; -export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; -export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; -export { $DictionaryWithString } from './schemas/$DictionaryWithString'; -export { $EnumFromDescription } from './schemas/$EnumFromDescription'; -export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; -export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; -export { $EnumWithStrings } from './schemas/$EnumWithStrings'; -export { $File } from './schemas/$File'; -export { $FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export { $FreeFormObjectWithAdditionalPropertiesEqTrue } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue'; -export { $FreeFormObjectWithoutAdditionalProperties } from './schemas/$FreeFormObjectWithoutAdditionalProperties'; -export { $ModelCircle } from './schemas/$ModelCircle'; -export { $ModelSquare } from './schemas/$ModelSquare'; -export { $ModelThatExtends } from './schemas/$ModelThatExtends'; -export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; -export { $ModelWithArray } from './schemas/$ModelWithArray'; -export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; -export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; -export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; -export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; -export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; -export { $ModelWithEnum } from './schemas/$ModelWithEnum'; -export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; -export { $ModelWithInteger } from './schemas/$ModelWithInteger'; -export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; -export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; -export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; -export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; -export { $ModelWithPattern } from './schemas/$ModelWithPattern'; -export { $ModelWithProperties } from './schemas/$ModelWithProperties'; -export { $ModelWithReference } from './schemas/$ModelWithReference'; -export { $ModelWithString } from './schemas/$ModelWithString'; -export { $Pageable } from './schemas/$Pageable'; -export { $SimpleBoolean } from './schemas/$SimpleBoolean'; -export { $SimpleFile } from './schemas/$SimpleFile'; -export { $SimpleInteger } from './schemas/$SimpleInteger'; -export { $SimpleParameter } from './schemas/$SimpleParameter'; -export { $SimpleReference } from './schemas/$SimpleReference'; -export { $SimpleString } from './schemas/$SimpleString'; -export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; - -export { CollectionFormatService } from './services/CollectionFormatService'; -export { ComplexService } from './services/ComplexService'; -export { DefaultService } from './services/DefaultService'; -export { DefaultsService } from './services/DefaultsService'; -export { DeprecatedService } from './services/DeprecatedService'; -export { DescriptionsService } from './services/DescriptionsService'; -export { DuplicateService } from './services/DuplicateService'; -export { ErrorService } from './services/ErrorService'; -export { FormDataService } from './services/FormDataService'; -export { HeaderService } from './services/HeaderService'; -export { MultipartService } from './services/MultipartService'; -export { MultipleTags1Service } from './services/MultipleTags1Service'; -export { MultipleTags2Service } from './services/MultipleTags2Service'; -export { MultipleTags3Service } from './services/MultipleTags3Service'; -export { NoContentService } from './services/NoContentService'; -export { ParametersService } from './services/ParametersService'; -export { RequestBodyService } from './services/RequestBodyService'; -export { ResponseService } from './services/ResponseService'; -export { SimpleService } from './services/SimpleService'; -export { TypesService } from './services/TypesService'; -export { UploadService } from './services/UploadService'; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type _default = { - name?: string; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array containing an array - */ -export type ArrayWithArray = Array>; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with booleans - */ -export type ArrayWithBooleans = Array; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with numbers - */ -export type ArrayWithNumbers = Array; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with properties - */ -export type ArrayWithProperties = Array<{ - foo?: string; - bar?: string; -}>; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array with references - */ -export type ArrayWithReferences = Array; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with strings - */ -export type ArrayWithStrings = Array; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - */ -export type CommentWithBackticks = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing multiline comments in string: First line - * Second line - * - * Fourth line - */ -export type CommentWithBreaks = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing expression placeholders in string: \${expression} should work - */ -export type CommentWithExpressionPlaceholders = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing quotes in string: 'single quote''' and "double quotes""" should work - */ -export type CommentWithQuotes = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing reserved characters in string: * inline * and ** inline ** should work - */ -export type CommentWithReservedCharacters = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - */ -export type CommentWithSlashes = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionBaseModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a base model with two simple optional properties - */ -export type CompositionBaseModel = { - firstName?: string; - lastname?: string; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionExtendedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CompositionBaseModel } from './CompositionBaseModel'; -/** - * This is a model that extends the base model - */ -export type CompositionExtendedModel = (CompositionBaseModel & { - firstName: string; - lastname: string; - age: number; -}); - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAllOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'all of' relationship - */ -export type CompositionWithAllOfAndNullable = { - propA?: ({ - boolean?: boolean; - } & ModelWithEnum & ModelWithArray & ModelWithDictionary) | null; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAnyOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property with a 'any of' relationship - */ -export type CompositionWithAnyOf = { - propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAnyOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'any of' relationship - */ -export type CompositionWithAnyOfAndNullable = { - propA?: ({ - boolean?: boolean; - } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithAnyOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property with a 'any of' relationship where the options are not $ref - */ -export type CompositionWithAnyOfAnonymous = { - propA?: ({ - propA?: string; - } | string | number); -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property with a 'one of' relationship - */ -export type CompositionWithOneOf = { - propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a dictionary of complex arrays (composited) within composition - */ -export type CompositionWithOneOfAndComplexArrayDictionary = { - propA?: (boolean | Record>); -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'one of' relationship - */ -export type CompositionWithOneOfAndNullable = { - propA?: ({ - boolean?: boolean; - } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a dictionary of simple arrays within composition - */ -export type CompositionWithOneOfAndSimpleArrayDictionary = { - propA?: (boolean | Record>); -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a simple dictionary within composition - */ -export type CompositionWithOneOfAndSimpleDictionary = { - propA?: (boolean | Record); -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property with a 'one of' relationship where the options are not $ref - */ -export type CompositionWithOneOfAnonymous = { - propA?: ({ - propA?: string; - } | string | number); -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/CompositionWithOneOfDiscriminator.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelCircle } from './ModelCircle'; -import type { ModelSquare } from './ModelSquare'; -/** - * This is a model with one property with a 'one of' relationship where the options are not $ref - */ -export type CompositionWithOneOfDiscriminator = (ModelCircle | ModelSquare); - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/DeprecatedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a deprecated model with a deprecated property - * @deprecated - */ -export type DeprecatedModel = { - /** - * This is a deprecated property - * @deprecated - */ - prop?: string; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a complex dictionary - */ -export type DictionaryWithArray = Record>; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithDictionary = Record>; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a complex dictionary - */ -export type DictionaryWithProperties = Record; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a string reference - */ -export type DictionaryWithReference = Record; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithString = Record; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Success=1,Warning=2,Error=3 - */ -export type EnumFromDescription = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithExtensions { - /** - * Used when the status of something is successful - */ - CUSTOM_SUCCESS = 200, - /** - * Used when the status of something has a warning - */ - CUSTOM_WARNING = 400, - /** - * Used when the status of something has an error - */ - CUSTOM_ERROR = 500, -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithNumbers { - '_1' = 1, - '_2' = 2, - '_3' = 3, - '_1.1' = 1.1, - '_1.2' = 1.2, - '_1.3' = 1.3, - '_100' = 100, - '_200' = 200, - '_300' = 300, - '_-100' = -100, - '_-200' = -200, - '_-300' = -300, - '_-1.1' = -1.1, - '_-1.2' = -1.2, - '_-1.3' = -1.3, -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with strings - */ -export enum EnumWithStrings { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - _SINGLE_QUOTE_ = '\\'Single Quote\\'', - _DOUBLE_QUOTES_ = '"Double Quotes"', -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/File.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type File = { - readonly id?: string; - readonly updated_at?: string; - readonly created_at?: string; - mime: string; - readonly file?: string; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a free-form object with additionalProperties: {}. - */ -export type FreeFormObjectWithAdditionalPropertiesEqEmptyObject = Record; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a free-form object with additionalProperties: true. - */ -export type FreeFormObjectWithAdditionalPropertiesEqTrue = Record; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a free-form object without additionalProperties. - */ -export type FreeFormObjectWithoutAdditionalProperties = Record; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelCircle.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Circle - */ -export type ModelCircle = { - kind: 'circle'; - radius?: number; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelSquare.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Square - */ -export type ModelSquare = { - kind: 'square'; - sideLength?: number; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtends = (ModelWithString & { - propExtendsA?: string; - propExtendsB?: ModelWithString; -}); - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelThatExtends } from './ModelThatExtends'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { - propExtendsC?: string; - propExtendsD?: ModelWithString; -}); - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property containing an array - */ -export type ModelWithArray = { - prop?: Array; - propWithFile?: Array; - propWithNumber?: Array; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one boolean property - */ -export type ModelWithBoolean = { - /** - * This is a simple boolean property - */ - prop?: boolean; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a circular reference - */ -export type ModelWithCircularReference = { - prop?: ModelWithCircularReference; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a dictionary - */ -export type ModelWithDictionary = { - prop?: Record; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated imports - */ -export type ModelWithDuplicateImports = { - propA?: ModelWithString; - propB?: ModelWithString; - propC?: ModelWithString; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated properties - */ -export type ModelWithDuplicateProperties = { - prop?: ModelWithString; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnum = { - /** - * This is a simple enum with strings - */ - test?: ModelWithEnum.test; - /** - * These are the HTTP error code enums - */ - statusCode?: ModelWithEnum.statusCode; - /** - * Simple boolean enum - */ - bool?: boolean; -}; -export namespace ModelWithEnum { - /** - * This is a simple enum with strings - */ - export enum test { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - } - /** - * These are the HTTP error code enums - */ - export enum statusCode { - _100 = '100', - _200_FOO = '200 FOO', - _300_FOO_BAR = '300 FOO_BAR', - _400_FOO_BAR = '400 foo-bar', - _500_FOO_BAR = '500 foo.bar', - _600_FOO_BAR = '600 foo&bar', - } -} - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnumFromDescription = { - /** - * Success=1,Warning=2,Error=3 - */ - test?: number; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one number property - */ -export type ModelWithInteger = { - /** - * This is a simple number property - */ - prop?: number; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with nested enums - */ -export type ModelWithNestedEnums = { - dictionaryWithEnum?: Record; - dictionaryWithEnumFromDescription?: Record; - arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; - arrayWithDescription?: Array; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one nested property - */ -export type ModelWithNestedProperties = { - readonly first: { - readonly second: { - readonly third: string | null; - } | null; - } | null; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithNullableString = { - /** - * This is a simple string property - */ - nullableProp1?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp1: string | null; - /** - * This is a simple string property - */ - nullableProp2?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp2: string | null; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with ordered properties - */ -export type ModelWithOrderedProperties = { - zebra?: string; - apple?: string; - hawaii?: string; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a some patterns - */ -export type ModelWithPattern = { - key: string; - name: string; - readonly enabled?: boolean; - readonly modified?: string; - id?: string; - text?: string; - patternWithSingleQuotes?: string; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one nested property - */ -export type ModelWithProperties = { - required: string; - readonly requiredAndReadOnly: string; - requiredAndNullable: string | null; - string?: string; - number?: number; - boolean?: boolean; - reference?: ModelWithString; - 'property with space'?: string; - default?: string; - try?: string; - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithProperties } from './ModelWithProperties'; -/** - * This is a model with one property containing a reference - */ -export type ModelWithReference = { - prop?: ModelWithProperties; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithString = { - /** - * This is a simple string property - */ - prop?: string; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/Pageable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type Pageable = { - page?: number; - size?: number; - sort?: Array; -}; - -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple boolean - */ -export type SimpleBoolean = boolean; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple file - */ -export type SimpleFile = Blob; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple number - */ -export type SimpleInteger = number; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a reusable parameter - */ -export type SimpleParameter = string; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple reference - */ -export type SimpleReference = ModelWithString; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleString = string; -" -`; - -exports[`v3 should generate: ./test/generated/v3/models/SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleStringWithPattern = string | null; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $_default = { - properties: { - name: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithArray = { - type: 'array', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithBooleans = { - type: 'array', - contains: { - type: 'boolean', - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithNumbers = { - type: 'array', - contains: { - type: 'number', - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithProperties = { - type: 'array', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithReferences = { - type: 'array', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithStrings = { - type: 'array', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBackticks = { - type: 'number', - description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBreaks = { - type: 'number', - description: \`Testing multiline comments in string: First line - Second line - Fourth line\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithExpressionPlaceholders = { - type: 'number', - description: \`Testing expression placeholders in string: \\\${expression} should work\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithQuotes = { - type: 'number', - description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithReservedCharacters = { - type: 'number', - description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithSlashes = { - type: 'number', - description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionBaseModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionBaseModel = { - description: \`This is a base model with two simple optional properties\`, - properties: { - firstName: { - type: 'string', - }, - lastname: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionExtendedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionExtendedModel = { - type: 'all-of', - description: \`This is a model that extends the base model\`, - contains: [{ - type: 'CompositionBaseModel', - }, { - properties: { - firstName: { - type: 'string', - isRequired: true, - }, - lastname: { - type: 'string', - isRequired: true, - }, - age: { - type: 'number', - isRequired: true, - }, - }, - }], -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAllOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAllOfAndNullable = { - description: \`This is a model with one property with a 'all of' relationship\`, - properties: { - propA: { - type: 'all-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOf = { - description: \`This is a model with one property with a 'any of' relationship\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOfAndNullable = { - description: \`This is a model with one property with a 'any of' relationship\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithAnyOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOfAnonymous = { - description: \`This is a model with one property with a 'any of' relationship where the options are not $ref\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - description: \`Anonymous object type\`, - properties: { - propA: { - type: 'string', - }, - }, - }, { - type: 'string', - description: \`Anonymous string type\`, - }, { - type: 'number', - description: \`Anonymous integer type\`, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOf = { - description: \`This is a model with one property with a 'one of' relationship\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndComplexArrayDictionary = { - description: \`This is a model that contains a dictionary of complex arrays (composited) within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'one-of', - contains: [{ - type: 'number', - }, { - type: 'string', - }], - }, - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndNullable = { - description: \`This is a model with one property with a 'one of' relationship\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndSimpleArrayDictionary = { - description: \`This is a model that contains a dictionary of simple arrays within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'boolean', - }, - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndSimpleDictionary = { - description: \`This is a model that contains a simple dictionary within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'number', - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAnonymous = { - description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - description: \`Anonymous object type\`, - properties: { - propA: { - type: 'string', - }, - }, - }, { - type: 'string', - description: \`Anonymous string type\`, - }, { - type: 'number', - description: \`Anonymous integer type\`, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$CompositionWithOneOfDiscriminator.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfDiscriminator = { - type: 'one-of', - description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, - contains: [{ - type: 'ModelCircle', - }, { - type: 'ModelSquare', - }], -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$DeprecatedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DeprecatedModel = { - description: \`This is a deprecated model with a deprecated property\`, - properties: { - prop: { - type: 'string', - description: \`This is a deprecated property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithArray = { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithDictionary = { - type: 'dictionary', - contains: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithProperties = { - type: 'dictionary', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithReference = { - type: 'dictionary', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithString = { - type: 'dictionary', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumFromDescription = { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithExtensions = { - type: 'Enum', -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithNumbers = { - type: 'Enum', -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithStrings = { - type: 'Enum', -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$File.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $File = { - properties: { - id: { - type: 'string', - isReadOnly: true, - minLength: 1, - }, - updated_at: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - created_at: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - mime: { - type: 'string', - isRequired: true, - maxLength: 24, - minLength: 1, - }, - file: { - type: 'string', - isReadOnly: true, - format: 'uri', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithAdditionalPropertiesEqEmptyObject = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithAdditionalPropertiesEqTrue = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithoutAdditionalProperties = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelCircle.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelCircle = { - description: \`Circle\`, - properties: { - kind: { - type: 'string', - isRequired: true, - }, - radius: { - type: 'number', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelSquare.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelSquare = { - description: \`Square\`, - properties: { - kind: { - type: 'string', - isRequired: true, - }, - sideLength: { - type: 'number', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelThatExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - properties: { - propExtendsA: { - type: 'string', - }, - propExtendsB: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelThatExtendsExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelThatExtends', - }, { - properties: { - propExtendsC: { - type: 'string', - }, - propExtendsD: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithArray = { - description: \`This is a model with one property containing an array\`, - properties: { - prop: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, - propWithFile: { - type: 'array', - contains: { - type: 'binary', - }, - }, - propWithNumber: { - type: 'array', - contains: { - type: 'number', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithBoolean = { - description: \`This is a model with one boolean property\`, - properties: { - prop: { - type: 'boolean', - description: \`This is a simple boolean property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithCircularReference = { - description: \`This is a model with one property containing a circular reference\`, - properties: { - prop: { - type: 'ModelWithCircularReference', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDictionary = { - description: \`This is a model with one property containing a dictionary\`, - properties: { - prop: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDuplicateImports = { - description: \`This is a model with duplicated imports\`, - properties: { - propA: { - type: 'ModelWithString', - }, - propB: { - type: 'ModelWithString', - }, - propC: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDuplicateProperties = { - description: \`This is a model with duplicated properties\`, - properties: { - prop: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithEnum = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'Enum', - }, - statusCode: { - type: 'Enum', - }, - bool: { - type: 'boolean', - description: \`Simple boolean enum\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithEnumFromDescription = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithInteger = { - description: \`This is a model with one number property\`, - properties: { - prop: { - type: 'number', - description: \`This is a simple number property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNestedEnums = { - description: \`This is a model with nested enums\`, - properties: { - dictionaryWithEnum: { - type: 'dictionary', - contains: { - type: 'Enum', - }, - }, - dictionaryWithEnumFromDescription: { - type: 'dictionary', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - arrayWithEnum: { - type: 'array', - contains: { - type: 'Enum', - }, - }, - arrayWithDescription: { - type: 'array', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNestedProperties = { - description: \`This is a model with one nested property\`, - properties: { - first: { - properties: { - second: { - properties: { - third: { - type: 'string', - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNullableString = { - description: \`This is a model with one string property\`, - properties: { - nullableProp1: { - type: 'string', - description: \`This is a simple string property\`, - isNullable: true, - }, - nullableRequiredProp1: { - type: 'string', - description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, - }, - nullableProp2: { - type: 'string', - description: \`This is a simple string property\`, - isNullable: true, - }, - nullableRequiredProp2: { - type: 'string', - description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithOrderedProperties = { - description: \`This is a model with ordered properties\`, - properties: { - zebra: { - type: 'string', - }, - apple: { - type: 'string', - }, - hawaii: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithPattern = { - description: \`This is a model that contains a some patterns\`, - properties: { - key: { - type: 'string', - isRequired: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', - }, - name: { - type: 'string', - isRequired: true, - maxLength: 255, - }, - enabled: { - type: 'boolean', - isReadOnly: true, - }, - modified: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - id: { - type: 'string', - pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', - }, - text: { - type: 'string', - pattern: '^\\\\w+$', - }, - patternWithSingleQuotes: { - type: 'string', - pattern: '^[a-zA-Z0-9\\']*$', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithProperties = { - description: \`This is a model with one nested property\`, - properties: { - required: { - type: 'string', - isRequired: true, - }, - requiredAndReadOnly: { - type: 'string', - isReadOnly: true, - isRequired: true, - }, - requiredAndNullable: { - type: 'string', - isRequired: true, - isNullable: true, - }, - string: { - type: 'string', - }, - number: { - type: 'number', - }, - boolean: { - type: 'boolean', - }, - reference: { - type: 'ModelWithString', - }, - 'property with space': { - type: 'string', - }, - default: { - type: 'string', - }, - try: { - type: 'string', - }, - '@namespace.string': { - type: 'string', - isReadOnly: true, - }, - '@namespace.integer': { - type: 'number', - isReadOnly: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithReference = { - description: \`This is a model with one property containing a reference\`, - properties: { - prop: { - type: 'ModelWithProperties', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithString = { - description: \`This is a model with one string property\`, - properties: { - prop: { - type: 'string', - description: \`This is a simple string property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$Pageable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Pageable = { - properties: { - page: { - type: 'number', - format: 'int32', - }, - size: { - type: 'number', - format: 'int32', - minimum: 1, - }, - sort: { - type: 'array', - contains: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleBoolean = { - type: 'boolean', - description: \`This is a simple boolean\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleFile = { - type: 'binary', - description: \`This is a simple file\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleInteger = { - type: 'number', - description: \`This is a simple number\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleParameter = { - type: 'string', - description: \`This is a reusable parameter\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleReference = { - type: 'ModelWithString', - description: \`This is a simple reference\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleString = { - type: 'string', - description: \`This is a simple string\`, -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/schemas/$SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleStringWithPattern = { - type: 'string', - description: \`This is a simple string\`, - isNullable: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', -} as const; -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/CollectionFormatService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class CollectionFormatService { - /** - * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) - * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) - * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) - * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) - * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) - * @throws ApiError - */ - public static collectionFormat(parameterArrayCsv: Array | null, - parameterArraySsv: Array | null, - parameterArrayTsv: Array | null, - parameterArrayPipes: Array | null, - parameterArrayMulti: Array | null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/collectionFormat', - query: { - 'parameterArrayCSV': parameterArrayCsv, - 'parameterArraySSV': parameterArraySsv, - 'parameterArrayTSV': parameterArrayTsv, - 'parameterArrayPipes': parameterArrayPipes, - 'parameterArrayMulti': parameterArrayMulti, - }, - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/ComplexService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from '../models/ModelWithArray'; -import type { ModelWithDictionary } from '../models/ModelWithDictionary'; -import type { ModelWithEnum } from '../models/ModelWithEnum'; -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ComplexService { - /** - * @param parameterObject Parameter containing object - * @param parameterReference Parameter containing reference - * @returns ModelWithString Successful response - * @throws ApiError - */ - public static complexTypes(parameterObject: { - first?: { - second?: { - third?: string; - }; - }; - }, - parameterReference: ModelWithString, -): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/complex', - query: { - 'parameterObject': parameterObject, - 'parameterReference': parameterReference, - }, - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); -} -/** - * @param id - * @param requestBody - * @returns ModelWithString Success - * @throws ApiError - */ -public static complexParams(id: number, -requestBody?: { - readonly key: string | null; - name: string | null; - enabled?: boolean; - readonly type: 'Monkey' | 'Horse' | 'Bird'; - listOfModels?: Array | null; - listOfStrings?: Array | null; - parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); - readonly user?: { - readonly id?: number; - readonly name?: string | null; - }; -}, -): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/complex/{id}', - path: { - 'id': id, - }, - body: requestBody, - mediaType: 'application/json-patch+json', - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/DefaultService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultService { - /** - * @throws ApiError - */ - public static serviceWithEmptyTag(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-tag', - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/DefaultsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultsService { - /** - * @param parameterString This is a simple string with default value - * @param parameterNumber This is a simple number with default value - * @param parameterBoolean This is a simple boolean with default value - * @param parameterEnum This is a simple enum with default value - * @param parameterModel This is a simple model with default value - * @throws ApiError - */ - public static callWithDefaultParameters(parameterString: string | null = 'Hello World!', - parameterNumber: number | null = 123, - parameterBoolean: boolean | null = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString | null = { - "prop": "Hello World!" - }, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); -} -/** - * @param parameterString This is a simple string that is optional with default value - * @param parameterNumber This is a simple number that is optional with default value - * @param parameterBoolean This is a simple boolean that is optional with default value - * @param parameterEnum This is a simple enum that is optional with default value - * @param parameterModel This is a simple model that is optional with default value - * @throws ApiError - */ -public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', -parameterNumber: number = 123, -parameterBoolean: boolean = true, -parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', -parameterModel: ModelWithString = { - "prop": "Hello World!" -}, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); -} -/** - * @param parameterStringWithNoDefault This is a string with no default - * @param parameterOptionalStringWithDefault This is a optional string with default - * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default - * @param parameterOptionalStringWithNoDefault This is a optional string with no default - * @param parameterStringWithDefault This is a string with default - * @param parameterStringWithEmptyDefault This is a string with empty default - * @param parameterStringNullableWithNoDefault This is a string that can be null with no default - * @param parameterStringNullableWithDefault This is a string that can be null with default - * @throws ApiError - */ -public static callToTestOrderOfParams(parameterStringWithNoDefault: string, -parameterOptionalStringWithDefault: string = 'Hello World!', -parameterOptionalStringWithEmptyDefault: string = '', -parameterOptionalStringWithNoDefault?: string, -parameterStringWithDefault: string = 'Hello World!', -parameterStringWithEmptyDefault: string = '', -parameterStringNullableWithNoDefault?: string | null, -parameterStringNullableWithDefault: string | null = null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/defaults', - query: { - 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, - 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, - 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, - 'parameterStringWithDefault': parameterStringWithDefault, - 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, - 'parameterStringWithNoDefault': parameterStringWithNoDefault, - 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, - 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, - }, - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/DeprecatedService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { DeprecatedModel } from '../models/DeprecatedModel'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DeprecatedService { - /** - * @deprecated - * @param parameter This parameter is deprecated - * @throws ApiError - */ - public static deprecatedCall(parameter: DeprecatedModel | null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/deprecated', - headers: { - 'parameter': parameter, - }, - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/DescriptionsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DescriptionsService { - /** - * @param parameterWithBreaks Testing multiline comments in string: First line - * Second line - * - * Fourth line - * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work - * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work - * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work - * @throws ApiError - */ - public static callWithDescriptions(parameterWithBreaks?: any, - parameterWithBackticks?: any, - parameterWithSlashes?: any, - parameterWithExpressionPlaceholders?: any, - parameterWithQuotes?: any, - parameterWithReservedCharacters?: any, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/descriptions/', - query: { - 'parameterWithBreaks': parameterWithBreaks, - 'parameterWithBackticks': parameterWithBackticks, - 'parameterWithSlashes': parameterWithSlashes, - 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, - 'parameterWithQuotes': parameterWithQuotes, - 'parameterWithReservedCharacters': parameterWithReservedCharacters, - }, - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/DuplicateService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DuplicateService { - /** - * @throws ApiError - */ - public static duplicateName(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName1(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName2(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName3(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/duplicate', - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/ErrorService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ErrorService { - /** - * @param status Status code to return - * @returns any Custom message: Successful response - * @throws ApiError - */ - public static testErrorCode(status: number, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/error', - query: { - 'status': status, - }, - errors: { - 500: \`Custom message: Internal Server Error\`, - 501: \`Custom message: Not Implemented\`, - 502: \`Custom message: Bad Gateway\`, - 503: \`Custom message: Service Unavailable\`, - }, - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/FormDataService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class FormDataService { - /** - * @param parameter This is a reusable parameter - * @param formData A reusable request body - * @throws ApiError - */ - public static postApiFormData(parameter?: string, - formData?: ModelWithString, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/formData/', - query: { - 'parameter': parameter, - }, - formData: formData, - mediaType: 'multipart/form-data', - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/HeaderService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class HeaderService { - /** - * @returns string Successful response - * @throws ApiError - */ - public static callWithResultFromHeader(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/header', - responseHeader: 'operation-location', - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/MultipartService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipartService { - /** - * @param formData - * @throws ApiError - */ - public static multipartRequest(formData?: { - content?: Blob; - data?: ModelWithString | null; - }, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/multipart', - formData: formData, - mediaType: 'multipart/form-data', - }); -} -/** - * @returns any OK - * @throws ApiError - */ -public static multipartResponse(): CancelablePromise<{ - file?: Blob; - metadata?: { - foo?: string; - bar?: string; - }; -}> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multipart', - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/MultipleTags1Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags1Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/MultipleTags2Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags2Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/MultipleTags3Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags3Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/NoContentService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class NoContentService { - /** - * @returns void - * @throws ApiError - */ - public static callWithNoContentResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-content', - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/ParametersService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { Pageable } from '../models/Pageable'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ParametersService { - /** - * @param parameterHeader This is the parameter that goes into the header - * @param parameterQuery This is the parameter that goes into the query params - * @param parameterForm This is the parameter that goes into the form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param parameterPath This is the parameter that goes into the path - * @param requestBody This is the parameter that goes into the body - * @throws ApiError - */ - public static callWithParameters(parameterHeader: string | null, - parameterQuery: string | null, - parameterForm: string | null, - parameterCookie: string | null, - parameterPath: string | null, - requestBody: ModelWithString | null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameterPath}', - path: { - 'parameterPath': parameterPath, - }, - cookies: { - 'parameterCookie': parameterCookie, - }, - headers: { - 'parameterHeader': parameterHeader, - }, - query: { - 'parameterQuery': parameterQuery, - }, - formData: { - 'parameterForm': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -/** - * @param parameterHeader This is the parameter that goes into the request header - * @param parameterQuery This is the parameter that goes into the request query params - * @param parameterForm This is the parameter that goes into the request form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param requestBody This is the parameter that goes into the body - * @param parameterPath1 This is the parameter that goes into the path - * @param parameterPath2 This is the parameter that goes into the path - * @param parameterPath3 This is the parameter that goes into the path - * @param _default This is the parameter with a reserved keyword - * @throws ApiError - */ -public static callWithWeirdParameterNames(parameterHeader: string | null, -parameterQuery: string | null, -parameterForm: string | null, -parameterCookie: string | null, -requestBody: ModelWithString | null, -parameterPath1?: string, -parameterPath2?: string, -parameterPath3?: string, -_default?: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', - path: { - 'parameter.path.1': parameterPath1, - 'parameter-path-2': parameterPath2, - 'PARAMETER-PATH-3': parameterPath3, - }, - cookies: { - 'PARAMETER-COOKIE': parameterCookie, - }, - headers: { - 'parameter.header': parameterHeader, - }, - query: { - 'default': _default, - 'parameter-query': parameterQuery, - }, - formData: { - 'parameter_form': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -/** - * @param requestBody This is a required parameter - * @param parameter This is an optional parameter - * @throws ApiError - */ -public static getCallWithOptionalParam(requestBody: ModelWithString, -parameter?: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -/** - * @param parameter This is a required parameter - * @param requestBody This is an optional parameter - * @throws ApiError - */ -public static postCallWithOptionalParam(parameter: Pageable, -requestBody?: ModelWithString, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/RequestBodyService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class RequestBodyService { - /** - * @param parameter This is a reusable parameter - * @param requestBody A reusable request body - * @throws ApiError - */ - public static postApiRequestBody(parameter?: string, - requestBody?: ModelWithString, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/requestBody/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/ResponseService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelThatExtends } from '../models/ModelThatExtends'; -import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ResponseService { - /** - * @returns ModelWithString - * @throws ApiError - */ - public static callWithResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/response', - }); - } - /** - * @returns ModelWithString Message for default response - * @throws ApiError - */ - public static callWithDuplicateResponses(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } - /** - * @returns any Message for 200 response - * @returns ModelWithString Message for default response - * @returns ModelThatExtends Message for 201 response - * @returns ModelThatExtendsExtends Message for 202 response - * @throws ApiError - */ - public static callWithResponses(): CancelablePromise<{ - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; - readonly value?: Array; - } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/SimpleService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class SimpleService { - /** - * @throws ApiError - */ - public static getCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static putCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static postCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static deleteCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static optionsCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'OPTIONS', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static headCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'HEAD', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static patchCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PATCH', - url: '/api/v{api-version}/simple', - }); - } -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/TypesService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class TypesService { - /** - * @param parameterArray This is an array parameter - * @param parameterDictionary This is a dictionary parameter - * @param parameterEnum This is an enum parameter - * @param parameterNumber This is a number parameter - * @param parameterString This is a string parameter - * @param parameterBoolean This is a boolean parameter - * @param parameterObject This is an object parameter - * @param id This is a number parameter - * @returns number Response is a simple number - * @returns string Response is a simple string - * @returns boolean Response is a simple boolean - * @returns any Response is a simple object - * @throws ApiError - */ - public static types(parameterArray: Array | null, - parameterDictionary: Record | null, - parameterEnum: 'Success' | 'Warning' | 'Error' | null, - parameterNumber: number = 123, - parameterString: string | null = 'default', - parameterBoolean: boolean | null = true, - parameterObject: Record | null = null, - id?: number, -): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/types', - path: { - 'id': id, - }, - query: { - 'parameterNumber': parameterNumber, - 'parameterString': parameterString, - 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, - 'parameterArray': parameterArray, - 'parameterDictionary': parameterDictionary, - 'parameterEnum': parameterEnum, - }, - }); -} -} -" -`; - -exports[`v3 should generate: ./test/generated/v3/services/UploadService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class UploadService { - /** - * @param file Supply a file reference for upload - * @returns boolean - * @throws ApiError - */ - public static uploadFile(file: Blob, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/upload', - formData: { - 'file': file, - }, - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/core/ApiError.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; - -export class ApiError extends Error { - public readonly url: string; - public readonly status: number; - public readonly statusText: string; - public readonly body: any; - public readonly request: ApiRequestOptions; - - constructor(request: ApiRequestOptions, response: ApiResult, message: string) { - super(message); - - this.name = 'ApiError'; - this.url = response.url; - this.status = response.status; - this.statusText = response.statusText; - this.body = response.body; - this.request = request; - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/core/ApiRequestOptions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type ApiRequestOptions = { - readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; - readonly url: string; - readonly path?: Record; - readonly cookies?: Record; - readonly headers?: Record; - readonly query?: Record; - readonly formData?: Record; - readonly body?: any; - readonly mediaType?: string; - readonly responseHeader?: string; - readonly errors?: Record; -}; -" -`; - -exports[`v3 should generate: test/generated/v3/core/ApiResult.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type ApiResult = { - readonly url: string; - readonly ok: boolean; - readonly status: number; - readonly statusText: string; - readonly body: any; -}; -" -`; - -exports[`v3 should generate: test/generated/v3/core/CancelablePromise.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export class CancelError extends Error { - - constructor(message: string) { - super(message); - this.name = 'CancelError'; - } - - public get isCancelled(): boolean { - return true; - } -} - -export interface OnCancel { - readonly isResolved: boolean; - readonly isRejected: boolean; - readonly isCancelled: boolean; - - (cancelHandler: () => void): void; -} - -export class CancelablePromise implements Promise { - #isResolved: boolean; - #isRejected: boolean; - #isCancelled: boolean; - readonly #cancelHandlers: (() => void)[]; - readonly #promise: Promise; - #resolve?: (value: T | PromiseLike) => void; - #reject?: (reason?: any) => void; - - constructor( - executor: ( - resolve: (value: T | PromiseLike) => void, - reject: (reason?: any) => void, - onCancel: OnCancel - ) => void - ) { - this.#isResolved = false; - this.#isRejected = false; - this.#isCancelled = false; - this.#cancelHandlers = []; - this.#promise = new Promise((resolve, reject) => { - this.#resolve = resolve; - this.#reject = reject; - - const onResolve = (value: T | PromiseLike): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isResolved = true; - if (this.#resolve) this.#resolve(value); - }; - - const onReject = (reason?: any): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isRejected = true; - if (this.#reject) this.#reject(reason); - }; - - const onCancel = (cancelHandler: () => void): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#cancelHandlers.push(cancelHandler); - }; - - Object.defineProperty(onCancel, 'isResolved', { - get: (): boolean => this.#isResolved, - }); - - Object.defineProperty(onCancel, 'isRejected', { - get: (): boolean => this.#isRejected, - }); - - Object.defineProperty(onCancel, 'isCancelled', { - get: (): boolean => this.#isCancelled, - }); - - return executor(onResolve, onReject, onCancel as OnCancel); - }); - } - - get [Symbol.toStringTag]() { - return "Cancellable Promise"; - } - - public then( - onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, - onRejected?: ((reason: any) => TResult2 | PromiseLike) | null - ): Promise { - return this.#promise.then(onFulfilled, onRejected); - } - - public catch( - onRejected?: ((reason: any) => TResult | PromiseLike) | null - ): Promise { - return this.#promise.catch(onRejected); - } - - public finally(onFinally?: (() => void) | null): Promise { - return this.#promise.finally(onFinally); - } - - public cancel(): void { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isCancelled = true; - if (this.#cancelHandlers.length) { - try { - for (const cancelHandler of this.#cancelHandlers) { - cancelHandler(); - } - } catch (error) { - console.warn('Cancellation threw an error', error); - return; - } - } - this.#cancelHandlers.length = 0; - if (this.#reject) this.#reject(new CancelError('Request aborted')); - } - - public get isCancelled(): boolean { - return this.#isCancelled; - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/core/OpenAPI.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; - -type Resolver = (options: ApiRequestOptions) => Promise; -type Headers = Record; - -export type OpenAPIConfig = { - BASE: string; - VERSION: string; - WITH_CREDENTIALS: boolean; - CREDENTIALS: 'include' | 'omit' | 'same-origin'; - TOKEN?: string | Resolver | undefined; - USERNAME?: string | Resolver | undefined; - PASSWORD?: string | Resolver | undefined; - HEADERS?: Headers | Resolver | undefined; - ENCODE_PATH?: ((path: string) => string) | undefined; -}; - -export const OpenAPI: OpenAPIConfig = { - BASE: 'http://localhost:3000/base', - VERSION: '1.0', - WITH_CREDENTIALS: false, - CREDENTIALS: 'include', - TOKEN: undefined, - USERNAME: undefined, - PASSWORD: undefined, - HEADERS: undefined, - ENCODE_PATH: undefined, -}; -" -`; - -exports[`v3 should generate: test/generated/v3/core/request.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import { ApiError } from './ApiError'; -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; -import { CancelablePromise } from './CancelablePromise'; -import type { OnCancel } from './CancelablePromise'; -import type { OpenAPIConfig } from './OpenAPI'; - -export const isDefined = (value: T | null | undefined): value is Exclude => { - return value !== undefined && value !== null; -}; - -export const isString = (value: any): value is string => { - return typeof value === 'string'; -}; - -export const isStringWithValue = (value: any): value is string => { - return isString(value) && value !== ''; -}; - -export const isBlob = (value: any): value is Blob => { - return ( - typeof value === 'object' && - typeof value.type === 'string' && - typeof value.stream === 'function' && - typeof value.arrayBuffer === 'function' && - typeof value.constructor === 'function' && - typeof value.constructor.name === 'string' && - /^(Blob|File)$/.test(value.constructor.name) && - /^(Blob|File)$/.test(value[Symbol.toStringTag]) - ); -}; - -export const isFormData = (value: any): value is FormData => { - return value instanceof FormData; -}; - -export const base64 = (str: string): string => { - try { - return btoa(str); - } catch (err) { - // @ts-ignore - return Buffer.from(str).toString('base64'); - } -}; - -export const getQueryString = (params: Record): string => { - const qs: string[] = []; - - const append = (key: string, value: any) => { - qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); - }; - - const process = (key: string, value: any) => { - if (isDefined(value)) { - if (Array.isArray(value)) { - value.forEach(v => { - process(key, v); - }); - } else if (typeof value === 'object') { - Object.entries(value).forEach(([k, v]) => { - process(\`\${key}[\${k}]\`, v); - }); - } else { - append(key, value); - } - } - }; - - Object.entries(params).forEach(([key, value]) => { - process(key, value); - }); - - if (qs.length > 0) { - return \`?\${qs.join('&')}\`; - } - - return ''; -}; - -const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { - const encoder = config.ENCODE_PATH || encodeURI; - - const path = options.url - .replace('{api-version}', config.VERSION) - .replace(/{(.*?)}/g, (substring: string, group: string) => { - if (options.path?.hasOwnProperty(group)) { - return encoder(String(options.path[group])); - } - return substring; - }); - - const url = \`\${config.BASE}\${path}\`; - if (options.query) { - return \`\${url}\${getQueryString(options.query)}\`; - } - return url; -}; - -export const getFormData = (options: ApiRequestOptions): FormData | undefined => { - if (options.formData) { - const formData = new FormData(); - - const process = (key: string, value: any) => { - if (isString(value) || isBlob(value)) { - formData.append(key, value); - } else { - formData.append(key, JSON.stringify(value)); - } - }; - - Object.entries(options.formData) - .filter(([_, value]) => isDefined(value)) - .forEach(([key, value]) => { - if (Array.isArray(value)) { - value.forEach(v => process(key, v)); - } else { - process(key, value); - } - }); - - return formData; - } - return undefined; -}; - -type Resolver = (options: ApiRequestOptions) => Promise; - -export const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => { - if (typeof resolver === 'function') { - return (resolver as Resolver)(options); - } - return resolver; -}; - -export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { - const [token, username, password, additionalHeaders] = await Promise.all([ - resolve(options, config.TOKEN), - resolve(options, config.USERNAME), - resolve(options, config.PASSWORD), - resolve(options, config.HEADERS), - ]); - - const headers = Object.entries({ - Accept: 'application/json', - ...additionalHeaders, - ...options.headers, - }) - .filter(([_, value]) => isDefined(value)) - .reduce((headers, [key, value]) => ({ - ...headers, - [key]: String(value), - }), {} as Record); - - if (isStringWithValue(token)) { - headers['Authorization'] = \`Bearer \${token}\`; - } - - if (isStringWithValue(username) && isStringWithValue(password)) { - const credentials = base64(\`\${username}:\${password}\`); - headers['Authorization'] = \`Basic \${credentials}\`; - } - - if (options.body !== undefined) { - if (options.mediaType) { - headers['Content-Type'] = options.mediaType; - } else if (isBlob(options.body)) { - headers['Content-Type'] = options.body.type || 'application/octet-stream'; - } else if (isString(options.body)) { - headers['Content-Type'] = 'text/plain'; - } else if (!isFormData(options.body)) { - headers['Content-Type'] = 'application/json'; - } - } - - return new Headers(headers); -}; - -export const getRequestBody = (options: ApiRequestOptions): any => { - if (options.body !== undefined) { - if (options.mediaType?.includes('/json')) { - return JSON.stringify(options.body) - } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { - return options.body; - } else { - return JSON.stringify(options.body); - } - } - return undefined; -}; - -export const sendRequest = async ( - config: OpenAPIConfig, - options: ApiRequestOptions, - url: string, - body: any, - formData: FormData | undefined, - headers: Headers, - onCancel: OnCancel -): Promise => { - const controller = new AbortController(); - - const request: RequestInit = { - headers, - body: body ?? formData, - method: options.method, - signal: controller.signal, - }; - - if (config.WITH_CREDENTIALS) { - request.credentials = config.CREDENTIALS; - } - - onCancel(() => controller.abort()); - - return await fetch(url, request); -}; - -export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { - if (responseHeader) { - const content = response.headers.get(responseHeader); - if (isString(content)) { - return content; - } - } - return undefined; -}; - -export const getResponseBody = async (response: Response): Promise => { - if (response.status !== 204) { - try { - const contentType = response.headers.get('Content-Type'); - if (contentType) { - const jsonTypes = ['application/json', 'application/problem+json'] - const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); - if (isJSON) { - return await response.json(); - } else { - return await response.text(); - } - } - } catch (error) { - console.error(error); - } - } - return undefined; -}; - -export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => { - const errors: Record = { - 400: 'Bad Request', - 401: 'Unauthorized', - 403: 'Forbidden', - 404: 'Not Found', - 500: 'Internal Server Error', - 502: 'Bad Gateway', - 503: 'Service Unavailable', - ...options.errors, - } - - const error = errors[result.status]; - if (error) { - throw new ApiError(options, result, error); - } - - if (!result.ok) { - const errorStatus = result.status ?? 'unknown'; - const errorStatusText = result.statusText ?? 'unknown'; - const errorBody = (() => { - try { - return JSON.stringify(result.body, null, 2); - } catch (e) { - return undefined; - } - })(); - - throw new ApiError(options, result, - \`Generic Error: status: \${errorStatus}; status text: \${errorStatusText}; body: \${errorBody}\` - ); - } -}; - -/** - * Request method - * @param config The OpenAPI configuration object - * @param options The request options from the service - * @returns CancelablePromise - * @throws ApiError - */ -export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { - return new CancelablePromise(async (resolve, reject, onCancel) => { - try { - const url = getUrl(config, options); - const formData = getFormData(options); - const body = getRequestBody(options); - const headers = await getHeaders(config, options); - - if (!onCancel.isCancelled) { - const response = await sendRequest(config, options, url, body, formData, headers, onCancel); - const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); - - const result: ApiResult = { - url, - ok: response.ok, - status: response.status, - statusText: response.statusText, - body: responseHeader ?? responseBody, - }; - - catchErrorCodes(options, result); - - resolve(result.body); - } - } catch (error) { - reject(error); - } - }); -}; -" -`; - -exports[`v3 should generate: test/generated/v3/index.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export { ApiError } from './core/ApiError'; -export { CancelablePromise, CancelError } from './core/CancelablePromise'; -export { OpenAPI } from './core/OpenAPI'; -export type { OpenAPIConfig } from './core/OpenAPI'; - -export type { _default } from './models/_default'; -export type { ArrayWithArray } from './models/ArrayWithArray'; -export type { ArrayWithBooleans } from './models/ArrayWithBooleans'; -export type { ArrayWithNumbers } from './models/ArrayWithNumbers'; -export type { ArrayWithProperties } from './models/ArrayWithProperties'; -export type { ArrayWithReferences } from './models/ArrayWithReferences'; -export type { ArrayWithStrings } from './models/ArrayWithStrings'; -export type { CommentWithBackticks } from './models/CommentWithBackticks'; -export type { CommentWithBreaks } from './models/CommentWithBreaks'; -export type { CommentWithExpressionPlaceholders } from './models/CommentWithExpressionPlaceholders'; -export type { CommentWithQuotes } from './models/CommentWithQuotes'; -export type { CommentWithReservedCharacters } from './models/CommentWithReservedCharacters'; -export type { CommentWithSlashes } from './models/CommentWithSlashes'; -export type { CompositionBaseModel } from './models/CompositionBaseModel'; -export type { CompositionExtendedModel } from './models/CompositionExtendedModel'; -export type { CompositionWithAllOfAndNullable } from './models/CompositionWithAllOfAndNullable'; -export type { CompositionWithAnyOf } from './models/CompositionWithAnyOf'; -export type { CompositionWithAnyOfAndNullable } from './models/CompositionWithAnyOfAndNullable'; -export type { CompositionWithAnyOfAnonymous } from './models/CompositionWithAnyOfAnonymous'; -export type { CompositionWithOneOf } from './models/CompositionWithOneOf'; -export type { CompositionWithOneOfAndComplexArrayDictionary } from './models/CompositionWithOneOfAndComplexArrayDictionary'; -export type { CompositionWithOneOfAndNullable } from './models/CompositionWithOneOfAndNullable'; -export type { CompositionWithOneOfAndSimpleArrayDictionary } from './models/CompositionWithOneOfAndSimpleArrayDictionary'; -export type { CompositionWithOneOfAndSimpleDictionary } from './models/CompositionWithOneOfAndSimpleDictionary'; -export type { CompositionWithOneOfAnonymous } from './models/CompositionWithOneOfAnonymous'; -export type { CompositionWithOneOfDiscriminator } from './models/CompositionWithOneOfDiscriminator'; -export type { DeprecatedModel } from './models/DeprecatedModel'; -export type { DictionaryWithArray } from './models/DictionaryWithArray'; -export type { DictionaryWithDictionary } from './models/DictionaryWithDictionary'; -export type { DictionaryWithProperties } from './models/DictionaryWithProperties'; -export type { DictionaryWithReference } from './models/DictionaryWithReference'; -export type { DictionaryWithString } from './models/DictionaryWithString'; -export type { EnumFromDescription } from './models/EnumFromDescription'; -export { EnumWithExtensions } from './models/EnumWithExtensions'; -export { EnumWithNumbers } from './models/EnumWithNumbers'; -export { EnumWithStrings } from './models/EnumWithStrings'; -export type { File } from './models/File'; -export type { FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export type { FreeFormObjectWithAdditionalPropertiesEqTrue } from './models/FreeFormObjectWithAdditionalPropertiesEqTrue'; -export type { FreeFormObjectWithoutAdditionalProperties } from './models/FreeFormObjectWithoutAdditionalProperties'; -export type { ModelCircle } from './models/ModelCircle'; -export type { ModelSquare } from './models/ModelSquare'; -export type { ModelThatExtends } from './models/ModelThatExtends'; -export type { ModelThatExtendsExtends } from './models/ModelThatExtendsExtends'; -export type { ModelWithArray } from './models/ModelWithArray'; -export type { ModelWithBoolean } from './models/ModelWithBoolean'; -export type { ModelWithCircularReference } from './models/ModelWithCircularReference'; -export type { ModelWithDictionary } from './models/ModelWithDictionary'; -export type { ModelWithDuplicateImports } from './models/ModelWithDuplicateImports'; -export type { ModelWithDuplicateProperties } from './models/ModelWithDuplicateProperties'; -export { ModelWithEnum } from './models/ModelWithEnum'; -export type { ModelWithEnumFromDescription } from './models/ModelWithEnumFromDescription'; -export type { ModelWithInteger } from './models/ModelWithInteger'; -export type { ModelWithNestedEnums } from './models/ModelWithNestedEnums'; -export type { ModelWithNestedProperties } from './models/ModelWithNestedProperties'; -export type { ModelWithNullableString } from './models/ModelWithNullableString'; -export type { ModelWithOrderedProperties } from './models/ModelWithOrderedProperties'; -export type { ModelWithPattern } from './models/ModelWithPattern'; -export type { ModelWithProperties } from './models/ModelWithProperties'; -export type { ModelWithReference } from './models/ModelWithReference'; -export type { ModelWithString } from './models/ModelWithString'; -export type { Pageable } from './models/Pageable'; -export type { SimpleBoolean } from './models/SimpleBoolean'; -export type { SimpleFile } from './models/SimpleFile'; -export type { SimpleInteger } from './models/SimpleInteger'; -export type { SimpleParameter } from './models/SimpleParameter'; -export type { SimpleReference } from './models/SimpleReference'; -export type { SimpleString } from './models/SimpleString'; -export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern'; - -export { $_default } from './schemas/$_default'; -export { $ArrayWithArray } from './schemas/$ArrayWithArray'; -export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; -export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; -export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; -export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; -export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; -export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; -export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; -export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; -export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; -export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; -export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; -export { $CompositionBaseModel } from './schemas/$CompositionBaseModel'; -export { $CompositionExtendedModel } from './schemas/$CompositionExtendedModel'; -export { $CompositionWithAllOfAndNullable } from './schemas/$CompositionWithAllOfAndNullable'; -export { $CompositionWithAnyOf } from './schemas/$CompositionWithAnyOf'; -export { $CompositionWithAnyOfAndNullable } from './schemas/$CompositionWithAnyOfAndNullable'; -export { $CompositionWithAnyOfAnonymous } from './schemas/$CompositionWithAnyOfAnonymous'; -export { $CompositionWithOneOf } from './schemas/$CompositionWithOneOf'; -export { $CompositionWithOneOfAndComplexArrayDictionary } from './schemas/$CompositionWithOneOfAndComplexArrayDictionary'; -export { $CompositionWithOneOfAndNullable } from './schemas/$CompositionWithOneOfAndNullable'; -export { $CompositionWithOneOfAndSimpleArrayDictionary } from './schemas/$CompositionWithOneOfAndSimpleArrayDictionary'; -export { $CompositionWithOneOfAndSimpleDictionary } from './schemas/$CompositionWithOneOfAndSimpleDictionary'; -export { $CompositionWithOneOfAnonymous } from './schemas/$CompositionWithOneOfAnonymous'; -export { $CompositionWithOneOfDiscriminator } from './schemas/$CompositionWithOneOfDiscriminator'; -export { $DeprecatedModel } from './schemas/$DeprecatedModel'; -export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; -export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; -export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; -export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; -export { $DictionaryWithString } from './schemas/$DictionaryWithString'; -export { $EnumFromDescription } from './schemas/$EnumFromDescription'; -export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; -export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; -export { $EnumWithStrings } from './schemas/$EnumWithStrings'; -export { $File } from './schemas/$File'; -export { $FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export { $FreeFormObjectWithAdditionalPropertiesEqTrue } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue'; -export { $FreeFormObjectWithoutAdditionalProperties } from './schemas/$FreeFormObjectWithoutAdditionalProperties'; -export { $ModelCircle } from './schemas/$ModelCircle'; -export { $ModelSquare } from './schemas/$ModelSquare'; -export { $ModelThatExtends } from './schemas/$ModelThatExtends'; -export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; -export { $ModelWithArray } from './schemas/$ModelWithArray'; -export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; -export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; -export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; -export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; -export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; -export { $ModelWithEnum } from './schemas/$ModelWithEnum'; -export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; -export { $ModelWithInteger } from './schemas/$ModelWithInteger'; -export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; -export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; -export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; -export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; -export { $ModelWithPattern } from './schemas/$ModelWithPattern'; -export { $ModelWithProperties } from './schemas/$ModelWithProperties'; -export { $ModelWithReference } from './schemas/$ModelWithReference'; -export { $ModelWithString } from './schemas/$ModelWithString'; -export { $Pageable } from './schemas/$Pageable'; -export { $SimpleBoolean } from './schemas/$SimpleBoolean'; -export { $SimpleFile } from './schemas/$SimpleFile'; -export { $SimpleInteger } from './schemas/$SimpleInteger'; -export { $SimpleParameter } from './schemas/$SimpleParameter'; -export { $SimpleReference } from './schemas/$SimpleReference'; -export { $SimpleString } from './schemas/$SimpleString'; -export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; - -export { CollectionFormatService } from './services/CollectionFormatService'; -export { ComplexService } from './services/ComplexService'; -export { DefaultService } from './services/DefaultService'; -export { DefaultsService } from './services/DefaultsService'; -export { DeprecatedService } from './services/DeprecatedService'; -export { DescriptionsService } from './services/DescriptionsService'; -export { DuplicateService } from './services/DuplicateService'; -export { ErrorService } from './services/ErrorService'; -export { FormDataService } from './services/FormDataService'; -export { HeaderService } from './services/HeaderService'; -export { MultipartService } from './services/MultipartService'; -export { MultipleTags1Service } from './services/MultipleTags1Service'; -export { MultipleTags2Service } from './services/MultipleTags2Service'; -export { MultipleTags3Service } from './services/MultipleTags3Service'; -export { NoContentService } from './services/NoContentService'; -export { ParametersService } from './services/ParametersService'; -export { RequestBodyService } from './services/RequestBodyService'; -export { ResponseService } from './services/ResponseService'; -export { SimpleService } from './services/SimpleService'; -export { TypesService } from './services/TypesService'; -export { UploadService } from './services/UploadService'; -" -`; - -exports[`v3 should generate: test/generated/v3/models/_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type _default = { - name?: string; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array containing an array - */ -export type ArrayWithArray = Array>; -" -`; - -exports[`v3 should generate: test/generated/v3/models/ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with booleans - */ -export type ArrayWithBooleans = Array; -" -`; - -exports[`v3 should generate: test/generated/v3/models/ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with numbers - */ -export type ArrayWithNumbers = Array; -" -`; - -exports[`v3 should generate: test/generated/v3/models/ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with properties - */ -export type ArrayWithProperties = Array<{ - foo?: string; - bar?: string; -}>; -" -`; - -exports[`v3 should generate: test/generated/v3/models/ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array with references - */ -export type ArrayWithReferences = Array; -" -`; - -exports[`v3 should generate: test/generated/v3/models/ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with strings - */ -export type ArrayWithStrings = Array; -" -`; - -exports[`v3 should generate: test/generated/v3/models/CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - */ -export type CommentWithBackticks = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing multiline comments in string: First line - * Second line - * - * Fourth line - */ -export type CommentWithBreaks = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing expression placeholders in string: \${expression} should work - */ -export type CommentWithExpressionPlaceholders = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing quotes in string: 'single quote''' and "double quotes""" should work - */ -export type CommentWithQuotes = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing reserved characters in string: * inline * and ** inline ** should work - */ -export type CommentWithReservedCharacters = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - */ -export type CommentWithSlashes = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/CompositionBaseModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a base model with two simple optional properties + * This is a base model with two simple optional properties */ export type CompositionBaseModel = { firstName?: string; @@ -13731,25 +6605,24 @@ export class CollectionFormatService { * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) * @throws ApiError */ - public static collectionFormat( - parameterArrayCsv: Array | null, - parameterArraySsv: Array | null, - parameterArrayTsv: Array | null, - parameterArrayPipes: Array | null, - parameterArrayMulti: Array | null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/collectionFormat', - query: { - 'parameterArrayCSV': parameterArrayCsv, - 'parameterArraySSV': parameterArraySsv, - 'parameterArrayTSV': parameterArrayTsv, - 'parameterArrayPipes': parameterArrayPipes, - 'parameterArrayMulti': parameterArrayMulti, - }, - }); - } + public static collectionFormat(parameterArrayCsv: Array | null, + parameterArraySsv: Array | null, + parameterArrayTsv: Array | null, + parameterArrayPipes: Array | null, + parameterArrayMulti: Array | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/collectionFormat', + query: { + 'parameterArrayCSV': parameterArrayCsv, + 'parameterArraySSV': parameterArraySsv, + 'parameterArrayTSV': parameterArrayTsv, + 'parameterArrayPipes': parameterArrayPipes, + 'parameterArrayMulti': parameterArrayMulti, + }, + }); +} } " `; @@ -13773,61 +6646,59 @@ export class ComplexService { * @returns ModelWithString Successful response * @throws ApiError */ - public static complexTypes( - parameterObject: { - first?: { - second?: { - third?: string; - }; + public static complexTypes(parameterObject: { + first?: { + second?: { + third?: string; }; + }; + }, + parameterReference: ModelWithString, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/complex', + query: { + 'parameterObject': parameterObject, + 'parameterReference': parameterReference, }, - parameterReference: ModelWithString, - ): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/complex', - query: { - 'parameterObject': parameterObject, - 'parameterReference': parameterReference, - }, - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } - /** - * @param id - * @param requestBody - * @returns ModelWithString Success - * @throws ApiError - */ - public static complexParams( - id: number, - requestBody?: { - readonly key: string | null; - name: string | null; - enabled?: boolean; - readonly type: 'Monkey' | 'Horse' | 'Bird'; - listOfModels?: Array | null; - listOfStrings?: Array | null; - parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); - readonly user?: { - readonly id?: number; - readonly name?: string | null; - }; + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/complex/{id}', - path: { - 'id': id, - }, - body: requestBody, - mediaType: 'application/json-patch+json', - }); - } + }); +} +/** + * @param id + * @param requestBody + * @returns ModelWithString Success + * @throws ApiError + */ +public static complexParams(id: number, +requestBody?: { + readonly key: string | null; + name: string | null; + enabled?: boolean; + readonly type: 'Monkey' | 'Horse' | 'Bird'; + listOfModels?: Array | null; + listOfStrings?: Array | null; + parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); + readonly user?: { + readonly id?: number; + readonly name?: string | null; + }; +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/complex/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json-patch+json', + }); +} } " `; @@ -13872,92 +6743,89 @@ export class DefaultsService { * @param parameterModel This is a simple model with default value * @throws ApiError */ - public static callWithDefaultParameters( - parameterString: string | null = 'Hello World!', - parameterNumber: number | null = 123, - parameterBoolean: boolean | null = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString | null = { - "prop": "Hello World!" - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - /** - * @param parameterString This is a simple string that is optional with default value - * @param parameterNumber This is a simple number that is optional with default value - * @param parameterBoolean This is a simple boolean that is optional with default value - * @param parameterEnum This is a simple enum that is optional with default value - * @param parameterModel This is a simple model that is optional with default value - * @throws ApiError - */ - public static callWithDefaultOptionalParameters( - parameterString: string = 'Hello World!', - parameterNumber: number = 123, - parameterBoolean: boolean = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString = { - "prop": "Hello World!" - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - /** - * @param parameterStringWithNoDefault This is a string with no default - * @param parameterOptionalStringWithDefault This is a optional string with default - * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default - * @param parameterOptionalStringWithNoDefault This is a optional string with no default - * @param parameterStringWithDefault This is a string with default - * @param parameterStringWithEmptyDefault This is a string with empty default - * @param parameterStringNullableWithNoDefault This is a string that can be null with no default - * @param parameterStringNullableWithDefault This is a string that can be null with default - * @throws ApiError - */ - public static callToTestOrderOfParams( - parameterStringWithNoDefault: string, - parameterOptionalStringWithDefault: string = 'Hello World!', - parameterOptionalStringWithEmptyDefault: string = '', - parameterOptionalStringWithNoDefault?: string, - parameterStringWithDefault: string = 'Hello World!', - parameterStringWithEmptyDefault: string = '', - parameterStringNullableWithNoDefault?: string | null, - parameterStringNullableWithDefault: string | null = null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/defaults', - query: { - 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, - 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, - 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, - 'parameterStringWithDefault': parameterStringWithDefault, - 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, - 'parameterStringWithNoDefault': parameterStringWithNoDefault, - 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, - 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, - }, - }); - } + public static callWithDefaultParameters(parameterString: string | null = 'Hello World!', + parameterNumber: number | null = 123, + parameterBoolean: boolean | null = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString | null = { + "prop": "Hello World!" + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} +/** + * @param parameterString This is a simple string that is optional with default value + * @param parameterNumber This is a simple number that is optional with default value + * @param parameterBoolean This is a simple boolean that is optional with default value + * @param parameterEnum This is a simple enum that is optional with default value + * @param parameterModel This is a simple model that is optional with default value + * @throws ApiError + */ +public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', +parameterNumber: number = 123, +parameterBoolean: boolean = true, +parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', +parameterModel: ModelWithString = { + "prop": "Hello World!" +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} +/** + * @param parameterStringWithNoDefault This is a string with no default + * @param parameterOptionalStringWithDefault This is a optional string with default + * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default + * @param parameterOptionalStringWithNoDefault This is a optional string with no default + * @param parameterStringWithDefault This is a string with default + * @param parameterStringWithEmptyDefault This is a string with empty default + * @param parameterStringNullableWithNoDefault This is a string that can be null with no default + * @param parameterStringNullableWithDefault This is a string that can be null with default + * @throws ApiError + */ +public static callToTestOrderOfParams(parameterStringWithNoDefault: string, +parameterOptionalStringWithDefault: string = 'Hello World!', +parameterOptionalStringWithEmptyDefault: string = '', +parameterOptionalStringWithNoDefault?: string, +parameterStringWithDefault: string = 'Hello World!', +parameterStringWithEmptyDefault: string = '', +parameterStringNullableWithNoDefault?: string | null, +parameterStringNullableWithDefault: string | null = null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/defaults', + query: { + 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, + 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, + 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, + 'parameterStringWithDefault': parameterStringWithDefault, + 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, + 'parameterStringWithNoDefault': parameterStringWithNoDefault, + 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, + 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, + }, + }); +} } " `; @@ -13977,17 +6845,16 @@ export class DeprecatedService { * @param parameter This parameter is deprecated * @throws ApiError */ - public static deprecatedCall( - parameter: DeprecatedModel | null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/deprecated', - headers: { - 'parameter': parameter, - }, - }); - } + public static deprecatedCall(parameter: DeprecatedModel | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/deprecated', + headers: { + 'parameter': parameter, + }, + }); +} } " `; @@ -14013,27 +6880,26 @@ export class DescriptionsService { * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work * @throws ApiError */ - public static callWithDescriptions( - parameterWithBreaks?: any, - parameterWithBackticks?: any, - parameterWithSlashes?: any, - parameterWithExpressionPlaceholders?: any, - parameterWithQuotes?: any, - parameterWithReservedCharacters?: any, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/descriptions/', - query: { - 'parameterWithBreaks': parameterWithBreaks, - 'parameterWithBackticks': parameterWithBackticks, - 'parameterWithSlashes': parameterWithSlashes, - 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, - 'parameterWithQuotes': parameterWithQuotes, - 'parameterWithReservedCharacters': parameterWithReservedCharacters, - }, - }); - } + public static callWithDescriptions(parameterWithBreaks?: any, + parameterWithBackticks?: any, + parameterWithSlashes?: any, + parameterWithExpressionPlaceholders?: any, + parameterWithQuotes?: any, + parameterWithReservedCharacters?: any, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/descriptions/', + query: { + 'parameterWithBreaks': parameterWithBreaks, + 'parameterWithBackticks': parameterWithBackticks, + 'parameterWithSlashes': parameterWithSlashes, + 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, + 'parameterWithQuotes': parameterWithQuotes, + 'parameterWithReservedCharacters': parameterWithReservedCharacters, + }, + }); +} } " `; @@ -14101,23 +6967,22 @@ export class ErrorService { * @returns any Custom message: Successful response * @throws ApiError */ - public static testErrorCode( - status: number, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/error', - query: { - 'status': status, - }, - errors: { - 500: \`Custom message: Internal Server Error\`, - 501: \`Custom message: Not Implemented\`, - 502: \`Custom message: Bad Gateway\`, - 503: \`Custom message: Service Unavailable\`, - }, - }); - } + public static testErrorCode(status: number, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/error', + query: { + 'status': status, + }, + errors: { + 500: \`Custom message: Internal Server Error\`, + 501: \`Custom message: Not Implemented\`, + 502: \`Custom message: Bad Gateway\`, + 503: \`Custom message: Service Unavailable\`, + }, + }); +} } " `; @@ -14137,20 +7002,19 @@ export class FormDataService { * @param formData A reusable request body * @throws ApiError */ - public static postApiFormData( - parameter?: string, - formData?: ModelWithString, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/formData/', - query: { - 'parameter': parameter, - }, - formData: formData, - mediaType: 'multipart/form-data', - }); - } + public static postApiFormData(parameter?: string, + formData?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/formData/', + query: { + 'parameter': parameter, + }, + formData: formData, + mediaType: 'multipart/form-data', + }); +} } " `; @@ -14197,35 +7061,34 @@ export class MultipartService { * @param formData * @throws ApiError */ - public static multipartRequest( - formData?: { - content?: Blob; - data?: ModelWithString | null; - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/multipart', - formData: formData, - mediaType: 'multipart/form-data', - }); - } - /** - * @returns any OK - * @throws ApiError - */ - public static multipartResponse(): CancelablePromise<{ - file?: Blob; - metadata?: { - foo?: string; - bar?: string; - }; - }> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multipart', - }); - } + public static multipartRequest(formData?: { + content?: Blob; + data?: ModelWithString | null; + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/multipart', + formData: formData, + mediaType: 'multipart/form-data', + }); +} +/** + * @returns any OK + * @throws ApiError + */ +public static multipartResponse(): CancelablePromise<{ + file?: Blob; + metadata?: { + foo?: string; + bar?: string; + }; +}> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multipart', + }); +} } " `; @@ -14339,145 +7202,141 @@ export class NoContentService { }); } } -" -`; - -exports[`v3 should generate: test/generated/v3/services/ParametersService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { Pageable } from '../models/Pageable'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ParametersService { - /** - * @param parameterHeader This is the parameter that goes into the header - * @param parameterQuery This is the parameter that goes into the query params - * @param parameterForm This is the parameter that goes into the form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param parameterPath This is the parameter that goes into the path - * @param requestBody This is the parameter that goes into the body - * @throws ApiError - */ - public static callWithParameters( - parameterHeader: string | null, - parameterQuery: string | null, - parameterForm: string | null, - parameterCookie: string | null, - parameterPath: string | null, - requestBody: ModelWithString | null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameterPath}', - path: { - 'parameterPath': parameterPath, - }, - cookies: { - 'parameterCookie': parameterCookie, - }, - headers: { - 'parameterHeader': parameterHeader, - }, - query: { - 'parameterQuery': parameterQuery, - }, - formData: { - 'parameterForm': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); - } - /** - * @param parameterHeader This is the parameter that goes into the request header - * @param parameterQuery This is the parameter that goes into the request query params - * @param parameterForm This is the parameter that goes into the request form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param requestBody This is the parameter that goes into the body - * @param parameterPath1 This is the parameter that goes into the path - * @param parameterPath2 This is the parameter that goes into the path - * @param parameterPath3 This is the parameter that goes into the path - * @param _default This is the parameter with a reserved keyword - * @throws ApiError - */ - public static callWithWeirdParameterNames( - parameterHeader: string | null, - parameterQuery: string | null, - parameterForm: string | null, - parameterCookie: string | null, - requestBody: ModelWithString | null, - parameterPath1?: string, - parameterPath2?: string, - parameterPath3?: string, - _default?: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', - path: { - 'parameter.path.1': parameterPath1, - 'parameter-path-2': parameterPath2, - 'PARAMETER-PATH-3': parameterPath3, - }, - cookies: { - 'PARAMETER-COOKIE': parameterCookie, - }, - headers: { - 'parameter.header': parameterHeader, - }, - query: { - 'default': _default, - 'parameter-query': parameterQuery, - }, - formData: { - 'parameter_form': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); - } - /** - * @param requestBody This is a required parameter - * @param parameter This is an optional parameter - * @throws ApiError - */ - public static getCallWithOptionalParam( - requestBody: ModelWithString, - parameter?: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); - } - /** - * @param parameter This is a required parameter - * @param requestBody This is an optional parameter - * @throws ApiError - */ - public static postCallWithOptionalParam( - parameter: Pageable, - requestBody?: ModelWithString, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); - } +" +`; + +exports[`v3 should generate: test/generated/v3/services/ParametersService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { Pageable } from '../models/Pageable'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ParametersService { + /** + * @param parameterHeader This is the parameter that goes into the header + * @param parameterQuery This is the parameter that goes into the query params + * @param parameterForm This is the parameter that goes into the form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param parameterPath This is the parameter that goes into the path + * @param requestBody This is the parameter that goes into the body + * @throws ApiError + */ + public static callWithParameters(parameterHeader: string | null, + parameterQuery: string | null, + parameterForm: string | null, + parameterCookie: string | null, + parameterPath: string | null, + requestBody: ModelWithString | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameterPath}', + path: { + 'parameterPath': parameterPath, + }, + cookies: { + 'parameterCookie': parameterCookie, + }, + headers: { + 'parameterHeader': parameterHeader, + }, + query: { + 'parameterQuery': parameterQuery, + }, + formData: { + 'parameterForm': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param parameterHeader This is the parameter that goes into the request header + * @param parameterQuery This is the parameter that goes into the request query params + * @param parameterForm This is the parameter that goes into the request form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param requestBody This is the parameter that goes into the body + * @param parameterPath1 This is the parameter that goes into the path + * @param parameterPath2 This is the parameter that goes into the path + * @param parameterPath3 This is the parameter that goes into the path + * @param _default This is the parameter with a reserved keyword + * @throws ApiError + */ +public static callWithWeirdParameterNames(parameterHeader: string | null, +parameterQuery: string | null, +parameterForm: string | null, +parameterCookie: string | null, +requestBody: ModelWithString | null, +parameterPath1?: string, +parameterPath2?: string, +parameterPath3?: string, +_default?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', + path: { + 'parameter.path.1': parameterPath1, + 'parameter-path-2': parameterPath2, + 'PARAMETER-PATH-3': parameterPath3, + }, + cookies: { + 'PARAMETER-COOKIE': parameterCookie, + }, + headers: { + 'parameter.header': parameterHeader, + }, + query: { + 'default': _default, + 'parameter-query': parameterQuery, + }, + formData: { + 'parameter_form': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param requestBody This is a required parameter + * @param parameter This is an optional parameter + * @throws ApiError + */ +public static getCallWithOptionalParam(requestBody: ModelWithString, +parameter?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param parameter This is a required parameter + * @param requestBody This is an optional parameter + * @throws ApiError + */ +public static postCallWithOptionalParam(parameter: Pageable, +requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} } " `; @@ -14497,20 +7356,19 @@ export class RequestBodyService { * @param requestBody A reusable request body * @throws ApiError */ - public static postApiRequestBody( - parameter?: string, - requestBody?: ModelWithString, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/requestBody/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); - } + public static postApiRequestBody(parameter?: string, + requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/requestBody/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} } " `; @@ -14678,33 +7536,32 @@ export class TypesService { * @returns any Response is a simple object * @throws ApiError */ - public static types( - parameterArray: Array | null, - parameterDictionary: Record | null, - parameterEnum: 'Success' | 'Warning' | 'Error' | null, - parameterNumber: number = 123, - parameterString: string | null = 'default', - parameterBoolean: boolean | null = true, - parameterObject: Record | null = null, - id?: number, - ): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/types', - path: { - 'id': id, - }, - query: { - 'parameterNumber': parameterNumber, - 'parameterString': parameterString, - 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, - 'parameterArray': parameterArray, - 'parameterDictionary': parameterDictionary, - 'parameterEnum': parameterEnum, - }, - }); - } + public static types(parameterArray: Array | null, + parameterDictionary: Record | null, + parameterEnum: 'Success' | 'Warning' | 'Error' | null, + parameterNumber: number = 123, + parameterString: string | null = 'default', + parameterBoolean: boolean | null = true, + parameterObject: Record | null = null, + id?: number, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/types', + path: { + 'id': id, + }, + query: { + 'parameterNumber': parameterNumber, + 'parameterString': parameterString, + 'parameterBoolean': parameterBoolean, + 'parameterObject': parameterObject, + 'parameterArray': parameterArray, + 'parameterDictionary': parameterDictionary, + 'parameterEnum': parameterEnum, + }, + }); +} } " `; @@ -14723,23 +7580,23 @@ export class UploadService { * @returns boolean * @throws ApiError */ - public static uploadFile( - file: Blob, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/upload', - formData: { - 'file': file, - }, - }); - } + public static uploadFile(file: Blob, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/upload', + formData: { + 'file': file, + }, + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/index.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/index.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -14808,6 +7665,7 @@ export type { Pageable as PageableDto } from './models/Pageable'; export type { SimpleBoolean as SimpleBooleanDto } from './models/SimpleBoolean'; export type { SimpleFile as SimpleFileDto } from './models/SimpleFile'; export type { SimpleInteger as SimpleIntegerDto } from './models/SimpleInteger'; +export type { SimpleParameter as SimpleParameterDto } from './models/SimpleParameter'; export type { SimpleReference as SimpleReferenceDto } from './models/SimpleReference'; export type { SimpleString as SimpleStringDto } from './models/SimpleString'; export type { SimpleStringWithPattern as SimpleStringWithPatternDto } from './models/SimpleStringWithPattern'; @@ -14877,6 +7735,7 @@ export { $Pageable } from './schemas/$Pageable'; export { $SimpleBoolean } from './schemas/$SimpleBoolean'; export { $SimpleFile } from './schemas/$SimpleFile'; export { $SimpleInteger } from './schemas/$SimpleInteger'; +export { $SimpleParameter } from './schemas/$SimpleParameter'; export { $SimpleReference } from './schemas/$SimpleReference'; export { $SimpleString } from './schemas/$SimpleString'; export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; @@ -14905,11 +7764,11 @@ export { UploadService } from './services/UploadService'; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/_default.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export type _default = { name?: string; }; @@ -14917,13 +7776,12 @@ export type _default = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithArray.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a simple array containing an array */ @@ -14931,11 +7789,11 @@ export type ArrayWithArray = Array>; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithBooleans.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple array with booleans */ @@ -14943,11 +7801,11 @@ export type ArrayWithBooleans = Array; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithNumbers.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple array with numbers */ @@ -14955,11 +7813,11 @@ export type ArrayWithNumbers = Array; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple array with properties */ @@ -14970,13 +7828,12 @@ export type ArrayWithProperties = Array<{ " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithReferences.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a simple array with references */ @@ -14984,11 +7841,11 @@ export type ArrayWithReferences = Array; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ArrayWithStrings.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple array with strings */ @@ -14996,11 +7853,11 @@ export type ArrayWithStrings = Array; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithBackticks.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work */ @@ -15008,11 +7865,11 @@ export type CommentWithBackticks = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithBreaks.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Testing multiline comments in string: First line * Second line @@ -15023,11 +7880,11 @@ export type CommentWithBreaks = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithExpressionPlaceholders.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Testing expression placeholders in string: \${expression} should work */ @@ -15035,11 +7892,11 @@ export type CommentWithExpressionPlaceholders = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithQuotes.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Testing quotes in string: 'single quote''' and "double quotes""" should work */ @@ -15047,11 +7904,11 @@ export type CommentWithQuotes = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithReservedCharacters.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Testing reserved characters in string: * inline * and ** inline ** should work */ @@ -15059,11 +7916,11 @@ export type CommentWithReservedCharacters = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CommentWithSlashes.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work */ @@ -15071,11 +7928,11 @@ export type CommentWithSlashes = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionBaseModel.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionBaseModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a base model with two simple optional properties */ @@ -15087,13 +7944,12 @@ export type CompositionBaseModel = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionExtendedModel.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionExtendedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { CompositionBaseModel } from './CompositionBaseModel'; - /** * This is a model that extends the base model */ @@ -15106,15 +7962,14 @@ export type CompositionExtendedModel = (CompositionBaseModel & { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAllOfAndNullable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAllOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithArray } from './ModelWithArray'; import type { ModelWithDictionary } from './ModelWithDictionary'; import type { ModelWithEnum } from './ModelWithEnum'; - /** * This is a model with one property with a 'all of' relationship */ @@ -15127,16 +7982,15 @@ export type CompositionWithAllOfAndNullable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOf.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithArray } from './ModelWithArray'; import type { ModelWithDictionary } from './ModelWithDictionary'; import type { ModelWithEnum } from './ModelWithEnum'; import type { ModelWithString } from './ModelWithString'; - /** * This is a model with one property with a 'any of' relationship */ @@ -15147,15 +8001,14 @@ export type CompositionWithAnyOf = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAndNullable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithArray } from './ModelWithArray'; import type { ModelWithDictionary } from './ModelWithDictionary'; import type { ModelWithEnum } from './ModelWithEnum'; - /** * This is a model with one property with a 'any of' relationship */ @@ -15168,11 +8021,11 @@ export type CompositionWithAnyOfAndNullable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAnonymous.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one property with a 'any of' relationship where the options are not $ref */ @@ -15185,16 +8038,15 @@ export type CompositionWithAnyOfAnonymous = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOf.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithArray } from './ModelWithArray'; import type { ModelWithDictionary } from './ModelWithDictionary'; import type { ModelWithEnum } from './ModelWithEnum'; import type { ModelWithString } from './ModelWithString'; - /** * This is a model with one property with a 'one of' relationship */ @@ -15205,11 +8057,11 @@ export type CompositionWithOneOf = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model that contains a dictionary of complex arrays (composited) within composition */ @@ -15220,15 +8072,14 @@ export type CompositionWithOneOfAndComplexArrayDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndNullable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithArray } from './ModelWithArray'; import type { ModelWithDictionary } from './ModelWithDictionary'; import type { ModelWithEnum } from './ModelWithEnum'; - /** * This is a model with one property with a 'one of' relationship */ @@ -15241,11 +8092,11 @@ export type CompositionWithOneOfAndNullable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model that contains a dictionary of simple arrays within composition */ @@ -15256,11 +8107,11 @@ export type CompositionWithOneOfAndSimpleArrayDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model that contains a simple dictionary within composition */ @@ -15271,11 +8122,11 @@ export type CompositionWithOneOfAndSimpleDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAnonymous.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one property with a 'one of' relationship where the options are not $ref */ @@ -15288,14 +8139,13 @@ export type CompositionWithOneOfAnonymous = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfDiscriminator.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfDiscriminator.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelCircle } from './ModelCircle'; import type { ModelSquare } from './ModelSquare'; - /** * This is a model with one property with a 'one of' relationship where the options are not $ref */ @@ -15304,11 +8154,11 @@ export type CompositionWithOneOfDiscriminator = (ModelCircle | ModelSquare); " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DeprecatedModel.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DeprecatedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a deprecated model with a deprecated property * @deprecated @@ -15324,13 +8174,12 @@ export type DeprecatedModel = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithArray.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a complex dictionary */ @@ -15338,11 +8187,11 @@ export type DictionaryWithArray = Record>; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a string dictionary */ @@ -15350,11 +8199,11 @@ export type DictionaryWithDictionary = Record>; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a complex dictionary */ @@ -15365,13 +8214,12 @@ export type DictionaryWithProperties = Record; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/DictionaryWithString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a string dictionary */ @@ -15391,11 +8239,11 @@ export type DictionaryWithString = Record; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumFromDescription.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Success=1,Warning=2,Error=3 */ @@ -15403,11 +8251,11 @@ export type EnumFromDescription = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumWithExtensions.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple enum with numbers */ @@ -15428,11 +8276,11 @@ export enum EnumWithExtensions { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumWithNumbers.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple enum with numbers */ @@ -15456,11 +8304,11 @@ export enum EnumWithNumbers { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/EnumWithStrings.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple enum with strings */ @@ -15474,11 +8322,11 @@ export enum EnumWithStrings { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/File.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/File.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export type File = { readonly id?: string; readonly updated_at?: string; @@ -15490,11 +8338,11 @@ export type File = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a free-form object with additionalProperties: {}. */ @@ -15502,11 +8350,11 @@ export type FreeFormObjectWithAdditionalPropertiesEqEmptyObject = Record; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a free-form object without additionalProperties. */ @@ -15526,11 +8374,11 @@ export type FreeFormObjectWithoutAdditionalProperties = Record; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelCircle.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelCircle.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Circle */ @@ -15542,11 +8390,11 @@ export type ModelCircle = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelSquare.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelSquare.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * Square */ @@ -15558,13 +8406,12 @@ export type ModelSquare = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelThatExtends.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a model that extends another model */ @@ -15576,14 +8423,13 @@ export type ModelThatExtends = (ModelWithString & { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelThatExtendsExtends.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelThatExtends } from './ModelThatExtends'; import type { ModelWithString } from './ModelWithString'; - /** * This is a model that extends another model */ @@ -15595,13 +8441,12 @@ export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithArray.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a model with one property containing an array */ @@ -15614,11 +8459,11 @@ export type ModelWithArray = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithBoolean.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one boolean property */ @@ -15632,11 +8477,11 @@ export type ModelWithBoolean = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithCircularReference.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one property containing a circular reference */ @@ -15647,11 +8492,11 @@ export type ModelWithCircularReference = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one property containing a dictionary */ @@ -15662,13 +8507,12 @@ export type ModelWithDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateImports.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a model with duplicated imports */ @@ -15681,13 +8525,12 @@ export type ModelWithDuplicateImports = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a model with duplicated properties */ @@ -15698,11 +8541,11 @@ export type ModelWithDuplicateProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithEnum.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one enum */ @@ -15720,9 +8563,7 @@ export type ModelWithEnum = { */ bool?: boolean; }; - export namespace ModelWithEnum { - /** * This is a simple enum with strings */ @@ -15731,7 +8572,6 @@ export namespace ModelWithEnum { WARNING = 'Warning', ERROR = 'Error', } - /** * These are the HTTP error code enums */ @@ -15743,18 +8583,16 @@ export namespace ModelWithEnum { _500_FOO_BAR = '500 foo.bar', _600_FOO_BAR = '600 foo&bar', } - - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithEnumFromDescription.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one enum */ @@ -15768,11 +8606,11 @@ export type ModelWithEnumFromDescription = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithInteger.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one number property */ @@ -15786,11 +8624,11 @@ export type ModelWithInteger = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithNestedEnums.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with nested enums */ @@ -15804,11 +8642,11 @@ export type ModelWithNestedEnums = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithNestedProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one nested property */ @@ -15823,11 +8661,11 @@ export type ModelWithNestedProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithNullableString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one string property */ @@ -15853,11 +8691,11 @@ export type ModelWithNullableString = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithOrderedProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with ordered properties */ @@ -15870,11 +8708,11 @@ export type ModelWithOrderedProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithPattern.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model that contains a some patterns */ @@ -15891,13 +8729,12 @@ export type ModelWithPattern = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a model with one nested property */ @@ -15919,13 +8756,12 @@ export type ModelWithProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithReference.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithProperties } from './ModelWithProperties'; - /** * This is a model with one property containing a reference */ @@ -15936,11 +8772,11 @@ export type ModelWithReference = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/ModelWithString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a model with one string property */ @@ -15954,11 +8790,11 @@ export type ModelWithString = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/Pageable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/Pageable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - export type Pageable = { page?: number; size?: number; @@ -15968,11 +8804,11 @@ export type Pageable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleBoolean.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple boolean */ @@ -15980,11 +8816,11 @@ export type SimpleBoolean = boolean; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleFile.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple file */ @@ -15992,11 +8828,11 @@ export type SimpleFile = Blob; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleInteger.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple number */ @@ -16004,8 +8840,8 @@ export type SimpleInteger = number; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -16016,13 +8852,12 @@ export type SimpleParameter = string; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleReference.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { ModelWithString } from './ModelWithString'; - /** * This is a simple reference */ @@ -16030,11 +8865,11 @@ export type SimpleReference = ModelWithString; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple string */ @@ -16042,11 +8877,11 @@ export type SimpleString = string; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/models/SimpleStringWithPattern.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - /** * This is a simple string */ @@ -16054,8 +8889,9 @@ export type SimpleStringWithPattern = string | null; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$_default.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$_default.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $_default = { @@ -16068,8 +8904,9 @@ export const $_default = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithArray.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ArrayWithArray = { @@ -16084,8 +8921,9 @@ export const $ArrayWithArray = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithBooleans.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithBooleans.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ArrayWithBooleans = { @@ -16097,8 +8935,9 @@ export const $ArrayWithBooleans = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithNumbers.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ArrayWithNumbers = { @@ -16110,8 +8949,9 @@ export const $ArrayWithNumbers = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ArrayWithProperties = { @@ -16130,8 +8970,9 @@ export const $ArrayWithProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithReferences.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithReferences.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ArrayWithReferences = { @@ -16143,8 +8984,9 @@ export const $ArrayWithReferences = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithStrings.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ArrayWithStrings = { @@ -16156,8 +8998,9 @@ export const $ArrayWithStrings = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBackticks.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBackticks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CommentWithBackticks = { @@ -16167,22 +9010,23 @@ export const $CommentWithBackticks = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBreaks.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBreaks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CommentWithBreaks = { type: 'number', description: \`Testing multiline comments in string: First line Second line - Fourth line\`, } as const; " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CommentWithExpressionPlaceholders = { @@ -16192,8 +9036,9 @@ export const $CommentWithExpressionPlaceholders = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithQuotes.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithQuotes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CommentWithQuotes = { @@ -16203,8 +9048,9 @@ export const $CommentWithQuotes = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithReservedCharacters.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithReservedCharacters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CommentWithReservedCharacters = { @@ -16214,8 +9060,9 @@ export const $CommentWithReservedCharacters = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CommentWithSlashes.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithSlashes.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CommentWithSlashes = { @@ -16225,8 +9072,9 @@ export const $CommentWithSlashes = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionBaseModel.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionBaseModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionBaseModel = { @@ -16243,8 +9091,9 @@ export const $CompositionBaseModel = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionExtendedModel.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionExtendedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionExtendedModel = { @@ -16272,8 +9121,9 @@ export const $CompositionExtendedModel = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAllOfAndNullable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAllOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithAllOfAndNullable = { @@ -16301,8 +9151,9 @@ export const $CompositionWithAllOfAndNullable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOf.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithAnyOf = { @@ -16325,8 +9176,9 @@ export const $CompositionWithAnyOf = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAndNullable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithAnyOfAndNullable = { @@ -16354,8 +9206,9 @@ export const $CompositionWithAnyOfAndNullable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAnonymous.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithAnyOfAnonymous = { @@ -16383,8 +9236,9 @@ export const $CompositionWithAnyOfAnonymous = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOf.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOf.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithOneOf = { @@ -16407,8 +9261,9 @@ export const $CompositionWithOneOf = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithOneOfAndComplexArrayDictionary = { @@ -16438,8 +9293,9 @@ export const $CompositionWithOneOfAndComplexArrayDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndNullable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndNullable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithOneOfAndNullable = { @@ -16467,8 +9323,9 @@ export const $CompositionWithOneOfAndNullable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithOneOfAndSimpleArrayDictionary = { @@ -16493,8 +9350,9 @@ export const $CompositionWithOneOfAndSimpleArrayDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithOneOfAndSimpleDictionary = { @@ -16516,8 +9374,9 @@ export const $CompositionWithOneOfAndSimpleDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAnonymous.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAnonymous.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithOneOfAnonymous = { @@ -16545,8 +9404,9 @@ export const $CompositionWithOneOfAnonymous = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfDiscriminator.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfDiscriminator.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $CompositionWithOneOfDiscriminator = { @@ -16561,8 +9421,9 @@ export const $CompositionWithOneOfDiscriminator = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DeprecatedModel.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DeprecatedModel.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $DeprecatedModel = { @@ -16577,8 +9438,9 @@ export const $DeprecatedModel = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithArray.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $DictionaryWithArray = { @@ -16593,8 +9455,9 @@ export const $DictionaryWithArray = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $DictionaryWithDictionary = { @@ -16609,8 +9472,9 @@ export const $DictionaryWithDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $DictionaryWithProperties = { @@ -16629,8 +9493,9 @@ export const $DictionaryWithProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithReference.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $DictionaryWithReference = { @@ -16642,8 +9507,9 @@ export const $DictionaryWithReference = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $DictionaryWithString = { @@ -16655,8 +9521,9 @@ export const $DictionaryWithString = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumFromDescription.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $EnumFromDescription = { @@ -16666,8 +9533,9 @@ export const $EnumFromDescription = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumWithExtensions.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumWithExtensions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $EnumWithExtensions = { @@ -16676,8 +9544,9 @@ export const $EnumWithExtensions = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumWithNumbers.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumWithNumbers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $EnumWithNumbers = { @@ -16686,8 +9555,9 @@ export const $EnumWithNumbers = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$EnumWithStrings.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumWithStrings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $EnumWithStrings = { @@ -16696,8 +9566,9 @@ export const $EnumWithStrings = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$File.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$File.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $File = { @@ -16733,8 +9604,9 @@ export const $File = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $FreeFormObjectWithAdditionalPropertiesEqEmptyObject = { @@ -16747,8 +9619,9 @@ export const $FreeFormObjectWithAdditionalPropertiesEqEmptyObject = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $FreeFormObjectWithAdditionalPropertiesEqTrue = { @@ -16761,8 +9634,9 @@ export const $FreeFormObjectWithAdditionalPropertiesEqTrue = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $FreeFormObjectWithoutAdditionalProperties = { @@ -16775,8 +9649,9 @@ export const $FreeFormObjectWithoutAdditionalProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelCircle.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelCircle.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelCircle = { @@ -16794,8 +9669,9 @@ export const $ModelCircle = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelSquare.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelSquare.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelSquare = { @@ -16813,8 +9689,9 @@ export const $ModelSquare = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtends.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelThatExtends = { @@ -16836,8 +9713,9 @@ export const $ModelThatExtends = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtendsExtends.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtendsExtends.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelThatExtendsExtends = { @@ -16861,8 +9739,9 @@ export const $ModelThatExtendsExtends = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithArray.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithArray.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithArray = { @@ -16891,8 +9770,9 @@ export const $ModelWithArray = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithBoolean.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithBoolean = { @@ -16907,8 +9787,9 @@ export const $ModelWithBoolean = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithCircularReference.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithCircularReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithCircularReference = { @@ -16922,8 +9803,9 @@ export const $ModelWithCircularReference = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDictionary.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDictionary.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithDictionary = { @@ -16940,8 +9822,9 @@ export const $ModelWithDictionary = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateImports.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateImports.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithDuplicateImports = { @@ -16961,8 +9844,9 @@ export const $ModelWithDuplicateImports = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithDuplicateProperties = { @@ -16976,8 +9860,9 @@ export const $ModelWithDuplicateProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnum.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithEnum = { @@ -16998,8 +9883,9 @@ export const $ModelWithEnum = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnumFromDescription.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithEnumFromDescription = { @@ -17014,8 +9900,9 @@ export const $ModelWithEnumFromDescription = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithInteger.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithInteger = { @@ -17030,8 +9917,9 @@ export const $ModelWithInteger = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedEnums.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedEnums.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithNestedEnums = { @@ -17068,8 +9956,9 @@ export const $ModelWithNestedEnums = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithNestedProperties = { @@ -17100,8 +9989,9 @@ export const $ModelWithNestedProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNullableString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNullableString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithNullableString = { @@ -17134,8 +10024,9 @@ export const $ModelWithNullableString = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithOrderedProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithOrderedProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithOrderedProperties = { @@ -17155,8 +10046,9 @@ export const $ModelWithOrderedProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithPattern.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithPattern = { @@ -17199,8 +10091,9 @@ export const $ModelWithPattern = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithProperties.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithProperties.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithProperties = { @@ -17254,8 +10147,9 @@ export const $ModelWithProperties = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithReference.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithReference = { @@ -17269,8 +10163,9 @@ export const $ModelWithReference = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$ModelWithString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $ModelWithString = { @@ -17285,8 +10180,9 @@ export const $ModelWithString = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$Pageable.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$Pageable.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $Pageable = { @@ -17311,8 +10207,9 @@ export const $Pageable = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleBoolean.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $SimpleBoolean = { @@ -17322,8 +10219,9 @@ export const $SimpleBoolean = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleFile.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleFile.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $SimpleFile = { @@ -17333,8 +10231,9 @@ export const $SimpleFile = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleInteger.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleInteger.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $SimpleInteger = { @@ -17344,8 +10243,8 @@ export const $SimpleInteger = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do no edit */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ @@ -17356,8 +10255,9 @@ export const $SimpleParameter = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleReference.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleReference.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $SimpleReference = { @@ -17367,8 +10267,9 @@ export const $SimpleReference = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleString.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleString.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $SimpleString = { @@ -17378,8 +10279,9 @@ export const $SimpleString = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/schemas/$SimpleStringWithPattern.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleStringWithPattern.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ export const $SimpleStringWithPattern = { @@ -17392,16 +10294,15 @@ export const $SimpleStringWithPattern = { " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/CollectionFormatService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/CollectionFormatService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class CollectionFormatService { - /** * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) @@ -17410,122 +10311,113 @@ export class CollectionFormatService { * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) * @throws ApiError */ - public static collectionFormat( - parameterArrayCsv: Array | null, - parameterArraySsv: Array | null, - parameterArrayTsv: Array | null, - parameterArrayPipes: Array | null, - parameterArrayMulti: Array | null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/collectionFormat', - query: { - 'parameterArrayCSV': parameterArrayCsv, - 'parameterArraySSV': parameterArraySsv, - 'parameterArrayTSV': parameterArrayTsv, - 'parameterArrayPipes': parameterArrayPipes, - 'parameterArrayMulti': parameterArrayMulti, - }, - }); - } - + public static collectionFormat(parameterArrayCsv: Array | null, + parameterArraySsv: Array | null, + parameterArrayTsv: Array | null, + parameterArrayPipes: Array | null, + parameterArrayMulti: Array | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/collectionFormat', + query: { + 'parameterArrayCSV': parameterArrayCsv, + 'parameterArraySSV': parameterArraySsv, + 'parameterArrayTSV': parameterArrayTsv, + 'parameterArrayPipes': parameterArrayPipes, + 'parameterArrayMulti': parameterArrayMulti, + }, + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ComplexService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/ComplexService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ModelWithArray } from '../models/ModelWithArray'; import type { ModelWithDictionary } from '../models/ModelWithDictionary'; import type { ModelWithEnum } from '../models/ModelWithEnum'; import type { ModelWithString } from '../models/ModelWithString'; - import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class ComplexService { - /** * @param parameterObject Parameter containing object * @param parameterReference Parameter containing reference * @returns ModelWithString Successful response * @throws ApiError */ - public static complexTypes( - parameterObject: { - first?: { - second?: { - third?: string; - }; + public static complexTypes(parameterObject: { + first?: { + second?: { + third?: string; }; + }; + }, + parameterReference: ModelWithString, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/complex', + query: { + 'parameterObject': parameterObject, + 'parameterReference': parameterReference, }, - parameterReference: ModelWithString, - ): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/complex', - query: { - 'parameterObject': parameterObject, - 'parameterReference': parameterReference, - }, - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } - - /** - * @param id - * @param requestBody - * @returns ModelWithString Success - * @throws ApiError - */ - public static complexParams( - id: number, - requestBody?: { - readonly key: string | null; - name: string | null; - enabled?: boolean; - readonly type: 'Monkey' | 'Horse' | 'Bird'; - listOfModels?: Array | null; - listOfStrings?: Array | null; - parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); - readonly user?: { - readonly id?: number; - readonly name?: string | null; - }; + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/complex/{id}', - path: { - 'id': id, - }, - body: requestBody, - mediaType: 'application/json-patch+json', - }); - } - + }); +} +/** + * @param id + * @param requestBody + * @returns ModelWithString Success + * @throws ApiError + */ +public static complexParams(id: number, +requestBody?: { + readonly key: string | null; + name: string | null; + enabled?: boolean; + readonly type: 'Monkey' | 'Horse' | 'Bird'; + listOfModels?: Array | null; + listOfStrings?: Array | null; + parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); + readonly user?: { + readonly id?: number; + readonly name?: string | null; + }; +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/complex/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json-patch+json', + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DefaultService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class DefaultService { - /** * @throws ApiError */ @@ -17535,23 +10427,20 @@ export class DefaultService { url: '/api/v{api-version}/no-tag', }); } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DefaultsService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/DefaultsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; - import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class DefaultsService { - /** * @param parameterString This is a simple string with default value * @param parameterNumber This is a simple number with default value @@ -17560,142 +10449,131 @@ export class DefaultsService { * @param parameterModel This is a simple model with default value * @throws ApiError */ - public static callWithDefaultParameters( - parameterString: string | null = 'Hello World!', - parameterNumber: number | null = 123, - parameterBoolean: boolean | null = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString | null = { - "prop": "Hello World!" - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - - /** - * @param parameterString This is a simple string that is optional with default value - * @param parameterNumber This is a simple number that is optional with default value - * @param parameterBoolean This is a simple boolean that is optional with default value - * @param parameterEnum This is a simple enum that is optional with default value - * @param parameterModel This is a simple model that is optional with default value - * @throws ApiError - */ - public static callWithDefaultOptionalParameters( - parameterString: string = 'Hello World!', - parameterNumber: number = 123, - parameterBoolean: boolean = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString = { - "prop": "Hello World!" - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); - } - - /** - * @param parameterStringWithNoDefault This is a string with no default - * @param parameterOptionalStringWithDefault This is a optional string with default - * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default - * @param parameterOptionalStringWithNoDefault This is a optional string with no default - * @param parameterStringWithDefault This is a string with default - * @param parameterStringWithEmptyDefault This is a string with empty default - * @param parameterStringNullableWithNoDefault This is a string that can be null with no default - * @param parameterStringNullableWithDefault This is a string that can be null with default - * @throws ApiError - */ - public static callToTestOrderOfParams( - parameterStringWithNoDefault: string, - parameterOptionalStringWithDefault: string = 'Hello World!', - parameterOptionalStringWithEmptyDefault: string = '', - parameterOptionalStringWithNoDefault?: string, - parameterStringWithDefault: string = 'Hello World!', - parameterStringWithEmptyDefault: string = '', - parameterStringNullableWithNoDefault?: string | null, - parameterStringNullableWithDefault: string | null = null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/defaults', - query: { - 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, - 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, - 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, - 'parameterStringWithDefault': parameterStringWithDefault, - 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, - 'parameterStringWithNoDefault': parameterStringWithNoDefault, - 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, - 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, - }, - }); - } - + public static callWithDefaultParameters(parameterString: string | null = 'Hello World!', + parameterNumber: number | null = 123, + parameterBoolean: boolean | null = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString | null = { + "prop": "Hello World!" + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} +/** + * @param parameterString This is a simple string that is optional with default value + * @param parameterNumber This is a simple number that is optional with default value + * @param parameterBoolean This is a simple boolean that is optional with default value + * @param parameterEnum This is a simple enum that is optional with default value + * @param parameterModel This is a simple model that is optional with default value + * @throws ApiError + */ +public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', +parameterNumber: number = 123, +parameterBoolean: boolean = true, +parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', +parameterModel: ModelWithString = { + "prop": "Hello World!" +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} +/** + * @param parameterStringWithNoDefault This is a string with no default + * @param parameterOptionalStringWithDefault This is a optional string with default + * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default + * @param parameterOptionalStringWithNoDefault This is a optional string with no default + * @param parameterStringWithDefault This is a string with default + * @param parameterStringWithEmptyDefault This is a string with empty default + * @param parameterStringNullableWithNoDefault This is a string that can be null with no default + * @param parameterStringNullableWithDefault This is a string that can be null with default + * @throws ApiError + */ +public static callToTestOrderOfParams(parameterStringWithNoDefault: string, +parameterOptionalStringWithDefault: string = 'Hello World!', +parameterOptionalStringWithEmptyDefault: string = '', +parameterOptionalStringWithNoDefault?: string, +parameterStringWithDefault: string = 'Hello World!', +parameterStringWithEmptyDefault: string = '', +parameterStringNullableWithNoDefault?: string | null, +parameterStringNullableWithDefault: string | null = null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/defaults', + query: { + 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, + 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, + 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, + 'parameterStringWithDefault': parameterStringWithDefault, + 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, + 'parameterStringWithNoDefault': parameterStringWithNoDefault, + 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, + 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, + }, + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DeprecatedService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/DeprecatedService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { DeprecatedModel } from '../models/DeprecatedModel'; - import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class DeprecatedService { - /** * @deprecated - * @param parameter This parameter is deprecated - * @throws ApiError - */ - public static deprecatedCall( - parameter: DeprecatedModel | null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/deprecated', - headers: { - 'parameter': parameter, - }, - }); - } - + * @param parameter This parameter is deprecated + * @throws ApiError + */ + public static deprecatedCall(parameter: DeprecatedModel | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/deprecated', + headers: { + 'parameter': parameter, + }, + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DescriptionsService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/DescriptionsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class DescriptionsService { - /** * @param parameterWithBreaks Testing multiline comments in string: First line * Second line @@ -17708,42 +10586,39 @@ export class DescriptionsService { * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work * @throws ApiError */ - public static callWithDescriptions( - parameterWithBreaks?: any, - parameterWithBackticks?: any, - parameterWithSlashes?: any, - parameterWithExpressionPlaceholders?: any, - parameterWithQuotes?: any, - parameterWithReservedCharacters?: any, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/descriptions/', - query: { - 'parameterWithBreaks': parameterWithBreaks, - 'parameterWithBackticks': parameterWithBackticks, - 'parameterWithSlashes': parameterWithSlashes, - 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, - 'parameterWithQuotes': parameterWithQuotes, - 'parameterWithReservedCharacters': parameterWithReservedCharacters, - }, - }); - } - + public static callWithDescriptions(parameterWithBreaks?: any, + parameterWithBackticks?: any, + parameterWithSlashes?: any, + parameterWithExpressionPlaceholders?: any, + parameterWithQuotes?: any, + parameterWithReservedCharacters?: any, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/descriptions/', + query: { + 'parameterWithBreaks': parameterWithBreaks, + 'parameterWithBackticks': parameterWithBackticks, + 'parameterWithSlashes': parameterWithSlashes, + 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, + 'parameterWithQuotes': parameterWithQuotes, + 'parameterWithReservedCharacters': parameterWithReservedCharacters, + }, + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/DuplicateService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/DuplicateService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class DuplicateService { - /** * @throws ApiError */ @@ -17753,7 +10628,6 @@ export class DuplicateService { url: '/api/v{api-version}/duplicate', }); } - /** * @throws ApiError */ @@ -17763,7 +10637,6 @@ export class DuplicateService { url: '/api/v{api-version}/duplicate', }); } - /** * @throws ApiError */ @@ -17773,7 +10646,6 @@ export class DuplicateService { url: '/api/v{api-version}/duplicate', }); } - /** * @throws ApiError */ @@ -17783,94 +10655,85 @@ export class DuplicateService { url: '/api/v{api-version}/duplicate', }); } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ErrorService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/ErrorService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class ErrorService { - /** * @param status Status code to return * @returns any Custom message: Successful response * @throws ApiError */ - public static testErrorCode( - status: number, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/error', - query: { - 'status': status, - }, - errors: { - 500: \`Custom message: Internal Server Error\`, - 501: \`Custom message: Not Implemented\`, - 502: \`Custom message: Bad Gateway\`, - 503: \`Custom message: Service Unavailable\`, - }, - }); - } - + public static testErrorCode(status: number, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/error', + query: { + 'status': status, + }, + errors: { + 500: \`Custom message: Internal Server Error\`, + 501: \`Custom message: Not Implemented\`, + 502: \`Custom message: Bad Gateway\`, + 503: \`Custom message: Service Unavailable\`, + }, + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/FormDataService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/FormDataService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; - import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class FormDataService { - /** * @param parameter This is a reusable parameter * @param formData A reusable request body * @throws ApiError */ - public static postApiFormData( - parameter?: string, - formData?: ModelWithString, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/formData/', - query: { - 'parameter': parameter, - }, - formData: formData, - mediaType: 'multipart/form-data', - }); - } - + public static postApiFormData(parameter?: string, + formData?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/formData/', + query: { + 'parameter': parameter, + }, + formData: formData, + mediaType: 'multipart/form-data', + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/HeaderService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/HeaderService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class HeaderService { - /** * @returns string Successful response * @throws ApiError @@ -17886,72 +10749,65 @@ export class HeaderService { }, }); } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipartService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/MultipartService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; - import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class MultipartService { - /** * @param formData * @throws ApiError */ - public static multipartRequest( - formData?: { - content?: Blob; - data?: ModelWithString | null; - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/multipart', - formData: formData, - mediaType: 'multipart/form-data', - }); - } - - /** - * @returns any OK - * @throws ApiError - */ - public static multipartResponse(): CancelablePromise<{ - file?: Blob; - metadata?: { - foo?: string; - bar?: string; - }; - }> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multipart', - }); - } - + public static multipartRequest(formData?: { + content?: Blob; + data?: ModelWithString | null; + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/multipart', + formData: formData, + mediaType: 'multipart/form-data', + }); +} +/** + * @returns any OK + * @throws ApiError + */ +public static multipartResponse(): CancelablePromise<{ + file?: Blob; + metadata?: { + foo?: string; + bar?: string; + }; +}> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multipart', + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipleTags1Service.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/MultipleTags1Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class MultipleTags1Service { - /** * @returns void * @throws ApiError @@ -17962,7 +10818,6 @@ export class MultipleTags1Service { url: '/api/v{api-version}/multiple-tags/a', }); } - /** * @returns void * @throws ApiError @@ -17973,21 +10828,19 @@ export class MultipleTags1Service { url: '/api/v{api-version}/multiple-tags/b', }); } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipleTags2Service.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/MultipleTags2Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class MultipleTags2Service { - /** * @returns void * @throws ApiError @@ -17998,32 +10851,6 @@ export class MultipleTags2Service { url: '/api/v{api-version}/multiple-tags/a', }); } - - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } - -} -" -`; - -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/MultipleTags3Service.ts 1`] = ` -"/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; - -export class MultipleTags3Service { - /** * @returns void * @throws ApiError @@ -18034,232 +10861,236 @@ export class MultipleTags3Service { url: '/api/v{api-version}/multiple-tags/b', }); } - -} -" -`; - -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/NoContentService.ts 1`] = ` -"/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; - -export class NoContentService { - - /** - * @returns void - * @throws ApiError - */ - public static callWithNoContentResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-content', - }); - } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ParametersService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/MultipleTags3Service.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { Pageable } from '../models/Pageable'; - import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - -export class ParametersService { - - /** - * @param parameterHeader This is the parameter that goes into the header - * @param parameterQuery This is the parameter that goes into the query params - * @param parameterForm This is the parameter that goes into the form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param parameterPath This is the parameter that goes into the path - * @param requestBody This is the parameter that goes into the body - * @throws ApiError - */ - public static callWithParameters( - parameterHeader: string | null, - parameterQuery: string | null, - parameterForm: string | null, - parameterCookie: string | null, - parameterPath: string | null, - requestBody: ModelWithString | null, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameterPath}', - path: { - 'parameterPath': parameterPath, - }, - cookies: { - 'parameterCookie': parameterCookie, - }, - headers: { - 'parameterHeader': parameterHeader, - }, - query: { - 'parameterQuery': parameterQuery, - }, - formData: { - 'parameterForm': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); - } - - /** - * @param parameterHeader This is the parameter that goes into the request header - * @param parameterQuery This is the parameter that goes into the request query params - * @param parameterForm This is the parameter that goes into the request form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param requestBody This is the parameter that goes into the body - * @param parameterPath1 This is the parameter that goes into the path - * @param parameterPath2 This is the parameter that goes into the path - * @param parameterPath3 This is the parameter that goes into the path - * @param _default This is the parameter with a reserved keyword - * @throws ApiError - */ - public static callWithWeirdParameterNames( - parameterHeader: string | null, - parameterQuery: string | null, - parameterForm: string | null, - parameterCookie: string | null, - requestBody: ModelWithString | null, - parameterPath1?: string, - parameterPath2?: string, - parameterPath3?: string, - _default?: string, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', - path: { - 'parameter.path.1': parameterPath1, - 'parameter-path-2': parameterPath2, - 'PARAMETER-PATH-3': parameterPath3, - }, - cookies: { - 'PARAMETER-COOKIE': parameterCookie, - }, - headers: { - 'parameter.header': parameterHeader, - }, - query: { - 'default': _default, - 'parameter-query': parameterQuery, - }, - formData: { - 'parameter_form': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); - } - +export class MultipleTags3Service { /** - * @param requestBody This is a required parameter - * @param parameter This is an optional parameter + * @returns void * @throws ApiError */ - public static getCallWithOptionalParam( - requestBody: ModelWithString, - parameter?: string, - ): CancelablePromise { + public static dummyB(): CancelablePromise { return __request(OpenAPI, { method: 'GET', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', + url: '/api/v{api-version}/multiple-tags/b', }); } +} +" +`; +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/NoContentService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; +export class NoContentService { /** - * @param parameter This is a required parameter - * @param requestBody This is an optional parameter + * @returns void * @throws ApiError */ - public static postCallWithOptionalParam( - parameter: Pageable, - requestBody?: ModelWithString, - ): CancelablePromise { + public static callWithNoContentResponse(): CancelablePromise { return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', + method: 'GET', + url: '/api/v{api-version}/no-content', }); } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/RequestBodyService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/ParametersService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; - +import type { Pageable } from '../models/Pageable'; import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; +export class ParametersService { + /** + * @param parameterHeader This is the parameter that goes into the header + * @param parameterQuery This is the parameter that goes into the query params + * @param parameterForm This is the parameter that goes into the form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param parameterPath This is the parameter that goes into the path + * @param requestBody This is the parameter that goes into the body + * @throws ApiError + */ + public static callWithParameters(parameterHeader: string | null, + parameterQuery: string | null, + parameterForm: string | null, + parameterCookie: string | null, + parameterPath: string | null, + requestBody: ModelWithString | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameterPath}', + path: { + 'parameterPath': parameterPath, + }, + cookies: { + 'parameterCookie': parameterCookie, + }, + headers: { + 'parameterHeader': parameterHeader, + }, + query: { + 'parameterQuery': parameterQuery, + }, + formData: { + 'parameterForm': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param parameterHeader This is the parameter that goes into the request header + * @param parameterQuery This is the parameter that goes into the request query params + * @param parameterForm This is the parameter that goes into the request form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param requestBody This is the parameter that goes into the body + * @param parameterPath1 This is the parameter that goes into the path + * @param parameterPath2 This is the parameter that goes into the path + * @param parameterPath3 This is the parameter that goes into the path + * @param _default This is the parameter with a reserved keyword + * @throws ApiError + */ +public static callWithWeirdParameterNames(parameterHeader: string | null, +parameterQuery: string | null, +parameterForm: string | null, +parameterCookie: string | null, +requestBody: ModelWithString | null, +parameterPath1?: string, +parameterPath2?: string, +parameterPath3?: string, +_default?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', + path: { + 'parameter.path.1': parameterPath1, + 'parameter-path-2': parameterPath2, + 'PARAMETER-PATH-3': parameterPath3, + }, + cookies: { + 'PARAMETER-COOKIE': parameterCookie, + }, + headers: { + 'parameter.header': parameterHeader, + }, + query: { + 'default': _default, + 'parameter-query': parameterQuery, + }, + formData: { + 'parameter_form': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param requestBody This is a required parameter + * @param parameter This is an optional parameter + * @throws ApiError + */ +public static getCallWithOptionalParam(requestBody: ModelWithString, +parameter?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * @param parameter This is a required parameter + * @param requestBody This is an optional parameter + * @throws ApiError + */ +public static postCallWithOptionalParam(parameter: Pageable, +requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +} +" +`; +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/RequestBodyService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../../bin/core/CancelablePromise'; +import { OpenAPI } from '../../bin/core/OpenAPI'; +import { request as __request } from '../../bin/core/request'; export class RequestBodyService { - /** * @param parameter This is a reusable parameter * @param requestBody A reusable request body * @throws ApiError */ - public static postApiRequestBody( - parameter?: string, - requestBody?: ModelWithString, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/requestBody/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); - } - + public static postApiRequestBody(parameter?: string, + requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/requestBody/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/ResponseService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/ResponseService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ModelThatExtends } from '../models/ModelThatExtends'; import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; import type { ModelWithString } from '../models/ModelWithString'; - import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class ResponseService { - /** * @returns ModelWithString * @throws ApiError @@ -18270,7 +11101,6 @@ export class ResponseService { url: '/api/v{api-version}/response', }); } - /** * @returns ModelWithString Message for default response * @throws ApiError @@ -18286,7 +11116,6 @@ export class ResponseService { }, }); } - /** * @returns any Message for 200 response * @returns ModelWithString Message for default response @@ -18309,21 +11138,19 @@ export class ResponseService { }, }); } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/SimpleService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/SimpleService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class SimpleService { - /** * @throws ApiError */ @@ -18333,7 +11160,6 @@ export class SimpleService { url: '/api/v{api-version}/simple', }); } - /** * @throws ApiError */ @@ -18343,7 +11169,6 @@ export class SimpleService { url: '/api/v{api-version}/simple', }); } - /** * @throws ApiError */ @@ -18353,7 +11178,6 @@ export class SimpleService { url: '/api/v{api-version}/simple', }); } - /** * @throws ApiError */ @@ -18363,7 +11187,6 @@ export class SimpleService { url: '/api/v{api-version}/simple', }); } - /** * @throws ApiError */ @@ -18373,7 +11196,6 @@ export class SimpleService { url: '/api/v{api-version}/simple', }); } - /** * @throws ApiError */ @@ -18383,7 +11205,6 @@ export class SimpleService { url: '/api/v{api-version}/simple', }); } - /** * @throws ApiError */ @@ -18393,21 +11214,19 @@ export class SimpleService { url: '/api/v{api-version}/simple', }); } - } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/TypesService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/TypesService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class TypesService { - /** * @param parameterArray This is an array parameter * @param parameterDictionary This is a dictionary parameter @@ -18423,65 +11242,60 @@ export class TypesService { * @returns any Response is a simple object * @throws ApiError */ - public static types( - parameterArray: Array | null, - parameterDictionary: Record | null, - parameterEnum: 'Success' | 'Warning' | 'Error' | null, - parameterNumber: number = 123, - parameterString: string | null = 'default', - parameterBoolean: boolean | null = true, - parameterObject: Record | null = null, - id?: number, - ): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/types', - path: { - 'id': id, - }, - query: { - 'parameterNumber': parameterNumber, - 'parameterString': parameterString, - 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, - 'parameterArray': parameterArray, - 'parameterDictionary': parameterDictionary, - 'parameterEnum': parameterEnum, - }, - }); - } - + public static types(parameterArray: Array | null, + parameterDictionary: Record | null, + parameterEnum: 'Success' | 'Warning' | 'Error' | null, + parameterNumber: number = 123, + parameterString: string | null = 'default', + parameterBoolean: boolean | null = true, + parameterObject: Record | null = null, + id?: number, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/types', + path: { + 'id': id, + }, + query: { + 'parameterNumber': parameterNumber, + 'parameterString': parameterString, + 'parameterBoolean': parameterBoolean, + 'parameterObject': parameterObject, + 'parameterArray': parameterArray, + 'parameterDictionary': parameterDictionary, + 'parameterEnum': parameterEnum, + }, + }); +} } " `; -exports[`v3WithCustomCoreLocation should generate: ./test/generated/v3WithCustomCoreLocation/services/UploadService.ts 1`] = ` -"/* istanbul ignore file */ +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/UploadService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { CancelablePromise } from '../../bin/core/CancelablePromise'; import { OpenAPI } from '../../bin/core/OpenAPI'; import { request as __request } from '../../bin/core/request'; - export class UploadService { - /** * @param file Supply a file reference for upload * @returns boolean * @throws ApiError */ - public static uploadFile( - file: Blob, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/upload', - formData: { - 'file': file, - }, - }); - } - + public static uploadFile(file: Blob, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/upload', + formData: { + 'file': file, + }, + }); +} } " `; diff --git a/test/index.spec.ts b/test/index.spec.ts index de790f9ea..f27dba009 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -84,10 +84,32 @@ describe('changeQueryParametersToObj', () => { coreLocation: './test/generated/bin/core', queryAsObject: true, }); - expect(true).toBe(false); - // sync('./test/generated/changeQueryParametersToObj/**/*.ts').forEach(file => { - // const content = readFileSync(file, 'utf8').toString(); - // expect(content).toMatchSnapshot(file); - // }); + sync('./test/generated/changeQueryParametersToObj/**/*.ts').forEach(file => { + const content = readFileSync(file, 'utf8').toString(); + expect(content).toMatchSnapshot(file); + }); + }); +}); + +describe('constEnumValue', () => { + it('should generate', async () => { + await generate({ + input: './test/spec/constEnumValue.yaml', + output: './test/generated/constEnumValue/', + httpClient: HttpClient.FETCH, + useOptions: false, + useUnionTypes: false, + exportCore: true, + exportSchemas: true, + exportModels: true, + exportServices: true, + postfixModels: 'Dto', + coreLocation: './test/generated/bin/core', + queryAsObject: true, + }); + sync('./test/generated/constEnumValue/**/*.ts').forEach(file => { + const content = readFileSync(file, 'utf8').toString(); + expect(content).toMatchSnapshot(file); + }); }); }); diff --git a/test/spec/constEnumValue.yaml b/test/spec/constEnumValue.yaml new file mode 100644 index 000000000..06cba742f --- /dev/null +++ b/test/spec/constEnumValue.yaml @@ -0,0 +1,54 @@ +openapi: 3.0.0 +info: + version: 1.0.0 + title: thing API + description: An API for Everything . +paths: + /thing: + get: + operationId: GetAllThings + responses: + '200': + description: Get All Things + content: + application/json: + schema: + $ref: '#/components/schemas/responseObj' +components: + schemas: + responseObj: + type: object + required: + - control + - data + properties: + control: + type: string + enum: + - thing1 + x-enum-const-value: + value: thing1 + type: + $ref: '#/components/schemas/thingsEnum' + data: + $ref: '#/components/schemas/thingObj' + thingObj: + type: object + required: + - name + - createdAt + - updatedAt + properties: + name: + type: string + createdAt: + type: string + updatedAt: + type: string + + thingsEnum: + type: string + enum: + - thing1 + - alsoThing2 + - megaThing3 From 7cbbd28333ce53166cb39bafedb4da91442074bd Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 26 Mar 2024 12:07:28 +0000 Subject: [PATCH 60/70] 1.2.4 --- package-lock.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index b2c775729..fe8225eff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.3", + "version": "1.2.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.3", + "version": "1.2.4", "license": "MIT", "dependencies": { "@apidevtools/json-schema-ref-parser": "^11.5.4", diff --git a/package.json b/package.json index 418ea6f5b..c211d4bef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.3", + "version": "1.2.4", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { @@ -125,4 +125,4 @@ "node-fetch": "2.7.0", "rollup": "4.13.0" } -} \ No newline at end of file +} From 572199cf4eb991d9777ddecb1df9f909afe3945b Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 16 Apr 2024 20:23:16 +0100 Subject: [PATCH 61/70] Update prune and all-of --- src/openApi/v3/index.ts | 4 +- src/openApi/v3/parser/getModel.ts | 41 +- src/openApi/v3/parser/pruneModels.ts | 31 + test/__snapshots__/index.spec.ts.snap | 7447 +++++-------------------- test/index.spec.ts | 29 +- test/spec/allOfCombined.yaml | 58 + 6 files changed, 1575 insertions(+), 6035 deletions(-) create mode 100644 src/openApi/v3/parser/pruneModels.ts create mode 100644 test/spec/allOfCombined.yaml diff --git a/src/openApi/v3/index.ts b/src/openApi/v3/index.ts index 9dbdadb34..79035548a 100644 --- a/src/openApi/v3/index.ts +++ b/src/openApi/v3/index.ts @@ -4,6 +4,7 @@ import { getModels } from './parser/getModels'; import { getServer } from './parser/getServer'; import { getServices } from './parser/getServices'; import { getServiceVersion } from './parser/getServiceVersion'; +import { pruneModels } from './parser/pruneModels'; /** * Parse the OpenAPI specification to a Client model that contains @@ -16,5 +17,6 @@ export const parse = (openApi: OpenApi): Client => { const models = getModels(openApi); const services = getServices(openApi); - return { version, server, models, services }; + const prunedModels = pruneModels(models, services); + return { version, server, models: prunedModels, services }; }; diff --git a/src/openApi/v3/parser/getModel.ts b/src/openApi/v3/parser/getModel.ts index 877023b50..37692b602 100644 --- a/src/openApi/v3/parser/getModel.ts +++ b/src/openApi/v3/parser/getModel.ts @@ -7,6 +7,7 @@ import { getEnum } from './getEnum'; import { getModelComposition } from './getModelComposition'; import { getModelDefault } from './getModelDefault'; import { getModelProperties } from './getModelProperties'; +import { getRef } from './getRef'; import { getType } from './getType'; export const getModel = ( @@ -162,11 +163,41 @@ export const getModel = ( } if (definition.allOf?.length) { - const composition = getModelComposition(openApi, definition, definition.allOf, 'all-of', getModel); - model.export = composition.type; - model.imports.push(...composition.imports); - model.properties.push(...composition.properties); - model.enums.push(...composition.enums); + // const composition = getModelComposition(openApi, definition, definition.allOf, 'all-of', getModel); + // model.export = composition.type; + // model.imports.push(...composition.imports); + // model.properties.push(...composition.properties); + // model.enums.push(...composition.enums); + model.export = 'interface'; + model.type = 'any'; + model.base = 'any'; + model.default = getModelDefault(definition, model); + + definition.allOf.forEach((def, index) => { + if (def.$ref) { + const ref = getRef(openApi, def); + // const refModel = getModel(openApi, ref); + const refProperties = getModelProperties(openApi, ref, getModel, model); + refProperties.forEach(modelProperty => { + model.imports.push(...modelProperty.imports); + model.enums.push(...modelProperty.enums); + model.properties.push(modelProperty); + if (modelProperty.export === 'enum') { + model.enums.push(modelProperty); + } + }); + } else { + const refProperties = getModelProperties(openApi, def, getModel, model); + refProperties.forEach(modelProperty => { + model.imports.push(...modelProperty.imports); + model.enums.push(...modelProperty.enums); + model.properties.push(modelProperty); + if (modelProperty.export === 'enum') { + model.enums.push(modelProperty); + } + }); + } + }); return model; } diff --git a/src/openApi/v3/parser/pruneModels.ts b/src/openApi/v3/parser/pruneModels.ts new file mode 100644 index 000000000..6a250d669 --- /dev/null +++ b/src/openApi/v3/parser/pruneModels.ts @@ -0,0 +1,31 @@ +import { Model } from '../../../client/interfaces/Model'; +import { Service } from '../../../client/interfaces/Service'; + +export const pruneModels = (models: Model[], services: Service[]) => { + let removedModels = 1; + while (removedModels > 0) { + removedModels = 0; + const removeModNames: string[] = []; + for (const mod of models) { + let useful = false; + for (const serv of services) { + if (serv.imports.includes(mod.name)) { + useful = true; + break; + } + } + if (!useful) { + removeModNames.push(mod.name); + } + } + + models = models.filter(mod => { + if (removeModNames.includes(mod.name)) { + removedModels += 1; + return false; + } + return true; + }); + } + return models; +}; diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index a50129f78..b6acdfb41 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -1,76 +1,133 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/index.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/index.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export { orderByOrderQuery as orderByOrderQueryDto } from './models/orderByOrderQuery'; -export { orderByQuery as orderByQueryDto } from './models/orderByQuery'; +export { paramTypeEnum1 as paramTypeEnum1Dto } from './models/paramTypeEnum1'; +export type { responseObj as responseObjDto } from './models/responseObj'; -export { $orderByOrderQuery } from './schemas/$orderByOrderQuery'; -export { $orderByQuery } from './schemas/$orderByQuery'; +export { $paramTypeEnum1 } from './schemas/$paramTypeEnum1'; +export { $responseObj } from './schemas/$responseObj'; export { DefaultService } from './services/DefaultService'; " `; -exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/models/orderByOrderQuery.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/paramTypeEnum1.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export enum orderByOrderQuery { - ASC = 'asc', - DESC = 'desc', +export enum paramTypeEnum1 { + TYPE1 = 'type1', + TYPE2 = 'type2', + TYPE3 = 'type3', } " `; -exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/models/orderByQuery.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/responseObj.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export enum orderByQuery { - NAME = 'name', - CREATED_AT = 'createdAt', - UPDATED_AT = 'updatedAt', -} +export type responseObj = { + property1: string; + property2: string; +}; + " `; -exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/schemas/$orderByOrderQuery.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$paramTypeEnum1.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $orderByOrderQuery = { +export const $paramTypeEnum1 = { type: 'Enum', } as const; " `; -exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/schemas/$orderByQuery.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$responseObj.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $orderByQuery = { - type: 'Enum', +export const $responseObj = { + properties: { + property1: { + type: 'string', + isRequired: true, + }, + property2: { + type: 'string', + isRequired: true, + }, + }, } as const; " `; +exports[`allOfCombined should generate: test/generated/allOfCombined/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { paramTypeEnum1 } from '../models/paramTypeEnum1'; +import type { responseObj } from '../models/responseObj'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class DefaultService { + /** + * queryObj = { + * @param paramQuery1 + * @param paramQuery2 + * } + * @returns responseObj Get All Things + * @throws ApiError + */ + public static getAllThings(queryObj?:{ + paramQuery1?: paramTypeEnum1, + paramQuery2?: string, + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/thing', + query: queryObj? { + 'paramQuery1': queryObj.paramQuery1, + 'paramQuery2': queryObj.paramQuery2, + }: undefined, + }); + } +} +" +`; + +exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/index.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export { DefaultService } from './services/DefaultService'; +" +`; + exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/services/DefaultService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class DefaultService { /** * queryObj = { @@ -105,12 +162,8 @@ exports[`constEnumValue should generate: test/generated/constEnumValue/index.ts /* eslint-disable */ export type { responseObj as responseObjDto } from './models/responseObj'; -export type { thingObj as thingObjDto } from './models/thingObj'; -export { thingsEnum as thingsEnumDto } from './models/thingsEnum'; export { $responseObj } from './schemas/$responseObj'; -export { $thingObj } from './schemas/$thingObj'; -export { $thingsEnum } from './schemas/$thingsEnum'; export { DefaultService } from './services/DefaultService'; " @@ -131,33 +184,6 @@ export type responseObj = { " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingObj.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type thingObj = { - name: string; - createdAt: string; - updatedAt: string; -}; - -" -`; - -exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingsEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export enum thingsEnum { - THING1 = 'thing1', - ALSO_THING2 = 'alsoThing2', - MEGA_THING3 = 'megaThing3', -} -" -`; - exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$responseObj.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ @@ -178,50 +204,15 @@ export const $responseObj = { " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingObj.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $thingObj = { - properties: { - name: { - type: 'string', - isRequired: true, - }, - createdAt: { - type: 'string', - isRequired: true, - }, - updatedAt: { - type: 'string', - isRequired: true, - }, - }, -} as const; -" -`; - -exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingsEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $thingsEnum = { - type: 'Enum', -} as const; -" -`; - exports[`constEnumValue should generate: test/generated/constEnumValue/services/DefaultService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { responseObj } from '../models/responseObj'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class DefaultService { /** * @returns responseObj Get All Things @@ -3894,145 +3885,23 @@ export { CancelablePromise, CancelError } from './core/CancelablePromise'; export { OpenAPI } from './core/OpenAPI'; export type { OpenAPIConfig } from './core/OpenAPI'; -export type { _default } from './models/_default'; -export type { ArrayWithArray } from './models/ArrayWithArray'; -export type { ArrayWithBooleans } from './models/ArrayWithBooleans'; -export type { ArrayWithNumbers } from './models/ArrayWithNumbers'; -export type { ArrayWithProperties } from './models/ArrayWithProperties'; -export type { ArrayWithReferences } from './models/ArrayWithReferences'; -export type { ArrayWithStrings } from './models/ArrayWithStrings'; -export type { CommentWithBackticks } from './models/CommentWithBackticks'; -export type { CommentWithBreaks } from './models/CommentWithBreaks'; -export type { CommentWithExpressionPlaceholders } from './models/CommentWithExpressionPlaceholders'; -export type { CommentWithQuotes } from './models/CommentWithQuotes'; -export type { CommentWithReservedCharacters } from './models/CommentWithReservedCharacters'; -export type { CommentWithSlashes } from './models/CommentWithSlashes'; -export type { CompositionBaseModel } from './models/CompositionBaseModel'; -export type { CompositionExtendedModel } from './models/CompositionExtendedModel'; -export type { CompositionWithAllOfAndNullable } from './models/CompositionWithAllOfAndNullable'; -export type { CompositionWithAnyOf } from './models/CompositionWithAnyOf'; -export type { CompositionWithAnyOfAndNullable } from './models/CompositionWithAnyOfAndNullable'; -export type { CompositionWithAnyOfAnonymous } from './models/CompositionWithAnyOfAnonymous'; -export type { CompositionWithOneOf } from './models/CompositionWithOneOf'; -export type { CompositionWithOneOfAndComplexArrayDictionary } from './models/CompositionWithOneOfAndComplexArrayDictionary'; -export type { CompositionWithOneOfAndNullable } from './models/CompositionWithOneOfAndNullable'; -export type { CompositionWithOneOfAndSimpleArrayDictionary } from './models/CompositionWithOneOfAndSimpleArrayDictionary'; -export type { CompositionWithOneOfAndSimpleDictionary } from './models/CompositionWithOneOfAndSimpleDictionary'; -export type { CompositionWithOneOfAnonymous } from './models/CompositionWithOneOfAnonymous'; -export type { CompositionWithOneOfDiscriminator } from './models/CompositionWithOneOfDiscriminator'; export type { DeprecatedModel } from './models/DeprecatedModel'; -export type { DictionaryWithArray } from './models/DictionaryWithArray'; -export type { DictionaryWithDictionary } from './models/DictionaryWithDictionary'; -export type { DictionaryWithProperties } from './models/DictionaryWithProperties'; -export type { DictionaryWithReference } from './models/DictionaryWithReference'; -export type { DictionaryWithString } from './models/DictionaryWithString'; -export type { EnumFromDescription } from './models/EnumFromDescription'; -export { EnumWithExtensions } from './models/EnumWithExtensions'; -export { EnumWithNumbers } from './models/EnumWithNumbers'; -export { EnumWithStrings } from './models/EnumWithStrings'; -export type { File } from './models/File'; -export type { FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export type { FreeFormObjectWithAdditionalPropertiesEqTrue } from './models/FreeFormObjectWithAdditionalPropertiesEqTrue'; -export type { FreeFormObjectWithoutAdditionalProperties } from './models/FreeFormObjectWithoutAdditionalProperties'; -export type { ModelCircle } from './models/ModelCircle'; -export type { ModelSquare } from './models/ModelSquare'; export type { ModelThatExtends } from './models/ModelThatExtends'; export type { ModelThatExtendsExtends } from './models/ModelThatExtendsExtends'; export type { ModelWithArray } from './models/ModelWithArray'; -export type { ModelWithBoolean } from './models/ModelWithBoolean'; -export type { ModelWithCircularReference } from './models/ModelWithCircularReference'; export type { ModelWithDictionary } from './models/ModelWithDictionary'; -export type { ModelWithDuplicateImports } from './models/ModelWithDuplicateImports'; -export type { ModelWithDuplicateProperties } from './models/ModelWithDuplicateProperties'; export { ModelWithEnum } from './models/ModelWithEnum'; -export type { ModelWithEnumFromDescription } from './models/ModelWithEnumFromDescription'; -export type { ModelWithInteger } from './models/ModelWithInteger'; -export type { ModelWithNestedEnums } from './models/ModelWithNestedEnums'; -export type { ModelWithNestedProperties } from './models/ModelWithNestedProperties'; -export type { ModelWithNullableString } from './models/ModelWithNullableString'; -export type { ModelWithOrderedProperties } from './models/ModelWithOrderedProperties'; -export type { ModelWithPattern } from './models/ModelWithPattern'; -export type { ModelWithProperties } from './models/ModelWithProperties'; -export type { ModelWithReference } from './models/ModelWithReference'; export type { ModelWithString } from './models/ModelWithString'; export type { Pageable } from './models/Pageable'; -export type { SimpleBoolean } from './models/SimpleBoolean'; -export type { SimpleFile } from './models/SimpleFile'; -export type { SimpleInteger } from './models/SimpleInteger'; -export type { SimpleParameter } from './models/SimpleParameter'; -export type { SimpleReference } from './models/SimpleReference'; -export type { SimpleString } from './models/SimpleString'; -export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern'; -export { $_default } from './schemas/$_default'; -export { $ArrayWithArray } from './schemas/$ArrayWithArray'; -export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; -export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; -export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; -export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; -export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; -export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; -export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; -export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; -export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; -export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; -export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; -export { $CompositionBaseModel } from './schemas/$CompositionBaseModel'; -export { $CompositionExtendedModel } from './schemas/$CompositionExtendedModel'; -export { $CompositionWithAllOfAndNullable } from './schemas/$CompositionWithAllOfAndNullable'; -export { $CompositionWithAnyOf } from './schemas/$CompositionWithAnyOf'; -export { $CompositionWithAnyOfAndNullable } from './schemas/$CompositionWithAnyOfAndNullable'; -export { $CompositionWithAnyOfAnonymous } from './schemas/$CompositionWithAnyOfAnonymous'; -export { $CompositionWithOneOf } from './schemas/$CompositionWithOneOf'; -export { $CompositionWithOneOfAndComplexArrayDictionary } from './schemas/$CompositionWithOneOfAndComplexArrayDictionary'; -export { $CompositionWithOneOfAndNullable } from './schemas/$CompositionWithOneOfAndNullable'; -export { $CompositionWithOneOfAndSimpleArrayDictionary } from './schemas/$CompositionWithOneOfAndSimpleArrayDictionary'; -export { $CompositionWithOneOfAndSimpleDictionary } from './schemas/$CompositionWithOneOfAndSimpleDictionary'; -export { $CompositionWithOneOfAnonymous } from './schemas/$CompositionWithOneOfAnonymous'; -export { $CompositionWithOneOfDiscriminator } from './schemas/$CompositionWithOneOfDiscriminator'; export { $DeprecatedModel } from './schemas/$DeprecatedModel'; -export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; -export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; -export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; -export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; -export { $DictionaryWithString } from './schemas/$DictionaryWithString'; -export { $EnumFromDescription } from './schemas/$EnumFromDescription'; -export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; -export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; -export { $EnumWithStrings } from './schemas/$EnumWithStrings'; -export { $File } from './schemas/$File'; -export { $FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export { $FreeFormObjectWithAdditionalPropertiesEqTrue } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue'; -export { $FreeFormObjectWithoutAdditionalProperties } from './schemas/$FreeFormObjectWithoutAdditionalProperties'; -export { $ModelCircle } from './schemas/$ModelCircle'; -export { $ModelSquare } from './schemas/$ModelSquare'; export { $ModelThatExtends } from './schemas/$ModelThatExtends'; export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; export { $ModelWithArray } from './schemas/$ModelWithArray'; -export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; -export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; -export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; -export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; export { $ModelWithEnum } from './schemas/$ModelWithEnum'; -export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; -export { $ModelWithInteger } from './schemas/$ModelWithInteger'; -export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; -export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; -export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; -export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; -export { $ModelWithPattern } from './schemas/$ModelWithPattern'; -export { $ModelWithProperties } from './schemas/$ModelWithProperties'; -export { $ModelWithReference } from './schemas/$ModelWithReference'; export { $ModelWithString } from './schemas/$ModelWithString'; export { $Pageable } from './schemas/$Pageable'; -export { $SimpleBoolean } from './schemas/$SimpleBoolean'; -export { $SimpleFile } from './schemas/$SimpleFile'; -export { $SimpleInteger } from './schemas/$SimpleInteger'; -export { $SimpleParameter } from './schemas/$SimpleParameter'; -export { $SimpleReference } from './schemas/$SimpleReference'; -export { $SimpleString } from './schemas/$SimpleString'; -export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; export { CollectionFormatService } from './services/CollectionFormatService'; export { ComplexService } from './services/ComplexService'; @@ -4058,6105 +3927,1718 @@ export { UploadService } from './services/UploadService'; " `; -exports[`v3 should generate: test/generated/v3/models/_default.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/DeprecatedModel.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type _default = { - name?: string; +/** + * This is a deprecated model with a deprecated property + * @deprecated + */ +export type DeprecatedModel = { + /** + * This is a deprecated property + * @deprecated + */ + prop?: string; }; " `; -exports[`v3 should generate: test/generated/v3/models/ArrayWithArray.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ModelThatExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from './ModelWithString'; /** - * This is a simple array containing an array + * This is a model that extends another model */ -export type ArrayWithArray = Array>; -" -`; +export type ModelThatExtends = { + /** + * This is a simple string property + */ + prop?: string; + propExtendsA?: string; + propExtendsB?: ModelWithString; +}; -exports[`v3 should generate: test/generated/v3/models/ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with booleans - */ -export type ArrayWithBooleans = Array; " `; -exports[`v3 should generate: test/generated/v3/models/ArrayWithNumbers.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ModelThatExtendsExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; /** - * This is a simple array with numbers + * This is a model that extends another model */ -export type ArrayWithNumbers = Array; +export type ModelThatExtendsExtends = { + /** + * This is a simple string property + */ + prop?: string; + propExtendsC?: string; + propExtendsD?: ModelWithString; +}; + " `; -exports[`v3 should generate: test/generated/v3/models/ArrayWithProperties.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ModelWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { ModelWithString } from './ModelWithString'; /** - * This is a simple array with properties + * This is a model with one property containing an array */ -export type ArrayWithProperties = Array<{ - foo?: string; - bar?: string; -}>; +export type ModelWithArray = { + prop?: Array; + propWithFile?: Array; + propWithNumber?: Array; +}; + " `; -exports[`v3 should generate: test/generated/v3/models/ArrayWithReferences.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ModelWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; /** - * This is a simple array with references + * This is a model with one property containing a dictionary */ -export type ArrayWithReferences = Array; +export type ModelWithDictionary = { + prop?: Record; +}; + " `; -exports[`v3 should generate: test/generated/v3/models/ArrayWithStrings.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ModelWithEnum.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ /** - * This is a simple array with strings + * This is a model with one enum */ -export type ArrayWithStrings = Array; -" -`; +export type ModelWithEnum = { + /** + * This is a simple enum with strings + */ + test?: ModelWithEnum.test; + /** + * These are the HTTP error code enums + */ + statusCode?: ModelWithEnum.statusCode; + /** + * Simple boolean enum + */ + bool?: boolean; +}; +export namespace ModelWithEnum { + /** + * This is a simple enum with strings + */ + export enum test { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + } + /** + * These are the HTTP error code enums + */ + export enum statusCode { + _100 = '100', + _200_FOO = '200 FOO', + _300_FOO_BAR = '300 FOO_BAR', + _400_FOO_BAR = '400 foo-bar', + _500_FOO_BAR = '500 foo.bar', + _600_FOO_BAR = '600 foo&bar', + } +} + +" +`; -exports[`v3 should generate: test/generated/v3/models/CommentWithBackticks.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/ModelWithString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ /** - * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + * This is a model with one string property */ -export type CommentWithBackticks = number; +export type ModelWithString = { + /** + * This is a simple string property + */ + prop?: string; +}; + " `; -exports[`v3 should generate: test/generated/v3/models/CommentWithBreaks.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/models/Pageable.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing multiline comments in string: First line - * Second line - * - * Fourth line - */ -export type CommentWithBreaks = number; +export type Pageable = { + page?: number; + size?: number; + sort?: Array; +}; + " `; -exports[`v3 should generate: test/generated/v3/models/CommentWithExpressionPlaceholders.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$DeprecatedModel.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing expression placeholders in string: \${expression} should work - */ -export type CommentWithExpressionPlaceholders = number; +export const $DeprecatedModel = { + description: \`This is a deprecated model with a deprecated property\`, + properties: { + prop: { + type: 'string', + description: \`This is a deprecated property\`, + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CommentWithQuotes.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$ModelThatExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing quotes in string: 'single quote''' and "double quotes""" should work - */ -export type CommentWithQuotes = number; +export const $ModelThatExtends = { + description: \`This is a model that extends another model\`, + properties: { + prop: { + type: 'string', + description: \`This is a simple string property\`, + }, + propExtendsA: { + type: 'string', + }, + propExtendsB: { + type: 'ModelWithString', + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CommentWithReservedCharacters.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$ModelThatExtendsExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing reserved characters in string: * inline * and ** inline ** should work - */ -export type CommentWithReservedCharacters = number; +export const $ModelThatExtendsExtends = { + description: \`This is a model that extends another model\`, + properties: { + prop: { + type: 'string', + description: \`This is a simple string property\`, + }, + propExtendsC: { + type: 'string', + }, + propExtendsD: { + type: 'ModelWithString', + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CommentWithSlashes.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$ModelWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - */ -export type CommentWithSlashes = number; +export const $ModelWithArray = { + description: \`This is a model with one property containing an array\`, + properties: { + prop: { + type: 'array', + contains: { + type: 'ModelWithString', + }, + }, + propWithFile: { + type: 'array', + contains: { + type: 'binary', + }, + }, + propWithNumber: { + type: 'array', + contains: { + type: 'number', + }, + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CompositionBaseModel.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$ModelWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a base model with two simple optional properties - */ -export type CompositionBaseModel = { - firstName?: string; - lastname?: string; -}; - +export const $ModelWithDictionary = { + description: \`This is a model with one property containing a dictionary\`, + properties: { + prop: { + type: 'dictionary', + contains: { + type: 'string', + }, + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CompositionExtendedModel.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$ModelWithEnum.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CompositionBaseModel } from './CompositionBaseModel'; -/** - * This is a model that extends the base model - */ -export type CompositionExtendedModel = (CompositionBaseModel & { - firstName: string; - lastname: string; - age: number; -}); - +export const $ModelWithEnum = { + description: \`This is a model with one enum\`, + properties: { + test: { + type: 'Enum', + }, + statusCode: { + type: 'Enum', + }, + bool: { + type: 'boolean', + description: \`Simple boolean enum\`, + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithAllOfAndNullable.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$ModelWithString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'all of' relationship - */ -export type CompositionWithAllOfAndNullable = { - propA?: ({ - boolean?: boolean; - } & ModelWithEnum & ModelWithArray & ModelWithDictionary) | null; -}; - +export const $ModelWithString = { + description: \`This is a model with one string property\`, + properties: { + prop: { + type: 'string', + description: \`This is a simple string property\`, + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithAnyOf.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/schemas/$Pageable.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property with a 'any of' relationship - */ -export type CompositionWithAnyOf = { - propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); -}; - +export const $Pageable = { + properties: { + page: { + type: 'number', + format: 'int32', + }, + size: { + type: 'number', + format: 'int32', + minimum: 1, + }, + sort: { + type: 'array', + contains: { + type: 'string', + }, + }, + }, +} as const; " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithAnyOfAndNullable.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/CollectionFormatService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'any of' relationship - */ -export type CompositionWithAnyOfAndNullable = { - propA?: ({ - boolean?: boolean; - } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; -}; - +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class CollectionFormatService { + /** + * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) + * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) + * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) + * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) + * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) + * @throws ApiError + */ + public static collectionFormat(parameterArrayCsv: Array | null, + parameterArraySsv: Array | null, + parameterArrayTsv: Array | null, + parameterArrayPipes: Array | null, + parameterArrayMulti: Array | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/collectionFormat', + query: { + 'parameterArrayCSV': parameterArrayCsv, + 'parameterArraySSV': parameterArraySsv, + 'parameterArrayTSV': parameterArrayTsv, + 'parameterArrayPipes': parameterArrayPipes, + 'parameterArrayMulti': parameterArrayMulti, + }, + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithAnyOfAnonymous.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/ComplexService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one property with a 'any of' relationship where the options are not $ref - */ -export type CompositionWithAnyOfAnonymous = { - propA?: ({ - propA?: string; - } | string | number); -}; - +import type { ModelWithArray } from '../models/ModelWithArray'; +import type { ModelWithDictionary } from '../models/ModelWithDictionary'; +import type { ModelWithEnum } from '../models/ModelWithEnum'; +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ComplexService { + /** + * @param parameterObject Parameter containing object + * @param parameterReference Parameter containing reference + * @returns ModelWithString Successful response + * @throws ApiError + */ + public static complexTypes(parameterObject: { + first?: { + second?: { + third?: string; + }; + }; + }, + parameterReference: ModelWithString, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/complex', + query: { + 'parameterObject': parameterObject, + 'parameterReference': parameterReference, + }, + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); +} +/** + * @param id + * @param requestBody + * @returns ModelWithString Success + * @throws ApiError + */ +public static complexParams(id: number, +requestBody?: { + readonly key: string | null; + name: string | null; + enabled?: boolean; + readonly type: 'Monkey' | 'Horse' | 'Bird'; + listOfModels?: Array | null; + listOfStrings?: Array | null; + parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); + readonly user?: { + readonly id?: number; + readonly name?: string | null; + }; +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/complex/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json-patch+json', + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithOneOf.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/DefaultService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property with a 'one of' relationship - */ -export type CompositionWithOneOf = { - propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); -}; - +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DefaultService { + /** + * @throws ApiError + */ + public static serviceWithEmptyTag(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-tag', + }); + } +} " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/DefaultsService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DefaultsService { + /** + * @param parameterString This is a simple string with default value + * @param parameterNumber This is a simple number with default value + * @param parameterBoolean This is a simple boolean with default value + * @param parameterEnum This is a simple enum with default value + * @param parameterModel This is a simple model with default value + * @throws ApiError + */ + public static callWithDefaultParameters(parameterString: string | null = 'Hello World!', + parameterNumber: number | null = 123, + parameterBoolean: boolean | null = true, + parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', + parameterModel: ModelWithString | null = { + "prop": "Hello World!" + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} +/** + * @param parameterString This is a simple string that is optional with default value + * @param parameterNumber This is a simple number that is optional with default value + * @param parameterBoolean This is a simple boolean that is optional with default value + * @param parameterEnum This is a simple enum that is optional with default value + * @param parameterModel This is a simple model that is optional with default value + * @throws ApiError + */ +public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', +parameterNumber: number = 123, +parameterBoolean: boolean = true, +parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', +parameterModel: ModelWithString = { + "prop": "Hello World!" +}, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/defaults', + query: { + 'parameterString': parameterString, + 'parameterNumber': parameterNumber, + 'parameterBoolean': parameterBoolean, + 'parameterEnum': parameterEnum, + 'parameterModel': parameterModel, + }, + }); +} /** - * This is a model that contains a dictionary of complex arrays (composited) within composition + * @param parameterStringWithNoDefault This is a string with no default + * @param parameterOptionalStringWithDefault This is a optional string with default + * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default + * @param parameterOptionalStringWithNoDefault This is a optional string with no default + * @param parameterStringWithDefault This is a string with default + * @param parameterStringWithEmptyDefault This is a string with empty default + * @param parameterStringNullableWithNoDefault This is a string that can be null with no default + * @param parameterStringNullableWithDefault This is a string that can be null with default + * @throws ApiError */ -export type CompositionWithOneOfAndComplexArrayDictionary = { - propA?: (boolean | Record>); -}; - +public static callToTestOrderOfParams(parameterStringWithNoDefault: string, +parameterOptionalStringWithDefault: string = 'Hello World!', +parameterOptionalStringWithEmptyDefault: string = '', +parameterOptionalStringWithNoDefault?: string, +parameterStringWithDefault: string = 'Hello World!', +parameterStringWithEmptyDefault: string = '', +parameterStringNullableWithNoDefault?: string | null, +parameterStringNullableWithDefault: string | null = null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/defaults', + query: { + 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, + 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, + 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, + 'parameterStringWithDefault': parameterStringWithDefault, + 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, + 'parameterStringWithNoDefault': parameterStringWithNoDefault, + 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, + 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, + }, + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithOneOfAndNullable.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/DeprecatedService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'one of' relationship - */ -export type CompositionWithOneOfAndNullable = { - propA?: ({ - boolean?: boolean; - } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; -}; - +import type { DeprecatedModel } from '../models/DeprecatedModel'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DeprecatedService { + /** + * @deprecated + * @param parameter This parameter is deprecated + * @throws ApiError + */ + public static deprecatedCall(parameter: DeprecatedModel | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/deprecated', + headers: { + 'parameter': parameter, + }, + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/DescriptionsService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model that contains a dictionary of simple arrays within composition - */ -export type CompositionWithOneOfAndSimpleArrayDictionary = { - propA?: (boolean | Record>); -}; - +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DescriptionsService { + /** + * @param parameterWithBreaks Testing multiline comments in string: First line + * Second line + * + * Fourth line + * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work + * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work + * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work + * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work + * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work + * @throws ApiError + */ + public static callWithDescriptions(parameterWithBreaks?: any, + parameterWithBackticks?: any, + parameterWithSlashes?: any, + parameterWithExpressionPlaceholders?: any, + parameterWithQuotes?: any, + parameterWithReservedCharacters?: any, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/descriptions/', + query: { + 'parameterWithBreaks': parameterWithBreaks, + 'parameterWithBackticks': parameterWithBackticks, + 'parameterWithSlashes': parameterWithSlashes, + 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, + 'parameterWithQuotes': parameterWithQuotes, + 'parameterWithReservedCharacters': parameterWithReservedCharacters, + }, + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/DuplicateService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model that contains a simple dictionary within composition - */ -export type CompositionWithOneOfAndSimpleDictionary = { - propA?: (boolean | Record); -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/CompositionWithOneOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property with a 'one of' relationship where the options are not $ref - */ -export type CompositionWithOneOfAnonymous = { - propA?: ({ - propA?: string; - } | string | number); -}; - +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class DuplicateService { + /** + * @throws ApiError + */ + public static duplicateName(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName1(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName2(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/duplicate', + }); + } + /** + * @throws ApiError + */ + public static duplicateName3(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/duplicate', + }); + } +} " `; -exports[`v3 should generate: test/generated/v3/models/CompositionWithOneOfDiscriminator.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/ErrorService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelCircle } from './ModelCircle'; -import type { ModelSquare } from './ModelSquare'; -/** - * This is a model with one property with a 'one of' relationship where the options are not $ref - */ -export type CompositionWithOneOfDiscriminator = (ModelCircle | ModelSquare); - +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ErrorService { + /** + * @param status Status code to return + * @returns any Custom message: Successful response + * @throws ApiError + */ + public static testErrorCode(status: number, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/error', + query: { + 'status': status, + }, + errors: { + 500: \`Custom message: Internal Server Error\`, + 501: \`Custom message: Not Implemented\`, + 502: \`Custom message: Bad Gateway\`, + 503: \`Custom message: Service Unavailable\`, + }, + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/DeprecatedModel.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/FormDataService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a deprecated model with a deprecated property - * @deprecated - */ -export type DeprecatedModel = { +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class FormDataService { /** - * This is a deprecated property - * @deprecated + * @param parameter This is a reusable parameter + * @param formData A reusable request body + * @throws ApiError */ - prop?: string; -}; - + public static postApiFormData(parameter?: string, + formData?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/formData/', + query: { + 'parameter': parameter, + }, + formData: formData, + mediaType: 'multipart/form-data', + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/DictionaryWithArray.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/HeaderService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a complex dictionary - */ -export type DictionaryWithArray = Record>; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class HeaderService { + /** + * @returns string Successful response + * @throws ApiError + */ + public static callWithResultFromHeader(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/header', + responseHeader: 'operation-location', + errors: { + 400: \`400 server error\`, + 500: \`500 server error\`, + }, + }); + } +} " `; -exports[`v3 should generate: test/generated/v3/models/DictionaryWithDictionary.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/MultipartService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipartService { + /** + * @param formData + * @throws ApiError + */ + public static multipartRequest(formData?: { + content?: Blob; + data?: ModelWithString | null; + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/multipart', + formData: formData, + mediaType: 'multipart/form-data', + }); +} /** - * This is a string dictionary + * @returns any OK + * @throws ApiError */ -export type DictionaryWithDictionary = Record>; +public static multipartResponse(): CancelablePromise<{ + file?: Blob; + metadata?: { + foo?: string; + bar?: string; + }; +}> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multipart', + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/DictionaryWithProperties.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/MultipleTags1Service.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a complex dictionary - */ -export type DictionaryWithProperties = Record; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags1Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} " `; -exports[`v3 should generate: test/generated/v3/models/DictionaryWithReference.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/MultipleTags2Service.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a string reference - */ -export type DictionaryWithReference = Record; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags2Service { + /** + * @returns void + * @throws ApiError + */ + public static dummyA(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/a', + }); + } + /** + * @returns void + * @throws ApiError + */ + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } +} " `; -exports[`v3 should generate: test/generated/v3/models/DictionaryWithString.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/MultipleTags3Service.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithString = Record; -" -`; - -exports[`v3 should generate: test/generated/v3/models/EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Success=1,Warning=2,Error=3 - */ -export type EnumFromDescription = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithExtensions { - /** - * Used when the status of something is successful - */ - CUSTOM_SUCCESS = 200, - /** - * Used when the status of something has a warning - */ - CUSTOM_WARNING = 400, +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class MultipleTags3Service { /** - * Used when the status of something has an error + * @returns void + * @throws ApiError */ - CUSTOM_ERROR = 500, + public static dummyB(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/multiple-tags/b', + }); + } } " `; -exports[`v3 should generate: test/generated/v3/models/EnumWithNumbers.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/NoContentService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithNumbers { - '_1' = 1, - '_2' = 2, - '_3' = 3, - '_1.1' = 1.1, - '_1.2' = 1.2, - '_1.3' = 1.3, - '_100' = 100, - '_200' = 200, - '_300' = 300, - '_-100' = -100, - '_-200' = -200, - '_-300' = -300, - '_-1.1' = -1.1, - '_-1.2' = -1.2, - '_-1.3' = -1.3, +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class NoContentService { + /** + * @returns void + * @throws ApiError + */ + public static callWithNoContentResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/no-content', + }); + } } " `; -exports[`v3 should generate: test/generated/v3/models/EnumWithStrings.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/ParametersService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { ModelWithString } from '../models/ModelWithString'; +import type { Pageable } from '../models/Pageable'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ParametersService { + /** + * @param parameterHeader This is the parameter that goes into the header + * @param parameterQuery This is the parameter that goes into the query params + * @param parameterForm This is the parameter that goes into the form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param parameterPath This is the parameter that goes into the path + * @param requestBody This is the parameter that goes into the body + * @throws ApiError + */ + public static callWithParameters(parameterHeader: string | null, + parameterQuery: string | null, + parameterForm: string | null, + parameterCookie: string | null, + parameterPath: string | null, + requestBody: ModelWithString | null, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameterPath}', + path: { + 'parameterPath': parameterPath, + }, + cookies: { + 'parameterCookie': parameterCookie, + }, + headers: { + 'parameterHeader': parameterHeader, + }, + query: { + 'parameterQuery': parameterQuery, + }, + formData: { + 'parameterForm': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); +} /** - * This is a simple enum with strings + * @param parameterHeader This is the parameter that goes into the request header + * @param parameterQuery This is the parameter that goes into the request query params + * @param parameterForm This is the parameter that goes into the request form data + * @param parameterCookie This is the parameter that goes into the cookie + * @param requestBody This is the parameter that goes into the body + * @param parameterPath1 This is the parameter that goes into the path + * @param parameterPath2 This is the parameter that goes into the path + * @param parameterPath3 This is the parameter that goes into the path + * @param _default This is the parameter with a reserved keyword + * @throws ApiError */ -export enum EnumWithStrings { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - _SINGLE_QUOTE_ = '\\'Single Quote\\'', - _DOUBLE_QUOTES_ = '"Double Quotes"', +public static callWithWeirdParameterNames(parameterHeader: string | null, +parameterQuery: string | null, +parameterForm: string | null, +parameterCookie: string | null, +requestBody: ModelWithString | null, +parameterPath1?: string, +parameterPath2?: string, +parameterPath3?: string, +_default?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', + path: { + 'parameter.path.1': parameterPath1, + 'parameter-path-2': parameterPath2, + 'PARAMETER-PATH-3': parameterPath3, + }, + cookies: { + 'PARAMETER-COOKIE': parameterCookie, + }, + headers: { + 'parameter.header': parameterHeader, + }, + query: { + 'default': _default, + 'parameter-query': parameterQuery, + }, + formData: { + 'parameter_form': parameterForm, + }, + body: requestBody, + mediaType: 'application/json', + }); } -" -`; - -exports[`v3 should generate: test/generated/v3/models/File.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type File = { - readonly id?: string; - readonly updated_at?: string; - readonly created_at?: string; - mime: string; - readonly file?: string; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ /** - * This is a free-form object with additionalProperties: {}. + * @param requestBody This is a required parameter + * @param parameter This is an optional parameter + * @throws ApiError */ -export type FreeFormObjectWithAdditionalPropertiesEqEmptyObject = Record; -" -`; - -exports[`v3 should generate: test/generated/v3/models/FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ +public static getCallWithOptionalParam(requestBody: ModelWithString, +parameter?: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} /** - * This is a free-form object with additionalProperties: true. + * @param parameter This is a required parameter + * @param requestBody This is an optional parameter + * @throws ApiError */ -export type FreeFormObjectWithAdditionalPropertiesEqTrue = Record; +public static postCallWithOptionalParam(parameter: Pageable, +requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/parameters/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/RequestBodyService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a free-form object without additionalProperties. - */ -export type FreeFormObjectWithoutAdditionalProperties = Record; +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class RequestBodyService { + /** + * @param parameter This is a reusable parameter + * @param requestBody A reusable request body + * @throws ApiError + */ + public static postApiRequestBody(parameter?: string, + requestBody?: ModelWithString, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/requestBody/', + query: { + 'parameter': parameter, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +} " `; -exports[`v3 should generate: test/generated/v3/models/ModelCircle.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/ResponseService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Circle - */ -export type ModelCircle = { - kind: 'circle'; - radius?: number; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelSquare.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Square - */ -export type ModelSquare = { - kind: 'square'; - sideLength?: number; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtends = (ModelWithString & { - propExtendsA?: string; - propExtendsB?: ModelWithString; -}); - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelThatExtends } from './ModelThatExtends'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { - propExtendsC?: string; - propExtendsD?: ModelWithString; -}); - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property containing an array - */ -export type ModelWithArray = { - prop?: Array; - propWithFile?: Array; - propWithNumber?: Array; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one boolean property - */ -export type ModelWithBoolean = { - /** - * This is a simple boolean property - */ - prop?: boolean; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a circular reference - */ -export type ModelWithCircularReference = { - prop?: ModelWithCircularReference; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a dictionary - */ -export type ModelWithDictionary = { - prop?: Record; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated imports - */ -export type ModelWithDuplicateImports = { - propA?: ModelWithString; - propB?: ModelWithString; - propC?: ModelWithString; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated properties - */ -export type ModelWithDuplicateProperties = { - prop?: ModelWithString; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnum = { - /** - * This is a simple enum with strings - */ - test?: ModelWithEnum.test; - /** - * These are the HTTP error code enums - */ - statusCode?: ModelWithEnum.statusCode; - /** - * Simple boolean enum - */ - bool?: boolean; -}; -export namespace ModelWithEnum { +import type { ModelThatExtends } from '../models/ModelThatExtends'; +import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; +import type { ModelWithString } from '../models/ModelWithString'; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class ResponseService { /** - * This is a simple enum with strings + * @returns ModelWithString + * @throws ApiError */ - export enum test { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', + public static callWithResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/response', + }); } /** - * These are the HTTP error code enums + * @returns ModelWithString Message for default response + * @throws ApiError */ - export enum statusCode { - _100 = '100', - _200_FOO = '200 FOO', - _300_FOO_BAR = '300 FOO_BAR', - _400_FOO_BAR = '400 foo-bar', - _500_FOO_BAR = '500 foo.bar', - _600_FOO_BAR = '600 foo&bar', + public static callWithDuplicateResponses(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); } -} - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnumFromDescription = { /** - * Success=1,Warning=2,Error=3 - */ - test?: number; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one number property - */ -export type ModelWithInteger = { - /** - * This is a simple number property + * @returns any Message for 200 response + * @returns ModelWithString Message for default response + * @returns ModelThatExtends Message for 201 response + * @returns ModelThatExtendsExtends Message for 202 response + * @throws ApiError */ - prop?: number; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with nested enums - */ -export type ModelWithNestedEnums = { - dictionaryWithEnum?: Record; - dictionaryWithEnumFromDescription?: Record; - arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; - arrayWithDescription?: Array; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one nested property - */ -export type ModelWithNestedProperties = { - readonly first: { - readonly second: { - readonly third: string | null; - } | null; - } | null; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithNullableString = { - /** - * This is a simple string property - */ - nullableProp1?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp1: string | null; - /** - * This is a simple string property - */ - nullableProp2?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp2: string | null; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with ordered properties - */ -export type ModelWithOrderedProperties = { - zebra?: string; - apple?: string; - hawaii?: string; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a some patterns - */ -export type ModelWithPattern = { - key: string; - name: string; - readonly enabled?: boolean; - readonly modified?: string; - id?: string; - text?: string; - patternWithSingleQuotes?: string; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one nested property - */ -export type ModelWithProperties = { - required: string; - readonly requiredAndReadOnly: string; - requiredAndNullable: string | null; - string?: string; - number?: number; - boolean?: boolean; - reference?: ModelWithString; - 'property with space'?: string; - default?: string; - try?: string; - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithProperties } from './ModelWithProperties'; -/** - * This is a model with one property containing a reference - */ -export type ModelWithReference = { - prop?: ModelWithProperties; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithString = { - /** - * This is a simple string property - */ - prop?: string; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/Pageable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type Pageable = { - page?: number; - size?: number; - sort?: Array; -}; - -" -`; - -exports[`v3 should generate: test/generated/v3/models/SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple boolean - */ -export type SimpleBoolean = boolean; -" -`; - -exports[`v3 should generate: test/generated/v3/models/SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple file - */ -export type SimpleFile = Blob; -" -`; - -exports[`v3 should generate: test/generated/v3/models/SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple number - */ -export type SimpleInteger = number; -" -`; - -exports[`v3 should generate: test/generated/v3/models/SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a reusable parameter - */ -export type SimpleParameter = string; -" -`; - -exports[`v3 should generate: test/generated/v3/models/SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple reference - */ -export type SimpleReference = ModelWithString; -" -`; - -exports[`v3 should generate: test/generated/v3/models/SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleString = string; -" -`; - -exports[`v3 should generate: test/generated/v3/models/SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleStringWithPattern = string | null; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $_default = { - properties: { - name: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithArray = { - type: 'array', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithBooleans = { - type: 'array', - contains: { - type: 'boolean', - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithNumbers = { - type: 'array', - contains: { - type: 'number', - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithProperties = { - type: 'array', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithReferences = { - type: 'array', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithStrings = { - type: 'array', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBackticks = { - type: 'number', - description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBreaks = { - type: 'number', - description: \`Testing multiline comments in string: First line - Second line - Fourth line\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithExpressionPlaceholders = { - type: 'number', - description: \`Testing expression placeholders in string: \\\${expression} should work\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithQuotes = { - type: 'number', - description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithReservedCharacters = { - type: 'number', - description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithSlashes = { - type: 'number', - description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionBaseModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionBaseModel = { - description: \`This is a base model with two simple optional properties\`, - properties: { - firstName: { - type: 'string', - }, - lastname: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionExtendedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionExtendedModel = { - type: 'all-of', - description: \`This is a model that extends the base model\`, - contains: [{ - type: 'CompositionBaseModel', - }, { - properties: { - firstName: { - type: 'string', - isRequired: true, - }, - lastname: { - type: 'string', - isRequired: true, - }, - age: { - type: 'number', - isRequired: true, - }, - }, - }], -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithAllOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAllOfAndNullable = { - description: \`This is a model with one property with a 'all of' relationship\`, - properties: { - propA: { - type: 'all-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithAnyOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOf = { - description: \`This is a model with one property with a 'any of' relationship\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithAnyOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOfAndNullable = { - description: \`This is a model with one property with a 'any of' relationship\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithAnyOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOfAnonymous = { - description: \`This is a model with one property with a 'any of' relationship where the options are not $ref\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - description: \`Anonymous object type\`, - properties: { - propA: { - type: 'string', - }, - }, - }, { - type: 'string', - description: \`Anonymous string type\`, - }, { - type: 'number', - description: \`Anonymous integer type\`, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithOneOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOf = { - description: \`This is a model with one property with a 'one of' relationship\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndComplexArrayDictionary = { - description: \`This is a model that contains a dictionary of complex arrays (composited) within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'one-of', - contains: [{ - type: 'number', - }, { - type: 'string', - }], - }, - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithOneOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndNullable = { - description: \`This is a model with one property with a 'one of' relationship\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndSimpleArrayDictionary = { - description: \`This is a model that contains a dictionary of simple arrays within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'boolean', - }, - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndSimpleDictionary = { - description: \`This is a model that contains a simple dictionary within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'number', - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithOneOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAnonymous = { - description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - description: \`Anonymous object type\`, - properties: { - propA: { - type: 'string', - }, - }, - }, { - type: 'string', - description: \`Anonymous string type\`, - }, { - type: 'number', - description: \`Anonymous integer type\`, - }], - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$CompositionWithOneOfDiscriminator.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfDiscriminator = { - type: 'one-of', - description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, - contains: [{ - type: 'ModelCircle', - }, { - type: 'ModelSquare', - }], -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$DeprecatedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DeprecatedModel = { - description: \`This is a deprecated model with a deprecated property\`, - properties: { - prop: { - type: 'string', - description: \`This is a deprecated property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithArray = { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithDictionary = { - type: 'dictionary', - contains: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithProperties = { - type: 'dictionary', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithReference = { - type: 'dictionary', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithString = { - type: 'dictionary', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumFromDescription = { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithExtensions = { - type: 'Enum', -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithNumbers = { - type: 'Enum', -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithStrings = { - type: 'Enum', -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$File.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $File = { - properties: { - id: { - type: 'string', - isReadOnly: true, - minLength: 1, - }, - updated_at: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - created_at: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - mime: { - type: 'string', - isRequired: true, - maxLength: 24, - minLength: 1, - }, - file: { - type: 'string', - isReadOnly: true, - format: 'uri', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithAdditionalPropertiesEqEmptyObject = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithAdditionalPropertiesEqTrue = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithoutAdditionalProperties = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelCircle.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelCircle = { - description: \`Circle\`, - properties: { - kind: { - type: 'string', - isRequired: true, - }, - radius: { - type: 'number', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelSquare.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelSquare = { - description: \`Square\`, - properties: { - kind: { - type: 'string', - isRequired: true, - }, - sideLength: { - type: 'number', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelThatExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - properties: { - propExtendsA: { - type: 'string', - }, - propExtendsB: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelThatExtendsExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelThatExtends', - }, { - properties: { - propExtendsC: { - type: 'string', - }, - propExtendsD: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithArray = { - description: \`This is a model with one property containing an array\`, - properties: { - prop: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, - propWithFile: { - type: 'array', - contains: { - type: 'binary', - }, - }, - propWithNumber: { - type: 'array', - contains: { - type: 'number', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithBoolean = { - description: \`This is a model with one boolean property\`, - properties: { - prop: { - type: 'boolean', - description: \`This is a simple boolean property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithCircularReference = { - description: \`This is a model with one property containing a circular reference\`, - properties: { - prop: { - type: 'ModelWithCircularReference', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDictionary = { - description: \`This is a model with one property containing a dictionary\`, - properties: { - prop: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDuplicateImports = { - description: \`This is a model with duplicated imports\`, - properties: { - propA: { - type: 'ModelWithString', - }, - propB: { - type: 'ModelWithString', - }, - propC: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithDuplicateProperties = { - description: \`This is a model with duplicated properties\`, - properties: { - prop: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithEnum = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'Enum', - }, - statusCode: { - type: 'Enum', - }, - bool: { - type: 'boolean', - description: \`Simple boolean enum\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithEnumFromDescription = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithInteger = { - description: \`This is a model with one number property\`, - properties: { - prop: { - type: 'number', - description: \`This is a simple number property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNestedEnums = { - description: \`This is a model with nested enums\`, - properties: { - dictionaryWithEnum: { - type: 'dictionary', - contains: { - type: 'Enum', - }, - }, - dictionaryWithEnumFromDescription: { - type: 'dictionary', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - arrayWithEnum: { - type: 'array', - contains: { - type: 'Enum', - }, - }, - arrayWithDescription: { - type: 'array', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNestedProperties = { - description: \`This is a model with one nested property\`, - properties: { - first: { - properties: { - second: { - properties: { - third: { - type: 'string', - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNullableString = { - description: \`This is a model with one string property\`, - properties: { - nullableProp1: { - type: 'string', - description: \`This is a simple string property\`, - isNullable: true, - }, - nullableRequiredProp1: { - type: 'string', - description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, - }, - nullableProp2: { - type: 'string', - description: \`This is a simple string property\`, - isNullable: true, - }, - nullableRequiredProp2: { - type: 'string', - description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithOrderedProperties = { - description: \`This is a model with ordered properties\`, - properties: { - zebra: { - type: 'string', - }, - apple: { - type: 'string', - }, - hawaii: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithPattern = { - description: \`This is a model that contains a some patterns\`, - properties: { - key: { - type: 'string', - isRequired: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', - }, - name: { - type: 'string', - isRequired: true, - maxLength: 255, - }, - enabled: { - type: 'boolean', - isReadOnly: true, - }, - modified: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - id: { - type: 'string', - pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', - }, - text: { - type: 'string', - pattern: '^\\\\w+$', - }, - patternWithSingleQuotes: { - type: 'string', - pattern: '^[a-zA-Z0-9\\']*$', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithProperties = { - description: \`This is a model with one nested property\`, - properties: { - required: { - type: 'string', - isRequired: true, - }, - requiredAndReadOnly: { - type: 'string', - isReadOnly: true, - isRequired: true, - }, - requiredAndNullable: { - type: 'string', - isRequired: true, - isNullable: true, - }, - string: { - type: 'string', - }, - number: { - type: 'number', - }, - boolean: { - type: 'boolean', - }, - reference: { - type: 'ModelWithString', - }, - 'property with space': { - type: 'string', - }, - default: { - type: 'string', - }, - try: { - type: 'string', - }, - '@namespace.string': { - type: 'string', - isReadOnly: true, - }, - '@namespace.integer': { - type: 'number', - isReadOnly: true, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithReference = { - description: \`This is a model with one property containing a reference\`, - properties: { - prop: { - type: 'ModelWithProperties', - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithString = { - description: \`This is a model with one string property\`, - properties: { - prop: { - type: 'string', - description: \`This is a simple string property\`, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$Pageable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Pageable = { - properties: { - page: { - type: 'number', - format: 'int32', - }, - size: { - type: 'number', - format: 'int32', - minimum: 1, - }, - sort: { - type: 'array', - contains: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleBoolean = { - type: 'boolean', - description: \`This is a simple boolean\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleFile = { - type: 'binary', - description: \`This is a simple file\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleInteger = { - type: 'number', - description: \`This is a simple number\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleParameter = { - type: 'string', - description: \`This is a reusable parameter\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleReference = { - type: 'ModelWithString', - description: \`This is a simple reference\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleString = { - type: 'string', - description: \`This is a simple string\`, -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/schemas/$SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleStringWithPattern = { - type: 'string', - description: \`This is a simple string\`, - isNullable: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', -} as const; -" -`; - -exports[`v3 should generate: test/generated/v3/services/CollectionFormatService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class CollectionFormatService { - /** - * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) - * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) - * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) - * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) - * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) - * @throws ApiError - */ - public static collectionFormat(parameterArrayCsv: Array | null, - parameterArraySsv: Array | null, - parameterArrayTsv: Array | null, - parameterArrayPipes: Array | null, - parameterArrayMulti: Array | null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/collectionFormat', - query: { - 'parameterArrayCSV': parameterArrayCsv, - 'parameterArraySSV': parameterArraySsv, - 'parameterArrayTSV': parameterArrayTsv, - 'parameterArrayPipes': parameterArrayPipes, - 'parameterArrayMulti': parameterArrayMulti, - }, - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/ComplexService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from '../models/ModelWithArray'; -import type { ModelWithDictionary } from '../models/ModelWithDictionary'; -import type { ModelWithEnum } from '../models/ModelWithEnum'; -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ComplexService { - /** - * @param parameterObject Parameter containing object - * @param parameterReference Parameter containing reference - * @returns ModelWithString Successful response - * @throws ApiError - */ - public static complexTypes(parameterObject: { - first?: { - second?: { - third?: string; - }; - }; - }, - parameterReference: ModelWithString, -): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/complex', - query: { - 'parameterObject': parameterObject, - 'parameterReference': parameterReference, - }, - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); -} -/** - * @param id - * @param requestBody - * @returns ModelWithString Success - * @throws ApiError - */ -public static complexParams(id: number, -requestBody?: { - readonly key: string | null; - name: string | null; - enabled?: boolean; - readonly type: 'Monkey' | 'Horse' | 'Bird'; - listOfModels?: Array | null; - listOfStrings?: Array | null; - parameters: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); - readonly user?: { - readonly id?: number; - readonly name?: string | null; - }; -}, -): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/complex/{id}', - path: { - 'id': id, - }, - body: requestBody, - mediaType: 'application/json-patch+json', - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/DefaultService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultService { - /** - * @throws ApiError - */ - public static serviceWithEmptyTag(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-tag', - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/DefaultsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultsService { - /** - * @param parameterString This is a simple string with default value - * @param parameterNumber This is a simple number with default value - * @param parameterBoolean This is a simple boolean with default value - * @param parameterEnum This is a simple enum with default value - * @param parameterModel This is a simple model with default value - * @throws ApiError - */ - public static callWithDefaultParameters(parameterString: string | null = 'Hello World!', - parameterNumber: number | null = 123, - parameterBoolean: boolean | null = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString | null = { - "prop": "Hello World!" - }, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); -} -/** - * @param parameterString This is a simple string that is optional with default value - * @param parameterNumber This is a simple number that is optional with default value - * @param parameterBoolean This is a simple boolean that is optional with default value - * @param parameterEnum This is a simple enum that is optional with default value - * @param parameterModel This is a simple model that is optional with default value - * @throws ApiError - */ -public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', -parameterNumber: number = 123, -parameterBoolean: boolean = true, -parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', -parameterModel: ModelWithString = { - "prop": "Hello World!" -}, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); -} -/** - * @param parameterStringWithNoDefault This is a string with no default - * @param parameterOptionalStringWithDefault This is a optional string with default - * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default - * @param parameterOptionalStringWithNoDefault This is a optional string with no default - * @param parameterStringWithDefault This is a string with default - * @param parameterStringWithEmptyDefault This is a string with empty default - * @param parameterStringNullableWithNoDefault This is a string that can be null with no default - * @param parameterStringNullableWithDefault This is a string that can be null with default - * @throws ApiError - */ -public static callToTestOrderOfParams(parameterStringWithNoDefault: string, -parameterOptionalStringWithDefault: string = 'Hello World!', -parameterOptionalStringWithEmptyDefault: string = '', -parameterOptionalStringWithNoDefault?: string, -parameterStringWithDefault: string = 'Hello World!', -parameterStringWithEmptyDefault: string = '', -parameterStringNullableWithNoDefault?: string | null, -parameterStringNullableWithDefault: string | null = null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/defaults', - query: { - 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, - 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, - 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, - 'parameterStringWithDefault': parameterStringWithDefault, - 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, - 'parameterStringWithNoDefault': parameterStringWithNoDefault, - 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, - 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, - }, - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/DeprecatedService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { DeprecatedModel } from '../models/DeprecatedModel'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DeprecatedService { - /** - * @deprecated - * @param parameter This parameter is deprecated - * @throws ApiError - */ - public static deprecatedCall(parameter: DeprecatedModel | null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/deprecated', - headers: { - 'parameter': parameter, - }, - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/DescriptionsService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DescriptionsService { - /** - * @param parameterWithBreaks Testing multiline comments in string: First line - * Second line - * - * Fourth line - * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work - * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work - * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work - * @throws ApiError - */ - public static callWithDescriptions(parameterWithBreaks?: any, - parameterWithBackticks?: any, - parameterWithSlashes?: any, - parameterWithExpressionPlaceholders?: any, - parameterWithQuotes?: any, - parameterWithReservedCharacters?: any, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/descriptions/', - query: { - 'parameterWithBreaks': parameterWithBreaks, - 'parameterWithBackticks': parameterWithBackticks, - 'parameterWithSlashes': parameterWithSlashes, - 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, - 'parameterWithQuotes': parameterWithQuotes, - 'parameterWithReservedCharacters': parameterWithReservedCharacters, - }, - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/DuplicateService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DuplicateService { - /** - * @throws ApiError - */ - public static duplicateName(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName1(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName2(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/duplicate', - }); - } - /** - * @throws ApiError - */ - public static duplicateName3(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/duplicate', - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/ErrorService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ErrorService { - /** - * @param status Status code to return - * @returns any Custom message: Successful response - * @throws ApiError - */ - public static testErrorCode(status: number, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/error', - query: { - 'status': status, - }, - errors: { - 500: \`Custom message: Internal Server Error\`, - 501: \`Custom message: Not Implemented\`, - 502: \`Custom message: Bad Gateway\`, - 503: \`Custom message: Service Unavailable\`, - }, - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/FormDataService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class FormDataService { - /** - * @param parameter This is a reusable parameter - * @param formData A reusable request body - * @throws ApiError - */ - public static postApiFormData(parameter?: string, - formData?: ModelWithString, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/formData/', - query: { - 'parameter': parameter, - }, - formData: formData, - mediaType: 'multipart/form-data', - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/HeaderService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class HeaderService { - /** - * @returns string Successful response - * @throws ApiError - */ - public static callWithResultFromHeader(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/header', - responseHeader: 'operation-location', - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/MultipartService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipartService { - /** - * @param formData - * @throws ApiError - */ - public static multipartRequest(formData?: { - content?: Blob; - data?: ModelWithString | null; - }, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/multipart', - formData: formData, - mediaType: 'multipart/form-data', - }); -} -/** - * @returns any OK - * @throws ApiError - */ -public static multipartResponse(): CancelablePromise<{ - file?: Blob; - metadata?: { - foo?: string; - bar?: string; - }; -}> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multipart', - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/MultipleTags1Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags1Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/MultipleTags2Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags2Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/MultipleTags3Service.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags3Service { - /** - * @returns void - * @throws ApiError - */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/NoContentService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class NoContentService { - /** - * @returns void - * @throws ApiError - */ - public static callWithNoContentResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-content', - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/ParametersService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { Pageable } from '../models/Pageable'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ParametersService { - /** - * @param parameterHeader This is the parameter that goes into the header - * @param parameterQuery This is the parameter that goes into the query params - * @param parameterForm This is the parameter that goes into the form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param parameterPath This is the parameter that goes into the path - * @param requestBody This is the parameter that goes into the body - * @throws ApiError - */ - public static callWithParameters(parameterHeader: string | null, - parameterQuery: string | null, - parameterForm: string | null, - parameterCookie: string | null, - parameterPath: string | null, - requestBody: ModelWithString | null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameterPath}', - path: { - 'parameterPath': parameterPath, - }, - cookies: { - 'parameterCookie': parameterCookie, - }, - headers: { - 'parameterHeader': parameterHeader, - }, - query: { - 'parameterQuery': parameterQuery, - }, - formData: { - 'parameterForm': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -/** - * @param parameterHeader This is the parameter that goes into the request header - * @param parameterQuery This is the parameter that goes into the request query params - * @param parameterForm This is the parameter that goes into the request form data - * @param parameterCookie This is the parameter that goes into the cookie - * @param requestBody This is the parameter that goes into the body - * @param parameterPath1 This is the parameter that goes into the path - * @param parameterPath2 This is the parameter that goes into the path - * @param parameterPath3 This is the parameter that goes into the path - * @param _default This is the parameter with a reserved keyword - * @throws ApiError - */ -public static callWithWeirdParameterNames(parameterHeader: string | null, -parameterQuery: string | null, -parameterForm: string | null, -parameterCookie: string | null, -requestBody: ModelWithString | null, -parameterPath1?: string, -parameterPath2?: string, -parameterPath3?: string, -_default?: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', - path: { - 'parameter.path.1': parameterPath1, - 'parameter-path-2': parameterPath2, - 'PARAMETER-PATH-3': parameterPath3, - }, - cookies: { - 'PARAMETER-COOKIE': parameterCookie, - }, - headers: { - 'parameter.header': parameterHeader, - }, - query: { - 'default': _default, - 'parameter-query': parameterQuery, - }, - formData: { - 'parameter_form': parameterForm, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -/** - * @param requestBody This is a required parameter - * @param parameter This is an optional parameter - * @throws ApiError - */ -public static getCallWithOptionalParam(requestBody: ModelWithString, -parameter?: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -/** - * @param parameter This is a required parameter - * @param requestBody This is an optional parameter - * @throws ApiError - */ -public static postCallWithOptionalParam(parameter: Pageable, -requestBody?: ModelWithString, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/RequestBodyService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class RequestBodyService { - /** - * @param parameter This is a reusable parameter - * @param requestBody A reusable request body - * @throws ApiError - */ - public static postApiRequestBody(parameter?: string, - requestBody?: ModelWithString, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/requestBody/', - query: { - 'parameter': parameter, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/ResponseService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelThatExtends } from '../models/ModelThatExtends'; -import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ResponseService { - /** - * @returns ModelWithString - * @throws ApiError - */ - public static callWithResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/response', - }); - } - /** - * @returns ModelWithString Message for default response - * @throws ApiError - */ - public static callWithDuplicateResponses(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } - /** - * @returns any Message for 200 response - * @returns ModelWithString Message for default response - * @returns ModelThatExtends Message for 201 response - * @returns ModelThatExtendsExtends Message for 202 response - * @throws ApiError - */ - public static callWithResponses(): CancelablePromise<{ - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; - readonly value?: Array; - } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/SimpleService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class SimpleService { - /** - * @throws ApiError - */ - public static getCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static putCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static postCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static deleteCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static optionsCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'OPTIONS', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static headCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'HEAD', - url: '/api/v{api-version}/simple', - }); - } - /** - * @throws ApiError - */ - public static patchCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PATCH', - url: '/api/v{api-version}/simple', - }); - } -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/TypesService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class TypesService { - /** - * @param parameterArray This is an array parameter - * @param parameterDictionary This is a dictionary parameter - * @param parameterEnum This is an enum parameter - * @param parameterNumber This is a number parameter - * @param parameterString This is a string parameter - * @param parameterBoolean This is a boolean parameter - * @param parameterObject This is an object parameter - * @param id This is a number parameter - * @returns number Response is a simple number - * @returns string Response is a simple string - * @returns boolean Response is a simple boolean - * @returns any Response is a simple object - * @throws ApiError - */ - public static types(parameterArray: Array | null, - parameterDictionary: Record | null, - parameterEnum: 'Success' | 'Warning' | 'Error' | null, - parameterNumber: number = 123, - parameterString: string | null = 'default', - parameterBoolean: boolean | null = true, - parameterObject: Record | null = null, - id?: number, -): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/types', - path: { - 'id': id, - }, - query: { - 'parameterNumber': parameterNumber, - 'parameterString': parameterString, - 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, - 'parameterArray': parameterArray, - 'parameterDictionary': parameterDictionary, - 'parameterEnum': parameterEnum, - }, - }); -} -} -" -`; - -exports[`v3 should generate: test/generated/v3/services/UploadService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class UploadService { - /** - * @param file Supply a file reference for upload - * @returns boolean - * @throws ApiError - */ - public static uploadFile(file: Blob, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/upload', - formData: { - 'file': file, - }, - }); -} -} -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/index.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ - -export type { _default as _defaultDto } from './models/_default'; -export type { ArrayWithArray as ArrayWithArrayDto } from './models/ArrayWithArray'; -export type { ArrayWithBooleans as ArrayWithBooleansDto } from './models/ArrayWithBooleans'; -export type { ArrayWithNumbers as ArrayWithNumbersDto } from './models/ArrayWithNumbers'; -export type { ArrayWithProperties as ArrayWithPropertiesDto } from './models/ArrayWithProperties'; -export type { ArrayWithReferences as ArrayWithReferencesDto } from './models/ArrayWithReferences'; -export type { ArrayWithStrings as ArrayWithStringsDto } from './models/ArrayWithStrings'; -export type { CommentWithBackticks as CommentWithBackticksDto } from './models/CommentWithBackticks'; -export type { CommentWithBreaks as CommentWithBreaksDto } from './models/CommentWithBreaks'; -export type { CommentWithExpressionPlaceholders as CommentWithExpressionPlaceholdersDto } from './models/CommentWithExpressionPlaceholders'; -export type { CommentWithQuotes as CommentWithQuotesDto } from './models/CommentWithQuotes'; -export type { CommentWithReservedCharacters as CommentWithReservedCharactersDto } from './models/CommentWithReservedCharacters'; -export type { CommentWithSlashes as CommentWithSlashesDto } from './models/CommentWithSlashes'; -export type { CompositionBaseModel as CompositionBaseModelDto } from './models/CompositionBaseModel'; -export type { CompositionExtendedModel as CompositionExtendedModelDto } from './models/CompositionExtendedModel'; -export type { CompositionWithAllOfAndNullable as CompositionWithAllOfAndNullableDto } from './models/CompositionWithAllOfAndNullable'; -export type { CompositionWithAnyOf as CompositionWithAnyOfDto } from './models/CompositionWithAnyOf'; -export type { CompositionWithAnyOfAndNullable as CompositionWithAnyOfAndNullableDto } from './models/CompositionWithAnyOfAndNullable'; -export type { CompositionWithAnyOfAnonymous as CompositionWithAnyOfAnonymousDto } from './models/CompositionWithAnyOfAnonymous'; -export type { CompositionWithOneOf as CompositionWithOneOfDto } from './models/CompositionWithOneOf'; -export type { CompositionWithOneOfAndComplexArrayDictionary as CompositionWithOneOfAndComplexArrayDictionaryDto } from './models/CompositionWithOneOfAndComplexArrayDictionary'; -export type { CompositionWithOneOfAndNullable as CompositionWithOneOfAndNullableDto } from './models/CompositionWithOneOfAndNullable'; -export type { CompositionWithOneOfAndSimpleArrayDictionary as CompositionWithOneOfAndSimpleArrayDictionaryDto } from './models/CompositionWithOneOfAndSimpleArrayDictionary'; -export type { CompositionWithOneOfAndSimpleDictionary as CompositionWithOneOfAndSimpleDictionaryDto } from './models/CompositionWithOneOfAndSimpleDictionary'; -export type { CompositionWithOneOfAnonymous as CompositionWithOneOfAnonymousDto } from './models/CompositionWithOneOfAnonymous'; -export type { CompositionWithOneOfDiscriminator as CompositionWithOneOfDiscriminatorDto } from './models/CompositionWithOneOfDiscriminator'; -export type { DeprecatedModel as DeprecatedModelDto } from './models/DeprecatedModel'; -export type { DictionaryWithArray as DictionaryWithArrayDto } from './models/DictionaryWithArray'; -export type { DictionaryWithDictionary as DictionaryWithDictionaryDto } from './models/DictionaryWithDictionary'; -export type { DictionaryWithProperties as DictionaryWithPropertiesDto } from './models/DictionaryWithProperties'; -export type { DictionaryWithReference as DictionaryWithReferenceDto } from './models/DictionaryWithReference'; -export type { DictionaryWithString as DictionaryWithStringDto } from './models/DictionaryWithString'; -export type { EnumFromDescription as EnumFromDescriptionDto } from './models/EnumFromDescription'; -export { EnumWithExtensions as EnumWithExtensionsDto } from './models/EnumWithExtensions'; -export { EnumWithNumbers as EnumWithNumbersDto } from './models/EnumWithNumbers'; -export { EnumWithStrings as EnumWithStringsDto } from './models/EnumWithStrings'; -export type { File as FileDto } from './models/File'; -export type { FreeFormObjectWithAdditionalPropertiesEqEmptyObject as FreeFormObjectWithAdditionalPropertiesEqEmptyObjectDto } from './models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export type { FreeFormObjectWithAdditionalPropertiesEqTrue as FreeFormObjectWithAdditionalPropertiesEqTrueDto } from './models/FreeFormObjectWithAdditionalPropertiesEqTrue'; -export type { FreeFormObjectWithoutAdditionalProperties as FreeFormObjectWithoutAdditionalPropertiesDto } from './models/FreeFormObjectWithoutAdditionalProperties'; -export type { ModelCircle as ModelCircleDto } from './models/ModelCircle'; -export type { ModelSquare as ModelSquareDto } from './models/ModelSquare'; -export type { ModelThatExtends as ModelThatExtendsDto } from './models/ModelThatExtends'; -export type { ModelThatExtendsExtends as ModelThatExtendsExtendsDto } from './models/ModelThatExtendsExtends'; -export type { ModelWithArray as ModelWithArrayDto } from './models/ModelWithArray'; -export type { ModelWithBoolean as ModelWithBooleanDto } from './models/ModelWithBoolean'; -export type { ModelWithCircularReference as ModelWithCircularReferenceDto } from './models/ModelWithCircularReference'; -export type { ModelWithDictionary as ModelWithDictionaryDto } from './models/ModelWithDictionary'; -export type { ModelWithDuplicateImports as ModelWithDuplicateImportsDto } from './models/ModelWithDuplicateImports'; -export type { ModelWithDuplicateProperties as ModelWithDuplicatePropertiesDto } from './models/ModelWithDuplicateProperties'; -export { ModelWithEnum as ModelWithEnumDto } from './models/ModelWithEnum'; -export type { ModelWithEnumFromDescription as ModelWithEnumFromDescriptionDto } from './models/ModelWithEnumFromDescription'; -export type { ModelWithInteger as ModelWithIntegerDto } from './models/ModelWithInteger'; -export type { ModelWithNestedEnums as ModelWithNestedEnumsDto } from './models/ModelWithNestedEnums'; -export type { ModelWithNestedProperties as ModelWithNestedPropertiesDto } from './models/ModelWithNestedProperties'; -export type { ModelWithNullableString as ModelWithNullableStringDto } from './models/ModelWithNullableString'; -export type { ModelWithOrderedProperties as ModelWithOrderedPropertiesDto } from './models/ModelWithOrderedProperties'; -export type { ModelWithPattern as ModelWithPatternDto } from './models/ModelWithPattern'; -export type { ModelWithProperties as ModelWithPropertiesDto } from './models/ModelWithProperties'; -export type { ModelWithReference as ModelWithReferenceDto } from './models/ModelWithReference'; -export type { ModelWithString as ModelWithStringDto } from './models/ModelWithString'; -export type { Pageable as PageableDto } from './models/Pageable'; -export type { SimpleBoolean as SimpleBooleanDto } from './models/SimpleBoolean'; -export type { SimpleFile as SimpleFileDto } from './models/SimpleFile'; -export type { SimpleInteger as SimpleIntegerDto } from './models/SimpleInteger'; -export type { SimpleParameter as SimpleParameterDto } from './models/SimpleParameter'; -export type { SimpleReference as SimpleReferenceDto } from './models/SimpleReference'; -export type { SimpleString as SimpleStringDto } from './models/SimpleString'; -export type { SimpleStringWithPattern as SimpleStringWithPatternDto } from './models/SimpleStringWithPattern'; - -export { $_default } from './schemas/$_default'; -export { $ArrayWithArray } from './schemas/$ArrayWithArray'; -export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; -export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; -export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; -export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; -export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; -export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; -export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; -export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; -export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; -export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; -export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; -export { $CompositionBaseModel } from './schemas/$CompositionBaseModel'; -export { $CompositionExtendedModel } from './schemas/$CompositionExtendedModel'; -export { $CompositionWithAllOfAndNullable } from './schemas/$CompositionWithAllOfAndNullable'; -export { $CompositionWithAnyOf } from './schemas/$CompositionWithAnyOf'; -export { $CompositionWithAnyOfAndNullable } from './schemas/$CompositionWithAnyOfAndNullable'; -export { $CompositionWithAnyOfAnonymous } from './schemas/$CompositionWithAnyOfAnonymous'; -export { $CompositionWithOneOf } from './schemas/$CompositionWithOneOf'; -export { $CompositionWithOneOfAndComplexArrayDictionary } from './schemas/$CompositionWithOneOfAndComplexArrayDictionary'; -export { $CompositionWithOneOfAndNullable } from './schemas/$CompositionWithOneOfAndNullable'; -export { $CompositionWithOneOfAndSimpleArrayDictionary } from './schemas/$CompositionWithOneOfAndSimpleArrayDictionary'; -export { $CompositionWithOneOfAndSimpleDictionary } from './schemas/$CompositionWithOneOfAndSimpleDictionary'; -export { $CompositionWithOneOfAnonymous } from './schemas/$CompositionWithOneOfAnonymous'; -export { $CompositionWithOneOfDiscriminator } from './schemas/$CompositionWithOneOfDiscriminator'; -export { $DeprecatedModel } from './schemas/$DeprecatedModel'; -export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; -export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; -export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; -export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; -export { $DictionaryWithString } from './schemas/$DictionaryWithString'; -export { $EnumFromDescription } from './schemas/$EnumFromDescription'; -export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; -export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; -export { $EnumWithStrings } from './schemas/$EnumWithStrings'; -export { $File } from './schemas/$File'; -export { $FreeFormObjectWithAdditionalPropertiesEqEmptyObject } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject'; -export { $FreeFormObjectWithAdditionalPropertiesEqTrue } from './schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue'; -export { $FreeFormObjectWithoutAdditionalProperties } from './schemas/$FreeFormObjectWithoutAdditionalProperties'; -export { $ModelCircle } from './schemas/$ModelCircle'; -export { $ModelSquare } from './schemas/$ModelSquare'; -export { $ModelThatExtends } from './schemas/$ModelThatExtends'; -export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; -export { $ModelWithArray } from './schemas/$ModelWithArray'; -export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; -export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; -export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; -export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; -export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; -export { $ModelWithEnum } from './schemas/$ModelWithEnum'; -export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; -export { $ModelWithInteger } from './schemas/$ModelWithInteger'; -export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; -export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; -export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; -export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; -export { $ModelWithPattern } from './schemas/$ModelWithPattern'; -export { $ModelWithProperties } from './schemas/$ModelWithProperties'; -export { $ModelWithReference } from './schemas/$ModelWithReference'; -export { $ModelWithString } from './schemas/$ModelWithString'; -export { $Pageable } from './schemas/$Pageable'; -export { $SimpleBoolean } from './schemas/$SimpleBoolean'; -export { $SimpleFile } from './schemas/$SimpleFile'; -export { $SimpleInteger } from './schemas/$SimpleInteger'; -export { $SimpleParameter } from './schemas/$SimpleParameter'; -export { $SimpleReference } from './schemas/$SimpleReference'; -export { $SimpleString } from './schemas/$SimpleString'; -export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; - -export { CollectionFormatService } from './services/CollectionFormatService'; -export { ComplexService } from './services/ComplexService'; -export { DefaultService } from './services/DefaultService'; -export { DefaultsService } from './services/DefaultsService'; -export { DeprecatedService } from './services/DeprecatedService'; -export { DescriptionsService } from './services/DescriptionsService'; -export { DuplicateService } from './services/DuplicateService'; -export { ErrorService } from './services/ErrorService'; -export { FormDataService } from './services/FormDataService'; -export { HeaderService } from './services/HeaderService'; -export { MultipartService } from './services/MultipartService'; -export { MultipleTags1Service } from './services/MultipleTags1Service'; -export { MultipleTags2Service } from './services/MultipleTags2Service'; -export { MultipleTags3Service } from './services/MultipleTags3Service'; -export { NoContentService } from './services/NoContentService'; -export { ParametersService } from './services/ParametersService'; -export { RequestBodyService } from './services/RequestBodyService'; -export { ResponseService } from './services/ResponseService'; -export { SimpleService } from './services/SimpleService'; -export { TypesService } from './services/TypesService'; -export { UploadService } from './services/UploadService'; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type _default = { - name?: string; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array containing an array - */ -export type ArrayWithArray = Array>; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with booleans - */ -export type ArrayWithBooleans = Array; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with numbers - */ -export type ArrayWithNumbers = Array; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with properties - */ -export type ArrayWithProperties = Array<{ - foo?: string; - bar?: string; -}>; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array with references - */ -export type ArrayWithReferences = Array; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple array with strings - */ -export type ArrayWithStrings = Array; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - */ -export type CommentWithBackticks = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing multiline comments in string: First line - * Second line - * - * Fourth line - */ -export type CommentWithBreaks = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing expression placeholders in string: \${expression} should work - */ -export type CommentWithExpressionPlaceholders = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing quotes in string: 'single quote''' and "double quotes""" should work - */ -export type CommentWithQuotes = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing reserved characters in string: * inline * and ** inline ** should work - */ -export type CommentWithReservedCharacters = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - */ -export type CommentWithSlashes = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionBaseModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a base model with two simple optional properties - */ -export type CompositionBaseModel = { - firstName?: string; - lastname?: string; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionExtendedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CompositionBaseModel } from './CompositionBaseModel'; -/** - * This is a model that extends the base model - */ -export type CompositionExtendedModel = (CompositionBaseModel & { - firstName: string; - lastname: string; - age: number; -}); - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAllOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'all of' relationship - */ -export type CompositionWithAllOfAndNullable = { - propA?: ({ - boolean?: boolean; - } & ModelWithEnum & ModelWithArray & ModelWithDictionary) | null; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property with a 'any of' relationship - */ -export type CompositionWithAnyOf = { - propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'any of' relationship - */ -export type CompositionWithAnyOfAndNullable = { - propA?: ({ - boolean?: boolean; - } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithAnyOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property with a 'any of' relationship where the options are not $ref - */ -export type CompositionWithAnyOfAnonymous = { - propA?: ({ - propA?: string; - } | string | number); -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property with a 'one of' relationship - */ -export type CompositionWithOneOf = { - propA?: (ModelWithString | ModelWithEnum | ModelWithArray | ModelWithDictionary); -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a dictionary of complex arrays (composited) within composition - */ -export type CompositionWithOneOfAndComplexArrayDictionary = { - propA?: (boolean | Record>); -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithArray } from './ModelWithArray'; -import type { ModelWithDictionary } from './ModelWithDictionary'; -import type { ModelWithEnum } from './ModelWithEnum'; -/** - * This is a model with one property with a 'one of' relationship - */ -export type CompositionWithOneOfAndNullable = { - propA?: ({ - boolean?: boolean; - } | ModelWithEnum | ModelWithArray | ModelWithDictionary) | null; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a dictionary of simple arrays within composition - */ -export type CompositionWithOneOfAndSimpleArrayDictionary = { - propA?: (boolean | Record>); -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a simple dictionary within composition - */ -export type CompositionWithOneOfAndSimpleDictionary = { - propA?: (boolean | Record); -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property with a 'one of' relationship where the options are not $ref - */ -export type CompositionWithOneOfAnonymous = { - propA?: ({ - propA?: string; - } | string | number); -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/CompositionWithOneOfDiscriminator.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelCircle } from './ModelCircle'; -import type { ModelSquare } from './ModelSquare'; -/** - * This is a model with one property with a 'one of' relationship where the options are not $ref - */ -export type CompositionWithOneOfDiscriminator = (ModelCircle | ModelSquare); - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DeprecatedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a deprecated model with a deprecated property - * @deprecated - */ -export type DeprecatedModel = { - /** - * This is a deprecated property - * @deprecated - */ - prop?: string; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a complex dictionary - */ -export type DictionaryWithArray = Record>; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithDictionary = Record>; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a complex dictionary - */ -export type DictionaryWithProperties = Record; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a string reference - */ -export type DictionaryWithReference = Record; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithString = Record; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Success=1,Warning=2,Error=3 - */ -export type EnumFromDescription = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithExtensions { - /** - * Used when the status of something is successful - */ - CUSTOM_SUCCESS = 200, - /** - * Used when the status of something has a warning - */ - CUSTOM_WARNING = 400, - /** - * Used when the status of something has an error - */ - CUSTOM_ERROR = 500, -} -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithNumbers { - '_1' = 1, - '_2' = 2, - '_3' = 3, - '_1.1' = 1.1, - '_1.2' = 1.2, - '_1.3' = 1.3, - '_100' = 100, - '_200' = 200, - '_300' = 300, - '_-100' = -100, - '_-200' = -200, - '_-300' = -300, - '_-1.1' = -1.1, - '_-1.2' = -1.2, - '_-1.3' = -1.3, -} -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple enum with strings - */ -export enum EnumWithStrings { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - _SINGLE_QUOTE_ = '\\'Single Quote\\'', - _DOUBLE_QUOTES_ = '"Double Quotes"', -} -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/File.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type File = { - readonly id?: string; - readonly updated_at?: string; - readonly created_at?: string; - mime: string; - readonly file?: string; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a free-form object with additionalProperties: {}. - */ -export type FreeFormObjectWithAdditionalPropertiesEqEmptyObject = Record; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a free-form object with additionalProperties: true. - */ -export type FreeFormObjectWithAdditionalPropertiesEqTrue = Record; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a free-form object without additionalProperties. - */ -export type FreeFormObjectWithoutAdditionalProperties = Record; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelCircle.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Circle - */ -export type ModelCircle = { - kind: 'circle'; - radius?: number; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelSquare.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * Square - */ -export type ModelSquare = { - kind: 'square'; - sideLength?: number; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelThatExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtends = (ModelWithString & { - propExtendsA?: string; - propExtendsB?: ModelWithString; -}); - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelThatExtends } from './ModelThatExtends'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { - propExtendsC?: string; - propExtendsD?: ModelWithString; -}); - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property containing an array - */ -export type ModelWithArray = { - prop?: Array; - propWithFile?: Array; - propWithNumber?: Array; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one boolean property - */ -export type ModelWithBoolean = { - /** - * This is a simple boolean property - */ - prop?: boolean; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithCircularReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a circular reference - */ -export type ModelWithCircularReference = { - prop?: ModelWithCircularReference; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one property containing a dictionary - */ -export type ModelWithDictionary = { - prop?: Record; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateImports.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated imports - */ -export type ModelWithDuplicateImports = { - propA?: ModelWithString; - propB?: ModelWithString; - propC?: ModelWithString; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithDuplicateProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated properties - */ -export type ModelWithDuplicateProperties = { - prop?: ModelWithString; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithEnum.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnum = { - /** - * This is a simple enum with strings - */ - test?: ModelWithEnum.test; - /** - * These are the HTTP error code enums - */ - statusCode?: ModelWithEnum.statusCode; - /** - * Simple boolean enum - */ - bool?: boolean; -}; -export namespace ModelWithEnum { - /** - * This is a simple enum with strings - */ - export enum test { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - } - /** - * These are the HTTP error code enums - */ - export enum statusCode { - _100 = '100', - _200_FOO = '200 FOO', - _300_FOO_BAR = '300 FOO_BAR', - _400_FOO_BAR = '400 foo-bar', - _500_FOO_BAR = '500 foo.bar', - _600_FOO_BAR = '600 foo&bar', - } -} - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithEnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnumFromDescription = { - /** - * Success=1,Warning=2,Error=3 - */ - test?: number; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one number property - */ -export type ModelWithInteger = { - /** - * This is a simple number property - */ - prop?: number; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithNestedEnums.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with nested enums - */ -export type ModelWithNestedEnums = { - dictionaryWithEnum?: Record; - dictionaryWithEnumFromDescription?: Record; - arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; - arrayWithDescription?: Array; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithNestedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one nested property - */ -export type ModelWithNestedProperties = { - readonly first: { - readonly second: { - readonly third: string | null; - } | null; - } | null; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithNullableString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithNullableString = { - /** - * This is a simple string property - */ - nullableProp1?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp1: string | null; - /** - * This is a simple string property - */ - nullableProp2?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp2: string | null; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithOrderedProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with ordered properties - */ -export type ModelWithOrderedProperties = { - zebra?: string; - apple?: string; - hawaii?: string; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model that contains a some patterns - */ -export type ModelWithPattern = { - key: string; - name: string; - readonly enabled?: boolean; - readonly modified?: string; - id?: string; - text?: string; - patternWithSingleQuotes?: string; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one nested property - */ -export type ModelWithProperties = { - required: string; - readonly requiredAndReadOnly: string; - requiredAndNullable: string | null; - string?: string; - number?: number; - boolean?: boolean; - reference?: ModelWithString; - 'property with space'?: string; - default?: string; - try?: string; - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithProperties } from './ModelWithProperties'; -/** - * This is a model with one property containing a reference - */ -export type ModelWithReference = { - prop?: ModelWithProperties; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithString = { - /** - * This is a simple string property - */ - prop?: string; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/Pageable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type Pageable = { - page?: number; - size?: number; - sort?: Array; -}; - -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple boolean - */ -export type SimpleBoolean = boolean; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple file - */ -export type SimpleFile = Blob; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple number - */ -export type SimpleInteger = number; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a reusable parameter - */ -export type SimpleParameter = string; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple reference - */ -export type SimpleReference = ModelWithString; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleString = string; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleStringWithPattern = string | null; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$_default.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $_default = { - properties: { - name: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithArray = { - type: 'array', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithBooleans.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithBooleans = { - type: 'array', - contains: { - type: 'boolean', - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithNumbers = { - type: 'array', - contains: { - type: 'number', - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithProperties = { - type: 'array', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithReferences.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithReferences = { - type: 'array', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ArrayWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ArrayWithStrings = { - type: 'array', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBackticks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBackticks = { - type: 'number', - description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithBreaks.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithBreaks = { - type: 'number', - description: \`Testing multiline comments in string: First line - Second line - Fourth line\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithExpressionPlaceholders = { - type: 'number', - description: \`Testing expression placeholders in string: \\\${expression} should work\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithQuotes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithQuotes = { - type: 'number', - description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithReservedCharacters.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithReservedCharacters = { - type: 'number', - description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CommentWithSlashes.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CommentWithSlashes = { - type: 'number', - description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionBaseModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionBaseModel = { - description: \`This is a base model with two simple optional properties\`, - properties: { - firstName: { - type: 'string', - }, - lastname: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionExtendedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionExtendedModel = { - type: 'all-of', - description: \`This is a model that extends the base model\`, - contains: [{ - type: 'CompositionBaseModel', - }, { - properties: { - firstName: { - type: 'string', - isRequired: true, - }, - lastname: { - type: 'string', - isRequired: true, - }, - age: { - type: 'number', - isRequired: true, - }, - }, - }], -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAllOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAllOfAndNullable = { - description: \`This is a model with one property with a 'all of' relationship\`, - properties: { - propA: { - type: 'all-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOf = { - description: \`This is a model with one property with a 'any of' relationship\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOfAndNullable = { - description: \`This is a model with one property with a 'any of' relationship\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithAnyOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithAnyOfAnonymous = { - description: \`This is a model with one property with a 'any of' relationship where the options are not $ref\`, - properties: { - propA: { - type: 'any-of', - contains: [{ - description: \`Anonymous object type\`, - properties: { - propA: { - type: 'string', - }, - }, - }, { - type: 'string', - description: \`Anonymous string type\`, - }, { - type: 'number', - description: \`Anonymous integer type\`, - }], - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOf.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOf = { - description: \`This is a model with one property with a 'one of' relationship\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndComplexArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndComplexArrayDictionary = { - description: \`This is a model that contains a dictionary of complex arrays (composited) within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'one-of', - contains: [{ - type: 'number', - }, { - type: 'string', - }], - }, - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndNullable.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndNullable = { - description: \`This is a model with one property with a 'one of' relationship\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - properties: { - boolean: { - type: 'boolean', - }, - }, - }, { - type: 'ModelWithEnum', - }, { - type: 'ModelWithArray', - }, { - type: 'ModelWithDictionary', - }], - isNullable: true, - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleArrayDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndSimpleArrayDictionary = { - description: \`This is a model that contains a dictionary of simple arrays within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'boolean', - }, - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAndSimpleDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAndSimpleDictionary = { - description: \`This is a model that contains a simple dictionary within composition\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - type: 'boolean', - }, { - type: 'dictionary', - contains: { - type: 'number', - }, - }], - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfAnonymous.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfAnonymous = { - description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, - properties: { - propA: { - type: 'one-of', - contains: [{ - description: \`Anonymous object type\`, - properties: { - propA: { - type: 'string', - }, - }, - }, { - type: 'string', - description: \`Anonymous string type\`, - }, { - type: 'number', - description: \`Anonymous integer type\`, - }], - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$CompositionWithOneOfDiscriminator.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $CompositionWithOneOfDiscriminator = { - type: 'one-of', - description: \`This is a model with one property with a 'one of' relationship where the options are not $ref\`, - contains: [{ - type: 'ModelCircle', - }, { - type: 'ModelSquare', - }], -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DeprecatedModel.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DeprecatedModel = { - description: \`This is a deprecated model with a deprecated property\`, - properties: { - prop: { - type: 'string', - description: \`This is a deprecated property\`, - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithArray = { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithDictionary.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithDictionary = { - type: 'dictionary', - contains: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithProperties.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithProperties = { - type: 'dictionary', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithReference = { - type: 'dictionary', - contains: { - type: 'ModelWithString', - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DictionaryWithString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $DictionaryWithString = { - type: 'dictionary', - contains: { - type: 'string', - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumFromDescription.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumFromDescription = { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumWithExtensions.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithExtensions = { - type: 'Enum', -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumWithNumbers.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithNumbers = { - type: 'Enum', -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$EnumWithStrings.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $EnumWithStrings = { - type: 'Enum', -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$File.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $File = { - properties: { - id: { - type: 'string', - isReadOnly: true, - minLength: 1, - }, - updated_at: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - created_at: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - mime: { - type: 'string', - isRequired: true, - maxLength: 24, - minLength: 1, - }, - file: { - type: 'string', - isReadOnly: true, - format: 'uri', - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqEmptyObject.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithAdditionalPropertiesEqEmptyObject = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithAdditionalPropertiesEqTrue.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $FreeFormObjectWithAdditionalPropertiesEqTrue = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; + public static callWithResponses(): CancelablePromise<{ + readonly '@namespace.string'?: string; + readonly '@namespace.integer'?: number; + readonly value?: Array; + } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/response', + errors: { + 500: \`Message for 500 error\`, + 501: \`Message for 501 error\`, + 502: \`Message for 502 error\`, + }, + }); + } +} " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$FreeFormObjectWithoutAdditionalProperties.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/SimpleService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $FreeFormObjectWithoutAdditionalProperties = { - type: 'dictionary', - contains: { - properties: { - }, - }, -} as const; +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class SimpleService { + /** + * @throws ApiError + */ + public static getCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static putCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static postCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static deleteCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static optionsCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'OPTIONS', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static headCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'HEAD', + url: '/api/v{api-version}/simple', + }); + } + /** + * @throws ApiError + */ + public static patchCallWithoutParametersAndResponse(): CancelablePromise { + return __request(OpenAPI, { + method: 'PATCH', + url: '/api/v{api-version}/simple', + }); + } +} " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelCircle.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/TypesService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelCircle = { - description: \`Circle\`, - properties: { - kind: { - type: 'string', - isRequired: true, +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class TypesService { + /** + * @param parameterArray This is an array parameter + * @param parameterDictionary This is a dictionary parameter + * @param parameterEnum This is an enum parameter + * @param parameterNumber This is a number parameter + * @param parameterString This is a string parameter + * @param parameterBoolean This is a boolean parameter + * @param parameterObject This is an object parameter + * @param id This is a number parameter + * @returns number Response is a simple number + * @returns string Response is a simple string + * @returns boolean Response is a simple boolean + * @returns any Response is a simple object + * @throws ApiError + */ + public static types(parameterArray: Array | null, + parameterDictionary: Record | null, + parameterEnum: 'Success' | 'Warning' | 'Error' | null, + parameterNumber: number = 123, + parameterString: string | null = 'default', + parameterBoolean: boolean | null = true, + parameterObject: Record | null = null, + id?: number, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/api/v{api-version}/types', + path: { + 'id': id, }, - radius: { - type: 'number', + query: { + 'parameterNumber': parameterNumber, + 'parameterString': parameterString, + 'parameterBoolean': parameterBoolean, + 'parameterObject': parameterObject, + 'parameterArray': parameterArray, + 'parameterDictionary': parameterDictionary, + 'parameterEnum': parameterEnum, }, - }, -} as const; + }); +} +} " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelSquare.ts 1`] = ` +exports[`v3 should generate: test/generated/v3/services/UploadService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelSquare = { - description: \`Square\`, - properties: { - kind: { - type: 'string', - isRequired: true, - }, - sideLength: { - type: 'number', +import type { CancelablePromise } from '../core/CancelablePromise'; +import { OpenAPI } from '../core/OpenAPI'; +import { request as __request } from '../core/request'; +export class UploadService { + /** + * @param file Supply a file reference for upload + * @returns boolean + * @throws ApiError + */ + public static uploadFile(file: Blob, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/api/v{api-version}/upload', + formData: { + 'file': file, }, - }, -} as const; + }); +} +} " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtends.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/index.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelThatExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - properties: { - propExtendsA: { - type: 'string', - }, - propExtendsB: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtendsExtends.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelThatExtendsExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelThatExtends', - }, { - properties: { - propExtendsC: { - type: 'string', - }, - propExtendsD: { - type: 'ModelWithString', - }, - }, - }], -} as const; -" -`; +export type { DeprecatedModel as DeprecatedModelDto } from './models/DeprecatedModel'; +export type { ModelThatExtends as ModelThatExtendsDto } from './models/ModelThatExtends'; +export type { ModelThatExtendsExtends as ModelThatExtendsExtendsDto } from './models/ModelThatExtendsExtends'; +export type { ModelWithArray as ModelWithArrayDto } from './models/ModelWithArray'; +export type { ModelWithDictionary as ModelWithDictionaryDto } from './models/ModelWithDictionary'; +export { ModelWithEnum as ModelWithEnumDto } from './models/ModelWithEnum'; +export type { ModelWithString as ModelWithStringDto } from './models/ModelWithString'; +export type { Pageable as PageableDto } from './models/Pageable'; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithArray.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithArray = { - description: \`This is a model with one property containing an array\`, - properties: { - prop: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, - propWithFile: { - type: 'array', - contains: { - type: 'binary', - }, - }, - propWithNumber: { - type: 'array', - contains: { - type: 'number', - }, - }, - }, -} as const; -" -`; +export { $DeprecatedModel } from './schemas/$DeprecatedModel'; +export { $ModelThatExtends } from './schemas/$ModelThatExtends'; +export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; +export { $ModelWithArray } from './schemas/$ModelWithArray'; +export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; +export { $ModelWithEnum } from './schemas/$ModelWithEnum'; +export { $ModelWithString } from './schemas/$ModelWithString'; +export { $Pageable } from './schemas/$Pageable'; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $ModelWithBoolean = { - description: \`This is a model with one boolean property\`, - properties: { - prop: { - type: 'boolean', - description: \`This is a simple boolean property\`, - }, - }, -} as const; +export { CollectionFormatService } from './services/CollectionFormatService'; +export { ComplexService } from './services/ComplexService'; +export { DefaultService } from './services/DefaultService'; +export { DefaultsService } from './services/DefaultsService'; +export { DeprecatedService } from './services/DeprecatedService'; +export { DescriptionsService } from './services/DescriptionsService'; +export { DuplicateService } from './services/DuplicateService'; +export { ErrorService } from './services/ErrorService'; +export { FormDataService } from './services/FormDataService'; +export { HeaderService } from './services/HeaderService'; +export { MultipartService } from './services/MultipartService'; +export { MultipleTags1Service } from './services/MultipleTags1Service'; +export { MultipleTags2Service } from './services/MultipleTags2Service'; +export { MultipleTags3Service } from './services/MultipleTags3Service'; +export { NoContentService } from './services/NoContentService'; +export { ParametersService } from './services/ParametersService'; +export { RequestBodyService } from './services/RequestBodyService'; +export { ResponseService } from './services/ResponseService'; +export { SimpleService } from './services/SimpleService'; +export { TypesService } from './services/TypesService'; +export { UploadService } from './services/UploadService'; " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithCircularReference.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/DeprecatedModel.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithCircularReference = { - description: \`This is a model with one property containing a circular reference\`, - properties: { - prop: { - type: 'ModelWithCircularReference', - }, - }, -} as const; +/** + * This is a deprecated model with a deprecated property + * @deprecated + */ +export type DeprecatedModel = { + /** + * This is a deprecated property + * @deprecated + */ + prop?: string; +}; + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDictionary.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelThatExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithDictionary = { - description: \`This is a model with one property containing a dictionary\`, - properties: { - prop: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, - }, -} as const; +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model that extends another model + */ +export type ModelThatExtends = { + /** + * This is a simple string property + */ + prop?: string; + propExtendsA?: string; + propExtendsB?: ModelWithString; +}; + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateImports.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelThatExtendsExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithDuplicateImports = { - description: \`This is a model with duplicated imports\`, - properties: { - propA: { - type: 'ModelWithString', - }, - propB: { - type: 'ModelWithString', - }, - propC: { - type: 'ModelWithString', - }, - }, -} as const; +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model that extends another model + */ +export type ModelThatExtendsExtends = { + /** + * This is a simple string property + */ + prop?: string; + propExtendsC?: string; + propExtendsD?: ModelWithString; +}; + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithDuplicateProperties = { - description: \`This is a model with duplicated properties\`, - properties: { - prop: { - type: 'ModelWithString', - }, - }, -} as const; +import type { ModelWithString } from './ModelWithString'; +/** + * This is a model with one property containing an array + */ +export type ModelWithArray = { + prop?: Array; + propWithFile?: Array; + propWithNumber?: Array; +}; + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnum.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithEnum = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'Enum', - }, - statusCode: { - type: 'Enum', - }, - bool: { - type: 'boolean', - description: \`Simple boolean enum\`, - }, - }, -} as const; +/** + * This is a model with one property containing a dictionary + */ +export type ModelWithDictionary = { + prop?: Record; +}; + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithEnum.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithEnumFromDescription = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, -} as const; +/** + * This is a model with one enum + */ +export type ModelWithEnum = { + /** + * This is a simple enum with strings + */ + test?: ModelWithEnum.test; + /** + * These are the HTTP error code enums + */ + statusCode?: ModelWithEnum.statusCode; + /** + * Simple boolean enum + */ + bool?: boolean; +}; +export namespace ModelWithEnum { + /** + * This is a simple enum with strings + */ + export enum test { + SUCCESS = 'Success', + WARNING = 'Warning', + ERROR = 'Error', + } + /** + * These are the HTTP error code enums + */ + export enum statusCode { + _100 = '100', + _200_FOO = '200 FOO', + _300_FOO_BAR = '300 FOO_BAR', + _400_FOO_BAR = '400 foo-bar', + _500_FOO_BAR = '500 foo.bar', + _600_FOO_BAR = '600 foo&bar', + } +} + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithInteger.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/ModelWithString.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithInteger = { - description: \`This is a model with one number property\`, - properties: { - prop: { - type: 'number', - description: \`This is a simple number property\`, - }, - }, -} as const; +/** + * This is a model with one string property + */ +export type ModelWithString = { + /** + * This is a simple string property + */ + prop?: string; +}; + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedEnums.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/models/Pageable.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ -/* eslint-disable */ -export const $ModelWithNestedEnums = { - description: \`This is a model with nested enums\`, - properties: { - dictionaryWithEnum: { - type: 'dictionary', - contains: { - type: 'Enum', - }, - }, - dictionaryWithEnumFromDescription: { - type: 'dictionary', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - arrayWithEnum: { - type: 'array', - contains: { - type: 'Enum', - }, - }, - arrayWithDescription: { - type: 'array', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - }, -} as const; +/* eslint-disable */ +export type Pageable = { + page?: number; + size?: number; + sort?: Array; +}; + " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNestedProperties.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$DeprecatedModel.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithNestedProperties = { - description: \`This is a model with one nested property\`, +export const $DeprecatedModel = { + description: \`This is a deprecated model with a deprecated property\`, properties: { - first: { - properties: { - second: { - properties: { - third: { - type: 'string', - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, - isReadOnly: true, - isRequired: true, - isNullable: true, - }, - }, - isReadOnly: true, - isRequired: true, - isNullable: true, + prop: { + type: 'string', + description: \`This is a deprecated property\`, }, }, } as const; " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithNullableString.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithNullableString = { - description: \`This is a model with one string property\`, +export const $ModelThatExtends = { + description: \`This is a model that extends another model\`, properties: { - nullableProp1: { - type: 'string', - description: \`This is a simple string property\`, - isNullable: true, - }, - nullableRequiredProp1: { + prop: { type: 'string', description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, }, - nullableProp2: { + propExtendsA: { type: 'string', - description: \`This is a simple string property\`, - isNullable: true, }, - nullableRequiredProp2: { - type: 'string', - description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, + propExtendsB: { + type: 'ModelWithString', }, }, } as const; " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithOrderedProperties.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelThatExtendsExtends.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithOrderedProperties = { - description: \`This is a model with ordered properties\`, +export const $ModelThatExtendsExtends = { + description: \`This is a model that extends another model\`, properties: { - zebra: { + prop: { type: 'string', + description: \`This is a simple string property\`, }, - apple: { + propExtendsC: { type: 'string', }, - hawaii: { - type: 'string', + propExtendsD: { + type: 'ModelWithString', }, }, } as const; " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithPattern.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithArray.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithPattern = { - description: \`This is a model that contains a some patterns\`, +export const $ModelWithArray = { + description: \`This is a model with one property containing an array\`, properties: { - key: { - type: 'string', - isRequired: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', - }, - name: { - type: 'string', - isRequired: true, - maxLength: 255, - }, - enabled: { - type: 'boolean', - isReadOnly: true, - }, - modified: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - id: { - type: 'string', - pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', + prop: { + type: 'array', + contains: { + type: 'ModelWithString', + }, }, - text: { - type: 'string', - pattern: '^\\\\w+$', + propWithFile: { + type: 'array', + contains: { + type: 'binary', + }, }, - patternWithSingleQuotes: { - type: 'string', - pattern: '^[a-zA-Z0-9\\']*$', + propWithNumber: { + type: 'array', + contains: { + type: 'number', + }, }, }, } as const; " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithProperties.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithDictionary.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithProperties = { - description: \`This is a model with one nested property\`, +export const $ModelWithDictionary = { + description: \`This is a model with one property containing a dictionary\`, properties: { - required: { - type: 'string', - isRequired: true, - }, - requiredAndReadOnly: { - type: 'string', - isReadOnly: true, - isRequired: true, - }, - requiredAndNullable: { - type: 'string', - isRequired: true, - isNullable: true, - }, - string: { - type: 'string', - }, - number: { - type: 'number', - }, - boolean: { - type: 'boolean', - }, - reference: { - type: 'ModelWithString', - }, - 'property with space': { - type: 'string', - }, - default: { - type: 'string', - }, - try: { - type: 'string', - }, - '@namespace.string': { - type: 'string', - isReadOnly: true, - }, - '@namespace.integer': { - type: 'number', - isReadOnly: true, + prop: { + type: 'dictionary', + contains: { + type: 'string', + }, }, }, } as const; " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithReference.ts 1`] = ` +exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$ModelWithEnum.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithReference = { - description: \`This is a model with one property containing a reference\`, +export const $ModelWithEnum = { + description: \`This is a model with one enum\`, properties: { - prop: { - type: 'ModelWithProperties', + test: { + type: 'Enum', + }, + statusCode: { + type: 'Enum', + }, + bool: { + type: 'boolean', + description: \`Simple boolean enum\`, }, }, } as const; @@ -10207,101 +5689,14 @@ export const $Pageable = { " `; -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleBoolean.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleBoolean = { - type: 'boolean', - description: \`This is a simple boolean\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleFile.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleFile = { - type: 'binary', - description: \`This is a simple file\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleInteger.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleInteger = { - type: 'number', - description: \`This is a simple number\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleParameter.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleParameter = { - type: 'string', - description: \`This is a reusable parameter\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleReference.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleReference = { - type: 'ModelWithString', - description: \`This is a simple reference\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleString.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleString = { - type: 'string', - description: \`This is a simple string\`, -} as const; -" -`; - -exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/schemas/$SimpleStringWithPattern.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $SimpleStringWithPattern = { - type: 'string', - description: \`This is a simple string\`, - isNullable: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', -} as const; -" -`; - exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCoreLocation/services/CollectionFormatService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class CollectionFormatService { /** * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) @@ -10342,9 +5737,9 @@ import type { ModelWithArray } from '../models/ModelWithArray'; import type { ModelWithDictionary } from '../models/ModelWithDictionary'; import type { ModelWithEnum } from '../models/ModelWithEnum'; import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class ComplexService { /** * @param parameterObject Parameter containing object @@ -10414,9 +5809,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class DefaultService { /** * @throws ApiError @@ -10437,9 +5832,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class DefaultsService { /** * @param parameterString This is a simple string with default value @@ -10542,9 +5937,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* tslint:disable */ /* eslint-disable */ import type { DeprecatedModel } from '../models/DeprecatedModel'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class DeprecatedService { /** * @deprecated @@ -10570,9 +5965,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class DescriptionsService { /** * @param parameterWithBreaks Testing multiline comments in string: First line @@ -10615,9 +6010,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class DuplicateService { /** * @throws ApiError @@ -10664,9 +6059,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class ErrorService { /** * @param status Status code to return @@ -10699,9 +6094,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class FormDataService { /** * @param parameter This is a reusable parameter @@ -10730,9 +6125,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class HeaderService { /** * @returns string Successful response @@ -10759,9 +6154,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class MultipartService { /** * @param formData @@ -10804,9 +6199,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class MultipleTags1Service { /** * @returns void @@ -10837,9 +6232,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class MultipleTags2Service { /** * @returns void @@ -10870,9 +6265,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class MultipleTags3Service { /** * @returns void @@ -10893,9 +6288,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class NoContentService { /** * @returns void @@ -10918,9 +6313,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; import type { Pageable } from '../models/Pageable'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class ParametersService { /** * @param parameterHeader This is the parameter that goes into the header @@ -11053,9 +6448,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* tslint:disable */ /* eslint-disable */ import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class RequestBodyService { /** * @param parameter This is a reusable parameter @@ -11087,9 +6482,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo import type { ModelThatExtends } from '../models/ModelThatExtends'; import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class ResponseService { /** * @returns ModelWithString @@ -11147,9 +6542,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class SimpleService { /** * @throws ApiError @@ -11223,9 +6618,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class TypesService { /** * @param parameterArray This is an array parameter @@ -11277,9 +6672,9 @@ exports[`v3WithCustomCoreLocation should generate: test/generated/v3WithCustomCo /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../bin/core/CancelablePromise'; -import { OpenAPI } from '../../bin/core/OpenAPI'; -import { request as __request } from '../../bin/core/request'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; export class UploadService { /** * @param file Supply a file reference for upload diff --git a/test/index.spec.ts b/test/index.spec.ts index f27dba009..1584e071b 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -58,7 +58,7 @@ describe('v3WithCustomCoreLocation', () => { exportModels: true, exportServices: true, postfixModels: 'Dto', - coreLocation: './test/generated/bin/core', + coreLocation: './test/generated/v3/core', }); sync('./test/generated/v3WithCustomCoreLocation/**/*.ts').forEach(file => { @@ -81,7 +81,7 @@ describe('changeQueryParametersToObj', () => { exportModels: true, exportServices: true, postfixModels: 'Dto', - coreLocation: './test/generated/bin/core', + coreLocation: './test/generated/v3/core', queryAsObject: true, }); sync('./test/generated/changeQueryParametersToObj/**/*.ts').forEach(file => { @@ -104,7 +104,7 @@ describe('constEnumValue', () => { exportModels: true, exportServices: true, postfixModels: 'Dto', - coreLocation: './test/generated/bin/core', + coreLocation: './test/generated/v3/core', queryAsObject: true, }); sync('./test/generated/constEnumValue/**/*.ts').forEach(file => { @@ -113,3 +113,26 @@ describe('constEnumValue', () => { }); }); }); + +describe('allOfCombined', () => { + it('should generate', async () => { + await generate({ + input: './test/spec/allOfCombined.yaml', + output: './test/generated/allOfCombined/', + httpClient: HttpClient.FETCH, + useOptions: false, + useUnionTypes: false, + exportCore: true, + exportSchemas: true, + exportModels: true, + exportServices: true, + postfixModels: 'Dto', + coreLocation: './test/generated/v3/core', + queryAsObject: true, + }); + sync('./test/generated/allOfCombined/**/*.ts').forEach(file => { + const content = readFileSync(file, 'utf8').toString(); + expect(content).toMatchSnapshot(file); + }); + }); +}); diff --git a/test/spec/allOfCombined.yaml b/test/spec/allOfCombined.yaml new file mode 100644 index 000000000..297177780 --- /dev/null +++ b/test/spec/allOfCombined.yaml @@ -0,0 +1,58 @@ +openapi: 3.0.0 +info: + version: 1.0.0 + title: thing API + description: An API for Everything . +paths: + /thing: + get: + parameters: + - $ref: '#/components/parameters/paramQuery1' + - $ref: '#/components/parameters/paramQuery2' + operationId: GetAllThings + responses: + '200': + description: Get All Things + content: + application/json: + schema: + $ref: '#/components/schemas/responseObj' +components: + parameters: + paramQuery1: + name: paramQuery1 + in: query + schema: + $ref: '#/components/schemas/paramTypeEnum1' + paramQuery2: + name: paramQuery2 + in: query + schema: + type: string + schemas: + paramTypeEnum1: + type: string + enum: + - type1 + - type2 + - type3 + responseObj: + type: object + allOf: + - $ref: '#/components/schemas/responseObj1' + - $ref: '#/components/schemas/responseObj2' + responseObj1: + type: object + required: + - property1 + properties: + property1: + type: string + + responseObj2: + type: object + required: + - property2 + properties: + property2: + type: string From 3f9e5212c3c7f8451556876822326c808b767980 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 16 Apr 2024 20:23:26 +0100 Subject: [PATCH 62/70] 1.3.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index fe8225eff..83d57f0af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.4", + "version": "1.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.4", + "version": "1.3.0", "license": "MIT", "dependencies": { "@apidevtools/json-schema-ref-parser": "^11.5.4", diff --git a/package.json b/package.json index c211d4bef..1b56a53fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.2.4", + "version": "1.3.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 93688ae79aea36e579a19241331ac034169ffc01 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 16 Apr 2024 20:33:20 +0100 Subject: [PATCH 63/70] Fix prune --- src/openApi/v3/parser/pruneModels.ts | 9 +++ test/__snapshots__/index.spec.ts.snap | 101 ++++++++++++++++++++++++++ test/spec/allOfCombined.yaml | 10 +++ 3 files changed, 120 insertions(+) diff --git a/src/openApi/v3/parser/pruneModels.ts b/src/openApi/v3/parser/pruneModels.ts index 6a250d669..015d468a6 100644 --- a/src/openApi/v3/parser/pruneModels.ts +++ b/src/openApi/v3/parser/pruneModels.ts @@ -14,6 +14,15 @@ export const pruneModels = (models: Model[], services: Service[]) => { break; } } + for (const mod2 of models) { + if (mod2.name === mod.name) { + continue; + } + if (mod2.imports.includes(mod.name)) { + useful = true; + break; + } + } if (!useful) { removeModNames.push(mod.name); } diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index b6acdfb41..444970052 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -8,9 +8,11 @@ exports[`allOfCombined should generate: test/generated/allOfCombined/index.ts 1` export { paramTypeEnum1 as paramTypeEnum1Dto } from './models/paramTypeEnum1'; export type { responseObj as responseObjDto } from './models/responseObj'; +export type { responseObj3 as responseObj3Dto } from './models/responseObj3'; export { $paramTypeEnum1 } from './schemas/$paramTypeEnum1'; export { $responseObj } from './schemas/$responseObj'; +export { $responseObj3 } from './schemas/$responseObj3'; export { DefaultService } from './services/DefaultService'; " @@ -34,9 +36,23 @@ exports[`allOfCombined should generate: test/generated/allOfCombined/models/resp /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { responseObj3 } from './responseObj3'; export type responseObj = { property1: string; property2: string; + property3?: responseObj3; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/responseObj3.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type responseObj3 = { + subProperty1: string; }; " @@ -68,6 +84,25 @@ export const $responseObj = { type: 'string', isRequired: true, }, + property3: { + type: 'responseObj3', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$responseObj3.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $responseObj3 = { + properties: { + subProperty1: { + type: 'string', + isRequired: true, + }, }, } as const; " @@ -162,8 +197,12 @@ exports[`constEnumValue should generate: test/generated/constEnumValue/index.ts /* eslint-disable */ export type { responseObj as responseObjDto } from './models/responseObj'; +export type { thingObj as thingObjDto } from './models/thingObj'; +export { thingsEnum as thingsEnumDto } from './models/thingsEnum'; export { $responseObj } from './schemas/$responseObj'; +export { $thingObj } from './schemas/$thingObj'; +export { $thingsEnum } from './schemas/$thingsEnum'; export { DefaultService } from './services/DefaultService'; " @@ -184,6 +223,33 @@ export type responseObj = { " `; +exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type thingObj = { + name: string; + createdAt: string; + updatedAt: string; +}; + +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingsEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum thingsEnum { + THING1 = 'thing1', + ALSO_THING2 = 'alsoThing2', + MEGA_THING3 = 'megaThing3', +} +" +`; + exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$responseObj.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ @@ -204,6 +270,41 @@ export const $responseObj = { " `; +exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $thingObj = { + properties: { + name: { + type: 'string', + isRequired: true, + }, + createdAt: { + type: 'string', + isRequired: true, + }, + updatedAt: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingsEnum.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $thingsEnum = { + type: 'Enum', +} as const; +" +`; + exports[`constEnumValue should generate: test/generated/constEnumValue/services/DefaultService.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ diff --git a/test/spec/allOfCombined.yaml b/test/spec/allOfCombined.yaml index 297177780..d4732638e 100644 --- a/test/spec/allOfCombined.yaml +++ b/test/spec/allOfCombined.yaml @@ -56,3 +56,13 @@ components: properties: property2: type: string + property3: + $ref: '#/components/schemas/responseObj3' + + responseObj3: + type: object + required: + - subProperty1 + properties: + subProperty1: + type: string From cecf1a646ff6d0dc653728d7d1a2904a3b51abcb Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 16 Apr 2024 20:33:28 +0100 Subject: [PATCH 64/70] 1.4.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83d57f0af..83ab7afc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.3.0", + "version": "1.4.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.3.0", + "version": "1.4.0", "license": "MIT", "dependencies": { "@apidevtools/json-schema-ref-parser": "^11.5.4", diff --git a/package.json b/package.json index 1b56a53fd..807c99916 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.3.0", + "version": "1.4.0", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 89a984cb4c6d76389e32a8ec059eabf5376b9f77 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 16 Apr 2024 20:37:47 +0100 Subject: [PATCH 65/70] Update models get all --- src/openApi/v3/parser/getModel.ts | 71 ++++++++++++++++--------------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/src/openApi/v3/parser/getModel.ts b/src/openApi/v3/parser/getModel.ts index 37692b602..c03e9d406 100644 --- a/src/openApi/v3/parser/getModel.ts +++ b/src/openApi/v3/parser/getModel.ts @@ -163,41 +163,44 @@ export const getModel = ( } if (definition.allOf?.length) { - // const composition = getModelComposition(openApi, definition, definition.allOf, 'all-of', getModel); - // model.export = composition.type; - // model.imports.push(...composition.imports); - // model.properties.push(...composition.properties); - // model.enums.push(...composition.enums); - model.export = 'interface'; - model.type = 'any'; - model.base = 'any'; - model.default = getModelDefault(definition, model); + if (definition.allOf.length === 1) { + const composition = getModelComposition(openApi, definition, definition.allOf, 'all-of', getModel); + model.export = composition.type; + model.imports.push(...composition.imports); + model.properties.push(...composition.properties); + model.enums.push(...composition.enums); + } else { + model.export = 'interface'; + model.type = 'any'; + model.base = 'any'; + model.default = getModelDefault(definition, model); - definition.allOf.forEach((def, index) => { - if (def.$ref) { - const ref = getRef(openApi, def); - // const refModel = getModel(openApi, ref); - const refProperties = getModelProperties(openApi, ref, getModel, model); - refProperties.forEach(modelProperty => { - model.imports.push(...modelProperty.imports); - model.enums.push(...modelProperty.enums); - model.properties.push(modelProperty); - if (modelProperty.export === 'enum') { - model.enums.push(modelProperty); - } - }); - } else { - const refProperties = getModelProperties(openApi, def, getModel, model); - refProperties.forEach(modelProperty => { - model.imports.push(...modelProperty.imports); - model.enums.push(...modelProperty.enums); - model.properties.push(modelProperty); - if (modelProperty.export === 'enum') { - model.enums.push(modelProperty); - } - }); - } - }); + definition.allOf.forEach((def, index) => { + if (def.$ref) { + const ref = getRef(openApi, def); + // const refModel = getModel(openApi, ref); + const refProperties = getModelProperties(openApi, ref, getModel, model); + refProperties.forEach(modelProperty => { + model.imports.push(...modelProperty.imports); + model.enums.push(...modelProperty.enums); + model.properties.push(modelProperty); + if (modelProperty.export === 'enum') { + model.enums.push(modelProperty); + } + }); + } else { + const refProperties = getModelProperties(openApi, def, getModel, model); + refProperties.forEach(modelProperty => { + model.imports.push(...modelProperty.imports); + model.enums.push(...modelProperty.enums); + model.properties.push(modelProperty); + if (modelProperty.export === 'enum') { + model.enums.push(modelProperty); + } + }); + } + }); + } return model; } From c2c81f5700a923b5e7ff13568a6e099fcecb50f8 Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 16 Apr 2024 20:38:00 +0100 Subject: [PATCH 66/70] 1.4.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83ab7afc5..f9057e8b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.4.0", + "version": "1.4.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.4.0", + "version": "1.4.1", "license": "MIT", "dependencies": { "@apidevtools/json-schema-ref-parser": "^11.5.4", diff --git a/package.json b/package.json index 807c99916..b990e7399 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formatsocial/openapi-typescript-codegen", - "version": "1.4.0", + "version": "1.4.1", "description": "Library that generates Typescript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "repository": { From 5b3abfe7d33cb8a44aca5ddc02a017ed9cbc9fce Mon Sep 17 00:00:00 2001 From: anthony lock Date: Tue, 16 Apr 2024 22:11:11 +0100 Subject: [PATCH 67/70] Update get model --- src/openApi/v3/parser/getModel.ts | 6 +- test/__snapshots__/index.spec.ts.snap | 30161 ++++++++++++++++++++---- test/spec/allOfCombined.yaml | 12 + 3 files changed, 26120 insertions(+), 4059 deletions(-) diff --git a/src/openApi/v3/parser/getModel.ts b/src/openApi/v3/parser/getModel.ts index c03e9d406..29ec83bcc 100644 --- a/src/openApi/v3/parser/getModel.ts +++ b/src/openApi/v3/parser/getModel.ts @@ -178,9 +178,9 @@ export const getModel = ( definition.allOf.forEach((def, index) => { if (def.$ref) { const ref = getRef(openApi, def); - // const refModel = getModel(openApi, ref); - const refProperties = getModelProperties(openApi, ref, getModel, model); - refProperties.forEach(modelProperty => { + const refModel = getModel(openApi, ref); + // const refProperties = getModelProperties(openApi, refModel, getModel, model); + refModel.properties.forEach(modelProperty => { model.imports.push(...modelProperty.imports); model.enums.push(...modelProperty.enums); model.properties.push(modelProperty); diff --git a/test/__snapshots__/index.spec.ts.snap b/test/__snapshots__/index.spec.ts.snap index 444970052..1804fc181 100644 --- a/test/__snapshots__/index.spec.ts.snap +++ b/test/__snapshots__/index.spec.ts.snap @@ -18,3724 +18,21295 @@ export { DefaultService } from './services/DefaultService'; " `; -exports[`allOfCombined should generate: test/generated/allOfCombined/models/paramTypeEnum1.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/AddSpaceToSpaceGroup.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export enum paramTypeEnum1 { - TYPE1 = 'type1', - TYPE2 = 'type2', - TYPE3 = 'type3', -} +export type AddSpaceToSpaceGroup = { + spaceId: string; +}; + " `; -exports[`allOfCombined should generate: test/generated/allOfCombined/models/responseObj.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/AddUserToOrganisationGroup.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { responseObj3 } from './responseObj3'; -export type responseObj = { - property1: string; - property2: string; - property3?: responseObj3; +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type AddUserToOrganisationGroup = { + userId: string; + userPermissions: GroupUserPermissions; }; " `; -exports[`allOfCombined should generate: test/generated/allOfCombined/models/responseObj3.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/AddUserToSpaceGroup.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type responseObj3 = { - subProperty1: string; +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type AddUserToSpaceGroup = { + userId: string; + userPermissions: GroupUserPermissions; }; " `; -exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$paramTypeEnum1.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/AddUserToTeamGroup.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $paramTypeEnum1 = { - type: 'Enum', -} as const; +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type AddUserToTeamGroup = { + userId: string; + userPermissions: GroupUserPermissions; +}; + " `; -exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$responseObj.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ApplicationError.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $responseObj = { - properties: { - property1: { - type: 'string', - isRequired: true, - }, - property2: { - type: 'string', - isRequired: true, - }, - property3: { - type: 'responseObj3', - }, - }, -} as const; +export type ApplicationError = { + /** + * Error code + */ + code: number; + /** + * Error message + */ + message: string; +}; + " `; -exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$responseObj3.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Asset.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $responseObj3 = { - properties: { - subProperty1: { - type: 'string', - isRequired: true, - }, - }, -} as const; +import type { AssetType } from './AssetType'; +import type { OwnerType } from './OwnerType'; +export type Asset = { + /** + * Unique id of the organisation + */ + id: string; + /** + * Name of the organisation + */ + name: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + contentType: AssetType; + ownerType: OwnerType; + /** + * boolean to see if the background has been removed or not. + */ + backgroundRemoved: boolean; + /** + * boolean to see if the upscaled. + */ + upscaled: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processed: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processedRemoveBackground: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processedFailed: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processedRemoveBackgroundFailed: boolean; + /** + * boolean to see if the images has come from unsplash or not. + */ + unsplash: boolean; + /** + * unsplash Id + */ + unsplashId?: string; + /** + * unsplash Raw URL + */ + unsplashRawURL?: string; + /** + * unsplash Full Size URL + */ + unsplashFullURL?: string; + /** + * unsplash Regular URL + */ + unsplashRegularURL?: string; + /** + * unsplash Small URL + */ + unsplashSmallURL?: string; + /** + * unsplash Thumb URL + */ + unsplashThumbURL?: string; + /** + * unsplash Download URL + */ + unsplashDownloadURL?: string; + /** + * unsplash description + */ + unsplashDescription?: string; + /** + * width of the image + */ + width?: number; + /** + * height of the image + */ + height?: number; +}; + " `; -exports[`allOfCombined should generate: test/generated/allOfCombined/services/DefaultService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/AssetTransformationQueryParamSchema.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { paramTypeEnum1 } from '../models/paramTypeEnum1'; -import type { responseObj } from '../models/responseObj'; -import type { CancelablePromise } from '../../v3/core/CancelablePromise'; -import { OpenAPI } from '../../v3/core/OpenAPI'; -import { request as __request } from '../../v3/core/request'; -export class DefaultService { - /** - * queryObj = { - * @param paramQuery1 - * @param paramQuery2 - * } - * @returns responseObj Get All Things - * @throws ApiError - */ - public static getAllThings(queryObj?:{ - paramQuery1?: paramTypeEnum1, - paramQuery2?: string, - }, - ): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/thing', - query: queryObj? { - 'paramQuery1': queryObj.paramQuery1, - 'paramQuery2': queryObj.paramQuery2, - }: undefined, - }); - } +export enum AssetTransformationQueryParamSchema { + REMOVE_BACKGROUND = 'remove-background', + UPSCALING = 'upscaling', } " `; -exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/index.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/AssetType.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - -export { DefaultService } from './services/DefaultService'; +export enum AssetType { + IMAGE = 'image', + FONT = 'font', + TEMPLATE_MEDIA = 'template-media', + STICKERS = 'stickers', +} " `; -exports[`changeQueryParametersToObj should generate: test/generated/changeQueryParametersToObj/services/DefaultService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/AvatarUrl.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../../v3/core/CancelablePromise'; -import { OpenAPI } from '../../v3/core/OpenAPI'; -import { request as __request } from '../../v3/core/request'; -export class DefaultService { +export type AvatarUrl = { /** - * queryObj = { - * @param orderBy - * @param orderByOrder - * } - * @returns string Get All Things - * @throws ApiError - */ - public static getAllThings(queryObj?:{ - orderBy?: 'name' | 'createdAt' | 'updatedAt', - orderByOrder?: 'asc' | 'desc', - }, - ): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/thing', - query: queryObj? { - 'orderBy': queryObj.orderBy, - 'orderByOrder': queryObj.orderByOrder, - }: undefined, - }); - } -} + * url of the avatar + */ + avatarUrl: string; +}; + " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/index.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BaseDataSchema.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +export type BaseDataSchema = { + name: string; + label: string; +}; -export type { responseObj as responseObjDto } from './models/responseObj'; -export type { thingObj as thingObjDto } from './models/thingObj'; -export { thingsEnum as thingsEnumDto } from './models/thingsEnum'; +" +`; -export { $responseObj } from './schemas/$responseObj'; -export { $thingObj } from './schemas/$thingObj'; -export { $thingsEnum } from './schemas/$thingsEnum'; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BaseSchema.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +export type BaseSchema = { + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; -export { DefaultService } from './services/DefaultService'; " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/models/responseObj.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BaseSchemaStatus.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { thingObj } from './thingObj'; -import type { thingsEnum } from './thingsEnum'; -export type responseObj = { - control: thingsEnum.THING1; - data: thingObj; -}; +export enum BaseSchemaStatus { + PENDING = 'pending', + DELETED = 'deleted', + INVALID = 'invalid', +} +" +`; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanBooleanValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type BooleanBooleanValue = boolean; " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingObj.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type thingObj = { - name: string; - createdAt: string; - updatedAt: string; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { BooleanFieldData } from './BooleanFieldData'; +export type BooleanField = { + control: 'boolean'; + data: BooleanFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; }; " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/models/thingsEnum.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export enum thingsEnum { - THING1 = 'thing1', - ALSO_THING2 = 'alsoThing2', - MEGA_THING3 = 'megaThing3', -} +import type { BooleanFieldValue } from './BooleanFieldValue'; +export type BooleanFieldData = { + value: boolean; + checkedValue: BooleanFieldValue; + uncheckedValue: BooleanFieldValue; + name: string; + label: string; +}; + " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$responseObj.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $responseObj = { - properties: { - control: { - type: 'thingsEnum.THING1', - isRequired: true, - }, - data: { - type: 'thingObj', - isRequired: true, - }, - }, -} as const; +import type { BooleanFieldValue } from './BooleanFieldValue'; +export type BooleanFieldDataDetails = { + value: boolean; + checkedValue: BooleanFieldValue; + uncheckedValue: BooleanFieldValue; +}; + " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingObj.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $thingObj = { - properties: { - name: { - type: 'string', - isRequired: true, - }, - createdAt: { - type: 'string', - isRequired: true, - }, - updatedAt: { - type: 'string', - isRequired: true, - }, - }, -} as const; +import type { BooleanFieldData } from './BooleanFieldData'; +import type { ControlType } from './ControlType'; +export type BooleanFieldDetails = { + control: ControlType.BOOLEAN; + data: BooleanFieldData; +}; + " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/schemas/$thingsEnum.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanFieldValue.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $thingsEnum = { - type: 'Enum', -} as const; +import type { BooleanBooleanValue } from './BooleanBooleanValue'; +import type { BooleanNumberValue } from './BooleanNumberValue'; +import type { BooleanStringValue } from './BooleanStringValue'; +export type BooleanFieldValue = (BooleanStringValue | BooleanNumberValue | BooleanBooleanValue); + " `; -exports[`constEnumValue should generate: test/generated/constEnumValue/services/DefaultService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanNumberValue.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { responseObj } from '../models/responseObj'; -import type { CancelablePromise } from '../../v3/core/CancelablePromise'; -import { OpenAPI } from '../../v3/core/OpenAPI'; -import { request as __request } from '../../v3/core/request'; -export class DefaultService { - /** - * @returns responseObj Get All Things - * @throws ApiError - */ - public static getAllThings(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/thing', - }); - } -} +export type BooleanNumberValue = number; " `; -exports[`v2 should generate: test/generated/v2/core/ApiError.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/BooleanStringValue.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; - -export class ApiError extends Error { - public readonly url: string; - public readonly status: number; - public readonly statusText: string; - public readonly body: any; - public readonly request: ApiRequestOptions; - - constructor(request: ApiRequestOptions, response: ApiResult, message: string) { - super(message); - - this.name = 'ApiError'; - this.url = response.url; - this.status = response.status; - this.statusText = response.statusText; - this.body = response.body; - this.request = request; - } -} +export type BooleanStringValue = string; " `; -exports[`v2 should generate: test/generated/v2/core/ApiRequestOptions.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type ApiRequestOptions = { - readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; - readonly url: string; - readonly path?: Record; - readonly cookies?: Record; - readonly headers?: Record; - readonly query?: Record; - readonly formData?: Record; - readonly body?: any; - readonly mediaType?: string; - readonly responseHeader?: string; - readonly errors?: Record; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { ColourFieldData } from './ColourFieldData'; +export type ColourField = { + control: 'colour'; + data: ColourFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; }; + " `; -exports[`v2 should generate: test/generated/v2/core/ApiResult.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldConicalGradientColourInterpolationMethod.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type ApiResult = { - readonly url: string; - readonly ok: boolean; - readonly status: number; - readonly statusText: string; - readonly body: any; -}; +export enum ColourFieldConicalGradientColourInterpolationMethod { + RECTANGULAR_COLOUR_SPACE = 'rectangular-colour-space', + POLAR_COLOUR_SPACE = 'polar-colour-space', +} " `; -exports[`v2 should generate: test/generated/v2/core/CancelablePromise.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldConicalGradientPolarColourSpace.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export class CancelError extends Error { - - constructor(message: string) { - super(message); - this.name = 'CancelError'; - } - - public get isCancelled(): boolean { - return true; - } +export enum ColourFieldConicalGradientPolarColourSpace { + HSL = 'hsl', + HWB = 'hwb', + LCH = 'lch', + OKLCH = 'oklch', } +" +`; -export interface OnCancel { - readonly isResolved: boolean; - readonly isRejected: boolean; - readonly isCancelled: boolean; - - (cancelHandler: () => void): void; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldConicalGradientPolarHue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ColourFieldConicalGradientPolarHue { + SHORTER = 'shorter', + LONGER = 'longer', + INCREASING = 'increasing', + DECREASING = 'decreasing', } +" +`; -export class CancelablePromise implements Promise { - #isResolved: boolean; - #isRejected: boolean; - #isCancelled: boolean; - readonly #cancelHandlers: (() => void)[]; - readonly #promise: Promise; - #resolve?: (value: T | PromiseLike) => void; - #reject?: (reason?: any) => void; - - constructor( - executor: ( - resolve: (value: T | PromiseLike) => void, - reject: (reason?: any) => void, - onCancel: OnCancel - ) => void - ) { - this.#isResolved = false; - this.#isRejected = false; - this.#isCancelled = false; - this.#cancelHandlers = []; - this.#promise = new Promise((resolve, reject) => { - this.#resolve = resolve; - this.#reject = reject; - - const onResolve = (value: T | PromiseLike): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isResolved = true; - if (this.#resolve) this.#resolve(value); - }; - - const onReject = (reason?: any): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isRejected = true; - if (this.#reject) this.#reject(reason); - }; - - const onCancel = (cancelHandler: () => void): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#cancelHandlers.push(cancelHandler); - }; - - Object.defineProperty(onCancel, 'isResolved', { - get: (): boolean => this.#isResolved, - }); - - Object.defineProperty(onCancel, 'isRejected', { - get: (): boolean => this.#isRejected, - }); - - Object.defineProperty(onCancel, 'isCancelled', { - get: (): boolean => this.#isCancelled, - }); - - return executor(onResolve, onReject, onCancel as OnCancel); - }); - } - - get [Symbol.toStringTag]() { - return "Cancellable Promise"; - } - - public then( - onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, - onRejected?: ((reason: any) => TResult2 | PromiseLike) | null - ): Promise { - return this.#promise.then(onFulfilled, onRejected); - } - - public catch( - onRejected?: ((reason: any) => TResult | PromiseLike) | null - ): Promise { - return this.#promise.catch(onRejected); - } - - public finally(onFinally?: (() => void) | null): Promise { - return this.#promise.finally(onFinally); - } - - public cancel(): void { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isCancelled = true; - if (this.#cancelHandlers.length) { - try { - for (const cancelHandler of this.#cancelHandlers) { - cancelHandler(); - } - } catch (error) { - console.warn('Cancellation threw an error', error); - return; - } - } - this.#cancelHandlers.length = 0; - if (this.#reject) this.#reject(new CancelError('Request aborted')); - } - - public get isCancelled(): boolean { - return this.#isCancelled; - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldConicalGradientRectangularColourSpace.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ColourFieldConicalGradientRectangularColourSpace { + SRGB = 'srgb', + SRGB_LINEAR = 'srgb-linear', + DISPLAY_P3 = 'display-p3', + A98_RGB = 'a98-rgb', + PROPHOTO_RGB = 'prophoto-rgb', + REC2020 = 'rec2020', + LAB = 'lab', + OKLAB = 'oklab', + XYZ = 'xyz', + XYZ_D50 = 'xyz-d50', + XYZ_D65 = 'xyz-d65', } " `; -exports[`v2 should generate: test/generated/v2/core/OpenAPI.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; +import type { ColourFieldGradient } from './ColourFieldGradient'; +import type { ColourFieldMode } from './ColourFieldMode'; +import type { ColourFieldType } from './ColourFieldType'; +export type ColourFieldData = { + value: string; + mode: ColourFieldMode; + allowAdditionalColours: boolean; + allowGradientChangesInPost: boolean; + allowColourAdjustmentsInPost?: boolean; + availableColours: Array; + additionalColours: Array; + gradient?: ColourFieldGradient; + name: string; + label: string; +}; -type Resolver = (options: ApiRequestOptions) => Promise; -type Headers = Record; +" +`; -export type OpenAPIConfig = { - BASE: string; - VERSION: string; - WITH_CREDENTIALS: boolean; - CREDENTIALS: 'include' | 'omit' | 'same-origin'; - TOKEN?: string | Resolver | undefined; - USERNAME?: string | Resolver | undefined; - PASSWORD?: string | Resolver | undefined; - HEADERS?: Headers | Resolver | undefined; - ENCODE_PATH?: ((path: string) => string) | undefined; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ColourFieldGradient } from './ColourFieldGradient'; +import type { ColourFieldMode } from './ColourFieldMode'; +import type { ColourFieldType } from './ColourFieldType'; +export type ColourFieldDataDetails = { + value: string; + mode: ColourFieldMode; + allowAdditionalColours: boolean; + allowGradientChangesInPost: boolean; + allowColourAdjustmentsInPost?: boolean; + availableColours: Array; + additionalColours: Array; + gradient?: ColourFieldGradient; }; -export const OpenAPI: OpenAPIConfig = { - BASE: 'http://localhost:3000/base', - VERSION: '1.0', - WITH_CREDENTIALS: false, - CREDENTIALS: 'include', - TOKEN: undefined, - USERNAME: undefined, - PASSWORD: undefined, - HEADERS: undefined, - ENCODE_PATH: undefined, -}; " `; -exports[`v2 should generate: test/generated/v2/core/request.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import { ApiError } from './ApiError'; -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; -import { CancelablePromise } from './CancelablePromise'; -import type { OnCancel } from './CancelablePromise'; -import type { OpenAPIConfig } from './OpenAPI'; - -export const isDefined = (value: T | null | undefined): value is Exclude => { - return value !== undefined && value !== null; +import type { ColourFieldData } from './ColourFieldData'; +import type { ControlType } from './ControlType'; +export type ColourFieldDetails = { + control: ControlType.COLOUR; + data: ColourFieldData; }; -export const isString = (value: any): value is string => { - return typeof value === 'string'; -}; +" +`; -export const isStringWithValue = (value: any): value is string => { - return isString(value) && value !== ''; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldGradient.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ColourFieldConicalGradientColourInterpolationMethod } from './ColourFieldConicalGradientColourInterpolationMethod'; +import type { ColourFieldConicalGradientPolarColourSpace } from './ColourFieldConicalGradientPolarColourSpace'; +import type { ColourFieldConicalGradientPolarHue } from './ColourFieldConicalGradientPolarHue'; +import type { ColourFieldConicalGradientRectangularColourSpace } from './ColourFieldConicalGradientRectangularColourSpace'; +import type { ColourFieldGradientMode } from './ColourFieldGradientMode'; +import type { ColourFieldGradientPosition } from './ColourFieldGradientPosition'; +import type { ColourFieldRadialGradientShape } from './ColourFieldRadialGradientShape'; +import type { ColourFieldRadialGradientSize } from './ColourFieldRadialGradientSize'; +export type ColourFieldGradient = { + gradientMode?: ColourFieldGradientMode; + linearGradientDirection?: string; + linearGradientDirectionCustom?: string; + radialGradientShape?: ColourFieldRadialGradientShape; + radialGradientSize?: ColourFieldRadialGradientSize; + radialGradientLength1?: number; + radialGradientLength2?: number; + conicalGradientAngle?: number; + conicalGradientColourInterpolationMethod?: ColourFieldConicalGradientColourInterpolationMethod; + conicalGradientRectangularColourSpace?: ColourFieldConicalGradientRectangularColourSpace; + conicalGradientPolarColourSpace?: ColourFieldConicalGradientPolarColourSpace; + conicalGradientPolarHue?: ColourFieldConicalGradientPolarHue; + gradientPosition1?: ColourFieldGradientPosition; + gradientPosition2?: ColourFieldGradientPosition; + gradientPosition1Length?: number; + gradientPosition2Length?: number; }; -export const isBlob = (value: any): value is Blob => { - return ( - typeof value === 'object' && - typeof value.type === 'string' && - typeof value.stream === 'function' && - typeof value.arrayBuffer === 'function' && - typeof value.constructor === 'function' && - typeof value.constructor.name === 'string' && - /^(Blob|File)$/.test(value.constructor.name) && - /^(Blob|File)$/.test(value[Symbol.toStringTag]) - ); -}; - -export const isFormData = (value: any): value is FormData => { - return value instanceof FormData; -}; - -export const base64 = (str: string): string => { - try { - return btoa(str); - } catch (err) { - // @ts-ignore - return Buffer.from(str).toString('base64'); - } -}; +" +`; -export const getQueryString = (params: Record): string => { - const qs: string[] = []; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldGradientMode.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ColourFieldGradientMode { + LINEAR = 'linear', + RADIAL = 'radial', + CONIC = 'conic', + REPEATING_LINEAR = 'repeating-linear', + REPEATING_RADIAL = 'repeating-radial', + REPEATING_CONIC = 'repeating-conic', +} +" +`; - const append = (key: string, value: any) => { - qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); - }; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldGradientPosition.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ColourFieldGradientPosition { + LEFT = 'left', + CENTER = 'center', + RIGHT = 'right', + LENGTH = 'length', +} +" +`; - const process = (key: string, value: any) => { - if (isDefined(value)) { - if (Array.isArray(value)) { - value.forEach(v => { - process(key, v); - }); - } else if (typeof value === 'object') { - Object.entries(value).forEach(([k, v]) => { - process(\`\${key}[\${k}]\`, v); - }); - } else { - append(key, value); - } - } - }; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldMode.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ColourFieldMode { + SINGLE = 'single', + PALETTE = 'palette', + GRADIENT = 'gradient', +} +" +`; - Object.entries(params).forEach(([key, value]) => { - process(key, value); - }); +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldRadialGradientShape.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ColourFieldRadialGradientShape { + CIRCLE = 'circle', + ELLIPSE = 'ellipse', +} +" +`; - if (qs.length > 0) { - return \`?\${qs.join('&')}\`; - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldRadialGradientSize.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ColourFieldRadialGradientSize { + CLOSEST_SIDE = 'closest-side', + CLOSEST_CORNER = 'closest-corner', + FARTHEST_SIDE = 'farthest-side', + FARTHEST_CORNER = 'farthest-corner', + LENGTH = 'length', + LENGTH_PERCENTAGE = 'length-percentage', +} +" +`; - return ''; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ColourFieldType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type ColourFieldType = { + colour: string; + stopPosition1?: number; + stopPosition2?: number; + noColour?: boolean; + noColourValue?: number; + degrees?: boolean; }; -const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { - const encoder = config.ENCODE_PATH || encodeURI; +" +`; - const path = options.url - .replace('{api-version}', config.VERSION) - .replace(/{(.*?)}/g, (substring: string, group: string) => { - if (options.path?.hasOwnProperty(group)) { - return encoder(String(options.path[group])); - } - return substring; - }); +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ControlType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum ControlType { + TEXT = 'text', + JUSTIFIED_SCALING_TEXT = 'justifiedScalingText', + RICH_TEXT = 'richText', + BOOLEAN = 'boolean', + NUMBER = 'number', + OPTION = 'option', + OPTION_FROM_DATA = 'optionFromData', + IMAGE = 'image', + IMAGE_COLLECTION = 'imageCollection', + FEED = 'feed', + FONT = 'font', + COLOUR = 'colour', + JSON = 'json', + GPT = 'gpt', + MASTER_FIELD = 'masterField', +} +" +`; - const url = \`\${config.BASE}\${path}\`; - if (options.query) { - return \`\${url}\${getQueryString(options.query)}\`; - } - return url; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateAdminUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type CreateAdminUser = { + /** + * Email of the User + */ + email: string; }; -export const getFormData = (options: ApiRequestOptions): FormData | undefined => { - if (options.formData) { - const formData = new FormData(); +" +`; - const process = (key: string, value: any) => { - if (isString(value) || isBlob(value)) { - formData.append(key, value); - } else { - formData.append(key, JSON.stringify(value)); - } - }; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateAsset.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AssetType } from './AssetType'; +import type { OwnerType } from './OwnerType'; +export type CreateAsset = { + /** + * Name of the organisation + */ + name: string; + contentType: AssetType; + ownerType: OwnerType; + /** + * Content Type. + */ + contentSize: number; +}; - Object.entries(options.formData) - .filter(([_, value]) => isDefined(value)) - .forEach(([key, value]) => { - if (Array.isArray(value)) { - value.forEach(v => process(key, v)); - } else { - process(key, value); - } - }); +" +`; - return formData; - } - return undefined; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateAssetFromUnsplash.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OwnerType } from './OwnerType'; +export type CreateAssetFromUnsplash = { + imageId: string; + ownerType: OwnerType; }; -type Resolver = (options: ApiRequestOptions) => Promise; +" +`; -export const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => { - if (typeof resolver === 'function') { - return (resolver as Resolver)(options); - } - return resolver; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateFeed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OwnerType } from './OwnerType'; +export type CreateFeed = { + /** + * Name of the feed + */ + name: string; + /** + * The URL of the feed to capture + */ + url: string; + ownerType: OwnerType; }; -export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => { - const [token, username, password, additionalHeaders] = await Promise.all([ - resolve(options, config.TOKEN), - resolve(options, config.USERNAME), - resolve(options, config.PASSWORD), - resolve(options, config.HEADERS), - ]); +" +`; - const headers = Object.entries({ - Accept: 'application/json', - ...additionalHeaders, - ...options.headers, - }) - .filter(([_, value]) => isDefined(value)) - .reduce((headers, [key, value]) => ({ - ...headers, - [key]: String(value), - }), {} as Record); +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateJSON.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OwnerType } from './OwnerType'; +export type CreateJSON = { + /** + * Name of the json + */ + name: string; + /** + * The json object + */ + json: string; + ownerType: OwnerType; +}; - if (isStringWithValue(token)) { - headers['Authorization'] = \`Bearer \${token}\`; - } +" +`; - if (isStringWithValue(username) && isStringWithValue(password)) { - const credentials = base64(\`\${username}:\${password}\`); - headers['Authorization'] = \`Basic \${credentials}\`; - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateMasterField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ControlType } from './ControlType'; +import type { FieldType } from './FieldType'; +import type { OwnerType } from './OwnerType'; +export type CreateMasterField = { + /** + * Name of the json + */ + name: string; + ownerType: OwnerType; + field: FieldType; + controlType: ControlType; +}; - if (options.body !== undefined) { - if (options.mediaType) { - headers['Content-Type'] = options.mediaType; - } else if (isBlob(options.body)) { - headers['Content-Type'] = options.body.type || 'application/octet-stream'; - } else if (isString(options.body)) { - headers['Content-Type'] = 'text/plain'; - } else if (!isFormData(options.body)) { - headers['Content-Type'] = 'application/json'; - } - } +" +`; - return new Headers(headers); +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateOrganisation.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type CreateOrganisation = { + /** + * Name of the organisation + */ + name: string; }; -export const getRequestBody = (options: ApiRequestOptions): any => { - if (options.body !== undefined) { - if (options.mediaType?.includes('/json')) { - return JSON.stringify(options.body) - } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) { - return options.body; - } else { - return JSON.stringify(options.body); - } - } - return undefined; -}; +" +`; -export const sendRequest = async ( - config: OpenAPIConfig, - options: ApiRequestOptions, - url: string, - body: any, - formData: FormData | undefined, - headers: Headers, - onCancel: OnCancel -): Promise => { - const controller = new AbortController(); +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateOrganisationGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OrganisationManagement } from './OrganisationManagement'; +export type CreateOrganisationGroup = { + /** + * Name of the organisation group + */ + name: string; + permissions: OrganisationManagement; +}; - const request: RequestInit = { - headers, - body: body ?? formData, - method: options.method, - signal: controller.signal, - }; +" +`; - if (config.WITH_CREDENTIALS) { - request.credentials = config.CREDENTIALS; - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateOrganisationUserRequest.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type CreateOrganisationUserRequest = { + /** + * ID of the User + */ + userEmail: string; +}; - onCancel(() => controller.abort()); +" +`; - return await fetch(url, request); +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreatePost.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { PostDataType } from './PostDataType'; +export type CreatePost = { + /** + * Name of the Post + */ + title: string; + /** + * Id of the template + */ + templateId?: string; + /** + * The version of the template + */ + templateVersion?: string; + /** + * The owner of the template + */ + templateOwner?: string; + data?: PostDataType; }; -export const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => { - if (responseHeader) { - const content = response.headers.get(responseHeader); - if (isString(content)) { - return content; - } - } - return undefined; -}; +" +`; -export const getResponseBody = async (response: Response): Promise => { - if (response.status !== 204) { - try { - const contentType = response.headers.get('Content-Type'); - if (contentType) { - const jsonTypes = ['application/json', 'application/problem+json'] - const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type)); - if (isJSON) { - return await response.json(); - } else { - return await response.text(); - } - } - } catch (error) { - console.error(error); - } - } - return undefined; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateSpace.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type CreateSpace = { + /** + * Name of the Space + */ + name: string; }; -export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => { - const errors: Record = { - 400: 'Bad Request', - 401: 'Unauthorized', - 403: 'Forbidden', - 404: 'Not Found', - 500: 'Internal Server Error', - 502: 'Bad Gateway', - 503: 'Service Unavailable', - ...options.errors, - } +" +`; - const error = errors[result.status]; - if (error) { - throw new ApiError(options, result, error); - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateSpaceGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { SpaceManagement } from './SpaceManagement'; +export type CreateSpaceGroup = { + /** + * Name of the team group + */ + name: string; + permissions: SpaceManagement; +}; - if (!result.ok) { - const errorStatus = result.status ?? 'unknown'; - const errorStatusText = result.statusText ?? 'unknown'; - const errorBody = (() => { - try { - return JSON.stringify(result.body, null, 2); - } catch (e) { - return undefined; - } - })(); +" +`; - throw new ApiError(options, result, - \`Generic Error: status: \${errorStatus}; status text: \${errorStatusText}; body: \${errorBody}\` - ); - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateTeam.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type CreateTeam = { + /** + * Name of the Team + */ + name: string; }; -/** - * Request method - * @param config The OpenAPI configuration object - * @param options The request options from the service - * @returns CancelablePromise - * @throws ApiError - */ -export const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => { - return new CancelablePromise(async (resolve, reject, onCancel) => { - try { - const url = getUrl(config, options); - const formData = getFormData(options); - const body = getRequestBody(options); - const headers = await getHeaders(config, options); - - if (!onCancel.isCancelled) { - const response = await sendRequest(config, options, url, body, formData, headers, onCancel); - const responseBody = await getResponseBody(response); - const responseHeader = getResponseHeader(response, options.responseHeader); +" +`; - const result: ApiResult = { - url, - ok: response.ok, - status: response.status, - statusText: response.statusText, - body: responseHeader ?? responseBody, - }; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateTeamGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TeamManagement } from './TeamManagement'; +export type CreateTeamGroup = { + /** + * Name of the team group + */ + name: string; + permissions: TeamManagement; +}; - catchErrorCodes(options, result); +" +`; - resolve(result.body); - } - } catch (error) { - reject(error); - } - }); +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateTeamUserRequest.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type CreateTeamUserRequest = { + /** + * ID of the User + */ + userId: string; }; + " `; -exports[`v2 should generate: test/generated/v2/index.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateTemplate.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export { ApiError } from './core/ApiError'; -export { CancelablePromise, CancelError } from './core/CancelablePromise'; -export { OpenAPI } from './core/OpenAPI'; -export type { OpenAPIConfig } from './core/OpenAPI'; +import type { OwnerType } from './OwnerType'; +import type { TemplateDefinition } from './TemplateDefinition'; +import type { TemplateSchemaType } from './TemplateSchemaType'; +import type { TemplateVariation } from './TemplateVariation'; +export type CreateTemplate = { + /** + * Name of the Template + */ + title: string; + ownerType: OwnerType; + /** + * Name of the Template + */ + postTitle?: string; + schema?: TemplateSchemaType; + variations?: Record; + definitions?: Record; + variationsOrder?: Array; + definitionsOrder?: Array; + transparentBackground?: boolean; + /** + * scale Factor of the template + */ + scaleFactor?: number; + /** + * language settings to add to the template. + */ + langSettings?: string; +}; -export type { _default } from './models/_default'; -export type { ArrayWithArray } from './models/ArrayWithArray'; -export type { ArrayWithBooleans } from './models/ArrayWithBooleans'; -export type { ArrayWithNumbers } from './models/ArrayWithNumbers'; -export type { ArrayWithProperties } from './models/ArrayWithProperties'; -export type { ArrayWithReferences } from './models/ArrayWithReferences'; -export type { ArrayWithStrings } from './models/ArrayWithStrings'; -export type { CommentWithBackticks } from './models/CommentWithBackticks'; -export type { CommentWithBreaks } from './models/CommentWithBreaks'; -export type { CommentWithExpressionPlaceholders } from './models/CommentWithExpressionPlaceholders'; -export type { CommentWithQuotes } from './models/CommentWithQuotes'; -export type { CommentWithReservedCharacters } from './models/CommentWithReservedCharacters'; -export type { CommentWithSlashes } from './models/CommentWithSlashes'; -export type { Date } from './models/Date'; -export type { DictionaryWithArray } from './models/DictionaryWithArray'; -export type { DictionaryWithDictionary } from './models/DictionaryWithDictionary'; -export type { DictionaryWithProperties } from './models/DictionaryWithProperties'; -export type { DictionaryWithReference } from './models/DictionaryWithReference'; -export type { DictionaryWithString } from './models/DictionaryWithString'; -export type { EnumFromDescription } from './models/EnumFromDescription'; -export { EnumWithExtensions } from './models/EnumWithExtensions'; -export { EnumWithNumbers } from './models/EnumWithNumbers'; -export { EnumWithStrings } from './models/EnumWithStrings'; -export type { ModelThatExtends } from './models/ModelThatExtends'; -export type { ModelThatExtendsExtends } from './models/ModelThatExtendsExtends'; -export type { ModelWithArray } from './models/ModelWithArray'; -export type { ModelWithBoolean } from './models/ModelWithBoolean'; -export type { ModelWithCircularReference } from './models/ModelWithCircularReference'; -export type { ModelWithDictionary } from './models/ModelWithDictionary'; -export type { ModelWithDuplicateImports } from './models/ModelWithDuplicateImports'; -export type { ModelWithDuplicateProperties } from './models/ModelWithDuplicateProperties'; -export { ModelWithEnum } from './models/ModelWithEnum'; -export type { ModelWithEnumFromDescription } from './models/ModelWithEnumFromDescription'; -export type { ModelWithInteger } from './models/ModelWithInteger'; -export type { ModelWithNestedEnums } from './models/ModelWithNestedEnums'; -export type { ModelWithNestedProperties } from './models/ModelWithNestedProperties'; -export type { ModelWithNullableString } from './models/ModelWithNullableString'; -export type { ModelWithOrderedProperties } from './models/ModelWithOrderedProperties'; -export type { ModelWithPattern } from './models/ModelWithPattern'; -export type { ModelWithProperties } from './models/ModelWithProperties'; -export type { ModelWithReference } from './models/ModelWithReference'; -export type { ModelWithString } from './models/ModelWithString'; -export type { SimpleBoolean } from './models/SimpleBoolean'; -export type { SimpleFile } from './models/SimpleFile'; -export type { SimpleInteger } from './models/SimpleInteger'; -export type { SimpleReference } from './models/SimpleReference'; -export type { SimpleString } from './models/SimpleString'; -export type { SimpleStringWithPattern } from './models/SimpleStringWithPattern'; +" +`; -export { $_default } from './schemas/$_default'; -export { $ArrayWithArray } from './schemas/$ArrayWithArray'; -export { $ArrayWithBooleans } from './schemas/$ArrayWithBooleans'; -export { $ArrayWithNumbers } from './schemas/$ArrayWithNumbers'; -export { $ArrayWithProperties } from './schemas/$ArrayWithProperties'; -export { $ArrayWithReferences } from './schemas/$ArrayWithReferences'; -export { $ArrayWithStrings } from './schemas/$ArrayWithStrings'; -export { $CommentWithBackticks } from './schemas/$CommentWithBackticks'; -export { $CommentWithBreaks } from './schemas/$CommentWithBreaks'; -export { $CommentWithExpressionPlaceholders } from './schemas/$CommentWithExpressionPlaceholders'; -export { $CommentWithQuotes } from './schemas/$CommentWithQuotes'; -export { $CommentWithReservedCharacters } from './schemas/$CommentWithReservedCharacters'; -export { $CommentWithSlashes } from './schemas/$CommentWithSlashes'; -export { $Date } from './schemas/$Date'; -export { $DictionaryWithArray } from './schemas/$DictionaryWithArray'; -export { $DictionaryWithDictionary } from './schemas/$DictionaryWithDictionary'; -export { $DictionaryWithProperties } from './schemas/$DictionaryWithProperties'; -export { $DictionaryWithReference } from './schemas/$DictionaryWithReference'; -export { $DictionaryWithString } from './schemas/$DictionaryWithString'; -export { $EnumFromDescription } from './schemas/$EnumFromDescription'; -export { $EnumWithExtensions } from './schemas/$EnumWithExtensions'; -export { $EnumWithNumbers } from './schemas/$EnumWithNumbers'; -export { $EnumWithStrings } from './schemas/$EnumWithStrings'; -export { $ModelThatExtends } from './schemas/$ModelThatExtends'; -export { $ModelThatExtendsExtends } from './schemas/$ModelThatExtendsExtends'; -export { $ModelWithArray } from './schemas/$ModelWithArray'; -export { $ModelWithBoolean } from './schemas/$ModelWithBoolean'; -export { $ModelWithCircularReference } from './schemas/$ModelWithCircularReference'; -export { $ModelWithDictionary } from './schemas/$ModelWithDictionary'; -export { $ModelWithDuplicateImports } from './schemas/$ModelWithDuplicateImports'; -export { $ModelWithDuplicateProperties } from './schemas/$ModelWithDuplicateProperties'; -export { $ModelWithEnum } from './schemas/$ModelWithEnum'; -export { $ModelWithEnumFromDescription } from './schemas/$ModelWithEnumFromDescription'; -export { $ModelWithInteger } from './schemas/$ModelWithInteger'; -export { $ModelWithNestedEnums } from './schemas/$ModelWithNestedEnums'; -export { $ModelWithNestedProperties } from './schemas/$ModelWithNestedProperties'; -export { $ModelWithNullableString } from './schemas/$ModelWithNullableString'; -export { $ModelWithOrderedProperties } from './schemas/$ModelWithOrderedProperties'; -export { $ModelWithPattern } from './schemas/$ModelWithPattern'; -export { $ModelWithProperties } from './schemas/$ModelWithProperties'; -export { $ModelWithReference } from './schemas/$ModelWithReference'; -export { $ModelWithString } from './schemas/$ModelWithString'; -export { $SimpleBoolean } from './schemas/$SimpleBoolean'; -export { $SimpleFile } from './schemas/$SimpleFile'; -export { $SimpleInteger } from './schemas/$SimpleInteger'; -export { $SimpleReference } from './schemas/$SimpleReference'; -export { $SimpleString } from './schemas/$SimpleString'; -export { $SimpleStringWithPattern } from './schemas/$SimpleStringWithPattern'; - -export { CollectionFormatService } from './services/CollectionFormatService'; -export { ComplexService } from './services/ComplexService'; -export { DefaultService } from './services/DefaultService'; -export { DefaultsService } from './services/DefaultsService'; -export { DescriptionsService } from './services/DescriptionsService'; -export { DuplicateService } from './services/DuplicateService'; -export { ErrorService } from './services/ErrorService'; -export { HeaderService } from './services/HeaderService'; -export { MultipleTags1Service } from './services/MultipleTags1Service'; -export { MultipleTags2Service } from './services/MultipleTags2Service'; -export { MultipleTags3Service } from './services/MultipleTags3Service'; -export { NoContentService } from './services/NoContentService'; -export { ParametersService } from './services/ParametersService'; -export { ResponseService } from './services/ResponseService'; -export { SimpleService } from './services/SimpleService'; -export { TypesService } from './services/TypesService'; -" -`; - -exports[`v2 should generate: test/generated/v2/models/_default.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateTransformationResponseAsset.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type _default = { - name?: string; +import type { AssetType } from './AssetType'; +import type { OwnerType } from './OwnerType'; +export type CreateTransformationResponseAsset = { + /** + * Unique id of the organisation + */ + id: string; + /** + * Name of the organisation + */ + name: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + contentType: AssetType; + ownerType: OwnerType; + /** + * boolean to see if the background has been removed or not. + */ + backgroundRemoved: boolean; + /** + * boolean to see if the upscaled. + */ + upscaled: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processed: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processedRemoveBackground: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processedFailed: boolean; + /** + * boolean to see if the images have been processed or not. + */ + processedRemoveBackgroundFailed: boolean; + /** + * boolean to see if the images has come from unsplash or not. + */ + unsplash: boolean; + /** + * unsplash Id + */ + unsplashId?: string; + /** + * unsplash Raw URL + */ + unsplashRawURL?: string; + /** + * unsplash Full Size URL + */ + unsplashFullURL?: string; + /** + * unsplash Regular URL + */ + unsplashRegularURL?: string; + /** + * unsplash Small URL + */ + unsplashSmallURL?: string; + /** + * unsplash Thumb URL + */ + unsplashThumbURL?: string; + /** + * unsplash Download URL + */ + unsplashDownloadURL?: string; + /** + * unsplash description + */ + unsplashDescription?: string; + /** + * width of the image + */ + width?: number; + /** + * height of the image + */ + height?: number; + /** + * Credit used for the image. + */ + creditUsed: number; }; " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithArray.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreateUser.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array containing an array - */ -export type ArrayWithArray = Array>; +export type CreateUser = { + /** + * Unique id of the User + */ + id: string; + /** + * Name of the User + */ + name: string; + /** + * Email of the User + */ + email: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithBooleans.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreditUsages.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple array with booleans - */ -export type ArrayWithBooleans = Array; +export type CreditUsages = { + removeBackground: number; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithNumbers.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/CreditUsed.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple array with numbers - */ -export type ArrayWithNumbers = Array; +export type CreditUsed = { + /** + * Credit used for the image. + */ + creditUsed: number; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/EntityMetrics.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple array with properties - */ -export type ArrayWithProperties = Array<{ - foo?: string; - bar?: string; -}>; +import type { CreditUsages } from './CreditUsages'; +export type EntityMetrics = { + totalUsers: number; + activeUsers: number; + engagedUsers: number; + creditUsages: CreditUsages; + postDownloads: number; + postCreations: number; + templateCreations: number; + templatePublications: number; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithReferences.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Feed.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple array with references - */ -export type ArrayWithReferences = Array; +import type { OwnerType } from './OwnerType'; +export type Feed = { + /** + * Unique id of the feed + */ + id: string; + /** + * Name of the feed + */ + name: string; + /** + * The URL of the feed to capture + */ + url: string; + ownerType: OwnerType; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/ArrayWithStrings.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FeedField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple array with strings - */ -export type ArrayWithStrings = Array; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { FeedFieldData } from './FeedFieldData'; +export type FeedField = { + control: 'feed'; + data: FeedFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithBackticks.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FeedFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - */ -export type CommentWithBackticks = number; +export type FeedFieldData = { + value: string; + feedValues: Record; + feedId?: string; + feedItemId?: string; + feedName?: string; + showValues: Record; + defaultValues: Record; + order: Array; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithBreaks.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FeedFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing multiline comments in string: First line - * Second line - * - * Fourth line - */ -export type CommentWithBreaks = number; +export type FeedFieldDataDetails = { + value: string; + feedValues: Record; + feedId?: string; + feedItemId?: string; + feedName?: string; + showValues: Record; + defaultValues: Record; + order: Array; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithExpressionPlaceholders.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FeedFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing expression placeholders in string: \${expression} should work - */ -export type CommentWithExpressionPlaceholders = number; +import type { ControlType } from './ControlType'; +import type { FeedFieldData } from './FeedFieldData'; +export type FeedFieldDetails = { + control: ControlType.FEED; + data: FeedFieldData; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithQuotes.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FieldType.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing quotes in string: 'single quote''' and "double quotes""" should work - */ -export type CommentWithQuotes = number; +import type { BooleanField } from './BooleanField'; +import type { ColourField } from './ColourField'; +import type { FeedField } from './FeedField'; +import type { FontField } from './FontField'; +import type { GptField } from './GptField'; +import type { ImageCollectionField } from './ImageCollectionField'; +import type { ImageField } from './ImageField'; +import type { JSONField } from './JSONField'; +import type { JustifiedScalingTextField } from './JustifiedScalingTextField'; +import type { MasterFieldField } from './MasterFieldField'; +import type { NumberField } from './NumberField'; +import type { OptionField } from './OptionField'; +import type { OptionFromDataField } from './OptionFromDataField'; +import type { RichTextField } from './RichTextField'; +import type { TextField } from './TextField'; +export type FieldType = (TextField | JustifiedScalingTextField | RichTextField | BooleanField | NumberField | OptionField | OptionFromDataField | ImageField | ImageCollectionField | FeedField | FontField | ColourField | JSONField | GptField | MasterFieldField); + " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithReservedCharacters.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Fields.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing reserved characters in string: * inline * and ** inline ** should work - */ -export type CommentWithReservedCharacters = number; +import type { FieldType } from './FieldType'; +export type Fields = Array; " `; -exports[`v2 should generate: test/generated/v2/models/CommentWithSlashes.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FontField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - */ -export type CommentWithSlashes = number; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { FontFieldData } from './FontFieldData'; +export type FontField = { + control: 'font'; + data: FontFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/Date.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FontFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a type-only model that defines Date as a string - */ -export type Date = string; +import type { FontFieldValue } from './FontFieldValue'; +export type FontFieldData = { + value: FontFieldValue; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithArray.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FontFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a complex dictionary - */ -export type DictionaryWithArray = Record>; +import type { FontFieldValue } from './FontFieldValue'; +export type FontFieldDataDetails = { + value: FontFieldValue; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithDictionary.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FontFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithDictionary = Record>; +import type { ControlType } from './ControlType'; +import type { FontFieldData } from './FontFieldData'; +export type FontFieldDetails = { + control: ControlType.FONT; + data: FontFieldData; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/FontFieldValue.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a complex dictionary - */ -export type DictionaryWithProperties = Record; +export type FontFieldValue = { + assetId: string; + fileName: string; + fontName: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GetAllPostResponse.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a string reference - */ -export type DictionaryWithReference = Record; +export type GetAllPostResponse = { + /** + * Unique id of the Post + */ + id: string; + /** + * Name of the Post + */ + title: string; + /** + * Id of the space the post is associated with + */ + spaceId: string; + /** + * Id of the team the post is associated with + */ + teamId: string; + /** + * Id of the organisation the post is associated with + */ + organisationId: string; + /** + * Id of the template + */ + templateId: string; + /** + * The version of the template + */ + templateVersion: string; + /** + * The owner of the template + */ + templateOwner: string; + /** + * boolean to say if the post is published or not. + */ + published: boolean; + /** + * User ID of who published the post + */ + publishedBy?: string; + /** + * The iso string the time the post was published + */ + publishedAt?: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + /** + * boolean if the post is archived or not + */ + archive?: boolean; + /** + * The version of the template + */ + version: number; + /** + * last image time in iso format. + */ + lastImageTime: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/DictionaryWithString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GptFielAdditionalInputs.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a string dictionary - */ -export type DictionaryWithString = Record; +import type { GptFieldAdditionalInputText } from './GptFieldAdditionalInputText'; +import type { GptFieldAdditionalInputWebContent } from './GptFieldAdditionalInputWebContent'; +export type GptFielAdditionalInputs = (GptFieldAdditionalInputText | GptFieldAdditionalInputWebContent); + " `; -exports[`v2 should generate: test/generated/v2/models/EnumFromDescription.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GptField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * Success=1,Warning=2,Error=3 - */ -export type EnumFromDescription = number; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { GptFieldData } from './GptFieldData'; +export type GptField = { + control: 'gpt'; + data: GptFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/EnumWithExtensions.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GptFieldAdditionalInputText.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithExtensions { - /** - * Used when the status of something is successful - */ - CUSTOM_SUCCESS = 200, - /** - * Used when the status of something has a warning - */ - CUSTOM_WARNING = 400, - /** - * Used when the status of something has an error - */ - CUSTOM_ERROR = 500, -} +export type GptFieldAdditionalInputText = { + control: 'text'; + input: string; + showInPost: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/EnumWithNumbers.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GptFieldAdditionalInputWebContent.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple enum with numbers - */ -export enum EnumWithNumbers { - '_1' = 1, - '_2' = 2, - '_3' = 3, - '_1.1' = 1.1, - '_1.2' = 1.2, - '_1.3' = 1.3, - '_100' = 100, - '_200' = 200, - '_300' = 300, - '_-100' = -100, - '_-200' = -200, - '_-300' = -300, - '_-1.1' = -1.1, - '_-1.2' = -1.2, - '_-1.3' = -1.3, -} +export type GptFieldAdditionalInputWebContent = { + control: 'getWebsiteTextContentext'; + input: string; + height?: number; + showInPost: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/EnumWithStrings.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GptFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple enum with strings - */ -export enum EnumWithStrings { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - _SINGLE_QUOTE_ = '\\'Single Quote\\'', - _DOUBLE_QUOTES_ = '"Double Quotes"', -} +import type { GptFielAdditionalInputs } from './GptFielAdditionalInputs'; +export type GptFieldData = { + value: string; + input: string; + inputHeight?: number; + additionalInputs: Array; + automatic: boolean; + buttonText?: string; + viewInputField: boolean; + viewOutputField: boolean; + viewButton: boolean; + customizeButtonText: boolean; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/ModelThatExtends.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GptFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtends = (ModelWithString & { - propExtendsA?: string; - propExtendsB?: ModelWithString; -}); +import type { GptFielAdditionalInputs } from './GptFielAdditionalInputs'; +export type GptFieldDataDetails = { + value: string; + input: string; + inputHeight?: number; + additionalInputs: Array; + automatic: boolean; + buttonText?: string; + viewInputField: boolean; + viewOutputField: boolean; + viewButton: boolean; + customizeButtonText: boolean; +}; " `; -exports[`v2 should generate: test/generated/v2/models/ModelThatExtendsExtends.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GptFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelThatExtends } from './ModelThatExtends'; -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model that extends another model - */ -export type ModelThatExtendsExtends = (ModelWithString & ModelThatExtends & { - propExtendsC?: string; - propExtendsD?: ModelWithString; -}); +import type { ControlType } from './ControlType'; +import type { GptFieldData } from './GptFieldData'; +export type GptFieldDetails = { + control: ControlType.GPT; + data: GptFieldData; +}; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithArray.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GroupUser.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one property containing an array - */ -export type ModelWithArray = { - prop?: Array; - propWithFile?: Array; - propWithNumber?: Array; +import type { GroupUserPermissions } from './GroupUserPermissions'; +import type { User } from './User'; +export type GroupUser = { + user: User; + permission: GroupUserPermissions; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithBoolean.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/GroupUserPermissions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one boolean property - */ -export type ModelWithBoolean = { +export type GroupUserPermissions = { /** - * This is a simple boolean property + * Admin of the organisation */ - prop?: boolean; + admin: boolean; + /** + * Can a user userManagement + */ + userManagement: boolean; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithCircularReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/IfModifiedSinceHeader.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ /** - * This is a model with one property containing a circular reference + * Last modified date */ -export type ModelWithCircularReference = { - prop?: ModelWithCircularReference; -}; - +export type IfModifiedSinceHeader = string; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithDictionary.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageCollectionField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one property containing a dictionary - */ -export type ModelWithDictionary = { - prop?: Record; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { ImageCollectionFieldData } from './ImageCollectionFieldData'; +export type ImageCollectionField = { + control: 'imageCollection'; + data: ImageCollectionFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateImports.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageCollectionFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated imports - */ -export type ModelWithDuplicateImports = { - propA?: ModelWithString; - propB?: ModelWithString; - propC?: ModelWithString; +import type { ImageCollectionFieldOptions } from './ImageCollectionFieldOptions'; +import type { ImageFieldFitMode } from './ImageFieldFitMode'; +import type { ImageFieldSettings } from './ImageFieldSettings'; +import type { ImageFieldSizeType } from './ImageFieldSizeType'; +export type ImageCollectionFieldData = { + imageCollectionOptions: Array; + imageCollectionSettings: ImageFieldSettings; + imageCollectionVariations: Record; + value: number; + sameSettingsForAllVariations: boolean; + imageSizeType: ImageFieldSizeType; + imageFitMode: ImageFieldFitMode; + viewThumbnailsInPost: boolean; + name: string; + label: string; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithDuplicateProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageCollectionFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with duplicated properties - */ -export type ModelWithDuplicateProperties = { - prop?: ModelWithString; +import type { ImageCollectionFieldOptions } from './ImageCollectionFieldOptions'; +import type { ImageFieldFitMode } from './ImageFieldFitMode'; +import type { ImageFieldSettings } from './ImageFieldSettings'; +import type { ImageFieldSizeType } from './ImageFieldSizeType'; +export type ImageCollectionFieldDataDetails = { + imageCollectionOptions: Array; + imageCollectionSettings: ImageFieldSettings; + imageCollectionVariations: Record; + value: number; + sameSettingsForAllVariations: boolean; + imageSizeType: ImageFieldSizeType; + imageFitMode: ImageFieldFitMode; + viewThumbnailsInPost: boolean; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithEnum.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageCollectionFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnum = { - /** - * This is a simple enum with strings - */ - test?: ModelWithEnum.test; - /** - * These are the HTTP error code enums - */ - statusCode?: ModelWithEnum.statusCode; - /** - * Simple boolean enum - */ - bool?: boolean; +import type { ControlType } from './ControlType'; +import type { ImageCollectionFieldData } from './ImageCollectionFieldData'; +export type ImageCollectionFieldDetails = { + control: ControlType.IMAGE_COLLECTION; + data: ImageCollectionFieldData; }; -export namespace ModelWithEnum { - /** - * This is a simple enum with strings - */ - export enum test { - SUCCESS = 'Success', - WARNING = 'Warning', - ERROR = 'Error', - } - /** - * These are the HTTP error code enums - */ - export enum statusCode { - _100 = '100', - _200_FOO = '200 FOO', - _300_FOO_BAR = '300 FOO_BAR', - _400_FOO_BAR = '400 foo-bar', - _500_FOO_BAR = '500 foo.bar', - _600_FOO_BAR = '600 foo&bar', - } -} " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithEnumFromDescription.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageCollectionFieldOptions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one enum - */ -export type ModelWithEnumFromDescription = { - /** - * Success=1,Warning=2,Error=3 - */ - test?: number; +export type ImageCollectionFieldOptions = { + assetId: string; + label: string; + value: string; + imgWidth?: number; + imgHeight?: number; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithInteger.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one number property - */ -export type ModelWithInteger = { - /** - * This is a simple number property - */ - prop?: number; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { ImageFieldData } from './ImageFieldData'; +export type ImageField = { + control: 'image'; + data: ImageFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithNestedEnums.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with nested enums - */ -export type ModelWithNestedEnums = { - dictionaryWithEnum?: Record; - dictionaryWithEnumFromDescription?: Record; - arrayWithEnum?: Array<'Success' | 'Warning' | 'Error'>; - arrayWithDescription?: Array; +import type { ImageFieldFitMode } from './ImageFieldFitMode'; +import type { ImageFieldRemoveBackgroundInactiveOptions } from './ImageFieldRemoveBackgroundInactiveOptions'; +import type { ImageFieldSizeType } from './ImageFieldSizeType'; +import type { ImageFieldvalue } from './ImageFieldvalue'; +export type ImageFieldData = { + value: string; + imageValue: ImageFieldvalue; + sameSettingsForAllVariations: boolean; + imageSizeType: ImageFieldSizeType; + imageFitMode: ImageFieldFitMode; + removeBackgroundOptional?: boolean; + removeBackgroundAutomatic?: boolean; + upScalingOptional?: boolean; + upScalingWhenRequired?: boolean; + showRemoveBackGroundToggle?: boolean; + defaultTab?: string; + unsplashDefaultSearchTerm?: string; + useUnsplashDefaultSearchTerm?: boolean; + removeBackgrounInactiveOptions?: ImageFieldRemoveBackgroundInactiveOptions; + name: string; + label: string; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithNestedProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one nested property - */ -export type ModelWithNestedProperties = { - readonly first: { - readonly second: { - readonly third: string; - }; - }; +import type { ImageFieldFitMode } from './ImageFieldFitMode'; +import type { ImageFieldRemoveBackgroundInactiveOptions } from './ImageFieldRemoveBackgroundInactiveOptions'; +import type { ImageFieldSizeType } from './ImageFieldSizeType'; +import type { ImageFieldvalue } from './ImageFieldvalue'; +export type ImageFieldDataDetails = { + value: string; + imageValue: ImageFieldvalue; + sameSettingsForAllVariations: boolean; + imageSizeType: ImageFieldSizeType; + imageFitMode: ImageFieldFitMode; + removeBackgroundOptional?: boolean; + removeBackgroundAutomatic?: boolean; + upScalingOptional?: boolean; + upScalingWhenRequired?: boolean; + showRemoveBackGroundToggle?: boolean; + defaultTab?: string; + unsplashDefaultSearchTerm?: string; + useUnsplashDefaultSearchTerm?: boolean; + removeBackgrounInactiveOptions?: ImageFieldRemoveBackgroundInactiveOptions; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithNullableString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithNullableString = { - /** - * This is a simple string property - */ - nullableProp?: string | null; - /** - * This is a simple string property - */ - nullableRequiredProp: string | null; +import type { ControlType } from './ControlType'; +import type { ImageFieldData } from './ImageFieldData'; +export type ImageFieldDetails = { + control: ControlType.IMAGE; + data: ImageFieldData; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithOrderedProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldFitMode.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with ordered properties - */ -export type ModelWithOrderedProperties = { - zebra?: string; - apple?: string; - hawaii?: string; -}; - +export enum ImageFieldFitMode { + COVER = 'cover', + NONE = 'none', + CONTAIN = 'contain', +} " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithPattern.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldPosition.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model that contains a some patterns - */ -export type ModelWithPattern = { - key: string; - name: string; - readonly enabled?: boolean; - readonly modified?: string; - id?: string; - text?: string; - patternWithSingleQuotes?: string; +export type ImageFieldPosition = { + 'x': number; + 'y': number; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldRemoveBackgroundInactiveOptions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a model with one nested property - */ -export type ModelWithProperties = { - required: string; - readonly requiredAndReadOnly: string; - string?: string; - number?: number; - boolean?: boolean; - reference?: ModelWithString; - 'property with space'?: string; - default?: string; - try?: string; - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; -}; - +export enum ImageFieldRemoveBackgroundInactiveOptions { + SHOW = 'show', + HIDE = 'hide', +} " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldSettings.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithProperties } from './ModelWithProperties'; -/** - * This is a model with one property containing a reference - */ -export type ModelWithReference = { - prop?: ModelWithProperties; +import type { ImageFieldPosition } from './ImageFieldPosition'; +export type ImageFieldSettings = { + scale: number; + width?: number; + height?: number; + position: ImageFieldPosition; + rotation: number; + brightness?: number; + contrast?: number; + saturate?: number; }; " `; -exports[`v2 should generate: test/generated/v2/models/ModelWithString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldSizeType.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a model with one string property - */ -export type ModelWithString = { - /** - * This is a simple string property - */ - prop?: string; +export enum ImageFieldSizeType { + CUSTOM = 'custom', + MATCH = 'match', +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/ImageFieldvalue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ImageFieldSettings } from './ImageFieldSettings'; +export type ImageFieldvalue = { + assetId: string; + imageSettings: ImageFieldSettings; + variations: Record; + imgWidth?: number; + imgHeight?: number; + imageFormat?: string; + removeBackgroundImage?: boolean; + assetRemoveBackground?: boolean; }; " `; -exports[`v2 should generate: test/generated/v2/models/SimpleBoolean.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JSON.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple boolean - */ -export type SimpleBoolean = boolean; +import type { OwnerType } from './OwnerType'; +export type JSON = { + /** + * Unique id of the json + */ + id: string; + /** + * Name of the json + */ + name: string; + ownerType: OwnerType; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + /** + * The json object + */ + json: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/SimpleFile.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JSONField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple file - */ -export type SimpleFile = Blob; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { JSONFieldData } from './JSONFieldData'; +export type JSONField = { + control: 'json'; + data: JSONFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/SimpleInteger.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JSONFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple number - */ -export type SimpleInteger = number; +export type JSONFieldData = { + value: string; + inputHeight?: number; + fromShared: boolean; + sharedJsonId?: string; + sharedJsonName?: string; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/SimpleReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JSONFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from './ModelWithString'; -/** - * This is a simple reference - */ -export type SimpleReference = ModelWithString; +export type JSONFieldDataDetails = { + value: string; + inputHeight?: number; + fromShared: boolean; + sharedJsonId?: string; + sharedJsonName?: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/SimpleString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JSONFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleString = string; +import type { ControlType } from './ControlType'; +import type { JSONFieldData } from './JSONFieldData'; +export type JSONFieldDetails = { + control: ControlType.JSON; + data: JSONFieldData; +}; + " `; -exports[`v2 should generate: test/generated/v2/models/SimpleStringWithPattern.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JSONGetAll.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -/** - * This is a simple string - */ -export type SimpleStringWithPattern = string; +import type { OwnerType } from './OwnerType'; +export type JSONGetAll = { + /** + * Unique id of the json + */ + id: string; + /** + * Name of the json + */ + name: string; + ownerType: OwnerType; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$_default.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JSONRemaining.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $_default = { - properties: { - name: { - type: 'string', - }, - }, -} as const; +export type JSONRemaining = { + /** + * The json object + */ + json: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithArray.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JustifiedScalingClassOptions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ArrayWithArray = { - type: 'array', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; +export type JustifiedScalingClassOptions = { + label: string; + value: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithBooleans.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JustifiedScalingTextField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ArrayWithBooleans = { - type: 'array', - contains: { - type: 'boolean', - }, -} as const; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { JustifiedScalingTextFieldData } from './JustifiedScalingTextFieldData'; +export type JustifiedScalingTextField = { + control: 'justifiedScalingText'; + data: JustifiedScalingTextFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithNumbers.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JustifiedScalingTextFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ArrayWithNumbers = { - type: 'array', - contains: { - type: 'number', - }, -} as const; +import type { JustifiedScalingClassOptions } from './JustifiedScalingClassOptions'; +import type { JustifiedScalingTextInput } from './JustifiedScalingTextInput'; +import type { JustifiedScalingTextSettings } from './JustifiedScalingTextSettings'; +export type JustifiedScalingTextFieldData = { + value: string; + justifiedScalingVariations: Record; + justifiedScalingSettings: JustifiedScalingTextSettings; + sameSettingsForAllVariations: boolean; + canUpdateClassNamesInPost: boolean; + canAddAndDeleteRowsInPost: boolean; + justifiedScalingInputs: Array; + classOptions?: Array; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JustifiedScalingTextFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ArrayWithProperties = { - type: 'array', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; +import type { JustifiedScalingClassOptions } from './JustifiedScalingClassOptions'; +import type { JustifiedScalingTextInput } from './JustifiedScalingTextInput'; +import type { JustifiedScalingTextSettings } from './JustifiedScalingTextSettings'; +export type JustifiedScalingTextFieldDataDetails = { + value: string; + justifiedScalingVariations: Record; + justifiedScalingSettings: JustifiedScalingTextSettings; + sameSettingsForAllVariations: boolean; + canUpdateClassNamesInPost: boolean; + canAddAndDeleteRowsInPost: boolean; + justifiedScalingInputs: Array; + classOptions?: Array; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithReferences.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JustifiedScalingTextFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ArrayWithReferences = { - type: 'array', - contains: { - type: 'ModelWithString', - }, -} as const; +import type { ControlType } from './ControlType'; +import type { JustifiedScalingTextFieldData } from './JustifiedScalingTextFieldData'; +export type JustifiedScalingTextFieldDetails = { + control: ControlType.JUSTIFIED_SCALING_TEXT; + data: JustifiedScalingTextFieldData; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ArrayWithStrings.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JustifiedScalingTextInput.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ArrayWithStrings = { - type: 'array', - contains: { - type: 'string', - }, -} as const; +export type JustifiedScalingTextInput = { + value: string; + className: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBackticks.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/JustifiedScalingTextSettings.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $CommentWithBackticks = { - type: 'number', - description: \`Testing backticks in string: \\\`backticks\\\` and \\\`\\\`\\\`multiple backticks\\\`\\\`\\\` should work\`, -} as const; +export type JustifiedScalingTextSettings = { + lineHeight: number; + maxHeight?: number; + scaleFromOrigin?: string; + margin?: number; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithBreaks.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $CommentWithBreaks = { - type: 'number', - description: \`Testing multiline comments in string: First line - Second line - Fourth line\`, -} as const; +import type { ControlType } from './ControlType'; +import type { FieldType } from './FieldType'; +import type { OwnerType } from './OwnerType'; +export type MasterField = { + /** + * Unique id of the json + */ + id: string; + /** + * The version of the template + */ + version: number; + /** + * Name of the json + */ + name: string; + ownerType: OwnerType; + field: FieldType; + controlType: ControlType; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + draftVersion: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithExpressionPlaceholders.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldBaseDataObject.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $CommentWithExpressionPlaceholders = { - type: 'number', - description: \`Testing expression placeholders in string: \\\${expression} should work\`, -} as const; +export type MasterFieldBaseDataObject = { + masterFieldName?: string; + masterFieldId?: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithQuotes.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForBoolean.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $CommentWithQuotes = { - type: 'number', - description: \`Testing quotes in string: 'single quote''' and "double quotes""" should work\`, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForBoolean = { + masterFieldControl: MasterFieldsControlType.BOOLEAN; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithReservedCharacters.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForColour.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $CommentWithReservedCharacters = { - type: 'number', - description: \`Testing reserved characters in string: /* inline */ and /** inline **/ should work\`, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForColour = { + masterFieldControl: MasterFieldsControlType.COLOUR; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$CommentWithSlashes.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForFeed.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $CommentWithSlashes = { - type: 'number', - description: \`Testing slashes in string: \\\\backwards\\\\\\\\\\\\ and /forwards/// should work\`, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForFeed = { + masterFieldControl: MasterFieldsControlType.FEED; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$Date.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForFont.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $Date = { - type: 'string', - description: \`This is a type-only model that defines Date as a string\`, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForFont = { + masterFieldControl: MasterFieldsControlType.FONT; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithArray.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForGpt.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $DictionaryWithArray = { - type: 'dictionary', - contains: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForGpt = { + masterFieldControl: MasterFieldsControlType.GPT; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithDictionary.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForImage.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $DictionaryWithDictionary = { - type: 'dictionary', - contains: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForImage = { + masterFieldControl: MasterFieldsControlType.IMAGE; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForImageCollection.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $DictionaryWithProperties = { - type: 'dictionary', - contains: { - properties: { - foo: { - type: 'string', - }, - bar: { - type: 'string', - }, - }, - }, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForImageCollection = { + masterFieldControl: MasterFieldsControlType.IMAGE_COLLECTION; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForJson.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $DictionaryWithReference = { - type: 'dictionary', - contains: { - type: 'ModelWithString', - }, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForJson = { + masterFieldControl: MasterFieldsControlType.JSON; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$DictionaryWithString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForJustifiedScalingText.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $DictionaryWithString = { - type: 'dictionary', - contains: { - type: 'string', - }, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForJustifiedScalingText = { + masterFieldControl: MasterFieldsControlType.JUSTIFIED_SCALING_TEXT; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumFromDescription.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForNone.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $EnumFromDescription = { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForNone = { + masterFieldControl: MasterFieldsControlType.NONE; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithExtensions.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForNumber.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $EnumWithExtensions = { - type: 'Enum', -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForNumber = { + masterFieldControl: MasterFieldsControlType.NUMBER; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithNumbers.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForOption.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $EnumWithNumbers = { - type: 'Enum', -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForOption = { + masterFieldControl: MasterFieldsControlType.OPTION; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$EnumWithStrings.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForOptionFromData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $EnumWithStrings = { - type: 'Enum', -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForOptionFromData = { + masterFieldControl: MasterFieldsControlType.OPTION_FROM_DATA; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtends.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForRichText.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelThatExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - properties: { - propExtendsA: { - type: 'string', - }, - propExtendsB: { - type: 'ModelWithString', - }, - }, - }], -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForRichText = { + masterFieldControl: MasterFieldsControlType.RICH_TEXT; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelThatExtendsExtends.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldControlForText.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelThatExtendsExtends = { - type: 'all-of', - description: \`This is a model that extends another model\`, - contains: [{ - type: 'ModelWithString', - }, { - type: 'ModelThatExtends', - }, { - properties: { - propExtendsC: { - type: 'string', - }, - propExtendsD: { - type: 'ModelWithString', - }, - }, - }], -} as const; +import type { MasterFieldsControlType } from './MasterFieldsControlType'; +export type MasterFieldControlForText = { + masterFieldControl: MasterFieldsControlType.TEXT; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithArray.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithArray = { - description: \`This is a model with one property containing an array\`, - properties: { - prop: { - type: 'array', - contains: { - type: 'ModelWithString', - }, - }, - propWithFile: { - type: 'array', - contains: { - type: 'binary', - }, - }, - propWithNumber: { - type: 'array', - contains: { - type: 'number', - }, - }, - }, -} as const; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { MasterFieldFieldData } from './MasterFieldFieldData'; +export type MasterFieldField = { + control: 'masterField'; + data: MasterFieldFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithBoolean.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithBoolean = { - description: \`This is a model with one boolean property\`, - properties: { - prop: { - type: 'boolean', - description: \`This is a simple boolean property\`, - }, - }, -} as const; +import type { MasterFieldFieldDataBoolean } from './MasterFieldFieldDataBoolean'; +import type { MasterFieldFieldDataColour } from './MasterFieldFieldDataColour'; +import type { MasterFieldFieldDataFeed } from './MasterFieldFieldDataFeed'; +import type { MasterFieldFieldDataFont } from './MasterFieldFieldDataFont'; +import type { MasterFieldFieldDataGpt } from './MasterFieldFieldDataGpt'; +import type { MasterFieldFieldDataImage } from './MasterFieldFieldDataImage'; +import type { MasterFieldFieldDataImageCollection } from './MasterFieldFieldDataImageCollection'; +import type { MasterFieldFieldDataJSON } from './MasterFieldFieldDataJSON'; +import type { MasterFieldFieldDataJustifiedScalingText } from './MasterFieldFieldDataJustifiedScalingText'; +import type { MasterFieldFieldDataNone } from './MasterFieldFieldDataNone'; +import type { MasterFieldFieldDataNumber } from './MasterFieldFieldDataNumber'; +import type { MasterFieldFieldDataOption } from './MasterFieldFieldDataOption'; +import type { MasterFieldFieldDataOptionFromData } from './MasterFieldFieldDataOptionFromData'; +import type { MasterFieldFieldDataRichText } from './MasterFieldFieldDataRichText'; +import type { MasterFieldFieldDataText } from './MasterFieldFieldDataText'; +export type MasterFieldFieldData = (MasterFieldFieldDataText | MasterFieldFieldDataJustifiedScalingText | MasterFieldFieldDataRichText | MasterFieldFieldDataBoolean | MasterFieldFieldDataNumber | MasterFieldFieldDataOption | MasterFieldFieldDataOptionFromData | MasterFieldFieldDataImage | MasterFieldFieldDataImageCollection | MasterFieldFieldDataFeed | MasterFieldFieldDataFont | MasterFieldFieldDataColour | MasterFieldFieldDataJSON | MasterFieldFieldDataGpt | MasterFieldFieldDataNone); + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithCircularReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataBoolean.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithCircularReference = { - description: \`This is a model with one property containing a circular reference\`, - properties: { - prop: { - type: 'ModelWithCircularReference', - }, - }, -} as const; +import type { BooleanFieldValue } from './BooleanFieldValue'; +export type MasterFieldFieldDataBoolean = { + value: boolean; + checkedValue: BooleanFieldValue; + uncheckedValue: BooleanFieldValue; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'boolean'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDictionary.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataColour.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithDictionary = { - description: \`This is a model with one property containing a dictionary\`, - properties: { - prop: { - type: 'dictionary', - contains: { - type: 'string', - }, - }, - }, -} as const; +import type { ColourFieldGradient } from './ColourFieldGradient'; +import type { ColourFieldMode } from './ColourFieldMode'; +import type { ColourFieldType } from './ColourFieldType'; +export type MasterFieldFieldDataColour = { + value: string; + mode: ColourFieldMode; + allowAdditionalColours: boolean; + allowGradientChangesInPost: boolean; + allowColourAdjustmentsInPost?: boolean; + availableColours: Array; + additionalColours: Array; + gradient?: ColourFieldGradient; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'colour'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateImports.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataFeed.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithDuplicateImports = { - description: \`This is a model with duplicated imports\`, - properties: { - propA: { - type: 'ModelWithString', - }, - propB: { - type: 'ModelWithString', - }, - propC: { - type: 'ModelWithString', - }, - }, -} as const; +export type MasterFieldFieldDataFeed = { + value: string; + feedValues: Record; + feedId?: string; + feedItemId?: string; + feedName?: string; + showValues: Record; + defaultValues: Record; + order: Array; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'feed'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithDuplicateProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataFont.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithDuplicateProperties = { - description: \`This is a model with duplicated properties\`, - properties: { - prop: { - type: 'ModelWithString', - }, - }, -} as const; +import type { FontFieldValue } from './FontFieldValue'; +export type MasterFieldFieldDataFont = { + value: FontFieldValue; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'font'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnum.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataGpt.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithEnum = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'Enum', - }, - statusCode: { - type: 'Enum', - }, - bool: { - type: 'boolean', - description: \`Simple boolean enum\`, - }, - }, -} as const; +import type { GptFielAdditionalInputs } from './GptFielAdditionalInputs'; +export type MasterFieldFieldDataGpt = { + value: string; + input: string; + inputHeight?: number; + additionalInputs: Array; + automatic: boolean; + buttonText?: string; + viewInputField: boolean; + viewOutputField: boolean; + viewButton: boolean; + customizeButtonText: boolean; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'gpt'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithEnumFromDescription.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataImage.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithEnumFromDescription = { - description: \`This is a model with one enum\`, - properties: { - test: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, -} as const; +import type { ImageFieldFitMode } from './ImageFieldFitMode'; +import type { ImageFieldRemoveBackgroundInactiveOptions } from './ImageFieldRemoveBackgroundInactiveOptions'; +import type { ImageFieldSizeType } from './ImageFieldSizeType'; +import type { ImageFieldvalue } from './ImageFieldvalue'; +export type MasterFieldFieldDataImage = { + value: string; + imageValue: ImageFieldvalue; + sameSettingsForAllVariations: boolean; + imageSizeType: ImageFieldSizeType; + imageFitMode: ImageFieldFitMode; + removeBackgroundOptional?: boolean; + removeBackgroundAutomatic?: boolean; + upScalingOptional?: boolean; + upScalingWhenRequired?: boolean; + showRemoveBackGroundToggle?: boolean; + defaultTab?: string; + unsplashDefaultSearchTerm?: string; + useUnsplashDefaultSearchTerm?: boolean; + removeBackgrounInactiveOptions?: ImageFieldRemoveBackgroundInactiveOptions; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'image'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithInteger.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataImageCollection.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithInteger = { - description: \`This is a model with one number property\`, - properties: { - prop: { - type: 'number', - description: \`This is a simple number property\`, - }, - }, -} as const; +import type { ImageCollectionFieldOptions } from './ImageCollectionFieldOptions'; +import type { ImageFieldFitMode } from './ImageFieldFitMode'; +import type { ImageFieldSettings } from './ImageFieldSettings'; +import type { ImageFieldSizeType } from './ImageFieldSizeType'; +export type MasterFieldFieldDataImageCollection = { + imageCollectionOptions: Array; + imageCollectionSettings: ImageFieldSettings; + imageCollectionVariations: Record; + value: number; + sameSettingsForAllVariations: boolean; + imageSizeType: ImageFieldSizeType; + imageFitMode: ImageFieldFitMode; + viewThumbnailsInPost: boolean; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'imageCollection'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedEnums.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataJSON.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithNestedEnums = { - description: \`This is a model with nested enums\`, - properties: { - dictionaryWithEnum: { - type: 'dictionary', - contains: { - type: 'Enum', - }, - }, - dictionaryWithEnumFromDescription: { - type: 'dictionary', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - arrayWithEnum: { - type: 'array', - contains: { - type: 'Enum', - }, - }, - arrayWithDescription: { - type: 'array', - contains: { - type: 'number', - description: \`Success=1,Warning=2,Error=3\`, - }, - }, - }, -} as const; +export type MasterFieldFieldDataJSON = { + value: string; + inputHeight?: number; + fromShared: boolean; + sharedJsonId?: string; + sharedJsonName?: string; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'json'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNestedProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataJustifiedScalingText.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithNestedProperties = { - description: \`This is a model with one nested property\`, - properties: { - first: { - properties: { - second: { - properties: { - third: { - type: 'string', - isReadOnly: true, - isRequired: true, - }, - }, - isReadOnly: true, - isRequired: true, - }, - }, - isReadOnly: true, - isRequired: true, - }, - }, -} as const; +import type { JustifiedScalingClassOptions } from './JustifiedScalingClassOptions'; +import type { JustifiedScalingTextInput } from './JustifiedScalingTextInput'; +import type { JustifiedScalingTextSettings } from './JustifiedScalingTextSettings'; +export type MasterFieldFieldDataJustifiedScalingText = { + value: string; + justifiedScalingVariations: Record; + justifiedScalingSettings: JustifiedScalingTextSettings; + sameSettingsForAllVariations: boolean; + canUpdateClassNamesInPost: boolean; + canAddAndDeleteRowsInPost: boolean; + justifiedScalingInputs: Array; + classOptions?: Array; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'justifiedScalingText'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithNullableString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataNone.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithNullableString = { - description: \`This is a model with one string property\`, - properties: { - nullableProp: { - type: 'string', - description: \`This is a simple string property\`, - isNullable: true, - }, - nullableRequiredProp: { - type: 'string', - description: \`This is a simple string property\`, - isRequired: true, - isNullable: true, - }, - }, -} as const; +export type MasterFieldFieldDataNone = { + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'none'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithOrderedProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataNumber.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithOrderedProperties = { - description: \`This is a model with ordered properties\`, - properties: { - zebra: { - type: 'string', - }, - apple: { - type: 'string', - }, - hawaii: { - type: 'string', - }, - }, -} as const; +export type MasterFieldFieldDataNumber = { + value?: number; + slider?: boolean; + min?: number; + max?: number; + step?: number; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'number'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithPattern.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataOption.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithPattern = { - description: \`This is a model that contains a some patterns\`, - properties: { - key: { - type: 'string', - isRequired: true, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', - }, - name: { - type: 'string', - isRequired: true, - maxLength: 255, - }, - enabled: { - type: 'boolean', - isReadOnly: true, - }, - modified: { - type: 'string', - isReadOnly: true, - format: 'date-time', - }, - id: { - type: 'string', - pattern: '^\\\\d{2}-\\\\d{3}-\\\\d{4}$', - }, - text: { - type: 'string', - pattern: '^\\\\w+$', - }, - patternWithSingleQuotes: { - type: 'string', - pattern: '^[a-zA-Z0-9\\']*$', - }, - }, -} as const; +import type { OptionFieldOptions } from './OptionFieldOptions'; +export type MasterFieldFieldDataOption = { + value?: string; + options?: OptionFieldOptions; + fromJson?: boolean; + jsonSelectArrayIndex?: number; + jsonFieldIdentifier?: string; + jsonFieldDropDownLabel?: string; + fromJsonAsset?: boolean; + sharedJsonId?: string; + sharedJsonName?: string; + sharedJsonValue?: string; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'option'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithProperties.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataOptionFromData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithProperties = { - description: \`This is a model with one nested property\`, - properties: { - required: { - type: 'string', - isRequired: true, - }, - requiredAndReadOnly: { - type: 'string', - isReadOnly: true, - isRequired: true, - }, - string: { - type: 'string', - }, - number: { - type: 'number', - }, - boolean: { - type: 'boolean', - }, - reference: { - type: 'ModelWithString', - }, - 'property with space': { - type: 'string', - }, - default: { - type: 'string', - }, - try: { - type: 'string', - }, - '@namespace.string': { - type: 'string', - isReadOnly: true, - }, - '@namespace.integer': { - type: 'number', - isReadOnly: true, - }, - }, -} as const; +import type { OptionFromDataFieldDataSelectionFilters } from './OptionFromDataFieldDataSelectionFilters'; +export type MasterFieldFieldDataOptionFromData = { + value?: string; + dataFieldSelection: string; + optionsLabelFieldName?: string; + selectedOptionsIndex?: number; + dataSelectionFilters?: OptionFromDataFieldDataSelectionFilters; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'optionFromData'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataRichText.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithReference = { - description: \`This is a model with one property containing a reference\`, - properties: { - prop: { - type: 'ModelWithProperties', - }, - }, -} as const; +import type { RichTextFieldControls } from './RichTextFieldControls'; +import type { RichTextFieldSettings } from './RichTextFieldSettings'; +export type MasterFieldFieldDataRichText = { + value: string; + dynamicResizing: boolean; + richTextState: string; + inputHeight?: number; + sameSettingsForAllVariations: boolean; + richTextVariations: Record; + richTextSettings: RichTextFieldSettings; + richTextControls: RichTextFieldControls; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'richText'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$ModelWithString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDataText.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $ModelWithString = { - description: \`This is a model with one string property\`, - properties: { - prop: { - type: 'string', - description: \`This is a simple string property\`, - }, - }, -} as const; +export type MasterFieldFieldDataText = { + value: string; + maxCharacters?: number; + multiLine?: boolean; + inputHeight?: number; + masterFieldName?: string; + masterFieldId?: string; + masterFieldControl: 'text'; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleBoolean.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $SimpleBoolean = { - type: 'boolean', - description: \`This is a simple boolean\`, -} as const; +import type { ControlType } from './ControlType'; +import type { MasterFieldFieldData } from './MasterFieldFieldData'; +export type MasterFieldFieldDetails = { + control: ControlType.MASTER_FIELD; + data: MasterFieldFieldData; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleFile.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/MasterFieldsControlType.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $SimpleFile = { - type: 'binary', - description: \`This is a simple file\`, -} as const; +export enum MasterFieldsControlType { + CONTROL_TEXT_ENUM_VAL1 = 'controlTextEnumVal1', + CONTROL_TEXT_ENUM_VAL2 = 'controlTextEnumVal2', + CONTROL_TEXT_ENUM_VAL3 = 'controlTextEnumVal3', +} " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleInteger.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/NumberField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $SimpleInteger = { - type: 'number', - description: \`This is a simple number\`, -} as const; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { NumberFieldData } from './NumberFieldData'; +export type NumberField = { + control: 'number'; + data: NumberFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleReference.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/NumberFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $SimpleReference = { - type: 'ModelWithString', - description: \`This is a simple reference\`, -} as const; +export type NumberFieldData = { + value?: number; + slider?: boolean; + min?: number; + max?: number; + step?: number; + name: string; + label: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleString.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/NumberFieldDataDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $SimpleString = { - type: 'string', - description: \`This is a simple string\`, -} as const; +export type NumberFieldDataDetails = { + value?: number; + slider?: boolean; + min?: number; + max?: number; + step?: number; +}; + " `; -exports[`v2 should generate: test/generated/v2/schemas/$SimpleStringWithPattern.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/NumberFieldDetails.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $SimpleStringWithPattern = { - type: 'string', - description: \`This is a simple string\`, - maxLength: 64, - pattern: '^[a-zA-Z0-9_]*$', -} as const; +import type { ControlType } from './ControlType'; +import type { NumberFieldData } from './NumberFieldData'; +export type NumberFieldDetails = { + control: ControlType.NUMBER; + data: NumberFieldData; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/CollectionFormatService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class CollectionFormatService { - /** - * @param parameterArrayCsv This is an array parameter that is sent as csv format (comma-separated values) - * @param parameterArraySsv This is an array parameter that is sent as ssv format (space-separated values) - * @param parameterArrayTsv This is an array parameter that is sent as tsv format (tab-separated values) - * @param parameterArrayPipes This is an array parameter that is sent as pipes format (pipe-separated values) - * @param parameterArrayMulti This is an array parameter that is sent as multi format (multiple parameter instances) - * @throws ApiError - */ - public static collectionFormat(parameterArrayCsv: Array, - parameterArraySsv: Array, - parameterArrayTsv: Array, - parameterArrayPipes: Array, - parameterArrayMulti: Array, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/collectionFormat', - query: { - 'parameterArrayCSV': parameterArrayCsv, - 'parameterArraySSV': parameterArraySsv, - 'parameterArrayTSV': parameterArrayTsv, - 'parameterArrayPipes': parameterArrayPipes, - 'parameterArrayMulti': parameterArrayMulti, - }, - }); -} -} +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { OptionFieldData } from './OptionFieldData'; +export type OptionField = { + control: 'option'; + data: OptionFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/ComplexService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ComplexService { - /** - * @param parameterObject Parameter containing object - * @param parameterReference Parameter containing reference - * @returns ModelWithString Successful response - * @throws ApiError - */ - public static complexTypes(parameterObject: { - first?: { - second?: { - third?: string; - }; - }; - }, - parameterReference: ModelWithString, -): CancelablePromise> { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/complex', - query: { - 'parameterObject': parameterObject, - 'parameterReference': parameterReference, - }, - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); -} +import type { OptionFieldOptions } from './OptionFieldOptions'; +export type OptionFieldData = { + value?: string; + options?: OptionFieldOptions; + fromJson?: boolean; + jsonSelectArrayIndex?: number; + jsonFieldIdentifier?: string; + jsonFieldDropDownLabel?: string; + fromJsonAsset?: boolean; + sharedJsonId?: string; + sharedJsonName?: string; + sharedJsonValue?: string; + name: string; + label: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OptionFieldOptions } from './OptionFieldOptions'; +export type OptionFieldDataDetails = { + value?: string; + options?: OptionFieldOptions; + fromJson?: boolean; + jsonSelectArrayIndex?: number; + jsonFieldIdentifier?: string; + jsonFieldDropDownLabel?: string; + fromJsonAsset?: boolean; + sharedJsonId?: string; + sharedJsonName?: string; + sharedJsonValue?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ControlType } from './ControlType'; +import type { OptionFieldData } from './OptionFieldData'; +export type OptionFieldDetails = { + control: ControlType.OPTION; + data: OptionFieldData; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFieldOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type OptionFieldOptions = Array<{ + value: string; + label: string; +}>; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFromDataField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { OptionFromDataFieldData } from './OptionFromDataFieldData'; +export type OptionFromDataField = { + control: 'optionFromData'; + data: OptionFromDataFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFromDataFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OptionFromDataFieldDataSelectionFilters } from './OptionFromDataFieldDataSelectionFilters'; +export type OptionFromDataFieldData = { + value?: string; + dataFieldSelection: string; + optionsLabelFieldName?: string; + selectedOptionsIndex?: number; + dataSelectionFilters?: OptionFromDataFieldDataSelectionFilters; + name: string; + label: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFromDataFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OptionFromDataFieldDataSelectionFilters } from './OptionFromDataFieldDataSelectionFilters'; +export type OptionFromDataFieldDataDetails = { + value?: string; + dataFieldSelection: string; + optionsLabelFieldName?: string; + selectedOptionsIndex?: number; + dataSelectionFilters?: OptionFromDataFieldDataSelectionFilters; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFromDataFieldDataSelectionFilters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type OptionFromDataFieldDataSelectionFilters = Array<{ + name: string; +}>; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OptionFromDataFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ControlType } from './ControlType'; +import type { OptionFromDataFieldData } from './OptionFromDataFieldData'; +export type OptionFromDataFieldDetails = { + control: ControlType.OPTION_FROM_DATA; + data: OptionFromDataFieldData; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrderByOrderQueryParamSchema.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum OrderByOrderQueryParamSchema { + ASC = 'asc', + DESC = 'desc', } " `; -exports[`v2 should generate: test/generated/v2/services/DefaultService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrderByQueryParamSchema.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultService { - /** - * @throws ApiError - */ - public static serviceWithEmptyTag(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-tag', - }); - } +export enum OrderByQueryParamSchema { + NAME = 'name', + CREATED_AT = 'createdAt', + UPDATED_AT = 'updatedAt', } " `; -exports[`v2 should generate: test/generated/v2/services/DefaultsService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Organisation.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DefaultsService { +import type { OrganisationAdmin } from './OrganisationAdmin'; +export type Organisation = { /** - * @param parameterString This is a simple string with default value - * @param parameterNumber This is a simple number with default value - * @param parameterBoolean This is a simple boolean with default value - * @param parameterEnum This is a simple enum with default value - * @param parameterModel This is a simple model with default value - * @throws ApiError + * Unique id of the organisation */ - public static callWithDefaultParameters(parameterString: string = 'Hello World!', - parameterNumber: number = 123, - parameterBoolean: boolean = true, - parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', - parameterModel: ModelWithString = { - "prop": "Hello World!" - }, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); -} -/** - * @param parameterString This is a simple string that is optional with default value - * @param parameterNumber This is a simple number that is optional with default value - * @param parameterBoolean This is a simple boolean that is optional with default value - * @param parameterEnum This is a simple enum that is optional with default value - * @param parameterModel This is a simple model that is optional with default value - * @throws ApiError - */ -public static callWithDefaultOptionalParameters(parameterString: string = 'Hello World!', -parameterNumber: number = 123, -parameterBoolean: boolean = true, -parameterEnum: 'Success' | 'Warning' | 'Error' = 'Success', -parameterModel: ModelWithString = { - "prop": "Hello World!" -}, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/defaults', - query: { - 'parameterString': parameterString, - 'parameterNumber': parameterNumber, - 'parameterBoolean': parameterBoolean, - 'parameterEnum': parameterEnum, - 'parameterModel': parameterModel, - }, - }); -} -/** - * @param parameterStringWithNoDefault This is a string with no default - * @param parameterOptionalStringWithDefault This is a optional string with default - * @param parameterOptionalStringWithEmptyDefault This is a optional string with empty default - * @param parameterOptionalStringWithNoDefault This is a optional string with no default - * @param parameterStringWithDefault This is a string with default - * @param parameterStringWithEmptyDefault This is a string with empty default - * @param parameterStringNullableWithNoDefault This is a string that can be null with no default - * @param parameterStringNullableWithDefault This is a string that can be null with default - * @throws ApiError - */ -public static callToTestOrderOfParams(parameterStringWithNoDefault: string, -parameterOptionalStringWithDefault: string = 'Hello World!', -parameterOptionalStringWithEmptyDefault: string = '', -parameterOptionalStringWithNoDefault?: string, -parameterStringWithDefault: string = 'Hello World!', -parameterStringWithEmptyDefault: string = '', -parameterStringNullableWithNoDefault?: string | null, -parameterStringNullableWithDefault: string | null = null, -): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/defaults', - query: { - 'parameterOptionalStringWithDefault': parameterOptionalStringWithDefault, - 'parameterOptionalStringWithEmptyDefault': parameterOptionalStringWithEmptyDefault, - 'parameterOptionalStringWithNoDefault': parameterOptionalStringWithNoDefault, - 'parameterStringWithDefault': parameterStringWithDefault, - 'parameterStringWithEmptyDefault': parameterStringWithEmptyDefault, - 'parameterStringWithNoDefault': parameterStringWithNoDefault, - 'parameterStringNullableWithNoDefault': parameterStringNullableWithNoDefault, - 'parameterStringNullableWithDefault': parameterStringNullableWithDefault, - }, - }); -} -} + id: string; + /** + * Name of the organisation + */ + name: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + archive?: boolean; + organisationAdmin: OrganisationAdmin; + /** + * if the user had a avatar set or not + */ + avatar: boolean; + slack: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/DescriptionsService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationAdmin.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DescriptionsService { +export type OrganisationAdmin = { /** - * @param parameterWithBreaks Testing multiline comments in string: First line - * Second line - * - * Fourth line - * @param parameterWithBackticks Testing backticks in string: \`backticks\` and \`\`\`multiple backticks\`\`\` should work - * @param parameterWithSlashes Testing slashes in string: \\backwards\\\\\\ and /forwards/// should work - * @param parameterWithExpressionPlaceholders Testing expression placeholders in string: \${expression} should work - * @param parameterWithQuotes Testing quotes in string: 'single quote''' and "double quotes""" should work - * @param parameterWithReservedCharacters Testing reserved characters in string: * inline * and ** inline ** should work - * @throws ApiError + * Unique id of the organisation */ - public static callWithDescriptions(parameterWithBreaks?: string, - parameterWithBackticks?: string, - parameterWithSlashes?: string, - parameterWithExpressionPlaceholders?: string, - parameterWithQuotes?: string, - parameterWithReservedCharacters?: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/descriptions/', - query: { - 'parameterWithBreaks': parameterWithBreaks, - 'parameterWithBackticks': parameterWithBackticks, - 'parameterWithSlashes': parameterWithSlashes, - 'parameterWithExpressionPlaceholders': parameterWithExpressionPlaceholders, - 'parameterWithQuotes': parameterWithQuotes, - 'parameterWithReservedCharacters': parameterWithReservedCharacters, - }, - }); -} -} + id: string; + templateLevels: Array; + includeTeams: boolean; + includeSpaces: boolean; + maxNoOfTeams: number; + maxNoOfSpaces: number; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/DuplicateService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationAuth.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class DuplicateService { +import type { GroupUserPermissions } from './GroupUserPermissions'; +import type { OrganisationManagement } from './OrganisationManagement'; +import type { TeamAuth } from './TeamAuth'; +export type OrganisationAuth = { + organisationManagement: OrganisationManagement; + teams: Record; + organisationGroups: Record; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUser } from './GroupUser'; +import type { OrganisationManagement } from './OrganisationManagement'; +export type OrganisationGroup = { /** - * @throws ApiError + * Unique id of the organisation group */ - public static duplicateName(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/duplicate', - }); - } + id: string; /** - * @throws ApiError + * If the group is the default admin group or not. */ - public static duplicateName1(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/duplicate', - }); - } + defaultAdminGroup: boolean; /** - * @throws ApiError + * Name of the organisation group */ - public static duplicateName2(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/duplicate', - }); - } + name: string; /** - * @throws ApiError + * Unique id of the organisation */ - public static duplicateName3(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/duplicate', - }); - } -} + organisationId: string; + permissions: OrganisationManagement; + /** + * archived or not + */ + archive?: boolean; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * last updated by user string. + */ + updatedBy?: string; + users: Array; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/ErrorService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationGroupAll.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ErrorService { +import type { OrganisationManagement } from './OrganisationManagement'; +export type OrganisationGroupAll = { /** - * @param status Status code to return - * @returns any Custom message: Successful response - * @throws ApiError + * Unique id of the organisation group */ - public static testErrorCode(status: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/error', - query: { - 'status': status, - }, - errors: { - 500: \`Custom message: Internal Server Error\`, - 501: \`Custom message: Not Implemented\`, - 502: \`Custom message: Bad Gateway\`, - 503: \`Custom message: Service Unavailable\`, - }, - }); -} -} + id: string; + /** + * If the group is the default admin group or not. + */ + defaultAdminGroup: boolean; + /** + * Name of the organisation group + */ + name: string; + /** + * Unique id of the organisation + */ + organisationId: string; + permissions: OrganisationManagement; + /** + * archived or not + */ + archive?: boolean; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * last updated by user string. + */ + updatedBy?: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/HeaderService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationGroupPermissions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class HeaderService { - /** - * @returns string Successful response - * @throws ApiError - */ - public static callWithResultFromHeader(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/header', - responseHeader: 'operation-location', - errors: { - 400: \`400 server error\`, - 500: \`500 server error\`, - }, - }); - } -} +import type { OrganisationManagement } from './OrganisationManagement'; +export type OrganisationGroupPermissions = OrganisationManagement; " `; -exports[`v2 should generate: test/generated/v2/services/MultipleTags1Service.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationGroupUserPermissions.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags1Service { +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type OrganisationGroupUserPermissions = { /** - * @returns void - * @throws ApiError + * Unique id of the organisation group */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } + id: string; /** - * @returns void - * @throws ApiError + * Unique id of the organisation */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} + organisationId: string; + permission: GroupUserPermissions; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/MultipleTags2Service.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationGroupUsers.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags2Service { +import type { GroupUser } from './GroupUser'; +export type OrganisationGroupUsers = { + users: Array; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OrganisationManagement.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * permission set of the organisation group + */ +export type OrganisationManagement = { /** - * @returns void - * @throws ApiError + * Admin of the organisation */ - public static dummyA(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/a', - }); - } + admin: boolean; /** - * @returns void - * @throws ApiError + * Can a user createTeam */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} + createTeam: boolean; + /** + * Can a user removeTeam + */ + removeTeam: boolean; + /** + * Can a user viewAllTeams + */ + viewAllTeams: boolean; + /** + * Can a user userManagement + */ + userManagement: boolean; + /** + * Can a user viewBilling + */ + viewBilling: boolean; + /** + * Can a user settingsManagement + */ + settingsManagement: boolean; + /** + * Can a user groupManagement + */ + groupManagement: boolean; + /** + * Can a user createTemplates + */ + createTemplates: boolean; + /** + * Can a user deleteTemplates + */ + deleteTemplates: boolean; + /** + * Can a user createFeed + */ + createFeed: boolean; + /** + * Can a user deleteFeed + */ + deleteFeed: boolean; + /** + * Can a user createAsset + */ + createAsset: boolean; + /** + * Can a user deleteAsset + */ + deleteAsset: boolean; + /** + * Can a user createMasterField + */ + createMasterField: boolean; + /** + * Can a user deleteMasterField + */ + deleteMasterField: boolean; + /** + * Can a user createJSON + */ + createJSON: boolean; + /** + * Can a user deleteJSON + */ + deleteJSON: boolean; + /** + * Can a user deleteAsset + */ + viewMetrics: boolean; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/MultipleTags3Service.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OwnerType.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class MultipleTags3Service { +import type { OwnerTypeType } from './OwnerTypeType'; +export type OwnerType = { + ownerType: OwnerTypeType; /** - * @returns void - * @throws ApiError + * org ID of the template. */ - public static dummyB(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/multiple-tags/b', - }); - } -} + organisationId?: string; + /** + * teamId ID of the template. + */ + teamId?: string; + /** + * space ID of the template. + */ + spaceId?: string; + /** + * user ID of the template. + */ + userId?: string; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/NoContentService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/OwnerTypeType.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class NoContentService { - /** - * @returns void - * @throws ApiError - */ - public static callWithNoContentResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/no-content', - }); - } +export enum OwnerTypeType { + ORGANISATION = 'organisation', + TEAM = 'team', + SPACE = 'space', + USER = 'user', } " `; -exports[`v2 should generate: test/generated/v2/services/ParametersService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Permission.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ParametersService { - /** - * @param parameterHeader This is the parameter that goes into the header - * @param parameterQuery This is the parameter that goes into the query params - * @param parameterForm This is the parameter that goes into the form data - * @param parameterBody This is the parameter that is sent as request body - * @param parameterPath This is the parameter that goes into the path - * @throws ApiError - */ - public static callWithParameters(parameterHeader: string, - parameterQuery: string, - parameterForm: string, - parameterBody: string, - parameterPath: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameterPath}', - path: { - 'parameterPath': parameterPath, - }, - headers: { - 'parameterHeader': parameterHeader, - }, - query: { - 'parameterQuery': parameterQuery, - }, - formData: { - 'parameterForm': parameterForm, - }, - body: parameterBody, - }); -} -/** - * @param parameterHeader This is the parameter that goes into the request header - * @param parameterQuery This is the parameter that goes into the request query params - * @param parameterForm This is the parameter that goes into the request form data - * @param parameterBody This is the parameter that is sent as request body - * @param parameterPath1 This is the parameter that goes into the path - * @param parameterPath2 This is the parameter that goes into the path - * @param parameterPath3 This is the parameter that goes into the path - * @param _default This is the parameter with a reserved keyword - * @throws ApiError - */ -public static callWithWeirdParameterNames(parameterHeader: string, -parameterQuery: string, -parameterForm: string, -parameterBody: string, -parameterPath1?: string, -parameterPath2?: string, -parameterPath3?: string, -_default?: string, -): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/parameters/{parameter.path.1}/{parameter-path-2}/{PARAMETER-PATH-3}', - path: { - 'parameter.path.1': parameterPath1, - 'parameter-path-2': parameterPath2, - 'PARAMETER-PATH-3': parameterPath3, - }, - headers: { - 'parameter.header': parameterHeader, - }, - query: { - 'default': _default, - 'parameter-query': parameterQuery, - }, - formData: { - 'parameter_form': parameterForm, - }, - body: parameterBody, - }); -} -} +import type { OrganisationAuth } from './OrganisationAuth'; +export type Permission = Record; " `; -exports[`v2 should generate: test/generated/v2/services/ResponseService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Post.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ModelThatExtends } from '../models/ModelThatExtends'; -import type { ModelThatExtendsExtends } from '../models/ModelThatExtendsExtends'; -import type { ModelWithString } from '../models/ModelWithString'; -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class ResponseService { +import type { PostDataType } from './PostDataType'; +export type Post = { /** - * @returns ModelWithString Message for default response - * @throws ApiError + * Unique id of the Post */ - public static callWithResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/response', - }); - } + id: string; /** - * @returns ModelWithString Message for default response - * @throws ApiError + * Name of the Post */ - public static callWithDuplicateResponses(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } + title: string; /** - * @returns any Message for 200 response - * @returns ModelWithString Message for default response - * @returns ModelThatExtends Message for 201 response - * @returns ModelThatExtendsExtends Message for 202 response - * @throws ApiError + * Id of the space the post is associated with */ - public static callWithResponses(): CancelablePromise<{ - readonly '@namespace.string'?: string; - readonly '@namespace.integer'?: number; - readonly value?: Array; - } | ModelWithString | ModelThatExtends | ModelThatExtendsExtends> { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/response', - errors: { - 500: \`Message for 500 error\`, - 501: \`Message for 501 error\`, - 502: \`Message for 502 error\`, - }, - }); - } -} -" -`; - -exports[`v2 should generate: test/generated/v2/services/SimpleService.ts 1`] = ` -"/* generated using openapi-typescript-codegen -- do not edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class SimpleService { + spaceId: string; /** - * @throws ApiError + * Id of the team the post is associated with */ - public static getCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/simple', - }); - } + teamId: string; /** - * @throws ApiError + * Id of the organisation the post is associated with */ - public static putCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PUT', - url: '/api/v{api-version}/simple', - }); - } + organisationId: string; /** - * @throws ApiError + * Id of the template */ - public static postCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'POST', - url: '/api/v{api-version}/simple', - }); - } + templateId: string; /** - * @throws ApiError + * The version of the template */ - public static deleteCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/api/v{api-version}/simple', - }); - } + templateVersion: string; /** - * @throws ApiError + * The owner of the template */ - public static optionsCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'OPTIONS', - url: '/api/v{api-version}/simple', - }); - } + templateOwner: string; /** - * @throws ApiError + * boolean to say if the post is published or not. */ - public static headCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'HEAD', - url: '/api/v{api-version}/simple', - }); - } + published: boolean; /** - * @throws ApiError + * User ID of who published the post */ - public static patchCallWithoutParametersAndResponse(): CancelablePromise { - return __request(OpenAPI, { - method: 'PATCH', - url: '/api/v{api-version}/simple', - }); - } -} + publishedBy?: string; + /** + * The iso string the time the post was published + */ + publishedAt?: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + /** + * boolean if the post is archived or not + */ + archive?: boolean; + /** + * The version of the template + */ + version: number; + /** + * last image time in iso format. + */ + lastImageTime: string; + data: PostDataType; +}; + " `; -exports[`v2 should generate: test/generated/v2/services/TypesService.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/PostDataType.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { CancelablePromise } from '../core/CancelablePromise'; -import { OpenAPI } from '../core/OpenAPI'; -import { request as __request } from '../core/request'; -export class TypesService { - /** - * @param parameterArray This is an array parameter - * @param parameterDictionary This is a dictionary parameter - * @param parameterEnum This is an enum parameter - * @param parameterNumber This is a number parameter - * @param parameterString This is a string parameter - * @param parameterBoolean This is a boolean parameter - * @param parameterObject This is an object parameter - * @param id This is a number parameter - * @returns number Response is a simple number - * @returns string Response is a simple string - * @returns boolean Response is a simple boolean - * @returns any Response is a simple object - * @throws ApiError - */ - public static types(parameterArray: Array, - parameterDictionary: Record, - parameterEnum: 'Success' | 'Warning' | 'Error', - parameterNumber: number = 123, - parameterString: string = 'default', - parameterBoolean: boolean = true, - parameterObject: any = null, - id?: number, -): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/api/v{api-version}/types', - path: { - 'id': id, - }, - query: { - 'parameterNumber': parameterNumber, - 'parameterString': parameterString, - 'parameterBoolean': parameterBoolean, - 'parameterObject': parameterObject, - 'parameterArray': parameterArray, - 'parameterDictionary': parameterDictionary, - 'parameterEnum': parameterEnum, - }, - }); -} -} +import type { Fields } from './Fields'; +/** + * schema of the template + */ +export type PostDataType = { + fields: Fields; +}; + " `; -exports[`v3 should generate: test/generated/v3/core/ApiError.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/PostFull.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; - -export class ApiError extends Error { - public readonly url: string; - public readonly status: number; - public readonly statusText: string; - public readonly body: any; - public readonly request: ApiRequestOptions; - - constructor(request: ApiRequestOptions, response: ApiResult, message: string) { - super(message); +import type { PostDataType } from './PostDataType'; +export type PostFull = { + data: PostDataType; +}; - this.name = 'ApiError'; - this.url = response.url; - this.status = response.status; - this.statusText = response.statusText; - this.body = response.body; - this.request = request; - } -} " `; -exports[`v3 should generate: test/generated/v3/core/ApiRequestOptions.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/RichTextField.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type ApiRequestOptions = { - readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH'; - readonly url: string; - readonly path?: Record; - readonly cookies?: Record; - readonly headers?: Record; - readonly query?: Record; - readonly formData?: Record; - readonly body?: any; - readonly mediaType?: string; - readonly responseHeader?: string; - readonly errors?: Record; +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { RichTextFieldData } from './RichTextFieldData'; +export type RichTextField = { + control: 'richText'; + data: RichTextFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; }; + " `; -exports[`v3 should generate: test/generated/v3/core/ApiResult.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/RichTextFieldControls.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export type ApiResult = { - readonly url: string; - readonly ok: boolean; - readonly status: number; - readonly statusText: string; - readonly body: any; +export type RichTextFieldControls = { + paragraph: boolean; + h1: boolean; + h2: boolean; + h3: boolean; + ul: boolean; + ol: boolean; + bold: boolean; + italic: boolean; + underline: boolean; + strikethrough: boolean; + left: boolean; + center: boolean; + right: boolean; + justify: boolean; + undo: boolean; + redo: boolean; }; + " `; -exports[`v3 should generate: test/generated/v3/core/CancelablePromise.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/RichTextFieldData.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export class CancelError extends Error { - - constructor(message: string) { - super(message); - this.name = 'CancelError'; - } +import type { RichTextFieldControls } from './RichTextFieldControls'; +import type { RichTextFieldSettings } from './RichTextFieldSettings'; +export type RichTextFieldData = { + value: string; + dynamicResizing: boolean; + richTextState: string; + inputHeight?: number; + sameSettingsForAllVariations: boolean; + richTextVariations: Record; + richTextSettings: RichTextFieldSettings; + richTextControls: RichTextFieldControls; + name: string; + label: string; +}; - public get isCancelled(): boolean { - return true; - } -} +" +`; -export interface OnCancel { - readonly isResolved: boolean; - readonly isRejected: boolean; - readonly isCancelled: boolean; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/RichTextFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { RichTextFieldControls } from './RichTextFieldControls'; +import type { RichTextFieldSettings } from './RichTextFieldSettings'; +export type RichTextFieldDataDetails = { + value: string; + dynamicResizing: boolean; + richTextState: string; + inputHeight?: number; + sameSettingsForAllVariations: boolean; + richTextVariations: Record; + richTextSettings: RichTextFieldSettings; + richTextControls: RichTextFieldControls; +}; - (cancelHandler: () => void): void; -} +" +`; -export class CancelablePromise implements Promise { - #isResolved: boolean; - #isRejected: boolean; - #isCancelled: boolean; - readonly #cancelHandlers: (() => void)[]; - readonly #promise: Promise; - #resolve?: (value: T | PromiseLike) => void; - #reject?: (reason?: any) => void; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/RichTextFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ControlType } from './ControlType'; +import type { RichTextFieldData } from './RichTextFieldData'; +export type RichTextFieldDetails = { + control: ControlType.RICH_TEXT; + data: RichTextFieldData; +}; - constructor( - executor: ( - resolve: (value: T | PromiseLike) => void, - reject: (reason?: any) => void, - onCancel: OnCancel - ) => void - ) { - this.#isResolved = false; - this.#isRejected = false; - this.#isCancelled = false; - this.#cancelHandlers = []; - this.#promise = new Promise((resolve, reject) => { - this.#resolve = resolve; - this.#reject = reject; +" +`; - const onResolve = (value: T | PromiseLike): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isResolved = true; - if (this.#resolve) this.#resolve(value); - }; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/RichTextFieldSettings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type RichTextFieldSettings = { + maxFontSize?: number; + maxHeight?: number; + maxRows?: number; + minFontSize?: number; + maxCharacters?: number; + lineHeight: number; +}; - const onReject = (reason?: any): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isRejected = true; - if (this.#reject) this.#reject(reason); - }; +" +`; - const onCancel = (cancelHandler: () => void): void => { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#cancelHandlers.push(cancelHandler); - }; - - Object.defineProperty(onCancel, 'isResolved', { - get: (): boolean => this.#isResolved, - }); - - Object.defineProperty(onCancel, 'isRejected', { - get: (): boolean => this.#isRejected, - }); - - Object.defineProperty(onCancel, 'isCancelled', { - get: (): boolean => this.#isCancelled, - }); - - return executor(onResolve, onReject, onCancel as OnCancel); - }); - } - - get [Symbol.toStringTag]() { - return "Cancellable Promise"; - } - - public then( - onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null, - onRejected?: ((reason: any) => TResult2 | PromiseLike) | null - ): Promise { - return this.#promise.then(onFulfilled, onRejected); - } - - public catch( - onRejected?: ((reason: any) => TResult | PromiseLike) | null - ): Promise { - return this.#promise.catch(onRejected); - } - - public finally(onFinally?: (() => void) | null): Promise { - return this.#promise.finally(onFinally); - } - - public cancel(): void { - if (this.#isResolved || this.#isRejected || this.#isCancelled) { - return; - } - this.#isCancelled = true; - if (this.#cancelHandlers.length) { - try { - for (const cancelHandler of this.#cancelHandlers) { - cancelHandler(); - } - } catch (error) { - console.warn('Cancellation threw an error', error); - return; - } - } - this.#cancelHandlers.length = 0; - if (this.#reject) this.#reject(new CancelError('Request aborted')); - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Space.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type Space = { + /** + * Unique id of the Space + */ + id: string; + /** + * Name of the Space + */ + name: string; + /** + * Id of the team the space is associated with + */ + teamId: string; + /** + * Id of the template + */ + organisationId: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + /** + * Archive status of the space + */ + archive?: boolean; +}; - public get isCancelled(): boolean { - return this.#isCancelled; - } -} " `; -exports[`v3 should generate: test/generated/v3/core/OpenAPI.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/SpaceAuth.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { ApiRequestOptions } from './ApiRequestOptions'; - -type Resolver = (options: ApiRequestOptions) => Promise; -type Headers = Record; - -export type OpenAPIConfig = { - BASE: string; - VERSION: string; - WITH_CREDENTIALS: boolean; - CREDENTIALS: 'include' | 'omit' | 'same-origin'; - TOKEN?: string | Resolver | undefined; - USERNAME?: string | Resolver | undefined; - PASSWORD?: string | Resolver | undefined; - HEADERS?: Headers | Resolver | undefined; - ENCODE_PATH?: ((path: string) => string) | undefined; +import type { SpaceManagement } from './SpaceManagement'; +export type SpaceAuth = { + spaceManagement: SpaceManagement; }; -export const OpenAPI: OpenAPIConfig = { - BASE: 'http://localhost:3000/base', - VERSION: '1.0', - WITH_CREDENTIALS: false, - CREDENTIALS: 'include', - TOKEN: undefined, - USERNAME: undefined, - PASSWORD: undefined, - HEADERS: undefined, - ENCODE_PATH: undefined, -}; " `; -exports[`v3 should generate: test/generated/v3/core/request.ts 1`] = ` +exports[`allOfCombined should generate: test/generated/allOfCombined/models/SpaceGroup.ts 1`] = ` "/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import { ApiError } from './ApiError'; -import type { ApiRequestOptions } from './ApiRequestOptions'; -import type { ApiResult } from './ApiResult'; -import { CancelablePromise } from './CancelablePromise'; -import type { OnCancel } from './CancelablePromise'; -import type { OpenAPIConfig } from './OpenAPI'; - -export const isDefined = (value: T | null | undefined): value is Exclude => { - return value !== undefined && value !== null; +import type { GroupUser } from './GroupUser'; +import type { Space } from './Space'; +import type { SpaceManagement } from './SpaceManagement'; +export type SpaceGroup = { + /** + * Unique id of the team group + */ + id: string; + /** + * Name of the team group + */ + name: string; + /** + * Unique id of the team + */ + teamId: string; + /** + * Unique id of the organisation + */ + organisationId: string; + /** + * boolean if the post is archived or not + */ + archive?: boolean; + permissions: SpaceManagement; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * last updated by user string. + */ + updatedBy?: string; + users: Array; + spaces: Array; }; -export const isString = (value: any): value is string => { - return typeof value === 'string'; -}; +" +`; -export const isStringWithValue = (value: any): value is string => { - return isString(value) && value !== ''; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/SpaceGroupAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { SpaceManagement } from './SpaceManagement'; +export type SpaceGroupAll = { + /** + * Unique id of the team group + */ + id: string; + /** + * Name of the team group + */ + name: string; + /** + * Unique id of the team + */ + teamId: string; + /** + * Unique id of the organisation + */ + organisationId: string; + /** + * boolean if the post is archived or not + */ + archive?: boolean; + permissions: SpaceManagement; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * last updated by user string. + */ + updatedBy?: string; }; -export const isBlob = (value: any): value is Blob => { - return ( - typeof value === 'object' && - typeof value.type === 'string' && - typeof value.stream === 'function' && - typeof value.arrayBuffer === 'function' && - typeof value.constructor === 'function' && - typeof value.constructor.name === 'string' && - /^(Blob|File)$/.test(value.constructor.name) && - /^(Blob|File)$/.test(value[Symbol.toStringTag]) - ); -}; +" +`; -export const isFormData = (value: any): value is FormData => { - return value instanceof FormData; -}; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/SpaceGroupPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { SpaceManagement } from './SpaceManagement'; +export type SpaceGroupPermissions = SpaceManagement; +" +`; -export const base64 = (str: string): string => { - try { - return btoa(str); - } catch (err) { - // @ts-ignore - return Buffer.from(str).toString('base64'); - } +exports[`allOfCombined should generate: test/generated/allOfCombined/models/SpaceGroupUserPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type SpaceGroupUserPermissions = { + /** + * Unique id of the team group + */ + id: string; + /** + * Unique id of the organisation + */ + organisationId: string; + /** + * Unique id of the team + */ + teamId: string; + permission: GroupUserPermissions; }; -export const getQueryString = (params: Record): string => { - const qs: string[] = []; - - const append = (key: string, value: any) => { - qs.push(\`\${encodeURIComponent(key)}=\${encodeURIComponent(String(value))}\`); - }; - - const process = (key: string, value: any) => { - if (isDefined(value)) { - if (Array.isArray(value)) { - value.forEach(v => { - process(key, v); - }); - } else if (typeof value === 'object') { - Object.entries(value).forEach(([k, v]) => { - process(\`\${key}[\${k}]\`, v); - }); - } else { - append(key, value); - } - } - }; - - Object.entries(params).forEach(([key, value]) => { - process(key, value); - }); - - if (qs.length > 0) { - return \`?\${qs.join('&')}\`; - } +" +`; - return ''; +exports[`allOfCombined should generate: test/generated/allOfCombined/models/SpaceGroupUsers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUser } from './GroupUser'; +import type { Space } from './Space'; +export type SpaceGroupUsers = { + users: Array; + spaces: Array; }; -const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => { - const encoder = config.ENCODE_PATH || encodeURI; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/SpaceManagement.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * permission set of the team group + */ +export type SpaceManagement = { + /** + * createPosts of the team + */ + createPosts: boolean; + /** + * deletePosts of the team + */ + deletePosts: boolean; + /** + * Can a user settingsManagement + */ + settingsManagement: boolean; + /** + * Can a user approvePosts + */ + approvePosts: boolean; + /** + * Can a user createTemplates + */ + createTemplates: boolean; + /** + * Can a user deleteTemplates + */ + deleteTemplates: boolean; + /** + * Can a user createFeed + */ + createFeed: boolean; + /** + * Can a user deleteFeed + */ + deleteFeed: boolean; + /** + * Can a user createAsset + */ + createAsset: boolean; + /** + * Can a user deleteAsset + */ + deleteAsset: boolean; + /** + * Can a user createJSON + */ + createJSON: boolean; + /** + * Can a user deleteJSON + */ + deleteJSON: boolean; + /** + * Can a user createMasterField + */ + createMasterField: boolean; + /** + * Can a user deleteMasterField + */ + deleteMasterField: boolean; + /** + * Can a user deleteAsset + */ + viewMetrics: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Team.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type Team = { + /** + * Unique id of the Team + */ + id: string; + /** + * Name of the Team + */ + name: string; + /** + * organisation ID for the team. + */ + organisationId: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + /** + * archive status of the team + */ + archive?: boolean; + /** + * if the user had a avatar set or not + */ + avatar: boolean; + /** + * has slack been added + */ + slack: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TeamAuth.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUserPermissions } from './GroupUserPermissions'; +import type { SpaceAuth } from './SpaceAuth'; +import type { TeamManagement } from './TeamManagement'; +export type TeamAuth = { + teamManagement: TeamManagement; + spaces: Record; + teamGroups: Record; + spaceGroups: Record; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TeamGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUser } from './GroupUser'; +import type { TeamManagement } from './TeamManagement'; +export type TeamGroup = { + /** + * Unique id of the team group + */ + id: string; + /** + * If the group is the default admin group or not. + */ + defaultAdminGroup: boolean; + /** + * Name of the team group + */ + name: string; + /** + * Unique id of the team + */ + teamId: string; + /** + * Unique id of the organisation + */ + organisationId: string; + permissions: TeamManagement; + /** + * Archive status of the team group + */ + archive?: boolean; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * last updated by user string. + */ + updatedBy?: string; + users: Array; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TeamGroupAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TeamManagement } from './TeamManagement'; +export type TeamGroupAll = { + /** + * Unique id of the team group + */ + id: string; + /** + * If the group is the default admin group or not. + */ + defaultAdminGroup: boolean; + /** + * Name of the team group + */ + name: string; + /** + * Unique id of the team + */ + teamId: string; + /** + * Unique id of the organisation + */ + organisationId: string; + permissions: TeamManagement; + /** + * Archive status of the team group + */ + archive?: boolean; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * last updated by user string. + */ + updatedBy?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TeamGroupPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TeamManagement } from './TeamManagement'; +export type TeamGroupPermissions = TeamManagement; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TeamGroupUserPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type TeamGroupUserPermissions = { + /** + * Unique id of the team group + */ + id: string; + /** + * Unique id of the organisation + */ + organisationId: string; + /** + * Unique id of the team + */ + teamId: string; + permission: GroupUserPermissions; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TeamGroupUsers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUser } from './GroupUser'; +export type TeamGroupUsers = { + users: Array; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TeamManagement.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * permission set of the team group + */ +export type TeamManagement = { + /** + * Admin of the team + */ + admin: boolean; + /** + * Can a user settingsManagement + */ + settingsManagement: boolean; + /** + * Can a user approvePosts + */ + approvePosts: boolean; + /** + * Can a user groupManagement + */ + groupManagement: boolean; + /** + * Can a user createTemplates + */ + createTemplates: boolean; + /** + * Can a user deleteTemplates + */ + deleteTemplates: boolean; + /** + * Can a user spaceManagement + */ + spaceManagement: boolean; + userManagement: boolean; + /** + * Can a user createFeed + */ + createFeed: boolean; + /** + * Can a user deleteFeed + */ + deleteFeed: boolean; + /** + * createPosts of the team + */ + createPosts: boolean; + /** + * deletePosts of the team + */ + deletePosts: boolean; + /** + * Can a user createAsset + */ + createAsset: boolean; + /** + * Can a user deleteAsset + */ + deleteAsset: boolean; + /** + * Can a user createMasterField + */ + createMasterField: boolean; + /** + * Can a user deleteMasterField + */ + deleteMasterField: boolean; + /** + * Can a user createJSON + */ + createJSON: boolean; + /** + * Can a user deleteJSON + */ + deleteJSON: boolean; + /** + * Can a user deleteAsset + */ + viewMetrics: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/Template.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OwnerType } from './OwnerType'; +import type { TemplateDefinition } from './TemplateDefinition'; +import type { TemplateSchemaType } from './TemplateSchemaType'; +import type { TemplateVariation } from './TemplateVariation'; +export type Template = { + /** + * Unique id of the Template + */ + id: string; + /** + * The version of the template + */ + version: number; + /** + * Name of the Template + */ + title: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + ownerType: OwnerType; + /** + * boolean if the post is archived or not + */ + archive?: boolean; + draftVersion: boolean; + /** + * last image time in iso format. + */ + lastImageTime: string; + /** + * Name of the Template + */ + postTitle: string; + schema: TemplateSchemaType; + variations: Record; + definitions: Record; + variationsOrder: Array; + definitionsOrder: Array; + transparentBackground: boolean; + /** + * scale Factor of the template + */ + scaleFactor: number; + /** + * language settings to add to the template. + */ + langSettings?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TemplateDefinition.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * definition of the template + */ +export type TemplateDefinition = { + /** + * Unique id of the templateVariation + */ + id: string; + /** + * Name of the template Variation + */ + name: string; + /** + * Markup of the template + */ + markUp: string; + /** + * css of the template + */ + css: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TemplateGetAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OwnerType } from './OwnerType'; +export type TemplateGetAll = { + /** + * Unique id of the Template + */ + id: string; + /** + * The version of the template + */ + version: number; + /** + * Name of the Template + */ + title: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * Created by user string. + */ + createdBy: string; + /** + * last updated by user string. + */ + updatedBy?: string; + ownerType: OwnerType; + /** + * boolean if the post is archived or not + */ + archive?: boolean; + draftVersion: boolean; + /** + * last image time in iso format. + */ + lastImageTime: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TemplateRemaining.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TemplateDefinition } from './TemplateDefinition'; +import type { TemplateSchemaType } from './TemplateSchemaType'; +import type { TemplateVariation } from './TemplateVariation'; +export type TemplateRemaining = { + /** + * Name of the Template + */ + postTitle: string; + schema: TemplateSchemaType; + variations: Record; + definitions: Record; + variationsOrder: Array; + definitionsOrder: Array; + transparentBackground: boolean; + /** + * scale Factor of the template + */ + scaleFactor: number; + /** + * language settings to add to the template. + */ + langSettings?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TemplateSchemaType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { Fields } from './Fields'; +/** + * schema of the template + */ +export type TemplateSchemaType = { + fields: Fields; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TemplateVariation.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Variations of the template + */ +export type TemplateVariation = { + /** + * Unique id of the templateVariation + */ + id: string; + /** + * Name of the template Variation + */ + name: string; + /** + * height of the template + */ + height: number; + /** + * width of the template + */ + width: number; + /** + * definitionId of the template + */ + definitionId: string; + default: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TextField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseSchemaStatus } from './BaseSchemaStatus'; +import type { TextFieldData } from './TextFieldData'; +export type TextField = { + control: 'text'; + data: TextFieldData; + _id: string; + id?: string; + index?: number; + collapseField?: boolean; + status?: BaseSchemaStatus; + showInPosts?: boolean; + showInPostsConditionalStatement?: string; + dependsOn: Array; + resetOnDependencyChange?: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TextFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type TextFieldData = { + value: string; + maxCharacters?: number; + multiLine?: boolean; + inputHeight?: number; + name: string; + label: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TextFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type TextFieldDataDetails = { + value: string; + maxCharacters?: number; + multiLine?: boolean; + inputHeight?: number; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/TextFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ControlType } from './ControlType'; +import type { TextFieldData } from './TextFieldData'; +export type TextFieldDetails = { + control: ControlType.TEXT; + data: TextFieldData; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/URLsType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type URLsType = { + /** + * Presigned URL for the thumbnail. + */ + thumbnailURL: string; + /** + * Presigned URL for the full size image. + */ + fullSizeURL: string; + /** + * Presigned URL for the working size image. + */ + workingSizeURL: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UnsplashSearchResults.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { UnsplashSearchResultsResult } from './UnsplashSearchResultsResult'; +export type UnsplashSearchResults = { + total: number; + total_pages: number; + results: Array; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UnsplashSearchResultsResult.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { UnsplashSearchResultsResultLinks } from './UnsplashSearchResultsResultLinks'; +import type { UnsplashSearchResultsResultUrls } from './UnsplashSearchResultsResultUrls'; +export type UnsplashSearchResultsResult = { + id: string; + width: number; + height: number; + color: string; + description: string; + blur_hash: string; + urls: UnsplashSearchResultsResultUrls; + links: UnsplashSearchResultsResultLinks; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UnsplashSearchResultsResultLinks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UnsplashSearchResultsResultLinks = { + self: string; + html: string; + download: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UnsplashSearchResultsResultUrls.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UnsplashSearchResultsResultUrls = { + raw: string; + full: string; + regular: string; + small: string; + thumb: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateAsset.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AssetType } from './AssetType'; +export type UpdateAsset = { + contentType?: AssetType; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateFeed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UpdateFeed = { + /** + * Name of the feed + */ + name?: string; + /** + * The URL of the feed to capture + */ + url?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateJSON.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UpdateJSON = { + /** + * Name of the json + */ + name?: string; + /** + * The json object + */ + json?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateMasterField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { FieldType } from './FieldType'; +export type UpdateMasterField = { + /** + * Name of the json + */ + name?: string; + field?: FieldType; + /** + * if this is true, a new version will be created + */ + publishVersion?: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateOrganisation.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UpdateOrganisation = { + /** + * Name of the organisation + */ + name?: string; + /** + * if the user had a avatar set or not + */ + avatar?: boolean; + /** + * auth token for slack + */ + slackAuthToken?: string; + /** + * redirectURL for slack + */ + redirectURL?: string; + /** + * revoke slack auth token + */ + revokeSlack?: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateOrganisationAdmin.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UpdateOrganisationAdmin = { + templateLevels?: Array; + includeTeams?: boolean; + includeSpaces?: boolean; + maxNoOfTeams?: number; + maxNoOfSpaces?: number; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateOrganisationGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OrganisationManagement } from './OrganisationManagement'; +export type UpdateOrganisationGroup = { + /** + * Name of the organisation group + */ + name?: string; + permissions?: OrganisationManagement; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateOrganisationGroupUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type UpdateOrganisationGroupUser = { + userPermissions?: GroupUserPermissions; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdatePost.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { PostDataType } from './PostDataType'; +export type UpdatePost = { + /** + * Name of the Post + */ + title?: string; + data?: PostDataType; + /** + * boolean to say if the post is published or not. + */ + published?: boolean; + /** + * Id of the template + */ + templateId?: string; + /** + * The version of the template + */ + templateVersion?: string; + /** + * The owner of the template + */ + templateOwner?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateSpace.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UpdateSpace = { + /** + * Name of the Space + */ + name?: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateSpaceGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { SpaceManagement } from './SpaceManagement'; +export type UpdateSpaceGroup = { + /** + * Name of the team group + */ + name?: string; + permissions?: SpaceManagement; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateSpaceGroupUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type UpdateSpaceGroupUser = { + userPermissions?: GroupUserPermissions; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateTeam.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UpdateTeam = { + /** + * Name of the Team + */ + name?: string; + /** + * if the user had a avatar set or not + */ + avatar?: boolean; + /** + * auth token for slack + */ + slackAuthToken?: string; + /** + * redirectURL for slack + */ + redirectURL?: string; + /** + * revoke slack auth token + */ + revokeSlack?: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateTeamGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TeamManagement } from './TeamManagement'; +export type UpdateTeamGroup = { + /** + * Name of the team group + */ + name?: string; + permissions?: TeamManagement; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateTeamGroupUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { GroupUserPermissions } from './GroupUserPermissions'; +export type UpdateTeamGroupUser = { + userPermissions?: GroupUserPermissions; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateTemplate.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { TemplateDefinition } from './TemplateDefinition'; +import type { TemplateSchemaType } from './TemplateSchemaType'; +import type { TemplateVariation } from './TemplateVariation'; +export type UpdateTemplate = { + /** + * Name of the Template + */ + title?: string; + /** + * Name of the Template + */ + postTitle?: string; + schema?: TemplateSchemaType; + variations?: Record; + definitions?: Record; + variationsOrder?: Array; + definitionsOrder?: Array; + transparentBackground?: boolean; + /** + * scale Factor of the template + */ + scaleFactor?: number; + /** + * language settings to add to the template. + */ + langSettings?: string; + /** + * if this is true, a new version will be created + */ + publishVersion?: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/UpdateUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type UpdateUser = { + /** + * Name of the User + */ + name?: string; + /** + * if the user had a avatar set or not + */ + avatar?: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/User.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type User = { + /** + * Unique id of the User + */ + id: string; + /** + * Name of the User + */ + name: string; + /** + * Email of the User + */ + email: string; + /** + * Created at time in iso format. + */ + createdAt: string; + /** + * Created at time in iso format. + */ + updatedAt?: string; + /** + * roles for the user. + */ + roles: Array; + /** + * if the user had a avatar set or not + */ + avatar: boolean; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/archive.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Is the get function getting archive or normal + */ +export type archive = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/assetFilterQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type assetFilterQuery = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/assetFilterQueryValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type assetFilterQueryValue = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/assetIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of asset to fetch + */ +export type assetIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/assetTransformationCheckerQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type assetTransformationCheckerQuery = Array; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/assetTransformationQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AssetTransformationQueryParamSchema } from './AssetTransformationQueryParamSchema'; +export type assetTransformationQuery = AssetTransformationQueryParamSchema; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/assetTypeParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of asset to fetch + */ +export type assetTypeParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/assetTypeQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AssetType } from './AssetType'; +export type assetTypeQuery = AssetType; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/avatarQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type avatarQuery = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/details.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Get the details for an entity's metrics + */ +export enum details { + POST_DOWNLOADS = 'postDownloads', + POST_CREATIONS = 'postCreations', + TEMPLATE_CREATIONS = 'templateCreations', + TEMPLATE_PUBLICATIONS = 'templatePublications', +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/downloadPostParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * if the post is being updated to then be downloaded + */ +export type downloadPostParameter = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/endTime.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * end time of the metrics, in ISO 8601 format + */ +export type endTime = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/feedIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of feed to fetch + */ +export type feedIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/forceUpdate.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Force update of the metrics + */ +export type forceUpdate = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/jsonIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of json to fetch + */ +export type jsonIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/latestPublishedVersion.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type latestPublishedVersion = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/masterFieldIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of master field to fetch + */ +export type masterFieldIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/masterFieldTypeQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ControlType } from './ControlType'; +export type masterFieldTypeQuery = ControlType; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/orderByOrderQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OrderByOrderQueryParamSchema } from './OrderByOrderQueryParamSchema'; +export type orderByOrderQuery = OrderByOrderQueryParamSchema; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/orderByQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OrderByQueryParamSchema } from './OrderByQueryParamSchema'; +export type orderByQuery = OrderByQueryParamSchema; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/organisationGroupIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of Organisation to fetch + */ +export type organisationGroupIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/organisationIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of Organisation to fetch + */ +export type organisationIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/organisationQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type organisationQuery = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/originalAssetQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type originalAssetQuery = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/pageSize.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of version to get + */ +export type pageSize = number; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/paramTypeEnum1.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export enum paramTypeEnum1 { + TYPE1 = 'type1', + TYPE2 = 'type2', + TYPE3 = 'type3', +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/postIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of template to fetch + */ +export type postIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/postQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type postQuery = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/publishedParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * if the post is published or not + */ +export type publishedParameter = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/responseObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { responseObj3 } from './responseObj3'; +export type responseObj = { + property1: string; + property2: string; + property3?: responseObj3; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/responseObj3.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type responseObj3 = { + subProperty1: string; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/rssNumberParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * The number of records to return, if not set default to 10. + */ +export type rssNumberParameter = number; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/searchTermQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type searchTermQuery = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/spaceGroupIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of space group to fetch + */ +export type spaceGroupIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/spaceIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of Space to fetch + */ +export type spaceIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/spaceQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type spaceQuery = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/startPage.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of version to get + */ +export type startPage = number; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/startTime.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Start time of the metrics, in ISO 8601 format + */ +export type startTime = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/teamGroupIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of Team to fetch + */ +export type teamGroupIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/teamIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of Team to fetch + */ +export type teamIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/teamQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type teamQuery = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/templateIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type templateIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/templateQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type templateQuery = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/thumbnailQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type thumbnailQuery = boolean; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/userIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of User to fetch + */ +export type userIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/userQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * ID of User to fetch + */ +export type userQuery = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/userWithPermission.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { Permission } from './Permission'; +import type { User } from './User'; +export type userWithPermission = { + user: User; + permissions: Permission; +}; + +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/variationIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +/** + * Name of the variation + */ +export type variationIDParameter = string; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/models/versionParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type versionParameter = number; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$AddSpaceToSpaceGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $AddSpaceToSpaceGroup = { + properties: { + spaceId: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$AddUserToOrganisationGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $AddUserToOrganisationGroup = { + properties: { + userId: { + type: 'string', + isRequired: true, + }, + userPermissions: { + type: 'GroupUserPermissions', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$AddUserToSpaceGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $AddUserToSpaceGroup = { + properties: { + userId: { + type: 'string', + isRequired: true, + }, + userPermissions: { + type: 'GroupUserPermissions', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$AddUserToTeamGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $AddUserToTeamGroup = { + properties: { + userId: { + type: 'string', + isRequired: true, + }, + userPermissions: { + type: 'GroupUserPermissions', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ApplicationError.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ApplicationError = { + properties: { + code: { + type: 'number', + description: \`Error code\`, + isRequired: true, + format: 'int32', + }, + message: { + type: 'string', + description: \`Error message\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Asset.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Asset = { + properties: { + id: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the organisation\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + contentType: { + type: 'AssetType', + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + backgroundRemoved: { + type: 'boolean', + description: \`boolean to see if the background has been removed or not.\`, + isRequired: true, + }, + upscaled: { + type: 'boolean', + description: \`boolean to see if the upscaled.\`, + isRequired: true, + }, + processed: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + processedRemoveBackground: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + processedFailed: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + processedRemoveBackgroundFailed: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + unsplash: { + type: 'boolean', + description: \`boolean to see if the images has come from unsplash or not.\`, + isRequired: true, + }, + unsplashId: { + type: 'string', + description: \`unsplash Id\`, + }, + unsplashRawURL: { + type: 'string', + description: \`unsplash Raw URL\`, + }, + unsplashFullURL: { + type: 'string', + description: \`unsplash Full Size URL\`, + }, + unsplashRegularURL: { + type: 'string', + description: \`unsplash Regular URL\`, + }, + unsplashSmallURL: { + type: 'string', + description: \`unsplash Small URL\`, + }, + unsplashThumbURL: { + type: 'string', + description: \`unsplash Thumb URL\`, + }, + unsplashDownloadURL: { + type: 'string', + description: \`unsplash Download URL\`, + }, + unsplashDescription: { + type: 'string', + description: \`unsplash description\`, + }, + width: { + type: 'number', + description: \`width of the image\`, + }, + height: { + type: 'number', + description: \`height of the image\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$AssetTransformationQueryParamSchema.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $AssetTransformationQueryParamSchema = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$AssetType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $AssetType = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$AvatarUrl.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $AvatarUrl = { + properties: { + avatarUrl: { + type: 'string', + description: \`url of the avatar\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BaseDataSchema.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BaseDataSchema = { + properties: { + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BaseSchema.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BaseSchema = { + properties: { + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BaseSchemaStatus.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BaseSchemaStatus = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanBooleanValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanBooleanValue = { + type: 'boolean', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'BooleanFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanFieldData = { + properties: { + value: { + type: 'boolean', + isRequired: true, + }, + checkedValue: { + type: 'all-of', + contains: [{ + type: 'BooleanFieldValue', + }], + isRequired: true, + }, + uncheckedValue: { + type: 'all-of', + contains: [{ + type: 'BooleanFieldValue', + }], + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanFieldDataDetails = { + properties: { + value: { + type: 'boolean', + isRequired: true, + }, + checkedValue: { + type: 'all-of', + contains: [{ + type: 'BooleanFieldValue', + }], + isRequired: true, + }, + uncheckedValue: { + type: 'all-of', + contains: [{ + type: 'BooleanFieldValue', + }], + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanFieldDetails = { + properties: { + control: { + type: 'ControlType.BOOLEAN', + isRequired: true, + }, + data: { + type: 'BooleanFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanFieldValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanFieldValue = { + type: 'one-of', + contains: [{ + type: 'BooleanStringValue', + }, { + type: 'BooleanNumberValue', + }, { + type: 'BooleanBooleanValue', + }], +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanNumberValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanNumberValue = { + type: 'number', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$BooleanStringValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $BooleanStringValue = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'ColourFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldConicalGradientColourInterpolationMethod.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldConicalGradientColourInterpolationMethod = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldConicalGradientPolarColourSpace.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldConicalGradientPolarColourSpace = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldConicalGradientPolarHue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldConicalGradientPolarHue = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldConicalGradientRectangularColourSpace.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldConicalGradientRectangularColourSpace = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + mode: { + type: 'ColourFieldMode', + isRequired: true, + }, + allowAdditionalColours: { + type: 'boolean', + isRequired: true, + }, + allowGradientChangesInPost: { + type: 'boolean', + isRequired: true, + }, + allowColourAdjustmentsInPost: { + type: 'boolean', + }, + availableColours: { + type: 'array', + contains: { + type: 'ColourFieldType', + }, + isRequired: true, + }, + additionalColours: { + type: 'array', + contains: { + type: 'ColourFieldType', + }, + isRequired: true, + }, + gradient: { + type: 'ColourFieldGradient', + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + mode: { + type: 'ColourFieldMode', + isRequired: true, + }, + allowAdditionalColours: { + type: 'boolean', + isRequired: true, + }, + allowGradientChangesInPost: { + type: 'boolean', + isRequired: true, + }, + allowColourAdjustmentsInPost: { + type: 'boolean', + }, + availableColours: { + type: 'array', + contains: { + type: 'ColourFieldType', + }, + isRequired: true, + }, + additionalColours: { + type: 'array', + contains: { + type: 'ColourFieldType', + }, + isRequired: true, + }, + gradient: { + type: 'ColourFieldGradient', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldDetails = { + properties: { + control: { + type: 'ControlType.COLOUR', + isRequired: true, + }, + data: { + type: 'ColourFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldGradient.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldGradient = { + properties: { + gradientMode: { + type: 'ColourFieldGradientMode', + }, + linearGradientDirection: { + type: 'string', + }, + linearGradientDirectionCustom: { + type: 'string', + }, + radialGradientShape: { + type: 'ColourFieldRadialGradientShape', + }, + radialGradientSize: { + type: 'ColourFieldRadialGradientSize', + }, + radialGradientLength1: { + type: 'number', + }, + radialGradientLength2: { + type: 'number', + }, + conicalGradientAngle: { + type: 'number', + }, + conicalGradientColourInterpolationMethod: { + type: 'ColourFieldConicalGradientColourInterpolationMethod', + }, + conicalGradientRectangularColourSpace: { + type: 'ColourFieldConicalGradientRectangularColourSpace', + }, + conicalGradientPolarColourSpace: { + type: 'ColourFieldConicalGradientPolarColourSpace', + }, + conicalGradientPolarHue: { + type: 'ColourFieldConicalGradientPolarHue', + }, + gradientPosition1: { + type: 'all-of', + contains: [{ + type: 'ColourFieldGradientPosition', + }], + }, + gradientPosition2: { + type: 'all-of', + contains: [{ + type: 'ColourFieldGradientPosition', + }], + }, + gradientPosition1Length: { + type: 'number', + }, + gradientPosition2Length: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldGradientMode.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldGradientMode = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldGradientPosition.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldGradientPosition = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldMode.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldMode = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldRadialGradientShape.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldRadialGradientShape = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldRadialGradientSize.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldRadialGradientSize = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ColourFieldType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ColourFieldType = { + properties: { + colour: { + type: 'string', + isRequired: true, + }, + stopPosition1: { + type: 'number', + }, + stopPosition2: { + type: 'number', + }, + noColour: { + type: 'boolean', + }, + noColourValue: { + type: 'number', + }, + degrees: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ControlType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ControlType = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateAdminUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateAdminUser = { + properties: { + email: { + type: 'string', + description: \`Email of the User\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateAsset.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateAsset = { + properties: { + name: { + type: 'string', + description: \`Name of the organisation\`, + isRequired: true, + }, + contentType: { + type: 'AssetType', + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + contentSize: { + type: 'number', + description: \`Content Type.\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateAssetFromUnsplash.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateAssetFromUnsplash = { + properties: { + imageId: { + type: 'string', + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateFeed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateFeed = { + properties: { + name: { + type: 'string', + description: \`Name of the feed\`, + isRequired: true, + }, + url: { + type: 'string', + description: \`The URL of the feed to capture\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateJSON.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateJSON = { + properties: { + name: { + type: 'string', + description: \`Name of the json\`, + isRequired: true, + }, + json: { + type: 'string', + description: \`The json object\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateMasterField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateMasterField = { + properties: { + name: { + type: 'string', + description: \`Name of the json\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + field: { + type: 'FieldType', + isRequired: true, + }, + controlType: { + type: 'ControlType', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateOrganisation.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateOrganisation = { + properties: { + name: { + type: 'string', + description: \`Name of the organisation\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateOrganisationGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateOrganisationGroup = { + properties: { + name: { + type: 'string', + description: \`Name of the organisation group\`, + isRequired: true, + }, + permissions: { + type: 'OrganisationManagement', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateOrganisationUserRequest.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateOrganisationUserRequest = { + properties: { + userEmail: { + type: 'string', + description: \`ID of the User\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreatePost.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreatePost = { + properties: { + title: { + type: 'string', + description: \`Name of the Post\`, + isRequired: true, + }, + templateId: { + type: 'string', + description: \`Id of the template\`, + }, + templateVersion: { + type: 'string', + description: \`The version of the template\`, + }, + templateOwner: { + type: 'string', + description: \`The owner of the template\`, + }, + data: { + type: 'PostDataType', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateSpace.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateSpace = { + properties: { + name: { + type: 'string', + description: \`Name of the Space\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateSpaceGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateSpaceGroup = { + properties: { + name: { + type: 'string', + description: \`Name of the team group\`, + isRequired: true, + }, + permissions: { + type: 'SpaceManagement', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateTeam.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateTeam = { + properties: { + name: { + type: 'string', + description: \`Name of the Team\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateTeamGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateTeamGroup = { + properties: { + name: { + type: 'string', + description: \`Name of the team group\`, + isRequired: true, + }, + permissions: { + type: 'TeamManagement', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateTeamUserRequest.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateTeamUserRequest = { + properties: { + userId: { + type: 'string', + description: \`ID of the User\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateTemplate.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateTemplate = { + properties: { + title: { + type: 'string', + description: \`Name of the Template\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + postTitle: { + type: 'string', + description: \`Name of the Template\`, + }, + schema: { + type: 'TemplateSchemaType', + }, + variations: { + type: 'dictionary', + contains: { + type: 'TemplateVariation', + }, + }, + definitions: { + type: 'dictionary', + contains: { + type: 'TemplateDefinition', + }, + }, + variationsOrder: { + type: 'array', + contains: { + type: 'string', + }, + }, + definitionsOrder: { + type: 'array', + contains: { + type: 'string', + }, + }, + transparentBackground: { + type: 'boolean', + }, + scaleFactor: { + type: 'number', + description: \`scale Factor of the template\`, + }, + langSettings: { + type: 'string', + description: \`language settings to add to the template.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateTransformationResponseAsset.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateTransformationResponseAsset = { + properties: { + id: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the organisation\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + contentType: { + type: 'AssetType', + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + backgroundRemoved: { + type: 'boolean', + description: \`boolean to see if the background has been removed or not.\`, + isRequired: true, + }, + upscaled: { + type: 'boolean', + description: \`boolean to see if the upscaled.\`, + isRequired: true, + }, + processed: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + processedRemoveBackground: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + processedFailed: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + processedRemoveBackgroundFailed: { + type: 'boolean', + description: \`boolean to see if the images have been processed or not.\`, + isRequired: true, + }, + unsplash: { + type: 'boolean', + description: \`boolean to see if the images has come from unsplash or not.\`, + isRequired: true, + }, + unsplashId: { + type: 'string', + description: \`unsplash Id\`, + }, + unsplashRawURL: { + type: 'string', + description: \`unsplash Raw URL\`, + }, + unsplashFullURL: { + type: 'string', + description: \`unsplash Full Size URL\`, + }, + unsplashRegularURL: { + type: 'string', + description: \`unsplash Regular URL\`, + }, + unsplashSmallURL: { + type: 'string', + description: \`unsplash Small URL\`, + }, + unsplashThumbURL: { + type: 'string', + description: \`unsplash Thumb URL\`, + }, + unsplashDownloadURL: { + type: 'string', + description: \`unsplash Download URL\`, + }, + unsplashDescription: { + type: 'string', + description: \`unsplash description\`, + }, + width: { + type: 'number', + description: \`width of the image\`, + }, + height: { + type: 'number', + description: \`height of the image\`, + }, + creditUsed: { + type: 'number', + description: \`Credit used for the image.\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreateUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreateUser = { + properties: { + id: { + type: 'string', + description: \`Unique id of the User\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the User\`, + isRequired: true, + }, + email: { + type: 'string', + description: \`Email of the User\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreditUsages.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreditUsages = { + properties: { + removeBackground: { + type: 'number', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$CreditUsed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $CreditUsed = { + properties: { + creditUsed: { + type: 'number', + description: \`Credit used for the image.\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$EntityMetrics.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $EntityMetrics = { + properties: { + totalUsers: { + type: 'number', + isRequired: true, + }, + activeUsers: { + type: 'number', + isRequired: true, + }, + engagedUsers: { + type: 'number', + isRequired: true, + }, + creditUsages: { + type: 'CreditUsages', + isRequired: true, + }, + postDownloads: { + type: 'number', + isRequired: true, + }, + postCreations: { + type: 'number', + isRequired: true, + }, + templateCreations: { + type: 'number', + isRequired: true, + }, + templatePublications: { + type: 'number', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Feed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Feed = { + properties: { + id: { + type: 'string', + description: \`Unique id of the feed\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the feed\`, + isRequired: true, + }, + url: { + type: 'string', + description: \`The URL of the feed to capture\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FeedField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FeedField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'FeedFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FeedFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FeedFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + feedValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + feedId: { + type: 'string', + }, + feedItemId: { + type: 'string', + }, + feedName: { + type: 'string', + }, + showValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + defaultValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + order: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FeedFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FeedFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + feedValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + feedId: { + type: 'string', + }, + feedItemId: { + type: 'string', + }, + feedName: { + type: 'string', + }, + showValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + defaultValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + order: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FeedFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FeedFieldDetails = { + properties: { + control: { + type: 'ControlType.FEED', + isRequired: true, + }, + data: { + type: 'FeedFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FieldType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FieldType = { + type: 'one-of', + contains: [{ + type: 'TextField', + }, { + type: 'JustifiedScalingTextField', + }, { + type: 'RichTextField', + }, { + type: 'BooleanField', + }, { + type: 'NumberField', + }, { + type: 'OptionField', + }, { + type: 'OptionFromDataField', + }, { + type: 'ImageField', + }, { + type: 'ImageCollectionField', + }, { + type: 'FeedField', + }, { + type: 'FontField', + }, { + type: 'ColourField', + }, { + type: 'JSONField', + }, { + type: 'GptField', + }, { + type: 'MasterFieldField', + }], +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Fields.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Fields = { + type: 'array', + contains: { + type: 'FieldType', + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FontField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FontField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'FontFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FontFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FontFieldData = { + properties: { + value: { + type: 'FontFieldValue', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FontFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FontFieldDataDetails = { + properties: { + value: { + type: 'FontFieldValue', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FontFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FontFieldDetails = { + properties: { + control: { + type: 'ControlType.FONT', + isRequired: true, + }, + data: { + type: 'FontFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$FontFieldValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $FontFieldValue = { + properties: { + assetId: { + type: 'string', + isRequired: true, + }, + fileName: { + type: 'string', + isRequired: true, + }, + fontName: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GetAllPostResponse.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GetAllPostResponse = { + properties: { + id: { + type: 'string', + description: \`Unique id of the Post\`, + isRequired: true, + }, + title: { + type: 'string', + description: \`Name of the Post\`, + isRequired: true, + }, + spaceId: { + type: 'string', + description: \`Id of the space the post is associated with\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Id of the team the post is associated with\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Id of the organisation the post is associated with\`, + isRequired: true, + }, + templateId: { + type: 'string', + description: \`Id of the template\`, + isRequired: true, + }, + templateVersion: { + type: 'string', + description: \`The version of the template\`, + isRequired: true, + }, + templateOwner: { + type: 'string', + description: \`The owner of the template\`, + isRequired: true, + }, + published: { + type: 'boolean', + description: \`boolean to say if the post is published or not.\`, + isRequired: true, + }, + publishedBy: { + type: 'string', + description: \`User ID of who published the post\`, + }, + publishedAt: { + type: 'string', + description: \`The iso string the time the post was published\`, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + archive: { + type: 'boolean', + description: \`boolean if the post is archived or not\`, + }, + version: { + type: 'number', + description: \`The version of the template\`, + isRequired: true, + }, + lastImageTime: { + type: 'string', + description: \`last image time in iso format.\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GptFielAdditionalInputs.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GptFielAdditionalInputs = { + type: 'one-of', + contains: [{ + type: 'GptFieldAdditionalInputText', + }, { + type: 'GptFieldAdditionalInputWebContent', + }], +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GptField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GptField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'GptFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GptFieldAdditionalInputText.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GptFieldAdditionalInputText = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + input: { + type: 'string', + isRequired: true, + }, + showInPost: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GptFieldAdditionalInputWebContent.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GptFieldAdditionalInputWebContent = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + input: { + type: 'string', + isRequired: true, + }, + height: { + type: 'number', + }, + showInPost: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GptFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GptFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + input: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + additionalInputs: { + type: 'array', + contains: { + type: 'GptFielAdditionalInputs', + }, + isRequired: true, + }, + automatic: { + type: 'boolean', + isRequired: true, + }, + buttonText: { + type: 'string', + }, + viewInputField: { + type: 'boolean', + isRequired: true, + }, + viewOutputField: { + type: 'boolean', + isRequired: true, + }, + viewButton: { + type: 'boolean', + isRequired: true, + }, + customizeButtonText: { + type: 'boolean', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GptFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GptFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + input: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + additionalInputs: { + type: 'array', + contains: { + type: 'GptFielAdditionalInputs', + }, + isRequired: true, + }, + automatic: { + type: 'boolean', + isRequired: true, + }, + buttonText: { + type: 'string', + }, + viewInputField: { + type: 'boolean', + isRequired: true, + }, + viewOutputField: { + type: 'boolean', + isRequired: true, + }, + viewButton: { + type: 'boolean', + isRequired: true, + }, + customizeButtonText: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GptFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GptFieldDetails = { + properties: { + control: { + type: 'ControlType.GPT', + isRequired: true, + }, + data: { + type: 'GptFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GroupUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GroupUser = { + properties: { + user: { + type: 'User', + isRequired: true, + }, + permission: { + type: 'GroupUserPermissions', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$GroupUserPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $GroupUserPermissions = { + properties: { + admin: { + type: 'boolean', + description: \`Admin of the organisation\`, + isRequired: true, + }, + userManagement: { + type: 'boolean', + description: \`Can a user userManagement\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$IfModifiedSinceHeader.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $IfModifiedSinceHeader = { + type: 'string', + description: \`Last modified date\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageCollectionField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageCollectionField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'ImageCollectionFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageCollectionFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageCollectionFieldData = { + properties: { + imageCollectionOptions: { + type: 'array', + contains: { + type: 'ImageCollectionFieldOptions', + }, + isRequired: true, + }, + imageCollectionSettings: { + type: 'all-of', + contains: [{ + type: 'ImageFieldSettings', + }], + isRequired: true, + }, + imageCollectionVariations: { + type: 'dictionary', + contains: { + type: 'ImageFieldSettings', + }, + isRequired: true, + }, + value: { + type: 'number', + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + imageSizeType: { + type: 'ImageFieldSizeType', + isRequired: true, + }, + imageFitMode: { + type: 'ImageFieldFitMode', + isRequired: true, + }, + viewThumbnailsInPost: { + type: 'boolean', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageCollectionFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageCollectionFieldDataDetails = { + properties: { + imageCollectionOptions: { + type: 'array', + contains: { + type: 'ImageCollectionFieldOptions', + }, + isRequired: true, + }, + imageCollectionSettings: { + type: 'all-of', + contains: [{ + type: 'ImageFieldSettings', + }], + isRequired: true, + }, + imageCollectionVariations: { + type: 'dictionary', + contains: { + type: 'ImageFieldSettings', + }, + isRequired: true, + }, + value: { + type: 'number', + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + imageSizeType: { + type: 'ImageFieldSizeType', + isRequired: true, + }, + imageFitMode: { + type: 'ImageFieldFitMode', + isRequired: true, + }, + viewThumbnailsInPost: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageCollectionFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageCollectionFieldDetails = { + properties: { + control: { + type: 'ControlType.IMAGE_COLLECTION', + isRequired: true, + }, + data: { + type: 'ImageCollectionFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageCollectionFieldOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageCollectionFieldOptions = { + properties: { + assetId: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + value: { + type: 'string', + isRequired: true, + }, + imgWidth: { + type: 'number', + }, + imgHeight: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'ImageFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + imageValue: { + type: 'ImageFieldvalue', + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + imageSizeType: { + type: 'ImageFieldSizeType', + isRequired: true, + }, + imageFitMode: { + type: 'ImageFieldFitMode', + isRequired: true, + }, + removeBackgroundOptional: { + type: 'boolean', + }, + removeBackgroundAutomatic: { + type: 'boolean', + }, + upScalingOptional: { + type: 'boolean', + }, + upScalingWhenRequired: { + type: 'boolean', + }, + showRemoveBackGroundToggle: { + type: 'boolean', + }, + defaultTab: { + type: 'string', + }, + unsplashDefaultSearchTerm: { + type: 'string', + }, + useUnsplashDefaultSearchTerm: { + type: 'boolean', + }, + removeBackgrounInactiveOptions: { + type: 'ImageFieldRemoveBackgroundInactiveOptions', + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + imageValue: { + type: 'ImageFieldvalue', + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + imageSizeType: { + type: 'ImageFieldSizeType', + isRequired: true, + }, + imageFitMode: { + type: 'ImageFieldFitMode', + isRequired: true, + }, + removeBackgroundOptional: { + type: 'boolean', + }, + removeBackgroundAutomatic: { + type: 'boolean', + }, + upScalingOptional: { + type: 'boolean', + }, + upScalingWhenRequired: { + type: 'boolean', + }, + showRemoveBackGroundToggle: { + type: 'boolean', + }, + defaultTab: { + type: 'string', + }, + unsplashDefaultSearchTerm: { + type: 'string', + }, + useUnsplashDefaultSearchTerm: { + type: 'boolean', + }, + removeBackgrounInactiveOptions: { + type: 'ImageFieldRemoveBackgroundInactiveOptions', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldDetails = { + properties: { + control: { + type: 'ControlType.IMAGE', + isRequired: true, + }, + data: { + type: 'ImageFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldFitMode.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldFitMode = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldPosition.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldPosition = { + properties: { + 'x': { + type: 'number', + isRequired: true, + }, + 'y': { + type: 'number', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldRemoveBackgroundInactiveOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldRemoveBackgroundInactiveOptions = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldSettings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldSettings = { + properties: { + scale: { + type: 'number', + isRequired: true, + }, + width: { + type: 'number', + }, + height: { + type: 'number', + }, + position: { + type: 'ImageFieldPosition', + isRequired: true, + }, + rotation: { + type: 'number', + isRequired: true, + }, + brightness: { + type: 'number', + }, + contrast: { + type: 'number', + }, + saturate: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldSizeType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldSizeType = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$ImageFieldvalue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $ImageFieldvalue = { + properties: { + assetId: { + type: 'string', + isRequired: true, + }, + imageSettings: { + type: 'ImageFieldSettings', + isRequired: true, + }, + variations: { + type: 'dictionary', + contains: { + type: 'ImageFieldSettings', + }, + isRequired: true, + }, + imgWidth: { + type: 'number', + }, + imgHeight: { + type: 'number', + }, + imageFormat: { + type: 'string', + }, + removeBackgroundImage: { + type: 'boolean', + }, + assetRemoveBackground: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JSON.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JSON = { + properties: { + id: { + type: 'string', + description: \`Unique id of the json\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the json\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + json: { + type: 'string', + description: \`The json object\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JSONField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JSONField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'JSONFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JSONFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JSONFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + fromShared: { + type: 'boolean', + isRequired: true, + }, + sharedJsonId: { + type: 'string', + }, + sharedJsonName: { + type: 'string', + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JSONFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JSONFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + fromShared: { + type: 'boolean', + isRequired: true, + }, + sharedJsonId: { + type: 'string', + }, + sharedJsonName: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JSONFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JSONFieldDetails = { + properties: { + control: { + type: 'ControlType.JSON', + isRequired: true, + }, + data: { + type: 'JSONFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JSONGetAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JSONGetAll = { + properties: { + id: { + type: 'string', + description: \`Unique id of the json\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the json\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JSONRemaining.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JSONRemaining = { + properties: { + json: { + type: 'string', + description: \`The json object\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JustifiedScalingClassOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JustifiedScalingClassOptions = { + properties: { + label: { + type: 'string', + isRequired: true, + }, + value: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JustifiedScalingTextField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JustifiedScalingTextField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'JustifiedScalingTextFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JustifiedScalingTextFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JustifiedScalingTextFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + justifiedScalingVariations: { + type: 'dictionary', + contains: { + type: 'JustifiedScalingTextSettings', + }, + isRequired: true, + }, + justifiedScalingSettings: { + type: 'all-of', + contains: [{ + type: 'JustifiedScalingTextSettings', + }], + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + canUpdateClassNamesInPost: { + type: 'boolean', + isRequired: true, + }, + canAddAndDeleteRowsInPost: { + type: 'boolean', + isRequired: true, + }, + justifiedScalingInputs: { + type: 'array', + contains: { + type: 'JustifiedScalingTextInput', + }, + isRequired: true, + }, + classOptions: { + type: 'array', + contains: { + type: 'JustifiedScalingClassOptions', + }, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JustifiedScalingTextFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JustifiedScalingTextFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + justifiedScalingVariations: { + type: 'dictionary', + contains: { + type: 'JustifiedScalingTextSettings', + }, + isRequired: true, + }, + justifiedScalingSettings: { + type: 'all-of', + contains: [{ + type: 'JustifiedScalingTextSettings', + }], + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + canUpdateClassNamesInPost: { + type: 'boolean', + isRequired: true, + }, + canAddAndDeleteRowsInPost: { + type: 'boolean', + isRequired: true, + }, + justifiedScalingInputs: { + type: 'array', + contains: { + type: 'JustifiedScalingTextInput', + }, + isRequired: true, + }, + classOptions: { + type: 'array', + contains: { + type: 'JustifiedScalingClassOptions', + }, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JustifiedScalingTextFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JustifiedScalingTextFieldDetails = { + properties: { + control: { + type: 'ControlType.JUSTIFIED_SCALING_TEXT', + isRequired: true, + }, + data: { + type: 'JustifiedScalingTextFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JustifiedScalingTextInput.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JustifiedScalingTextInput = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + className: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$JustifiedScalingTextSettings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $JustifiedScalingTextSettings = { + properties: { + lineHeight: { + type: 'number', + isRequired: true, + }, + maxHeight: { + type: 'number', + }, + scaleFromOrigin: { + type: 'string', + }, + margin: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterField = { + properties: { + id: { + type: 'string', + description: \`Unique id of the json\`, + isRequired: true, + }, + version: { + type: 'number', + description: \`The version of the template\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the json\`, + isRequired: true, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + field: { + type: 'FieldType', + isRequired: true, + }, + controlType: { + type: 'ControlType', + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + draftVersion: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldBaseDataObject.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldBaseDataObject = { + properties: { + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForBoolean = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.BOOLEAN', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForColour.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForColour = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.COLOUR', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForFeed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForFeed = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.FEED', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForFont.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForFont = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.FONT', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForGpt.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForGpt = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.GPT', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForImage.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForImage = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.IMAGE', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForImageCollection.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForImageCollection = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.IMAGE_COLLECTION', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForJson.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForJson = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.JSON', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForJustifiedScalingText.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForJustifiedScalingText = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.JUSTIFIED_SCALING_TEXT', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForNone.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForNone = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.NONE', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForNumber.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForNumber = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.NUMBER', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForOption.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForOption = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.OPTION', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForOptionFromData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForOptionFromData = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.OPTION_FROM_DATA', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForRichText.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForRichText = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.RICH_TEXT', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldControlForText.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldControlForText = { + properties: { + masterFieldControl: { + type: 'MasterFieldsControlType.TEXT', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'MasterFieldFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldData = { + type: 'one-of', + contains: [{ + type: 'MasterFieldFieldDataText', + }, { + type: 'MasterFieldFieldDataJustifiedScalingText', + }, { + type: 'MasterFieldFieldDataRichText', + }, { + type: 'MasterFieldFieldDataBoolean', + }, { + type: 'MasterFieldFieldDataNumber', + }, { + type: 'MasterFieldFieldDataOption', + }, { + type: 'MasterFieldFieldDataOptionFromData', + }, { + type: 'MasterFieldFieldDataImage', + }, { + type: 'MasterFieldFieldDataImageCollection', + }, { + type: 'MasterFieldFieldDataFeed', + }, { + type: 'MasterFieldFieldDataFont', + }, { + type: 'MasterFieldFieldDataColour', + }, { + type: 'MasterFieldFieldDataJSON', + }, { + type: 'MasterFieldFieldDataGpt', + }, { + type: 'MasterFieldFieldDataNone', + }], +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataBoolean.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataBoolean = { + properties: { + value: { + type: 'boolean', + isRequired: true, + }, + checkedValue: { + type: 'all-of', + contains: [{ + type: 'BooleanFieldValue', + }], + isRequired: true, + }, + uncheckedValue: { + type: 'all-of', + contains: [{ + type: 'BooleanFieldValue', + }], + isRequired: true, + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataColour.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataColour = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + mode: { + type: 'ColourFieldMode', + isRequired: true, + }, + allowAdditionalColours: { + type: 'boolean', + isRequired: true, + }, + allowGradientChangesInPost: { + type: 'boolean', + isRequired: true, + }, + allowColourAdjustmentsInPost: { + type: 'boolean', + }, + availableColours: { + type: 'array', + contains: { + type: 'ColourFieldType', + }, + isRequired: true, + }, + additionalColours: { + type: 'array', + contains: { + type: 'ColourFieldType', + }, + isRequired: true, + }, + gradient: { + type: 'ColourFieldGradient', + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataFeed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataFeed = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + feedValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + feedId: { + type: 'string', + }, + feedItemId: { + type: 'string', + }, + feedName: { + type: 'string', + }, + showValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + defaultValues: { + type: 'dictionary', + contains: { + properties: { + }, + }, + isRequired: true, + }, + order: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataFont.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataFont = { + properties: { + value: { + type: 'FontFieldValue', + isRequired: true, + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataGpt.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataGpt = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + input: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + additionalInputs: { + type: 'array', + contains: { + type: 'GptFielAdditionalInputs', + }, + isRequired: true, + }, + automatic: { + type: 'boolean', + isRequired: true, + }, + buttonText: { + type: 'string', + }, + viewInputField: { + type: 'boolean', + isRequired: true, + }, + viewOutputField: { + type: 'boolean', + isRequired: true, + }, + viewButton: { + type: 'boolean', + isRequired: true, + }, + customizeButtonText: { + type: 'boolean', + isRequired: true, + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataImage.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataImage = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + imageValue: { + type: 'ImageFieldvalue', + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + imageSizeType: { + type: 'ImageFieldSizeType', + isRequired: true, + }, + imageFitMode: { + type: 'ImageFieldFitMode', + isRequired: true, + }, + removeBackgroundOptional: { + type: 'boolean', + }, + removeBackgroundAutomatic: { + type: 'boolean', + }, + upScalingOptional: { + type: 'boolean', + }, + upScalingWhenRequired: { + type: 'boolean', + }, + showRemoveBackGroundToggle: { + type: 'boolean', + }, + defaultTab: { + type: 'string', + }, + unsplashDefaultSearchTerm: { + type: 'string', + }, + useUnsplashDefaultSearchTerm: { + type: 'boolean', + }, + removeBackgrounInactiveOptions: { + type: 'ImageFieldRemoveBackgroundInactiveOptions', + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataImageCollection.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataImageCollection = { + properties: { + imageCollectionOptions: { + type: 'array', + contains: { + type: 'ImageCollectionFieldOptions', + }, + isRequired: true, + }, + imageCollectionSettings: { + type: 'all-of', + contains: [{ + type: 'ImageFieldSettings', + }], + isRequired: true, + }, + imageCollectionVariations: { + type: 'dictionary', + contains: { + type: 'ImageFieldSettings', + }, + isRequired: true, + }, + value: { + type: 'number', + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + imageSizeType: { + type: 'ImageFieldSizeType', + isRequired: true, + }, + imageFitMode: { + type: 'ImageFieldFitMode', + isRequired: true, + }, + viewThumbnailsInPost: { + type: 'boolean', + isRequired: true, + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataJSON.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataJSON = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + fromShared: { + type: 'boolean', + isRequired: true, + }, + sharedJsonId: { + type: 'string', + }, + sharedJsonName: { + type: 'string', + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataJustifiedScalingText.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataJustifiedScalingText = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + justifiedScalingVariations: { + type: 'dictionary', + contains: { + type: 'JustifiedScalingTextSettings', + }, + isRequired: true, + }, + justifiedScalingSettings: { + type: 'all-of', + contains: [{ + type: 'JustifiedScalingTextSettings', + }], + isRequired: true, + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + canUpdateClassNamesInPost: { + type: 'boolean', + isRequired: true, + }, + canAddAndDeleteRowsInPost: { + type: 'boolean', + isRequired: true, + }, + justifiedScalingInputs: { + type: 'array', + contains: { + type: 'JustifiedScalingTextInput', + }, + isRequired: true, + }, + classOptions: { + type: 'array', + contains: { + type: 'JustifiedScalingClassOptions', + }, + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataNone.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataNone = { + properties: { + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataNumber.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataNumber = { + properties: { + value: { + type: 'number', + }, + slider: { + type: 'boolean', + }, + min: { + type: 'number', + }, + max: { + type: 'number', + }, + step: { + type: 'number', + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataOption.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataOption = { + properties: { + value: { + type: 'string', + }, + options: { + type: 'OptionFieldOptions', + }, + fromJson: { + type: 'boolean', + }, + jsonSelectArrayIndex: { + type: 'number', + }, + jsonFieldIdentifier: { + type: 'string', + }, + jsonFieldDropDownLabel: { + type: 'string', + }, + fromJsonAsset: { + type: 'boolean', + }, + sharedJsonId: { + type: 'string', + }, + sharedJsonName: { + type: 'string', + }, + sharedJsonValue: { + type: 'string', + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataOptionFromData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataOptionFromData = { + properties: { + value: { + type: 'string', + }, + dataFieldSelection: { + type: 'string', + isRequired: true, + }, + optionsLabelFieldName: { + type: 'string', + }, + selectedOptionsIndex: { + type: 'number', + }, + dataSelectionFilters: { + type: 'OptionFromDataFieldDataSelectionFilters', + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataRichText.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataRichText = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + dynamicResizing: { + type: 'boolean', + isRequired: true, + }, + richTextState: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + richTextVariations: { + type: 'dictionary', + contains: { + type: 'RichTextFieldSettings', + }, + isRequired: true, + }, + richTextSettings: { + type: 'RichTextFieldSettings', + isRequired: true, + }, + richTextControls: { + type: 'RichTextFieldControls', + isRequired: true, + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDataText.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDataText = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + maxCharacters: { + type: 'number', + }, + multiLine: { + type: 'boolean', + }, + inputHeight: { + type: 'number', + }, + masterFieldName: { + type: 'string', + }, + masterFieldId: { + type: 'string', + }, + masterFieldControl: { + type: 'string', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldFieldDetails = { + properties: { + control: { + type: 'ControlType.MASTER_FIELD', + isRequired: true, + }, + data: { + type: 'MasterFieldFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$MasterFieldsControlType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $MasterFieldsControlType = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$NumberField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $NumberField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'NumberFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$NumberFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $NumberFieldData = { + properties: { + value: { + type: 'number', + }, + slider: { + type: 'boolean', + }, + min: { + type: 'number', + }, + max: { + type: 'number', + }, + step: { + type: 'number', + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$NumberFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $NumberFieldDataDetails = { + properties: { + value: { + type: 'number', + }, + slider: { + type: 'boolean', + }, + min: { + type: 'number', + }, + max: { + type: 'number', + }, + step: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$NumberFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $NumberFieldDetails = { + properties: { + control: { + type: 'ControlType.NUMBER', + isRequired: true, + }, + data: { + type: 'NumberFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'OptionFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFieldData = { + properties: { + value: { + type: 'string', + }, + options: { + type: 'OptionFieldOptions', + }, + fromJson: { + type: 'boolean', + }, + jsonSelectArrayIndex: { + type: 'number', + }, + jsonFieldIdentifier: { + type: 'string', + }, + jsonFieldDropDownLabel: { + type: 'string', + }, + fromJsonAsset: { + type: 'boolean', + }, + sharedJsonId: { + type: 'string', + }, + sharedJsonName: { + type: 'string', + }, + sharedJsonValue: { + type: 'string', + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFieldDataDetails = { + properties: { + value: { + type: 'string', + }, + options: { + type: 'OptionFieldOptions', + }, + fromJson: { + type: 'boolean', + }, + jsonSelectArrayIndex: { + type: 'number', + }, + jsonFieldIdentifier: { + type: 'string', + }, + jsonFieldDropDownLabel: { + type: 'string', + }, + fromJsonAsset: { + type: 'boolean', + }, + sharedJsonId: { + type: 'string', + }, + sharedJsonName: { + type: 'string', + }, + sharedJsonValue: { + type: 'string', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFieldDetails = { + properties: { + control: { + type: 'ControlType.OPTION', + isRequired: true, + }, + data: { + type: 'OptionFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFieldOptions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFieldOptions = { + type: 'array', + contains: { + properties: { + value: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFromDataField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFromDataField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'OptionFromDataFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFromDataFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFromDataFieldData = { + properties: { + value: { + type: 'string', + }, + dataFieldSelection: { + type: 'string', + isRequired: true, + }, + optionsLabelFieldName: { + type: 'string', + }, + selectedOptionsIndex: { + type: 'number', + }, + dataSelectionFilters: { + type: 'OptionFromDataFieldDataSelectionFilters', + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFromDataFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFromDataFieldDataDetails = { + properties: { + value: { + type: 'string', + }, + dataFieldSelection: { + type: 'string', + isRequired: true, + }, + optionsLabelFieldName: { + type: 'string', + }, + selectedOptionsIndex: { + type: 'number', + }, + dataSelectionFilters: { + type: 'OptionFromDataFieldDataSelectionFilters', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFromDataFieldDataSelectionFilters.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFromDataFieldDataSelectionFilters = { + type: 'array', + contains: { + properties: { + name: { + type: 'string', + isRequired: true, + }, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OptionFromDataFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OptionFromDataFieldDetails = { + properties: { + control: { + type: 'ControlType.OPTION_FROM_DATA', + isRequired: true, + }, + data: { + type: 'OptionFromDataFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrderByOrderQueryParamSchema.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrderByOrderQueryParamSchema = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrderByQueryParamSchema.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrderByQueryParamSchema = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Organisation.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Organisation = { + properties: { + id: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the organisation\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + archive: { + type: 'boolean', + }, + organisationAdmin: { + type: 'OrganisationAdmin', + isRequired: true, + }, + avatar: { + type: 'boolean', + description: \`if the user had a avatar set or not\`, + isRequired: true, + }, + slack: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationAdmin.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationAdmin = { + properties: { + id: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + templateLevels: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + includeTeams: { + type: 'boolean', + isRequired: true, + }, + includeSpaces: { + type: 'boolean', + isRequired: true, + }, + maxNoOfTeams: { + type: 'number', + isRequired: true, + }, + maxNoOfSpaces: { + type: 'number', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationAuth.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationAuth = { + properties: { + organisationManagement: { + type: 'OrganisationManagement', + isRequired: true, + }, + teams: { + type: 'dictionary', + contains: { + type: 'TeamAuth', + }, + isRequired: true, + }, + organisationGroups: { + type: 'dictionary', + contains: { + type: 'GroupUserPermissions', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationGroup = { + properties: { + id: { + type: 'string', + description: \`Unique id of the organisation group\`, + isRequired: true, + }, + defaultAdminGroup: { + type: 'boolean', + description: \`If the group is the default admin group or not.\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the organisation group\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + permissions: { + type: 'OrganisationManagement', + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`archived or not\`, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + users: { + type: 'array', + contains: { + type: 'GroupUser', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationGroupAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationGroupAll = { + properties: { + id: { + type: 'string', + description: \`Unique id of the organisation group\`, + isRequired: true, + }, + defaultAdminGroup: { + type: 'boolean', + description: \`If the group is the default admin group or not.\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the organisation group\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + permissions: { + type: 'OrganisationManagement', + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`archived or not\`, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationGroupPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationGroupPermissions = { + type: 'OrganisationManagement', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationGroupUserPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationGroupUserPermissions = { + properties: { + id: { + type: 'string', + description: \`Unique id of the organisation group\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + permission: { + type: 'GroupUserPermissions', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationGroupUsers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationGroupUsers = { + properties: { + users: { + type: 'array', + contains: { + type: 'GroupUser', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OrganisationManagement.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OrganisationManagement = { + description: \`permission set of the organisation group\`, + properties: { + admin: { + type: 'boolean', + description: \`Admin of the organisation\`, + isRequired: true, + }, + createTeam: { + type: 'boolean', + description: \`Can a user createTeam\`, + isRequired: true, + }, + removeTeam: { + type: 'boolean', + description: \`Can a user removeTeam\`, + isRequired: true, + }, + viewAllTeams: { + type: 'boolean', + description: \`Can a user viewAllTeams\`, + isRequired: true, + }, + userManagement: { + type: 'boolean', + description: \`Can a user userManagement\`, + isRequired: true, + }, + viewBilling: { + type: 'boolean', + description: \`Can a user viewBilling\`, + isRequired: true, + }, + settingsManagement: { + type: 'boolean', + description: \`Can a user settingsManagement\`, + isRequired: true, + }, + groupManagement: { + type: 'boolean', + description: \`Can a user groupManagement\`, + isRequired: true, + }, + createTemplates: { + type: 'boolean', + description: \`Can a user createTemplates\`, + isRequired: true, + }, + deleteTemplates: { + type: 'boolean', + description: \`Can a user deleteTemplates\`, + isRequired: true, + }, + createFeed: { + type: 'boolean', + description: \`Can a user createFeed\`, + isRequired: true, + }, + deleteFeed: { + type: 'boolean', + description: \`Can a user deleteFeed\`, + isRequired: true, + }, + createAsset: { + type: 'boolean', + description: \`Can a user createAsset\`, + isRequired: true, + }, + deleteAsset: { + type: 'boolean', + description: \`Can a user deleteAsset\`, + isRequired: true, + }, + createMasterField: { + type: 'boolean', + description: \`Can a user createMasterField\`, + isRequired: true, + }, + deleteMasterField: { + type: 'boolean', + description: \`Can a user deleteMasterField\`, + isRequired: true, + }, + createJSON: { + type: 'boolean', + description: \`Can a user createJSON\`, + isRequired: true, + }, + deleteJSON: { + type: 'boolean', + description: \`Can a user deleteJSON\`, + isRequired: true, + }, + viewMetrics: { + type: 'boolean', + description: \`Can a user deleteAsset\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OwnerType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OwnerType = { + properties: { + ownerType: { + type: 'OwnerTypeType', + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`org ID of the template.\`, + }, + teamId: { + type: 'string', + description: \`teamId ID of the template.\`, + }, + spaceId: { + type: 'string', + description: \`space ID of the template.\`, + }, + userId: { + type: 'string', + description: \`user ID of the template.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$OwnerTypeType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $OwnerTypeType = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Permission.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Permission = { + type: 'dictionary', + contains: { + type: 'OrganisationAuth', + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Post.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Post = { + properties: { + id: { + type: 'string', + description: \`Unique id of the Post\`, + isRequired: true, + }, + title: { + type: 'string', + description: \`Name of the Post\`, + isRequired: true, + }, + spaceId: { + type: 'string', + description: \`Id of the space the post is associated with\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Id of the team the post is associated with\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Id of the organisation the post is associated with\`, + isRequired: true, + }, + templateId: { + type: 'string', + description: \`Id of the template\`, + isRequired: true, + }, + templateVersion: { + type: 'string', + description: \`The version of the template\`, + isRequired: true, + }, + templateOwner: { + type: 'string', + description: \`The owner of the template\`, + isRequired: true, + }, + published: { + type: 'boolean', + description: \`boolean to say if the post is published or not.\`, + isRequired: true, + }, + publishedBy: { + type: 'string', + description: \`User ID of who published the post\`, + }, + publishedAt: { + type: 'string', + description: \`The iso string the time the post was published\`, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + archive: { + type: 'boolean', + description: \`boolean if the post is archived or not\`, + }, + version: { + type: 'number', + description: \`The version of the template\`, + isRequired: true, + }, + lastImageTime: { + type: 'string', + description: \`last image time in iso format.\`, + isRequired: true, + }, + data: { + type: 'PostDataType', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$PostDataType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $PostDataType = { + description: \`schema of the template\`, + properties: { + fields: { + type: 'Fields', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$PostFull.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $PostFull = { + properties: { + data: { + type: 'PostDataType', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$RichTextField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $RichTextField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'RichTextFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$RichTextFieldControls.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $RichTextFieldControls = { + properties: { + paragraph: { + type: 'boolean', + isRequired: true, + }, + h1: { + type: 'boolean', + isRequired: true, + }, + h2: { + type: 'boolean', + isRequired: true, + }, + h3: { + type: 'boolean', + isRequired: true, + }, + ul: { + type: 'boolean', + isRequired: true, + }, + ol: { + type: 'boolean', + isRequired: true, + }, + bold: { + type: 'boolean', + isRequired: true, + }, + italic: { + type: 'boolean', + isRequired: true, + }, + underline: { + type: 'boolean', + isRequired: true, + }, + strikethrough: { + type: 'boolean', + isRequired: true, + }, + left: { + type: 'boolean', + isRequired: true, + }, + center: { + type: 'boolean', + isRequired: true, + }, + right: { + type: 'boolean', + isRequired: true, + }, + justify: { + type: 'boolean', + isRequired: true, + }, + undo: { + type: 'boolean', + isRequired: true, + }, + redo: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$RichTextFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $RichTextFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + dynamicResizing: { + type: 'boolean', + isRequired: true, + }, + richTextState: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + richTextVariations: { + type: 'dictionary', + contains: { + type: 'RichTextFieldSettings', + }, + isRequired: true, + }, + richTextSettings: { + type: 'RichTextFieldSettings', + isRequired: true, + }, + richTextControls: { + type: 'RichTextFieldControls', + isRequired: true, + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$RichTextFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $RichTextFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + dynamicResizing: { + type: 'boolean', + isRequired: true, + }, + richTextState: { + type: 'string', + isRequired: true, + }, + inputHeight: { + type: 'number', + }, + sameSettingsForAllVariations: { + type: 'boolean', + isRequired: true, + }, + richTextVariations: { + type: 'dictionary', + contains: { + type: 'RichTextFieldSettings', + }, + isRequired: true, + }, + richTextSettings: { + type: 'RichTextFieldSettings', + isRequired: true, + }, + richTextControls: { + type: 'RichTextFieldControls', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$RichTextFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $RichTextFieldDetails = { + properties: { + control: { + type: 'ControlType.RICH_TEXT', + isRequired: true, + }, + data: { + type: 'RichTextFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$RichTextFieldSettings.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $RichTextFieldSettings = { + properties: { + maxFontSize: { + type: 'number', + }, + maxHeight: { + type: 'number', + }, + maxRows: { + type: 'number', + }, + minFontSize: { + type: 'number', + }, + maxCharacters: { + type: 'number', + }, + lineHeight: { + type: 'number', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Space.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Space = { + properties: { + id: { + type: 'string', + description: \`Unique id of the Space\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the Space\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Id of the team the space is associated with\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Id of the template\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + archive: { + type: 'boolean', + description: \`Archive status of the space\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$SpaceAuth.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SpaceAuth = { + properties: { + spaceManagement: { + type: 'SpaceManagement', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$SpaceGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SpaceGroup = { + properties: { + id: { + type: 'string', + description: \`Unique id of the team group\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the team group\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Unique id of the team\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`boolean if the post is archived or not\`, + }, + permissions: { + type: 'SpaceManagement', + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + users: { + type: 'array', + contains: { + type: 'GroupUser', + }, + isRequired: true, + }, + spaces: { + type: 'array', + contains: { + type: 'Space', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$SpaceGroupAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SpaceGroupAll = { + properties: { + id: { + type: 'string', + description: \`Unique id of the team group\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the team group\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Unique id of the team\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`boolean if the post is archived or not\`, + }, + permissions: { + type: 'SpaceManagement', + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$SpaceGroupPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SpaceGroupPermissions = { + type: 'SpaceManagement', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$SpaceGroupUserPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SpaceGroupUserPermissions = { + properties: { + id: { + type: 'string', + description: \`Unique id of the team group\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Unique id of the team\`, + isRequired: true, + }, + permission: { + type: 'GroupUserPermissions', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$SpaceGroupUsers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SpaceGroupUsers = { + properties: { + users: { + type: 'array', + contains: { + type: 'GroupUser', + }, + isRequired: true, + }, + spaces: { + type: 'array', + contains: { + type: 'Space', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$SpaceManagement.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $SpaceManagement = { + description: \`permission set of the team group\`, + properties: { + createPosts: { + type: 'boolean', + description: \`createPosts of the team\`, + isRequired: true, + }, + deletePosts: { + type: 'boolean', + description: \`deletePosts of the team\`, + isRequired: true, + }, + settingsManagement: { + type: 'boolean', + description: \`Can a user settingsManagement\`, + isRequired: true, + }, + approvePosts: { + type: 'boolean', + description: \`Can a user approvePosts\`, + isRequired: true, + }, + createTemplates: { + type: 'boolean', + description: \`Can a user createTemplates\`, + isRequired: true, + }, + deleteTemplates: { + type: 'boolean', + description: \`Can a user deleteTemplates\`, + isRequired: true, + }, + createFeed: { + type: 'boolean', + description: \`Can a user createFeed\`, + isRequired: true, + }, + deleteFeed: { + type: 'boolean', + description: \`Can a user deleteFeed\`, + isRequired: true, + }, + createAsset: { + type: 'boolean', + description: \`Can a user createAsset\`, + isRequired: true, + }, + deleteAsset: { + type: 'boolean', + description: \`Can a user deleteAsset\`, + isRequired: true, + }, + createJSON: { + type: 'boolean', + description: \`Can a user createJSON\`, + isRequired: true, + }, + deleteJSON: { + type: 'boolean', + description: \`Can a user deleteJSON\`, + isRequired: true, + }, + createMasterField: { + type: 'boolean', + description: \`Can a user createMasterField\`, + isRequired: true, + }, + deleteMasterField: { + type: 'boolean', + description: \`Can a user deleteMasterField\`, + isRequired: true, + }, + viewMetrics: { + type: 'boolean', + description: \`Can a user deleteAsset\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Team.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Team = { + properties: { + id: { + type: 'string', + description: \`Unique id of the Team\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the Team\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`organisation ID for the team.\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + archive: { + type: 'boolean', + description: \`archive status of the team\`, + }, + avatar: { + type: 'boolean', + description: \`if the user had a avatar set or not\`, + isRequired: true, + }, + slack: { + type: 'boolean', + description: \`has slack been added\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TeamAuth.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TeamAuth = { + properties: { + teamManagement: { + type: 'TeamManagement', + isRequired: true, + }, + spaces: { + type: 'dictionary', + contains: { + type: 'SpaceAuth', + }, + isRequired: true, + }, + teamGroups: { + type: 'dictionary', + contains: { + type: 'GroupUserPermissions', + }, + isRequired: true, + }, + spaceGroups: { + type: 'dictionary', + contains: { + type: 'GroupUserPermissions', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TeamGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TeamGroup = { + properties: { + id: { + type: 'string', + description: \`Unique id of the team group\`, + isRequired: true, + }, + defaultAdminGroup: { + type: 'boolean', + description: \`If the group is the default admin group or not.\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the team group\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Unique id of the team\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + permissions: { + type: 'TeamManagement', + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`Archive status of the team group\`, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + users: { + type: 'array', + contains: { + type: 'GroupUser', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TeamGroupAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TeamGroupAll = { + properties: { + id: { + type: 'string', + description: \`Unique id of the team group\`, + isRequired: true, + }, + defaultAdminGroup: { + type: 'boolean', + description: \`If the group is the default admin group or not.\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the team group\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Unique id of the team\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + permissions: { + type: 'TeamManagement', + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`Archive status of the team group\`, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TeamGroupPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TeamGroupPermissions = { + type: 'TeamManagement', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TeamGroupUserPermissions.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TeamGroupUserPermissions = { + properties: { + id: { + type: 'string', + description: \`Unique id of the team group\`, + isRequired: true, + }, + organisationId: { + type: 'string', + description: \`Unique id of the organisation\`, + isRequired: true, + }, + teamId: { + type: 'string', + description: \`Unique id of the team\`, + isRequired: true, + }, + permission: { + type: 'GroupUserPermissions', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TeamGroupUsers.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TeamGroupUsers = { + properties: { + users: { + type: 'array', + contains: { + type: 'GroupUser', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TeamManagement.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TeamManagement = { + description: \`permission set of the team group\`, + properties: { + admin: { + type: 'boolean', + description: \`Admin of the team\`, + isRequired: true, + }, + settingsManagement: { + type: 'boolean', + description: \`Can a user settingsManagement\`, + isRequired: true, + }, + approvePosts: { + type: 'boolean', + description: \`Can a user approvePosts\`, + isRequired: true, + }, + groupManagement: { + type: 'boolean', + description: \`Can a user groupManagement\`, + isRequired: true, + }, + createTemplates: { + type: 'boolean', + description: \`Can a user createTemplates\`, + isRequired: true, + }, + deleteTemplates: { + type: 'boolean', + description: \`Can a user deleteTemplates\`, + isRequired: true, + }, + spaceManagement: { + type: 'boolean', + description: \`Can a user spaceManagement\`, + isRequired: true, + }, + userManagement: { + type: 'boolean', + isRequired: true, + }, + createFeed: { + type: 'boolean', + description: \`Can a user createFeed\`, + isRequired: true, + }, + deleteFeed: { + type: 'boolean', + description: \`Can a user deleteFeed\`, + isRequired: true, + }, + createPosts: { + type: 'boolean', + description: \`createPosts of the team\`, + isRequired: true, + }, + deletePosts: { + type: 'boolean', + description: \`deletePosts of the team\`, + isRequired: true, + }, + createAsset: { + type: 'boolean', + description: \`Can a user createAsset\`, + isRequired: true, + }, + deleteAsset: { + type: 'boolean', + description: \`Can a user deleteAsset\`, + isRequired: true, + }, + createMasterField: { + type: 'boolean', + description: \`Can a user createMasterField\`, + isRequired: true, + }, + deleteMasterField: { + type: 'boolean', + description: \`Can a user deleteMasterField\`, + isRequired: true, + }, + createJSON: { + type: 'boolean', + description: \`Can a user createJSON\`, + isRequired: true, + }, + deleteJSON: { + type: 'boolean', + description: \`Can a user deleteJSON\`, + isRequired: true, + }, + viewMetrics: { + type: 'boolean', + description: \`Can a user deleteAsset\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$Template.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $Template = { + properties: { + id: { + type: 'string', + description: \`Unique id of the Template\`, + isRequired: true, + }, + version: { + type: 'number', + description: \`The version of the template\`, + isRequired: true, + }, + title: { + type: 'string', + description: \`Name of the Template\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`boolean if the post is archived or not\`, + }, + draftVersion: { + type: 'boolean', + isRequired: true, + }, + lastImageTime: { + type: 'string', + description: \`last image time in iso format.\`, + isRequired: true, + }, + postTitle: { + type: 'string', + description: \`Name of the Template\`, + isRequired: true, + }, + schema: { + type: 'TemplateSchemaType', + isRequired: true, + }, + variations: { + type: 'dictionary', + contains: { + type: 'TemplateVariation', + }, + isRequired: true, + }, + definitions: { + type: 'dictionary', + contains: { + type: 'TemplateDefinition', + }, + isRequired: true, + }, + variationsOrder: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + definitionsOrder: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + transparentBackground: { + type: 'boolean', + isRequired: true, + }, + scaleFactor: { + type: 'number', + description: \`scale Factor of the template\`, + isRequired: true, + }, + langSettings: { + type: 'string', + description: \`language settings to add to the template.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TemplateDefinition.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TemplateDefinition = { + description: \`definition of the template\`, + properties: { + id: { + type: 'string', + description: \`Unique id of the templateVariation\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the template Variation\`, + isRequired: true, + }, + markUp: { + type: 'string', + description: \`Markup of the template\`, + isRequired: true, + }, + css: { + type: 'string', + description: \`css of the template\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TemplateGetAll.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TemplateGetAll = { + properties: { + id: { + type: 'string', + description: \`Unique id of the Template\`, + isRequired: true, + }, + version: { + type: 'number', + description: \`The version of the template\`, + isRequired: true, + }, + title: { + type: 'string', + description: \`Name of the Template\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + createdBy: { + type: 'string', + description: \`Created by user string.\`, + isRequired: true, + }, + updatedBy: { + type: 'string', + description: \`last updated by user string.\`, + }, + ownerType: { + type: 'OwnerType', + isRequired: true, + }, + archive: { + type: 'boolean', + description: \`boolean if the post is archived or not\`, + }, + draftVersion: { + type: 'boolean', + isRequired: true, + }, + lastImageTime: { + type: 'string', + description: \`last image time in iso format.\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TemplateRemaining.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TemplateRemaining = { + properties: { + postTitle: { + type: 'string', + description: \`Name of the Template\`, + isRequired: true, + }, + schema: { + type: 'TemplateSchemaType', + isRequired: true, + }, + variations: { + type: 'dictionary', + contains: { + type: 'TemplateVariation', + }, + isRequired: true, + }, + definitions: { + type: 'dictionary', + contains: { + type: 'TemplateDefinition', + }, + isRequired: true, + }, + variationsOrder: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + definitionsOrder: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + transparentBackground: { + type: 'boolean', + isRequired: true, + }, + scaleFactor: { + type: 'number', + description: \`scale Factor of the template\`, + isRequired: true, + }, + langSettings: { + type: 'string', + description: \`language settings to add to the template.\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TemplateSchemaType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TemplateSchemaType = { + description: \`schema of the template\`, + properties: { + fields: { + type: 'Fields', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TemplateVariation.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TemplateVariation = { + description: \`Variations of the template\`, + properties: { + id: { + type: 'string', + description: \`Unique id of the templateVariation\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the template Variation\`, + isRequired: true, + }, + height: { + type: 'number', + description: \`height of the template\`, + isRequired: true, + }, + width: { + type: 'number', + description: \`width of the template\`, + isRequired: true, + }, + definitionId: { + type: 'string', + description: \`definitionId of the template\`, + isRequired: true, + }, + default: { + type: 'boolean', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TextField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TextField = { + properties: { + control: { + type: 'string', + isRequired: true, + }, + data: { + type: 'TextFieldData', + isRequired: true, + }, + _id: { + type: 'string', + isRequired: true, + }, + id: { + type: 'string', + }, + index: { + type: 'number', + }, + collapseField: { + type: 'boolean', + }, + status: { + type: 'BaseSchemaStatus', + }, + showInPosts: { + type: 'boolean', + }, + showInPostsConditionalStatement: { + type: 'string', + }, + dependsOn: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + resetOnDependencyChange: { + type: 'boolean', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TextFieldData.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TextFieldData = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + maxCharacters: { + type: 'number', + }, + multiLine: { + type: 'boolean', + }, + inputHeight: { + type: 'number', + }, + name: { + type: 'string', + isRequired: true, + }, + label: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TextFieldDataDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TextFieldDataDetails = { + properties: { + value: { + type: 'string', + isRequired: true, + }, + maxCharacters: { + type: 'number', + }, + multiLine: { + type: 'boolean', + }, + inputHeight: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$TextFieldDetails.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $TextFieldDetails = { + properties: { + control: { + type: 'ControlType.TEXT', + isRequired: true, + }, + data: { + type: 'TextFieldData', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$URLsType.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $URLsType = { + properties: { + thumbnailURL: { + type: 'string', + description: \`Presigned URL for the thumbnail.\`, + isRequired: true, + }, + fullSizeURL: { + type: 'string', + description: \`Presigned URL for the full size image.\`, + isRequired: true, + }, + workingSizeURL: { + type: 'string', + description: \`Presigned URL for the working size image.\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UnsplashSearchResults.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UnsplashSearchResults = { + properties: { + total: { + type: 'number', + isRequired: true, + }, + total_pages: { + type: 'number', + isRequired: true, + }, + results: { + type: 'array', + contains: { + type: 'UnsplashSearchResultsResult', + }, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UnsplashSearchResultsResult.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UnsplashSearchResultsResult = { + properties: { + id: { + type: 'string', + isRequired: true, + }, + width: { + type: 'number', + isRequired: true, + }, + height: { + type: 'number', + isRequired: true, + }, + color: { + type: 'string', + isRequired: true, + }, + description: { + type: 'string', + isRequired: true, + }, + blur_hash: { + type: 'string', + isRequired: true, + }, + urls: { + type: 'UnsplashSearchResultsResultUrls', + isRequired: true, + }, + links: { + type: 'UnsplashSearchResultsResultLinks', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UnsplashSearchResultsResultLinks.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UnsplashSearchResultsResultLinks = { + properties: { + self: { + type: 'string', + isRequired: true, + }, + html: { + type: 'string', + isRequired: true, + }, + download: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UnsplashSearchResultsResultUrls.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UnsplashSearchResultsResultUrls = { + properties: { + raw: { + type: 'string', + isRequired: true, + }, + full: { + type: 'string', + isRequired: true, + }, + regular: { + type: 'string', + isRequired: true, + }, + small: { + type: 'string', + isRequired: true, + }, + thumb: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateAsset.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateAsset = { + properties: { + contentType: { + type: 'AssetType', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateFeed.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateFeed = { + properties: { + name: { + type: 'string', + description: \`Name of the feed\`, + }, + url: { + type: 'string', + description: \`The URL of the feed to capture\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateJSON.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateJSON = { + properties: { + name: { + type: 'string', + description: \`Name of the json\`, + }, + json: { + type: 'string', + description: \`The json object\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateMasterField.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateMasterField = { + properties: { + name: { + type: 'string', + description: \`Name of the json\`, + }, + field: { + type: 'FieldType', + }, + publishVersion: { + type: 'boolean', + description: \`if this is true, a new version will be created\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateOrganisation.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateOrganisation = { + properties: { + name: { + type: 'string', + description: \`Name of the organisation\`, + }, + avatar: { + type: 'boolean', + description: \`if the user had a avatar set or not\`, + }, + slackAuthToken: { + type: 'string', + description: \`auth token for slack\`, + }, + redirectURL: { + type: 'string', + description: \`redirectURL for slack\`, + }, + revokeSlack: { + type: 'boolean', + description: \`revoke slack auth token\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateOrganisationAdmin.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateOrganisationAdmin = { + properties: { + templateLevels: { + type: 'array', + contains: { + type: 'string', + }, + }, + includeTeams: { + type: 'boolean', + }, + includeSpaces: { + type: 'boolean', + }, + maxNoOfTeams: { + type: 'number', + }, + maxNoOfSpaces: { + type: 'number', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateOrganisationGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateOrganisationGroup = { + properties: { + name: { + type: 'string', + description: \`Name of the organisation group\`, + }, + permissions: { + type: 'OrganisationManagement', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateOrganisationGroupUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateOrganisationGroupUser = { + properties: { + userPermissions: { + type: 'GroupUserPermissions', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdatePost.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdatePost = { + properties: { + title: { + type: 'string', + description: \`Name of the Post\`, + }, + data: { + type: 'PostDataType', + }, + published: { + type: 'boolean', + description: \`boolean to say if the post is published or not.\`, + }, + templateId: { + type: 'string', + description: \`Id of the template\`, + }, + templateVersion: { + type: 'string', + description: \`The version of the template\`, + }, + templateOwner: { + type: 'string', + description: \`The owner of the template\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateSpace.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateSpace = { + properties: { + name: { + type: 'string', + description: \`Name of the Space\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateSpaceGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateSpaceGroup = { + properties: { + name: { + type: 'string', + description: \`Name of the team group\`, + }, + permissions: { + type: 'SpaceManagement', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateSpaceGroupUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateSpaceGroupUser = { + properties: { + userPermissions: { + type: 'GroupUserPermissions', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateTeam.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateTeam = { + properties: { + name: { + type: 'string', + description: \`Name of the Team\`, + }, + avatar: { + type: 'boolean', + description: \`if the user had a avatar set or not\`, + }, + slackAuthToken: { + type: 'string', + description: \`auth token for slack\`, + }, + redirectURL: { + type: 'string', + description: \`redirectURL for slack\`, + }, + revokeSlack: { + type: 'boolean', + description: \`revoke slack auth token\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateTeamGroup.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateTeamGroup = { + properties: { + name: { + type: 'string', + description: \`Name of the team group\`, + }, + permissions: { + type: 'TeamManagement', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateTeamGroupUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateTeamGroupUser = { + properties: { + userPermissions: { + type: 'GroupUserPermissions', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateTemplate.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateTemplate = { + properties: { + title: { + type: 'string', + description: \`Name of the Template\`, + }, + postTitle: { + type: 'string', + description: \`Name of the Template\`, + }, + schema: { + type: 'TemplateSchemaType', + }, + variations: { + type: 'dictionary', + contains: { + type: 'TemplateVariation', + }, + }, + definitions: { + type: 'dictionary', + contains: { + type: 'TemplateDefinition', + }, + }, + variationsOrder: { + type: 'array', + contains: { + type: 'string', + }, + }, + definitionsOrder: { + type: 'array', + contains: { + type: 'string', + }, + }, + transparentBackground: { + type: 'boolean', + }, + scaleFactor: { + type: 'number', + description: \`scale Factor of the template\`, + }, + langSettings: { + type: 'string', + description: \`language settings to add to the template.\`, + }, + publishVersion: { + type: 'boolean', + description: \`if this is true, a new version will be created\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$UpdateUser.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $UpdateUser = { + properties: { + name: { + type: 'string', + description: \`Name of the User\`, + }, + avatar: { + type: 'boolean', + description: \`if the user had a avatar set or not\`, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$User.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $User = { + properties: { + id: { + type: 'string', + description: \`Unique id of the User\`, + isRequired: true, + }, + name: { + type: 'string', + description: \`Name of the User\`, + isRequired: true, + }, + email: { + type: 'string', + description: \`Email of the User\`, + isRequired: true, + }, + createdAt: { + type: 'string', + description: \`Created at time in iso format.\`, + isRequired: true, + }, + updatedAt: { + type: 'string', + description: \`Created at time in iso format.\`, + }, + roles: { + type: 'array', + contains: { + type: 'string', + }, + isRequired: true, + }, + avatar: { + type: 'boolean', + description: \`if the user had a avatar set or not\`, + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$archive.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $archive = { + type: 'boolean', + description: \`Is the get function getting archive or normal\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$assetFilterQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $assetFilterQuery = { + type: 'boolean', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$assetFilterQueryValue.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $assetFilterQueryValue = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$assetIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $assetIDParameter = { + type: 'string', + description: \`ID of asset to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$assetTransformationCheckerQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $assetTransformationCheckerQuery = { + type: 'array', + contains: { + type: 'string', + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$assetTransformationQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $assetTransformationQuery = { + type: 'AssetTransformationQueryParamSchema', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$assetTypeParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $assetTypeParameter = { + type: 'string', + description: \`ID of asset to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$assetTypeQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $assetTypeQuery = { + type: 'AssetType', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$avatarQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $avatarQuery = { + type: 'boolean', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$details.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $details = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$downloadPostParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $downloadPostParameter = { + type: 'boolean', + description: \`if the post is being updated to then be downloaded\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$endTime.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $endTime = { + type: 'string', + description: \`end time of the metrics, in ISO 8601 format\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$feedIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $feedIDParameter = { + type: 'string', + description: \`ID of feed to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$forceUpdate.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $forceUpdate = { + type: 'boolean', + description: \`Force update of the metrics\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$jsonIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $jsonIDParameter = { + type: 'string', + description: \`ID of json to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$latestPublishedVersion.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $latestPublishedVersion = { + type: 'boolean', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$masterFieldIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $masterFieldIDParameter = { + type: 'string', + description: \`ID of master field to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$masterFieldTypeQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $masterFieldTypeQuery = { + type: 'ControlType', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$orderByOrderQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $orderByOrderQuery = { + type: 'OrderByOrderQueryParamSchema', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$orderByQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $orderByQuery = { + type: 'OrderByQueryParamSchema', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$organisationGroupIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $organisationGroupIDParameter = { + type: 'string', + description: \`ID of Organisation to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$organisationIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $organisationIDParameter = { + type: 'string', + description: \`ID of Organisation to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$organisationQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $organisationQuery = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$originalAssetQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $originalAssetQuery = { + type: 'boolean', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$pageSize.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $pageSize = { + type: 'number', + description: \`ID of version to get\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$paramTypeEnum1.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $paramTypeEnum1 = { + type: 'Enum', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$postIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $postIDParameter = { + type: 'string', + description: \`ID of template to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$postQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $postQuery = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$publishedParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $publishedParameter = { + type: 'boolean', + description: \`if the post is published or not\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$responseObj.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $responseObj = { + properties: { + property1: { + type: 'string', + isRequired: true, + }, + property2: { + type: 'string', + isRequired: true, + }, + property3: { + type: 'responseObj3', + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$responseObj3.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $responseObj3 = { + properties: { + subProperty1: { + type: 'string', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$rssNumberParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $rssNumberParameter = { + type: 'number', + description: \`The number of records to return, if not set default to 10.\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$searchTermQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $searchTermQuery = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$spaceGroupIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $spaceGroupIDParameter = { + type: 'string', + description: \`ID of space group to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$spaceIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $spaceIDParameter = { + type: 'string', + description: \`ID of Space to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$spaceQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $spaceQuery = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$startPage.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $startPage = { + type: 'number', + description: \`ID of version to get\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$startTime.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $startTime = { + type: 'string', + description: \`Start time of the metrics, in ISO 8601 format\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$teamGroupIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $teamGroupIDParameter = { + type: 'string', + description: \`ID of Team to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$teamIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $teamIDParameter = { + type: 'string', + description: \`ID of Team to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$teamQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $teamQuery = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$templateIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $templateIDParameter = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$templateQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $templateQuery = { + type: 'string', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$thumbnailQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $thumbnailQuery = { + type: 'boolean', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$userIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $userIDParameter = { + type: 'string', + description: \`ID of User to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$userQuery.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $userQuery = { + type: 'string', + description: \`ID of User to fetch\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$userWithPermission.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $userWithPermission = { + properties: { + user: { + type: 'User', + isRequired: true, + }, + permissions: { + type: 'Permission', + isRequired: true, + }, + }, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$variationIDParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $variationIDParameter = { + type: 'string', + description: \`Name of the variation\`, +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/schemas/$versionParameter.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export const $versionParameter = { + type: 'number', +} as const; +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/AdminService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CreateAdminUser } from '../models/CreateAdminUser'; +import type { User } from '../models/User'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class AdminService { + /** + * Returns all Admin Users + * @returns User User response + * @throws ApiError + */ + public static getAllAdminUsers(): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/admin/user', + }); + } + /** + * Creates a new Admin User + * @param requestBody + * @returns void + * @throws ApiError + */ + public static createAdminUser(requestBody: CreateAdminUser, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/admin/user', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a user Admin + * @param userId ID of User to fetch + * @returns void + * @throws ApiError + */ +public static deleteAdminUser(userId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/admin/user/{userID}', + path: { + 'userID': userId, + }, + }); +} +/** + * Returns all accepted emails + * @returns string User response + * @throws ApiError + */ +public static getAcceptedEmails(): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/admin/accepted-emails', + }); +} +/** + * Update all accepted emails + * @param requestBody + * @returns string User response + * @throws ApiError + */ +public static updateAcceptedEmails(requestBody: Array, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'PUT', + url: '/admin/accepted-emails', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Gets if a user is a admin or not + * @returns boolean Users Permissions + * @throws ApiError + */ +public static isAdminUser(): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/admin', + }); +} +/** + * Returns all Admin Users + * @returns User User response + * @throws ApiError + */ +public static getAllSupportUsers(): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/admin/support/user', + }); +} +/** + * Creates a new Admin User + * @param requestBody + * @returns void + * @throws ApiError + */ +public static createSupportUser(requestBody: CreateAdminUser, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/admin/support/user', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a user Admin + * @param userId ID of User to fetch + * @returns void + * @throws ApiError + */ +public static deleteSupportUser(userId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/admin/support/user/{userID}', + path: { + 'userID': userId, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/AssetService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { Asset } from '../models/Asset'; +import type { AssetTransformationQueryParamSchema } from '../models/AssetTransformationQueryParamSchema'; +import type { AssetType } from '../models/AssetType'; +import type { CreateAsset } from '../models/CreateAsset'; +import type { CreateTransformationResponseAsset } from '../models/CreateTransformationResponseAsset'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { UpdateAsset } from '../models/UpdateAsset'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class AssetService { + /** + * Returns all assets + * queryObj = { + * @param assetType + * @param organisationId + * @param teamId + * @param spaceId + * @param orderBy + * @param orderByOrder + * @param assetFilter + * @param assetFilterValue + * } + * @returns Asset Get All Assets + * @throws ApiError + */ + public static getAllAssets(queryObj?:{ + assetType?: AssetType, + organisationId?: string, + teamId?: string, + spaceId?: string, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + assetFilter?: boolean, + assetFilterValue?: string, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/asset', + query: queryObj? { + 'assetType': queryObj.assetType, + 'organisationId': queryObj.organisationId, + 'teamId': queryObj.teamId, + 'spaceId': queryObj.spaceId, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + 'assetFilter': queryObj.assetFilter, + 'assetFilterValue': queryObj.assetFilterValue, + }: undefined, + }); + } + /** + * Creates a new asset + * @param requestBody + * @returns any asset response + * @throws ApiError + */ + public static createAsset(requestBody: CreateAsset, +): CancelablePromise<{ + id: string; + url: string; +}> { + return __request(OpenAPI, { + method: 'POST', + url: '/asset', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns By Id + * @param assetId ID of asset to fetch + * @returns Asset asset response + * @throws ApiError + */ +public static getAssetById(assetId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/asset/{assetID}', + path: { + 'assetID': assetId, + }, + }); +} +/** + * Deletes a Asset + * @param assetId ID of asset to fetch + * @returns void + * @throws ApiError + */ +public static deleteAsset(assetId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/asset/{assetID}', + path: { + 'assetID': assetId, + }, + }); +} +/** + * Updates a new Asset + * @param assetId ID of asset to fetch + * @param requestBody + * @returns void + * @throws ApiError + */ +public static updateAsset(assetId: string, +requestBody: UpdateAsset, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/asset/{assetID}', + path: { + 'assetID': assetId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Creates a new asset Transformation + * @param assetId ID of asset to fetch + * queryObj = { + * @param transformation + * } + * @returns CreateTransformationResponseAsset asset response + * @throws ApiError + */ + public static createAssetTransformation(assetId: string, + queryObj?:{ + transformation?: AssetTransformationQueryParamSchema, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/asset/{assetID}/transformation', + path: { + 'assetID': assetId, + }, + query: queryObj? { + 'transformation': queryObj.transformation, + }: undefined, + }); +} +/** + * Checks to see if an asset or array of assets transformations are complete + * queryObj = { + * @param transformation + * @param assetId + * } + * @returns boolean asset response + * @throws ApiError + */ + public static assetTransformationChecker(queryObj:{ + transformation?: AssetTransformationQueryParamSchema, + assetId: Array, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/asset/transformation-checker', + query: queryObj? { + 'transformation': queryObj.transformation, + 'assetId': queryObj.assetId, + }: undefined, + }); +} +/** + * Returns By Id + * @param assetId ID of asset to fetch + * queryObj = { + * @param transformation + * @param thumbnailQuery + * @param originalAsset + * } + * @returns string Asset response + * @throws ApiError + */ + public static getAssetContentById(assetId: string, + queryObj?:{ + transformation?: AssetTransformationQueryParamSchema, + thumbnailQuery?: boolean, + originalAsset?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/asset/{assetID}/content', + path: { + 'assetID': assetId, + }, + query: queryObj? { + 'transformation': queryObj.transformation, + 'thumbnailQuery': queryObj.thumbnailQuery, + 'originalAsset': queryObj.originalAsset, + }: undefined, + errors: { + 302: \`asset response\`, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/DefaultService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { paramTypeEnum1 } from '../models/paramTypeEnum1'; +import type { responseObj } from '../models/responseObj'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class DefaultService { + /** + * queryObj = { + * @param paramQuery1 + * @param paramQuery2 + * } + * @returns responseObj Get All Things + * @throws ApiError + */ + public static getAllThings(queryObj?:{ + paramQuery1?: paramTypeEnum1, + paramQuery2?: string, + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/thing', + query: queryObj? { + 'paramQuery1': queryObj.paramQuery1, + 'paramQuery2': queryObj.paramQuery2, + }: undefined, + }); + } +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/FeedService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CreateFeed } from '../models/CreateFeed'; +import type { Feed } from '../models/Feed'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { UpdateFeed } from '../models/UpdateFeed'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class FeedService { + /** + * Returns all feeds + * queryObj = { + * @param organisationId + * @param teamId + * @param spaceId + * @param userId ID of User to fetch + * @param orderBy + * @param orderByOrder + * } + * @returns Feed Feed response + * @throws ApiError + */ + public static getAllFeeds(queryObj?:{ + organisationId?: string, + teamId?: string, + spaceId?: string, + userId?: string, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/feed', + query: queryObj? { + 'organisationId': queryObj.organisationId, + 'teamId': queryObj.teamId, + 'spaceId': queryObj.spaceId, + 'userId': queryObj.userId, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creates a new feed + * @param requestBody + * @returns Feed Feed response + * @throws ApiError + */ + public static createFeed(requestBody: CreateFeed, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/feed', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Gets the latest for RSS feed + * @param feedId ID of feed to fetch + * queryObj = { + * @param rssNumber The number of records to return, if not set default to 10. + * } + * @returns any Feed response + * @throws ApiError + */ + public static getFeedLatest(feedId: string, + queryObj?:{ + rssNumber?: number, + }, +): CancelablePromise>> { + return __request(OpenAPI, { + method: 'GET', + url: '/feed/{feedID}/latest', + path: { + 'feedID': feedId, + }, + query: queryObj? { + 'rssNumber': queryObj.rssNumber, + }: undefined, + }); +} +/** + * Returns By Id + * @param feedId ID of feed to fetch + * @returns Feed Feed response + * @throws ApiError + */ +public static getFeedById(feedId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/feed/{feedID}', + path: { + 'feedID': feedId, + }, + }); +} +/** + * Updates a new feed + * @param feedId ID of feed to fetch + * @param requestBody + * @returns Feed Feed response + * @throws ApiError + */ +public static updateFeed(feedId: string, +requestBody: UpdateFeed, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/feed/{feedID}', + path: { + 'feedID': feedId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a Feed + * @param feedId ID of feed to fetch + * @returns void + * @throws ApiError + */ +public static deleteFeed(feedId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/feed/{feedID}', + path: { + 'feedID': feedId, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/IntegrationsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { Asset } from '../models/Asset'; +import type { CreateAssetFromUnsplash } from '../models/CreateAssetFromUnsplash'; +import type { UnsplashSearchResults } from '../models/UnsplashSearchResults'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class IntegrationsService { + /** + * Returns a list of thumbnail urls from unsplash + * queryObj = { + * @param searchTerm + * @param startPage ID of version to get + * @param pageSize ID of version to get + * } + * @returns UnsplashSearchResults Unsplash images thumbnail URLs + * @throws ApiError + */ + public static searchUnsplash(queryObj?:{ + searchTerm?: string, + startPage?: number, + pageSize?: number, + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/unsplash', + query: queryObj? { + 'searchTerm': queryObj.searchTerm, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + }: undefined, + }); + } + /** + * Creates an asset from an unsplash image + * @param requestBody + * @returns Asset asset response + * @throws ApiError + */ + public static createAssetFromUnsplash(requestBody: CreateAssetFromUnsplash, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/unsplash', + body: requestBody, + mediaType: 'application/json', + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/JsonService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CreateJSON } from '../models/CreateJSON'; +import type { JSON } from '../models/JSON'; +import type { JSONGetAll } from '../models/JSONGetAll'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { UpdateJSON } from '../models/UpdateJSON'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class JsonService { + /** + * Returns all jsons + * queryObj = { + * @param organisationId + * @param teamId + * @param spaceId + * @param userId ID of User to fetch + * @param orderBy + * @param orderByOrder + * } + * @returns JSONGetAll JSON response + * @throws ApiError + */ + public static getAllJsoNs(queryObj?:{ + organisationId?: string, + teamId?: string, + spaceId?: string, + userId?: string, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/json', + query: queryObj? { + 'organisationId': queryObj.organisationId, + 'teamId': queryObj.teamId, + 'spaceId': queryObj.spaceId, + 'userId': queryObj.userId, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creates a new json + * @param requestBody + * @returns JSON JSON response + * @throws ApiError + */ + public static createJson(requestBody: CreateJSON, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/json', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns By Id + * @param jsonId ID of json to fetch + * @returns JSON JSON response + * @throws ApiError + */ +public static getJsonById(jsonId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/json/{jsonID}', + path: { + 'jsonID': jsonId, + }, + }); +} +/** + * Updates a new json + * @param jsonId ID of json to fetch + * @param requestBody + * @returns JSON JSON response + * @throws ApiError + */ +public static updateJson(jsonId: string, +requestBody: UpdateJSON, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/json/{jsonID}', + path: { + 'jsonID': jsonId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a JSON + * @param jsonId ID of json to fetch + * @returns void + * @throws ApiError + */ +public static deleteJson(jsonId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/json/{jsonID}', + path: { + 'jsonID': jsonId, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/MasterFieldService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { ControlType } from '../models/ControlType'; +import type { CreateMasterField } from '../models/CreateMasterField'; +import type { MasterField } from '../models/MasterField'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { UpdateMasterField } from '../models/UpdateMasterField'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class MasterFieldService { + /** + * Returns all master fields + * queryObj = { + * @param organisationId + * @param teamId + * @param spaceId + * @param userId ID of User to fetch + * @param masterFieldType + * @param orderBy + * @param orderByOrder + * @param latestPublishedVersion + * } + * @returns MasterField MasterField response + * @throws ApiError + */ + public static getAllMasterFields(queryObj?:{ + organisationId?: string, + teamId?: string, + spaceId?: string, + userId?: string, + masterFieldType?: ControlType, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + latestPublishedVersion?: boolean, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/master-field', + query: queryObj? { + 'organisationId': queryObj.organisationId, + 'teamId': queryObj.teamId, + 'spaceId': queryObj.spaceId, + 'userId': queryObj.userId, + 'masterFieldType': queryObj.masterFieldType, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + 'latestPublishedVersion': queryObj.latestPublishedVersion, + }: undefined, + }); + } + /** + * Creates a new master field + * @param requestBody + * @returns MasterField MasterField response + * @throws ApiError + */ + public static createMasterField(requestBody: CreateMasterField, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/master-field', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns a masterField By Id + * @param masterFieldId ID of master field to fetch + * queryObj = { + * @param latestPublishedVersion + * } + * @returns MasterField MasterField response + * @throws ApiError + */ + public static getMasterFieldById(masterFieldId: string, + queryObj?:{ + latestPublishedVersion?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/master-field/{masterFieldID}', + path: { + 'masterFieldID': masterFieldId, + }, + query: queryObj? { + 'latestPublishedVersion': queryObj.latestPublishedVersion, + }: undefined, + }); +} +/** + * Updates a new json + * @param masterFieldId ID of master field to fetch + * @param requestBody + * @returns MasterField MasterField response + * @throws ApiError + */ +public static updateMasterField(masterFieldId: string, +requestBody: UpdateMasterField, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/master-field/{masterFieldID}', + path: { + 'masterFieldID': masterFieldId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a MasterField + * @param masterFieldId ID of master field to fetch + * @returns void + * @throws ApiError + */ +public static deleteMasterField(masterFieldId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/master-field/{masterFieldID}', + path: { + 'masterFieldID': masterFieldId, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/OrganisationAdminService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { Organisation } from '../models/Organisation'; +import type { OrganisationAdmin } from '../models/OrganisationAdmin'; +import type { UpdateOrganisationAdmin } from '../models/UpdateOrganisationAdmin'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class OrganisationAdminService { + /** + * Returns a OrganisationAdmin by ID + * @param organisationId ID of Organisation to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns OrganisationAdmin OrganisationAdmin response + * @throws ApiError + */ + public static getOrganisationAdminById(organisationId: string, + queryObj?:{ + archive?: boolean, + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation-admin/{organisationID}', + path: { + 'organisationID': organisationId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); + } + /** + * Updates a organisationAdmin details + * @param organisationId ID of Organisation to fetch + * @param requestBody + * @returns OrganisationAdmin updated organisationAdmin + * @throws ApiError + */ + public static updateOrganisationAdmin(organisationId: string, + requestBody: UpdateOrganisationAdmin, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation-admin/{organisationID}', + path: { + 'organisationID': organisationId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns a OrganisationAdmin by ID + * queryObj = { + * @param avatarQuery + * @param orderBy + * @param orderByOrder + * } + * @returns Organisation OrganisationAdmin response + * @throws ApiError + */ + public static getAllOrganisationAdmin(queryObj?:{ + avatarQuery?: boolean, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation-admin', + query: queryObj? { + 'avatarQuery': queryObj.avatarQuery, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/OrganisationGroupService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AddUserToOrganisationGroup } from '../models/AddUserToOrganisationGroup'; +import type { CreateOrganisationGroup } from '../models/CreateOrganisationGroup'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { OrganisationGroup } from '../models/OrganisationGroup'; +import type { OrganisationGroupAll } from '../models/OrganisationGroupAll'; +import type { UpdateOrganisationGroup } from '../models/UpdateOrganisationGroup'; +import type { UpdateOrganisationGroupUser } from '../models/UpdateOrganisationGroupUser'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class OrganisationGroupService { + /** + * Returns all organisations groups for organisation + * @param organisationId ID of Organisation to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns OrganisationGroupAll Organisation group response + * @throws ApiError + */ + public static getAllOrganisationGroupsInOrganisation(organisationId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/organisationgroup', + path: { + 'organisationID': organisationId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creates a new organisation group + * @param organisationId ID of Organisation to fetch + * @param requestBody + * @returns OrganisationGroup organisationgroup response + * @throws ApiError + */ + public static createOrganisationGroup(organisationId: string, + requestBody: CreateOrganisationGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/organisationgroup', + path: { + 'organisationID': organisationId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns post by Id + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns OrganisationGroup Post response + * @throws ApiError + */ + public static getOrganisationGroupById(organisationId: string, + organisationGroupId: string, + queryObj?:{ + archive?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); +} +/** + * Updates a organisation group + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * @param requestBody + * @returns OrganisationGroup organisationgroup response + * @throws ApiError + */ +public static updateOrganisationGroup(organisationId: string, +organisationGroupId: string, +requestBody: UpdateOrganisationGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a organisation group + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * @returns void + * @throws ApiError + */ +public static deleteOrganisationGroup(organisationId: string, +organisationGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + }, + }); +} +/** + * Add user to a organisation group + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * @param requestBody + * @returns OrganisationGroup organisationgroup response + * @throws ApiError + */ +public static addUserToOrganisationGroup(organisationId: string, +organisationGroupId: string, +requestBody: AddUserToOrganisationGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}/user', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Add user to a organisation group + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * @param userId ID of User to fetch + * @param requestBody + * @returns OrganisationGroup organisationgroup response + * @throws ApiError + */ +public static updateOrganisationGroupUser(organisationId: string, +organisationGroupId: string, +userId: string, +requestBody: UpdateOrganisationGroupUser, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + 'userID': userId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Add user to a organisation group + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * @param userId ID of User to fetch + * @returns OrganisationGroup organisationgroup response + * @throws ApiError + */ +public static deleteOrganisationGroupUser(organisationId: string, +organisationGroupId: string, +userId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + 'userID': userId, + }, + }); +} +/** + * Returns all organisations groups for a user + * @param userId ID of User to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns OrganisationGroupAll Organisation group response + * @throws ApiError + */ + public static getAllOrganisationGroupsForUser(userId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/user/{userID}/organisationgroup', + path: { + 'userID': userId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); +} +/** + * Archives a organisation group + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * @returns void + * @throws ApiError + */ +public static archiveOrganisationGroup(organisationId: string, +organisationGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}/archive', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + }, + }); +} +/** + * Restores a organisation group + * @param organisationId ID of Organisation to fetch + * @param organisationGroupId ID of Organisation to fetch + * @returns void + * @throws ApiError + */ +public static restoreOrganisationGroup(organisationId: string, +organisationGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/organisationgroup/{organisationGroupID}/restore', + path: { + 'organisationID': organisationId, + 'organisationGroupID': organisationGroupId, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/OrganisationService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AvatarUrl } from '../models/AvatarUrl'; +import type { CreateOrganisation } from '../models/CreateOrganisation'; +import type { CreateOrganisationUserRequest } from '../models/CreateOrganisationUserRequest'; +import type { EntityMetrics } from '../models/EntityMetrics'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { Organisation } from '../models/Organisation'; +import type { UpdateOrganisation } from '../models/UpdateOrganisation'; +import type { userWithPermission } from '../models/userWithPermission'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class OrganisationService { + /** + * Returns a Organisation by ID + * queryObj = { + * @param avatarQuery + * @param orderBy + * @param orderByOrder + * } + * @returns Organisation Organisation response + * @throws ApiError + */ + public static getAllOrganisations(queryObj?:{ + avatarQuery?: boolean, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation', + query: queryObj? { + 'avatarQuery': queryObj.avatarQuery, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creats a new a new organisation + * @param requestBody + * @returns Organisation organisation response + * @throws ApiError + */ + public static createOrganisation(requestBody: CreateOrganisation, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation', + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns a Organisation by ID + * @param organisationId ID of Organisation to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns Organisation organisation response + * @throws ApiError + */ + public static getOrganisationById(organisationId: string, + queryObj?:{ + archive?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}', + path: { + 'organisationID': organisationId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); +} +/** + * Updates a organisation details + * @param organisationId ID of Organisation to fetch + * @param requestBody + * @returns AvatarUrl updated organisation + * @throws ApiError + */ +public static updateOrganisation(organisationId: string, +requestBody: UpdateOrganisation, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}', + path: { + 'organisationID': organisationId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a organisation + * @param organisationId ID of Organisation to fetch + * @returns void + * @throws ApiError + */ +public static deleteOrganisation(organisationId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}', + path: { + 'organisationID': organisationId, + }, + }); +} +/** + * Returns a Organisation by ID + * @param organisationId ID of Organisation to fetch + * @returns string Asset response + * @throws ApiError + */ +public static getOrganisationAvatarById(organisationId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/avatar', + path: { + 'organisationID': organisationId, + }, + }); +} +/** + * Returns all users for an organisation + * @param organisationId ID of Organisation to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns userWithPermission User response + * @throws ApiError + */ + public static getAllUsersInOrganisation(organisationId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/user', + path: { + 'organisationID': organisationId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); +} +/** + * Adds a user to the organisation + * @param organisationId ID of Organisation to fetch + * @param requestBody + * @returns void + * @throws ApiError + */ +public static createOrganisationUser(organisationId: string, +requestBody: CreateOrganisationUserRequest, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/user', + path: { + 'organisationID': organisationId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a user to the organisation + * @param organisationId ID of Organisation to fetch + * @param userId ID of User to fetch + * @returns void + * @throws ApiError + */ +public static deleteOrganisationUser(organisationId: string, +userId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'userID': userId, + }, + }); +} +/** + * Archives a organisation + * @param organisationId ID of Organisation to fetch + * @returns void + * @throws ApiError + */ +public static archiveOrganisation(organisationId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/archive', + path: { + 'organisationID': organisationId, + }, + }); +} +/** + * Restores a organisation + * @param organisationId ID of Organisation to fetch + * @returns void + * @throws ApiError + */ +public static restoreOrganisation(organisationId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/restore', + path: { + 'organisationID': organisationId, + }, + }); +} +/** + * Returns an Organisation's Metrics + * @param organisationId ID of Organisation to fetch + * queryObj = { + * @param startTime Start time of the metrics, in ISO 8601 format + * @param endTime end time of the metrics, in ISO 8601 format + * @param forceUpdate Force update of the metrics + * @param details Get the details for an entity's metrics + * @param teamId + * @param spaceId + * @param userId ID of User to fetch + * @param templateId + * @param postId + * } + * @returns EntityMetrics organisation metrics response + * @throws ApiError + */ + public static getOrganisationMetrics(organisationId: string, + queryObj?:{ + startTime?: string, + endTime?: string, + forceUpdate?: boolean, + details?: 'postDownloads' | 'postCreations' | 'templateCreations' | 'templatePublications', + teamId?: string, + spaceId?: string, + userId?: string, + templateId?: string, + postId?: string, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/metrics', + path: { + 'organisationID': organisationId, + }, + query: queryObj? { + 'startTime': queryObj.startTime, + 'endTime': queryObj.endTime, + 'forceUpdate': queryObj.forceUpdate, + 'details': queryObj.details, + 'teamId': queryObj.teamId, + 'spaceId': queryObj.spaceId, + 'userId': queryObj.userId, + 'templateId': queryObj.templateId, + 'postId': queryObj.postId, + }: undefined, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/PermissionsService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { Permission } from '../models/Permission'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class PermissionsService { + /** + * Gets a users permissions + * queryObj = { + * @param userId ID of User to fetch + * } + * @returns Permission Users Permissions + * @throws ApiError + */ + public static getUsersPermissions(queryObj?:{ + userId?: string, + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/permissions', + query: queryObj? { + 'userId': queryObj.userId, + }: undefined, + }); + } +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/PostService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CreatePost } from '../models/CreatePost'; +import type { GetAllPostResponse } from '../models/GetAllPostResponse'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { Post } from '../models/Post'; +import type { UpdatePost } from '../models/UpdatePost'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class PostService { + /** + * Returns post by Id + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param postId ID of template to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns Post Post response + * @throws ApiError + */ + public static getPostById(organisationId: string, + teamId: string, + spaceId: string, + postId: string, + queryObj?:{ + archive?: boolean, + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post/{postID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + 'postID': postId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); + } + /** + * Updates a new post + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param postId ID of template to fetch + * @param requestBody + * queryObj = { + * @param download if the post is being updated to then be downloaded + * } + * @returns Post Post response + * @throws ApiError + */ + public static updatePost(organisationId: string, + teamId: string, + spaceId: string, + postId: string, + requestBody: UpdatePost, + queryObj?:{ + download?: boolean, + }, + ): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post/{postID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + 'postID': postId, + }, + query: queryObj? { + 'download': queryObj.download, + }: undefined, + body: requestBody, + mediaType: 'application/json', + }); + } + /** + * Deletes a Post + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param postId ID of template to fetch + * @returns void + * @throws ApiError + */ + public static deletePost(organisationId: string, + teamId: string, + spaceId: string, + postId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post/{postID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + 'postID': postId, + }, + }); +} +/** + * Returns post by Id + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param postId ID of template to fetch + * @returns string Asset response + * @throws ApiError + */ +public static getPostThumbnailById(organisationId: string, +teamId: string, +spaceId: string, +postId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post/{postID}/thumbnail', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + 'postID': postId, + }, + }); +} +/** + * Restores a new post + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param postId ID of template to fetch + * @returns void + * @throws ApiError + */ +public static restorePost(organisationId: string, +teamId: string, +spaceId: string, +postId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post/{postID}/restore', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + 'postID': postId, + }, + }); +} +/** + * Archives a Post + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param postId ID of template to fetch + * @returns void + * @throws ApiError + */ +public static archivePost(organisationId: string, +teamId: string, +spaceId: string, +postId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post/{postID}/archive', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + 'postID': postId, + }, + }); +} +/** + * Creates a image for a post. + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param postId ID of template to fetch + * @param variationId Name of the variation + * @returns string 302 leading to a redirect to the image + * @throws ApiError + */ +public static createImageForPostById(organisationId: string, +teamId: string, +spaceId: string, +postId: string, +variationId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post/{postID}/variationId/{variationID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + 'postID': postId, + 'variationID': variationId, + }, + }); +} +/** + * Creates a new post + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param requestBody + * @returns Post Post response + * @throws ApiError + */ +public static createPost(organisationId: string, +teamId: string, +spaceId: string, +requestBody: CreatePost, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/post', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns all posts + * queryObj = { + * @param organisationId + * @param teamId + * @param spaceId + * @param templateId + * @param published if the post is published or not + * @param archive Is the get function getting archive or normal + * @param orderBy + * @param orderByOrder + * } + * @returns GetAllPostResponse Post response + * @throws ApiError + */ + public static getAllPosts(queryObj?:{ + organisationId?: string, + teamId?: string, + spaceId?: string, + templateId?: string, + published?: boolean, + archive?: boolean, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/post', + query: queryObj? { + 'organisationId': queryObj.organisationId, + 'teamId': queryObj.teamId, + 'spaceId': queryObj.spaceId, + 'templateId': queryObj.templateId, + 'published': queryObj.published, + 'archive': queryObj.archive, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/SpaceGroupService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AddSpaceToSpaceGroup } from '../models/AddSpaceToSpaceGroup'; +import type { AddUserToSpaceGroup } from '../models/AddUserToSpaceGroup'; +import type { CreateSpaceGroup } from '../models/CreateSpaceGroup'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { SpaceGroup } from '../models/SpaceGroup'; +import type { SpaceGroupAll } from '../models/SpaceGroupAll'; +import type { UpdateSpaceGroup } from '../models/UpdateSpaceGroup'; +import type { UpdateSpaceGroupUser } from '../models/UpdateSpaceGroupUser'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class SpaceGroupService { + /** + * Returns all teams groups for team + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns SpaceGroupAll Team group response + * @throws ApiError + */ + public static getAllSpaceGroupsInTeam(organisationId: string, + teamId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creates a new team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param requestBody + * @returns SpaceGroup spacegroup response + * @throws ApiError + */ + public static createSpaceGroup(organisationId: string, + teamId: string, + requestBody: CreateSpaceGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns post by Id + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns SpaceGroup Post response + * @throws ApiError + */ + public static getSpaceGroupById(organisationId: string, + teamId: string, + spaceGroupId: string, + queryObj?:{ + archive?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); +} +/** + * Updates a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @param requestBody + * @returns SpaceGroup spacegroup response + * @throws ApiError + */ +public static updateSpaceGroup(organisationId: string, +teamId: string, +spaceGroupId: string, +requestBody: UpdateSpaceGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @returns void + * @throws ApiError + */ +public static deleteSpaceGroup(organisationId: string, +teamId: string, +spaceGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + }, + }); +} +/** + * Archives a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @returns void + * @throws ApiError + */ +public static archiveSpaceGroup(organisationId: string, +teamId: string, +spaceGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}/archive', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + }, + }); +} +/** + * Restores a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @returns void + * @throws ApiError + */ +public static restoreSpaceGroup(organisationId: string, +teamId: string, +spaceGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}/restore', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + }, + }); +} +/** + * Add user to a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @param requestBody + * @returns SpaceGroup spacegroup response + * @throws ApiError + */ +public static addUserToSpaceGroup(organisationId: string, +teamId: string, +spaceGroupId: string, +requestBody: AddUserToSpaceGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}/user', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Add user to a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @param userId ID of User to fetch + * @param requestBody + * @returns SpaceGroup spacegroup response + * @throws ApiError + */ +public static updateSpaceGroupUser(organisationId: string, +teamId: string, +spaceGroupId: string, +userId: string, +requestBody: UpdateSpaceGroupUser, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + 'userID': userId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * deletes user from team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @param userId ID of User to fetch + * @returns SpaceGroup spacegroup response + * @throws ApiError + */ +public static deleteSpaceGroupUser(organisationId: string, +teamId: string, +spaceGroupId: string, +userId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + 'userID': userId, + }, + }); +} +/** + * Add space to a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @param requestBody + * @returns SpaceGroup spacegroup response + * @throws ApiError + */ +public static addSpaceToSpaceGroup(organisationId: string, +teamId: string, +spaceGroupId: string, +requestBody: AddSpaceToSpaceGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}/space', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a space from a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceGroupId ID of space group to fetch + * @param spaceId ID of Space to fetch + * @returns SpaceGroup spacegroup response + * @throws ApiError + */ +public static deleteSpaceGroupSpace(organisationId: string, +teamId: string, +spaceGroupId: string, +spaceId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/spacegroup/{spaceGroupID}/space/{spaceID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceGroupID': spaceGroupId, + 'spaceID': spaceId, + }, + }); +} +/** + * Returns all teams groups for a user + * @param userId ID of User to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns SpaceGroupAll Team group response + * @throws ApiError + */ + public static getAllSpaceGroupsForUser(userId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/user/{userID}/spacegroup', + path: { + 'userID': userId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/SpaceService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CreateSpace } from '../models/CreateSpace'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { Space } from '../models/Space'; +import type { UpdateSpace } from '../models/UpdateSpace'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class SpaceService { + /** + * Returns all spaces + * A Admin user can call getAll without query parameters. However it will need to be called with the team query param for most people. + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns Space Space response + * @throws ApiError + */ + public static getAllSpacesInTeam(organisationId: string, + teamId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/space', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creates a new space + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param requestBody + * @returns Space Space response + * @throws ApiError + */ + public static createSpace(organisationId: string, + teamId: string, + requestBody: CreateSpace, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/space', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns space by Id + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns Space Space response + * @throws ApiError + */ + public static getSpaceById(organisationId: string, + teamId: string, + spaceId: string, + queryObj?:{ + archive?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); +} +/** + * Updates a space + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @param requestBody + * @returns Space Space response + * @throws ApiError + */ +public static updateSpace(organisationId: string, +teamId: string, +spaceId: string, +requestBody: UpdateSpace, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a Space + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @returns void + * @throws ApiError + */ +public static deleteSpace(organisationId: string, +teamId: string, +spaceId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + }, + }); +} +/** + * Archives a Space + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @returns void + * @throws ApiError + */ +public static archiveSpace(organisationId: string, +teamId: string, +spaceId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/archive', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + }, + }); +} +/** + * Restores a Space + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param spaceId ID of Space to fetch + * @returns void + * @throws ApiError + */ +public static restoreSpace(organisationId: string, +teamId: string, +spaceId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/space/{spaceID}/restore', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'spaceID': spaceId, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/TeamGroupService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AddUserToTeamGroup } from '../models/AddUserToTeamGroup'; +import type { CreateTeamGroup } from '../models/CreateTeamGroup'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { TeamGroup } from '../models/TeamGroup'; +import type { TeamGroupAll } from '../models/TeamGroupAll'; +import type { UpdateTeamGroup } from '../models/UpdateTeamGroup'; +import type { UpdateTeamGroupUser } from '../models/UpdateTeamGroupUser'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class TeamGroupService { + /** + * Returns all teams groups for team + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns TeamGroupAll Team group response + * @throws ApiError + */ + public static getAllTeamGroupsInTeam(organisationId: string, + teamId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creates a new team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param requestBody + * @returns TeamGroup teamgroup response + * @throws ApiError + */ + public static createTeamGroup(organisationId: string, + teamId: string, + requestBody: CreateTeamGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns post by Id + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns TeamGroup Post response + * @throws ApiError + */ + public static getTeamGroupById(organisationId: string, + teamId: string, + teamGroupId: string, + queryObj?:{ + archive?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); +} +/** + * Updates a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * @param requestBody + * @returns TeamGroup teamgroup response + * @throws ApiError + */ +public static updateTeamGroup(organisationId: string, +teamId: string, +teamGroupId: string, +requestBody: UpdateTeamGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * @returns void + * @throws ApiError + */ +public static deleteTeamGroup(organisationId: string, +teamId: string, +teamGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + }, + }); +} +/** + * Add user to a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * @param requestBody + * @returns TeamGroup teamgroup response + * @throws ApiError + */ +public static addUserToTeamGroup(organisationId: string, +teamId: string, +teamGroupId: string, +requestBody: AddUserToTeamGroup, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}/user', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Archives a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * @returns void + * @throws ApiError + */ +public static archiveTeamGroup(organisationId: string, +teamId: string, +teamGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}/archive', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + }, + }); +} +/** + * Restores a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * @returns void + * @throws ApiError + */ +public static restoreTeamGroup(organisationId: string, +teamId: string, +teamGroupId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}/restore', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + }, + }); +} +/** + * Add user to a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * @param userId ID of User to fetch + * @param requestBody + * @returns TeamGroup teamgroup response + * @throws ApiError + */ +public static updateTeamGroupUser(organisationId: string, +teamId: string, +teamGroupId: string, +userId: string, +requestBody: UpdateTeamGroupUser, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + 'userID': userId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Add user to a team group + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param teamGroupId ID of Team to fetch + * @param userId ID of User to fetch + * @returns TeamGroup teamgroup response + * @throws ApiError + */ +public static deleteTeamGroupUser(organisationId: string, +teamId: string, +teamGroupId: string, +userId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/teamgroup/{teamGroupID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'teamGroupID': teamGroupId, + 'userID': userId, + }, + }); +} +/** + * Returns all teams groups for a user + * @param userId ID of User to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns TeamGroupAll Team group response + * @throws ApiError + */ + public static getAllTeamGroupsForUser(userId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/user/{userID}/teamgroup', + path: { + 'userID': userId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/TeamService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { AvatarUrl } from '../models/AvatarUrl'; +import type { CreateTeam } from '../models/CreateTeam'; +import type { CreateTeamUserRequest } from '../models/CreateTeamUserRequest'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { Team } from '../models/Team'; +import type { UpdateTeam } from '../models/UpdateTeam'; +import type { userWithPermission } from '../models/userWithPermission'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class TeamService { + /** + * Returns all teams + * @param organisationId ID of Organisation to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param avatarQuery + * @param orderBy + * @param orderByOrder + * } + * @returns Team Team response + * @throws ApiError + */ + public static getAllTeamsInOrganisation(organisationId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + avatarQuery?: boolean, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team', + path: { + 'organisationID': organisationId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'avatarQuery': queryObj.avatarQuery, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creats a new a new team + * @param organisationId ID of Organisation to fetch + * @param requestBody + * @returns Team team response + * @throws ApiError + */ + public static createTeam(organisationId: string, + requestBody: CreateTeam, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team', + path: { + 'organisationID': organisationId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Returns a Team by ID + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * } + * @returns Team team response + * @throws ApiError + */ + public static getTeamById(organisationId: string, + teamId: string, + queryObj?:{ + archive?: boolean, + }, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + query: queryObj? { + 'archive': queryObj.archive, + }: undefined, + }); +} +/** + * Updates a team details + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param requestBody + * @returns AvatarUrl Avatar URL to upload directly to S3 + * @throws ApiError + */ +public static updateTeam(organisationId: string, +teamId: string, +requestBody: UpdateTeam, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a team + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @returns void + * @throws ApiError + */ +public static deleteTeam(organisationId: string, +teamId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + }); +} +/** + * Returns a Team by ID + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @returns string Asset response + * @throws ApiError + */ +public static getTeamAvatarById(organisationId: string, +teamId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/avatar', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + }); +} +/** + * Returns all users for an organisation + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * queryObj = { + * @param archive Is the get function getting archive or normal + * @param startPage ID of version to get + * @param pageSize ID of version to get + * @param orderBy + * @param orderByOrder + * } + * @returns userWithPermission User response + * @throws ApiError + */ + public static getAllUsersInTeam(organisationId: string, + teamId: string, + queryObj?:{ + archive?: boolean, + startPage?: number, + pageSize?: number, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, +): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/organisation/{organisationID}/team/{teamID}/user', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + query: queryObj? { + 'archive': queryObj.archive, + 'startPage': queryObj.startPage, + 'pageSize': queryObj.pageSize, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); +} +/** + * Adds a user to the team + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param requestBody + * @returns void + * @throws ApiError + */ +public static createTeamUser(organisationId: string, +teamId: string, +requestBody: CreateTeamUserRequest, +): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/organisation/{organisationID}/team/{teamID}/user', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Deletes a user from a team + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @param userId ID of User to fetch + * @returns void + * @throws ApiError + */ +public static deleteTeamUser(organisationId: string, +teamId: string, +userId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/organisation/{organisationID}/team/{teamID}/user/{userID}', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + 'userID': userId, + }, + }); +} +/** + * Archives a team + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @returns void + * @throws ApiError + */ +public static archiveTeam(organisationId: string, +teamId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/archive', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + }); +} +/** + * Restores a team + * @param organisationId ID of Organisation to fetch + * @param teamId ID of Team to fetch + * @returns void + * @throws ApiError + */ +public static restoreTeam(organisationId: string, +teamId: string, +): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/organisation/{organisationID}/team/{teamID}/restore', + path: { + 'organisationID': organisationId, + 'teamID': teamId, + }, + }); +} +} +" +`; + +exports[`allOfCombined should generate: test/generated/allOfCombined/services/TemplateService.ts 1`] = ` +"/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +import type { CreateTemplate } from '../models/CreateTemplate'; +import type { OrderByOrderQueryParamSchema } from '../models/OrderByOrderQueryParamSchema'; +import type { OrderByQueryParamSchema } from '../models/OrderByQueryParamSchema'; +import type { Template } from '../models/Template'; +import type { TemplateGetAll } from '../models/TemplateGetAll'; +import type { UpdateTemplate } from '../models/UpdateTemplate'; +import type { CancelablePromise } from '../../v3/core/CancelablePromise'; +import { OpenAPI } from '../../v3/core/OpenAPI'; +import { request as __request } from '../../v3/core/request'; +export class TemplateService { + /** + * Returns all templates + * queryObj = { + * @param organisationId + * @param teamId + * @param spaceId + * @param userId ID of User to fetch + * @param latestPublishedVersion + * @param archive Is the get function getting archive or normal + * @param orderBy + * @param orderByOrder + * } + * @returns TemplateGetAll Template response + * @throws ApiError + */ + public static getAllTemplates(queryObj?:{ + organisationId?: string, + teamId?: string, + spaceId?: string, + userId?: string, + latestPublishedVersion?: boolean, + archive?: boolean, + orderBy?: OrderByQueryParamSchema, + orderByOrder?: OrderByOrderQueryParamSchema, + }, + ): CancelablePromise> { + return __request(OpenAPI, { + method: 'GET', + url: '/template', + query: queryObj? { + 'organisationId': queryObj.organisationId, + 'teamId': queryObj.teamId, + 'spaceId': queryObj.spaceId, + 'userId': queryObj.userId, + 'latestPublishedVersion': queryObj.latestPublishedVersion, + 'archive': queryObj.archive, + 'orderBy': queryObj.orderBy, + 'orderByOrder': queryObj.orderByOrder, + }: undefined, + }); + } + /** + * Creates a new template + * @param requestBody + * @returns Template Template response + * @throws ApiError + */ + public static createTemplate(requestBody: CreateTemplate, +): CancelablePromise