shapedef 1.0.22 → 1.0.23

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.
@@ -188,6 +188,7 @@ export declare namespace annotate {
188
188
  function auto(x: unknown, options?: {
189
189
  preferLiterals?: boolean;
190
190
  }): Shape;
191
+ function coerce<S extends Shape>(x: unknown, shape: S): OutputOfShape<S>;
191
192
  }
192
193
  export {};
193
194
  //# sourceMappingURL=shape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
package/dist/cjs/shape.js CHANGED
@@ -270,5 +270,119 @@ var annotate;
270
270
  return shapes.unknown();
271
271
  }
272
272
  annotate.auto = auto;
273
+ function coerce(x, shape) {
274
+ const convert = (x, shape) => {
275
+ switch (shape.type) {
276
+ case "str":
277
+ if (typeof x === "string")
278
+ return x;
279
+ return `${x}`;
280
+ case "literal-str":
281
+ case "literal-int":
282
+ case "literal-float":
283
+ case "literal-number":
284
+ case "literal-bool":
285
+ return shape.value;
286
+ case "number":
287
+ case "float":
288
+ if (typeof x === "number")
289
+ return x;
290
+ if (typeof x === "string")
291
+ return Number(x || 0);
292
+ return 0;
293
+ case "int":
294
+ if (typeof x === "number")
295
+ return Math.trunc(x);
296
+ if (typeof x === "string")
297
+ return Math.trunc(Number(x || 0));
298
+ return 0;
299
+ case "nil":
300
+ return null;
301
+ case "bool":
302
+ if (typeof x === "boolean")
303
+ return x;
304
+ if (typeof x === "string")
305
+ return ["true", "1", "yes"].includes(x.trim().toLowerCase());
306
+ return !!x;
307
+ case "date":
308
+ if (x instanceof Date)
309
+ return x;
310
+ if (typeof x === "string" || typeof x === "number")
311
+ return new Date(x);
312
+ return new Date();
313
+ case "unknown":
314
+ return x;
315
+ case "vector":
316
+ if (Array.isArray(x))
317
+ return x.map((v) => convert(v, shapes.float()));
318
+ if (typeof x === "string")
319
+ return x
320
+ .replaceAll(/\[|\{|\}|\]/g, "")
321
+ .split(",")
322
+ .map((v) => v.trim())
323
+ .map((v) => convert(v, shapes.float()));
324
+ return [];
325
+ case "array":
326
+ if (Array.isArray(x))
327
+ return x.map((v) => convert(v, shape.item));
328
+ if (typeof x === "string")
329
+ return x
330
+ .replaceAll(/\[|\{|\}|\]/g, "")
331
+ .split(",")
332
+ .map((v) => v.trim())
333
+ .map((v) => convert(v, shape.item));
334
+ return [];
335
+ case "tuple":
336
+ if (Array.isArray(x))
337
+ return shape.tup.map((s, i) => convert(x[i], s));
338
+ if (typeof x === "string") {
339
+ const parts = x
340
+ .replaceAll(/\[|\{|\}|\]/g, "")
341
+ .split(",")
342
+ .map((v) => v.trim());
343
+ return shape.tup.map((s, i) => convert(parts[i], s));
344
+ }
345
+ return shape.tup.map((s) => convert(null, s));
346
+ case "bytes":
347
+ if (x instanceof Uint8Array)
348
+ return x;
349
+ if (Array.isArray(x))
350
+ return new Uint8Array(x.map((v) => convert(v, shapes.int())));
351
+ if (typeof x === "string")
352
+ return new Uint8Array(x
353
+ .replaceAll(/\[|\{|\}|\]/g, "")
354
+ .split(",")
355
+ .map((v) => v.trim())
356
+ .map((v) => convert(v, shapes.number())));
357
+ return new Uint8Array();
358
+ case "ref":
359
+ return x;
360
+ case "union":
361
+ const t = shape.ofs[0];
362
+ return convert(x, t || shapes.unknown());
363
+ case "mapping":
364
+ let obj = {};
365
+ if ((0, common_1.isPlainObject)(x)) {
366
+ obj = x;
367
+ }
368
+ else if (typeof x === "string") {
369
+ const trimmed = x.trim();
370
+ if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
371
+ try {
372
+ obj = JSON.parse(x);
373
+ }
374
+ catch { }
375
+ }
376
+ }
377
+ return Object.assign({}, ...Object.entries(shape.rec).map(([k, t]) => {
378
+ return {
379
+ [k]: convert(obj[k], t),
380
+ };
381
+ }));
382
+ }
383
+ };
384
+ return convert(x, shape);
385
+ }
386
+ annotate.coerce = coerce;
273
387
  })(annotate || (exports.annotate = annotate = {}));
274
388
  //# sourceMappingURL=shape.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":";;;AA4NA,0BAKC;AAjOD,qCAA8C;AAQ9C,uCAAmD;AAEtC,QAAA,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AA2MhD,MAAM,aAAa,GAAG,GAGpB,EAAE;IACF,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,iBAAO,EAAE,EAAE,CAAC,wBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF,SAAgB,OAAO,CAAC,CAAU;IAChC,OAAO,CACL,IAAA,YAAG,EAAC,CAAC,EAAE,wBAAgB,CAAC;QACvB,CAAqC,CAAC,wBAAgB,CAAC,KAAK,IAAI,CAClE,CAAC;AACJ,CAAC;AAED,IAAiB,MAAM,CA2NtB;AA3ND,WAAiB,MAAM;IACrB,SAAgB,KAAK;QACnB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,YAAK,QAMpB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,MAAM;QACpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,aAAM,SAMrB,CAAA;IAED,SAAgB,IAAI;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,WAAI,OAMnB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,IAAI;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,WAAI,OAMnB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,cAAO,UAMtB,CAAA;IAED,SAAgB,KAAK;QACnB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,YAAK,QAMpB,CAAA;IAED,SAAgB,YAAY,CAC1B,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,mBAAY,eAS3B,CAAA;IAED,SAAgB,UAAU,CACxB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,iBAAU,aASzB,CAAA;IAED,SAAgB,aAAa,CAC3B,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,oBAAa,gBAS5B,CAAA;IAED,SAAgB,WAAW,CACzB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,kBAAW,cAS1B,CAAA;IAED,SAAgB,UAAU,CACxB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,iBAAU,aASzB,CAAA;IAcD,SAAgB,OAAO,CACrB,KAAgC;QAEhC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IANe,cAAO,UAMtB,CAAA;IAED,SAAgB,GAAG,CACjB,IAAU,EACV,IAAW;QAEX,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,CAAC,IAAI,CAAC,CAAC;gBACR;oBACE,IAAI,EAAE,IAAI;iBACX;gBACH,CAAC,CAAC,EAAE,CAAC;YACL,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAfe,UAAG,MAelB,CAAA;IAED,SAAgB,KAAK,CAAqB,IAAU;QAClD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAPe,YAAK,QAOpB,CAAA;IAED,SAAgB,KAAK,CACnB,GAAG,KAAY;QAEf,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,YAAK,QASpB,CAAA;IAED,SAAgB,OAAO,CACrB,GAAQ;QAER,OAAO;YACL,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,cAAO,UAStB,CAAA;IAED,SAAgB,MAAM,CAAsB,IAAU;QACpD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAPe,aAAM,SAOrB,CAAA;IAMD,SAAgB,KAAK,CACnB,GAAG,GAAQ;QAEX,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,YAAK,QASpB,CAAA;AACH,CAAC,EA3NgB,MAAM,sBAAN,MAAM,QA2NtB;AAED,IAAiB,QAAQ,CAuGxB;AAvGD,WAAiB,QAAQ;IACvB,SAAgB,EAAE,CAChB,KAAQ,EACR,IAAU;QAEV,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,GAAG,KAAK,CAAC,IAAI;aACd;SACF,CAAC;IACJ,CAAC;IAXe,WAAE,KAWjB,CAAA;IAED,SAAgB,QAAQ,CACtB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAJe,iBAAQ,WAIvB,CAAA;IAED,SAAgB,OAAO,CACrB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAJe,gBAAO,UAItB,CAAA;IAED,SAAgB,MAAM,CACpB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAJe,eAAM,SAIrB,CAAA;IAED,SAAgB,KAAK,CACnB,KAAQ,EACR,IAAU;QAEV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IALe,cAAK,QAKpB,CAAA;IAED,SAAgB,OAAO,CACrB,KAAQ,EACR,KAAY;QAEZ,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IALe,gBAAO,UAKtB,CAAA;IAED,SAAgB,IAAI,CAClB,KAAQ,EACR,IAAU;QAEV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IALe,aAAI,OAKnB,CAAA;IAED,SAAgB,OAAO,CAKrB,KAAQ,EACR,SAAoB,EACpB,SAAoB;QAKpB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAbe,gBAAO,UAatB,CAAA;IAED,SAAgB,IAAI,CAClB,CAAU,EACV,UAEI,EAAE;QAEN,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,WAAW;YAAE,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,KAAK,SAAS;YACxB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,YAAY,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,KAAK,CACjB,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBACrB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACzD,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAlCe,aAAI,OAkCnB,CAAA;AACH,CAAC,EAvGgB,QAAQ,wBAAR,QAAQ,QAuGxB"}
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
@@ -188,6 +188,7 @@ export declare namespace annotate {
188
188
  function auto(x: unknown, options?: {
189
189
  preferLiterals?: boolean;
190
190
  }): Shape;
191
+ function coerce<S extends Shape>(x: unknown, shape: S): OutputOfShape<S>;
191
192
  }
192
193
  export {};
193
194
  //# sourceMappingURL=shape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":"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"}
package/dist/esm/shape.js CHANGED
@@ -270,5 +270,119 @@ var annotate;
270
270
  return shapes.unknown();
271
271
  }
272
272
  annotate.auto = auto;
273
+ function coerce(x, shape) {
274
+ const convert = (x, shape) => {
275
+ switch (shape.type) {
276
+ case "str":
277
+ if (typeof x === "string")
278
+ return x;
279
+ return `${x}`;
280
+ case "literal-str":
281
+ case "literal-int":
282
+ case "literal-float":
283
+ case "literal-number":
284
+ case "literal-bool":
285
+ return shape.value;
286
+ case "number":
287
+ case "float":
288
+ if (typeof x === "number")
289
+ return x;
290
+ if (typeof x === "string")
291
+ return Number(x || 0);
292
+ return 0;
293
+ case "int":
294
+ if (typeof x === "number")
295
+ return Math.trunc(x);
296
+ if (typeof x === "string")
297
+ return Math.trunc(Number(x || 0));
298
+ return 0;
299
+ case "nil":
300
+ return null;
301
+ case "bool":
302
+ if (typeof x === "boolean")
303
+ return x;
304
+ if (typeof x === "string")
305
+ return ["true", "1", "yes"].includes(x.trim().toLowerCase());
306
+ return !!x;
307
+ case "date":
308
+ if (x instanceof Date)
309
+ return x;
310
+ if (typeof x === "string" || typeof x === "number")
311
+ return new Date(x);
312
+ return new Date();
313
+ case "unknown":
314
+ return x;
315
+ case "vector":
316
+ if (Array.isArray(x))
317
+ return x.map((v) => convert(v, shapes.float()));
318
+ if (typeof x === "string")
319
+ return x
320
+ .replaceAll(/\[|\{|\}|\]/g, "")
321
+ .split(",")
322
+ .map((v) => v.trim())
323
+ .map((v) => convert(v, shapes.float()));
324
+ return [];
325
+ case "array":
326
+ if (Array.isArray(x))
327
+ return x.map((v) => convert(v, shape.item));
328
+ if (typeof x === "string")
329
+ return x
330
+ .replaceAll(/\[|\{|\}|\]/g, "")
331
+ .split(",")
332
+ .map((v) => v.trim())
333
+ .map((v) => convert(v, shape.item));
334
+ return [];
335
+ case "tuple":
336
+ if (Array.isArray(x))
337
+ return shape.tup.map((s, i) => convert(x[i], s));
338
+ if (typeof x === "string") {
339
+ const parts = x
340
+ .replaceAll(/\[|\{|\}|\]/g, "")
341
+ .split(",")
342
+ .map((v) => v.trim());
343
+ return shape.tup.map((s, i) => convert(parts[i], s));
344
+ }
345
+ return shape.tup.map((s) => convert(null, s));
346
+ case "bytes":
347
+ if (x instanceof Uint8Array)
348
+ return x;
349
+ if (Array.isArray(x))
350
+ return new Uint8Array(x.map((v) => convert(v, shapes.int())));
351
+ if (typeof x === "string")
352
+ return new Uint8Array(x
353
+ .replaceAll(/\[|\{|\}|\]/g, "")
354
+ .split(",")
355
+ .map((v) => v.trim())
356
+ .map((v) => convert(v, shapes.number())));
357
+ return new Uint8Array();
358
+ case "ref":
359
+ return x;
360
+ case "union":
361
+ const t = shape.ofs[0];
362
+ return convert(x, t || shapes.unknown());
363
+ case "mapping":
364
+ let obj = {};
365
+ if ((0, common_1.isPlainObject)(x)) {
366
+ obj = x;
367
+ }
368
+ else if (typeof x === "string") {
369
+ const trimmed = x.trim();
370
+ if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
371
+ try {
372
+ obj = JSON.parse(x);
373
+ }
374
+ catch { }
375
+ }
376
+ }
377
+ return Object.assign({}, ...Object.entries(shape.rec).map(([k, t]) => {
378
+ return {
379
+ [k]: convert(obj[k], t),
380
+ };
381
+ }));
382
+ }
383
+ };
384
+ return convert(x, shape);
385
+ }
386
+ annotate.coerce = coerce;
273
387
  })(annotate || (exports.annotate = annotate = {}));
274
388
  //# sourceMappingURL=shape.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":";;;AA4NA,0BAKC;AAjOD,qCAA8C;AAQ9C,uCAAmD;AAEtC,QAAA,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AA2MhD,MAAM,aAAa,GAAG,GAGpB,EAAE;IACF,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,iBAAO,EAAE,EAAE,CAAC,wBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF,SAAgB,OAAO,CAAC,CAAU;IAChC,OAAO,CACL,IAAA,YAAG,EAAC,CAAC,EAAE,wBAAgB,CAAC;QACvB,CAAqC,CAAC,wBAAgB,CAAC,KAAK,IAAI,CAClE,CAAC;AACJ,CAAC;AAED,IAAiB,MAAM,CA2NtB;AA3ND,WAAiB,MAAM;IACrB,SAAgB,KAAK;QACnB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,YAAK,QAMpB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,MAAM;QACpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,aAAM,SAMrB,CAAA;IAED,SAAgB,IAAI;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,WAAI,OAMnB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,IAAI;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,WAAI,OAMnB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,cAAO,UAMtB,CAAA;IAED,SAAgB,KAAK;QACnB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,YAAK,QAMpB,CAAA;IAED,SAAgB,YAAY,CAC1B,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,mBAAY,eAS3B,CAAA;IAED,SAAgB,UAAU,CACxB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,iBAAU,aASzB,CAAA;IAED,SAAgB,aAAa,CAC3B,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,oBAAa,gBAS5B,CAAA;IAED,SAAgB,WAAW,CACzB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,kBAAW,cAS1B,CAAA;IAED,SAAgB,UAAU,CACxB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,iBAAU,aASzB,CAAA;IAcD,SAAgB,OAAO,CACrB,KAAgC;QAEhC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IANe,cAAO,UAMtB,CAAA;IAED,SAAgB,GAAG,CACjB,IAAU,EACV,IAAW;QAEX,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,CAAC,IAAI,CAAC,CAAC;gBACR;oBACE,IAAI,EAAE,IAAI;iBACX;gBACH,CAAC,CAAC,EAAE,CAAC;YACL,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAfe,UAAG,MAelB,CAAA;IAED,SAAgB,KAAK,CAAqB,IAAU;QAClD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAPe,YAAK,QAOpB,CAAA;IAED,SAAgB,KAAK,CACnB,GAAG,KAAY;QAEf,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,YAAK,QASpB,CAAA;IAED,SAAgB,OAAO,CACrB,GAAQ;QAER,OAAO;YACL,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,cAAO,UAStB,CAAA;IAED,SAAgB,MAAM,CAAsB,IAAU;QACpD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAPe,aAAM,SAOrB,CAAA;IAMD,SAAgB,KAAK,CACnB,GAAG,GAAQ;QAEX,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,YAAK,QASpB,CAAA;AACH,CAAC,EA3NgB,MAAM,sBAAN,MAAM,QA2NtB;AAED,IAAiB,QAAQ,CAuGxB;AAvGD,WAAiB,QAAQ;IACvB,SAAgB,EAAE,CAChB,KAAQ,EACR,IAAU;QAEV,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,GAAG,KAAK,CAAC,IAAI;aACd;SACF,CAAC;IACJ,CAAC;IAXe,WAAE,KAWjB,CAAA;IAED,SAAgB,QAAQ,CACtB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAJe,iBAAQ,WAIvB,CAAA;IAED,SAAgB,OAAO,CACrB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAJe,gBAAO,UAItB,CAAA;IAED,SAAgB,MAAM,CACpB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAJe,eAAM,SAIrB,CAAA;IAED,SAAgB,KAAK,CACnB,KAAQ,EACR,IAAU;QAEV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IALe,cAAK,QAKpB,CAAA;IAED,SAAgB,OAAO,CACrB,KAAQ,EACR,KAAY;QAEZ,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IALe,gBAAO,UAKtB,CAAA;IAED,SAAgB,IAAI,CAClB,KAAQ,EACR,IAAU;QAEV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IALe,aAAI,OAKnB,CAAA;IAED,SAAgB,OAAO,CAKrB,KAAQ,EACR,SAAoB,EACpB,SAAoB;QAKpB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAbe,gBAAO,UAatB,CAAA;IAED,SAAgB,IAAI,CAClB,CAAU,EACV,UAEI,EAAE;QAEN,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,WAAW;YAAE,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,KAAK,SAAS;YACxB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,YAAY,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,KAAK,CACjB,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBACrB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACzD,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAlCe,aAAI,OAkCnB,CAAA;AACH,CAAC,EAvGgB,QAAQ,wBAAR,QAAQ,QAuGxB"}
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/shape.ts"],"names":[],"mappings":";;;AA4NA,0BAKC;AAjOD,qCAA8C;AAQ9C,uCAAmD;AAEtC,QAAA,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AA2MhD,MAAM,aAAa,GAAG,GAGpB,EAAE;IACF,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,iBAAO,EAAE,EAAE,CAAC,wBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF,SAAgB,OAAO,CAAC,CAAU;IAChC,OAAO,CACL,IAAA,YAAG,EAAC,CAAC,EAAE,wBAAgB,CAAC;QACvB,CAAqC,CAAC,wBAAgB,CAAC,KAAK,IAAI,CAClE,CAAC;AACJ,CAAC;AAED,IAAiB,MAAM,CA2NtB;AA3ND,WAAiB,MAAM;IACrB,SAAgB,KAAK;QACnB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,YAAK,QAMpB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,MAAM;QACpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,aAAM,SAMrB,CAAA;IAED,SAAgB,IAAI;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,WAAI,OAMnB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,IAAI;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,WAAI,OAMnB,CAAA;IAED,SAAgB,GAAG;QACjB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,UAAG,MAMlB,CAAA;IAED,SAAgB,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,cAAO,UAMtB,CAAA;IAED,SAAgB,KAAK;QACnB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IANe,YAAK,QAMpB,CAAA;IAED,SAAgB,YAAY,CAC1B,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,mBAAY,eAS3B,CAAA;IAED,SAAgB,UAAU,CACxB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,iBAAU,aASzB,CAAA;IAED,SAAgB,aAAa,CAC3B,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,oBAAa,gBAS5B,CAAA;IAED,SAAgB,WAAW,CACzB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,kBAAW,cAS1B,CAAA;IAED,SAAgB,UAAU,CACxB,KAAY;QAEZ,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,iBAAU,aASzB,CAAA;IAcD,SAAgB,OAAO,CACrB,KAAgC;QAEhC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IANe,cAAO,UAMtB,CAAA;IAED,SAAgB,GAAG,CACjB,IAAU,EACV,IAAW;QAEX,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,CAAC,IAAI,CAAC,CAAC;gBACR;oBACE,IAAI,EAAE,IAAI;iBACX;gBACH,CAAC,CAAC,EAAE,CAAC;YACL,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAfe,UAAG,MAelB,CAAA;IAED,SAAgB,KAAK,CAAqB,IAAU;QAClD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAPe,YAAK,QAOpB,CAAA;IAED,SAAgB,KAAK,CACnB,GAAG,KAAY;QAEf,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,YAAK,QASpB,CAAA;IAED,SAAgB,OAAO,CACrB,GAAQ;QAER,OAAO;YACL,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,cAAO,UAStB,CAAA;IAED,SAAgB,MAAM,CAAsB,IAAU;QACpD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IAPe,aAAM,SAOrB,CAAA;IAMD,SAAgB,KAAK,CACnB,GAAG,GAAQ;QAEX,OAAO;YACL,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,EAAE;YACR,GAAG,aAAa,EAAE;SACnB,CAAC;IACJ,CAAC;IATe,YAAK,QASpB,CAAA;AACH,CAAC,EA3NgB,MAAM,sBAAN,MAAM,QA2NtB;AAED,IAAiB,QAAQ,CAwNxB;AAxND,WAAiB,QAAQ;IACvB,SAAgB,EAAE,CAChB,KAAQ,EACR,IAAU;QAEV,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,GAAG,KAAK,CAAC,IAAI;aACd;SACF,CAAC;IACJ,CAAC;IAXe,WAAE,KAWjB,CAAA;IAED,SAAgB,QAAQ,CACtB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAJe,iBAAQ,WAIvB,CAAA;IAED,SAAgB,OAAO,CACrB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAJe,gBAAO,UAItB,CAAA;IAED,SAAgB,MAAM,CACpB,KAAQ;QAER,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAJe,eAAM,SAIrB,CAAA;IAED,SAAgB,KAAK,CACnB,KAAQ,EACR,IAAU;QAEV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IALe,cAAK,QAKpB,CAAA;IAED,SAAgB,OAAO,CACrB,KAAQ,EACR,KAAY;QAEZ,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IALe,gBAAO,UAKtB,CAAA;IAED,SAAgB,IAAI,CAClB,KAAQ,EACR,IAAU;QAEV,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IALe,aAAI,OAKnB,CAAA;IAED,SAAgB,OAAO,CAKrB,KAAQ,EACR,SAAoB,EACpB,SAAoB;QAKpB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAbe,gBAAO,UAatB,CAAA;IAED,SAAgB,IAAI,CAClB,CAAU,EACV,UAEI,EAAE;QAEN,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,WAAW;YAAE,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,KAAK,QAAQ;YACvB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,KAAK,SAAS;YACxB,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,YAAY,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,KAAK,CACjB,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBACrB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;QACD,IAAI,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACzD,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAlCe,aAAI,OAkCnB,CAAA;IAED,SAAgB,MAAM,CACpB,CAAU,EACV,KAAQ;QAER,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,KAAY,EAAW,EAAE;YACpD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK;oBACR,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,OAAO,CAAC,CAAC;oBACpC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,aAAa,CAAC;gBACnB,KAAK,aAAa,CAAC;gBACnB,KAAK,eAAe,CAAC;gBACrB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,cAAc;oBACjB,OAAO,KAAK,CAAC,KAAK,CAAC;gBACrB,KAAK,QAAQ,CAAC;gBACd,KAAK,OAAO;oBACV,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,OAAO,CAAC,CAAC;oBACpC,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjD,OAAO,CAAC,CAAC;gBACX,KAAK,KAAK;oBACR,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChD,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7D,OAAO,CAAC,CAAC;gBACX,KAAK,KAAK;oBACR,OAAO,IAAI,CAAC;gBACd,KAAK,MAAM;oBACT,IAAI,OAAO,CAAC,KAAK,SAAS;wBAAE,OAAO,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;wBACvB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC/D,OAAO,CAAC,CAAC,CAAC,CAAC;gBACb,KAAK,MAAM;oBACT,IAAI,CAAC,YAAY,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAChD,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,KAAK,SAAS;oBACZ,OAAO,CAAC,CAAC;gBACX,KAAK,QAAQ;oBACX,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACtE,IAAI,OAAO,CAAC,KAAK,QAAQ;wBACvB,OAAO,CAAC;6BACL,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;6BAC9B,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;6BACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC5C,OAAO,EAAE,CAAC;gBACZ,KAAK,OAAO;oBACV,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClE,IAAI,OAAO,CAAC,KAAK,QAAQ;wBACvB,OAAO,CAAC;6BACL,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;6BAC9B,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;6BACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC;gBACZ,KAAK,OAAO;oBACV,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,CAAC;6BACZ,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;6BAC9B,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACxB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvD,CAAC;oBACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChD,KAAK,OAAO;oBACV,IAAI,CAAC,YAAY,UAAU;wBAAE,OAAO,CAAC,CAAC;oBACtC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBAClB,OAAO,IAAI,UAAU,CACnB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAa,CACnD,CAAC;oBACJ,IAAI,OAAO,CAAC,KAAK,QAAQ;wBACvB,OAAO,IAAI,UAAU,CACnB,CAAC;6BACE,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;6BAC9B,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;6BACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAa,CACvD,CAAC;oBACJ,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC1B,KAAK,KAAK;oBACR,OAAO,CAAC,CAAC;gBACX,KAAK,OAAO;oBACV,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvB,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3C,KAAK,SAAS;oBACZ,IAAI,GAAG,GAA4B,EAAE,CAAC;oBACtC,IAAI,IAAA,sBAAa,EAAC,CAAC,CAAC,EAAE,CAAC;wBACrB,GAAG,GAAG,CAAC,CAAC;oBACV,CAAC;yBAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACjC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBACzB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BACrD,IAAI,CAAC;gCACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAA4B,CAAC;4BACjD,CAAC;4BAAC,MAAM,CAAC,CAAA,CAAC;wBACZ,CAAC;oBACH,CAAC;oBACD,OAAO,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;wBAC1C,OAAO;4BACL,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACxB,CAAC;oBACJ,CAAC,CAAC,CACH,CAAC;YACN,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC,CAAC,EAAE,KAAK,CAAqB,CAAC;IAC/C,CAAC;IA/Ge,eAAM,SA+GrB,CAAA;AACH,CAAC,EAxNgB,QAAQ,wBAAR,QAAQ,QAwNxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shapedef",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "description": "",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
@@ -0,0 +1,285 @@
1
+ import { describe, expect } from "vitest";
2
+ import { annotate, shapes } from "./shape";
3
+
4
+ describe("annotate.coerce", (it) => {
5
+ // ── primitives ──────────────────────────────────────────────────────────
6
+
7
+ it("coerces str: passthrough for strings", () => {
8
+ expect(annotate.coerce("hello", shapes.str())).toBe("hello");
9
+ });
10
+
11
+ it("coerces str: converts number to string", () => {
12
+ expect(annotate.coerce(42, shapes.str())).toBe("42");
13
+ });
14
+
15
+ it("coerces str: converts boolean to string", () => {
16
+ expect(annotate.coerce(true, shapes.str())).toBe("true");
17
+ });
18
+
19
+ it("coerces str: converts null to string", () => {
20
+ expect(annotate.coerce(null, shapes.str())).toBe("null");
21
+ });
22
+
23
+ it("coerces number: passthrough for numbers", () => {
24
+ expect(annotate.coerce(3.14, shapes.number())).toBe(3.14);
25
+ expect(annotate.coerce(0, shapes.number())).toBe(0);
26
+ });
27
+
28
+ it("coerces number: converts numeric string", () => {
29
+ expect(annotate.coerce("3.14", shapes.number())).toBe(3.14);
30
+ expect(annotate.coerce("", shapes.number())).toBe(0);
31
+ });
32
+
33
+ it("coerces number: returns 0 for non-numeric input", () => {
34
+ expect(annotate.coerce(null, shapes.number())).toBe(0);
35
+ expect(annotate.coerce(false, shapes.number())).toBe(0);
36
+ });
37
+
38
+ it("coerces float: same rules as number", () => {
39
+ expect(annotate.coerce(1.5, shapes.float())).toBe(1.5);
40
+ expect(annotate.coerce("2.5", shapes.float())).toBe(2.5);
41
+ expect(annotate.coerce(null, shapes.float())).toBe(0);
42
+ });
43
+
44
+ it("coerces int: truncates floats", () => {
45
+ expect(annotate.coerce(3.9, shapes.int())).toBe(3);
46
+ expect(annotate.coerce(-3.9, shapes.int())).toBe(-3);
47
+ });
48
+
49
+ it("coerces int: converts numeric string", () => {
50
+ expect(annotate.coerce("7.8", shapes.int())).toBe(7);
51
+ expect(annotate.coerce("", shapes.int())).toBe(0);
52
+ });
53
+
54
+ it("coerces int: returns 0 for non-numeric input", () => {
55
+ expect(annotate.coerce(null, shapes.int())).toBe(0);
56
+ });
57
+
58
+ it("coerces bool: passthrough for booleans", () => {
59
+ expect(annotate.coerce(true, shapes.bool())).toBe(true);
60
+ expect(annotate.coerce(false, shapes.bool())).toBe(false);
61
+ });
62
+
63
+ it("coerces bool: truthy string values", () => {
64
+ expect(annotate.coerce("true", shapes.bool())).toBe(true);
65
+ expect(annotate.coerce("1", shapes.bool())).toBe(true);
66
+ expect(annotate.coerce("yes", shapes.bool())).toBe(true);
67
+ expect(annotate.coerce("TRUE", shapes.bool())).toBe(true);
68
+ });
69
+
70
+ it("coerces bool: falsy string values", () => {
71
+ expect(annotate.coerce("false", shapes.bool())).toBe(false);
72
+ expect(annotate.coerce("no", shapes.bool())).toBe(false);
73
+ expect(annotate.coerce("0", shapes.bool())).toBe(false);
74
+ expect(annotate.coerce("", shapes.bool())).toBe(false);
75
+ });
76
+
77
+ it("coerces bool: truthy/falsy non-string values", () => {
78
+ expect(annotate.coerce(1, shapes.bool())).toBe(true);
79
+ expect(annotate.coerce(0, shapes.bool())).toBe(false);
80
+ expect(annotate.coerce(null, shapes.bool())).toBe(false);
81
+ });
82
+
83
+ it("coerces nil: always returns null", () => {
84
+ expect(annotate.coerce("anything", shapes.nil())).toBeNull();
85
+ expect(annotate.coerce(42, shapes.nil())).toBeNull();
86
+ expect(annotate.coerce(null, shapes.nil())).toBeNull();
87
+ });
88
+
89
+ it("coerces unknown: returns value as-is", () => {
90
+ const obj = { x: 1 };
91
+ expect(annotate.coerce(obj, shapes.unknown())).toBe(obj);
92
+ expect(annotate.coerce(null, shapes.unknown())).toBeNull();
93
+ expect(annotate.coerce(42, shapes.unknown())).toBe(42);
94
+ });
95
+
96
+ it("coerces date: passthrough for Date instances", () => {
97
+ const d = new Date("2024-01-01");
98
+ expect(annotate.coerce(d, shapes.date())).toBe(d);
99
+ });
100
+
101
+ it("coerces date: parses ISO string", () => {
102
+ const result = annotate.coerce("2024-06-15", shapes.date());
103
+ expect(result).toBeInstanceOf(Date);
104
+ expect((result as Date).getFullYear()).toBe(2024);
105
+ });
106
+
107
+ it("coerces date: parses numeric timestamp", () => {
108
+ const ts = 1700000000000;
109
+ const result = annotate.coerce(ts, shapes.date());
110
+ expect(result).toBeInstanceOf(Date);
111
+ expect((result as Date).getTime()).toBe(ts);
112
+ });
113
+
114
+ it("coerces date: returns a Date for unknown input", () => {
115
+ expect(annotate.coerce(null, shapes.date())).toBeInstanceOf(Date);
116
+ });
117
+
118
+ // ── literals ─────────────────────────────────────────────────────────────
119
+
120
+ it("coerces literalStr: always returns the literal value", () => {
121
+ expect(annotate.coerce("anything", shapes.literalStr("hello"))).toBe(
122
+ "hello",
123
+ );
124
+ expect(annotate.coerce(42, shapes.literalStr("hello"))).toBe("hello");
125
+ });
126
+
127
+ it("coerces literalBool: always returns the literal value", () => {
128
+ expect(annotate.coerce("false", shapes.literalBool(true))).toBe(true);
129
+ expect(annotate.coerce(99, shapes.literalBool(false))).toBe(false);
130
+ });
131
+
132
+ it("coerces literalInt / literalFloat / literalNumber: always returns the literal value", () => {
133
+ expect(annotate.coerce("anything", shapes.literalInt(5))).toBe(5);
134
+ expect(annotate.coerce("anything", shapes.literalFloat(1.5))).toBe(1.5);
135
+ expect(annotate.coerce("anything", shapes.literalNumber(42))).toBe(42);
136
+ });
137
+
138
+ // ── bytes ────────────────────────────────────────────────────────────────
139
+
140
+ it("coerces bytes: passthrough for Uint8Array", () => {
141
+ const buf = new Uint8Array([1, 2, 3]);
142
+ expect(annotate.coerce(buf, shapes.bytes())).toBe(buf);
143
+ });
144
+
145
+ it("coerces bytes: converts number array", () => {
146
+ expect(annotate.coerce([10, 20, 30], shapes.bytes())).toEqual(
147
+ new Uint8Array([10, 20, 30]),
148
+ );
149
+ });
150
+
151
+ it("coerces bytes: parses comma-separated string", () => {
152
+ expect(annotate.coerce("1,2,3", shapes.bytes())).toEqual(
153
+ new Uint8Array([1, 2, 3]),
154
+ );
155
+ });
156
+
157
+ it("coerces bytes: returns empty Uint8Array for unknown input", () => {
158
+ expect(annotate.coerce(null, shapes.bytes())).toEqual(new Uint8Array());
159
+ });
160
+
161
+ // ── array ────────────────────────────────────────────────────────────────
162
+
163
+ it("coerces array: passthrough for arrays", () => {
164
+ expect(annotate.coerce([1, 2, 3], shapes.array(shapes.int()))).toEqual([
165
+ 1, 2, 3,
166
+ ]);
167
+ });
168
+
169
+ it("coerces array: converts each item", () => {
170
+ expect(
171
+ annotate.coerce(["1", "2", "3"], shapes.array(shapes.int())),
172
+ ).toEqual([1, 2, 3]);
173
+ });
174
+
175
+ it("coerces array: parses comma-separated string", () => {
176
+ expect(annotate.coerce("10, 20, 30", shapes.array(shapes.int()))).toEqual([
177
+ 10, 20, 30,
178
+ ]);
179
+ });
180
+
181
+ it("coerces array: returns empty array for other types", () => {
182
+ expect(annotate.coerce(null, shapes.array(shapes.str()))).toEqual([]);
183
+ });
184
+
185
+ // ── tuple ────────────────────────────────────────────────────────────────
186
+
187
+ it("coerces tuple: converts array elements per shape", () => {
188
+ expect(
189
+ annotate.coerce(["42", true], shapes.tuple(shapes.int(), shapes.bool())),
190
+ ).toEqual([42, true]);
191
+ });
192
+
193
+ it("coerces tuple: parses comma-separated string", () => {
194
+ expect(
195
+ annotate.coerce("hello,1", shapes.tuple(shapes.str(), shapes.int())),
196
+ ).toEqual(["hello", 1]);
197
+ });
198
+
199
+ it("coerces tuple: fills missing elements with coerced nulls", () => {
200
+ const result = annotate.coerce(
201
+ null,
202
+ shapes.tuple(shapes.int(), shapes.str()),
203
+ );
204
+ expect(result).toEqual([0, "null"]);
205
+ });
206
+
207
+ // ── vector ───────────────────────────────────────────────────────────────
208
+
209
+ it("coerces vector: passthrough for number array", () => {
210
+ expect(annotate.coerce([1, 2, 3], shapes.vector(3))).toEqual([1, 2, 3]);
211
+ });
212
+
213
+ it("coerces vector: parses comma-separated string", () => {
214
+ expect(annotate.coerce("1.0, 2.0, 3.0", shapes.vector(3))).toEqual([
215
+ 1, 2, 3,
216
+ ]);
217
+ });
218
+
219
+ it("coerces vector: returns empty array for unknown input", () => {
220
+ expect(annotate.coerce(null, shapes.vector(3))).toEqual([]);
221
+ });
222
+
223
+ // ── mapping ──────────────────────────────────────────────────────────────
224
+
225
+ it("coerces mapping: passthrough for plain objects", () => {
226
+ expect(
227
+ annotate.coerce(
228
+ { name: "Alice", age: 30 },
229
+ shapes.mapping({ name: shapes.str(), age: shapes.int() }),
230
+ ),
231
+ ).toEqual({ name: "Alice", age: 30 });
232
+ });
233
+
234
+ it("coerces mapping: coerces each field's type", () => {
235
+ expect(
236
+ annotate.coerce(
237
+ { name: 42, age: "30" },
238
+ shapes.mapping({ name: shapes.str(), age: shapes.int() }),
239
+ ),
240
+ ).toEqual({ name: "42", age: 30 });
241
+ });
242
+
243
+ it("coerces mapping: parses JSON string", () => {
244
+ expect(
245
+ annotate.coerce(
246
+ '{"x": "1", "y": "2"}',
247
+ shapes.mapping({ x: shapes.int(), y: shapes.int() }),
248
+ ),
249
+ ).toEqual({ x: 1, y: 2 });
250
+ });
251
+
252
+ it("coerces mapping: fills missing fields with defaults", () => {
253
+ expect(
254
+ annotate.coerce(
255
+ {},
256
+ shapes.mapping({ count: shapes.int(), label: shapes.str() }),
257
+ ),
258
+ ).toEqual({ count: 0, label: "undefined" });
259
+ });
260
+
261
+ it("coerces mapping: returns coerced defaults for non-object input", () => {
262
+ expect(
263
+ annotate.coerce(null, shapes.mapping({ active: shapes.bool() })),
264
+ ).toEqual({ active: false });
265
+ });
266
+
267
+ // ── ref ───────────────────────────────────────────────────────────────────
268
+
269
+ it("coerces ref: returns value as-is", () => {
270
+ const val = { id: 1 };
271
+ expect(annotate.coerce(val, shapes.ref("MyType"))).toBe(val);
272
+ expect(annotate.coerce("anything", shapes.ref("MyType"))).toBe("anything");
273
+ });
274
+
275
+ // ── union ─────────────────────────────────────────────────────────────────
276
+
277
+ it("coerces union: uses first member's shape", () => {
278
+ const shape = shapes.union(shapes.int(), shapes.str());
279
+ expect(annotate.coerce("42", shape)).toBe(42);
280
+ });
281
+
282
+ it("coerces union: handles single-member union", () => {
283
+ expect(annotate.coerce("hello", shapes.union(shapes.str()))).toBe("hello");
284
+ });
285
+ });
package/src/shape.ts CHANGED
@@ -549,4 +549,117 @@ export namespace annotate {
549
549
  }
550
550
  return shapes.unknown();
551
551
  }
552
+
553
+ export function coerce<S extends Shape>(
554
+ x: unknown,
555
+ shape: S,
556
+ ): OutputOfShape<S> {
557
+ const convert = (x: unknown, shape: Shape): unknown => {
558
+ switch (shape.type) {
559
+ case "str":
560
+ if (typeof x === "string") return x;
561
+ return `${x}`;
562
+ case "literal-str":
563
+ case "literal-int":
564
+ case "literal-float":
565
+ case "literal-number":
566
+ case "literal-bool":
567
+ return shape.value;
568
+ case "number":
569
+ case "float":
570
+ if (typeof x === "number") return x;
571
+ if (typeof x === "string") return Number(x || 0);
572
+ return 0;
573
+ case "int":
574
+ if (typeof x === "number") return Math.trunc(x);
575
+ if (typeof x === "string") return Math.trunc(Number(x || 0));
576
+ return 0;
577
+ case "nil":
578
+ return null;
579
+ case "bool":
580
+ if (typeof x === "boolean") return x;
581
+ if (typeof x === "string")
582
+ return ["true", "1", "yes"].includes(x.trim().toLowerCase());
583
+ return !!x;
584
+ case "date":
585
+ if (x instanceof Date) return x;
586
+ if (typeof x === "string" || typeof x === "number")
587
+ return new Date(x);
588
+ return new Date();
589
+ case "unknown":
590
+ return x;
591
+ case "vector":
592
+ if (Array.isArray(x)) return x.map((v) => convert(v, shapes.float()));
593
+ if (typeof x === "string")
594
+ return x
595
+ .replaceAll(/\[|\{|\}|\]/g, "")
596
+ .split(",")
597
+ .map((v) => v.trim())
598
+ .map((v) => convert(v, shapes.float()));
599
+ return [];
600
+ case "array":
601
+ if (Array.isArray(x)) return x.map((v) => convert(v, shape.item));
602
+ if (typeof x === "string")
603
+ return x
604
+ .replaceAll(/\[|\{|\}|\]/g, "")
605
+ .split(",")
606
+ .map((v) => v.trim())
607
+ .map((v) => convert(v, shape.item));
608
+ return [];
609
+ case "tuple":
610
+ if (Array.isArray(x))
611
+ return shape.tup.map((s, i) => convert(x[i], s));
612
+ if (typeof x === "string") {
613
+ const parts = x
614
+ .replaceAll(/\[|\{|\}|\]/g, "")
615
+ .split(",")
616
+ .map((v) => v.trim());
617
+ return shape.tup.map((s, i) => convert(parts[i], s));
618
+ }
619
+ return shape.tup.map((s) => convert(null, s));
620
+ case "bytes":
621
+ if (x instanceof Uint8Array) return x;
622
+ if (Array.isArray(x))
623
+ return new Uint8Array(
624
+ x.map((v) => convert(v, shapes.int())) as number[],
625
+ );
626
+ if (typeof x === "string")
627
+ return new Uint8Array(
628
+ x
629
+ .replaceAll(/\[|\{|\}|\]/g, "")
630
+ .split(",")
631
+ .map((v) => v.trim())
632
+ .map((v) => convert(v, shapes.number())) as number[],
633
+ );
634
+ return new Uint8Array();
635
+ case "ref":
636
+ return x;
637
+ case "union":
638
+ const t = shape.ofs[0];
639
+ return convert(x, t || shapes.unknown());
640
+ case "mapping":
641
+ let obj: Record<string, unknown> = {};
642
+ if (isPlainObject(x)) {
643
+ obj = x;
644
+ } else if (typeof x === "string") {
645
+ const trimmed = x.trim();
646
+ if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
647
+ try {
648
+ obj = JSON.parse(x) as Record<string, unknown>;
649
+ } catch {}
650
+ }
651
+ }
652
+ return Object.assign(
653
+ {},
654
+ ...Object.entries(shape.rec).map(([k, t]) => {
655
+ return {
656
+ [k]: convert(obj[k], t),
657
+ };
658
+ }),
659
+ );
660
+ }
661
+ };
662
+
663
+ return convert(x, shape) as OutputOfShape<S>;
664
+ }
552
665
  }