@zimic/http 0.3.2 → 0.4.0-canary.1
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/dist/{chunk-4OL77NXP.mjs → chunk-KVTV4E5K.mjs} +28 -100
- package/dist/chunk-KVTV4E5K.mjs.map +1 -0
- package/dist/{chunk-56PYXPSB.js → chunk-LOHINQWU.js} +28 -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 +71 -132
- package/dist/index.js +3 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -13
- 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 +14 -11
- package/src/headers/HttpHeaders.ts +12 -9
- package/src/headers/types.ts +2 -2
- package/src/index.ts +1 -3
- package/src/searchParams/HttpSearchParams.ts +23 -15
- package/src/searchParams/types.ts +2 -2
- 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 +15 -18
- package/src/types/schema.ts +50 -147
- package/dist/chunk-4OL77NXP.mjs.map +0 -1
- package/dist/chunk-56PYXPSB.js.map +0 -1
|
@@ -58,6 +58,8 @@ function createImportDeclaration(importSpecifiers, moduleName, options) {
|
|
|
58
58
|
);
|
|
59
59
|
}
|
|
60
60
|
__name(createImportDeclaration, "createImportDeclaration");
|
|
61
|
+
|
|
62
|
+
// src/types/schema.ts
|
|
61
63
|
var HTTP_METHODS = Object.freeze(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]);
|
|
62
64
|
|
|
63
65
|
// ../zimic-utils/dist/logging/Logger.mjs
|
|
@@ -160,15 +162,6 @@ function isOperation(node) {
|
|
|
160
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);
|
|
161
163
|
}
|
|
162
164
|
__name(isOperation, "isOperation");
|
|
163
|
-
function wrapOperationType(type, context) {
|
|
164
|
-
context.typeImports.http.add("HttpSchema");
|
|
165
|
-
const httpSchemaMethodWrapper = ts3__default.default.factory.createQualifiedName(
|
|
166
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
167
|
-
ts3__default.default.factory.createIdentifier("Method")
|
|
168
|
-
);
|
|
169
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaMethodWrapper, [type]);
|
|
170
|
-
}
|
|
171
|
-
__name(wrapOperationType, "wrapOperationType");
|
|
172
165
|
function normalizeOperation(operation, context) {
|
|
173
166
|
if (!isOperation(operation)) {
|
|
174
167
|
return void 0;
|
|
@@ -179,7 +172,7 @@ function normalizeOperation(operation, context) {
|
|
|
179
172
|
operation.modifiers,
|
|
180
173
|
operation.name,
|
|
181
174
|
operation.questionToken,
|
|
182
|
-
|
|
175
|
+
newType
|
|
183
176
|
);
|
|
184
177
|
}
|
|
185
178
|
__name(normalizeOperation, "normalizeOperation");
|
|
@@ -244,7 +237,7 @@ function isRequestHeaders(node) {
|
|
|
244
237
|
}
|
|
245
238
|
__name(isRequestHeaders, "isRequestHeaders");
|
|
246
239
|
function isNormalizedRequestHeaders(node) {
|
|
247
|
-
return isRequestMember(node) && node.name.text === "headers" && ts3__default.default.
|
|
240
|
+
return isRequestMember(node) && node.name.text === "headers" && ts3__default.default.isTypeLiteralNode(node.type);
|
|
248
241
|
}
|
|
249
242
|
__name(isNormalizedRequestHeaders, "isNormalizedRequestHeaders");
|
|
250
243
|
function isRequestParameters(node) {
|
|
@@ -290,21 +283,15 @@ function removeRedundantNullUnionIfNecessary(type) {
|
|
|
290
283
|
__name(removeRedundantNullUnionIfNecessary, "removeRedundantNullUnionIfNecessary");
|
|
291
284
|
function wrapFormDataContentType(type, context) {
|
|
292
285
|
context.typeImports.http.add("HttpFormData");
|
|
293
|
-
context.typeImports.http.add("HttpFormDataSerialized");
|
|
294
286
|
return ts3__default.default.factory.createTypeReferenceNode(ts3__default.default.factory.createIdentifier("HttpFormData"), [
|
|
295
|
-
|
|
296
|
-
renameComponentReferences(type, context)
|
|
297
|
-
])
|
|
287
|
+
renameComponentReferences(type, context)
|
|
298
288
|
]);
|
|
299
289
|
}
|
|
300
290
|
__name(wrapFormDataContentType, "wrapFormDataContentType");
|
|
301
291
|
function wrapURLEncodedContentType(type, context) {
|
|
302
292
|
context.typeImports.http.add("HttpSearchParams");
|
|
303
|
-
context.typeImports.http.add("HttpSearchParamsSerialized");
|
|
304
293
|
return ts3__default.default.factory.createTypeReferenceNode(ts3__default.default.factory.createIdentifier("HttpSearchParams"), [
|
|
305
|
-
|
|
306
|
-
renameComponentReferences(type, context)
|
|
307
|
-
])
|
|
294
|
+
renameComponentReferences(type, context)
|
|
308
295
|
]);
|
|
309
296
|
}
|
|
310
297
|
__name(wrapURLEncodedContentType, "wrapURLEncodedContentType");
|
|
@@ -332,16 +319,7 @@ function normalizeRequestBodyMember(requestBodyMember, context, options) {
|
|
|
332
319
|
};
|
|
333
320
|
}
|
|
334
321
|
__name(normalizeRequestBodyMember, "normalizeRequestBodyMember");
|
|
335
|
-
function
|
|
336
|
-
context.typeImports.http.add("HttpHeadersSerialized");
|
|
337
|
-
const serializedWrapper = ts3__default.default.factory.createIdentifier("HttpHeadersSerialized");
|
|
338
|
-
return ts3__default.default.factory.createTypeReferenceNode(
|
|
339
|
-
serializedWrapper,
|
|
340
|
-
ts3__default.default.factory.createNodeArray([type])
|
|
341
|
-
);
|
|
342
|
-
}
|
|
343
|
-
__name(wrapHeadersType, "wrapHeadersType");
|
|
344
|
-
function normalizeHeaders(headers, context) {
|
|
322
|
+
function normalizeHeaders(headers) {
|
|
345
323
|
const newHeaderMembers = headers.members.filter((header) => {
|
|
346
324
|
if (ts3__default.default.isIndexSignatureDeclaration(header)) {
|
|
347
325
|
return false;
|
|
@@ -354,15 +332,14 @@ function normalizeHeaders(headers, context) {
|
|
|
354
332
|
if (newHeaderMembers.length === 0) {
|
|
355
333
|
return void 0;
|
|
356
334
|
}
|
|
357
|
-
|
|
358
|
-
return wrapHeadersType(newHeaders, context);
|
|
335
|
+
return ts3__default.default.factory.updateTypeLiteralNode(headers, ts3__default.default.factory.createNodeArray(newHeaderMembers));
|
|
359
336
|
}
|
|
360
337
|
__name(normalizeHeaders, "normalizeHeaders");
|
|
361
|
-
function normalizeRequestHeaders(requestHeader
|
|
338
|
+
function normalizeRequestHeaders(requestHeader) {
|
|
362
339
|
if (!isRequestHeaders(requestHeader)) {
|
|
363
340
|
return void 0;
|
|
364
341
|
}
|
|
365
|
-
const newType = normalizeHeaders(requestHeader.type
|
|
342
|
+
const newType = normalizeHeaders(requestHeader.type);
|
|
366
343
|
if (!newType) {
|
|
367
344
|
return void 0;
|
|
368
345
|
}
|
|
@@ -375,17 +352,14 @@ function normalizeRequestHeaders(requestHeader, context) {
|
|
|
375
352
|
);
|
|
376
353
|
}
|
|
377
354
|
__name(normalizeRequestHeaders, "normalizeRequestHeaders");
|
|
378
|
-
function createHeaderForUnionByContentType(existingHeader, contentTypeName
|
|
379
|
-
const existingHeaderMembers = existingHeader
|
|
355
|
+
function createHeaderForUnionByContentType(existingHeader, contentTypeName) {
|
|
356
|
+
const existingHeaderMembers = existingHeader?.type.members ?? [];
|
|
380
357
|
const contentTypeIdentifier = ts3__default.default.factory.createIdentifier('"content-type"');
|
|
381
358
|
const contentTypeValue = ts3__default.default.factory.createLiteralTypeNode(ts3__default.default.factory.createStringLiteral(contentTypeName));
|
|
382
|
-
const newHeaderType =
|
|
383
|
-
ts3__default.default.factory.
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
]),
|
|
387
|
-
context
|
|
388
|
-
);
|
|
359
|
+
const newHeaderType = ts3__default.default.factory.createTypeLiteralNode([
|
|
360
|
+
ts3__default.default.factory.createPropertySignature(void 0, contentTypeIdentifier, void 0, contentTypeValue),
|
|
361
|
+
...existingHeaderMembers
|
|
362
|
+
]);
|
|
389
363
|
return ts3__default.default.factory.createPropertySignature(
|
|
390
364
|
existingHeader?.modifiers,
|
|
391
365
|
ts3__default.default.factory.createIdentifier("headers"),
|
|
@@ -402,7 +376,7 @@ function normalizeContentType(contentType, context, options) {
|
|
|
402
376
|
if (!ts3__default.default.isTypeLiteralNode(contentType)) {
|
|
403
377
|
return contentType;
|
|
404
378
|
}
|
|
405
|
-
const newHeader = contentType.members.map(
|
|
379
|
+
const newHeader = contentType.members.map(normalizeRequestHeaders).find(isDefined_default);
|
|
406
380
|
const newBodyMembers = contentType.members.flatMap((body) => {
|
|
407
381
|
if (isContentPropertySignature(body)) {
|
|
408
382
|
return body.type.members.map((member) => normalizeRequestBodyMember(member, context, { questionToken: bodyQuestionToken })).filter(isDefined_default);
|
|
@@ -414,7 +388,7 @@ function normalizeContentType(contentType, context, options) {
|
|
|
414
388
|
return ts3__default.default.factory.updateTypeLiteralNode(contentType, ts3__default.default.factory.createNodeArray(newMembers));
|
|
415
389
|
} else {
|
|
416
390
|
const bodyMemberUnionTypes = newBodyMembers.map((bodyMember) => {
|
|
417
|
-
const headerMember = createHeaderForUnionByContentType(newHeader, bodyMember.contentTypeName
|
|
391
|
+
const headerMember = createHeaderForUnionByContentType(newHeader, bodyMember.contentTypeName);
|
|
418
392
|
return ts3__default.default.factory.createTypeLiteralNode([headerMember, bodyMember.propertySignature]);
|
|
419
393
|
});
|
|
420
394
|
return ts3__default.default.factory.createUnionTypeNode(bodyMemberUnionTypes);
|
|
@@ -433,22 +407,12 @@ function normalizeRequest(request, context) {
|
|
|
433
407
|
return ts3__default.default.factory.updatePropertySignature(request, request.modifiers, newIdentifier, void 0, newType);
|
|
434
408
|
}
|
|
435
409
|
__name(normalizeRequest, "normalizeRequest");
|
|
436
|
-
function wrapResponseType(type, context) {
|
|
437
|
-
context.typeImports.http.add("HttpSchema");
|
|
438
|
-
const httpSchemaResponseWrapper = ts3__default.default.factory.createQualifiedName(
|
|
439
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
440
|
-
ts3__default.default.factory.createIdentifier("Response")
|
|
441
|
-
);
|
|
442
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaResponseWrapper, [type]);
|
|
443
|
-
}
|
|
444
|
-
__name(wrapResponseType, "wrapResponseType");
|
|
445
410
|
function normalizeResponseType(responseType, context, options) {
|
|
446
|
-
const {
|
|
411
|
+
const { questionToken } = options;
|
|
447
412
|
if (!ts3__default.default.isTypeLiteralNode(responseType)) {
|
|
448
413
|
return responseType;
|
|
449
414
|
}
|
|
450
|
-
|
|
451
|
-
return isComponent2 ? wrapResponseType(newType, context) : newType;
|
|
415
|
+
return normalizeContentType(responseType, context, { bodyQuestionToken: questionToken });
|
|
452
416
|
}
|
|
453
417
|
__name(normalizeResponseType, "normalizeResponseType");
|
|
454
418
|
var NON_NUMERIC_RESPONSE_STATUS_TO_MAPPED_TYPE = {
|
|
@@ -465,7 +429,6 @@ function normalizeResponse(response, context, options = {}) {
|
|
|
465
429
|
return void 0;
|
|
466
430
|
}
|
|
467
431
|
const newType = normalizeResponseType(response.type, context, {
|
|
468
|
-
isComponent: isComponent2,
|
|
469
432
|
questionToken: response.questionToken
|
|
470
433
|
});
|
|
471
434
|
const statusCodeOrComponentName = response.name.text;
|
|
@@ -573,15 +536,12 @@ function normalizeRequestQueryWithParameters(requestMember, context) {
|
|
|
573
536
|
const newIdentifier = ts3__default.default.factory.createIdentifier("searchParams");
|
|
574
537
|
const newQuestionToken = void 0;
|
|
575
538
|
const newType = renameComponentReferences(requestMember.type, context);
|
|
576
|
-
context.typeImports.http.add("HttpSearchParamsSerialized");
|
|
577
|
-
const serializedWrapper = ts3__default.default.factory.createIdentifier("HttpSearchParamsSerialized");
|
|
578
|
-
const wrappedNewType = ts3__default.default.factory.createTypeReferenceNode(serializedWrapper, [newType]);
|
|
579
539
|
return ts3__default.default.factory.updatePropertySignature(
|
|
580
540
|
requestMember,
|
|
581
541
|
requestMember.modifiers,
|
|
582
542
|
newIdentifier,
|
|
583
543
|
newQuestionToken,
|
|
584
|
-
|
|
544
|
+
newType
|
|
585
545
|
);
|
|
586
546
|
}
|
|
587
547
|
__name(normalizeRequestQueryWithParameters, "normalizeRequestQueryWithParameters");
|
|
@@ -589,15 +549,12 @@ function normalizeRequestHeadersWithParameters(requestMember, context) {
|
|
|
589
549
|
const newIdentifier = ts3__default.default.factory.createIdentifier("headers");
|
|
590
550
|
const newQuestionToken = void 0;
|
|
591
551
|
const newType = renameComponentReferences(requestMember.type, context);
|
|
592
|
-
context.typeImports.http.add("HttpHeadersSerialized");
|
|
593
|
-
const serializedWrapper = ts3__default.default.factory.createIdentifier("HttpHeadersSerialized");
|
|
594
|
-
const wrappedNewType = ts3__default.default.factory.createTypeReferenceNode(serializedWrapper, [newType]);
|
|
595
552
|
return ts3__default.default.factory.updatePropertySignature(
|
|
596
553
|
requestMember,
|
|
597
554
|
requestMember.modifiers,
|
|
598
555
|
newIdentifier,
|
|
599
556
|
newQuestionToken,
|
|
600
|
-
|
|
557
|
+
newType
|
|
601
558
|
);
|
|
602
559
|
}
|
|
603
560
|
__name(normalizeRequestHeadersWithParameters, "normalizeRequestHeadersWithParameters");
|
|
@@ -615,14 +572,9 @@ function normalizeRequestMemberWithParameters(requestMember, context) {
|
|
|
615
572
|
}
|
|
616
573
|
__name(normalizeRequestMemberWithParameters, "normalizeRequestMemberWithParameters");
|
|
617
574
|
function mergeRequestHeadersMember(headers, otherHeaders) {
|
|
618
|
-
const
|
|
619
|
-
const otherHeadersTypeLiteral = otherHeaders.type.typeArguments[0];
|
|
620
|
-
const newType = ts3__default.default.factory.updateTypeReferenceNode(
|
|
575
|
+
const newType = ts3__default.default.factory.updateTypeLiteralNode(
|
|
621
576
|
headers.type,
|
|
622
|
-
headers.type.
|
|
623
|
-
ts3__default.default.factory.createNodeArray([
|
|
624
|
-
ts3__default.default.factory.createTypeLiteralNode([...otherHeadersTypeLiteral.members, ...headersTypeLiteral.members])
|
|
625
|
-
])
|
|
577
|
+
ts3__default.default.factory.createNodeArray([...otherHeaders.type.members, ...headers.type.members])
|
|
626
578
|
);
|
|
627
579
|
return ts3__default.default.factory.updatePropertySignature(
|
|
628
580
|
headers,
|
|
@@ -759,15 +711,6 @@ function normalizePathNameWithParameters(pathName) {
|
|
|
759
711
|
return pathName.replace(/{([^}]+)}/g, ":$1");
|
|
760
712
|
}
|
|
761
713
|
__name(normalizePathNameWithParameters, "normalizePathNameWithParameters");
|
|
762
|
-
function wrapComponentPathType(type, context) {
|
|
763
|
-
context.typeImports.http.add("HttpSchema");
|
|
764
|
-
const httpSchemaMethodsWrapper = ts3__default.default.factory.createQualifiedName(
|
|
765
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
766
|
-
ts3__default.default.factory.createIdentifier("Methods")
|
|
767
|
-
);
|
|
768
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaMethodsWrapper, [type]);
|
|
769
|
-
}
|
|
770
|
-
__name(wrapComponentPathType, "wrapComponentPathType");
|
|
771
714
|
function normalizePath(path4, context, options = {}) {
|
|
772
715
|
const { isComponent: isComponent2 = false } = options;
|
|
773
716
|
if (!isPath(path4)) {
|
|
@@ -785,13 +728,7 @@ function normalizePath(path4, context, options = {}) {
|
|
|
785
728
|
} else {
|
|
786
729
|
newType = renameComponentReferences(path4.type, context);
|
|
787
730
|
}
|
|
788
|
-
return ts3__default.default.factory.updatePropertySignature(
|
|
789
|
-
path4,
|
|
790
|
-
path4.modifiers,
|
|
791
|
-
newIdentifier,
|
|
792
|
-
path4.questionToken,
|
|
793
|
-
isComponent2 ? wrapComponentPathType(newType, context) : newType
|
|
794
|
-
);
|
|
731
|
+
return ts3__default.default.factory.updatePropertySignature(path4, path4.modifiers, newIdentifier, path4.questionToken, newType);
|
|
795
732
|
}
|
|
796
733
|
__name(normalizePath, "normalizePath");
|
|
797
734
|
function wrapPathsType(type, context) {
|
|
@@ -963,15 +900,6 @@ function processPendingRequestComponentActions(component, context) {
|
|
|
963
900
|
return { bodyQuestionToken };
|
|
964
901
|
}
|
|
965
902
|
__name(processPendingRequestComponentActions, "processPendingRequestComponentActions");
|
|
966
|
-
function wrapRequestComponentType(type, context) {
|
|
967
|
-
context.typeImports.http.add("HttpSchema");
|
|
968
|
-
const httpSchemaRequestWrapper = ts3__default.default.factory.createQualifiedName(
|
|
969
|
-
ts3__default.default.factory.createIdentifier("HttpSchema"),
|
|
970
|
-
ts3__default.default.factory.createIdentifier("Request")
|
|
971
|
-
);
|
|
972
|
-
return ts3__default.default.factory.createTypeReferenceNode(httpSchemaRequestWrapper, [type]);
|
|
973
|
-
}
|
|
974
|
-
__name(wrapRequestComponentType, "wrapRequestComponentType");
|
|
975
903
|
function normalizeRequestComponent(component, context) {
|
|
976
904
|
if (!isRequestComponent(component)) {
|
|
977
905
|
return void 0;
|
|
@@ -983,7 +911,7 @@ function normalizeRequestComponent(component, context) {
|
|
|
983
911
|
component.modifiers,
|
|
984
912
|
component.name,
|
|
985
913
|
component.questionToken,
|
|
986
|
-
|
|
914
|
+
newType
|
|
987
915
|
);
|
|
988
916
|
}
|
|
989
917
|
__name(normalizeRequestComponent, "normalizeRequestComponent");
|
|
@@ -1412,5 +1340,5 @@ var generate_default = generateTypesFromOpenAPI;
|
|
|
1412
1340
|
exports.__name = __name;
|
|
1413
1341
|
exports.generate_default = generate_default;
|
|
1414
1342
|
exports.logger = logger;
|
|
1415
|
-
//# sourceMappingURL=chunk-
|
|
1416
|
-
//# sourceMappingURL=chunk-
|
|
1343
|
+
//# sourceMappingURL=chunk-LOHINQWU.js.map
|
|
1344
|
+
//# sourceMappingURL=chunk-LOHINQWU.js.map
|