@cli-schema/zod 0.1.1 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-args.d.ts","sourceRoot":"","sources":["../src/schema-args.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAG5B,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;AAQrG,MAAM,WAAW,mBAAmB;IAElC,SAAS,EAAE,MAAM,CAAA;IAGjB,OAAO,EAAE,MAAM,CAAA;IAGf,IAAI,EAAE,aAAa,CAAA;IAGnB,QAAQ,EAAE,OAAO,CAAA;IAGjB,YAAY,CAAC,EAAE,OAAO,CAAA;IAGtB,WAAW,EAAE,MAAM,CAAA;IAOnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAKD,MAAM,WAAW,UAAU;IAEzB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAGhC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAaD,wBAAgB,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD;AAiED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,GAAG,OAAO,CAmBpG;AAOD,wBAAgB,aAAa,CAAE,CAAC,GAAG,OAAO,EAAG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAWzF;AAwBD,wBAAgB,iBAAiB,CAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAC1D,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,mBAAmB,KAAK,CAAC,CAAA;CAAE,GACrE,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CA4BhC;AAMD,wBAAgB,eAAe,CAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CAQ5G;AAWD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,EAC/D,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAY,GACpC,IAAI,CAYN"}
1
+ {"version":3,"file":"schema-args.d.ts","sourceRoot":"","sources":["../src/schema-args.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAG5B,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;AAQrG,MAAM,WAAW,mBAAmB;IAElC,SAAS,EAAE,MAAM,CAAA;IAGjB,OAAO,EAAE,MAAM,CAAA;IAGf,IAAI,EAAE,aAAa,CAAA;IAGnB,QAAQ,EAAE,OAAO,CAAA;IAGjB,YAAY,CAAC,EAAE,OAAO,CAAA;IAGtB,WAAW,EAAE,MAAM,CAAA;IAOnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAKD,MAAM,WAAW,UAAU;IAEzB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAGhC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAaD,wBAAgB,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD;AAiED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,GAAG,OAAO,CAmBpG;AAUD,wBAAgB,aAAa,CAAE,CAAC,GAAG,OAAO,EAAG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAQzF;AAwBD,wBAAgB,iBAAiB,CAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAC1D,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,mBAAmB,KAAK,CAAC,CAAA;CAAE,GACrE,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CA4BhC;AAMD,wBAAgB,eAAe,CAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CAQ5G;AAWD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC,EAC/D,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAY,GACpC,IAAI,CAYN"}
@@ -56,16 +56,16 @@ export function walkWrapperChain(field, predicate) {
56
56
  return walk(field);
57
57
  }
58
58
  export function readMetaField(field, key) {
59
- const outerMeta = field.meta();
60
- if (outerMeta?.[key] != null)
61
- return outerMeta[key];
62
- const innerType = field.def.innerType;
63
- if (innerType != null) {
64
- const innerMeta = innerType.meta();
65
- if (innerMeta?.[key] != null)
66
- return innerMeta[key];
67
- }
68
- return undefined;
59
+ let found;
60
+ walkWrapperChain(field, (n) => {
61
+ const meta = n.meta();
62
+ if (meta?.[key] != null) {
63
+ found = meta[key];
64
+ return true;
65
+ }
66
+ return false;
67
+ });
68
+ return found;
69
69
  }
70
70
  function schemaAcceptsArrayForm(field) {
71
71
  return walkWrapperChain(field, (n) => n.def.type === 'array');
@@ -1 +1 @@
1
- {"version":3,"file":"schema-args.js","sourceRoot":"","sources":["../src/schema-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-args.js","sourceRoot":"","sources":["../src/schema-args.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cli-schema/zod",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Derives CLI Schema parameter definitions from Zod schemas (https://github.com/cli-schema/cli-schema)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -22,7 +22,7 @@
22
22
  "test": "node --import tsx/esm --test test/**/*.test.ts"
23
23
  },
24
24
  "dependencies": {
25
- "@cli-schema/spec": "^0.1.1"
25
+ "@cli-schema/spec": "^0.2.0"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "zod": "^4.0.0"
@@ -156,21 +156,21 @@ export function walkWrapperChain (field: z.ZodType, predicate: (node: z.ZodType)
156
156
  }
157
157
 
158
158
  /**
159
- * Reads a `.meta()` field from `field`, checking the outermost type first and falling back to
160
- * one wrapper level in (`optional`/`default`) if absent. Zod's `.optional()`/`.default()` wrap
161
- * the original schema, so metadata attached before wrapping lives on the inner type.
159
+ * Reads a `.meta()` field from `field`, checking the outermost type first and then walking
160
+ * through `optional`/`default`/`lazy`/`union` wrappers (via {@link walkWrapperChain}) until a
161
+ * node's meta carries `key`. Returns the value from the first matching node (chain order,
162
+ * outermost first) — needed because metadata can be attached before wrapping (e.g.
163
+ * `.optional()`, `.default()`) or on a named composite/recursive shape reached only through
164
+ * `z.lazy()`/`z.union()` (e.g. a shared "Sort" schema referenced from several fields).
162
165
  */
163
166
  export function readMetaField <T = unknown> (field: z.ZodType, key: string): T | undefined {
164
- const outerMeta = field.meta() as Record<string, unknown> | null | undefined
165
- if (outerMeta?.[key] != null) return outerMeta[key] as T
166
-
167
- const innerType = (field.def as { innerType?: z.ZodType }).innerType
168
- if (innerType != null) {
169
- const innerMeta = innerType.meta() as Record<string, unknown> | null | undefined
170
- if (innerMeta?.[key] != null) return innerMeta[key] as T
171
- }
172
-
173
- return undefined
167
+ let found: T | undefined
168
+ walkWrapperChain(field, (n) => {
169
+ const meta = n.meta() as Record<string, unknown> | null | undefined
170
+ if (meta?.[key] != null) { found = meta[key] as T; return true }
171
+ return false
172
+ })
173
+ return found
174
174
  }
175
175
 
176
176
  /**