zod-nest 0.5.0 → 0.6.0
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/index.js +29 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +29 -41
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -758,15 +758,27 @@ var runPass = (opts, io, knownIds) => {
|
|
|
758
758
|
const raw = zod.z.toJSONSchema(opts.registry.zodRegistry, built.options);
|
|
759
759
|
built.consumeUnrepresentable();
|
|
760
760
|
const filtered = /* @__PURE__ */ new Map();
|
|
761
|
-
const schemas = raw.schemas ?? {};
|
|
762
761
|
for (const id of knownIds) {
|
|
763
|
-
if (Object.prototype.hasOwnProperty.call(schemas, id)) {
|
|
764
|
-
filtered.set(id, schemas[id]);
|
|
762
|
+
if (Object.prototype.hasOwnProperty.call(raw.schemas, id)) {
|
|
763
|
+
filtered.set(id, raw.schemas[id]);
|
|
765
764
|
}
|
|
766
765
|
}
|
|
767
766
|
return filtered;
|
|
768
767
|
};
|
|
769
|
-
|
|
768
|
+
|
|
769
|
+
// src/document/http-methods.ts
|
|
770
|
+
var HTTP_METHODS = [
|
|
771
|
+
"get",
|
|
772
|
+
"put",
|
|
773
|
+
"post",
|
|
774
|
+
"delete",
|
|
775
|
+
"options",
|
|
776
|
+
"head",
|
|
777
|
+
"patch",
|
|
778
|
+
"trace"
|
|
779
|
+
];
|
|
780
|
+
|
|
781
|
+
// src/document/collect-usage.ts
|
|
770
782
|
var collectUsage = (doc, app) => {
|
|
771
783
|
const classToDtoId = buildClassToDtoIdMap(doc);
|
|
772
784
|
const inputExposedIds = collectInputExposedIds(doc, classToDtoId);
|
|
@@ -812,16 +824,6 @@ var collectInputExposedIds = (doc, classToDtoId) => {
|
|
|
812
824
|
}
|
|
813
825
|
return ids;
|
|
814
826
|
};
|
|
815
|
-
var HTTP_METHODS = [
|
|
816
|
-
"get",
|
|
817
|
-
"put",
|
|
818
|
-
"post",
|
|
819
|
-
"delete",
|
|
820
|
-
"options",
|
|
821
|
-
"head",
|
|
822
|
-
"patch",
|
|
823
|
-
"trace"
|
|
824
|
-
];
|
|
825
827
|
var operationsOf = (pathItem) => {
|
|
826
828
|
const out = [];
|
|
827
829
|
for (const method of HTTP_METHODS) {
|
|
@@ -865,10 +867,10 @@ var collectRefFromSchema = (schema, classToDtoId, ids) => {
|
|
|
865
867
|
return;
|
|
866
868
|
}
|
|
867
869
|
const ref = schema.$ref;
|
|
868
|
-
if (typeof ref !== "string" || !ref.startsWith(
|
|
870
|
+
if (typeof ref !== "string" || !ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
|
|
869
871
|
return;
|
|
870
872
|
}
|
|
871
|
-
const className = ref.slice(
|
|
873
|
+
const className = ref.slice(COMPONENTS_SCHEMAS_PREFIX.length);
|
|
872
874
|
const dtoId = classToDtoId.get(className);
|
|
873
875
|
if (dtoId !== void 0) {
|
|
874
876
|
ids.add(dtoId);
|
|
@@ -883,9 +885,6 @@ var collectOutputExposedIds = (app) => {
|
|
|
883
885
|
continue;
|
|
884
886
|
}
|
|
885
887
|
const proto = Object.getPrototypeOf(instance);
|
|
886
|
-
if (proto === null) {
|
|
887
|
-
continue;
|
|
888
|
-
}
|
|
889
888
|
for (const methodName of Object.getOwnPropertyNames(proto)) {
|
|
890
889
|
if (methodName === "constructor") {
|
|
891
890
|
continue;
|
|
@@ -957,15 +956,14 @@ var walkRefs = (node, visit) => {
|
|
|
957
956
|
};
|
|
958
957
|
|
|
959
958
|
// src/document/dangling-refs.ts
|
|
960
|
-
var SCHEMA_PREFIX = "#/components/schemas/";
|
|
961
959
|
var assertNoDanglingRefs = (doc) => {
|
|
962
960
|
const schemas = doc.components?.schemas ?? {};
|
|
963
961
|
const dangling = [];
|
|
964
962
|
walkRefs(doc, (ref) => {
|
|
965
|
-
if (!ref.startsWith(
|
|
963
|
+
if (!ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
|
|
966
964
|
return void 0;
|
|
967
965
|
}
|
|
968
|
-
const target = ref.slice(
|
|
966
|
+
const target = ref.slice(COMPONENTS_SCHEMAS_PREFIX.length);
|
|
969
967
|
if (!(target in schemas)) {
|
|
970
968
|
dangling.push(ref);
|
|
971
969
|
}
|
|
@@ -1055,7 +1053,8 @@ var isMarkerPlaceholder = (value) => {
|
|
|
1055
1053
|
if (properties === null || typeof properties !== "object") {
|
|
1056
1054
|
return false;
|
|
1057
1055
|
}
|
|
1058
|
-
|
|
1056
|
+
const marker = properties[ZOD_NEST_DTO_EXTENSION];
|
|
1057
|
+
return isZodDtoMarker(marker);
|
|
1059
1058
|
};
|
|
1060
1059
|
var canonicalEqual = (a, b) => {
|
|
1061
1060
|
if (a === b) {
|
|
@@ -1085,31 +1084,20 @@ var decorateIfPresent = (schemas, key) => {
|
|
|
1085
1084
|
};
|
|
1086
1085
|
|
|
1087
1086
|
// src/document/rewrite-refs.ts
|
|
1088
|
-
var SCHEMA_PREFIX2 = "#/components/schemas/";
|
|
1089
1087
|
var OUTPUT_SUFFIX2 = "Output";
|
|
1090
|
-
var HTTP_METHODS2 = [
|
|
1091
|
-
"get",
|
|
1092
|
-
"put",
|
|
1093
|
-
"post",
|
|
1094
|
-
"delete",
|
|
1095
|
-
"options",
|
|
1096
|
-
"head",
|
|
1097
|
-
"patch",
|
|
1098
|
-
"trace"
|
|
1099
|
-
];
|
|
1100
1088
|
var rewriteRefs2 = (params) => {
|
|
1101
1089
|
const { doc, renames, divergentOutputIds } = params;
|
|
1102
1090
|
if (renames.size > 0) {
|
|
1103
1091
|
walkRefs(doc, (ref) => {
|
|
1104
|
-
if (!ref.startsWith(
|
|
1092
|
+
if (!ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
|
|
1105
1093
|
return void 0;
|
|
1106
1094
|
}
|
|
1107
|
-
const target = ref.slice(
|
|
1095
|
+
const target = ref.slice(COMPONENTS_SCHEMAS_PREFIX.length);
|
|
1108
1096
|
const renamed = renames.get(target);
|
|
1109
1097
|
if (renamed === void 0) {
|
|
1110
1098
|
return void 0;
|
|
1111
1099
|
}
|
|
1112
|
-
return `${
|
|
1100
|
+
return `${COMPONENTS_SCHEMAS_PREFIX}${renamed}`;
|
|
1113
1101
|
});
|
|
1114
1102
|
}
|
|
1115
1103
|
if (divergentOutputIds.size === 0) {
|
|
@@ -1124,7 +1112,7 @@ var rewriteRefs2 = (params) => {
|
|
|
1124
1112
|
}
|
|
1125
1113
|
};
|
|
1126
1114
|
var rewriteResponseSubtree = (pathItem, divergentOutputIds) => {
|
|
1127
|
-
for (const method of
|
|
1115
|
+
for (const method of HTTP_METHODS) {
|
|
1128
1116
|
const op = pathItem[method];
|
|
1129
1117
|
if (op === null || typeof op !== "object") {
|
|
1130
1118
|
continue;
|
|
@@ -1134,14 +1122,14 @@ var rewriteResponseSubtree = (pathItem, divergentOutputIds) => {
|
|
|
1134
1122
|
continue;
|
|
1135
1123
|
}
|
|
1136
1124
|
walkRefs(responses, (ref) => {
|
|
1137
|
-
if (!ref.startsWith(
|
|
1125
|
+
if (!ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
|
|
1138
1126
|
return void 0;
|
|
1139
1127
|
}
|
|
1140
|
-
const target = ref.slice(
|
|
1128
|
+
const target = ref.slice(COMPONENTS_SCHEMAS_PREFIX.length);
|
|
1141
1129
|
if (!divergentOutputIds.has(target)) {
|
|
1142
1130
|
return void 0;
|
|
1143
1131
|
}
|
|
1144
|
-
return `${
|
|
1132
|
+
return `${COMPONENTS_SCHEMAS_PREFIX}${target}${OUTPUT_SUFFIX2}`;
|
|
1145
1133
|
});
|
|
1146
1134
|
}
|
|
1147
1135
|
};
|