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 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
- var REF_PREFIX = "#/components/schemas/";
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(REF_PREFIX)) {
870
+ if (typeof ref !== "string" || !ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
869
871
  return;
870
872
  }
871
- const className = ref.slice(REF_PREFIX.length);
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(SCHEMA_PREFIX)) {
963
+ if (!ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
966
964
  return void 0;
967
965
  }
968
- const target = ref.slice(SCHEMA_PREFIX.length);
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
- return "x-zod-nest-dto" in properties;
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(SCHEMA_PREFIX2)) {
1092
+ if (!ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
1105
1093
  return void 0;
1106
1094
  }
1107
- const target = ref.slice(SCHEMA_PREFIX2.length);
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 `${SCHEMA_PREFIX2}${renamed}`;
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 HTTP_METHODS2) {
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(SCHEMA_PREFIX2)) {
1125
+ if (!ref.startsWith(COMPONENTS_SCHEMAS_PREFIX)) {
1138
1126
  return void 0;
1139
1127
  }
1140
- const target = ref.slice(SCHEMA_PREFIX2.length);
1128
+ const target = ref.slice(COMPONENTS_SCHEMAS_PREFIX.length);
1141
1129
  if (!divergentOutputIds.has(target)) {
1142
1130
  return void 0;
1143
1131
  }
1144
- return `${SCHEMA_PREFIX2}${target}${OUTPUT_SUFFIX2}`;
1132
+ return `${COMPONENTS_SCHEMAS_PREFIX}${target}${OUTPUT_SUFFIX2}`;
1145
1133
  });
1146
1134
  }
1147
1135
  };