@wildo-ai/zod-decorators 1.1.11 → 1.1.13

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.
Files changed (78) hide show
  1. package/dist/esm/commons.d.ts.map +1 -1
  2. package/dist/esm/commons.js.map +1 -1
  3. package/dist/esm/currencies.shared.schemas.d.ts.map +1 -1
  4. package/dist/esm/currencies.shared.schemas.js.map +1 -1
  5. package/dist/esm/files/agent-file-formats.d.ts.map +1 -1
  6. package/dist/esm/files/agent-file-formats.js.map +1 -1
  7. package/dist/esm/files/extension-nature-map.d.ts.map +1 -1
  8. package/dist/esm/files/extension-nature-map.js.map +1 -1
  9. package/dist/esm/files/file-extensions.enum.d.ts.map +1 -1
  10. package/dist/esm/files/file-extensions.enum.js.map +1 -1
  11. package/dist/esm/files/mime-registry.d.ts.map +1 -1
  12. package/dist/esm/files/mime-registry.js.map +1 -1
  13. package/dist/esm/files/unified-registry.d.ts.map +1 -1
  14. package/dist/esm/files/unified-registry.js.map +1 -1
  15. package/dist/esm/index.d.ts +2 -0
  16. package/dist/esm/index.d.ts.map +1 -1
  17. package/dist/esm/index.js +2 -0
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/install-bigint-json-encoding.d.ts +1 -1
  20. package/dist/esm/install-bigint-json-encoding.d.ts.map +1 -1
  21. package/dist/esm/install-bigint-json-encoding.js +1 -1
  22. package/dist/esm/install-bigint-json-encoding.js.map +1 -1
  23. package/dist/esm/testing/decorated-test-schemas.d.ts +7 -7
  24. package/dist/esm/testing/decorated-test-schemas.d.ts.map +1 -1
  25. package/dist/esm/testing/decorated-test-schemas.js.map +1 -1
  26. package/dist/esm/testing.d.ts.map +1 -1
  27. package/dist/esm/testing.js.map +1 -1
  28. package/dist/esm/zod-address.d.ts.map +1 -1
  29. package/dist/esm/zod-address.js.map +1 -1
  30. package/dist/esm/zod-bigdecimal.d.ts +4 -4
  31. package/dist/esm/zod-bigdecimal.d.ts.map +1 -1
  32. package/dist/esm/zod-bigdecimal.js.map +1 -1
  33. package/dist/esm/zod-code.d.ts +4 -4
  34. package/dist/esm/zod-code.d.ts.map +1 -1
  35. package/dist/esm/zod-code.js.map +1 -1
  36. package/dist/esm/zod-color.d.ts.map +1 -1
  37. package/dist/esm/zod-color.js.map +1 -1
  38. package/dist/esm/zod-decorators.types.d.ts +116 -9
  39. package/dist/esm/zod-decorators.types.d.ts.map +1 -1
  40. package/dist/esm/zod-decorators.types.js +40 -1
  41. package/dist/esm/zod-decorators.types.js.map +1 -1
  42. package/dist/esm/zod-document-sequence.d.ts.map +1 -1
  43. package/dist/esm/zod-document-sequence.js.map +1 -1
  44. package/dist/esm/zod-duration.d.ts +6 -6
  45. package/dist/esm/zod-duration.d.ts.map +1 -1
  46. package/dist/esm/zod-duration.js.map +1 -1
  47. package/dist/esm/zod-file.d.ts +5 -4
  48. package/dist/esm/zod-file.d.ts.map +1 -1
  49. package/dist/esm/zod-file.js +1 -1
  50. package/dist/esm/zod-file.js.map +1 -1
  51. package/dist/esm/zod-money.d.ts +4 -4
  52. package/dist/esm/zod-money.d.ts.map +1 -1
  53. package/dist/esm/zod-money.js.map +1 -1
  54. package/dist/esm/zod-phone.d.ts +4 -4
  55. package/dist/esm/zod-phone.d.ts.map +1 -1
  56. package/dist/esm/zod-phone.js.map +1 -1
  57. package/dist/esm/zod-range.d.ts.map +1 -1
  58. package/dist/esm/zod-range.js.map +1 -1
  59. package/dist/esm/zod-utils.shared.d.ts +47 -12
  60. package/dist/esm/zod-utils.shared.d.ts.map +1 -1
  61. package/dist/esm/zod-utils.shared.js +143 -40
  62. package/dist/esm/zod-utils.shared.js.map +1 -1
  63. package/dist/esm/zod-versioned.d.ts.map +1 -1
  64. package/dist/esm/zod-versioned.js.map +1 -1
  65. package/dist/esm/zod-wire-date.d.ts +107 -0
  66. package/dist/esm/zod-wire-date.d.ts.map +1 -0
  67. package/dist/esm/zod-wire-date.js +162 -0
  68. package/dist/esm/zod-wire-date.js.map +1 -0
  69. package/dist/esm/zod-year-month.d.ts +76 -0
  70. package/dist/esm/zod-year-month.d.ts.map +1 -0
  71. package/dist/esm/zod-year-month.js +115 -0
  72. package/dist/esm/zod-year-month.js.map +1 -0
  73. package/dist/esm/zod.module-override.d.ts +139 -156
  74. package/dist/esm/zod.module-override.d.ts.map +1 -1
  75. package/dist/esm/zod.module-override.js +176 -6
  76. package/dist/esm/zod.module-override.js.map +1 -1
  77. package/dist/tsconfig.build.tsbuildinfo +1 -1
  78. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"zod-money.d.ts","sourceRoot":"","sources":["../../../src/zod-money.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-money.d.ts","sourceRoot":"","sources":["../../src/zod-money.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAA6D,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAClM,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAA6B,MAAM,6BAA6B,CAAC;AAExF;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,cAAc,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAA;CAAE,CAIxH,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,kBAAuB,GAC/B,oBAAoB,CA+CtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IACrC,oHAAoH;IACpH,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACvF,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC3F,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACzF,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAErG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACrG,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;IAC/G,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC3C,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,QAAQ,EAAE,OAAO,cAAc,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;CACvB,CAAC,GAAG,2BAA2B,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,OAAO,CACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,oBAAoB,CAEtB;AACD,iDAAiD;AAMjD;;;;;;;GAOG;AACH,oBAAY,+BAA+B;IACzC,yFAAyF;IACzF,kBAAkB,uBAAuB;IACzC,gFAAgF;IAChF,cAAc,mBAAmB;IACjC,iFAAiF;IACjF,gBAAgB,qBAAqB;CACtC;AAED,qGAAqG;AACrG,qBAAa,6BAA8B,SAAQ,KAAK;aAEpC,MAAM,EAAE,+BAA+B;gBAAvC,MAAM,EAAE,+BAA+B,EACvD,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAkC3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAItE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+BzF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAgBrG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtB,GACL,MAAM,CA8BR"}
@@ -1 +1 @@
1
- {"version":3,"file":"zod-money.js","sourceRoot":"","sources":["../../../src/zod-money.ts"],"names":[],"mappings":"AACA,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAkB,eAAe,EAAoF,YAAY,EAA2B,MAAM,wBAAwB,CAAC;AAClM,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAgCxF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiG,CAAC,CAAC,MAAM,CAAC;IACrI,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0KAA0K,CAAC;IACvM,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,sHAAsH,CAAC;CAC3K,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAA8B,EAAE;IAEhC,MAAM,EACJ,iBAAiB,EACjB,cAAc,GAAG,IAAI,EACrB,mBAAmB,GAAG,IAAI,EAC1B,SAAS,EACT,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,6DAA6D;IAC7D,iFAAiF;IACjF,IAAI,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,iCAAiC;IACjC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3B,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,0KAA0K,CAAC;QACzM,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,sHAAsH,CAAC;KAC3K,CAAC,CAAC;IAEH,MAAM,aAAa,GAAwB;QACzC,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAC/E,cAAc;QACd,mBAAmB;QACnB,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;KAC9C,CAAC;IAEF,yDAAyD;IACzD,MAAM,gBAAgB,GAAyB,WAAmB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACzF,WAAmB,CAAC,eAAe,CAAC,GAAG;QACtC,GAAG,gBAAgB;QACnB,WAAW,EAAE,aAAa;KAC3B,CAAC;IAEF,+DAA+D;IAC/D,kFAAkF;IAClF,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEjC,OAAO,WAAmC,CAAC;AAC7C,CAAC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,OAAO,CACrB,OAA4B;IAE5B,OAAO,iBAAiB,CAAC,OAAO,CAAyB,CAAC;AAC5D,CAAC;AACD,iDAAiD;AAEjD,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,+BAOX;AAPD,WAAY,+BAA+B;IACzC,yFAAyF;IACzF,4EAAyC,CAAA;IACzC,gFAAgF;IAChF,oEAAiC,CAAA;IACjC,iFAAiF;IACjF,wEAAqC,CAAA;AACvC,CAAC,EAPW,+BAA+B,KAA/B,+BAA+B,QAO1C;AAED,qGAAqG;AACrG,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAEpC;IADlB,YACkB,MAAuC,EACvD,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAAiC;QAIvD,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAiB,EAAE,OAAe;IACjF,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,6BAA6B,CACrC,+BAA+B,CAAC,kBAAkB,EAClD,kBAAkB,OAAO,sCAAsC,KAAK,CAAC,QAAQ,iLAAiL,CAC/P,CAAC;IACJ,CAAC;IAED,IAAI,SAAiB,CAAC;IACtB,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC9B,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;QACnC,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,KAAK,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,6BAA6B,CACrC,+BAA+B,CAAC,cAAc,EAC9C,kBAAkB,OAAO,mCAAmC,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,QAAQ,yBAAyB,KAAK,CAAC,QAAQ,2BAA2B,MAAM,qEAAqE,MAAM,8CAA8C,CACrS,CAAC;QACJ,CAAC;QACD,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,6BAA6B,CACrC,+BAA+B,CAAC,gBAAgB,EAChD,kBAAkB,OAAO,mCAAmC,SAAS,OAAO,KAAK,CAAC,QAAQ,gIAAgI,CAC3N,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,aAAqB,EAAE,QAAgB;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,QAAgB;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAA+B;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAa,EAAE,QAAgB;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE1F,cAAc;IACd,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzD,sDAAsD;IACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAE1E,+DAA+D;IAC/D,MAAM,cAAc,GAAG,QAAQ,KAAK,CAAC;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE3D,kDAAkD;IAClD,MAAM,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC;IAC9C,gFAAgF;IAChF,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,YAAoB,EAAE,UAAkB;IAC3F,IAAI,YAAY,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC;IAE/C,MAAM,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;IAEvC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,qBAAqB;QACrB,OAAO,MAAM,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,yDAAyD;IACzD,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,GAAG,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,SAAS,GAAG,OAAO,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IACrD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,KAAiB,EACjB,UAKI,EAAE;IAEN,MAAM,EACJ,UAAU,GAAG,IAAI,EACjB,cAAc,GAAG,QAAQ,EACzB,kBAAkB,GAAG,GAAG,EACxB,gBAAgB,GAAG,GAAG,GACvB,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnE,oCAAoC;IACpC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnF,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;IAE1F,MAAM,eAAe,GAAG,WAAW;QACjC,CAAC,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,WAAW,EAAE;QACxD,CAAC,CAAC,gBAAgB,CAAC;IAErB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,gFAAgF;IAChF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;IAE9B,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,GAAG,MAAM,IAAI,eAAe,EAAE;QAChC,CAAC,CAAC,GAAG,eAAe,IAAI,MAAM,EAAE,CAAC;AACrC,CAAC","sourcesContent":["\n// ============================================================================\n// MONEY SCHEMA HELPER\n// ============================================================================\n\nimport { DecoratorInput, SCHEMA_METADATA, CustomFieldMetadata, MoneySchemaMetadata, MoneySchemaOptions, SummaryFieldParams, ZodDecorator, ZodDecorator_ParamsType } from \"./zod-decorators.types\";\nimport { z } from \"zod\";\nimport { addChainableMethods } from \"./zod.module-override\";\nimport { CurrencySchema, currencyMinorUnitDecimals } from \"./currencies.shared.schemas\";\n\n/**\n * Money value type - represents a monetary amount with bigint storage.\n *\n * The amount is stored as a bigint in the smallest unit (e.g., cents for USD).\n * Using bigint ensures no precision loss for arbitrarily large amounts.\n * The decimals field indicates how to convert to the display value:\n * - displayValue = Number(amount) / (10 ** decimals)\n *\n * Example: { amount: 1999n, currency: 'USD', decimals: 2 } = $19.99\n */\nexport interface MoneyValue {\n /**\n * Amount in smallest unit (e.g., cents). BigInt to avoid precision issues with\n * large amounts.\n *\n * WIRE CONTRACT: a `bigint` has no JSON form, so on the wire (and at rest in\n * Mongo) this amount is a decimal STRING (e.g. `\"1999\"`). Outbound it is encoded\n * by `BigInt.prototype.toJSON` (`installBigIntJsonEncoding`, same package);\n * inbound it is coerced back to `bigint` by `applyNetworkBoundaryCoercion`\n * (`@wildo-ai/saas-models`) on the shared request/response DTO — so both the\n * frontend and backend hold a real `bigint` at runtime. Full mechanism map:\n * `install-bigint-json-encoding.ts`.\n */\n amount: bigint;\n /** ISO 4217 currency code (e.g., 'USD', 'EUR', 'BTC') */\n currency: string;\n /** Number of decimal places for display (e.g., 2 for USD, 8 for BTC) */\n decimals: number;\n}\n\n/**\n * Zod schema for MoneyValue.\n */\nexport const MoneyValueSchema: z.ZodObject<{ amount: z.ZodBigInt; currency: typeof CurrencySchema; decimals: z.ZodNumber }> = z.object({\n amount: z.bigint().describe(\"The amount in the currency's smallest unit, such as cents, as an integer. Sent as a decimal string (`\\\"1999\\\"`), because it can exceed what a JSON number holds exactly.\"),\n currency: CurrencySchema.describe(\"The ISO 4217 currency code, such as `USD` or `EUR`.\"),\n decimals: z.number().int().min(0).max(18).describe(\"How many decimal places the currency uses, to turn `amount` into a displayed value: `1999` with 2 decimals is 19.99.\"),\n});\n\n/**\n * @wildo_source:part:start zod.factories.money facet:layer:shared facet:family:schema-factory\n *\n * z_money() - Creates money schemas for financial amounts.\n *\n * Money values are stored as integers to avoid floating-point precision issues.\n * The schema creates an object with: { amount, currency, decimals }\n *\n * @example\n * ```typescript\n * import { z_money } from '@wildo-ai/zod-decorators';\n *\n * const price = z_money();\n * const fiatPrice = z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] });\n * const usdPrice = z_money({ allowCurrencyChange: false }).moneyUI({ edit: { defaultCurrency: 'USD' } });\n *\n * // With decorators (chainable)\n * z_money().moneyUI({ edit: { defaultCurrency: 'EUR' } })\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT_MAJOR] }).isHidden({ edit: true })\n * ```\n */\n\n/**\n * Creates a money schema with metadata for detection and form component rendering.\n *\n * @param options - Configuration options for money field\n * @returns A Zod object schema with metadata for money detection\n *\n * @example\n * ```typescript\n * // Simple money (all currencies)\n * const price = z_money();\n * // Infers: { amount: bigint, currency: string, decimals: number }\n *\n * // Fiat only (no crypto)\n * const fiatPrice = z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] });\n *\n * // Fixed currency with amount constraints\n * const usdPrice = z_money({\n * allowCurrencyChange: false,\n * minAmount: 0n,\n * maxAmount: 100000000n // $1,000,000.00 in cents\n * }).moneyUI({ edit: { defaultCurrency: 'USD' } });\n * ```\n */\nexport function createMoneySchema(\n options: MoneySchemaOptions = {}\n): DecoratedMoneySchema {\n const {\n currenciesAllowed,\n appEnabledOnly = true,\n allowCurrencyChange = true,\n minAmount,\n maxAmount,\n } = options;\n\n // Create the amount schema with optional min/max constraints\n // Using bigint for amount to avoid precision issues with large financial amounts\n let amountSchema = z.bigint();\n if (minAmount !== undefined) {\n amountSchema = amountSchema.min(minAmount);\n }\n if (maxAmount !== undefined) {\n amountSchema = amountSchema.max(maxAmount);\n }\n\n // Create the money object schema\n const moneySchema = z.object({\n amount: amountSchema.describe(\"The amount in the currency's smallest unit, such as cents, as an integer. Sent as a decimal string (`\\\"1999\\\"`), because it can exceed what a JSON number holds exactly.\"),\n currency: CurrencySchema.describe(\"The ISO 4217 currency code, such as `USD` or `EUR`.\"),\n decimals: z.number().int().min(0).max(18).describe(\"How many decimal places the currency uses, to turn `amount` into a displayed value: `1999` with 2 decimals is 19.99.\"),\n });\n\n const moneyMetadata: MoneySchemaMetadata = {\n isMoney: true,\n ...(currenciesAllowed && currenciesAllowed.length > 0 && { currenciesAllowed }),\n appEnabledOnly,\n allowCurrencyChange,\n ...(minAmount !== undefined && { minAmount }),\n ...(maxAmount !== undefined && { maxAmount }),\n };\n\n // Initialize or extend SCHEMA_METADATA with money config\n const existingMetadata: CustomFieldMetadata = (moneySchema as any)[SCHEMA_METADATA] || {};\n (moneySchema as any)[SCHEMA_METADATA] = {\n ...existingMetadata,\n moneyConfig: moneyMetadata,\n };\n\n // Add chainable decorator methods to the money schema instance\n // This allows: z_money().moneyUI({ edit: { defaultCurrency: 'EUR' } }).isHidden()\n addChainableMethods(moneySchema);\n\n return moneySchema as DecoratedMoneySchema;\n}\n\n/**\n * The chainable methods of `DecoratedMoneySchema`, returning `this` so a chain of several decorations keeps\n * the type it reached: `.isSummaryField()` turns the field into a `DecoratedPrimitiveZodType<DecoratedMoneySchema>`,\n * and a spec or UI method called after it must return that, not the bare factory type. A method\n * returning `DecoratedMoneySchema` itself won that overload inside the intersection, so a resource\n * specification's field map rejected `schemaShape.x.<factory>Spec(...)` on a decorated field.\n */\nexport interface DecoratedMoneySchemaMethods {\n [ZodDecorator.IS_DB_INDEXED](): this;\n /** Installed at runtime with the other chainable methods; declared here so an authored `.moneyUI(…)` typechecks. */\n [ZodDecorator.MONEY_UI](params?: ZodDecorator_ParamsType[ZodDecorator.MONEY_UI]): this;\n [ZodDecorator.MONEY_SPEC](params?: ZodDecorator_ParamsType[ZodDecorator.MONEY_SPEC]): this;\n [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): this;\n [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): this;\n // Resource-level decorators (applicable to all types including ZodObject)\n [ZodDecorator.IS_SUMMARY_FIELD](params?: SummaryFieldParams): this;\n [ZodDecorator.IS_BACKEND_ONLY](params?: ZodDecorator_ParamsType[ZodDecorator.IS_BACKEND_ONLY]): this;\n [ZodDecorator.IS_WRITE_ONLY_SECRET](params?: ZodDecorator_ParamsType[ZodDecorator.IS_WRITE_ONLY_SECRET]): this;\n [ZodDecorator.EXCLUDE_FROM_CREATE](): this;\n [ZodDecorator.EXCLUDE_FROM_UPDATE](): this;\n addDecorators(decorators: DecoratorInput[]): this;\n}\n\n/**\n * Return type for money schemas - includes decorator methods.\n * Note: IS_FOREIGN_KEY is not applicable to money objects.\n * IS_DB_INDEXED will index internal fields (amount, currency) for query optimization.\n *\n * This type must list all decorators applicable to ZodObject (per ApplyableTypeAllTypes).\n * Missing entries here cause TS errors when chaining decorators on z_money() fields.\n */\nexport type DecoratedMoneySchema = z.ZodObject<{\n amount: z.ZodBigInt;\n currency: typeof CurrencySchema;\n decimals: z.ZodNumber;\n}> & DecoratedMoneySchemaMethods;\n\n/**\n * Creates a money schema for financial amounts with integer storage.\n * Named z_money to indicate it's a Zod helper function exported standalone.\n *\n * Money values are stored as: { amount: int, currency: string, decimals: int }\n * - amount: Value in smallest unit (e.g., cents for USD, satoshis for BTC)\n * - currency: ISO 4217 code (e.g., 'USD', 'EUR', 'BTC')\n * - decimals: Decimal places for display conversion (e.g., 2 for USD, 8 for BTC)\n *\n * @example\n * ```typescript\n * import { z_money } from '@wildo-ai/zod-decorators';\n *\n * // Simple usage\n * z_money() // All currencies\n *\n * // With options\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] })\n * z_money({ allowCurrencyChange: false }).moneyUI({ edit: { defaultCurrency: 'USD' } })\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT_MAJOR], minAmount: 0n })\n *\n * // With decorators (chainable)\n * z_money().moneyUI({ edit: { defaultCurrency: 'USD' } })\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] }).isHidden({ edit: true })\n *\n * // Usage example\n * const price: MoneyValue = { amount: 1999n, currency: 'USD', decimals: 2 };\n * // Represents $19.99\n * ```\n */\nexport function z_money(\n options?: MoneySchemaOptions\n): DecoratedMoneySchema {\n return createMoneySchema(options) as DecoratedMoneySchema;\n}\n/** @wildo_source:part:end zod.factories.money */\n\n// ============================================================================\n// MONEY UTILITY FUNCTIONS\n// ============================================================================\n\n/**\n * Why an amount could not be expressed in its currency's smallest unit.\n *\n * A named vocabulary rather than three bare strings, because each member has a DIFFERENT remedy and\n * an operator reading a sync log needs to know which one they are looking at: an unknown minor unit\n * is a catalogue problem, a precision loss is an authoring problem, and an unsafe magnitude is a\n * limit of the provider's own number type.\n */\nexport enum MoneyMinorUnitConversionFailure {\n /** The currency has no minor unit (`XDR`, `XXX`) or is not one this vocabulary knows. */\n UNKNOWN_MINOR_UNIT = 'unknown_minor_unit',\n /** Converting down would discard a fraction of the provider's smallest unit. */\n PRECISION_LOSS = 'precision_loss',\n /** The converted amount cannot be represented exactly as a JavaScript number. */\n UNSAFE_MAGNITUDE = 'unsafe_magnitude',\n}\n\n/** Thrown by {@link toCurrencyMinorUnitAmountOrThrow}; carries the reason so a caller can branch. */\nexport class MoneyMinorUnitConversionError extends Error {\n constructor(\n public readonly reason: MoneyMinorUnitConversionFailure,\n message: string,\n ) {\n super(message);\n this.name = 'MoneyMinorUnitConversionError';\n }\n}\n\n/**\n * Convert a {@link MoneyValue} to the amount a payment provider expects: an integer in the CURRENCY's\n * smallest unit.\n *\n * Wildo stores money at an AUTHORED scale (`decimals` on the value); a provider reads it at the\n * currency's own scale. Those are two different numbers whenever they disagree, and until 2026-09-08\n * the billing boundary sent the stored amount straight through — so a price authored at any scale\n * other than the currency's was charged at the wrong magnitude, by a factor of 10 per decimal place\n * of disagreement.\n *\n * **All arithmetic is `bigint`.** The stored amount already is one, and the whole reason it is a\n * bigint rather than a number is that money must not round; converting through a float to save a cast\n * would give that back at exactly the boundary where it costs money.\n *\n * **Scaling UP is always exact. Scaling DOWN refuses on a remainder rather than rounding** — a price\n * of 1.005 in a currency whose smallest unit is a cent is not 1.00 and not 1.01, it is a price the\n * provider cannot express, and silently picking one is how a catalogue and an invoice come to\n * disagree by a cent per unit forever.\n *\n * **Throws rather than returning a result union**, and the reason is the compiler rather than taste:\n * this repository compiles with `strict: false` (`engine/tsconfig.common.json`), which disables the\n * discriminant narrowing a `{ ok: true } | { ok: false }` result depends on — so every caller would\n * need a cast to read the failure, at every boundary. A typed error narrows by `instanceof`, which\n * works regardless. Callers that must not throw resolve the scale directly with\n * `currencyMinorUnitDecimals` and decide for themselves.\n *\n * @param subject what the message names (\"price p_1 tier 2 flat amount\"), so an operator reading a\n * sync log knows which amount could not be expressed without opening the catalogue.\n */\nexport function toCurrencyMinorUnitAmountOrThrow(value: MoneyValue, subject: string): number {\n const target = currencyMinorUnitDecimals(value.currency);\n if (target === undefined) {\n throw new MoneyMinorUnitConversionError(\n MoneyMinorUnitConversionFailure.UNKNOWN_MINOR_UNIT,\n `Cannot express ${subject} for a payment provider: currency '${value.currency}' has no minor unit this framework can resolve. Cryptocurrencies are in this position deliberately — their decimals are protocol conventions, not a fiat provider's minor unit.`,\n );\n }\n\n let converted: bigint;\n if (value.decimals === target) {\n converted = value.amount;\n } else if (value.decimals < target) {\n converted = value.amount * 10n ** BigInt(target - value.decimals);\n } else {\n const divisor = 10n ** BigInt(value.decimals - target);\n if (value.amount % divisor !== 0n) {\n throw new MoneyMinorUnitConversionError(\n MoneyMinorUnitConversionFailure.PRECISION_LOSS,\n `Cannot express ${subject} for a payment provider: amount ${value.amount} at scale ${value.decimals} cannot be written in ${value.currency}'s smallest unit (scale ${target}) without discarding a fraction of it. Author the amount at scale ${target}, or at a scale whose extra digits are zero.`,\n );\n }\n converted = value.amount / divisor;\n }\n\n const asNumber = Number(converted);\n if (!Number.isSafeInteger(asNumber)) {\n throw new MoneyMinorUnitConversionError(\n MoneyMinorUnitConversionFailure.UNSAFE_MAGNITUDE,\n `Cannot express ${subject} for a payment provider: amount ${converted} in ${value.currency}'s smallest unit exceeds the range a JavaScript number represents exactly, so handing it over would silently change its value.`,\n );\n }\n\n return asNumber;\n}\n\n/**\n * Convert a decimal amount to bigint representation.\n *\n * **Precision caveat:** This uses floating-point arithmetic internally\n * (`Math.round(decimalAmount * 10^decimals)`), which can produce rounding\n * errors for certain values. Prefer `parseDecimalStringToAmount` when working\n * with user input strings to avoid float precision issues entirely.\n *\n * @param decimalAmount - The decimal amount (e.g., 19.99)\n * @param decimals - Number of decimal places (e.g., 2)\n * @returns BigInt amount (e.g., 1999n)\n */\nexport function toMoneyAmount(decimalAmount: number, decimals: number): bigint {\n return BigInt(Math.round(decimalAmount * Math.pow(10, decimals)));\n}\n\n/**\n * Convert a bigint amount to decimal representation.\n * @param amount - The bigint amount (e.g., 1999n)\n * @param decimals - Number of decimal places (e.g., 2)\n * @returns Decimal amount (e.g., 19.99)\n */\nexport function fromMoneyAmount(amount: bigint, decimals: number): number {\n return Number(amount) / Math.pow(10, decimals);\n}\n\n/**\n * Convert a string or number to bigint safely.\n * Useful for parsing user input or JSON values.\n * @param value - String, number, or bigint to convert\n * @returns BigInt amount\n */\nexport function toBigIntAmount(value: string | number | bigint): bigint {\n if (typeof value === 'bigint') return value;\n if (typeof value === 'number') return BigInt(Math.round(value));\n return BigInt(value);\n}\n\n/**\n * Parse a decimal string directly to a bigint amount, avoiding floating-point\n * precision issues entirely.\n *\n * This is the preferred way to convert user input (e.g., from an HTML input\n * element) to a money amount. It works by splitting the string at the decimal\n * point and manipulating integer/fractional parts as strings, so no float\n * arithmetic is ever involved.\n *\n * - Extra fractional digits beyond `decimals` are **truncated** (not rounded).\n * - Missing fractional digits are **zero-padded**.\n *\n * @param input - A decimal string (e.g., \"19.99\", \"5\", \".50\", \"-12.345\")\n * @param decimals - Number of decimal places for the target currency\n * @returns BigInt amount, or `null` if the input is not a valid decimal string\n *\n * **Note:** Scientific notation strings (e.g., `\"1e+10\"`) are rejected (returns\n * `null`) since they are not valid monetary input. This is correct behavior when\n * reading from `<input type=\"number\">`, which may produce such strings for very\n * large values — those inputs should be constrained via `min`/`max` attributes.\n *\n * @example\n * ```typescript\n * parseDecimalStringToAmount(\"19.99\", 2) // → 1999n\n * parseDecimalStringToAmount(\"19.999\", 2) // → 1999n (truncates, not rounds)\n * parseDecimalStringToAmount(\"19.9\", 2) // → 1990n (pads missing decimals)\n * parseDecimalStringToAmount(\"5\", 2) // → 500n\n * parseDecimalStringToAmount(\".50\", 2) // → 50n\n * parseDecimalStringToAmount(\"-12.34\", 2) // → -1234n\n * parseDecimalStringToAmount(\"abc\", 2) // → null\n * parseDecimalStringToAmount(\"1e+10\", 2) // → null (scientific notation rejected)\n * ```\n */\nexport function parseDecimalStringToAmount(input: string, decimals: number): bigint | null {\n const trimmed = input.trim();\n if (trimmed === '' || trimmed === '.' || trimmed === '-' || trimmed === '-.') return null;\n\n // Handle sign\n const isNegative = trimmed.startsWith('-');\n const unsigned = isNegative ? trimmed.slice(1) : trimmed;\n\n // Validate: only digits and at most one decimal point\n if (!/^\\d*\\.?\\d*$/.test(unsigned)) return null;\n\n const dotIndex = unsigned.indexOf('.');\n const integerPart = dotIndex === -1 ? unsigned : (unsigned.slice(0, dotIndex) || '0');\n const fractionalRaw = dotIndex === -1 ? '' : unsigned.slice(dotIndex + 1);\n\n // Pad or truncate fractional part to exactly `decimals` digits\n const fractionalPart = decimals === 0\n ? ''\n : fractionalRaw.padEnd(decimals, '0').slice(0, decimals);\n\n // Build the combined string and convert to bigint\n const combined = integerPart + fractionalPart;\n // Guard against empty combined (shouldn't happen after validation, but be safe)\n if (combined === '') return 0n;\n\n try {\n const result = BigInt(combined);\n return isNegative ? -result : result;\n } catch {\n return null;\n }\n}\n\n/**\n * Convert a money amount from one decimal precision to another using pure\n * bigint arithmetic (no floating-point involved).\n *\n * Use this when changing a currency (which may have different decimal places)\n * instead of the float roundtrip `fromMoneyAmount` → `toMoneyAmount`.\n *\n * - When increasing decimals (e.g., 2 → 8): multiplies by 10^(diff)\n * - When decreasing decimals (e.g., 8 → 2): divides with half-away-from-zero rounding\n *\n * @param amount - The bigint amount in the source precision\n * @param fromDecimals - Source decimal places\n * @param toDecimals - Target decimal places\n * @returns BigInt amount in the target precision\n *\n * @example\n * ```typescript\n * convertMoneyDecimals(1999n, 2, 2) // → 1999n (same decimals, no-op)\n * convertMoneyDecimals(1999n, 2, 4) // → 199900n (scale up)\n * convertMoneyDecimals(199900n, 4, 2) // → 1999n (scale down)\n * convertMoneyDecimals(12345678n, 8, 2) // → 12n (BTC satoshis to 2-decimal)\n * ```\n */\nexport function convertMoneyDecimals(amount: bigint, fromDecimals: number, toDecimals: number): bigint {\n if (fromDecimals === toDecimals) return amount;\n\n const diff = toDecimals - fromDecimals;\n\n if (diff > 0) {\n // Scale up: multiply\n return amount * (10n ** BigInt(diff));\n }\n\n // Scale down: divide with rounding (half-away-from-zero)\n const divisor = 10n ** BigInt(-diff);\n const isNegative = amount < 0n;\n const absAmount = isNegative ? -amount : amount;\n const rounded = (absAmount + divisor / 2n) / divisor;\n return isNegative ? -rounded : rounded;\n}\n\n/**\n * Format a money value for display.\n * @param money - The money value\n * @param options - Formatting options\n * @returns Formatted string (e.g., \"$19.99\" or \"19.99 USD\")\n */\nexport function formatMoney(\n money: MoneyValue,\n options: {\n showSymbol?: boolean;\n symbolPosition?: 'before' | 'after';\n thousandsSeparator?: string;\n decimalSeparator?: string;\n } = {}\n): string {\n const {\n showSymbol = true,\n symbolPosition = 'before',\n thousandsSeparator = ',',\n decimalSeparator = '.',\n } = options;\n\n const decimalValue = fromMoneyAmount(money.amount, money.decimals);\n\n // Format with proper decimal places\n const [integerPart, decimalPart] = decimalValue.toFixed(money.decimals).split('.');\n\n // Add thousands separator\n const formattedInteger = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator);\n\n const formattedNumber = decimalPart\n ? `${formattedInteger}${decimalSeparator}${decimalPart}`\n : formattedInteger;\n\n if (!showSymbol) {\n return formattedNumber;\n }\n\n // For now, use currency code as symbol (can be enhanced with CURRENCY_INFO_MAP)\n const symbol = money.currency;\n\n return symbolPosition === 'before'\n ? `${symbol} ${formattedNumber}`\n : `${formattedNumber} ${symbol}`;\n}\n\n"]}
1
+ {"version":3,"file":"zod-money.js","sourceRoot":"","sources":["../../src/zod-money.ts"],"names":[],"mappings":"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","sourcesContent":["\n// ============================================================================\n// MONEY SCHEMA HELPER\n// ============================================================================\n\nimport { DecoratorInput, SCHEMA_METADATA, CustomFieldMetadata, MoneySchemaMetadata, MoneySchemaOptions, SummaryFieldParams, ZodDecorator, ZodDecorator_ParamsType } from \"./zod-decorators.types\";\nimport { z } from \"zod\";\nimport { addChainableMethods } from \"./zod.module-override\";\nimport { CurrencySchema, currencyMinorUnitDecimals } from \"./currencies.shared.schemas\";\n\n/**\n * Money value type - represents a monetary amount with bigint storage.\n *\n * The amount is stored as a bigint in the smallest unit (e.g., cents for USD).\n * Using bigint ensures no precision loss for arbitrarily large amounts.\n * The decimals field indicates how to convert to the display value:\n * - displayValue = Number(amount) / (10 ** decimals)\n *\n * Example: { amount: 1999n, currency: 'USD', decimals: 2 } = $19.99\n */\nexport interface MoneyValue {\n /**\n * Amount in smallest unit (e.g., cents). BigInt to avoid precision issues with\n * large amounts.\n *\n * WIRE CONTRACT: a `bigint` has no JSON form, so on the wire (and at rest in\n * Mongo) this amount is a decimal STRING (e.g. `\"1999\"`). Outbound it is encoded\n * by `BigInt.prototype.toJSON` (`installBigIntJsonEncoding`, same package);\n * inbound it is coerced back to `bigint` by `applyNetworkBoundaryCoercion`\n * (`@wildo-ai/saas-models`) on the shared request/response DTO — so both the\n * frontend and backend hold a real `bigint` at runtime. Full mechanism map:\n * `install-bigint-json-encoding.ts`.\n */\n amount: bigint;\n /** ISO 4217 currency code (e.g., 'USD', 'EUR', 'BTC') */\n currency: string;\n /** Number of decimal places for display (e.g., 2 for USD, 8 for BTC) */\n decimals: number;\n}\n\n/**\n * Zod schema for MoneyValue.\n */\nexport const MoneyValueSchema: z.ZodObject<{ amount: z.ZodBigInt; currency: typeof CurrencySchema; decimals: z.ZodNumber }> = z.object({\n amount: z.bigint().describe(\"The amount in the currency's smallest unit, such as cents, as an integer. Sent as a decimal string (`\\\"1999\\\"`), because it can exceed what a JSON number holds exactly.\"),\n currency: CurrencySchema.describe(\"The ISO 4217 currency code, such as `USD` or `EUR`.\"),\n decimals: z.number().int().min(0).max(18).describe(\"How many decimal places the currency uses, to turn `amount` into a displayed value: `1999` with 2 decimals is 19.99.\"),\n});\n\n/**\n * @wildo_source:part:start zod.factories.money facet:layer:shared facet:family:schema-factory\n *\n * z_money() - Creates money schemas for financial amounts.\n *\n * Money values are stored as integers to avoid floating-point precision issues.\n * The schema creates an object with: { amount, currency, decimals }\n *\n * @example\n * ```typescript\n * import { z_money } from '@wildo-ai/zod-decorators';\n *\n * const price = z_money();\n * const fiatPrice = z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] });\n * const usdPrice = z_money({ allowCurrencyChange: false }).moneyUI({ edit: { defaultCurrency: 'USD' } });\n *\n * // With decorators (chainable)\n * z_money().moneyUI({ edit: { defaultCurrency: 'EUR' } })\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT_MAJOR] }).isHidden({ edit: true })\n * ```\n */\n\n/**\n * Creates a money schema with metadata for detection and form component rendering.\n *\n * @param options - Configuration options for money field\n * @returns A Zod object schema with metadata for money detection\n *\n * @example\n * ```typescript\n * // Simple money (all currencies)\n * const price = z_money();\n * // Infers: { amount: bigint, currency: string, decimals: number }\n *\n * // Fiat only (no crypto)\n * const fiatPrice = z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] });\n *\n * // Fixed currency with amount constraints\n * const usdPrice = z_money({\n * allowCurrencyChange: false,\n * minAmount: 0n,\n * maxAmount: 100000000n // $1,000,000.00 in cents\n * }).moneyUI({ edit: { defaultCurrency: 'USD' } });\n * ```\n */\nexport function createMoneySchema(\n options: MoneySchemaOptions = {}\n): DecoratedMoneySchema {\n const {\n currenciesAllowed,\n appEnabledOnly = true,\n allowCurrencyChange = true,\n minAmount,\n maxAmount,\n } = options;\n\n // Create the amount schema with optional min/max constraints\n // Using bigint for amount to avoid precision issues with large financial amounts\n let amountSchema = z.bigint();\n if (minAmount !== undefined) {\n amountSchema = amountSchema.min(minAmount);\n }\n if (maxAmount !== undefined) {\n amountSchema = amountSchema.max(maxAmount);\n }\n\n // Create the money object schema\n const moneySchema = z.object({\n amount: amountSchema.describe(\"The amount in the currency's smallest unit, such as cents, as an integer. Sent as a decimal string (`\\\"1999\\\"`), because it can exceed what a JSON number holds exactly.\"),\n currency: CurrencySchema.describe(\"The ISO 4217 currency code, such as `USD` or `EUR`.\"),\n decimals: z.number().int().min(0).max(18).describe(\"How many decimal places the currency uses, to turn `amount` into a displayed value: `1999` with 2 decimals is 19.99.\"),\n });\n\n const moneyMetadata: MoneySchemaMetadata = {\n isMoney: true,\n ...(currenciesAllowed && currenciesAllowed.length > 0 && { currenciesAllowed }),\n appEnabledOnly,\n allowCurrencyChange,\n ...(minAmount !== undefined && { minAmount }),\n ...(maxAmount !== undefined && { maxAmount }),\n };\n\n // Initialize or extend SCHEMA_METADATA with money config\n const existingMetadata: CustomFieldMetadata = (moneySchema as any)[SCHEMA_METADATA] || {};\n (moneySchema as any)[SCHEMA_METADATA] = {\n ...existingMetadata,\n moneyConfig: moneyMetadata,\n };\n\n // Add chainable decorator methods to the money schema instance\n // This allows: z_money().moneyUI({ edit: { defaultCurrency: 'EUR' } }).isHidden()\n addChainableMethods(moneySchema);\n\n return moneySchema as DecoratedMoneySchema;\n}\n\n/**\n * The chainable methods of `DecoratedMoneySchema`, returning `this` so a chain of several decorations keeps\n * the type it reached, whatever the receiver is (`typeof field` in a resource specification's field map).\n * A method returning the bare `DecoratedMoneySchema` once won the overload inside the intersection, so that\n * field map rejected `schemaShape.x.<factory>Spec(...)` on a field decorated first. Every other decorator\n * returns the receiver's own type too (#3031), so `.isSummaryField()` leaves the field a `DecoratedMoneySchema`.\n */\nexport interface DecoratedMoneySchemaMethods {\n [ZodDecorator.IS_DB_INDEXED](): this;\n /** Installed at runtime with the other chainable methods; declared here so an authored `.moneyUI(…)` typechecks. */\n [ZodDecorator.MONEY_UI](params?: ZodDecorator_ParamsType[ZodDecorator.MONEY_UI]): this;\n [ZodDecorator.MONEY_SPEC](params?: ZodDecorator_ParamsType[ZodDecorator.MONEY_SPEC]): this;\n [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): this;\n [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): this;\n // Resource-level decorators (applicable to all types including ZodObject)\n [ZodDecorator.IS_SUMMARY_FIELD](params?: SummaryFieldParams): this;\n [ZodDecorator.IS_BACKEND_ONLY](params?: ZodDecorator_ParamsType[ZodDecorator.IS_BACKEND_ONLY]): this;\n [ZodDecorator.IS_WRITE_ONLY_SECRET](params?: ZodDecorator_ParamsType[ZodDecorator.IS_WRITE_ONLY_SECRET]): this;\n [ZodDecorator.EXCLUDE_FROM_CREATE](): this;\n [ZodDecorator.EXCLUDE_FROM_UPDATE](): this;\n addDecorators(decorators: DecoratorInput[]): this;\n}\n\n/**\n * Return type for money schemas - includes decorator methods.\n * Note: IS_FOREIGN_KEY is not applicable to money objects.\n * IS_DB_INDEXED will index internal fields (amount, currency) for query optimization.\n *\n * This type must list all decorators applicable to ZodObject (per ApplyableTypeAllTypes).\n * Missing entries here cause TS errors when chaining decorators on z_money() fields.\n */\nexport type DecoratedMoneySchema = z.ZodObject<{\n amount: z.ZodBigInt;\n currency: typeof CurrencySchema;\n decimals: z.ZodNumber;\n}> & DecoratedMoneySchemaMethods;\n\n/**\n * Creates a money schema for financial amounts with integer storage.\n * Named z_money to indicate it's a Zod helper function exported standalone.\n *\n * Money values are stored as: { amount: int, currency: string, decimals: int }\n * - amount: Value in smallest unit (e.g., cents for USD, satoshis for BTC)\n * - currency: ISO 4217 code (e.g., 'USD', 'EUR', 'BTC')\n * - decimals: Decimal places for display conversion (e.g., 2 for USD, 8 for BTC)\n *\n * @example\n * ```typescript\n * import { z_money } from '@wildo-ai/zod-decorators';\n *\n * // Simple usage\n * z_money() // All currencies\n *\n * // With options\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] })\n * z_money({ allowCurrencyChange: false }).moneyUI({ edit: { defaultCurrency: 'USD' } })\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT_MAJOR], minAmount: 0n })\n *\n * // With decorators (chainable)\n * z_money().moneyUI({ edit: { defaultCurrency: 'USD' } })\n * z_money({ currenciesAllowed: [CurrencyAllowed.FIAT] }).isHidden({ edit: true })\n *\n * // Usage example\n * const price: MoneyValue = { amount: 1999n, currency: 'USD', decimals: 2 };\n * // Represents $19.99\n * ```\n */\nexport function z_money(\n options?: MoneySchemaOptions\n): DecoratedMoneySchema {\n return createMoneySchema(options) as DecoratedMoneySchema;\n}\n/** @wildo_source:part:end zod.factories.money */\n\n// ============================================================================\n// MONEY UTILITY FUNCTIONS\n// ============================================================================\n\n/**\n * Why an amount could not be expressed in its currency's smallest unit.\n *\n * A named vocabulary rather than three bare strings, because each member has a DIFFERENT remedy and\n * an operator reading a sync log needs to know which one they are looking at: an unknown minor unit\n * is a catalogue problem, a precision loss is an authoring problem, and an unsafe magnitude is a\n * limit of the provider's own number type.\n */\nexport enum MoneyMinorUnitConversionFailure {\n /** The currency has no minor unit (`XDR`, `XXX`) or is not one this vocabulary knows. */\n UNKNOWN_MINOR_UNIT = 'unknown_minor_unit',\n /** Converting down would discard a fraction of the provider's smallest unit. */\n PRECISION_LOSS = 'precision_loss',\n /** The converted amount cannot be represented exactly as a JavaScript number. */\n UNSAFE_MAGNITUDE = 'unsafe_magnitude',\n}\n\n/** Thrown by {@link toCurrencyMinorUnitAmountOrThrow}; carries the reason so a caller can branch. */\nexport class MoneyMinorUnitConversionError extends Error {\n constructor(\n public readonly reason: MoneyMinorUnitConversionFailure,\n message: string,\n ) {\n super(message);\n this.name = 'MoneyMinorUnitConversionError';\n }\n}\n\n/**\n * Convert a {@link MoneyValue} to the amount a payment provider expects: an integer in the CURRENCY's\n * smallest unit.\n *\n * Wildo stores money at an AUTHORED scale (`decimals` on the value); a provider reads it at the\n * currency's own scale. Those are two different numbers whenever they disagree, and until 2026-09-08\n * the billing boundary sent the stored amount straight through — so a price authored at any scale\n * other than the currency's was charged at the wrong magnitude, by a factor of 10 per decimal place\n * of disagreement.\n *\n * **All arithmetic is `bigint`.** The stored amount already is one, and the whole reason it is a\n * bigint rather than a number is that money must not round; converting through a float to save a cast\n * would give that back at exactly the boundary where it costs money.\n *\n * **Scaling UP is always exact. Scaling DOWN refuses on a remainder rather than rounding** — a price\n * of 1.005 in a currency whose smallest unit is a cent is not 1.00 and not 1.01, it is a price the\n * provider cannot express, and silently picking one is how a catalogue and an invoice come to\n * disagree by a cent per unit forever.\n *\n * **Throws rather than returning a result union**, and the reason is the compiler rather than taste:\n * this repository compiles with `strict: false` (`engine/tsconfig.common.json`), which disables the\n * discriminant narrowing a `{ ok: true } | { ok: false }` result depends on — so every caller would\n * need a cast to read the failure, at every boundary. A typed error narrows by `instanceof`, which\n * works regardless. Callers that must not throw resolve the scale directly with\n * `currencyMinorUnitDecimals` and decide for themselves.\n *\n * @param subject what the message names (\"price p_1 tier 2 flat amount\"), so an operator reading a\n * sync log knows which amount could not be expressed without opening the catalogue.\n */\nexport function toCurrencyMinorUnitAmountOrThrow(value: MoneyValue, subject: string): number {\n const target = currencyMinorUnitDecimals(value.currency);\n if (target === undefined) {\n throw new MoneyMinorUnitConversionError(\n MoneyMinorUnitConversionFailure.UNKNOWN_MINOR_UNIT,\n `Cannot express ${subject} for a payment provider: currency '${value.currency}' has no minor unit this framework can resolve. Cryptocurrencies are in this position deliberately — their decimals are protocol conventions, not a fiat provider's minor unit.`,\n );\n }\n\n let converted: bigint;\n if (value.decimals === target) {\n converted = value.amount;\n } else if (value.decimals < target) {\n converted = value.amount * 10n ** BigInt(target - value.decimals);\n } else {\n const divisor = 10n ** BigInt(value.decimals - target);\n if (value.amount % divisor !== 0n) {\n throw new MoneyMinorUnitConversionError(\n MoneyMinorUnitConversionFailure.PRECISION_LOSS,\n `Cannot express ${subject} for a payment provider: amount ${value.amount} at scale ${value.decimals} cannot be written in ${value.currency}'s smallest unit (scale ${target}) without discarding a fraction of it. Author the amount at scale ${target}, or at a scale whose extra digits are zero.`,\n );\n }\n converted = value.amount / divisor;\n }\n\n const asNumber = Number(converted);\n if (!Number.isSafeInteger(asNumber)) {\n throw new MoneyMinorUnitConversionError(\n MoneyMinorUnitConversionFailure.UNSAFE_MAGNITUDE,\n `Cannot express ${subject} for a payment provider: amount ${converted} in ${value.currency}'s smallest unit exceeds the range a JavaScript number represents exactly, so handing it over would silently change its value.`,\n );\n }\n\n return asNumber;\n}\n\n/**\n * Convert a decimal amount to bigint representation.\n *\n * **Precision caveat:** This uses floating-point arithmetic internally\n * (`Math.round(decimalAmount * 10^decimals)`), which can produce rounding\n * errors for certain values. Prefer `parseDecimalStringToAmount` when working\n * with user input strings to avoid float precision issues entirely.\n *\n * @param decimalAmount - The decimal amount (e.g., 19.99)\n * @param decimals - Number of decimal places (e.g., 2)\n * @returns BigInt amount (e.g., 1999n)\n */\nexport function toMoneyAmount(decimalAmount: number, decimals: number): bigint {\n return BigInt(Math.round(decimalAmount * Math.pow(10, decimals)));\n}\n\n/**\n * Convert a bigint amount to decimal representation.\n * @param amount - The bigint amount (e.g., 1999n)\n * @param decimals - Number of decimal places (e.g., 2)\n * @returns Decimal amount (e.g., 19.99)\n */\nexport function fromMoneyAmount(amount: bigint, decimals: number): number {\n return Number(amount) / Math.pow(10, decimals);\n}\n\n/**\n * Convert a string or number to bigint safely.\n * Useful for parsing user input or JSON values.\n * @param value - String, number, or bigint to convert\n * @returns BigInt amount\n */\nexport function toBigIntAmount(value: string | number | bigint): bigint {\n if (typeof value === 'bigint') return value;\n if (typeof value === 'number') return BigInt(Math.round(value));\n return BigInt(value);\n}\n\n/**\n * Parse a decimal string directly to a bigint amount, avoiding floating-point\n * precision issues entirely.\n *\n * This is the preferred way to convert user input (e.g., from an HTML input\n * element) to a money amount. It works by splitting the string at the decimal\n * point and manipulating integer/fractional parts as strings, so no float\n * arithmetic is ever involved.\n *\n * - Extra fractional digits beyond `decimals` are **truncated** (not rounded).\n * - Missing fractional digits are **zero-padded**.\n *\n * @param input - A decimal string (e.g., \"19.99\", \"5\", \".50\", \"-12.345\")\n * @param decimals - Number of decimal places for the target currency\n * @returns BigInt amount, or `null` if the input is not a valid decimal string\n *\n * **Note:** Scientific notation strings (e.g., `\"1e+10\"`) are rejected (returns\n * `null`) since they are not valid monetary input. This is correct behavior when\n * reading from `<input type=\"number\">`, which may produce such strings for very\n * large values — those inputs should be constrained via `min`/`max` attributes.\n *\n * @example\n * ```typescript\n * parseDecimalStringToAmount(\"19.99\", 2) // → 1999n\n * parseDecimalStringToAmount(\"19.999\", 2) // → 1999n (truncates, not rounds)\n * parseDecimalStringToAmount(\"19.9\", 2) // → 1990n (pads missing decimals)\n * parseDecimalStringToAmount(\"5\", 2) // → 500n\n * parseDecimalStringToAmount(\".50\", 2) // → 50n\n * parseDecimalStringToAmount(\"-12.34\", 2) // → -1234n\n * parseDecimalStringToAmount(\"abc\", 2) // → null\n * parseDecimalStringToAmount(\"1e+10\", 2) // → null (scientific notation rejected)\n * ```\n */\nexport function parseDecimalStringToAmount(input: string, decimals: number): bigint | null {\n const trimmed = input.trim();\n if (trimmed === '' || trimmed === '.' || trimmed === '-' || trimmed === '-.') return null;\n\n // Handle sign\n const isNegative = trimmed.startsWith('-');\n const unsigned = isNegative ? trimmed.slice(1) : trimmed;\n\n // Validate: only digits and at most one decimal point\n if (!/^\\d*\\.?\\d*$/.test(unsigned)) return null;\n\n const dotIndex = unsigned.indexOf('.');\n const integerPart = dotIndex === -1 ? unsigned : (unsigned.slice(0, dotIndex) || '0');\n const fractionalRaw = dotIndex === -1 ? '' : unsigned.slice(dotIndex + 1);\n\n // Pad or truncate fractional part to exactly `decimals` digits\n const fractionalPart = decimals === 0\n ? ''\n : fractionalRaw.padEnd(decimals, '0').slice(0, decimals);\n\n // Build the combined string and convert to bigint\n const combined = integerPart + fractionalPart;\n // Guard against empty combined (shouldn't happen after validation, but be safe)\n if (combined === '') return 0n;\n\n try {\n const result = BigInt(combined);\n return isNegative ? -result : result;\n } catch {\n return null;\n }\n}\n\n/**\n * Convert a money amount from one decimal precision to another using pure\n * bigint arithmetic (no floating-point involved).\n *\n * Use this when changing a currency (which may have different decimal places)\n * instead of the float roundtrip `fromMoneyAmount` → `toMoneyAmount`.\n *\n * - When increasing decimals (e.g., 2 → 8): multiplies by 10^(diff)\n * - When decreasing decimals (e.g., 8 → 2): divides with half-away-from-zero rounding\n *\n * @param amount - The bigint amount in the source precision\n * @param fromDecimals - Source decimal places\n * @param toDecimals - Target decimal places\n * @returns BigInt amount in the target precision\n *\n * @example\n * ```typescript\n * convertMoneyDecimals(1999n, 2, 2) // → 1999n (same decimals, no-op)\n * convertMoneyDecimals(1999n, 2, 4) // → 199900n (scale up)\n * convertMoneyDecimals(199900n, 4, 2) // → 1999n (scale down)\n * convertMoneyDecimals(12345678n, 8, 2) // → 12n (BTC satoshis to 2-decimal)\n * ```\n */\nexport function convertMoneyDecimals(amount: bigint, fromDecimals: number, toDecimals: number): bigint {\n if (fromDecimals === toDecimals) return amount;\n\n const diff = toDecimals - fromDecimals;\n\n if (diff > 0) {\n // Scale up: multiply\n return amount * (10n ** BigInt(diff));\n }\n\n // Scale down: divide with rounding (half-away-from-zero)\n const divisor = 10n ** BigInt(-diff);\n const isNegative = amount < 0n;\n const absAmount = isNegative ? -amount : amount;\n const rounded = (absAmount + divisor / 2n) / divisor;\n return isNegative ? -rounded : rounded;\n}\n\n/**\n * Format a money value for display.\n * @param money - The money value\n * @param options - Formatting options\n * @returns Formatted string (e.g., \"$19.99\" or \"19.99 USD\")\n */\nexport function formatMoney(\n money: MoneyValue,\n options: {\n showSymbol?: boolean;\n symbolPosition?: 'before' | 'after';\n thousandsSeparator?: string;\n decimalSeparator?: string;\n } = {}\n): string {\n const {\n showSymbol = true,\n symbolPosition = 'before',\n thousandsSeparator = ',',\n decimalSeparator = '.',\n } = options;\n\n const decimalValue = fromMoneyAmount(money.amount, money.decimals);\n\n // Format with proper decimal places\n const [integerPart, decimalPart] = decimalValue.toFixed(money.decimals).split('.');\n\n // Add thousands separator\n const formattedInteger = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator);\n\n const formattedNumber = decimalPart\n ? `${formattedInteger}${decimalSeparator}${decimalPart}`\n : formattedInteger;\n\n if (!showSymbol) {\n return formattedNumber;\n }\n\n // For now, use currency code as symbol (can be enhanced with CURRENCY_INFO_MAP)\n const symbol = money.currency;\n\n return symbolPosition === 'before'\n ? `${symbol} ${formattedNumber}`\n : `${formattedNumber} ${symbol}`;\n}\n\n"]}
@@ -83,10 +83,10 @@ export declare function detectPhoneCountry(value: string): string | undefined;
83
83
  export declare function createPhoneSchema(options?: PhoneSchemaOptions): DecoratedPhoneSchema;
84
84
  /**
85
85
  * The chainable methods of `DecoratedPhoneSchema`, returning `this` so a chain of several decorations keeps
86
- * the type it reached: `.isSummaryField()` turns the field into a `DecoratedPrimitiveZodType<DecoratedPhoneSchema>`,
87
- * and a spec or UI method called after it must return that, not the bare factory type. A method
88
- * returning `DecoratedPhoneSchema` itself won that overload inside the intersection, so a resource
89
- * specification's field map rejected `schemaShape.x.<factory>Spec(...)` on a decorated field.
86
+ * the type it reached, whatever the receiver is (`typeof field` in a resource specification's field map).
87
+ * A method returning the bare `DecoratedPhoneSchema` once won the overload inside the intersection, so that
88
+ * field map rejected `schemaShape.x.<factory>Spec(...)` on a field decorated first. Every other decorator
89
+ * returns the receiver's own type too (#3031), so `.isSummaryField()` leaves the field a `DecoratedPhoneSchema`.
90
90
  */
91
91
  export interface DecoratedPhoneSchemaMethods {
92
92
  [ZodDecorator.IS_DB_INDEXED](): this;
@@ -1 +1 @@
1
- {"version":3,"file":"zod-phone.d.ts","sourceRoot":"","sources":["../../../src/zod-phone.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EAGd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,0BAA0B,EAQ3B,MAAM,mBAAmB,CAAC;AAM3B,mEAAmE;AACnE,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAKhC;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAMhH;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAM5E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,GAAE,eAAe,GAAG,UAA4B,GACrD,MAAM,CAIR;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,oBAAoB,CA2CxF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACzF,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACrG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACrG,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;IAC/G,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IACvF,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC3F,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,GAAG,2BAA2B,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,oBAAoB,CAE1E;AACD,iDAAiD"}
1
+ {"version":3,"file":"zod-phone.d.ts","sourceRoot":"","sources":["../../src/zod-phone.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zod-phone.js","sourceRoot":"","sources":["../../../src/zod-phone.ts"],"names":[],"mappings":"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","sourcesContent":["// ============================================================================\n// PHONE SCHEMA HELPER\n// ============================================================================\n\nimport type {\n DecoratorInput,\n CustomFieldMetadata,\n PhoneSchemaMetadata,\n PhoneSchemaOptions,\n SummaryFieldParams,\n ZodDecorator,\n ZodDecorator_ParamsType,\n} from './zod-decorators.types';\nimport { SCHEMA_METADATA } from './zod-decorators.types';\nimport { z } from 'zod';\nimport { addChainableMethods } from './zod.module-override';\nimport {\n parsePhoneNumberFromString,\n isValidPhoneNumber,\n getCountries as getCountriesFromLib,\n type CountryCode,\n getCountryCallingCode,\n formatIncompletePhoneNumber,\n getExampleNumber,\n AsYouType,\n} from 'libphonenumber-js';\n// JS-module subpath (NOT the .json subpath): importable under native ESM\n// without JSON import attributes, so the same source compiles for Node and\n// browser consumers alike. Example numbers back per-country placeholders.\nimport phoneExamples from 'libphonenumber-js/mobile/examples';\n\n/** Returns country codes (e.g. \"US\", \"FR\") for form components. */\nexport function getCountries(): string[] {\n return getCountriesFromLib() as string[];\n}\n\n/**\n * Phone value type — E.164 string (e.g., \"+33123456789\").\n * Use formatPhoneNumber() for display, parsePhoneNumber() for parsing.\n */\nexport type PhoneValue = string;\n\n/** Default country when parsing numbers without country code */\nconst DEFAULT_COUNTRY: CountryCode = 'US';\n\n/**\n * Parse a phone string to PhoneNumber or undefined.\n *\n * @param value - Raw input (E.164, national, or partial)\n * @param defaultCountry - Country code (e.g. \"US\", \"FR\") for numbers without +prefix\n * @returns PhoneNumber or undefined if invalid\n */\nexport function parsePhone(value: string, defaultCountry?: string): ReturnType<typeof parsePhoneNumberFromString> {\n if (!value || typeof value !== 'string') return undefined;\n const trimmed = value.trim();\n if (!trimmed) return undefined;\n const country = defaultCountry ?? DEFAULT_COUNTRY;\n return parsePhoneNumberFromString(trimmed, { defaultCountry: country as CountryCode });\n}\n\n/**\n * Validate a phone number string.\n *\n * @param value - Phone string to validate\n * @param defaultCountry - Country code (e.g. \"US\", \"FR\") for numbers without +prefix\n * @returns true if valid\n */\nexport function isValidPhone(value: string, defaultCountry?: string): boolean {\n if (!value || typeof value !== 'string') return false;\n const trimmed = value.trim();\n if (!trimmed) return false;\n const country = defaultCountry ?? DEFAULT_COUNTRY;\n return isValidPhoneNumber(trimmed, { defaultCountry: country as CountryCode });\n}\n\n/**\n * Format a phone number for display.\n *\n * @param value - E.164 or parseable phone string\n * @param defaultCountry - Country code (e.g. \"US\", \"FR\") for numbers without +prefix\n * @param format - 'international' | 'national' (default: international)\n * @returns Formatted string or original if unparseable\n */\nexport function formatPhoneNumber(\n value: string,\n defaultCountry?: string,\n format: 'international' | 'national' = 'international'\n): string {\n const parsed = parsePhone(value, defaultCountry);\n if (!parsed) return value;\n return format === 'national' ? parsed.formatNational() : parsed.formatInternational();\n}\n\n/**\n * Get country calling code (e.g., \"1\" for US).\n *\n * @param country - Country code (e.g. \"US\", \"FR\")\n */\nexport function getPhoneCountryCode(country: string): string {\n return getCountryCallingCode(country as CountryCode);\n}\n\n/**\n * Format a PARTIAL (as-you-type) national phone input for a country.\n *\n * Wraps libphonenumber's incomplete-number formatter so form controls can\n * format while the user is still typing (\"0612\" → \"06 12\" for FR) without\n * importing libphonenumber-js directly — the phone surface stays owned here.\n *\n * @param value - Partial national input (digits, may carry punctuation)\n * @param country - Country code (e.g. \"US\", \"FR\") providing the format plan\n * @returns The formatted partial, or the input unchanged when no plan applies\n */\nexport function formatPartialPhoneNumber(value: string, country?: string): string {\n if (!value) return value;\n const cc = (country ?? DEFAULT_COUNTRY) as CountryCode;\n return formatIncompletePhoneNumber(value, cc);\n}\n\n/**\n * Example national number for a country, for use as an input placeholder\n * (e.g. FR → \"06 12 34 56 78\"). Backed by libphonenumber's curated mobile\n * example set; returns undefined for countries without an example.\n *\n * @param country - Country code (e.g. \"US\", \"FR\")\n */\nexport function getExamplePhoneNumber(country: string): string | undefined {\n const example = getExampleNumber(country as CountryCode, phoneExamples);\n return example?.formatNational();\n}\n\n/**\n * Detect the country of a phone input that starts with an international\n * prefix (\"+...\"), even while the number is still incomplete.\n *\n * Powers the best-practice behavior where pasting/typing \"+49 30 ...\" into\n * the national input automatically switches the country selector to DE.\n * Returns undefined when the input is not international or the country is\n * not yet determinable (e.g. \"+1\" is ambiguous across NANP countries).\n *\n * @param value - Raw input, expected to start with \"+\"\n */\nexport function detectPhoneCountry(value: string): string | undefined {\n if (!value?.trim().startsWith('+')) return undefined;\n const formatter = new AsYouType();\n formatter.input(value.trim());\n return formatter.getCountry();\n}\n\n/**\n * @wildo_source:part:start zod.factories.phone facet:layer:shared facet:family:schema-factory\n *\n * Creates a phone schema with metadata for detection and form component rendering.\n * Values are stored as E.164 strings. Empty string passes validation.\n *\n * @param options - Configuration options for phone field\n * @returns A Zod string schema with metadata for phone detection\n */\nexport function createPhoneSchema(options: PhoneSchemaOptions = {}): DecoratedPhoneSchema {\n const { defaultCountry = DEFAULT_COUNTRY } = options;\n\n const phoneMetadata: PhoneSchemaMetadata = {\n isPhone: true,\n defaultCountry,\n };\n\n // PhoneCountryCode is libphonenumber's CountryCode union, so no cast needed.\n const country: CountryCode = defaultCountry;\n const phoneSchema = z\n .string()\n .trim()\n .refine((val) => val === '' || isValidPhone(val, country), {\n message: 'Invalid phone number',\n })\n // E.164 normalization is string -> string, so model it as a Zod 4\n // overwrite rather than a transform. The runtime result is identical, but\n // the schema remains truthfully introspectable as a string by JSON Schema /\n // OpenAPI generators instead of degrading to an unrepresentable transform.\n .overwrite((val) => {\n if (val === '') return '';\n const parsed = parsePhone(val, country);\n return parsed?.format('E.164') ?? val;\n })\n // Preserve the established ZodPipe surface used by decorator metadata and\n // boundary walkers; the terminal string adds no value conversion.\n .pipe(z.string()) as unknown as z.ZodString;\n\n const existingMetadata: CustomFieldMetadata = (phoneSchema as any)[SCHEMA_METADATA] || {};\n (phoneSchema as any)[SCHEMA_METADATA] = {\n ...existingMetadata,\n phoneConfig: phoneMetadata,\n };\n\n // 'ZodString' rather than the instance's own constructor, which is `ZodPipe` because of the\n // `.pipe(z.string())` above. A phone IS a string for every decorator purpose — the pipe exists to\n // normalize to E.164, not to change what the field is — and without this the applyable-type\n // lookup matches nothing and the schema carries NO decorators at all, including the eight\n // `DecoratedPhoneSchema` declares.\n addChainableMethods(phoneSchema, 'ZodString');\n\n return phoneSchema as unknown as DecoratedPhoneSchema;\n}\n\n/**\n * The chainable methods of `DecoratedPhoneSchema`, returning `this` so a chain of several decorations keeps\n * the type it reached: `.isSummaryField()` turns the field into a `DecoratedPrimitiveZodType<DecoratedPhoneSchema>`,\n * and a spec or UI method called after it must return that, not the bare factory type. A method\n * returning `DecoratedPhoneSchema` itself won that overload inside the intersection, so a resource\n * specification's field map rejected `schemaShape.x.<factory>Spec(...)` on a decorated field.\n */\nexport interface DecoratedPhoneSchemaMethods {\n [ZodDecorator.IS_DB_INDEXED](): this;\n [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): this;\n [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): this;\n [ZodDecorator.IS_SUMMARY_FIELD](params?: SummaryFieldParams): this;\n [ZodDecorator.IS_BACKEND_ONLY](params?: ZodDecorator_ParamsType[ZodDecorator.IS_BACKEND_ONLY]): this;\n [ZodDecorator.IS_WRITE_ONLY_SECRET](params?: ZodDecorator_ParamsType[ZodDecorator.IS_WRITE_ONLY_SECRET]): this;\n [ZodDecorator.EXCLUDE_FROM_CREATE](): this;\n [ZodDecorator.EXCLUDE_FROM_UPDATE](): this;\n /**\n * Declared here, as the sibling factories declare theirs (`DecoratedMoneySchema.moneyUI`,\n * `DecoratedCodeSchema.codeUI`, …), because a phone's display and edit policy is authored on the\n * factory's output and nowhere else. The applyable-type map admits `phoneUI` on `ZodString`, but\n * a bare `z.string()` is not a phone, so the base prototype deliberately does not carry it.\n */\n [ZodDecorator.PHONE_UI](params?: ZodDecorator_ParamsType[ZodDecorator.PHONE_UI]): this;\n [ZodDecorator.PHONE_SPEC](params?: ZodDecorator_ParamsType[ZodDecorator.PHONE_SPEC]): this;\n addDecorators(decorators: DecoratorInput[]): this;\n}\n\n/**\n * Return type for phone schemas - includes decorator methods.\n */\nexport type DecoratedPhoneSchema = z.ZodString & DecoratedPhoneSchemaMethods;\n\n/**\n * Creates a phone schema for E.164 phone numbers.\n *\n * @example\n * ```typescript\n * import { z_phone } from '@wildo-ai/zod-decorators';\n *\n * z_phone()\n * z_phone({ defaultCountry: 'FR' })\n * ```\n */\nexport function z_phone(options?: PhoneSchemaOptions): DecoratedPhoneSchema {\n return createPhoneSchema(options);\n}\n/** @wildo_source:part:end zod.factories.phone */\n"]}
1
+ {"version":3,"file":"zod-phone.js","sourceRoot":"","sources":["../../src/zod-phone.ts"],"names":[],"mappings":"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","sourcesContent":["// ============================================================================\n// PHONE SCHEMA HELPER\n// ============================================================================\n\nimport type {\n DecoratorInput,\n CustomFieldMetadata,\n PhoneSchemaMetadata,\n PhoneSchemaOptions,\n SummaryFieldParams,\n ZodDecorator,\n ZodDecorator_ParamsType,\n} from './zod-decorators.types';\nimport { SCHEMA_METADATA } from './zod-decorators.types';\nimport { z } from 'zod';\nimport { addChainableMethods } from './zod.module-override';\nimport {\n parsePhoneNumberFromString,\n isValidPhoneNumber,\n getCountries as getCountriesFromLib,\n type CountryCode,\n getCountryCallingCode,\n formatIncompletePhoneNumber,\n getExampleNumber,\n AsYouType,\n} from 'libphonenumber-js';\n// JS-module subpath (NOT the .json subpath): importable under native ESM\n// without JSON import attributes, so the same source compiles for Node and\n// browser consumers alike. Example numbers back per-country placeholders.\nimport phoneExamples from 'libphonenumber-js/mobile/examples';\n\n/** Returns country codes (e.g. \"US\", \"FR\") for form components. */\nexport function getCountries(): string[] {\n return getCountriesFromLib() as string[];\n}\n\n/**\n * Phone value type — E.164 string (e.g., \"+33123456789\").\n * Use formatPhoneNumber() for display, parsePhoneNumber() for parsing.\n */\nexport type PhoneValue = string;\n\n/** Default country when parsing numbers without country code */\nconst DEFAULT_COUNTRY: CountryCode = 'US';\n\n/**\n * Parse a phone string to PhoneNumber or undefined.\n *\n * @param value - Raw input (E.164, national, or partial)\n * @param defaultCountry - Country code (e.g. \"US\", \"FR\") for numbers without +prefix\n * @returns PhoneNumber or undefined if invalid\n */\nexport function parsePhone(value: string, defaultCountry?: string): ReturnType<typeof parsePhoneNumberFromString> {\n if (!value || typeof value !== 'string') return undefined;\n const trimmed = value.trim();\n if (!trimmed) return undefined;\n const country = defaultCountry ?? DEFAULT_COUNTRY;\n return parsePhoneNumberFromString(trimmed, { defaultCountry: country as CountryCode });\n}\n\n/**\n * Validate a phone number string.\n *\n * @param value - Phone string to validate\n * @param defaultCountry - Country code (e.g. \"US\", \"FR\") for numbers without +prefix\n * @returns true if valid\n */\nexport function isValidPhone(value: string, defaultCountry?: string): boolean {\n if (!value || typeof value !== 'string') return false;\n const trimmed = value.trim();\n if (!trimmed) return false;\n const country = defaultCountry ?? DEFAULT_COUNTRY;\n return isValidPhoneNumber(trimmed, { defaultCountry: country as CountryCode });\n}\n\n/**\n * Format a phone number for display.\n *\n * @param value - E.164 or parseable phone string\n * @param defaultCountry - Country code (e.g. \"US\", \"FR\") for numbers without +prefix\n * @param format - 'international' | 'national' (default: international)\n * @returns Formatted string or original if unparseable\n */\nexport function formatPhoneNumber(\n value: string,\n defaultCountry?: string,\n format: 'international' | 'national' = 'international'\n): string {\n const parsed = parsePhone(value, defaultCountry);\n if (!parsed) return value;\n return format === 'national' ? parsed.formatNational() : parsed.formatInternational();\n}\n\n/**\n * Get country calling code (e.g., \"1\" for US).\n *\n * @param country - Country code (e.g. \"US\", \"FR\")\n */\nexport function getPhoneCountryCode(country: string): string {\n return getCountryCallingCode(country as CountryCode);\n}\n\n/**\n * Format a PARTIAL (as-you-type) national phone input for a country.\n *\n * Wraps libphonenumber's incomplete-number formatter so form controls can\n * format while the user is still typing (\"0612\" → \"06 12\" for FR) without\n * importing libphonenumber-js directly — the phone surface stays owned here.\n *\n * @param value - Partial national input (digits, may carry punctuation)\n * @param country - Country code (e.g. \"US\", \"FR\") providing the format plan\n * @returns The formatted partial, or the input unchanged when no plan applies\n */\nexport function formatPartialPhoneNumber(value: string, country?: string): string {\n if (!value) return value;\n const cc = (country ?? DEFAULT_COUNTRY) as CountryCode;\n return formatIncompletePhoneNumber(value, cc);\n}\n\n/**\n * Example national number for a country, for use as an input placeholder\n * (e.g. FR → \"06 12 34 56 78\"). Backed by libphonenumber's curated mobile\n * example set; returns undefined for countries without an example.\n *\n * @param country - Country code (e.g. \"US\", \"FR\")\n */\nexport function getExamplePhoneNumber(country: string): string | undefined {\n const example = getExampleNumber(country as CountryCode, phoneExamples);\n return example?.formatNational();\n}\n\n/**\n * Detect the country of a phone input that starts with an international\n * prefix (\"+...\"), even while the number is still incomplete.\n *\n * Powers the best-practice behavior where pasting/typing \"+49 30 ...\" into\n * the national input automatically switches the country selector to DE.\n * Returns undefined when the input is not international or the country is\n * not yet determinable (e.g. \"+1\" is ambiguous across NANP countries).\n *\n * @param value - Raw input, expected to start with \"+\"\n */\nexport function detectPhoneCountry(value: string): string | undefined {\n if (!value?.trim().startsWith('+')) return undefined;\n const formatter = new AsYouType();\n formatter.input(value.trim());\n return formatter.getCountry();\n}\n\n/**\n * @wildo_source:part:start zod.factories.phone facet:layer:shared facet:family:schema-factory\n *\n * Creates a phone schema with metadata for detection and form component rendering.\n * Values are stored as E.164 strings. Empty string passes validation.\n *\n * @param options - Configuration options for phone field\n * @returns A Zod string schema with metadata for phone detection\n */\nexport function createPhoneSchema(options: PhoneSchemaOptions = {}): DecoratedPhoneSchema {\n const { defaultCountry = DEFAULT_COUNTRY } = options;\n\n const phoneMetadata: PhoneSchemaMetadata = {\n isPhone: true,\n defaultCountry,\n };\n\n // PhoneCountryCode is libphonenumber's CountryCode union, so no cast needed.\n const country: CountryCode = defaultCountry;\n const phoneSchema = z\n .string()\n .trim()\n .refine((val) => val === '' || isValidPhone(val, country), {\n message: 'Invalid phone number',\n })\n // E.164 normalization is string -> string, so model it as a Zod 4\n // overwrite rather than a transform. The runtime result is identical, but\n // the schema remains truthfully introspectable as a string by JSON Schema /\n // OpenAPI generators instead of degrading to an unrepresentable transform.\n .overwrite((val) => {\n if (val === '') return '';\n const parsed = parsePhone(val, country);\n return parsed?.format('E.164') ?? val;\n })\n // Preserve the established ZodPipe surface used by decorator metadata and\n // boundary walkers; the terminal string adds no value conversion.\n .pipe(z.string()) as unknown as z.ZodString;\n\n const existingMetadata: CustomFieldMetadata = (phoneSchema as any)[SCHEMA_METADATA] || {};\n (phoneSchema as any)[SCHEMA_METADATA] = {\n ...existingMetadata,\n phoneConfig: phoneMetadata,\n };\n\n // 'ZodString' rather than the instance's own constructor, which is `ZodPipe` because of the\n // `.pipe(z.string())` above. A phone IS a string for every decorator purpose — the pipe exists to\n // normalize to E.164, not to change what the field is — and without this the applyable-type\n // lookup matches nothing and the schema carries NO decorators at all, including the eight\n // `DecoratedPhoneSchema` declares.\n addChainableMethods(phoneSchema, 'ZodString');\n\n return phoneSchema as unknown as DecoratedPhoneSchema;\n}\n\n/**\n * The chainable methods of `DecoratedPhoneSchema`, returning `this` so a chain of several decorations keeps\n * the type it reached, whatever the receiver is (`typeof field` in a resource specification's field map).\n * A method returning the bare `DecoratedPhoneSchema` once won the overload inside the intersection, so that\n * field map rejected `schemaShape.x.<factory>Spec(...)` on a field decorated first. Every other decorator\n * returns the receiver's own type too (#3031), so `.isSummaryField()` leaves the field a `DecoratedPhoneSchema`.\n */\nexport interface DecoratedPhoneSchemaMethods {\n [ZodDecorator.IS_DB_INDEXED](): this;\n [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): this;\n [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): this;\n [ZodDecorator.IS_SUMMARY_FIELD](params?: SummaryFieldParams): this;\n [ZodDecorator.IS_BACKEND_ONLY](params?: ZodDecorator_ParamsType[ZodDecorator.IS_BACKEND_ONLY]): this;\n [ZodDecorator.IS_WRITE_ONLY_SECRET](params?: ZodDecorator_ParamsType[ZodDecorator.IS_WRITE_ONLY_SECRET]): this;\n [ZodDecorator.EXCLUDE_FROM_CREATE](): this;\n [ZodDecorator.EXCLUDE_FROM_UPDATE](): this;\n /**\n * Declared here, as the sibling factories declare theirs (`DecoratedMoneySchema.moneyUI`,\n * `DecoratedCodeSchema.codeUI`, …), because a phone's display and edit policy is authored on the\n * factory's output and nowhere else. The applyable-type map admits `phoneUI` on `ZodString`, but\n * a bare `z.string()` is not a phone, so the base prototype deliberately does not carry it.\n */\n [ZodDecorator.PHONE_UI](params?: ZodDecorator_ParamsType[ZodDecorator.PHONE_UI]): this;\n [ZodDecorator.PHONE_SPEC](params?: ZodDecorator_ParamsType[ZodDecorator.PHONE_SPEC]): this;\n addDecorators(decorators: DecoratorInput[]): this;\n}\n\n/**\n * Return type for phone schemas - includes decorator methods.\n */\nexport type DecoratedPhoneSchema = z.ZodString & DecoratedPhoneSchemaMethods;\n\n/**\n * Creates a phone schema for E.164 phone numbers.\n *\n * @example\n * ```typescript\n * import { z_phone } from '@wildo-ai/zod-decorators';\n *\n * z_phone()\n * z_phone({ defaultCountry: 'FR' })\n * ```\n */\nexport function z_phone(options?: PhoneSchemaOptions): DecoratedPhoneSchema {\n return createPhoneSchema(options);\n}\n/** @wildo_source:part:end zod.factories.phone */\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"zod-range.d.ts","sourceRoot":"","sources":["../../../src/zod-range.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAA6D,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzL,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EACnD,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,kBAAuB,GAC/B,oBAAoB,CAuEtB;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;IACpD,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;IACzG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,oBAAoB,CAAC;IACrH,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;CACnE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,SAAS,EAAE,EAC1D,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,kBAAkB,GAC3B,oBAAoB,CAEtB;AACD,iDAAiD"}
1
+ {"version":3,"file":"zod-range.d.ts","sourceRoot":"","sources":["../../src/zod-range.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAA6D,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzL,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EACnD,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,kBAAuB,GAC/B,oBAAoB,CAuEtB;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;IACpD,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC;IACzG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,oBAAoB,CAAC;IACrH,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC;CACnE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,SAAS,EAAE,EAC1D,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,kBAAkB,GAC3B,oBAAoB,CAEtB;AACD,iDAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"zod-range.js","sourceRoot":"","sources":["../../../src/zod-range.ts"],"names":[],"mappings":"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","sourcesContent":["\n// ============================================================================\n// RANGE SCHEMA HELPER\n// ============================================================================\n\nimport { DecoratorInput, SCHEMA_METADATA, CustomFieldMetadata, RangeSchemaMetadata, RangeSchemaOptions, RangeType, ZodDecorator, ZodDecorator_ParamsType } from \"./zod-decorators.types\";\nimport { z } from \"zod\";\nimport { addChainableMethods } from \"./zod.module-override\";\nimport { BigDecimalValueSchema } from \"./zod-bigdecimal\";\nimport { MoneyValueSchema } from \"./zod-money\";\n\n\n/**\n * @wildo_source:part:start zod.factories.range facet:layer:shared facet:family:schema-factory\n *\n * z_range() - Creates range schemas for number, date, datetime, or time ranges.\n *\n * This is a standalone Zod helper function (cannot be added to frozen Zod module at runtime).\n *\n * @example\n * ```typescript\n * import { z_range } from '@wildo-ai/saas-models';\n *\n * const priceRange = z_range('number', { min: 0, max: 1000 });\n * const dateRange = z_range('date');\n * const timeRange = z_range('time');\n *\n * // With decorators (chainable)\n * z_range('number').numberUI({ edit: { editMode: 'SLIDER' } })\n * z_range('date', { min: new Date() }).isHidden({ edit: true })\n * ```\n */\n\n/**\n * Creates a range object schema with `from` and `to` fields.\n * Stores metadata for easy detection and form component rendering.\n *\n * @param type - The type of values in the range\n * @param options - Configuration options for optionality and constraints\n * @returns A Zod object schema with metadata for range detection\n *\n * @example\n * ```typescript\n * // Simple number range (both optional)\n * const priceRange = z.range('number');\n * // Infers: { from?: number; to?: number }\n *\n * // Date range with required 'from'\n * const eventRange = z.range('date', { fromOptional: false });\n * // Infers: { from: Date; to?: Date }\n *\n * // Number range with min/max constraints\n * const ageRange = z.range('number', { min: 0, max: 120 });\n * // Infers: { from?: number; to?: number }\n * // Metadata includes min: 0, max: 120 for UI hints\n *\n * // Both required with constraints\n * const salaryRange = z.range('number', {\n * fromOptional: false,\n * toOptional: false,\n * min: 0,\n * });\n * // Infers: { from: number; to: number }\n * ```\n */\nexport function createRangeSchema<T extends RangeType>(\n type: T,\n options: RangeSchemaOptions = {}\n): DecoratedRangeSchema {\n const {\n fromOptional = true,\n toOptional = true,\n min,\n max,\n } = options;\n\n // Create the base schema for the value type\n let baseSchema: z.ZodTypeAny;\n\n switch (type) {\n case RangeType.NUMBER:\n baseSchema = z.number();\n break;\n case RangeType.DATE:\n baseSchema = z.date();\n break;\n case RangeType.DATETIME:\n // A moment holds a `Date`, as a single datetime field does: the range picker emits one per end and the range\n // display reads one. This was `z.iso.datetime()`, so every value the picker produced failed its own schema and a\n // form holding a datetime range could never be submitted (#2720 review H2). A string from the wire is coerced\n // back to a `Date` by the API parsing schema, as for any date.\n baseSchema = z.date();\n break;\n case RangeType.TIME:\n baseSchema = z.iso.time();\n break;\n case RangeType.BIGDECIMAL:\n baseSchema = BigDecimalValueSchema;\n break;\n case RangeType.MONEY:\n baseSchema = MoneyValueSchema;\n break;\n default:\n throw new Error(`Unknown range type: ${type}`);\n }\n\n // Create from/to schemas based on optionality\n const fromSchema = fromOptional ? baseSchema.optional() : baseSchema;\n const toSchema = toOptional ? baseSchema.optional() : baseSchema;\n\n // Create the object schema\n const rangeSchema = z.object({\n from: fromSchema,\n to: toSchema,\n });\n\n // Store range metadata in SCHEMA_METADATA.rangeConfig\n const rangeMetadata: RangeSchemaMetadata = {\n isRange: true,\n type,\n fromOptional,\n toOptional,\n ...(min !== undefined && { min }),\n ...(max !== undefined && { max }),\n };\n\n // Initialize or extend SCHEMA_METADATA with range config\n const existingMetadata: CustomFieldMetadata = (rangeSchema as any)[SCHEMA_METADATA] || {};\n (rangeSchema as any)[SCHEMA_METADATA] = {\n ...existingMetadata,\n rangeType: type,\n rangeConfig: rangeMetadata,\n };\n\n // Add chainable decorator methods to the range schema instance\n // This allows: z_range('number').numberUI({ edit: { editMode: 'SLIDER' } }).isHidden()\n addChainableMethods(rangeSchema);\n\n return rangeSchema as DecoratedRangeSchema;\n}\n\n/**\n * Return type for range schemas - includes decorator methods.\n * Note: IS_FOREIGN_KEY is not applicable to range objects.\n * IS_DB_INDEXED will index internal fields (from, to) for range query optimization.\n */\nexport type DecoratedRangeSchema = z.ZodObject<any> & {\n [ZodDecorator.IS_DB_INDEXED](): DecoratedRangeSchema;\n [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): DecoratedRangeSchema;\n [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): DecoratedRangeSchema;\n addDecorators(decorators: DecoratorInput[]): DecoratedRangeSchema;\n};\n\n/**\n * Creates a range object schema with `from` and `to` fields.\n * Named z_range to indicate it's a Zod helper function exported standalone.\n *\n * @example\n * ```typescript\n * import { z_range } from '@wildo-ai/saas-models';\n *\n * // Simple usage\n * z_range('number') // { from?: number; to?: number }\n * z_range('date') // { from?: Date; to?: Date }\n *\n * // With options\n * z_range('number', { fromOptional: false, min: 0 })\n * z_range('datetime', { toOptional: false })\n *\n * // With decorators (chainable)\n * z_range('number').numberUI({ edit: { editMode: 'SLIDER' } })\n * z_range('date', { min: new Date() }).isHidden({ edit: true })\n * ```\n */\nexport function z_range<T extends RangeType | `${RangeType}`>(\n type: T,\n options?: RangeSchemaOptions\n): DecoratedRangeSchema {\n return createRangeSchema(type as RangeType, options) as DecoratedRangeSchema;\n}\n/** @wildo_source:part:end zod.factories.range */\n"]}
1
+ {"version":3,"file":"zod-range.js","sourceRoot":"","sources":["../../src/zod-range.ts"],"names":[],"mappings":"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","sourcesContent":["\n// ============================================================================\n// RANGE SCHEMA HELPER\n// ============================================================================\n\nimport { DecoratorInput, SCHEMA_METADATA, CustomFieldMetadata, RangeSchemaMetadata, RangeSchemaOptions, RangeType, ZodDecorator, ZodDecorator_ParamsType } from \"./zod-decorators.types\";\nimport { z } from \"zod\";\nimport { addChainableMethods } from \"./zod.module-override\";\nimport { BigDecimalValueSchema } from \"./zod-bigdecimal\";\nimport { MoneyValueSchema } from \"./zod-money\";\n\n\n/**\n * @wildo_source:part:start zod.factories.range facet:layer:shared facet:family:schema-factory\n *\n * z_range() - Creates range schemas for number, date, datetime, or time ranges.\n *\n * This is a standalone Zod helper function (cannot be added to frozen Zod module at runtime).\n *\n * @example\n * ```typescript\n * import { z_range } from '@wildo-ai/saas-models';\n *\n * const priceRange = z_range('number', { min: 0, max: 1000 });\n * const dateRange = z_range('date');\n * const timeRange = z_range('time');\n *\n * // With decorators (chainable)\n * z_range('number').numberUI({ edit: { editMode: 'SLIDER' } })\n * z_range('date', { min: new Date() }).isHidden({ edit: true })\n * ```\n */\n\n/**\n * Creates a range object schema with `from` and `to` fields.\n * Stores metadata for easy detection and form component rendering.\n *\n * @param type - The type of values in the range\n * @param options - Configuration options for optionality and constraints\n * @returns A Zod object schema with metadata for range detection\n *\n * @example\n * ```typescript\n * // Simple number range (both optional)\n * const priceRange = z.range('number');\n * // Infers: { from?: number; to?: number }\n *\n * // Date range with required 'from'\n * const eventRange = z.range('date', { fromOptional: false });\n * // Infers: { from: Date; to?: Date }\n *\n * // Number range with min/max constraints\n * const ageRange = z.range('number', { min: 0, max: 120 });\n * // Infers: { from?: number; to?: number }\n * // Metadata includes min: 0, max: 120 for UI hints\n *\n * // Both required with constraints\n * const salaryRange = z.range('number', {\n * fromOptional: false,\n * toOptional: false,\n * min: 0,\n * });\n * // Infers: { from: number; to: number }\n * ```\n */\nexport function createRangeSchema<T extends RangeType>(\n type: T,\n options: RangeSchemaOptions = {}\n): DecoratedRangeSchema {\n const {\n fromOptional = true,\n toOptional = true,\n min,\n max,\n } = options;\n\n // Create the base schema for the value type\n let baseSchema: z.ZodTypeAny;\n\n switch (type) {\n case RangeType.NUMBER:\n baseSchema = z.number();\n break;\n case RangeType.DATE:\n baseSchema = z.date();\n break;\n case RangeType.DATETIME:\n // A moment holds a `Date`, as a single datetime field does: the range picker emits one per end and the range\n // display reads one. This was `z.iso.datetime()`, so every value the picker produced failed its own schema and a\n // form holding a datetime range could never be submitted (#2720 review H2). A string from the wire is coerced\n // back to a `Date` by the API parsing schema, as for any date.\n baseSchema = z.date();\n break;\n case RangeType.TIME:\n baseSchema = z.iso.time();\n break;\n case RangeType.BIGDECIMAL:\n baseSchema = BigDecimalValueSchema;\n break;\n case RangeType.MONEY:\n baseSchema = MoneyValueSchema;\n break;\n default:\n throw new Error(`Unknown range type: ${type}`);\n }\n\n // Create from/to schemas based on optionality\n const fromSchema = fromOptional ? baseSchema.optional() : baseSchema;\n const toSchema = toOptional ? baseSchema.optional() : baseSchema;\n\n // Create the object schema\n const rangeSchema = z.object({\n from: fromSchema,\n to: toSchema,\n });\n\n // Store range metadata in SCHEMA_METADATA.rangeConfig\n const rangeMetadata: RangeSchemaMetadata = {\n isRange: true,\n type,\n fromOptional,\n toOptional,\n ...(min !== undefined && { min }),\n ...(max !== undefined && { max }),\n };\n\n // Initialize or extend SCHEMA_METADATA with range config\n const existingMetadata: CustomFieldMetadata = (rangeSchema as any)[SCHEMA_METADATA] || {};\n (rangeSchema as any)[SCHEMA_METADATA] = {\n ...existingMetadata,\n rangeType: type,\n rangeConfig: rangeMetadata,\n };\n\n // Add chainable decorator methods to the range schema instance\n // This allows: z_range('number').numberUI({ edit: { editMode: 'SLIDER' } }).isHidden()\n addChainableMethods(rangeSchema);\n\n return rangeSchema as DecoratedRangeSchema;\n}\n\n/**\n * Return type for range schemas - includes decorator methods.\n * Note: IS_FOREIGN_KEY is not applicable to range objects.\n * IS_DB_INDEXED will index internal fields (from, to) for range query optimization.\n */\nexport type DecoratedRangeSchema = z.ZodObject<any> & {\n [ZodDecorator.IS_DB_INDEXED](): DecoratedRangeSchema;\n [ZodDecorator.IS_HIDDEN](params?: ZodDecorator_ParamsType[ZodDecorator.IS_HIDDEN]): DecoratedRangeSchema;\n [ZodDecorator.IS_NOT_EDITABLE](params?: ZodDecorator_ParamsType[ZodDecorator.IS_NOT_EDITABLE]): DecoratedRangeSchema;\n addDecorators(decorators: DecoratorInput[]): DecoratedRangeSchema;\n};\n\n/**\n * Creates a range object schema with `from` and `to` fields.\n * Named z_range to indicate it's a Zod helper function exported standalone.\n *\n * @example\n * ```typescript\n * import { z_range } from '@wildo-ai/saas-models';\n *\n * // Simple usage\n * z_range('number') // { from?: number; to?: number }\n * z_range('date') // { from?: Date; to?: Date }\n *\n * // With options\n * z_range('number', { fromOptional: false, min: 0 })\n * z_range('datetime', { toOptional: false })\n *\n * // With decorators (chainable)\n * z_range('number').numberUI({ edit: { editMode: 'SLIDER' } })\n * z_range('date', { min: new Date() }).isHidden({ edit: true })\n * ```\n */\nexport function z_range<T extends RangeType | `${RangeType}`>(\n type: T,\n options?: RangeSchemaOptions\n): DecoratedRangeSchema {\n return createRangeSchema(type as RangeType, options) as DecoratedRangeSchema;\n}\n/** @wildo_source:part:end zod.factories.range */\n"]}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  import type { DocumentSequenceParams } from './zod-document-sequence';
3
3
  import type { ArrayUIParams, BigDecimalUIParams, BooleanUIParams, CodeUIParams, DateUIParams, DateTimeUIParams, DurationUIParams, EnumUIParams, FileUIParams, ForeignKeyUIParams, MoneyUIParams, NumberUIParams, ObjectUIParams, PhoneUIParams, StringUIParams, TimeUIParams, PrimitiveUIBaseEditParams, PrimitiveUIBaseDisplayParams } from './zod-decorators.types';
4
4
  import { BooleanEditMode, DisplayEmptyReason, EnumEditMode, EnumMultipleEditMode, NumberEditMode, StringEditMode } from './zod-decorators.types';
5
- import { BackendOnlyFieldParams, BusinessKeySetParams, WriteOnlySecretFieldParams, BigDecimalSchemaMetadata, DurationSchemaMetadata, CodeSchemaMetadata, DiscriminatorFieldParams, FileSchemaMetadata, ForeignKeyStructuralParams, ForeignKeyUIDisplayParams, MoneySchemaMetadata, CustomFieldMetadata, FieldSchemaType, FormFieldComponent, HiddenFieldParams, NotEditableFieldParams, OtpFieldParams, AddressSchemaMetadata, PhoneSchemaMetadata, PolymorphicFkVariant, RagSourceConfiguration, RangeConstraintValue, RangeSchemaMetadata, RangeType, SerializableZodSchema, SummaryFieldParams, VersionedForeignKeySchemaMetadata, VersionedSchemaMetadata, ZodDecorator, UniqueFieldParams, VirtualFieldParams, TtlFieldParams, ShowWhenParams } from './zod-decorators.types';
5
+ import { BackendOnlyFieldParams, BusinessKeySetParams, CompoundIndexParams, WriteOnlySecretFieldParams, BigDecimalSchemaMetadata, DurationSchemaMetadata, CodeSchemaMetadata, DiscriminatorFieldParams, FileSchemaMetadata, ForeignKeyStructuralParams, ForeignKeyUIDisplayParams, MoneySchemaMetadata, CustomFieldMetadata, FieldSchemaType, FormFieldComponent, HiddenFieldParams, NotEditableFieldParams, OtpFieldParams, AddressSchemaMetadata, PhoneSchemaMetadata, PolymorphicFkVariant, RagSourceConfiguration, RangeConstraintValue, RangeSchemaMetadata, RangeType, SerializableZodSchema, SummaryFieldParams, VersionedForeignKeySchemaMetadata, VersionedSchemaMetadata, ZodDecorator, UniqueFieldParams, VirtualFieldParams, TtlFieldParams, ShowWhenParams } from './zod-decorators.types';
6
6
  export declare function hasZodInternals(schema: unknown): schema is {
7
7
  def: {
8
8
  type: string;
@@ -67,10 +67,11 @@ export declare function withOptionalNestedChildren(schema: z.ZodTypeAny): z.ZodT
67
67
  * optional and does not already accept null.
68
68
  * - Default-wrapped fields: the outer `ZodDefault` is peeled, the inner schema
69
69
  * (keeping `.int()` / `.min()` / refinements) is made optional, and any
70
- * decorator metadata attached to the default wrapper (e.g.
70
+ * decorator metadata or description on the default wrapper (e.g.
71
71
  * `.default(0).isSummaryField()`) is carried onto the resulting optional so
72
- * `getMetadataRecursive` is unchanged. The inner schema is SHARED, never
73
- * mutated, so the source schema is left intact.
72
+ * `getMetadataRecursive` is unchanged. A check declared ON the default still holds, on what the
73
+ * request sent (#3342). The inner schema is SHARED, never mutated, so the source schema is left
74
+ * intact.
74
75
  *
75
76
  * Defaults remain correct for CREATE (a new row gets them) — this transform is
76
77
  * for the UPDATE DTO only.
@@ -388,6 +389,19 @@ export declare function getUnionDiscriminatorKey(schema: z.ZodTypeAny): string |
388
389
  * inference requires every option to be an object).
389
390
  */
390
391
  export declare function getUnionObjectMembers(schema: z.ZodTypeAny): z.ZodObject<any>[];
392
+ /**
393
+ * The value(s) ONE member of a discriminated union holds for its discriminator, read through every wrapper (#2076).
394
+ *
395
+ * A member's discriminator is a literal (`z.literal('recurring')`, whose values Zod 4 keeps in an ARRAY under `values`)
396
+ * or, for the base values a schema family groups into one member, an enum. It is no longer always BARE: the member that
397
+ * holds the value the base field declares as its `.default()` carries `literal.optional().default(value)`, the one shape
398
+ * a Zod 4 discriminated union can route an omitted key by. A reader of the bare `def.values` would miss that member, so
399
+ * a reader of a DECLARED union's member values goes through here. {@link getUnionDiscriminatorKey}'s inference over a
400
+ * PLAIN union deliberately does not: it asks whether a key discriminates at all, and only a bare literal proves that.
401
+ *
402
+ * Non-string literal values (a numeric discriminator) are kept as they are; an enum contributes its string values.
403
+ */
404
+ export declare function getDiscriminatorMemberValues(memberDiscriminator: z.ZodTypeAny | undefined): unknown[];
391
405
  /**
392
406
  * Resolve the ONE variant of a discriminated union that a given value belongs to.
393
407
  *
@@ -400,7 +414,8 @@ export declare function getUnionObjectMembers(schema: z.ZodTypeAny): z.ZodObject
400
414
  * The discriminator is {@link getUnionDiscriminatorKey}'s: declared, or carried structurally by a plain
401
415
  * `z.union` (#1022 — a versioned record's items). For such a plain union a value carrying NO discriminator
402
416
  * belongs to the one strict member that omits the key, when there is one; for a declared discriminated union
403
- * it belongs to none.
417
+ * it belongs to the member Zod itself routes it to — the one whose discriminator takes the declared default
418
+ * (#2076) — and to none when no member does.
404
419
  *
405
420
  * Returns `null` when the schema is not a discriminated union, when the value carries no
406
421
  * discriminator its union can place, or when no variant matches it — all three are "this caller cannot
@@ -576,11 +591,13 @@ export declare function getObjectLikeFieldSchema(schema: z.ZodTypeAny, fieldName
576
591
  * - a **plain object** (`FieldSchemaType.OBJECT`). A value type stored as an object (money, an address, a duration, a
577
592
  * file, a versioned object) is ONE value, written whole: `price.amount` alone would leave every row's own currency
578
593
  * under it.
579
- * - with **no refinement of its own** (`.refine()`, `.superRefine()`, `.check()`). A refinement judges the children
580
- * TOGETHER (`start` before `end`), and a write of one child never runs it, so such an object is written whole.
594
+ * - with **no refinement** (`.refine()`, `.superRefine()`, `.check()`) on the object or on any wrapper around it. A
595
+ * refinement judges the children TOGETHER (`start` before `end`), and a write of one child never runs it, so such an
596
+ * object is written whole. A check on the optional, nullable or default around the object counts too (#3342): the form,
597
+ * the write units and the server all ask this, so a wrapper's check cannot be required by one and skipped by another.
581
598
  *
582
599
  * Arrays are never child-writable: an index addresses a position, which is a different element on every row.
583
- * Wrappers (optional, nullable, default) are looked through.
600
+ * Wrappers (optional, nullable, default, readonly, catch, and a pipe's input) are looked through, as `unwrapSchema` does.
584
601
  */
585
602
  export declare function isChildWritableObject(schema: z.ZodTypeAny): boolean;
586
603
  /**
@@ -783,6 +800,11 @@ export declare function isBackendOnlyField(schema: z.ZodTypeAny): boolean;
783
800
  * Get the isBackendOnly decorator parameters.
784
801
  */
785
802
  export declare function getBackendOnlyParams(schema: z.ZodTypeAny): BackendOnlyFieldParams | undefined;
803
+ /**
804
+ * Whether a backend-only field declares that its value is the subject's own data, disclosed in their access export
805
+ * (`isBackendOnly({ disclosedToSubject: true })`, #2958). `false` for a field that is not backend-only.
806
+ */
807
+ export declare function isBackendOnlyFieldDisclosedToSubject(schema: z.ZodTypeAny): boolean;
786
808
  /**
787
809
  * Check if a schema field has the isWriteOnlySecret decorator.
788
810
  */
@@ -891,6 +913,11 @@ export declare function isLastActionRecordField(schema: z.ZodTypeAny): boolean;
891
913
  * types, so the marker is seen whether it was declared before or after `.optional()` / `.default()`.
892
914
  */
893
915
  export declare function isDeciderField(schema: z.ZodTypeAny): boolean;
916
+ /**
917
+ * Are this field's values roles the writer grants (`.isRoleGrant()`, #3248)? Reads through wrapper types, so the marker
918
+ * is seen whether it was declared before or after `.optional()` / `.default()`.
919
+ */
920
+ export declare function isRoleGrantField(schema: z.ZodTypeAny): boolean;
894
921
  /** The names of a row schema's decider fields (`.isDecider()`), across every variant of a polymorphic row. */
895
922
  export declare function deciderFieldNames(rowSchema: z.ZodTypeAny | undefined): ReadonlySet<string>;
896
923
  /**
@@ -1023,8 +1050,7 @@ export declare function isPrimaryKeyField(schema: z.ZodTypeAny): boolean;
1023
1050
  *
1024
1051
  * A business key is the **declaration-side identity** used by the data-seeding
1025
1052
  * subsystem to upsert / upgrade / sync seeded rows independently from the
1026
- * random `_id` (`isPrimaryKey`). See `.cursor/plans/seeding-first-class.md`
1027
- * §3.3 for the semantic contract.
1053
+ * random `_id` (`isPrimaryKey`).
1028
1054
  */
1029
1055
  export declare function isBusinessKeyField(schema: z.ZodTypeAny): boolean;
1030
1056
  /**
@@ -1038,8 +1064,7 @@ export declare function getDocumentSequenceParams(schema: z.ZodTypeAny): Documen
1038
1064
  * list of field names, or `undefined` if no composite key is declared.
1039
1065
  *
1040
1066
  * The composite key is the schema-level analog of `isBusinessKey` — used
1041
- * when identity is `(orgId, templateKey)` rather than a single field. See
1042
- * `.cursor/plans/seeding-first-class.md` §3.3.
1067
+ * when identity is `(orgId, templateKey)` rather than a single field.
1043
1068
  */
1044
1069
  export declare function getBusinessKeySet(schema: z.ZodTypeAny): string[] | undefined;
1045
1070
  /**
@@ -1052,6 +1077,16 @@ export declare function getBusinessKeySet(schema: z.ZodTypeAny): string[] | unde
1052
1077
  * declaration rather than re-derived — a second source would be free to disagree with the first.
1053
1078
  */
1054
1079
  export declare function getBusinessKeySetParams(schema: z.ZodTypeAny): BusinessKeySetParams | undefined;
1080
+ /**
1081
+ * Every NON-unique compound index an object schema declares with `compoundIndex([...])` (#3142), in declaration order,
1082
+ * or `[]`. Each entry's `fields` are in index order. The ONE reader both storage adapters ask (the MongoDB convertor
1083
+ * and the PostgreSQL planner), so they cannot disagree about which indexes a resource has.
1084
+ *
1085
+ * Only the indexes whose fields this object still HAS: Zod's `.omit()`, `.pick()` and `.extend()` copy the outer
1086
+ * metadata wholesale, so an object derived from one that declared an index would otherwise keep an index naming a field
1087
+ * it dropped, and its storage would refuse to build. An object that lost a field lost the index over it.
1088
+ */
1089
+ export declare function getCompoundIndexes(schema: z.ZodTypeAny): CompoundIndexParams[];
1055
1090
  /**
1056
1091
  * The target set an object declares with `isResourceReference({ targetSet })` (#2471): the object names one row of a
1057
1092
  * resource whose type is chosen at run time from that set. `undefined` when the object is not a resource reference.
@@ -1 +1 @@
1
- {"version":3,"file":"zod-utils.shared.d.ts","sourceRoot":"","sources":["../../../src/zod-utils.shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zod-utils.shared.d.ts","sourceRoot":"","sources":["../../src/zod-utils.shared.ts"],"names":[],"mappings":"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"}