[typescript] Avoid code duplication (#20978)

* Update test dependencies to make them run

* Use spaces instead of tabs

* Remove duplicate test

* Remove unused variable

* Add failing test for missing options

* Move config merge logic into shared function

* Regenerate samples

* Move option wrap logic into shared function

* Regenerate samples

* Inline wrapOptions call

* Regenerate samples

* Clean up code formatting

* Regenerate samples

* Separate mergeConfiguration definitions

* Regenerate samples

* Rename parameters

* Regenerate samples

* Add missing semicolon

* Revert inlining wrapOptions call

* Revert format changes in untouched lines
This commit is contained in:
Bodo Graumann 2025-04-01 13:13:54 +02:00 committed by GitHub
parent a8d56fd8ce
commit 7881152dc8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
62 changed files with 7006 additions and 25015 deletions

View File

@ -36,36 +36,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -73,7 +73,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -99,3 +99,66 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
{{#useInversify}}
export function mergeConfiguration(conf: Configuration, options?: Configuration): Configuration {
if (options) {
conf = options;
}
return conf;
}
{{/useInversify}}
{{^useInversify}}
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
{{/useInversify}}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http{{importFileExtension}}';
import { Configuration{{^useInversify}}, ConfigurationOptions{{/useInversify}} } from '../configuration{{importFileExtension}}'
import { Configuration{{^useInversify}}, ConfigurationOptions{{/useInversify}}, mergeConfiguration } from '../configuration{{importFileExtension}}'
import type { Middleware } from '../middleware{{importFileExtension}}';
import { Observable, of, from } from {{#useRxJS}}'rxjs'{{/useRxJS}}{{^useRxJS}}'../rxjsStub{{importFileExtension}}'{{/useRxJS}};
import {mergeMap, map} from {{#useRxJS}}'rxjs/operators'{{/useRxJS}}{{^useRxJS}}'../rxjsStub{{importFileExtension}}'{{/useRxJS}};
@ -63,55 +63,19 @@ export class Observable{{classname}} {
{{/allParams}}
*/
public {{nickname}}WithHttpInfo({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}_options?: Configuration{{^useInversify}}Options{{/useInversify}}): Observable<HttpInfo<{{{returnType}}}{{^returnType}}void{{/returnType}}>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
{{#useInversify}}
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
{{/useInversify}}
{{^useInversify}}
if (_options && _options.middleware){
const middlewareMergeStrategy = _options.middlewareMergeStrategy || 'replace' // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = _options.middleware;
switch(middlewareMergeStrategy){
case 'append':
allMiddleware = this.configuration.middleware.concat(calltimeMiddleware);
break;
case 'prepend':
allMiddleware = calltimeMiddleware.concat(this.configuration.middleware)
break;
case 'replace':
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`)
}
}
if (_options){
_config = {
baseServer: _options.baseServer || this.configuration.baseServer,
httpApi: _options.httpApi || this.configuration.httpApi,
authMethods: _options.authMethods || this.configuration.authMethods,
middleware: allMiddleware || this.configuration.middleware
};
}
{{/useInversify}}
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}{{#useInversify}}_options{{/useInversify}}{{^useInversify}}_config{{/useInversify}});
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.{{nickname}}WithHttpInfo(rsp)));

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http{{importFileExtension}}';
import { Configuration{{^useInversify}}, ConfigurationOptions, PromiseConfigurationOptions{{/useInversify}} } from '../configuration{{importFileExtension}}'
import { Configuration{{^useInversify}}, PromiseConfigurationOptions, wrapOptions{{/useInversify}} } from '../configuration{{importFileExtension}}'
{{^useInversify}}
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware{{importFileExtension}}';
{{/useInversify}}
@ -55,20 +55,7 @@ export class Promise{{classname}} {
{{/allParams}}
*/
public {{nickname}}WithHttpInfo({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}_options?: {{#useInversify}}Configuration{{/useInversify}}{{^useInversify}}PromiseConfigurationOptions{{/useInversify}}): Promise<HttpInfo<{{{returnType}}}{{^returnType}}void{{/returnType}}>> {
let observableOptions: undefined | Configuration{{^useInversify}}Options{{/useInversify}}{{#useInversify}} = _options{{/useInversify}}
{{^useInversify}}
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
{{/useInversify}}
const observableOptions = {{#useInversify}}_options{{/useInversify}}{{^useInversify}}wrapOptions(_options){{/useInversify}};
const result = this.api.{{nickname}}WithHttpInfo({{#allParams}}{{paramName}}, {{/allParams}}observableOptions);
return result.toPromise();
}
@ -85,20 +72,7 @@ export class Promise{{classname}} {
{{/allParams}}
*/
public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}_options?: {{#useInversify}}Configuration{{/useInversify}}{{^useInversify}}PromiseConfigurationOptions{{/useInversify}}): Promise<{{{returnType}}}{{^returnType}}void{{/returnType}}> {
let observableOptions: undefined | Configuration{{^useInversify}}Options{{/useInversify}}{{#useInversify}} = _options{{/useInversify}}
{{^useInversify}}
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
{{/useInversify}}
const observableOptions = {{#useInversify}}_options{{/useInversify}}{{^useInversify}}wrapOptions(_options){{/useInversify}};
const result = this.api.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions } from '../configuration'
import { Configuration, ConfigurationOptions, mergeConfiguration } from '../configuration'
import type { Middleware } from '../middleware';
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';
@ -25,47 +25,19 @@ export class ObservableDefaultApi {
/**
*/
public listWithHttpInfo(_options?: ConfigurationOptions): Observable<HttpInfo<ListPaged>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options && _options.middleware){
const middlewareMergeStrategy = _options.middlewareMergeStrategy || 'replace' // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = _options.middleware;
switch(middlewareMergeStrategy){
case 'append':
allMiddleware = this.configuration.middleware.concat(calltimeMiddleware);
break;
case 'prepend':
allMiddleware = calltimeMiddleware.concat(this.configuration.middleware)
break;
case 'replace':
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`)
}
}
if (_options){
_config = {
baseServer: _options.baseServer || this.configuration.baseServer,
httpApi: _options.httpApi || this.configuration.httpApi,
authMethods: _options.authMethods || this.configuration.authMethods,
middleware: allMiddleware || this.configuration.middleware
};
}
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.list(_config);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.listWithHttpInfo(rsp)));

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { List } from '../models/List';
@ -21,18 +21,7 @@ export class PromiseDefaultApi {
/**
*/
public listWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<ListPaged>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.listWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -40,18 +29,7 @@ export class PromiseDefaultApi {
/**
*/
public list(_options?: PromiseConfigurationOptions): Promise<ListPaged> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.list(observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions } from '../configuration'
import { Configuration, ConfigurationOptions, mergeConfiguration } from '../configuration'
import type { Middleware } from '../middleware';
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { SingleValueEnum30 } from '../models/SingleValueEnum30';

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions } from '../configuration'
import { Configuration, ConfigurationOptions, mergeConfiguration } from '../configuration'
import type { Middleware } from '../middleware';
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { SomeObject } from '../models/SomeObject';

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions } from '../configuration'
import { Configuration, ConfigurationOptions, mergeConfiguration } from '../configuration'
import type { Middleware } from '../middleware';
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';
@ -24,47 +24,19 @@ export class ObservableDefaultApi {
/**
*/
public uniqueItemsWithHttpInfo(_options?: ConfigurationOptions): Observable<HttpInfo<Response>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options && _options.middleware){
const middlewareMergeStrategy = _options.middlewareMergeStrategy || 'replace' // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = _options.middleware;
switch(middlewareMergeStrategy){
case 'append':
allMiddleware = this.configuration.middleware.concat(calltimeMiddleware);
break;
case 'prepend':
allMiddleware = calltimeMiddleware.concat(this.configuration.middleware)
break;
case 'replace':
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`)
}
}
if (_options){
_config = {
baseServer: _options.baseServer || this.configuration.baseServer,
httpApi: _options.httpApi || this.configuration.httpApi,
authMethods: _options.authMethods || this.configuration.authMethods,
middleware: allMiddleware || this.configuration.middleware
};
}
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.uniqueItems(_config);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.uniqueItemsWithHttpInfo(rsp)));

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { Response } from '../models/Response';
@ -20,18 +20,7 @@ export class PromiseDefaultApi {
/**
*/
public uniqueItemsWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<Response>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uniqueItemsWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -39,18 +28,7 @@ export class PromiseDefaultApi {
/**
*/
public uniqueItems(_options?: PromiseConfigurationOptions): Promise<Response> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uniqueItems(observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -10,35 +10,17 @@
"license": "Unlicense",
"dependencies": {
"es6-promise": "^4.2.4",
"url-parse": "^1.4.3",
"whatwg-fetch": "^3.0.0"
},
"devDependencies": {
"@types/url-parse": "1.4.4",
"typescript": "^4.0"
}
},
"node_modules/@types/url-parse": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.4.tgz",
"integrity": "sha512-KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q==",
"dev": true
},
"node_modules/es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
},
"node_modules/querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
@ -52,15 +34,6 @@
"node": ">=4.2.0"
}
},
"node_modules/url-parse": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.4.tgz",
"integrity": "sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
},
"node_modules/whatwg-fetch": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
@ -68,42 +41,17 @@
}
},
"dependencies": {
"@types/url-parse": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.4.tgz",
"integrity": "sha512-KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q==",
"dev": true
},
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
},
"querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true
},
"url-parse": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.4.tgz",
"integrity": "sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
},
"whatwg-fetch": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { ApiResponse } from '../models/ApiResponse';
@ -28,18 +28,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -50,18 +39,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPet(pet, observableOptions);
return result.toPromise();
}
@ -73,18 +51,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePetWithHttpInfo(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -96,18 +63,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePet(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePet(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -118,18 +74,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatusWithHttpInfo(status, observableOptions);
return result.toPromise();
}
@ -140,18 +85,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatus(status, observableOptions);
return result.toPromise();
}
@ -162,18 +96,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTagsWithHttpInfo(tags, observableOptions);
return result.toPromise();
}
@ -184,18 +107,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTags(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTags(tags, observableOptions);
return result.toPromise();
}
@ -206,18 +118,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetByIdWithHttpInfo(petId, observableOptions);
return result.toPromise();
}
@ -228,18 +129,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetById(petId: number, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetById(petId, observableOptions);
return result.toPromise();
}
@ -250,18 +140,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -272,18 +151,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePet(pet, observableOptions);
return result.toPromise();
}
@ -296,18 +164,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithFormWithHttpInfo(petId, name, status, observableOptions);
return result.toPromise();
}
@ -320,18 +177,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithForm(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithForm(petId, name, status, observableOptions);
return result.toPromise();
}
@ -344,18 +190,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<HttpInfo<ApiResponse>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFileWithHttpInfo(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -368,18 +203,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFile(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<ApiResponse> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFile(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -409,18 +233,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrderWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -431,18 +244,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder(orderId: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrder(orderId, observableOptions);
return result.toPromise();
}
@ -452,18 +254,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<{ [key: string]: number; }>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventoryWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -473,18 +264,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventory(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: number; }> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventory(observableOptions);
return result.toPromise();
}
@ -495,18 +275,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderByIdWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -517,18 +286,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById(orderId: number, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderById(orderId, observableOptions);
return result.toPromise();
}
@ -539,18 +297,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrderWithHttpInfo(order, observableOptions);
return result.toPromise();
}
@ -561,18 +308,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrder(order: Order, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrder(order, observableOptions);
return result.toPromise();
}
@ -602,18 +338,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUserWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -624,18 +349,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUser(user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUser(user, observableOptions);
return result.toPromise();
}
@ -646,18 +360,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -668,18 +371,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInput(user, observableOptions);
return result.toPromise();
}
@ -690,18 +382,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -712,18 +393,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInput(user, observableOptions);
return result.toPromise();
}
@ -734,18 +404,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUserWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -756,18 +415,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUser(username: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUser(username, observableOptions);
return result.toPromise();
}
@ -778,18 +426,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<User>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByNameWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -800,18 +437,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName(username: string, _options?: PromiseConfigurationOptions): Promise<User> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByName(username, observableOptions);
return result.toPromise();
}
@ -823,18 +449,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<string>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUserWithHttpInfo(username, password, observableOptions);
return result.toPromise();
}
@ -846,18 +461,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUser(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<string> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUser(username, password, observableOptions);
return result.toPromise();
}
@ -867,18 +471,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUserWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -888,18 +481,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUser(_options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUser(observableOptions);
return result.toPromise();
}
@ -911,18 +493,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUserWithHttpInfo(username, user, observableOptions);
return result.toPromise();
}
@ -934,18 +505,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUser(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUser(username, user, observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions } from '../configuration'
import { Configuration, ConfigurationOptions, mergeConfiguration } from '../configuration'
import type { Middleware } from '../middleware';
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';
@ -31,47 +31,19 @@ export class ObservableDefaultApi {
* @param [filePostRequest]
*/
public filePostWithHttpInfo(filePostRequest?: FilePostRequest, _options?: ConfigurationOptions): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options && _options.middleware){
const middlewareMergeStrategy = _options.middlewareMergeStrategy || 'replace' // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = _options.middleware;
switch(middlewareMergeStrategy){
case 'append':
allMiddleware = this.configuration.middleware.concat(calltimeMiddleware);
break;
case 'prepend':
allMiddleware = calltimeMiddleware.concat(this.configuration.middleware)
break;
case 'replace':
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`)
}
}
if (_options){
_config = {
baseServer: _options.baseServer || this.configuration.baseServer,
httpApi: _options.httpApi || this.configuration.httpApi,
authMethods: _options.authMethods || this.configuration.authMethods,
middleware: allMiddleware || this.configuration.middleware
};
}
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.filePost(filePostRequest, _config);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.filePostWithHttpInfo(rsp)));
@ -89,47 +61,19 @@ export class ObservableDefaultApi {
* @param [petsFilteredPatchRequest]
*/
public petsFilteredPatchWithHttpInfo(petsFilteredPatchRequest?: PetsFilteredPatchRequest, _options?: ConfigurationOptions): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options && _options.middleware){
const middlewareMergeStrategy = _options.middlewareMergeStrategy || 'replace' // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = _options.middleware;
switch(middlewareMergeStrategy){
case 'append':
allMiddleware = this.configuration.middleware.concat(calltimeMiddleware);
break;
case 'prepend':
allMiddleware = calltimeMiddleware.concat(this.configuration.middleware)
break;
case 'replace':
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`)
}
}
if (_options){
_config = {
baseServer: _options.baseServer || this.configuration.baseServer,
httpApi: _options.httpApi || this.configuration.httpApi,
authMethods: _options.authMethods || this.configuration.authMethods,
middleware: allMiddleware || this.configuration.middleware
};
}
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.petsFilteredPatch(petsFilteredPatchRequest, _config);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.petsFilteredPatchWithHttpInfo(rsp)));
@ -147,47 +91,19 @@ export class ObservableDefaultApi {
* @param [petsPatchRequest]
*/
public petsPatchWithHttpInfo(petsPatchRequest?: PetsPatchRequest, _options?: ConfigurationOptions): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options && _options.middleware){
const middlewareMergeStrategy = _options.middlewareMergeStrategy || 'replace' // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = _options.middleware;
switch(middlewareMergeStrategy){
case 'append':
allMiddleware = this.configuration.middleware.concat(calltimeMiddleware);
break;
case 'prepend':
allMiddleware = calltimeMiddleware.concat(this.configuration.middleware)
break;
case 'replace':
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`)
}
}
if (_options){
_config = {
baseServer: _options.baseServer || this.configuration.baseServer,
httpApi: _options.httpApi || this.configuration.httpApi,
authMethods: _options.authMethods || this.configuration.authMethods,
middleware: allMiddleware || this.configuration.middleware
};
}
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.petsPatch(petsPatchRequest, _config);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.petsPatchWithHttpInfo(rsp)));

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { Cat } from '../models/Cat';
@ -27,18 +27,7 @@ export class PromiseDefaultApi {
* @param [filePostRequest]
*/
public filePostWithHttpInfo(filePostRequest?: FilePostRequest, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.filePostWithHttpInfo(filePostRequest, observableOptions);
return result.toPromise();
}
@ -47,18 +36,7 @@ export class PromiseDefaultApi {
* @param [filePostRequest]
*/
public filePost(filePostRequest?: FilePostRequest, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.filePost(filePostRequest, observableOptions);
return result.toPromise();
}
@ -67,18 +45,7 @@ export class PromiseDefaultApi {
* @param [petsFilteredPatchRequest]
*/
public petsFilteredPatchWithHttpInfo(petsFilteredPatchRequest?: PetsFilteredPatchRequest, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.petsFilteredPatchWithHttpInfo(petsFilteredPatchRequest, observableOptions);
return result.toPromise();
}
@ -87,18 +54,7 @@ export class PromiseDefaultApi {
* @param [petsFilteredPatchRequest]
*/
public petsFilteredPatch(petsFilteredPatchRequest?: PetsFilteredPatchRequest, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.petsFilteredPatch(petsFilteredPatchRequest, observableOptions);
return result.toPromise();
}
@ -107,18 +63,7 @@ export class PromiseDefaultApi {
* @param [petsPatchRequest]
*/
public petsPatchWithHttpInfo(petsPatchRequest?: PetsPatchRequest, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.petsPatchWithHttpInfo(petsPatchRequest, observableOptions);
return result.toPromise();
}
@ -127,18 +72,7 @@ export class PromiseDefaultApi {
* @param [petsPatchRequest]
*/
public petsPatch(petsPatchRequest?: PetsPatchRequest, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.petsPatch(petsPatchRequest, observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { ApiResponse } from '../models/ApiResponse';
@ -28,18 +28,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -50,18 +39,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPet(pet, observableOptions);
return result.toPromise();
}
@ -73,18 +51,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePetWithHttpInfo(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -96,18 +63,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePet(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePet(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -118,18 +74,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatusWithHttpInfo(status, observableOptions);
return result.toPromise();
}
@ -140,18 +85,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatus(status, observableOptions);
return result.toPromise();
}
@ -162,18 +96,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTagsWithHttpInfo(tags, observableOptions);
return result.toPromise();
}
@ -184,18 +107,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTags(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTags(tags, observableOptions);
return result.toPromise();
}
@ -206,18 +118,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetByIdWithHttpInfo(petId, observableOptions);
return result.toPromise();
}
@ -228,18 +129,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetById(petId: number, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetById(petId, observableOptions);
return result.toPromise();
}
@ -250,18 +140,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -272,18 +151,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePet(pet, observableOptions);
return result.toPromise();
}
@ -296,18 +164,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithFormWithHttpInfo(petId, name, status, observableOptions);
return result.toPromise();
}
@ -320,18 +177,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithForm(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithForm(petId, name, status, observableOptions);
return result.toPromise();
}
@ -344,18 +190,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<HttpInfo<ApiResponse>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFileWithHttpInfo(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -368,18 +203,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFile(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<ApiResponse> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFile(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -409,18 +233,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrderWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -431,18 +244,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder(orderId: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrder(orderId, observableOptions);
return result.toPromise();
}
@ -452,18 +254,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<{ [key: string]: number; }>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventoryWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -473,18 +264,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventory(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: number; }> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventory(observableOptions);
return result.toPromise();
}
@ -495,18 +275,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderByIdWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -517,18 +286,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById(orderId: number, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderById(orderId, observableOptions);
return result.toPromise();
}
@ -539,18 +297,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrderWithHttpInfo(order, observableOptions);
return result.toPromise();
}
@ -561,18 +308,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrder(order: Order, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrder(order, observableOptions);
return result.toPromise();
}
@ -602,18 +338,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUserWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -624,18 +349,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUser(user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUser(user, observableOptions);
return result.toPromise();
}
@ -646,18 +360,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -668,18 +371,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInput(user, observableOptions);
return result.toPromise();
}
@ -690,18 +382,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -712,18 +393,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInput(user, observableOptions);
return result.toPromise();
}
@ -734,18 +404,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUserWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -756,18 +415,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUser(username: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUser(username, observableOptions);
return result.toPromise();
}
@ -778,18 +426,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<User>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByNameWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -800,18 +437,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName(username: string, _options?: PromiseConfigurationOptions): Promise<User> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByName(username, observableOptions);
return result.toPromise();
}
@ -823,18 +449,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<string>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUserWithHttpInfo(username, password, observableOptions);
return result.toPromise();
}
@ -846,18 +461,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUser(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<string> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUser(username, password, observableOptions);
return result.toPromise();
}
@ -867,18 +471,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUserWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -888,18 +481,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUser(_options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUser(observableOptions);
return result.toPromise();
}
@ -911,18 +493,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUserWithHttpInfo(username, user, observableOptions);
return result.toPromise();
}
@ -934,18 +505,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUser(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUser(username, user, observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http.ts';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration.ts'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration.ts'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware.ts';
import { ApiResponse } from '../models/ApiResponse.ts';
@ -28,18 +28,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -50,18 +39,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPet(pet, observableOptions);
return result.toPromise();
}
@ -73,18 +51,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePetWithHttpInfo(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -96,18 +63,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePet(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePet(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -118,18 +74,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatusWithHttpInfo(status, observableOptions);
return result.toPromise();
}
@ -140,18 +85,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatus(status, observableOptions);
return result.toPromise();
}
@ -162,18 +96,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTagsWithHttpInfo(tags, observableOptions);
return result.toPromise();
}
@ -184,18 +107,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTags(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTags(tags, observableOptions);
return result.toPromise();
}
@ -206,18 +118,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetByIdWithHttpInfo(petId, observableOptions);
return result.toPromise();
}
@ -228,18 +129,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetById(petId: number, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetById(petId, observableOptions);
return result.toPromise();
}
@ -250,18 +140,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -272,18 +151,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePet(pet, observableOptions);
return result.toPromise();
}
@ -296,18 +164,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithFormWithHttpInfo(petId, name, status, observableOptions);
return result.toPromise();
}
@ -320,18 +177,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithForm(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithForm(petId, name, status, observableOptions);
return result.toPromise();
}
@ -344,18 +190,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<HttpInfo<ApiResponse>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFileWithHttpInfo(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -368,18 +203,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFile(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<ApiResponse> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFile(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -409,18 +233,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrderWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -431,18 +244,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder(orderId: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrder(orderId, observableOptions);
return result.toPromise();
}
@ -452,18 +254,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<{ [key: string]: number; }>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventoryWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -473,18 +264,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventory(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: number; }> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventory(observableOptions);
return result.toPromise();
}
@ -495,18 +275,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderByIdWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -517,18 +286,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById(orderId: number, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderById(orderId, observableOptions);
return result.toPromise();
}
@ -539,18 +297,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrderWithHttpInfo(order, observableOptions);
return result.toPromise();
}
@ -561,18 +308,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrder(order: Order, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrder(order, observableOptions);
return result.toPromise();
}
@ -602,18 +338,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUserWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -624,18 +349,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUser(user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUser(user, observableOptions);
return result.toPromise();
}
@ -646,18 +360,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -668,18 +371,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInput(user, observableOptions);
return result.toPromise();
}
@ -690,18 +382,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -712,18 +393,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInput(user, observableOptions);
return result.toPromise();
}
@ -734,18 +404,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUserWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -756,18 +415,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUser(username: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUser(username, observableOptions);
return result.toPromise();
}
@ -778,18 +426,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<User>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByNameWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -800,18 +437,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName(username: string, _options?: PromiseConfigurationOptions): Promise<User> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByName(username, observableOptions);
return result.toPromise();
}
@ -823,18 +449,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<string>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUserWithHttpInfo(username, password, observableOptions);
return result.toPromise();
}
@ -846,18 +461,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUser(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<string> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUser(username, password, observableOptions);
return result.toPromise();
}
@ -867,18 +471,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUserWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -888,18 +481,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUser(_options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUser(observableOptions);
return result.toPromise();
}
@ -911,18 +493,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUserWithHttpInfo(username, user, observableOptions);
return result.toPromise();
}
@ -934,18 +505,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUser(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUser(username, user, observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http.ts';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration.ts'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration.ts'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware.ts';
import { ApiResponse } from '../models/ApiResponse.ts';
@ -28,18 +28,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -50,18 +39,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPet(pet, observableOptions);
return result.toPromise();
}
@ -73,18 +51,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePetWithHttpInfo(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -96,18 +63,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePet(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePet(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -118,18 +74,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatusWithHttpInfo(status, observableOptions);
return result.toPromise();
}
@ -140,18 +85,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatus(status, observableOptions);
return result.toPromise();
}
@ -162,18 +96,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTagsWithHttpInfo(tags, observableOptions);
return result.toPromise();
}
@ -184,18 +107,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTags(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTags(tags, observableOptions);
return result.toPromise();
}
@ -206,18 +118,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetByIdWithHttpInfo(petId, observableOptions);
return result.toPromise();
}
@ -228,18 +129,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetById(petId: number, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetById(petId, observableOptions);
return result.toPromise();
}
@ -250,18 +140,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -272,18 +151,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePet(pet, observableOptions);
return result.toPromise();
}
@ -296,18 +164,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithFormWithHttpInfo(petId, name, status, observableOptions);
return result.toPromise();
}
@ -320,18 +177,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithForm(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithForm(petId, name, status, observableOptions);
return result.toPromise();
}
@ -344,18 +190,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<HttpInfo<ApiResponse>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFileWithHttpInfo(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -368,18 +203,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFile(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<ApiResponse> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFile(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -409,18 +233,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrderWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -431,18 +244,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder(orderId: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrder(orderId, observableOptions);
return result.toPromise();
}
@ -452,18 +254,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<{ [key: string]: number; }>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventoryWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -473,18 +264,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventory(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: number; }> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventory(observableOptions);
return result.toPromise();
}
@ -495,18 +275,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderByIdWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -517,18 +286,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById(orderId: number, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderById(orderId, observableOptions);
return result.toPromise();
}
@ -539,18 +297,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrderWithHttpInfo(order, observableOptions);
return result.toPromise();
}
@ -561,18 +308,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrder(order: Order, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrder(order, observableOptions);
return result.toPromise();
}
@ -602,18 +338,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUserWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -624,18 +349,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUser(user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUser(user, observableOptions);
return result.toPromise();
}
@ -646,18 +360,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -668,18 +371,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInput(user, observableOptions);
return result.toPromise();
}
@ -690,18 +382,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -712,18 +393,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInput(user, observableOptions);
return result.toPromise();
}
@ -734,18 +404,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUserWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -756,18 +415,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUser(username: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUser(username, observableOptions);
return result.toPromise();
}
@ -778,18 +426,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<User>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByNameWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -800,18 +437,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName(username: string, _options?: PromiseConfigurationOptions): Promise<User> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByName(username, observableOptions);
return result.toPromise();
}
@ -823,18 +449,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<string>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUserWithHttpInfo(username, password, observableOptions);
return result.toPromise();
}
@ -846,18 +461,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUser(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<string> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUser(username, password, observableOptions);
return result.toPromise();
}
@ -867,18 +471,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUserWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -888,18 +481,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUser(_options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUser(observableOptions);
return result.toPromise();
}
@ -911,18 +493,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUserWithHttpInfo(username, user, observableOptions);
return result.toPromise();
}
@ -934,18 +505,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUser(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUser(username, user, observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,31 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: Configuration): Configuration {
if (options) {
conf = options;
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration } from '../configuration'
import { Configuration, mergeConfiguration } from '../configuration'
import type { Middleware } from '../middleware';
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';
@ -37,24 +37,19 @@ export class ObservablePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: Configuration): Observable<HttpInfo<Pet>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.addPet(pet, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.addPetWithHttpInfo(rsp)));
@ -77,24 +72,19 @@ export class ObservablePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.deletePet(petId, apiKey, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deletePetWithHttpInfo(rsp)));
@ -117,24 +107,19 @@ export class ObservablePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: Configuration): Observable<HttpInfo<Array<Pet>>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.findPetsByStatus(status, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.findPetsByStatusWithHttpInfo(rsp)));
@ -156,24 +141,19 @@ export class ObservablePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: Configuration): Observable<HttpInfo<Array<Pet>>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.findPetsByTags(tags, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.findPetsByTagsWithHttpInfo(rsp)));
@ -195,24 +175,19 @@ export class ObservablePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: Configuration): Observable<HttpInfo<Pet>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.getPetById(petId, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getPetByIdWithHttpInfo(rsp)));
@ -234,24 +209,19 @@ export class ObservablePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: Configuration): Observable<HttpInfo<Pet>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.updatePet(pet, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updatePetWithHttpInfo(rsp)));
@ -275,24 +245,19 @@ export class ObservablePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.updatePetWithForm(petId, name, status, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updatePetWithFormWithHttpInfo(rsp)));
@ -318,24 +283,19 @@ export class ObservablePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: Configuration): Observable<HttpInfo<ApiResponse>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.uploadFile(petId, additionalMetadata, file, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.uploadFileWithHttpInfo(rsp)));
@ -380,24 +340,19 @@ export class ObservableStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.deleteOrder(orderId, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deleteOrderWithHttpInfo(rsp)));
@ -418,24 +373,19 @@ export class ObservableStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: Configuration): Observable<HttpInfo<{ [key: string]: number; }>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.getInventory(_options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getInventoryWithHttpInfo(rsp)));
@ -456,24 +406,19 @@ export class ObservableStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: Configuration): Observable<HttpInfo<Order>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.getOrderById(orderId, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getOrderByIdWithHttpInfo(rsp)));
@ -495,24 +440,19 @@ export class ObservableStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: Configuration): Observable<HttpInfo<Order>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.placeOrder(order, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.placeOrderWithHttpInfo(rsp)));
@ -555,24 +495,19 @@ export class ObservableUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.createUser(user, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createUserWithHttpInfo(rsp)));
@ -594,24 +529,19 @@ export class ObservableUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.createUsersWithArrayInput(user, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createUsersWithArrayInputWithHttpInfo(rsp)));
@ -633,24 +563,19 @@ export class ObservableUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.createUsersWithListInput(user, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.createUsersWithListInputWithHttpInfo(rsp)));
@ -672,24 +597,19 @@ export class ObservableUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.deleteUser(username, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.deleteUserWithHttpInfo(rsp)));
@ -711,24 +631,19 @@ export class ObservableUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: Configuration): Observable<HttpInfo<User>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.getUserByName(username, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.getUserByNameWithHttpInfo(rsp)));
@ -751,24 +666,19 @@ export class ObservableUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: Configuration): Observable<HttpInfo<string>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.loginUser(username, password, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.loginUserWithHttpInfo(rsp)));
@ -790,24 +700,19 @@ export class ObservableUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.logoutUser(_options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.logoutUserWithHttpInfo(rsp)));
@ -829,24 +734,19 @@ export class ObservableUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: Configuration): Observable<HttpInfo<void>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options){
_config = _options;
}
allMiddleware = _config?.middleware;
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.updateUser(username, user, _options);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.updateUserWithHttpInfo(rsp)));

View File

@ -32,7 +32,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: Configuration): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.addPetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -43,7 +43,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPet(pet: Pet, _options?: Configuration): Promise<Pet> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.addPet(pet, observableOptions);
return result.toPromise();
}
@ -55,7 +55,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.deletePetWithHttpInfo(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -67,7 +67,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePet(petId: number, apiKey?: string, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.deletePet(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -78,7 +78,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: Configuration): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.findPetsByStatusWithHttpInfo(status, observableOptions);
return result.toPromise();
}
@ -89,7 +89,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, _options?: Configuration): Promise<Array<Pet>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.findPetsByStatus(status, observableOptions);
return result.toPromise();
}
@ -100,7 +100,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: Configuration): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.findPetsByTagsWithHttpInfo(tags, observableOptions);
return result.toPromise();
}
@ -111,7 +111,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTags(tags: Array<string>, _options?: Configuration): Promise<Array<Pet>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.findPetsByTags(tags, observableOptions);
return result.toPromise();
}
@ -122,7 +122,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: Configuration): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getPetByIdWithHttpInfo(petId, observableOptions);
return result.toPromise();
}
@ -133,7 +133,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetById(petId: number, _options?: Configuration): Promise<Pet> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getPetById(petId, observableOptions);
return result.toPromise();
}
@ -144,7 +144,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: Configuration): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.updatePetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -155,7 +155,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePet(pet: Pet, _options?: Configuration): Promise<Pet> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.updatePet(pet, observableOptions);
return result.toPromise();
}
@ -168,7 +168,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.updatePetWithFormWithHttpInfo(petId, name, status, observableOptions);
return result.toPromise();
}
@ -181,7 +181,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithForm(petId: number, name?: string, status?: string, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.updatePetWithForm(petId, name, status, observableOptions);
return result.toPromise();
}
@ -194,7 +194,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: Configuration): Promise<HttpInfo<ApiResponse>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.uploadFileWithHttpInfo(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -207,7 +207,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFile(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: Configuration): Promise<ApiResponse> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.uploadFile(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -240,7 +240,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.deleteOrderWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -251,7 +251,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder(orderId: string, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.deleteOrder(orderId, observableOptions);
return result.toPromise();
}
@ -261,7 +261,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: Configuration): Promise<HttpInfo<{ [key: string]: number; }>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getInventoryWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -271,7 +271,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventory(_options?: Configuration): Promise<{ [key: string]: number; }> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getInventory(observableOptions);
return result.toPromise();
}
@ -282,7 +282,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: Configuration): Promise<HttpInfo<Order>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getOrderByIdWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -293,7 +293,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById(orderId: number, _options?: Configuration): Promise<Order> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getOrderById(orderId, observableOptions);
return result.toPromise();
}
@ -304,7 +304,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: Configuration): Promise<HttpInfo<Order>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.placeOrderWithHttpInfo(order, observableOptions);
return result.toPromise();
}
@ -315,7 +315,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrder(order: Order, _options?: Configuration): Promise<Order> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.placeOrder(order, observableOptions);
return result.toPromise();
}
@ -348,7 +348,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.createUserWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -359,7 +359,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUser(user: User, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.createUser(user, observableOptions);
return result.toPromise();
}
@ -370,7 +370,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.createUsersWithArrayInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -381,7 +381,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInput(user: Array<User>, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.createUsersWithArrayInput(user, observableOptions);
return result.toPromise();
}
@ -392,7 +392,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.createUsersWithListInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -403,7 +403,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInput(user: Array<User>, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.createUsersWithListInput(user, observableOptions);
return result.toPromise();
}
@ -414,7 +414,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.deleteUserWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -425,7 +425,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUser(username: string, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.deleteUser(username, observableOptions);
return result.toPromise();
}
@ -436,7 +436,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: Configuration): Promise<HttpInfo<User>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getUserByNameWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -447,7 +447,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName(username: string, _options?: Configuration): Promise<User> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.getUserByName(username, observableOptions);
return result.toPromise();
}
@ -459,7 +459,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: Configuration): Promise<HttpInfo<string>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.loginUserWithHttpInfo(username, password, observableOptions);
return result.toPromise();
}
@ -471,7 +471,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUser(username: string, password: string, _options?: Configuration): Promise<string> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.loginUser(username, password, observableOptions);
return result.toPromise();
}
@ -481,7 +481,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.logoutUserWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -491,7 +491,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUser(_options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.logoutUser(observableOptions);
return result.toPromise();
}
@ -503,7 +503,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: Configuration): Promise<HttpInfo<void>> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.updateUserWithHttpInfo(username, user, observableOptions);
return result.toPromise();
}
@ -515,7 +515,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUser(username: string, user: User, _options?: Configuration): Promise<void> {
let observableOptions: undefined | Configuration = _options
const observableOptions = _options;
const result = this.api.updateUser(username, user, observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -11,11 +11,9 @@
"dependencies": {
"@types/jquery": "^3.3.29",
"es6-promise": "^4.2.4",
"jquery": "^3.4.1",
"url-parse": "^1.4.3"
"jquery": "^3.4.1"
},
"devDependencies": {
"@types/url-parse": "1.4.4",
"typescript": "^4.0"
}
},
@ -32,12 +30,6 @@
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz",
"integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg=="
},
"node_modules/@types/url-parse": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.4.tgz",
"integrity": "sha512-KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q==",
"dev": true
},
"node_modules/es6-promise": {
"version": "4.2.6",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
@ -48,16 +40,6 @@
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
"integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
},
"node_modules/querystringify": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
@ -70,15 +52,6 @@
"engines": {
"node": ">=4.2.0"
}
},
"node_modules/url-parse": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
}
},
"dependencies": {
@ -95,12 +68,6 @@
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz",
"integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg=="
},
"@types/url-parse": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.4.tgz",
"integrity": "sha512-KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q==",
"dev": true
},
"es6-promise": {
"version": "4.2.6",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
@ -111,30 +78,11 @@
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
"integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
},
"querystringify": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true
},
"url-parse": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
}
}
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { ApiResponse } from '../models/ApiResponse';
@ -28,18 +28,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -50,18 +39,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPet(pet, observableOptions);
return result.toPromise();
}
@ -73,18 +51,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePetWithHttpInfo(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -96,18 +63,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePet(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePet(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -118,18 +74,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatusWithHttpInfo(status, observableOptions);
return result.toPromise();
}
@ -140,18 +85,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatus(status, observableOptions);
return result.toPromise();
}
@ -162,18 +96,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTagsWithHttpInfo(tags, observableOptions);
return result.toPromise();
}
@ -184,18 +107,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTags(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTags(tags, observableOptions);
return result.toPromise();
}
@ -206,18 +118,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetByIdWithHttpInfo(petId, observableOptions);
return result.toPromise();
}
@ -228,18 +129,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetById(petId: number, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetById(petId, observableOptions);
return result.toPromise();
}
@ -250,18 +140,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -272,18 +151,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePet(pet, observableOptions);
return result.toPromise();
}
@ -296,18 +164,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithFormWithHttpInfo(petId, name, status, observableOptions);
return result.toPromise();
}
@ -320,18 +177,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithForm(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithForm(petId, name, status, observableOptions);
return result.toPromise();
}
@ -344,18 +190,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<HttpInfo<ApiResponse>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFileWithHttpInfo(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -368,18 +203,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFile(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<ApiResponse> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFile(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -409,18 +233,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrderWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -431,18 +244,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder(orderId: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrder(orderId, observableOptions);
return result.toPromise();
}
@ -452,18 +254,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<{ [key: string]: number; }>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventoryWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -473,18 +264,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventory(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: number; }> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventory(observableOptions);
return result.toPromise();
}
@ -495,18 +275,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderByIdWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -517,18 +286,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById(orderId: number, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderById(orderId, observableOptions);
return result.toPromise();
}
@ -539,18 +297,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrderWithHttpInfo(order, observableOptions);
return result.toPromise();
}
@ -561,18 +308,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrder(order: Order, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrder(order, observableOptions);
return result.toPromise();
}
@ -602,18 +338,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUserWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -624,18 +349,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUser(user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUser(user, observableOptions);
return result.toPromise();
}
@ -646,18 +360,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -668,18 +371,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInput(user, observableOptions);
return result.toPromise();
}
@ -690,18 +382,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -712,18 +393,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInput(user, observableOptions);
return result.toPromise();
}
@ -734,18 +404,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUserWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -756,18 +415,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUser(username: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUser(username, observableOptions);
return result.toPromise();
}
@ -778,18 +426,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<User>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByNameWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -800,18 +437,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName(username: string, _options?: PromiseConfigurationOptions): Promise<User> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByName(username, observableOptions);
return result.toPromise();
}
@ -823,18 +449,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<string>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUserWithHttpInfo(username, password, observableOptions);
return result.toPromise();
}
@ -846,18 +461,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUser(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<string> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUser(username, password, observableOptions);
return result.toPromise();
}
@ -867,18 +471,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUserWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -888,18 +481,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUser(_options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUser(observableOptions);
return result.toPromise();
}
@ -911,18 +493,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUserWithHttpInfo(username, user, observableOptions);
return result.toPromise();
}
@ -934,18 +505,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUser(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUser(username, user, observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions } from '../configuration'
import { Configuration, ConfigurationOptions, mergeConfiguration } from '../configuration'
import type { Middleware } from '../middleware';
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';
@ -24,47 +24,19 @@ export class ObservableDefaultApi {
/**
*/
public uniqueItemsWithHttpInfo(_options?: ConfigurationOptions): Observable<HttpInfo<Response>> {
let _config = this.configuration;
let allMiddleware: Middleware[] = [];
if (_options && _options.middleware){
const middlewareMergeStrategy = _options.middlewareMergeStrategy || 'replace' // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = _options.middleware;
switch(middlewareMergeStrategy){
case 'append':
allMiddleware = this.configuration.middleware.concat(calltimeMiddleware);
break;
case 'prepend':
allMiddleware = calltimeMiddleware.concat(this.configuration.middleware)
break;
case 'replace':
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`)
}
}
if (_options){
_config = {
baseServer: _options.baseServer || this.configuration.baseServer,
httpApi: _options.httpApi || this.configuration.httpApi,
authMethods: _options.authMethods || this.configuration.authMethods,
middleware: allMiddleware || this.configuration.middleware
};
}
const _config = mergeConfiguration(this.configuration, _options);
const requestContextPromise = this.requestFactory.uniqueItems(_config);
// build promise chain
let middlewarePreObservable = from<RequestContext>(requestContextPromise);
for (const middleware of allMiddleware) {
for (const middleware of _config.middleware) {
middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx)));
}
return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))).
pipe(mergeMap((response: ResponseContext) => {
let middlewarePostObservable = of(response);
for (const middleware of allMiddleware.reverse()) {
for (const middleware of _config.middleware.reverse()) {
middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp)));
}
return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.uniqueItemsWithHttpInfo(rsp)));

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { Response } from '../models/Response';
@ -20,18 +20,7 @@ export class PromiseDefaultApi {
/**
*/
public uniqueItemsWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<Response>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uniqueItemsWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -39,18 +28,7 @@ export class PromiseDefaultApi {
/**
*/
public uniqueItems(_options?: PromiseConfigurationOptions): Promise<Response> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uniqueItems(observableOptions);
return result.toPromise();
}

View File

@ -29,36 +29,36 @@ export type PromiseConfigurationOptions = ConfigurationOptions<PromiseMiddleware
*/
export interface ConfigurationParameters {
/**
* Default server to use - a list of available servers (according to the
* Default server to use - a list of available servers (according to the
* OpenAPI yaml definition) is included in the `servers` const in `./servers`. You can also
* create your own server with the `ServerConfiguration` class from the same
* create your own server with the `ServerConfiguration` class from the same
* file.
*/
baseServer?: BaseServerConfiguration;
/**
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* HTTP library to use e.g. IsomorphicFetch. This can usually be skipped as
* all generators come with a default library.
* If available, additional libraries can be imported from `./http/*`
*/
httpApi?: HttpLibrary;
/**
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* The middlewares which will be applied to requests and responses. You can
* add any number of middleware components to modify requests before they
* are sent or before they are deserialized by implementing the `Middleware`
* interface defined in `./middleware`
*/
middleware?: Middleware[];
/**
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* Configures middleware functions that return promises instead of
* Observables (which are used by `middleware`). Otherwise allows for the
* same functionality as `middleware`, i.e., modifying requests before they
* are sent and before they are deserialized.
*/
promiseMiddleware?: PromiseMiddleware[];
/**
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* Configuration for the available authentication methods (e.g., api keys)
* according to the OpenAPI yaml definition. For the definition, please refer to
* `./auth/auth`
*/
authMethods?: AuthMethodsConfiguration
@ -66,7 +66,7 @@ export interface ConfigurationParameters {
/**
* Provide your `ConfigurationParameters` to this function to get a `Configuration`
* object that can be used to configure your APIs (in the constructor or
* object that can be used to configure your APIs (in the constructor or
* for each request individually).
*
* If a property is not included in conf, a default is used:
@ -92,3 +92,56 @@ export function createConfiguration(conf: ConfigurationParameters = {}): Configu
}
return configuration;
}
/**
* Merge configuration options into a configuration.
*/
export function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration {
let allMiddleware: Middleware[] = [];
if (options && options.middleware) {
const middlewareMergeStrategy = options.middlewareMergeStrategy || "replace" // default to replace behavior
// call-time middleware provided
const calltimeMiddleware: Middleware[] = options.middleware;
switch(middlewareMergeStrategy) {
case "append":
allMiddleware = conf.middleware.concat(calltimeMiddleware);
break;
case "prepend":
allMiddleware = calltimeMiddleware.concat(conf.middleware)
break;
case "replace":
allMiddleware = calltimeMiddleware
break;
default:
throw new Error(`unrecognized middleware merge strategy '${middlewareMergeStrategy}'`);
}
}
if (options) {
conf = {
baseServer: options.baseServer || conf.baseServer,
httpApi: options.httpApi || conf.httpApi,
authMethods: options.authMethods || conf.authMethods,
middleware: allMiddleware || conf.middleware
};
}
return conf;
}
/**
* Convert Promise-based configuration options to Observable-based configuration options.
*/
export function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined {
if (options) {
return {
baseServer: options.baseServer,
httpApi: options.httpApi,
middleware: options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: options.middlewareMergeStrategy,
authMethods: options.authMethods,
};
}
return;
}

View File

@ -13,11 +13,9 @@
"@types/node-fetch": "^2.5.7",
"es6-promise": "^4.2.4",
"form-data": "^2.5.0",
"node-fetch": "^2.6.0",
"url-parse": "^1.4.3"
"node-fetch": "^2.6.0"
},
"devDependencies": {
"@types/url-parse": "1.4.4",
"typescript": "^4.0"
}
},
@ -48,12 +46,6 @@
"node": ">= 6"
}
},
"node_modules/@types/url-parse": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.4.tgz",
"integrity": "sha512-KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q==",
"dev": true
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@ -123,16 +115,6 @@
"node": "4.x || >=6.0.0"
}
},
"node_modules/querystringify": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
@ -145,15 +127,6 @@
"engines": {
"node": ">=4.2.0"
}
},
"node_modules/url-parse": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
}
},
"dependencies": {
@ -183,12 +156,6 @@
}
}
},
"@types/url-parse": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.4.tgz",
"integrity": "sha512-KtQLad12+4T/NfSxpoDhmr22+fig3T7/08QCgmutYA6QSznSRmEtuL95GrhVV40/0otTEdFc+etRcCTqhh1q5Q==",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@ -240,30 +207,11 @@
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
},
"querystringify": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true
},
"url-parse": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
}
}
}

View File

@ -1,5 +1,5 @@
import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/http';
import { Configuration, ConfigurationOptions, PromiseConfigurationOptions } from '../configuration'
import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration'
import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware';
import { ApiResponse } from '../models/ApiResponse';
@ -28,18 +28,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -50,18 +39,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public addPet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.addPet(pet, observableOptions);
return result.toPromise();
}
@ -73,18 +51,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePetWithHttpInfo(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePetWithHttpInfo(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -96,18 +63,7 @@ export class PromisePetApi {
* @param [apiKey]
*/
public deletePet(petId: number, apiKey?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deletePet(petId, apiKey, observableOptions);
return result.toPromise();
}
@ -118,18 +74,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatusWithHttpInfo(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatusWithHttpInfo(status, observableOptions);
return result.toPromise();
}
@ -140,18 +85,7 @@ export class PromisePetApi {
* @param status Status values that need to be considered for filter
*/
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByStatus(status, observableOptions);
return result.toPromise();
}
@ -162,18 +96,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTagsWithHttpInfo(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Array<Pet>>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTagsWithHttpInfo(tags, observableOptions);
return result.toPromise();
}
@ -184,18 +107,7 @@ export class PromisePetApi {
* @param tags Tags to filter by
*/
public findPetsByTags(tags: Array<string>, _options?: PromiseConfigurationOptions): Promise<Array<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.findPetsByTags(tags, observableOptions);
return result.toPromise();
}
@ -206,18 +118,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetByIdWithHttpInfo(petId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetByIdWithHttpInfo(petId, observableOptions);
return result.toPromise();
}
@ -228,18 +129,7 @@ export class PromisePetApi {
* @param petId ID of pet to return
*/
public getPetById(petId: number, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getPetById(petId, observableOptions);
return result.toPromise();
}
@ -250,18 +140,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePetWithHttpInfo(pet: Pet, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Pet>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithHttpInfo(pet, observableOptions);
return result.toPromise();
}
@ -272,18 +151,7 @@ export class PromisePetApi {
* @param pet Pet object that needs to be added to the store
*/
public updatePet(pet: Pet, _options?: PromiseConfigurationOptions): Promise<Pet> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePet(pet, observableOptions);
return result.toPromise();
}
@ -296,18 +164,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithFormWithHttpInfo(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithFormWithHttpInfo(petId, name, status, observableOptions);
return result.toPromise();
}
@ -320,18 +177,7 @@ export class PromisePetApi {
* @param [status] Updated status of the pet
*/
public updatePetWithForm(petId: number, name?: string, status?: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updatePetWithForm(petId, name, status, observableOptions);
return result.toPromise();
}
@ -344,18 +190,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFileWithHttpInfo(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<HttpInfo<ApiResponse>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFileWithHttpInfo(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -368,18 +203,7 @@ export class PromisePetApi {
* @param [file] file to upload
*/
public uploadFile(petId: number, additionalMetadata?: string, file?: HttpFile, _options?: PromiseConfigurationOptions): Promise<ApiResponse> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.uploadFile(petId, additionalMetadata, file, observableOptions);
return result.toPromise();
}
@ -409,18 +233,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrderWithHttpInfo(orderId: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrderWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -431,18 +244,7 @@ export class PromiseStoreApi {
* @param orderId ID of the order that needs to be deleted
*/
public deleteOrder(orderId: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteOrder(orderId, observableOptions);
return result.toPromise();
}
@ -452,18 +254,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventoryWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<{ [key: string]: number; }>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventoryWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -473,18 +264,7 @@ export class PromiseStoreApi {
* Returns pet inventories by status
*/
public getInventory(_options?: PromiseConfigurationOptions): Promise<{ [key: string]: number; }> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getInventory(observableOptions);
return result.toPromise();
}
@ -495,18 +275,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderByIdWithHttpInfo(orderId: number, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderByIdWithHttpInfo(orderId, observableOptions);
return result.toPromise();
}
@ -517,18 +286,7 @@ export class PromiseStoreApi {
* @param orderId ID of pet that needs to be fetched
*/
public getOrderById(orderId: number, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getOrderById(orderId, observableOptions);
return result.toPromise();
}
@ -539,18 +297,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrderWithHttpInfo(order: Order, _options?: PromiseConfigurationOptions): Promise<HttpInfo<Order>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrderWithHttpInfo(order, observableOptions);
return result.toPromise();
}
@ -561,18 +308,7 @@ export class PromiseStoreApi {
* @param order order placed for purchasing the pet
*/
public placeOrder(order: Order, _options?: PromiseConfigurationOptions): Promise<Order> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.placeOrder(order, observableOptions);
return result.toPromise();
}
@ -602,18 +338,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUserWithHttpInfo(user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUserWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -624,18 +349,7 @@ export class PromiseUserApi {
* @param user Created user object
*/
public createUser(user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUser(user, observableOptions);
return result.toPromise();
}
@ -646,18 +360,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -668,18 +371,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithArrayInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithArrayInput(user, observableOptions);
return result.toPromise();
}
@ -690,18 +382,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInputWithHttpInfo(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInputWithHttpInfo(user, observableOptions);
return result.toPromise();
}
@ -712,18 +393,7 @@ export class PromiseUserApi {
* @param user List of user object
*/
public createUsersWithListInput(user: Array<User>, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.createUsersWithListInput(user, observableOptions);
return result.toPromise();
}
@ -734,18 +404,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUserWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUserWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -756,18 +415,7 @@ export class PromiseUserApi {
* @param username The name that needs to be deleted
*/
public deleteUser(username: string, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.deleteUser(username, observableOptions);
return result.toPromise();
}
@ -778,18 +426,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByNameWithHttpInfo(username: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<User>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByNameWithHttpInfo(username, observableOptions);
return result.toPromise();
}
@ -800,18 +437,7 @@ export class PromiseUserApi {
* @param username The name that needs to be fetched. Use user1 for testing.
*/
public getUserByName(username: string, _options?: PromiseConfigurationOptions): Promise<User> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.getUserByName(username, observableOptions);
return result.toPromise();
}
@ -823,18 +449,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUserWithHttpInfo(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<HttpInfo<string>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUserWithHttpInfo(username, password, observableOptions);
return result.toPromise();
}
@ -846,18 +461,7 @@ export class PromiseUserApi {
* @param password The password for login in clear text
*/
public loginUser(username: string, password: string, _options?: PromiseConfigurationOptions): Promise<string> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.loginUser(username, password, observableOptions);
return result.toPromise();
}
@ -867,18 +471,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUserWithHttpInfo(_options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUserWithHttpInfo(observableOptions);
return result.toPromise();
}
@ -888,18 +481,7 @@ export class PromiseUserApi {
* Logs out current logged in user session
*/
public logoutUser(_options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.logoutUser(observableOptions);
return result.toPromise();
}
@ -911,18 +493,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUserWithHttpInfo(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<HttpInfo<void>> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUserWithHttpInfo(username, user, observableOptions);
return result.toPromise();
}
@ -934,18 +505,7 @@ export class PromiseUserApi {
* @param user Updated user object
*/
public updateUser(username: string, user: User, _options?: PromiseConfigurationOptions): Promise<void> {
let observableOptions: undefined | ConfigurationOptions
if (_options){
observableOptions = {
baseServer: _options.baseServer,
httpApi: _options.httpApi,
middleware: _options.middleware?.map(
m => new PromiseMiddlewareWrapper(m)
),
middlewareMergeStrategy: _options.middlewareMergeStrategy,
authMethods: _options.authMethods
}
}
const observableOptions = wrapOptions(_options);
const result = this.api.updateUser(username, user, observableOptions);
return result.toPromise();
}

View File

@ -24,11 +24,9 @@
"license": "Unlicense",
"dependencies": {
"es6-promise": "^4.2.4",
"url-parse": "^1.4.3",
"whatwg-fetch": "^3.0.0"
},
"devDependencies": {
"@types/url-parse": "1.4.4",
"typescript": "^4.0"
}
},
@ -5790,10 +5788,8 @@
"ts-petstore-client": {
"version": "file:../../builds/browser",
"requires": {
"@types/url-parse": "1.4.4",
"es6-promise": "^4.2.4",
"typescript": "^4.0",
"url-parse": "^1.4.3",
"whatwg-fetch": "^3.0.0"
}
},

File diff suppressed because it is too large Load Diff

View File

@ -17,9 +17,8 @@
"@types/mocha": "^2.2.41",
"@types/node": "^20",
"chai": "^4.1.0",
"mocha": "^11.0.1",
"ts-loader": "^2.3.0",
"typescript": "^4"
"mocha": "^5.2.0",
"typescript": "^4.0.0"
},
"name": "typescript-test",
"version": "1.0.0",

View File

@ -13,219 +13,218 @@ tag.id = Math.floor(Math.random() * 100000)
let pet: petstore.Pet;
function overridePetIDMiddleware(id: number): Middleware {
return {
pre: (c: RequestContext) => {
return new Promise((resolve) => {
const segments = c.getUrl().split('/')
segments[segments.length - 1] = id.toString()
const newURL = segments.join('/')
c.setUrl(newURL)
resolve(c)
})
},
post: (c: ResponseContext) => {
return new Promise<ResponseContext>((resolve) => {
resolve(c)
})
},
}
return {
pre: (c: RequestContext) => {
return new Promise((resolve) => {
const segments = c.getUrl().split('/')
segments[segments.length - 1] = id.toString()
const newURL = segments.join('/')
c.setUrl(newURL)
resolve(c)
})
},
post: (c: ResponseContext) => {
return new Promise<ResponseContext>((resolve) => {
resolve(c)
})
},
}
}
function NoopMiddleware(onPre: () => void, onPost: () => void): Middleware {
return {
pre: (c: RequestContext) => {
return new Promise((resolve) => {
onPre()
resolve(c)
})
},
post: (c: ResponseContext) => {
return new Promise<ResponseContext>((resolve) => {
onPost()
resolve(c)
})
},
}
return {
pre: (c: RequestContext) => {
return new Promise((resolve) => {
onPre()
resolve(c)
})
},
post: (c: ResponseContext) => {
return new Promise<ResponseContext>((resolve) => {
onPost()
resolve(c)
})
},
}
}
function MiddlewareCallTracker() {
let CallOrder = [] as string[]
return {
CallOrder,
BaseMiddleware: NoopMiddleware(() => CallOrder.push('base-pre'), () => CallOrder.push('base-post')),
CalltimeMiddleware: NoopMiddleware(() => CallOrder.push('call-pre'), () => CallOrder.push('call-post'))
}
let CallOrder = [] as string[]
return {
CallOrder,
BaseMiddleware: NoopMiddleware(() => CallOrder.push('base-pre'), () => CallOrder.push('base-post')),
CalltimeMiddleware: NoopMiddleware(() => CallOrder.push('call-pre'), () => CallOrder.push('call-post'))
}
}
describe("PetApi", () => {
beforeEach(async () => {
pet = new petstore.Pet()
pet.id = Math.floor(Math.random() * 100000)
pet.name = "PetName"
pet.photoUrls = []
pet.status = petstore.PetStatusEnum.Available
pet.tags = [tag]
beforeEach(async () => {
pet = new petstore.Pet()
pet.id = Math.floor(Math.random() * 100000)
pet.name = "PetName"
pet.photoUrls = []
pet.status = petstore.PetStatusEnum.Available
pet.tags = [tag]
await petApi.addPet(pet);
});
await petApi.addPet(pet);
});
it("addPet", async () => {
const createdPet = await petApi.getPetById(pet.id)
expect(createdPet).to.deep.equal(pet);
})
it("addPet", async () => {
const createdPet = await petApi.getPetById(pet.id)
expect(createdPet).to.deep.equal(pet);
})
it("addPetViaMiddleware", async () => {
const wrongId = pet.id + 1
const createdPet = await petApi.getPetById(wrongId, { middleware: [overridePetIDMiddleware(pet.id)] })
expect(createdPet).to.deep.equal(pet);
})
it("addPetViaMiddleware", async () => {
const wrongId = pet.id + 1
const createdPet = await petApi.getPetById(wrongId, { middleware: [overridePetIDMiddleware(pet.id)] })
expect(createdPet).to.deep.equal(pet);
})
it("appendMiddleware petid", async () => {
const wrongId = pet.id + 100
const configuration = petstore.createConfiguration({ promiseMiddleware: [overridePetIDMiddleware(wrongId)] })
const petApi = new petstore.PetApi(configuration)
let overridenWrongPet;
try {
overridenWrongPet = await petApi.getPetById(pet.id)
} catch (err) {
expect(err.code).to.equal(404);
expect(err.message).to.include("Pet not found");
}
const callTimeAppendedRightPet = await petApi.getPetById(wrongId, { middleware: [overridePetIDMiddleware(pet.id)], middlewareMergeStrategy: 'append' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
})
it("appendMiddleware petid", async () => {
const wrongId = pet.id + 100
const configuration = petstore.createConfiguration({ promiseMiddleware: [overridePetIDMiddleware(wrongId)] })
const petApi = new petstore.PetApi(configuration)
try {
void await petApi.getPetById(pet.id)
} catch (err) {
expect(err.code).to.equal(404);
expect(err.message).to.include("Pet not found");
}
const callTimeAppendedRightPet = await petApi.getPetById(wrongId, { middleware: [overridePetIDMiddleware(pet.id)], middlewareMergeStrategy: 'append' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
})
it("appendMiddleware call order", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(pet.id, { middleware: [CalltimeMiddleware], middlewareMergeStrategy: 'append' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.eq([ 'base-pre','call-pre', 'call-post', 'base-post'])
})
it("should keep middleware when no options are given", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] });
const petApi = new petstore.PetApi(configuration);
const callTimeAppendedRightPet = await petApi.getPetById(pet.id);
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.equal(['base-pre', 'base-post'])
})
it("replace Middleware call order", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(pet.id, { middleware: [CalltimeMiddleware] })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.equal(['call-pre', 'call-post'])
})
it("replace Middleware call order", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(pet.id, { middleware: [CalltimeMiddleware] })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.equal(['call-pre', 'call-post'])
})
it("prepend Middleware call order", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(pet.id, { middleware: [CalltimeMiddleware], middlewareMergeStrategy: 'prepend' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.equal(['call-pre', 'base-pre', 'base-post','call-post'])
})
it("prepend Middleware call order", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(pet.id, { middleware: [CalltimeMiddleware], middlewareMergeStrategy: 'prepend' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.equal(['call-pre', 'base-pre', 'base-post','call-post'])
})
it("append Middleware call order", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(pet.id, { middleware: [CalltimeMiddleware],middlewareMergeStrategy: 'append' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.equal(['base-pre','call-pre','call-post','base-post'])
})
it("append Middleware call order", async () => {
let { CallOrder, BaseMiddleware, CalltimeMiddleware } = MiddlewareCallTracker()
const configuration = petstore.createConfiguration({ promiseMiddleware: [BaseMiddleware] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(pet.id, { middleware: [CalltimeMiddleware],middlewareMergeStrategy: 'append' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
expect(CallOrder).deep.equal(['base-pre','call-pre','call-post','base-post'])
})
it("prependMiddleware pet id", async () => {
const wrongId = pet.id + 100
const configuration = petstore.createConfiguration({ promiseMiddleware: [overridePetIDMiddleware(pet.id)] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(wrongId, { middleware: [overridePetIDMiddleware(wrongId)], middlewareMergeStrategy: 'prepend' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
})
it("prependMiddleware pet id", async () => {
const wrongId = pet.id + 100
const configuration = petstore.createConfiguration({ promiseMiddleware: [overridePetIDMiddleware(pet.id)] })
const petApi = new petstore.PetApi(configuration)
const callTimeAppendedRightPet = await petApi.getPetById(wrongId, { middleware: [overridePetIDMiddleware(wrongId)], middlewareMergeStrategy: 'prepend' })
expect(callTimeAppendedRightPet).to.deep.equal(pet);
})
it("deletePet", async () => {
await petApi.deletePet(pet.id);
let deletedPet;
try {
deletedPet = await petApi.getPetById(pet.id)
} catch (err) {
expect(err.code).to.equal(404);
expect(err.message).to.include("Pet not found");
return;
}
throw new Error("Pet with id " + deletedPet.id + " was not deleted!");
})
it("deletePet", async () => {
await petApi.deletePet(pet.id);
let deletedPet;
try {
deletedPet = await petApi.getPetById(pet.id)
} catch (err) {
expect(err.code).to.equal(404);
expect(err.message).to.include("Pet not found");
return;
}
throw new Error("Pet with id " + deletedPet.id + " was not deleted!");
})
it("deleteNonExistentPet", async () => {
// Use an id that is too big for the server to handle.
const nonExistentId = 100000000000000000000000000;
try {
await petApi.deletePet(nonExistentId)
} catch (err) {
// The 404 response for this endpoint is officially documented, but
// that documentation is not used for generating the client code.
// That means we get an error about the response being undefined
// here.
expect(err.code).to.equal(404);
expect(err.message).to.include("Unknown API Status Code");
expect(err.body).to.include("404");
expect(err.body).to.include("message");
return;
}
throw new Error("Deleted non-existent pet with id " + nonExistentId + "!");
})
it("deleteNonExistentPet", async () => {
// Use an id that is too big for the server to handle.
const nonExistentId = 100000000000000000000000000;
try {
await petApi.deletePet(nonExistentId)
} catch (err) {
// The 404 response for this endpoint is officially documented, but
// that documentation is not used for generating the client code.
// That means we get an error about the response being undefined
// here.
expect(err.code).to.equal(404);
expect(err.message).to.include("Unknown API Status Code");
expect(err.body).to.include("404");
expect(err.body).to.include("message");
return;
}
throw new Error("Deleted non-existent pet with id " + nonExistentId + "!");
})
it("failRunTimeRequiredParameterCheck", async () => {
try {
await petApi.deletePet(null)
} catch (err) {
expect(err.api).to.equal("PetApi");
expect(err.message).to.include("PetApi");
expect(err.method).to.equal("deletePet");
expect(err.message).to.include("deletePet");
expect(err.field).to.equal("petId");
expect(err.message).to.include("petId");
return;
}
throw new Error("Accepted missing parameter!");
})
it("failRunTimeRequiredParameterCheck", async () => {
try {
await petApi.deletePet(null)
} catch (err) {
expect(err.api).to.equal("PetApi");
expect(err.message).to.include("PetApi");
expect(err.method).to.equal("deletePet");
expect(err.message).to.include("deletePet");
expect(err.field).to.equal("petId");
expect(err.message).to.include("petId");
return;
}
throw new Error("Accepted missing parameter!");
})
it("findPetsByStatus", async () => {
const pets = await petApi.findPetsByStatus(["available"]);
expect(pets.length).to.be.at.least(1);
})
it("findPetsByStatus", async () => {
const pets = await petApi.findPetsByStatus(["available"]);
expect(pets.length).to.be.at.least(1);
})
it("findPetsByTag", async () => {
const pets = await petApi.findPetsByTags([tag.name])
expect(pets.length).to.be.at.least(1);
})
it("findPetsByTag", async () => {
const pets = await petApi.findPetsByTags([tag.name])
expect(pets.length).to.be.at.least(1);
})
it("getPetById", async () => {
const returnedPet = await petApi.getPetById(pet.id);
expect(returnedPet).to.deep.equal(pet);
})
it("getPetById", async () => {
const returnedPet = await petApi.getPetById(pet.id);
expect(returnedPet).to.deep.equal(pet);
})
it("updatePet", async () => {
pet.name = "updated name";
await petApi.updatePet(pet);
await petApi.updatePet(pet);
it("updatePet", async () => {
pet.name = "updated name";
await petApi.updatePet(pet);
await petApi.updatePet(pet);
const returnedPet = await petApi.getPetById(pet.id);
expect(returnedPet.id).to.equal(pet.id)
expect(returnedPet.name).to.equal(pet.name);
})
const returnedPet = await petApi.getPetById(pet.id);
expect(returnedPet.id).to.equal(pet.id)
expect(returnedPet.name).to.equal(pet.name);
})
it("updatePetWithForm", async () => {
const updatedName = "updated name";
await petApi.updatePetWithForm(pet.id, updatedName);
it("updatePetWithForm", async () => {
const updatedName = "updated name";
await petApi.updatePetWithForm(pet.id, updatedName);
const returnedPet = await petApi.getPetById(pet.id)
expect(returnedPet.id).to.equal(pet.id)
expect(returnedPet.name).to.equal(updatedName);
})
const returnedPet = await petApi.getPetById(pet.id)
expect(returnedPet.id).to.equal(pet.id)
expect(returnedPet.name).to.equal(updatedName);
})
it("uploadFile", async () => {
const image = fs.readFileSync(__dirname + "/pet.png")
const response = await petApi.uploadFile(pet.id, "Metadata", { name: "pet.png", data: image });
expect(response.code).to.be.gte(200).and.lt(300);
expect(response.message).to.contain("pet.png");
})
it("uploadFile", async () => {
const image = fs.readFileSync(__dirname + "/pet.png")
const response = await petApi.uploadFile(pet.id, "Metadata", { name: "pet.png", data: image });
expect(response.code).to.be.gte(200).and.lt(300);
expect(response.message).to.contain("pet.png");
})
})

File diff suppressed because it is too large Load Diff

View File

@ -22,8 +22,8 @@
"devDependencies": {
"@types/node": "^8.10.48",
"raw-loader": "^4.0.0",
"ts-loader": "^4.3.1",
"typescript": "^2.4.1"
"ts-loader": "^8.0.0",
"typescript": "^4.0.0"
},
"name": "typescript-test",
"version": "1.0.0",

View File

@ -16,14 +16,13 @@
"ts-petstore-client": "file:../../builds/object_params"
},
"devDependencies": {
"@types/chai": "^4.0.1",
"@types/chai": "4.0.1 - 4.1.x",
"@types/isomorphic-fetch": "0.0.34",
"@types/mocha": "^2.2.41",
"@types/node": "^8.10.38",
"@types/node": "^22",
"chai": "^4.1.0",
"mocha": "^5.2.0",
"ts-loader": "^2.3.0",
"typescript": "^2.4.1"
"typescript": "^4.0.0"
}
},
"../../builds/object_params": {
@ -35,11 +34,9 @@
"@types/node-fetch": "^2.5.7",
"es6-promise": "^4.2.4",
"form-data": "^2.5.0",
"node-fetch": "^2.6.0",
"url-parse": "^1.4.3"
"node-fetch": "^2.6.0"
},
"devDependencies": {
"@types/url-parse": "1.4.4",
"typescript": "^4.0"
}
},
@ -118,31 +115,12 @@
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
},
"../../builds/object_params/node_modules/querystringify": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
},
"../../builds/object_params/node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"../../builds/object_params/node_modules/typescript": {
"version": "3.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz",
"integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==",
"dev": true
},
"../../builds/object_params/node_modules/url-parse": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
},
"node_modules/@types/chai": {
"version": "4.1.6",
"resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.6.tgz",
@ -162,10 +140,14 @@
"dev": true
},
"node_modules/@types/node": {
"version": "8.10.38",
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.38.tgz",
"integrity": "sha512-EibsnbJerd0hBFaDjJStFrVbVBAtOy4dgL8zZFw0uOvPqzBAX59Ci8cgjg3+RgJIWhsB5A4c+pi+D4P9tQQh/A==",
"dev": true
"version": "22.13.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.13.tgz",
"integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
}
},
"node_modules/@types/rewire": {
"version": "2.5.28",
@ -335,15 +317,6 @@
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"node_modules/big.js": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
"dev": true,
"engines": {
"node": "*"
}
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -574,42 +547,6 @@
"node": ">=0.10.0"
}
},
"node_modules/emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
"dev": true,
"engines": {
"node": ">= 0.10"
}
},
"node_modules/enhanced-resolve": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
"integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
"dev": true,
"dependencies": {
"graceful-fs": "^4.1.2",
"memory-fs": "^0.4.0",
"object-assign": "^4.0.1",
"tapable": "^0.2.7"
},
"engines": {
"node": ">=4.3.0 <5.0.0 || >=5.10"
}
},
"node_modules/errno": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
"dev": true,
"dependencies": {
"prr": "~1.0.1"
},
"bin": {
"errno": "cli.js"
}
},
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@ -1042,15 +979,6 @@
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
},
"node_modules/json5": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true,
"bin": {
"json5": "lib/cli.js"
}
},
"node_modules/levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@ -1063,20 +991,6 @@
"node": ">= 0.8.0"
}
},
"node_modules/loader-utils": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
"dev": true,
"dependencies": {
"big.js": "^3.1.3",
"emojis-list": "^2.0.0",
"json5": "^0.5.0"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
@ -1096,16 +1010,6 @@
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
"integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g=="
},
"node_modules/memory-fs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
"dev": true,
"dependencies": {
"errno": "^0.1.3",
"readable-stream": "^2.0.1"
}
},
"node_modules/mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
@ -1342,12 +1246,6 @@
"node": ">=0.4.0"
}
},
"node_modules/prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
"node_modules/pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@ -1603,15 +1501,6 @@
"string-width": "^2.1.1"
}
},
"node_modules/tapable": {
"version": "0.2.8",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
"integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
"dev": true,
"engines": {
"node": ">=0.6"
}
},
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@ -1633,21 +1522,6 @@
"node": ">=0.6.0"
}
},
"node_modules/ts-loader": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.7.tgz",
"integrity": "sha512-8t3bu2FcEkXb+D4L+Cn8qiK2E2C6Ms4/GQChvz6IMbVurcFHLXrhW4EMtfaol1a1ASQACZGDUGit4NHnX9g7hQ==",
"dev": true,
"dependencies": {
"chalk": "^2.0.1",
"enhanced-resolve": "^3.0.0",
"loader-utils": "^1.0.2",
"semver": "^5.0.1"
},
"engines": {
"node": ">=4.3.0 <5.0.0 || >=5.10"
}
},
"node_modules/ts-node": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.3.0.tgz",
@ -1711,10 +1585,11 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"node_modules/typescript": {
"version": "2.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
"integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -1723,6 +1598,13 @@
"node": ">=4.2.0"
}
},
"node_modules/undici-types": {
"version": "6.20.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"dev": true,
"license": "MIT"
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@ -1805,10 +1687,13 @@
"dev": true
},
"@types/node": {
"version": "8.10.38",
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.38.tgz",
"integrity": "sha512-EibsnbJerd0hBFaDjJStFrVbVBAtOy4dgL8zZFw0uOvPqzBAX59Ci8cgjg3+RgJIWhsB5A4c+pi+D4P9tQQh/A==",
"dev": true
"version": "22.13.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.13.tgz",
"integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==",
"dev": true,
"requires": {
"undici-types": "~6.20.0"
}
},
"@types/rewire": {
"version": "2.5.28",
@ -1941,12 +1826,6 @@
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"big.js": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
"dev": true
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -2136,33 +2015,6 @@
"esutils": "^2.0.2"
}
},
"emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
"dev": true
},
"enhanced-resolve": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
"integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"memory-fs": "^0.4.0",
"object-assign": "^4.0.1",
"tapable": "^0.2.7"
}
},
"errno": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
"dev": true,
"requires": {
"prr": "~1.0.1"
}
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@ -2504,12 +2356,6 @@
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
},
"json5": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@ -2519,17 +2365,6 @@
"type-check": "~0.3.2"
}
},
"loader-utils": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
"dev": true,
"requires": {
"big.js": "^3.1.3",
"emojis-list": "^2.0.0",
"json5": "^0.5.0"
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
@ -2549,16 +2384,6 @@
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
"integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g=="
},
"memory-fs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
"dev": true,
"requires": {
"errno": "^0.1.3",
"readable-stream": "^2.0.1"
}
},
"mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
@ -2738,12 +2563,6 @@
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
"integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg=="
},
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@ -2950,12 +2769,6 @@
"string-width": "^2.1.1"
}
},
"tapable": {
"version": "0.2.8",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
"integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
"dev": true
},
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@ -2974,18 +2787,6 @@
"os-tmpdir": "~1.0.2"
}
},
"ts-loader": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.7.tgz",
"integrity": "sha512-8t3bu2FcEkXb+D4L+Cn8qiK2E2C6Ms4/GQChvz6IMbVurcFHLXrhW4EMtfaol1a1ASQACZGDUGit4NHnX9g7hQ==",
"dev": true,
"requires": {
"chalk": "^2.0.1",
"enhanced-resolve": "^3.0.0",
"loader-utils": "^1.0.2",
"semver": "^5.0.1"
}
},
"ts-node": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.3.0.tgz",
@ -3008,12 +2809,10 @@
"requires": {
"@types/node": "*",
"@types/node-fetch": "^2.5.7",
"@types/url-parse": "1.4.4",
"es6-promise": "^4.2.4",
"form-data": "^2.5.0",
"node-fetch": "^2.6.0",
"typescript": "^4.0",
"url-parse": "^1.4.3"
"typescript": "^4.0"
},
"dependencies": {
"@types/node": {
@ -3093,29 +2892,10 @@
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
},
"querystringify": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"typescript": {
"version": "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz",
"integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==",
"dev": true
},
"url-parse": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
}
}
},
@ -3148,9 +2928,15 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"typescript": {
"version": "2.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
"integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"dev": true
},
"undici-types": {
"version": "6.20.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"dev": true
},
"util-deprecate": {

View File

@ -15,11 +15,10 @@
"@types/chai": "4.0.1 - 4.1.x",
"@types/isomorphic-fetch": "0.0.34",
"@types/mocha": "^2.2.41",
"@types/node": "8.10.38 - 8.10.62",
"@types/node": "^22",
"chai": "^4.1.0",
"mocha": "^5.2.0",
"ts-loader": "^2.3.0",
"typescript": "^2.4.1"
"typescript": "^4.0.0"
},
"name": "typescript-test",
"version": "1.0.0",