diff --git a/modules/openapi-generator/src/main/resources/typescript/api/api.mustache b/modules/openapi-generator/src/main/resources/typescript/api/api.mustache index 4ac32d6839d..2b934d8fd44 100644 --- a/modules/openapi-generator/src/main/resources/typescript/api/api.mustache +++ b/modules/openapi-generator/src/main/resources/typescript/api/api.mustache @@ -92,8 +92,15 @@ export class {{classname}}RequestFactory extends BaseAPIRequestFactory { localVarFormParams.append('{{baseName}}', {{paramName}} as any); {{/isFile}} {{#isFile}} + {{#platforms}} + {{#node}} localVarFormParams.append('{{baseName}}', {{paramName}}.data, {{paramName}}.name); - {{/isFile}} + {{/node}} + {{^node}} + localVarFormParams.append('{{baseName}}', {{paramName}}, {{paramName}}.name); + {{/node}} + {{/platforms}} + {{/isFile}} } {{/isListContainer}} {{/formParams}} diff --git a/modules/openapi-generator/src/main/resources/typescript/http/http.mustache b/modules/openapi-generator/src/main/resources/typescript/http/http.mustache index 9effd770471..42084d9235d 100644 --- a/modules/openapi-generator/src/main/resources/typescript/http/http.mustache +++ b/modules/openapi-generator/src/main/resources/typescript/http/http.mustache @@ -36,10 +36,17 @@ export enum HttpMethod { /** * Represents a http file which will be uploaded to a server. */ -export interface HttpFile { - data: {{{fileContentDataType}}}; - name: string; -} +{{#platforms}} +{{#node}} +export type HttpFile = { + data: {{{fileContentDataType}}}, + name: string +}; +{{/node}} +{{^node}} +export type HttpFile = {{{fileContentDataType}}} & { readonly name: string }; +{{/node}} +{{/platforms}} export class HttpException extends Error { diff --git a/samples/client/petstore/typescript/builds/default/http/http.ts b/samples/client/petstore/typescript/builds/default/http/http.ts index 415a86c7d19..78b3667e747 100644 --- a/samples/client/petstore/typescript/builds/default/http/http.ts +++ b/samples/client/petstore/typescript/builds/default/http/http.ts @@ -25,10 +25,10 @@ export enum HttpMethod { /** * Represents a http file which will be uploaded to a server. */ -export interface HttpFile { - data: Buffer; - name: string; -} +export type HttpFile = { + data: Buffer, + name: string +}; export class HttpException extends Error { diff --git a/samples/client/petstore/typescript/builds/jquery/apis/PetApi.ts b/samples/client/petstore/typescript/builds/jquery/apis/PetApi.ts index 31693b0eb4c..4882a9d216d 100644 --- a/samples/client/petstore/typescript/builds/jquery/apis/PetApi.ts +++ b/samples/client/petstore/typescript/builds/jquery/apis/PetApi.ts @@ -364,7 +364,7 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory { } if (file !== undefined) { // TODO: replace .append with .set - localVarFormParams.append('file', file.data, file.name); + localVarFormParams.append('file', file, file.name); } requestContext.setBody(localVarFormParams); diff --git a/samples/client/petstore/typescript/builds/jquery/http/http.ts b/samples/client/petstore/typescript/builds/jquery/http/http.ts index 14c71de90df..1071360efbc 100644 --- a/samples/client/petstore/typescript/builds/jquery/http/http.ts +++ b/samples/client/petstore/typescript/builds/jquery/http/http.ts @@ -23,10 +23,7 @@ export enum HttpMethod { /** * Represents a http file which will be uploaded to a server. */ -export interface HttpFile { - data: Blob; - name: string; -} +export type HttpFile = Blob & { readonly name: string }; export class HttpException extends Error { diff --git a/samples/client/petstore/typescript/tests/default/package-lock.json b/samples/client/petstore/typescript/tests/default/package-lock.json index d4543da2698..23c63616b5d 100644 --- a/samples/client/petstore/typescript/tests/default/package-lock.json +++ b/samples/client/petstore/typescript/tests/default/package-lock.json @@ -1226,45 +1226,54 @@ "dependencies": { "@types/isomorphic-fetch": { "version": "0.0.34", - "bundled": true + "resolved": "https://registry.npmjs.org/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.34.tgz", + "integrity": "sha1-PDSD5gbAQTeEOOlRRk8A5OYHBtY=" }, "@types/node": { "version": "12.12.7", - "bundled": true + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz", + "integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w==" }, "asynckit": { "version": "0.4.0", - "bundled": true + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "btoa": { "version": "1.2.1", - "bundled": true + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" }, "combined-stream": { "version": "1.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "delayed-stream": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "encoding": { "version": "0.1.12", - "bundled": true, + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { "iconv-lite": "~0.4.13" } }, "es6-promise": { "version": "4.2.5", - "bundled": true + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" }, "form-data": { "version": "2.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -1273,18 +1282,21 @@ }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "is-stream": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "isomorphic-fetch": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { "node-fetch": "^1.0.1", "whatwg-fetch": ">=0.10.0" @@ -1292,18 +1304,21 @@ }, "mime-db": { "version": "1.40.0", - "bundled": true + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" }, "mime-types": { "version": "2.1.24", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "requires": { "mime-db": "1.40.0" } }, "node-fetch": { "version": "1.7.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -1311,23 +1326,28 @@ }, "querystringify": { "version": "2.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", + "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==" }, "requires-port": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "safer-buffer": { "version": "2.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "typescript": { "version": "2.9.2", - "bundled": true + "resolved": false, + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" }, "url-parse": { "version": "1.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", + "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", "requires": { "querystringify": "^2.0.0", "requires-port": "^1.0.0" @@ -1335,7 +1355,8 @@ }, "whatwg-fetch": { "version": "3.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" } } }, diff --git a/samples/client/petstore/typescript/tests/jquery/package-lock.json b/samples/client/petstore/typescript/tests/jquery/package-lock.json index f1ff014ed63..75916fc8781 100644 --- a/samples/client/petstore/typescript/tests/jquery/package-lock.json +++ b/samples/client/petstore/typescript/tests/jquery/package-lock.json @@ -1888,7 +1888,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -1906,11 +1907,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1923,15 +1926,18 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -2034,7 +2040,8 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -2044,6 +2051,7 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2056,17 +2064,20 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -2083,6 +2094,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -2155,7 +2167,8 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -2165,6 +2178,7 @@ "once": { "version": "1.4.0", "bundled": true, + "optional": true, "requires": { "wrappy": "1" } @@ -2240,7 +2254,8 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "bundled": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -2270,6 +2285,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2287,6 +2303,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2325,11 +2342,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.3", - "bundled": true + "bundled": true, + "optional": true } } }, @@ -3761,6 +3780,52 @@ "safe-buffer": "^5.1.0" } }, + "raw-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz", + "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "schema-utils": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", @@ -4687,25 +4752,29 @@ "dependencies": { "@types/form-data": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "requires": { "@types/node": "*" } }, "@types/jquery": { "version": "3.3.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.29.tgz", + "integrity": "sha512-FhJvBninYD36v3k6c+bVk1DSZwh7B5Dpb/Pyk3HKVsiohn0nhbefZZ+3JXbWQhFyt0MxSl2jRDdGQPHeOHFXrQ==", "requires": { "@types/sizzle": "*" } }, "@types/node": { "version": "12.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.0.tgz", + "integrity": "sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg==" }, "@types/rx": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx/-/rx-4.1.1.tgz", + "integrity": "sha1-WY/JSla67ZdfGUV04PVy/Y5iekg=", "requires": { "@types/rx-core": "*", "@types/rx-core-binding": "*", @@ -4723,18 +4792,21 @@ }, "@types/rx-core": { "version": "4.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/@types/rx-core/-/rx-core-4.0.3.tgz", + "integrity": "sha1-CzNUsSOM7b4rdPYybxOdvHpZHWA=" }, "@types/rx-core-binding": { "version": "4.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-core-binding/-/rx-core-binding-4.0.4.tgz", + "integrity": "sha512-5pkfxnC4w810LqBPUwP5bg7SFR/USwhMSaAeZQQbEHeBp57pjKXRlXmqpMrLJB4y1oglR/c2502853uN0I+DAQ==", "requires": { "@types/rx-core": "*" } }, "@types/rx-lite": { "version": "4.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite/-/rx-lite-4.0.6.tgz", + "integrity": "sha512-oYiDrFIcor9zDm0VDUca1UbROiMYBxMLMaM6qzz4ADAfOmA9r1dYEcAFH+2fsPI5BCCjPvV9pWC3X3flbrvs7w==", "requires": { "@types/rx-core": "*", "@types/rx-core-binding": "*" @@ -4742,97 +4814,113 @@ }, "@types/rx-lite-aggregates": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-aggregates/-/rx-lite-aggregates-4.0.3.tgz", + "integrity": "sha512-MAGDAHy8cRatm94FDduhJF+iNS5//jrZ/PIfm+QYw9OCeDgbymFHChM8YVIvN2zArwsRftKgE33QfRWvQk4DPg==", "requires": { "@types/rx-lite": "*" } }, "@types/rx-lite-async": { "version": "4.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-async/-/rx-lite-async-4.0.2.tgz", + "integrity": "sha512-vTEv5o8l6702ZwfAM5aOeVDfUwBSDOs+ARoGmWAKQ6LOInQ8J4/zjM7ov12fuTpktUKdMQjkeCp07Vd73mPkxw==", "requires": { "@types/rx-lite": "*" } }, "@types/rx-lite-backpressure": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-backpressure/-/rx-lite-backpressure-4.0.3.tgz", + "integrity": "sha512-Y6aIeQCtNban5XSAF4B8dffhIKu6aAy/TXFlScHzSxh6ivfQBQw6UjxyEJxIOt3IT49YkS+siuayM2H/Q0cmgA==", "requires": { "@types/rx-lite": "*" } }, "@types/rx-lite-coincidence": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-coincidence/-/rx-lite-coincidence-4.0.3.tgz", + "integrity": "sha512-1VNJqzE9gALUyMGypDXZZXzR0Tt7LC9DdAZQ3Ou/Q0MubNU35agVUNXKGHKpNTba+fr8GdIdkC26bRDqtCQBeQ==", "requires": { "@types/rx-lite": "*" } }, "@types/rx-lite-experimental": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-experimental/-/rx-lite-experimental-4.0.1.tgz", + "integrity": "sha1-xTL1y98/LBXaFt7Ykw0bKYQCPL0=", "requires": { "@types/rx-lite": "*" } }, "@types/rx-lite-joinpatterns": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-joinpatterns/-/rx-lite-joinpatterns-4.0.1.tgz", + "integrity": "sha1-9w/jcFGKhDLykVjMkv+1a05K/D4=", "requires": { "@types/rx-lite": "*" } }, "@types/rx-lite-testing": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-testing/-/rx-lite-testing-4.0.1.tgz", + "integrity": "sha1-IbGdEfTf1v/vWp0WSOnIh5v+Iek=", "requires": { "@types/rx-lite-virtualtime": "*" } }, "@types/rx-lite-time": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-time/-/rx-lite-time-4.0.3.tgz", + "integrity": "sha512-ukO5sPKDRwCGWRZRqPlaAU0SKVxmWwSjiOrLhoQDoWxZWg6vyB9XLEZViKOzIO6LnTIQBlk4UylYV0rnhJLxQw==", "requires": { "@types/rx-lite": "*" } }, "@types/rx-lite-virtualtime": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/rx-lite-virtualtime/-/rx-lite-virtualtime-4.0.3.tgz", + "integrity": "sha512-3uC6sGmjpOKatZSVHI2xB1+dedgml669ZRvqxy+WqmGJDVusOdyxcKfyzjW0P3/GrCiN4nmRkLVMhPwHCc5QLg==", "requires": { "@types/rx-lite": "*" } }, "@types/sizzle": { "version": "2.3.2", - "bundled": true + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", + "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==" }, "asynckit": { "version": "0.4.0", - "bundled": true + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "btoa": { "version": "1.2.1", - "bundled": true + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" }, "combined-stream": { "version": "1.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "delayed-stream": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "es6-promise": { "version": "4.2.6", - "bundled": true + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", + "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==" }, "form-data": { "version": "2.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -4841,45 +4929,54 @@ }, "jquery": { "version": "3.4.1", - "bundled": true + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", + "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==" }, "mime-db": { "version": "1.40.0", - "bundled": true + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" }, "mime-types": { "version": "2.1.24", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "requires": { "mime-db": "1.40.0" } }, "querystringify": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" }, "requires-port": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "rxjs": { "version": "6.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.1.tgz", + "integrity": "sha512-y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg==", "requires": { "tslib": "^1.9.0" } }, "tslib": { "version": "1.9.3", - "bundled": true + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "typescript": { "version": "2.9.2", - "bundled": true + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" }, "url-parse": { "version": "1.4.7", - "bundled": true, + "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" diff --git a/samples/client/petstore/typescript/tests/jquery/package.json b/samples/client/petstore/typescript/tests/jquery/package.json index f83edaf156d..37ac165cdd0 100644 --- a/samples/client/petstore/typescript/tests/jquery/package.json +++ b/samples/client/petstore/typescript/tests/jquery/package.json @@ -21,6 +21,7 @@ }, "devDependencies": { "@types/node": "^8.10.48", + "raw-loader": "^4.0.0", "ts-loader": "^4.3.1", "typescript": "^2.4.1" }, diff --git a/samples/client/petstore/typescript/tests/jquery/test/api/PetApi.test.ts b/samples/client/petstore/typescript/tests/jquery/test/api/PetApi.test.ts index 17b0b6f4d88..b01b9500b5d 100644 --- a/samples/client/petstore/typescript/tests/jquery/test/api/PetApi.test.ts +++ b/samples/client/petstore/typescript/tests/jquery/test/api/PetApi.test.ts @@ -1,6 +1,9 @@ declare var QUnit: any; -import * as petstore from 'ts-petstore-client' +import * as petstore from 'ts-petstore-client'; + +// @ts-ignore +import petImage from "./pet.png"; const configuration = new petstore.Configuration() const petApi = new petstore.PromisePetApi(configuration) @@ -38,7 +41,7 @@ QUnit.test("deletePet", (assert: any) => { // pet does not exist if (err.code && err.code == 404) { assert.ok(true, "404'd on getPet after deletion - all good.") - return; + return; } else { throw err; } @@ -108,14 +111,14 @@ QUnit.test("updatePet", (assert: any) => { }) })*/ -/** not easily possible? -QUnit.test("uploadFile", (done) => { - const image = fs.readFileSync(__dirname + "/pet.png") - petApi.uploadFile(pet.id, "Metadata", { name: "pet.png", data: image}).then((response: any) => { - expect(response.code).to.be.gte(200).and.lt(300); - expect(response.message).to.contain("pet.png"); - done(); - }).catch((err) => { - done(err); - }) -})*/ +QUnit.test("uploadFile", (assert: any) => { + const petImageFile: File = new File([petImage], "pet.png") + return petApi.uploadFile(pet.id, "Metadata", petImageFile) + .then( + (response: any) => { + assert.ok(response.code >= 200); + assert.ok(response.code < 300); + assert.ok(response.message.includes("pet.png")); + } + ) +}) diff --git a/samples/client/petstore/typescript/tests/jquery/webpack.config.js b/samples/client/petstore/typescript/tests/jquery/webpack.config.js index 8a612b675bd..bea87945ed5 100644 --- a/samples/client/petstore/typescript/tests/jquery/webpack.config.js +++ b/samples/client/petstore/typescript/tests/jquery/webpack.config.js @@ -5,6 +5,10 @@ module.exports = { mode: "development", module: { rules: [ + { + test: /\.png$/, + use: 'raw-loader' + }, { test: /\.tsx?$/, use: 'ts-loader',