[typescript] typescript client generator supports import mapping (#12957)

* support import mapping

* Remove unused imports

* Remove unused variable

* Not to clear importMapping

* Re-generate samples

* Use same model import path everywhere

* Move import mapping logic from toModelImport method

Co-authored-by: Bodo Graumann <mail@bodograumann.de>
This commit is contained in:
uesyn
2022-07-28 00:09:27 +09:00
committed by GitHub
parent 6226dc2848
commit bc65be4c9a
63 changed files with 395 additions and 214 deletions

View File

@@ -114,9 +114,6 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
this.generatorMetadata = GeneratorMetadata.newBuilder(generatorMetadata).stability(Stability.EXPERIMENTAL).build();
// clear import mapping (from default generator) as TS does not use it
// at the moment
importMapping.clear();
outputFolder = "generated-code" + File.separator + "typescript";
embeddedTemplateDir = templateDir = "typescript";
@@ -237,7 +234,7 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
supportingFiles.add(new SupportingFile("types" + File.separator + "ObjectParamAPI.mustache", "types", "ObjectParamAPI.ts"));
// models
setModelPackage("");
setModelPackage("models");
supportingFiles.add(new SupportingFile("model" + File.separator + "ObjectSerializer.mustache", "models", "ObjectSerializer.ts"));
modelTemplateFiles.put("model" + File.separator + "model.mustache", ".ts");
@@ -325,8 +322,7 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
// Add additional filename information for model imports in the apis
List<Map<String, String>> imports = operations.getImports();
for (Map<String, String> im : imports) {
im.put("filename", im.get("import").replace(".", "/"));
im.put("classname", getModelnameFromModelFilename(im.get("import")));
im.put("filename", im.get("import"));
}
OperationMap operationsMap = operations.getOperations();
@@ -362,11 +358,6 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
return String.join(" | ", returnTypes);
}
private String getModelnameFromModelFilename(String filename) {
String name = filename.substring((modelPackage() + File.separator).length());
return camelize(name);
}
@Override
public String escapeReservedWord(String name) {
if (this.reservedWordsMappings().containsKey(name)) {
@@ -413,6 +404,11 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
return toTypescriptTypeName(fullModelName, "Model");
}
@Override
public String toModelImport(String name) {
return ".." + File.separator + modelPackage() + File.separator + toModelName(name);
}
protected String addPrefix(String name, String prefix) {
if (!StringUtils.isEmpty(prefix)) {
name = prefix + "_" + name;
@@ -466,7 +462,6 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
return toModelName(name);
}
@Override
protected String getParameterDataType(Parameter parameter, Schema p) {
// handle enums of various data types
@@ -731,14 +726,13 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
HashMap<String, String> tsImport = new HashMap<>();
// TVG: This is used as class name in the import statements of the model file
tsImport.put("classname", im);
tsImport.put("filename", toModelFilename(im));
tsImport.put("filename", importMapping.getOrDefault(im, toModelImport(im)));
tsImports.add(tsImport);
}
}
return tsImports;
}
@Override
public Map<String, ModelsMap> postProcessAllModels(Map<String, ModelsMap> objs) {
Map<String, ModelsMap> result = super.postProcessAllModels(objs);
@@ -809,7 +803,6 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo
// change package names
apiPackage = this.apiPackage + ".apis";
modelPackage = this.modelPackage + ".models";
testPackage = this.testPackage + ".tests";
additionalProperties.putIfAbsent(FRAMEWORK_SWITCH, FRAMEWORKS[0]);

View File

@@ -18,7 +18,7 @@ import { injectable } from "inversify";
{{/useInversify}}
{{#imports}}
import { {{classname}} } from '..{{filename}}{{extensionForDeno}}';
import { {{classname}} } from '{{filename}}{{extensionForDeno}}';
{{/imports}}
{{#operations}}

View File

@@ -1,12 +1,12 @@
{{#models}}
{{#model}}
export * from './{{{ classFilename }}}{{extensionForDeno}}';
export * from '{{{ importPath }}}{{extensionForDeno}}';
{{/model}}
{{/models}}
{{#models}}
{{#model}}
import { {{classname}}{{#hasEnums}}{{#vars}}{{#isEnum}}, {{classname}}{{enumName}} {{/isEnum}} {{/vars}}{{/hasEnums}} } from './{{{ classFilename }}}{{extensionForDeno}}';
import { {{classname}}{{#hasEnums}}{{#vars}}{{#isEnum}}, {{classname}}{{enumName}} {{/isEnum}} {{/vars}}{{/hasEnums}} } from '{{{ importPath }}}{{extensionForDeno}}';
{{/model}}
{{/models}}

View File

@@ -2,7 +2,7 @@
{{#models}}
{{#model}}
{{#tsImports}}
import { {{classname}} } from './{{filename}}{{extensionForDeno}}';
import { {{classname}} } from '{{filename}}{{extensionForDeno}}';
{{/tsImports}}
import { HttpFile } from '../http/http{{extensionForDeno}}';

View File

@@ -1,5 +1,5 @@
{{#models}}
{{#model}}
export * from './{{{ classFilename }}}{{extensionForDeno}}'
export * from '{{{ importPath }}}{{extensionForDeno}}'
{{/model}}
{{/models}}

View File

@@ -7,7 +7,7 @@ import type { Observable } from 'rxjs';
{{#models}}
{{#model}}
import type { {{{ classname }}} } from '../models/{{{ classFilename }}}';
import type { {{{ classname }}} } from '{{{ importPath }}}';
{{/model}}
{{/models}}
{{#apiInfo}}

View File

@@ -4,7 +4,7 @@ import type { Configuration } from "../configuration";
{{#models}}
{{#model}}
import { {{{ classname }}} } from "../models/{{{ classFilename }}}";
import { {{{ classname }}} } from "{{{ importPath }}}";
{{/model}}
{{/models}}
{{#apiInfo}}

View File

@@ -3,7 +3,7 @@ import type { Configuration } from "../configuration";
{{#models}}
{{#model}}
import { {{{ classname }}} } from "../models/{{{ classFilename }}}";
import { {{{ classname }}} } from "{{{ importPath }}}";
{{/model}}
{{/models}}
{{#apiInfo}}

View File

@@ -2,7 +2,7 @@ import type { Configuration } from "../configuration";
import type { HttpFile, RequestContext, ResponseContext } from "../http/http";
{{#imports}}
import { {{classname}} } from "..{{filename}}";
import { {{classname}} } from "{{filename}}";
{{/imports}}
{{#operations}}

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http{{extensionForDeno}}';
import * as models from '../models/all{{extensionForDeno}}';
import { Configuration} from '../configuration{{extensionForDeno}}'
{{#useRxJS}}
import { Observable } from 'rxjs';
@@ -7,7 +6,7 @@ import { Observable } from 'rxjs';
{{#models}}
{{#model}}
import { {{{ classname }}} } from '../models/{{{ classFilename }}}{{extensionForDeno}}';
import { {{{ classname }}} } from '{{{ importPath }}}{{extensionForDeno}}';
{{/model}}
{{/models}}
{{#apiInfo}}

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http{{extensionForDeno}}';
import * as models from '../models/all{{extensionForDeno}}';
import { Configuration} from '../configuration{{extensionForDeno}}'
import { Observable, of, from } from {{#useRxJS}}'rxjs'{{/useRxJS}}{{^useRxJS}}'../rxjsStub{{extensionForDeno}}'{{/useRxJS}};
import {mergeMap, map} from {{#useRxJS}}'rxjs/operators'{{/useRxJS}}{{^useRxJS}}'../rxjsStub{{extensionForDeno}}'{{/useRxJS}};
@@ -9,7 +8,7 @@ import { AbstractConfiguration } from "../services/configuration{{extensionForDe
{{/useInversify}}
{{#models}}
{{#model}}
import { {{{ classname }}} } from '../models/{{{ classFilename }}}{{extensionForDeno}}';
import { {{{ classname }}} } from '{{{ importPath }}}{{extensionForDeno}}';
{{/model}}
{{/models}}
{{#apiInfo}}

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http{{extensionForDeno}}';
import * as models from '../models/all{{extensionForDeno}}';
import { Configuration} from '../configuration{{extensionForDeno}}'
{{#useInversify}}
import { injectable, inject, optional } from "inversify";
@@ -8,7 +7,7 @@ import { AbstractConfiguration } from "../services/configuration";
{{#models}}
{{#model}}
import { {{{ classname }}} } from '../models/{{{ classFilename }}}{{extensionForDeno}}';
import { {{{ classname }}} } from '{{{ importPath }}}{{extensionForDeno}}';
{{/model}}
{{/models}}
{{#apiInfo}}

View File

@@ -9,10 +9,16 @@ import org.openapitools.codegen.CodegenOperation;
import org.openapitools.codegen.DefaultCodegen;
import org.openapitools.codegen.TestUtils;
import org.openapitools.codegen.languages.TypeScriptClientCodegen;
import org.openapitools.codegen.model.ModelMap;
import org.openapitools.codegen.model.ModelsMap;
import org.openapitools.codegen.utils.ModelUtils;
import org.testng.Assert;
import org.testng.annotations.Test;
import java.util.Collections;
import java.util.List;
import java.util.Map;
public class TypeScriptClientCodegenTest {
@Test
@@ -98,4 +104,40 @@ public class TypeScriptClientCodegenTest {
Assert.fail("Exception was thrown.");
}
}
@Test
public void defaultModelImportTest() {
final DefaultCodegen codegen = new TypeScriptClientCodegen();
final CodegenModel cm = new CodegenModel();
cm.setImports(Collections.singleton("ApiResponse"));
final ModelsMap models = new ModelsMap();
final ModelMap model = new ModelMap();
model.setModel(cm);
models.setModels(Collections.singletonList(model));
final ModelsMap processedModels = codegen.postProcessModels(models);
final List<Map<String, String>> tsImports = (List<Map<String, String>>) processedModels.getModels().get(0).get("tsImports");
Assert.assertEquals(tsImports.get(0).get("filename"), "../models/ApiResponse");
Assert.assertEquals(tsImports.get(0).get("classname"), "ApiResponse");
}
@Test
public void modelImportWithMappingTest() {
final DefaultCodegen codegen = new TypeScriptClientCodegen();
final String mappedName = "@namespace/dir/response";
codegen.importMapping().put("ApiResponse", mappedName);
final CodegenModel cm = new CodegenModel();
cm.setImports(Collections.singleton("ApiResponse"));
final ModelsMap models = new ModelsMap();
final ModelMap model = new ModelMap();
model.setModel(cm);
models.setModels(Collections.singletonList(model));
final ModelsMap processedModels = codegen.postProcessModels(models);
final List<Map<String, String>> tsImports = (List<Map<String, String>>) processedModels.getModels().get(0).get("tsImports");
Assert.assertEquals(tsImports.get(0).get("filename"), mappedName);
Assert.assertEquals(tsImports.get(0).get("classname"), "ApiResponse");
}
}

View File

@@ -1,6 +1,6 @@
export * from './Response';
export * from '../models/Response';
import { Response } from './Response';
import { Response } from '../models/Response';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -1 +1 @@
export * from './Response'
export * from '../models/Response'

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Response } from '../models/Response';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Response } from '../models/Response';

View File

@@ -1,16 +1,16 @@
export * from './ApiResponse';
export * from './Category';
export * from './Order';
export * from './Pet';
export * from './Tag';
export * from './User';
export * from '../models/ApiResponse';
export * from '../models/Category';
export * from '../models/Order';
export * from '../models/Pet';
export * from '../models/Tag';
export * from '../models/User';
import { ApiResponse } from './ApiResponse';
import { Category } from './Category';
import { Order , OrderStatusEnum } from './Order';
import { Pet , PetStatusEnum } from './Pet';
import { Tag } from './Tag';
import { User } from './User';
import { ApiResponse } from '../models/ApiResponse';
import { Category } from '../models/Category';
import { Order , OrderStatusEnum } from '../models/Order';
import { Pet , PetStatusEnum } from '../models/Pet';
import { Tag } from '../models/Tag';
import { User } from '../models/User';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { Category } from './Category';
import { Tag } from './Tag';
import { Category } from '../models/Category';
import { Tag } from '../models/Tag';
import { HttpFile } from '../http/http';
/**

View File

@@ -1,6 +1,6 @@
export * from './ApiResponse'
export * from './Category'
export * from './Order'
export * from './Pet'
export * from './Tag'
export * from './User'
export * from '../models/ApiResponse'
export * from '../models/Category'
export * from '../models/Order'
export * from '../models/Pet'
export * from '../models/Tag'
export * from '../models/User'

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,22 +1,22 @@
export * from './Cat';
export * from './CatAllOf';
export * from './Dog';
export * from './DogAllOf';
export * from './FilePostRequest';
export * from './PetByAge';
export * from './PetByType';
export * from './PetsFilteredPatchRequest';
export * from './PetsPatchRequest';
export * from '../models/Cat';
export * from '../models/CatAllOf';
export * from '../models/Dog';
export * from '../models/DogAllOf';
export * from '../models/FilePostRequest';
export * from '../models/PetByAge';
export * from '../models/PetByType';
export * from '../models/PetsFilteredPatchRequest';
export * from '../models/PetsPatchRequest';
import { Cat } from './Cat';
import { CatAllOf } from './CatAllOf';
import { Dog , DogBreedEnum } from './Dog';
import { DogAllOf , DogAllOfBreedEnum } from './DogAllOf';
import { FilePostRequest } from './FilePostRequest';
import { PetByAge } from './PetByAge';
import { PetByType, PetByTypePetTypeEnum } from './PetByType';
import { PetsFilteredPatchRequest , PetsFilteredPatchRequestPetTypeEnum } from './PetsFilteredPatchRequest';
import { PetsPatchRequest , PetsPatchRequestBreedEnum } from './PetsPatchRequest';
import { Cat } from '../models/Cat';
import { CatAllOf } from '../models/CatAllOf';
import { Dog , DogBreedEnum } from '../models/Dog';
import { DogAllOf , DogAllOfBreedEnum } from '../models/DogAllOf';
import { FilePostRequest } from '../models/FilePostRequest';
import { PetByAge } from '../models/PetByAge';
import { PetByType, PetByTypePetTypeEnum } from '../models/PetByType';
import { PetsFilteredPatchRequest , PetsFilteredPatchRequestPetTypeEnum } from '../models/PetsFilteredPatchRequest';
import { PetsPatchRequest , PetsPatchRequestBreedEnum } from '../models/PetsPatchRequest';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { PetByAge } from './PetByAge';
import { PetByType } from './PetByType';
import { PetByAge } from '../models/PetByAge';
import { PetByType } from '../models/PetByType';
import { HttpFile } from '../http/http';
export class PetsFilteredPatchRequest {

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { Cat } from './Cat';
import { Dog } from './Dog';
import { Cat } from '../models/Cat';
import { Dog } from '../models/Dog';
import { HttpFile } from '../http/http';
export class PetsPatchRequest {

View File

@@ -1,9 +1,9 @@
export * from './Cat'
export * from './CatAllOf'
export * from './Dog'
export * from './DogAllOf'
export * from './FilePostRequest'
export * from './PetByAge'
export * from './PetByType'
export * from './PetsFilteredPatchRequest'
export * from './PetsPatchRequest'
export * from '../models/Cat'
export * from '../models/CatAllOf'
export * from '../models/Dog'
export * from '../models/DogAllOf'
export * from '../models/FilePostRequest'
export * from '../models/PetByAge'
export * from '../models/PetByType'
export * from '../models/PetsFilteredPatchRequest'
export * from '../models/PetsPatchRequest'

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Cat } from '../models/Cat';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Cat } from '../models/Cat';

View File

@@ -1,16 +1,16 @@
export * from './ApiResponse';
export * from './Category';
export * from './Order';
export * from './Pet';
export * from './Tag';
export * from './User';
export * from '../models/ApiResponse';
export * from '../models/Category';
export * from '../models/Order';
export * from '../models/Pet';
export * from '../models/Tag';
export * from '../models/User';
import { ApiResponse } from './ApiResponse';
import { Category } from './Category';
import { Order , OrderStatusEnum } from './Order';
import { Pet , PetStatusEnum } from './Pet';
import { Tag } from './Tag';
import { User } from './User';
import { ApiResponse } from '../models/ApiResponse';
import { Category } from '../models/Category';
import { Order , OrderStatusEnum } from '../models/Order';
import { Pet , PetStatusEnum } from '../models/Pet';
import { Tag } from '../models/Tag';
import { User } from '../models/User';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { Category } from './Category';
import { Tag } from './Tag';
import { Category } from '../models/Category';
import { Tag } from '../models/Tag';
import { HttpFile } from '../http/http';
/**

View File

@@ -1,6 +1,6 @@
export * from './ApiResponse'
export * from './Category'
export * from './Order'
export * from './Pet'
export * from './Tag'
export * from './User'
export * from '../models/ApiResponse'
export * from '../models/Category'
export * from '../models/Order'
export * from '../models/Pet'
export * from '../models/Tag'
export * from '../models/User'

View File

@@ -1,8 +1,173 @@
{
"name": "ts-petstore-client",
"version": "1.0.0",
"lockfileVersion": 1,
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ts-petstore-client",
"version": "1.0.0",
"license": "Unlicense",
"dependencies": {
"@types/node": "*",
"@types/node-fetch": "^2.5.7",
"btoa": "^1.2.1",
"es6-promise": "^4.2.4",
"form-data": "^2.5.0",
"node-fetch": "^2.6.0",
"url-parse": "^1.4.3"
},
"devDependencies": {
"@types/url-parse": "1.4.4",
"typescript": "^4.0"
}
},
"node_modules/@types/node": {
"version": "12.12.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz",
"integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w=="
},
"node_modules/@types/node-fetch": {
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz",
"integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==",
"dependencies": {
"@types/node": "*",
"form-data": "^3.0.0"
}
},
"node_modules/@types/node-fetch/node_modules/form-data": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
"integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"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",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"node_modules/btoa": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
"bin": {
"btoa": "bin/btoa.js"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/es6-promise": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
"integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg=="
},
"node_modules/form-data": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
"integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 0.12"
}
},
"node_modules/mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
"integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.24",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
"dependencies": {
"mime-db": "1.40.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/node-fetch": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/querystringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz",
"integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg=="
},
"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.7.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=4.2.0"
}
},
"node_modules/url-parse": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz",
"integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==",
"dependencies": {
"querystringify": "^2.0.0",
"requires-port": "^1.0.0"
}
}
},
"dependencies": {
"@types/node": {
"version": "12.12.7",
@@ -30,6 +195,12 @@
}
}
},
"@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",
@@ -97,9 +268,9 @@
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"typescript": {
"version": "3.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz",
"integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==",
"version": "4.7.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
"dev": true
},
"url-parse": {

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,16 +1,16 @@
export * from './ApiResponse.ts';
export * from './Category.ts';
export * from './Order.ts';
export * from './Pet.ts';
export * from './Tag.ts';
export * from './User.ts';
export * from '../models/ApiResponse.ts';
export * from '../models/Category.ts';
export * from '../models/Order.ts';
export * from '../models/Pet.ts';
export * from '../models/Tag.ts';
export * from '../models/User.ts';
import { ApiResponse } from './ApiResponse.ts';
import { Category } from './Category.ts';
import { Order , OrderStatusEnum } from './Order.ts';
import { Pet , PetStatusEnum } from './Pet.ts';
import { Tag } from './Tag.ts';
import { User } from './User.ts';
import { ApiResponse } from '../models/ApiResponse.ts';
import { Category } from '../models/Category.ts';
import { Order , OrderStatusEnum } from '../models/Order.ts';
import { Pet , PetStatusEnum } from '../models/Pet.ts';
import { Tag } from '../models/Tag.ts';
import { User } from '../models/User.ts';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { Category } from './Category.ts';
import { Tag } from './Tag.ts';
import { Category } from '../models/Category.ts';
import { Tag } from '../models/Tag.ts';
import { HttpFile } from '../http/http.ts';
/**

View File

@@ -1,6 +1,6 @@
export * from './ApiResponse.ts'
export * from './Category.ts'
export * from './Order.ts'
export * from './Pet.ts'
export * from './Tag.ts'
export * from './User.ts'
export * from '../models/ApiResponse.ts'
export * from '../models/Category.ts'
export * from '../models/Order.ts'
export * from '../models/Pet.ts'
export * from '../models/Tag.ts'
export * from '../models/User.ts'

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http.ts';
import * as models from '../models/all.ts';
import { Configuration} from '../configuration.ts'
import { ApiResponse } from '../models/ApiResponse.ts';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http.ts';
import * as models from '../models/all.ts';
import { Configuration} from '../configuration.ts'
import { Observable, of, from } from '../rxjsStub.ts';
import {mergeMap, map} from '../rxjsStub.ts';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http.ts';
import * as models from '../models/all.ts';
import { Configuration} from '../configuration.ts'
import { ApiResponse } from '../models/ApiResponse.ts';

View File

@@ -1,16 +1,16 @@
export * from './ApiResponse';
export * from './Category';
export * from './Order';
export * from './Pet';
export * from './Tag';
export * from './User';
export * from '../models/ApiResponse';
export * from '../models/Category';
export * from '../models/Order';
export * from '../models/Pet';
export * from '../models/Tag';
export * from '../models/User';
import { ApiResponse } from './ApiResponse';
import { Category } from './Category';
import { Order , OrderStatusEnum } from './Order';
import { Pet , PetStatusEnum } from './Pet';
import { Tag } from './Tag';
import { User } from './User';
import { ApiResponse } from '../models/ApiResponse';
import { Category } from '../models/Category';
import { Order , OrderStatusEnum } from '../models/Order';
import { Pet , PetStatusEnum } from '../models/Pet';
import { Tag } from '../models/Tag';
import { User } from '../models/User';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { Category } from './Category';
import { Tag } from './Tag';
import { Category } from '../models/Category';
import { Tag } from '../models/Tag';
import { HttpFile } from '../http/http';
/**

View File

@@ -1,6 +1,6 @@
export * from './ApiResponse'
export * from './Category'
export * from './Order'
export * from './Pet'
export * from './Tag'
export * from './User'
export * from '../models/ApiResponse'
export * from '../models/Category'
export * from '../models/Order'
export * from '../models/Pet'
export * from '../models/Tag'
export * from '../models/User'

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { injectable, inject, optional } from "inversify";
import { AbstractConfiguration } from "../services/configuration";

View File

@@ -1,16 +1,16 @@
export * from './ApiResponse';
export * from './Category';
export * from './Order';
export * from './Pet';
export * from './Tag';
export * from './User';
export * from '../models/ApiResponse';
export * from '../models/Category';
export * from '../models/Order';
export * from '../models/Pet';
export * from '../models/Tag';
export * from '../models/User';
import { ApiResponse } from './ApiResponse';
import { Category } from './Category';
import { Order , OrderStatusEnum } from './Order';
import { Pet , PetStatusEnum } from './Pet';
import { Tag } from './Tag';
import { User } from './User';
import { ApiResponse } from '../models/ApiResponse';
import { Category } from '../models/Category';
import { Order , OrderStatusEnum } from '../models/Order';
import { Pet , PetStatusEnum } from '../models/Pet';
import { Tag } from '../models/Tag';
import { User } from '../models/User';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { Category } from './Category';
import { Tag } from './Tag';
import { Category } from '../models/Category';
import { Tag } from '../models/Tag';
import { HttpFile } from '../http/http';
/**

View File

@@ -1,6 +1,6 @@
export * from './ApiResponse'
export * from './Category'
export * from './Order'
export * from './Pet'
export * from './Tag'
export * from './User'
export * from '../models/ApiResponse'
export * from '../models/Category'
export * from '../models/Order'
export * from '../models/Pet'
export * from '../models/Tag'
export * from '../models/User'

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,16 +1,16 @@
export * from './ApiResponse';
export * from './Category';
export * from './Order';
export * from './Pet';
export * from './Tag';
export * from './User';
export * from '../models/ApiResponse';
export * from '../models/Category';
export * from '../models/Order';
export * from '../models/Pet';
export * from '../models/Tag';
export * from '../models/User';
import { ApiResponse } from './ApiResponse';
import { Category } from './Category';
import { Order , OrderStatusEnum } from './Order';
import { Pet , PetStatusEnum } from './Pet';
import { Tag } from './Tag';
import { User } from './User';
import { ApiResponse } from '../models/ApiResponse';
import { Category } from '../models/Category';
import { Order , OrderStatusEnum } from '../models/Order';
import { Pet , PetStatusEnum } from '../models/Pet';
import { Tag } from '../models/Tag';
import { User } from '../models/User';
/* tslint:disable:no-unused-variable */
let primitives = [

View File

@@ -10,8 +10,8 @@
* Do not edit the class manually.
*/
import { Category } from './Category';
import { Tag } from './Tag';
import { Category } from '../models/Category';
import { Tag } from '../models/Tag';
import { HttpFile } from '../http/http';
/**

View File

@@ -1,6 +1,6 @@
export * from './ApiResponse'
export * from './Category'
export * from './Order'
export * from './Pet'
export * from './Tag'
export * from './User'
export * from '../models/ApiResponse'
export * from '../models/Category'
export * from '../models/Order'
export * from '../models/Pet'
export * from '../models/Tag'
export * from '../models/User'

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { Observable, of, from } from '../rxjsStub';
import {mergeMap, map} from '../rxjsStub';

View File

@@ -1,5 +1,4 @@
import { ResponseContext, RequestContext, HttpFile } from '../http/http';
import * as models from '../models/all';
import { Configuration} from '../configuration'
import { ApiResponse } from '../models/ApiResponse';

View File

@@ -40,7 +40,8 @@
"url-parse": "^1.4.3"
},
"devDependencies": {
"typescript": "^3.9.3"
"@types/url-parse": "1.4.4",
"typescript": "^4.0"
}
},
"../../builds/default/node_modules/@types/node": {
@@ -3235,11 +3236,12 @@
"requires": {
"@types/node": "*",
"@types/node-fetch": "^2.5.7",
"@types/url-parse": "1.4.4",
"btoa": "^1.2.1",
"es6-promise": "^4.2.4",
"form-data": "^2.5.0",
"node-fetch": "^2.6.0",
"typescript": "^3.9.3",
"typescript": "^4.0",
"url-parse": "^1.4.3"
},
"dependencies": {