@zimic/http 0.4.0-canary.0 → 0.4.0-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{chunk-IJVT4RDC.mjs → chunk-KVTV4E5K.mjs} +26 -100
- package/dist/chunk-KVTV4E5K.mjs.map +1 -0
- package/dist/{chunk-DIZB36SQ.js → chunk-LOHINQWU.js} +26 -100
- package/dist/chunk-LOHINQWU.js.map +1 -0
- package/dist/cli.js +7 -7
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.ts +140 -195
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -3
- package/dist/index.mjs.map +1 -1
- package/dist/typegen.js +2 -2
- package/dist/typegen.mjs +1 -1
- package/package.json +2 -2
- package/src/formData/HttpFormData.ts +44 -54
- package/src/formData/types.ts +36 -42
- package/src/headers/HttpHeaders.ts +38 -35
- package/src/headers/types.ts +2 -2
- package/src/pathParams/types.ts +29 -40
- package/src/searchParams/HttpSearchParams.ts +57 -49
- package/src/searchParams/types.ts +39 -45
- package/src/typegen/openapi/transform/components.ts +1 -11
- package/src/typegen/openapi/transform/context.ts +0 -3
- package/src/typegen/openapi/transform/methods.ts +23 -88
- package/src/typegen/openapi/transform/operations.ts +1 -11
- package/src/typegen/openapi/transform/paths.ts +1 -17
- package/src/types/requests.ts +60 -19
- package/src/types/schema.ts +50 -134
- package/dist/chunk-DIZB36SQ.js.map +0 -1
- package/dist/chunk-IJVT4RDC.mjs.map +0 -1
|
@@ -162,15 +162,6 @@ function isOperation(node) {
|
|
|
162
162
|
return ts3__default.default.isPropertySignature(node) && (ts3__default.default.isIdentifier(node.name) || ts3__default.default.isStringLiteral(node.name)) && node.type !== void 0 && ts3__default.default.isTypeLiteralNode(node.type);
|
|
163
163
|
}
|
|
164
164
|
__name(isOperation, "isOperation");
|
|
165
|
-
function wrapOperationType(type, context) {
|
|
166
|
-
context.typeImports.http.add("HttpSchema");
|
|
167
|
-
const httpSchemaMethodWrapper = ts3__default.default.factory.createQualifiedName(
|
|
168
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
169
|
-
ts3__default.default.factory.createIdentifier("Method")
|
|
170
|
-
);
|
|
171
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaMethodWrapper, [type]);
|
|
172
|
-
}
|
|
173
|
-
__name(wrapOperationType, "wrapOperationType");
|
|
174
165
|
function normalizeOperation(operation, context) {
|
|
175
166
|
if (!isOperation(operation)) {
|
|
176
167
|
return void 0;
|
|
@@ -181,7 +172,7 @@ function normalizeOperation(operation, context) {
|
|
|
181
172
|
operation.modifiers,
|
|
182
173
|
operation.name,
|
|
183
174
|
operation.questionToken,
|
|
184
|
-
|
|
175
|
+
newType
|
|
185
176
|
);
|
|
186
177
|
}
|
|
187
178
|
__name(normalizeOperation, "normalizeOperation");
|
|
@@ -246,7 +237,7 @@ function isRequestHeaders(node) {
|
|
|
246
237
|
}
|
|
247
238
|
__name(isRequestHeaders, "isRequestHeaders");
|
|
248
239
|
function isNormalizedRequestHeaders(node) {
|
|
249
|
-
return isRequestMember(node) && node.name.text === "headers" && ts3__default.default.
|
|
240
|
+
return isRequestMember(node) && node.name.text === "headers" && ts3__default.default.isTypeLiteralNode(node.type);
|
|
250
241
|
}
|
|
251
242
|
__name(isNormalizedRequestHeaders, "isNormalizedRequestHeaders");
|
|
252
243
|
function isRequestParameters(node) {
|
|
@@ -292,21 +283,15 @@ function removeRedundantNullUnionIfNecessary(type) {
|
|
|
292
283
|
__name(removeRedundantNullUnionIfNecessary, "removeRedundantNullUnionIfNecessary");
|
|
293
284
|
function wrapFormDataContentType(type, context) {
|
|
294
285
|
context.typeImports.http.add("HttpFormData");
|
|
295
|
-
context.typeImports.http.add("HttpFormDataSerialized");
|
|
296
286
|
return ts3__default.default.factory.createTypeReferenceNode(ts3__default.default.factory.createIdentifier("HttpFormData"), [
|
|
297
|
-
|
|
298
|
-
renameComponentReferences(type, context)
|
|
299
|
-
])
|
|
287
|
+
renameComponentReferences(type, context)
|
|
300
288
|
]);
|
|
301
289
|
}
|
|
302
290
|
__name(wrapFormDataContentType, "wrapFormDataContentType");
|
|
303
291
|
function wrapURLEncodedContentType(type, context) {
|
|
304
292
|
context.typeImports.http.add("HttpSearchParams");
|
|
305
|
-
context.typeImports.http.add("HttpSearchParamsSerialized");
|
|
306
293
|
return ts3__default.default.factory.createTypeReferenceNode(ts3__default.default.factory.createIdentifier("HttpSearchParams"), [
|
|
307
|
-
|
|
308
|
-
renameComponentReferences(type, context)
|
|
309
|
-
])
|
|
294
|
+
renameComponentReferences(type, context)
|
|
310
295
|
]);
|
|
311
296
|
}
|
|
312
297
|
__name(wrapURLEncodedContentType, "wrapURLEncodedContentType");
|
|
@@ -334,16 +319,7 @@ function normalizeRequestBodyMember(requestBodyMember, context, options) {
|
|
|
334
319
|
};
|
|
335
320
|
}
|
|
336
321
|
__name(normalizeRequestBodyMember, "normalizeRequestBodyMember");
|
|
337
|
-
function
|
|
338
|
-
context.typeImports.http.add("HttpHeadersSerialized");
|
|
339
|
-
const serializedWrapper = ts3__default.default.factory.createIdentifier("HttpHeadersSerialized");
|
|
340
|
-
return ts3__default.default.factory.createTypeReferenceNode(
|
|
341
|
-
serializedWrapper,
|
|
342
|
-
ts3__default.default.factory.createNodeArray([type])
|
|
343
|
-
);
|
|
344
|
-
}
|
|
345
|
-
__name(wrapHeadersType, "wrapHeadersType");
|
|
346
|
-
function normalizeHeaders(headers, context) {
|
|
322
|
+
function normalizeHeaders(headers) {
|
|
347
323
|
const newHeaderMembers = headers.members.filter((header) => {
|
|
348
324
|
if (ts3__default.default.isIndexSignatureDeclaration(header)) {
|
|
349
325
|
return false;
|
|
@@ -356,15 +332,14 @@ function normalizeHeaders(headers, context) {
|
|
|
356
332
|
if (newHeaderMembers.length === 0) {
|
|
357
333
|
return void 0;
|
|
358
334
|
}
|
|
359
|
-
|
|
360
|
-
return wrapHeadersType(newHeaders, context);
|
|
335
|
+
return ts3__default.default.factory.updateTypeLiteralNode(headers, ts3__default.default.factory.createNodeArray(newHeaderMembers));
|
|
361
336
|
}
|
|
362
337
|
__name(normalizeHeaders, "normalizeHeaders");
|
|
363
|
-
function normalizeRequestHeaders(requestHeader
|
|
338
|
+
function normalizeRequestHeaders(requestHeader) {
|
|
364
339
|
if (!isRequestHeaders(requestHeader)) {
|
|
365
340
|
return void 0;
|
|
366
341
|
}
|
|
367
|
-
const newType = normalizeHeaders(requestHeader.type
|
|
342
|
+
const newType = normalizeHeaders(requestHeader.type);
|
|
368
343
|
if (!newType) {
|
|
369
344
|
return void 0;
|
|
370
345
|
}
|
|
@@ -377,17 +352,14 @@ function normalizeRequestHeaders(requestHeader, context) {
|
|
|
377
352
|
);
|
|
378
353
|
}
|
|
379
354
|
__name(normalizeRequestHeaders, "normalizeRequestHeaders");
|
|
380
|
-
function createHeaderForUnionByContentType(existingHeader, contentTypeName
|
|
381
|
-
const existingHeaderMembers = existingHeader
|
|
355
|
+
function createHeaderForUnionByContentType(existingHeader, contentTypeName) {
|
|
356
|
+
const existingHeaderMembers = existingHeader?.type.members ?? [];
|
|
382
357
|
const contentTypeIdentifier = ts3__default.default.factory.createIdentifier('"content-type"');
|
|
383
358
|
const contentTypeValue = ts3__default.default.factory.createLiteralTypeNode(ts3__default.default.factory.createStringLiteral(contentTypeName));
|
|
384
|
-
const newHeaderType =
|
|
385
|
-
ts3__default.default.factory.
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
]),
|
|
389
|
-
context
|
|
390
|
-
);
|
|
359
|
+
const newHeaderType = ts3__default.default.factory.createTypeLiteralNode([
|
|
360
|
+
ts3__default.default.factory.createPropertySignature(void 0, contentTypeIdentifier, void 0, contentTypeValue),
|
|
361
|
+
...existingHeaderMembers
|
|
362
|
+
]);
|
|
391
363
|
return ts3__default.default.factory.createPropertySignature(
|
|
392
364
|
existingHeader?.modifiers,
|
|
393
365
|
ts3__default.default.factory.createIdentifier("headers"),
|
|
@@ -404,7 +376,7 @@ function normalizeContentType(contentType, context, options) {
|
|
|
404
376
|
if (!ts3__default.default.isTypeLiteralNode(contentType)) {
|
|
405
377
|
return contentType;
|
|
406
378
|
}
|
|
407
|
-
const newHeader = contentType.members.map(
|
|
379
|
+
const newHeader = contentType.members.map(normalizeRequestHeaders).find(isDefined_default);
|
|
408
380
|
const newBodyMembers = contentType.members.flatMap((body) => {
|
|
409
381
|
if (isContentPropertySignature(body)) {
|
|
410
382
|
return body.type.members.map((member) => normalizeRequestBodyMember(member, context, { questionToken: bodyQuestionToken })).filter(isDefined_default);
|
|
@@ -416,7 +388,7 @@ function normalizeContentType(contentType, context, options) {
|
|
|
416
388
|
return ts3__default.default.factory.updateTypeLiteralNode(contentType, ts3__default.default.factory.createNodeArray(newMembers));
|
|
417
389
|
} else {
|
|
418
390
|
const bodyMemberUnionTypes = newBodyMembers.map((bodyMember) => {
|
|
419
|
-
const headerMember = createHeaderForUnionByContentType(newHeader, bodyMember.contentTypeName
|
|
391
|
+
const headerMember = createHeaderForUnionByContentType(newHeader, bodyMember.contentTypeName);
|
|
420
392
|
return ts3__default.default.factory.createTypeLiteralNode([headerMember, bodyMember.propertySignature]);
|
|
421
393
|
});
|
|
422
394
|
return ts3__default.default.factory.createUnionTypeNode(bodyMemberUnionTypes);
|
|
@@ -435,22 +407,12 @@ function normalizeRequest(request, context) {
|
|
|
435
407
|
return ts3__default.default.factory.updatePropertySignature(request, request.modifiers, newIdentifier, void 0, newType);
|
|
436
408
|
}
|
|
437
409
|
__name(normalizeRequest, "normalizeRequest");
|
|
438
|
-
function wrapResponseType(type, context) {
|
|
439
|
-
context.typeImports.http.add("HttpSchema");
|
|
440
|
-
const httpSchemaResponseWrapper = ts3__default.default.factory.createQualifiedName(
|
|
441
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
442
|
-
ts3__default.default.factory.createIdentifier("Response")
|
|
443
|
-
);
|
|
444
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaResponseWrapper, [type]);
|
|
445
|
-
}
|
|
446
|
-
__name(wrapResponseType, "wrapResponseType");
|
|
447
410
|
function normalizeResponseType(responseType, context, options) {
|
|
448
|
-
const {
|
|
411
|
+
const { questionToken } = options;
|
|
449
412
|
if (!ts3__default.default.isTypeLiteralNode(responseType)) {
|
|
450
413
|
return responseType;
|
|
451
414
|
}
|
|
452
|
-
|
|
453
|
-
return isComponent2 ? wrapResponseType(newType, context) : newType;
|
|
415
|
+
return normalizeContentType(responseType, context, { bodyQuestionToken: questionToken });
|
|
454
416
|
}
|
|
455
417
|
__name(normalizeResponseType, "normalizeResponseType");
|
|
456
418
|
var NON_NUMERIC_RESPONSE_STATUS_TO_MAPPED_TYPE = {
|
|
@@ -467,7 +429,6 @@ function normalizeResponse(response, context, options = {}) {
|
|
|
467
429
|
return void 0;
|
|
468
430
|
}
|
|
469
431
|
const newType = normalizeResponseType(response.type, context, {
|
|
470
|
-
isComponent: isComponent2,
|
|
471
432
|
questionToken: response.questionToken
|
|
472
433
|
});
|
|
473
434
|
const statusCodeOrComponentName = response.name.text;
|
|
@@ -575,15 +536,12 @@ function normalizeRequestQueryWithParameters(requestMember, context) {
|
|
|
575
536
|
const newIdentifier = ts3__default.default.factory.createIdentifier("searchParams");
|
|
576
537
|
const newQuestionToken = void 0;
|
|
577
538
|
const newType = renameComponentReferences(requestMember.type, context);
|
|
578
|
-
context.typeImports.http.add("HttpSearchParamsSerialized");
|
|
579
|
-
const serializedWrapper = ts3__default.default.factory.createIdentifier("HttpSearchParamsSerialized");
|
|
580
|
-
const wrappedNewType = ts3__default.default.factory.createTypeReferenceNode(serializedWrapper, [newType]);
|
|
581
539
|
return ts3__default.default.factory.updatePropertySignature(
|
|
582
540
|
requestMember,
|
|
583
541
|
requestMember.modifiers,
|
|
584
542
|
newIdentifier,
|
|
585
543
|
newQuestionToken,
|
|
586
|
-
|
|
544
|
+
newType
|
|
587
545
|
);
|
|
588
546
|
}
|
|
589
547
|
__name(normalizeRequestQueryWithParameters, "normalizeRequestQueryWithParameters");
|
|
@@ -591,15 +549,12 @@ function normalizeRequestHeadersWithParameters(requestMember, context) {
|
|
|
591
549
|
const newIdentifier = ts3__default.default.factory.createIdentifier("headers");
|
|
592
550
|
const newQuestionToken = void 0;
|
|
593
551
|
const newType = renameComponentReferences(requestMember.type, context);
|
|
594
|
-
context.typeImports.http.add("HttpHeadersSerialized");
|
|
595
|
-
const serializedWrapper = ts3__default.default.factory.createIdentifier("HttpHeadersSerialized");
|
|
596
|
-
const wrappedNewType = ts3__default.default.factory.createTypeReferenceNode(serializedWrapper, [newType]);
|
|
597
552
|
return ts3__default.default.factory.updatePropertySignature(
|
|
598
553
|
requestMember,
|
|
599
554
|
requestMember.modifiers,
|
|
600
555
|
newIdentifier,
|
|
601
556
|
newQuestionToken,
|
|
602
|
-
|
|
557
|
+
newType
|
|
603
558
|
);
|
|
604
559
|
}
|
|
605
560
|
__name(normalizeRequestHeadersWithParameters, "normalizeRequestHeadersWithParameters");
|
|
@@ -617,14 +572,9 @@ function normalizeRequestMemberWithParameters(requestMember, context) {
|
|
|
617
572
|
}
|
|
618
573
|
__name(normalizeRequestMemberWithParameters, "normalizeRequestMemberWithParameters");
|
|
619
574
|
function mergeRequestHeadersMember(headers, otherHeaders) {
|
|
620
|
-
const
|
|
621
|
-
const otherHeadersTypeLiteral = otherHeaders.type.typeArguments[0];
|
|
622
|
-
const newType = ts3__default.default.factory.updateTypeReferenceNode(
|
|
575
|
+
const newType = ts3__default.default.factory.updateTypeLiteralNode(
|
|
623
576
|
headers.type,
|
|
624
|
-
headers.type.
|
|
625
|
-
ts3__default.default.factory.createNodeArray([
|
|
626
|
-
ts3__default.default.factory.createTypeLiteralNode([...otherHeadersTypeLiteral.members, ...headersTypeLiteral.members])
|
|
627
|
-
])
|
|
577
|
+
ts3__default.default.factory.createNodeArray([...otherHeaders.type.members, ...headers.type.members])
|
|
628
578
|
);
|
|
629
579
|
return ts3__default.default.factory.updatePropertySignature(
|
|
630
580
|
headers,
|
|
@@ -761,15 +711,6 @@ function normalizePathNameWithParameters(pathName) {
|
|
|
761
711
|
return pathName.replace(/{([^}]+)}/g, ":$1");
|
|
762
712
|
}
|
|
763
713
|
__name(normalizePathNameWithParameters, "normalizePathNameWithParameters");
|
|
764
|
-
function wrapComponentPathType(type, context) {
|
|
765
|
-
context.typeImports.http.add("HttpSchema");
|
|
766
|
-
const httpSchemaMethodsWrapper = ts3__default.default.factory.createQualifiedName(
|
|
767
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
768
|
-
ts3__default.default.factory.createIdentifier("Methods")
|
|
769
|
-
);
|
|
770
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaMethodsWrapper, [type]);
|
|
771
|
-
}
|
|
772
|
-
__name(wrapComponentPathType, "wrapComponentPathType");
|
|
773
714
|
function normalizePath(path4, context, options = {}) {
|
|
774
715
|
const { isComponent: isComponent2 = false } = options;
|
|
775
716
|
if (!isPath(path4)) {
|
|
@@ -787,13 +728,7 @@ function normalizePath(path4, context, options = {}) {
|
|
|
787
728
|
} else {
|
|
788
729
|
newType = renameComponentReferences(path4.type, context);
|
|
789
730
|
}
|
|
790
|
-
return ts3__default.default.factory.updatePropertySignature(
|
|
791
|
-
path4,
|
|
792
|
-
path4.modifiers,
|
|
793
|
-
newIdentifier,
|
|
794
|
-
path4.questionToken,
|
|
795
|
-
isComponent2 ? wrapComponentPathType(newType, context) : newType
|
|
796
|
-
);
|
|
731
|
+
return ts3__default.default.factory.updatePropertySignature(path4, path4.modifiers, newIdentifier, path4.questionToken, newType);
|
|
797
732
|
}
|
|
798
733
|
__name(normalizePath, "normalizePath");
|
|
799
734
|
function wrapPathsType(type, context) {
|
|
@@ -965,15 +900,6 @@ function processPendingRequestComponentActions(component, context) {
|
|
|
965
900
|
return { bodyQuestionToken };
|
|
966
901
|
}
|
|
967
902
|
__name(processPendingRequestComponentActions, "processPendingRequestComponentActions");
|
|
968
|
-
function wrapRequestComponentType(type, context) {
|
|
969
|
-
context.typeImports.http.add("HttpSchema");
|
|
970
|
-
const httpSchemaRequestWrapper = ts3__default.default.factory.createQualifiedName(
|
|
971
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
972
|
-
ts3__default.default.factory.createIdentifier("Request")
|
|
973
|
-
);
|
|
974
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaRequestWrapper, [type]);
|
|
975
|
-
}
|
|
976
|
-
__name(wrapRequestComponentType, "wrapRequestComponentType");
|
|
977
903
|
function normalizeRequestComponent(component, context) {
|
|
978
904
|
if (!isRequestComponent(component)) {
|
|
979
905
|
return void 0;
|
|
@@ -985,7 +911,7 @@ function normalizeRequestComponent(component, context) {
|
|
|
985
911
|
component.modifiers,
|
|
986
912
|
component.name,
|
|
987
913
|
component.questionToken,
|
|
988
|
-
|
|
914
|
+
newType
|
|
989
915
|
);
|
|
990
916
|
}
|
|
991
917
|
__name(normalizeRequestComponent, "normalizeRequestComponent");
|
|
@@ -1414,5 +1340,5 @@ var generate_default = generateTypesFromOpenAPI;
|
|
|
1414
1340
|
exports.__name = __name;
|
|
1415
1341
|
exports.generate_default = generate_default;
|
|
1416
1342
|
exports.logger = logger;
|
|
1417
|
-
//# sourceMappingURL=chunk-
|
|
1418
|
-
//# sourceMappingURL=chunk-
|
|
1343
|
+
//# sourceMappingURL=chunk-LOHINQWU.js.map
|
|
1344
|
+
//# sourceMappingURL=chunk-LOHINQWU.js.map
|