zod-nest 2.1.0 → 2.1.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/dist/index.d.mts +9 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +14 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -240,11 +240,22 @@ var computeShapeKeys = /* @__PURE__ */ __name((schema) => {
|
|
|
240
240
|
required
|
|
241
241
|
};
|
|
242
242
|
}, "computeShapeKeys");
|
|
243
|
+
var computeOverriddenKeys = /* @__PURE__ */ __name((parent, child) => {
|
|
244
|
+
const overriddenKeys = /* @__PURE__ */ new Set();
|
|
245
|
+
for (const key of Object.keys(child.shape)) {
|
|
246
|
+
const parentProp = parent.shape[key];
|
|
247
|
+
if (parentProp !== void 0 && parentProp !== child.shape[key]) {
|
|
248
|
+
overriddenKeys.add(key);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return overriddenKeys;
|
|
252
|
+
}, "computeOverriddenKeys");
|
|
243
253
|
var extend = /* @__PURE__ */ __name((parent, build) => {
|
|
244
254
|
const result = build(parent);
|
|
245
255
|
lineageMap.set(result, {
|
|
246
256
|
op: "extend",
|
|
247
|
-
parent
|
|
257
|
+
parent,
|
|
258
|
+
overriddenKeys: computeOverriddenKeys(parent, result)
|
|
248
259
|
});
|
|
249
260
|
if (!propsMap.has(parent)) {
|
|
250
261
|
propsMap.set(parent, computeShapeKeys(parent));
|
|
@@ -278,12 +289,12 @@ var createCompositionOverride = /* @__PURE__ */ __name((opts) => {
|
|
|
278
289
|
const parentReqSet = new Set(parentCache.required);
|
|
279
290
|
const deltaProps = {};
|
|
280
291
|
for (const [key, value] of Object.entries(childProps)) {
|
|
281
|
-
if (parentPropSet.has(key)) {
|
|
292
|
+
if (parentPropSet.has(key) && !entry.overriddenKeys.has(key)) {
|
|
282
293
|
continue;
|
|
283
294
|
}
|
|
284
295
|
deltaProps[key] = value;
|
|
285
296
|
}
|
|
286
|
-
const deltaRequired = childRequired.filter((key) => !parentReqSet.has(key));
|
|
297
|
+
const deltaRequired = childRequired.filter((key) => !parentReqSet.has(key) || entry.overriddenKeys.has(key));
|
|
287
298
|
const delta = {
|
|
288
299
|
type: "object",
|
|
289
300
|
properties: deltaProps
|