@wildo-ai/zod-decorators 1.1.2 → 1.1.3

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.
@@ -0,0 +1 @@
1
+ {"version":"7.0.2","root":[58,[139,143],[145,148],[151,152],[155,167]],"packageJsons":["../../../package.json","../../../../../node_modules/.pnpm/@types+big.js@6.2.2/node_modules/@types/big.js/package.json","../../../../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/package.json","../../../../../node_modules/.pnpm/big.js@6.2.2/node_modules/big.js/package.json","../../../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/package.json","../../../../../node_modules/.pnpm/libphonenumber-js@1.12.41/node_modules/libphonenumber-js/package.json","../../../../../node_modules/.pnpm/mime@4.1.0/node_modules/mime/package.json","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/package.json","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/package.json","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/package.json","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/package.json"],"missingPackageJsons":["../../../node_modules/react/package.json","../../../../../node_modules/.pnpm/mime@4.1.0/node_modules/mime/dist/package.json","../../../../../node_modules/.pnpm/mime@4.1.0/node_modules/mime/dist/src/package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","../../../src/commons.ts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/standard-schema.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-ca.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-cn.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-tw.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/checks.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/compat.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/coerce.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.d.cts","../../../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/index.d.cts","../../../../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/global.d.ts","../../../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/index.d.ts","../../../src/currencies.shared.schemas.ts","../../../src/zod-color.ts","../../../src/zod-decorators.types.ts","../../../src/zod.module-override.ts","../../../src/install-bigint-json-encoding.ts","../../../../../node_modules/.pnpm/@types+big.js@6.2.2/node_modules/@types/big.js/index.d.ts","../../../src/zod-bigdecimal.ts","../../../src/zod-money.ts","../../../src/zod-range.ts","../../../src/zod-duration.ts","../../../../../node_modules/.pnpm/libphonenumber-js@1.12.41/node_modules/libphonenumber-js/types.d.ts","../../../../../node_modules/.pnpm/libphonenumber-js@1.12.41/node_modules/libphonenumber-js/index.d.ts","../../../src/zod-phone.ts","../../../src/zod-code.ts","../../../../../node_modules/.pnpm/mime@4.1.0/node_modules/mime/dist/src/mime.d.ts","../../../../../node_modules/.pnpm/mime@4.1.0/node_modules/mime/dist/src/index.d.ts","../../../src/files/extension-nature-map.ts","../../../src/files/mime-registry.ts","../../../src/files/agent-file-formats.ts","../../../src/files/unified-registry.ts","../../../src/zod-file.ts","../../../src/zod-versioned.ts","../../../src/zod-utils.shared.ts","../../../src/files/file-extensions.enum.ts","../../../src/index.ts","../../../src/companion-exports.ts","../../../src/testing/decorated-test-schemas.ts","../../../src/testing.ts","../../../src/__mocks__/mime.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7",{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4198e3857da730698977b55f7ddbba51","signature":"ac146b1660215f2fb0c9f5c01d356326","impliedNodeFormat":1},"5f3c015bce4302b247acedb9ec20e302","a9fe29dcdd4288cacf574947747a4572","daada721cfdc43aa8e7c2e2d14d760de","c4d7f2ab9358166b1815281a9e767232","2af86ade36e4051944f46da0fd1df525","90eb781c9a8145090ce17290f0744bb6","a3ddf6412484d665d76145ba7fa319a8","b53e5eafe089103ad7be4f243fb517d4","344aa18a1a1f48b6d51fa564e2910864","ffd8c3d2e39447925561777d1ebcdc02","2b76267afeb2e83dff758e3fba2faa8a","662eae47724ed2ca873fb608034d0645","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","360c84ef5634445ed4b1111f041b6212","a21f1b172546b6a64cc7ddea394b54ea","937e86ab76f06c8dbd613be6555c03b6","8bdf05c98551836db89f23d60d176f56","5b3f18777c97e7ed444a39661c4462ba","cd3b63580b271a0e93649c0d92a1b098","1cc59f020b9d62d875bdb28a6e2f745b","a06c5977df8ff3f289f16a7505c8d539","652a1f711ddcd6149df9fc04c2d77ec7","f04158c558df8c51d46a1fb44c832c1c","d1ab6402ad42100de1cf3f5d15aa9d27","96b06af537c71de0a80e9ed880958afd","dec40354e62d8ca81f5996c1760bc6da","a9356de7c324c6f49c15587032b1f65f","9db07004a5d271a5a4c3f499ed8a033f","ec7a3f5e189221b1a18bed55a592c89d",{"version":"086b8ccc1aa2a8df8144951e6a412a39","affectsGlobalScope":true,"impliedNodeFormat":1},"8244c8f803a86fcac606483469eb85c3","efe6aa145e7328bfc4dd54be3ebcf52e",{"version":"c44f99b03ed546f887bd9d2943eec90d","signature":"5815f1171045a4391bed5a3c853547e6","impliedNodeFormat":1},{"version":"67f11ae89eccb2f5824d3a68f2c6988e","signature":"615ef87a7526c7a7a36749bc58ff4716","impliedNodeFormat":1},{"version":"1abefebcfbe82a0d6a0b32d5d400a4b3","signature":"d32ea4d58c26af638b5515b4a78aec46","impliedNodeFormat":1},{"version":"f2af348cfe507c29a4611416dc2c5de3","signature":"4516c4c520b37c37ad0caa0e40879e91","impliedNodeFormat":1},{"version":"b32652cd336580b381e809a4f8e1a914","signature":"13ee41ace368f41ecf457bfca0038632","affectsGlobalScope":true,"impliedNodeFormat":1},"7dc6efc60bb971bba59f623cda688213",{"version":"4bd1751cd74ee274edc7c947ab9b2530","signature":"2780262233e0896a27a7da2243b509aa","impliedNodeFormat":1},{"version":"91e93ad7e0949d71462d503567454938","signature":"0869061a44bcd468981513bf1fc7e901","impliedNodeFormat":1},{"version":"a11c8b005bb7c425fc6996b2eee1c6d1","signature":"41195c7ff1ade854a8f6dbc83769bf1c","impliedNodeFormat":1},{"version":"245437b3862d4ff8338a9a88850cce88","signature":"4121573c6bbdd24d8f2f2d937f107dfd","impliedNodeFormat":1},{"version":"bdaa75ac54a83722c18997f9befd01da","impliedNodeFormat":99},{"version":"09fc61a57daef719c687ec24c63f7c8e","impliedNodeFormat":99},{"version":"ffeaa5c1d80e64dab7daf991ef67c96a","signature":"81005fa8e4c1667fedd2473dcd6a85be","impliedNodeFormat":1},{"version":"ebe718b9fa9962e8d897c345f626c8d8","signature":"355aed4b368e8651fa925343b0e1bf01","impliedNodeFormat":1},{"version":"1947274af4905ae4769af4655871944e","impliedNodeFormat":99},{"version":"0718785ea4d71fa50c7fbaa0613105c1","impliedNodeFormat":99},{"version":"549f83cd27be46d9735976ed28483f17","signature":"06163da8f2a31ca766c0618e936e5774","impliedNodeFormat":1},{"version":"dcfcf65aa370b5167165d43ebd5bb661","signature":"e5b9d2003f2b150d664cd2fb8934486f","impliedNodeFormat":1},{"version":"587a36a708b897b2657bc908d274d52b","signature":"93103581cc81ac2008a0e0b9e537b2d3","impliedNodeFormat":1},{"version":"26ac0514f4fa35740b453fe86a54512b","signature":"b358d1d55bcd79637be28f1c41052e80","impliedNodeFormat":1},{"version":"5cd03d73f5b9afc676a599218171022e","signature":"ceed3dba89c9d0e5fe06dce5c134f6a9","impliedNodeFormat":1},{"version":"e646e4093fc2e322ffc395d9fa4547eb","signature":"64a9ecc726819b5a3b3c8b0fd9255191","impliedNodeFormat":1},{"version":"0bec7504765c6aa454aa8dda50bc8ead","signature":"7c73de82c6b8a231349233136a0ee33a","impliedNodeFormat":1},{"version":"e5bb38ddc85b15ff58e1e23b96903ce4","signature":"ccaf4c054a90098106e2f718e9d3fc00","impliedNodeFormat":1},{"version":"a5ee7075ccf5dfb855d586ad5245fe7a","signature":"a7808418ba0f28cdb32ab2db35ae5973","impliedNodeFormat":1},"226129d3e590c9d598a602a99243ca62",{"version":"1b4c05f6780438c54975736afcdd8f15","signature":"73156f94b72bc4d8f992ec39e4108585","impliedNodeFormat":1},"8e323cab1ca1f37efd17d3565a3b5a4c",{"version":"980ca7ea00bb6a98837d7e94a097607b","signature":"30ab182c4a613f022a19de7932c6aac5","impliedNodeFormat":1}],"fileIdsList":[[163],[135,142],[154],[141],[141,154,155],[141,156,157],[58,135,139,140,141,142,143,145,146,147,148,151,152,155,156,157,158,159,160,161,162],[165],[135,141,142,144],[135,141,142],[58,135,138,139,140,142],[135,141,142,158],[135,139,141,142],[135,141,142,150],[135,141,142,145,146],[135,141,142,147],[135,141],[136,137],[149],[153],[134],[125],[125,128],[120,123,125,126,127,128,129,130,131,132,133],[59,61,128],[125,126],[60,125,127],[61,63,65,66,67,68],[63,65,67,68],[63,65,67],[60,63,65,66,68],[59,61,62,63,64,65,66,67,68,69,70,120,121,122,123,124],[59,61,62,65],[61,62,65],[65,68],[59,60,62,63,64,66,67,68],[59,60,61,65,125],[65,66,67,68],[67],[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119]],"options":{"composite":true,"emitDecoratorMetadata":true,"declaration":true,"declarationDir":"./","declarationMap":true,"experimentalDecorators":true,"module":200,"noImplicitAny":false,"noEmitOnError":true,"noUnusedLocals":false,"noUnusedParameters":false,"noUncheckedSideEffectImports":true,"outDir":"./","rootDir":"../../../src","skipLibCheck":true,"strict":false,"sourceMap":true,"target":9,"tsBuildInfoFile":"./.native.tsbuildinfo","verbatimModuleSyntax":false,"allowSyntheticDefaultImports":true,"esModuleInterop":true},"referencedMap":[[164,1],[139,2],[157,3],[155,4],[156,5],[158,6],[163,7],[166,8],[165,2],[145,9],[152,10],[140,2],[141,11],[148,10],[159,12],[146,13],[151,14],[147,15],[161,16],[160,10],[142,17],[138,18],[150,19],[154,20],[135,21],[129,22],[133,23],[130,23],[126,22],[134,24],[131,25],[132,23],[127,26],[128,27],[122,28],[66,29],[68,30],[67,31],[125,32],[124,33],[123,34],[69,29],[61,35],[65,36],[62,37],[63,38],[71,39],[72,39],[73,39],[74,39],[75,39],[76,39],[77,39],[78,39],[79,39],[80,39],[81,39],[82,39],[83,39],[85,39],[84,39],[86,39],[87,39],[88,39],[89,39],[120,40],[90,39],[91,39],[92,39],[93,39],[94,39],[95,39],[96,39],[97,39],[98,39],[99,39],[100,39],[101,39],[102,39],[104,39],[103,39],[105,39],[106,39],[107,39],[108,39],[109,39],[110,39],[111,39],[112,39],[113,39],[114,39],[115,39],[116,39],[119,39],[117,39],[118,39]],"latestChangedDtsFile":"./__mocks__/mime.d.ts"}
@@ -195,6 +195,22 @@ export declare const AvailableCurrencySchema: z.ZodEnum<typeof AvailableCurrency
195
195
  */
196
196
  export declare const CurrencySchema: z.ZodUnion<[z.ZodEnum<typeof AvailableCurrency>, z.ZodString]>;
197
197
  export type CurrencyType = z.infer<typeof CurrencySchema>;
198
+ /**
199
+ * The number of decimal places in a currency's smallest unit — what a payment provider's amount
200
+ * field is denominated in.
201
+ *
202
+ * @returns the exponent, or `undefined` when the currency has no minor unit (`XDR`, `XXX`) or is not
203
+ * a currency this vocabulary knows.
204
+ *
205
+ * **`undefined` rather than a default of 2, and that is the whole point of this function.** Assuming
206
+ * 2 for an unknown code is exactly the defect it exists to remove: it produces a plausible number and
207
+ * charges the wrong amount, silently. A caller that cannot resolve a scale must refuse.
208
+ *
209
+ * `CurrencySchema` admits any three-letter uppercase code, not just the enum, so an application may
210
+ * legitimately hold a currency this function does not know. That is not an error in the application —
211
+ * it is a currency Wildo cannot convert for a provider, and saying so is the honest answer.
212
+ */
213
+ export declare function currencyMinorUnitDecimals(currency: string): number | undefined;
198
214
  /**
199
215
  * Currency type filter for z_money() `currenciesAllowed` option.
200
216
  * Replaces the old showCrypto/majorOnly/fiatOnly boolean flags with a composable enum array.
@@ -1 +1 @@
1
- {"version":3,"file":"currencies.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/currencies.shared.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"currencies.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/currencies.shared.schemas.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,105 @@ export const CurrencySchema = z.union([
214
214
  z.enum(AvailableCurrency),
215
215
  z.string().length(3).regex(/^[A-Z]{3}$/, { error: 'Invalid currency code format' }) // Any valid ISO 4217 code
216
216
  ]);
217
+ /**
218
+ * Currencies whose smallest unit is NOT a hundredth — the ISO 4217 exponent exceptions, plus the
219
+ * cryptocurrency conventions.
220
+ *
221
+ * A currency's minor unit is what a payment provider's amount field means: Stripe's `unit_amount` is
222
+ * in cents for USD, in whole yen for JPY, and in thousandths for KWD. Assuming 2 everywhere is not a
223
+ * display bug — it charges and records money at the wrong magnitude, by a factor of 100 or 1000.
224
+ *
225
+ * Only exceptions are listed; every other member of {@link AvailableCurrency} is 2. That is
226
+ * deliberate: an exhaustive 150-row table would have to be re-checked in full whenever a currency is
227
+ * added, while this one is checked against the ISO exponent list, which is short and stable.
228
+ *
229
+ * **The crypto rows are a different kind of claim and are marked as such.** ISO 4217 does not govern
230
+ * them; these are protocol conventions (a bitcoin has 8 decimal places because the protocol says so).
231
+ * They are correct for arithmetic within Wildo — converting a stored amount to a display value — and
232
+ * they are NOT a minor unit any fiat billing provider accepts. A boundary that hands one of these to
233
+ * a provider must refuse rather than convert; see `convertMoneyToCurrencyMinorUnit`.
234
+ */
235
+ const CURRENCY_MINOR_UNIT_EXCEPTIONS = {
236
+ // ── ISO 4217 exponent 0 — no minor unit; the amount IS whole units ──
237
+ [AvailableCurrency.BIF]: 0,
238
+ [AvailableCurrency.CLP]: 0,
239
+ [AvailableCurrency.DJF]: 0,
240
+ [AvailableCurrency.GNF]: 0,
241
+ [AvailableCurrency.ISK]: 0,
242
+ [AvailableCurrency.JPY]: 0,
243
+ [AvailableCurrency.KMF]: 0,
244
+ [AvailableCurrency.KRW]: 0,
245
+ [AvailableCurrency.PYG]: 0,
246
+ [AvailableCurrency.RWF]: 0,
247
+ [AvailableCurrency.UGX]: 0,
248
+ [AvailableCurrency.VND]: 0,
249
+ [AvailableCurrency.VUV]: 0,
250
+ [AvailableCurrency.XAF]: 0,
251
+ [AvailableCurrency.XOF]: 0,
252
+ [AvailableCurrency.XPF]: 0,
253
+ // ── ISO 4217 exponent 3 — thousandths (the Gulf and Maghreb dinars) ──
254
+ [AvailableCurrency.BHD]: 3,
255
+ [AvailableCurrency.IQD]: 3,
256
+ [AvailableCurrency.JOD]: 3,
257
+ [AvailableCurrency.KWD]: 3,
258
+ [AvailableCurrency.LYD]: 3,
259
+ [AvailableCurrency.OMR]: 3,
260
+ [AvailableCurrency.TND]: 3,
261
+ // ── Cryptocurrency protocol conventions — NOT ISO, NOT a provider minor unit ──
262
+ [AvailableCurrency.BTC]: 8,
263
+ [AvailableCurrency.BCH]: 8,
264
+ [AvailableCurrency.LTC]: 8,
265
+ [AvailableCurrency.ETH]: 18,
266
+ [AvailableCurrency.DAI]: 18,
267
+ [AvailableCurrency.BNB]: 18,
268
+ [AvailableCurrency.UNI]: 18,
269
+ [AvailableCurrency.XMR]: 12,
270
+ [AvailableCurrency.DOT]: 10,
271
+ [AvailableCurrency.SOL]: 9,
272
+ [AvailableCurrency.SUI]: 9,
273
+ [AvailableCurrency.TON]: 9,
274
+ [AvailableCurrency.XLM]: 7,
275
+ [AvailableCurrency.XRP]: 6,
276
+ [AvailableCurrency.TRX]: 6,
277
+ [AvailableCurrency.ADA]: 6,
278
+ };
279
+ /**
280
+ * Currencies that have NO minor unit at all, and for which an amount scale is therefore not a
281
+ * question with an answer.
282
+ *
283
+ * `XDR` is the IMF's Special Drawing Right, a basket unit rather than a spendable currency; `XXX` is
284
+ * ISO 4217's explicit "no currency". Both are legitimately in the vocabulary — a value can be
285
+ * DENOMINATED in them — and neither can be handed to a payment provider. They resolve to `undefined`
286
+ * rather than to a number, so a boundary refuses instead of inventing a scale.
287
+ */
288
+ const CURRENCIES_WITHOUT_MINOR_UNIT = new Set([
289
+ AvailableCurrency.XDR,
290
+ AvailableCurrency.XXX,
291
+ ]);
292
+ /**
293
+ * The number of decimal places in a currency's smallest unit — what a payment provider's amount
294
+ * field is denominated in.
295
+ *
296
+ * @returns the exponent, or `undefined` when the currency has no minor unit (`XDR`, `XXX`) or is not
297
+ * a currency this vocabulary knows.
298
+ *
299
+ * **`undefined` rather than a default of 2, and that is the whole point of this function.** Assuming
300
+ * 2 for an unknown code is exactly the defect it exists to remove: it produces a plausible number and
301
+ * charges the wrong amount, silently. A caller that cannot resolve a scale must refuse.
302
+ *
303
+ * `CurrencySchema` admits any three-letter uppercase code, not just the enum, so an application may
304
+ * legitimately hold a currency this function does not know. That is not an error in the application —
305
+ * it is a currency Wildo cannot convert for a provider, and saying so is the honest answer.
306
+ */
307
+ export function currencyMinorUnitDecimals(currency) {
308
+ if (CURRENCIES_WITHOUT_MINOR_UNIT.has(currency))
309
+ return undefined;
310
+ const exception = CURRENCY_MINOR_UNIT_EXCEPTIONS[currency];
311
+ if (exception !== undefined)
312
+ return exception;
313
+ // Known currency with no exception: the ISO default.
314
+ return Object.values(AvailableCurrency).includes(currency) ? 2 : undefined;
315
+ }
217
316
  /**
218
317
  * Currency type filter for z_money() `currenciesAllowed` option.
219
318
  * Replaces the old showCrypto/majorOnly/fiatOnly boolean flags with a composable enum array.
@@ -1 +1 @@
1
- {"version":3,"file":"currencies.shared.schemas.js","sourceRoot":"","sources":["../../../src/currencies.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["\n/**\n * Currencies Shared Schemas\n * \n * Common currency enums for the SaaS platform\n * Based on ISO 4217 standard (2025-05-12)\n */\n\nimport { z } from 'zod';\n\n/**\n * Available Currencies Enum\n * \n * Most commonly used currencies worldwide (ISO 4217 codes)\n */\nexport enum AvailableCurrency {\n // Major Currencies\n USD = 'USD', // US Dollar\n EUR = 'EUR', // Euro\n GBP = 'GBP', // British Pound\n JPY = 'JPY', // Japanese Yen\n CAD = 'CAD', // Canadian Dollar\n AUD = 'AUD', // Australian Dollar\n CHF = 'CHF', // Swiss Franc\n CNY = 'CNY', // Chinese Yuan\n \n // Other Major Currencies\n INR = 'INR', // Indian Rupee\n BRL = 'BRL', // Brazilian Real\n MXN = 'MXN', // Mexican Peso\n KRW = 'KRW', // South Korean Won\n RUB = 'RUB', // Russian Ruble\n ZAR = 'ZAR', // South African Rand\n \n // European Currencies (Non-Euro)\n SEK = 'SEK', // Swedish Krona\n NOK = 'NOK', // Norwegian Krone\n DKK = 'DKK', // Danish Krone\n PLN = 'PLN', // Polish Zloty\n CZK = 'CZK', // Czech Koruna\n HUF = 'HUF', // Hungarian Forint\n RON = 'RON', // Romanian Leu\n BGN = 'BGN', // Bulgarian Lev\n HRK = 'HRK', // Croatian Kuna (historical, replaced by EUR)\n ISK = 'ISK', // Icelandic Krona\n UAH = 'UAH', // Ukrainian Hryvnia\n BYN = 'BYN', // Belarusian Ruble\n RSD = 'RSD', // Serbian Dinar\n BAM = 'BAM', // Bosnia and Herzegovina Convertible Mark\n MDL = 'MDL', // Moldovan Leu\n ALL = 'ALL', // Albanian Lek\n MKD = 'MKD', // Macedonian Denar\n \n // Asia-Pacific\n SGD = 'SGD', // Singapore Dollar\n HKD = 'HKD', // Hong Kong Dollar\n TWD = 'TWD', // New Taiwan Dollar\n THB = 'THB', // Thai Baht\n MYR = 'MYR', // Malaysian Ringgit\n IDR = 'IDR', // Indonesian Rupiah\n PHP = 'PHP', // Philippine Peso\n VND = 'VND', // Vietnamese Dong\n NZD = 'NZD', // New Zealand Dollar\n BND = 'BND', // Brunei Dollar\n FJD = 'FJD', // Fiji Dollar\n PGK = 'PGK', // Papua New Guinean Kina\n WST = 'WST', // Samoan Tala\n SBD = 'SBD', // Solomon Islands Dollar\n VUV = 'VUV', // Vanuatu Vatu\n TOP = 'TOP', // Tongan Pa'anga\n MVR = 'MVR', // Maldivian Rufiyaa\n BTN = 'BTN', // Bhutanese Ngultrum\n MOP = 'MOP', // Macanese Pataca\n \n // Middle East\n AED = 'AED', // UAE Dirham\n SAR = 'SAR', // Saudi Riyal\n QAR = 'QAR', // Qatari Riyal\n KWD = 'KWD', // Kuwaiti Dinar\n BHD = 'BHD', // Bahraini Dinar\n OMR = 'OMR', // Omani Rial\n JOD = 'JOD', // Jordanian Dinar\n ILS = 'ILS', // Israeli Shekel\n TRY = 'TRY', // Turkish Lira\n IQD = 'IQD', // Iraqi Dinar\n IRR = 'IRR', // Iranian Rial\n LBP = 'LBP', // Lebanese Pound\n SYP = 'SYP', // Syrian Pound\n YER = 'YER', // Yemeni Rial\n \n // North Africa\n EGP = 'EGP', // Egyptian Pound\n MAD = 'MAD', // Moroccan Dirham\n TND = 'TND', // Tunisian Dinar\n DZD = 'DZD', // Algerian Dinar\n LYD = 'LYD', // Libyan Dinar\n SDG = 'SDG', // Sudanese Pound\n \n // Sub-Saharan Africa\n NGN = 'NGN', // Nigerian Naira\n KES = 'KES', // Kenyan Shilling\n GHS = 'GHS', // Ghanaian Cedi\n XOF = 'XOF', // West African CFA Franc\n XAF = 'XAF', // Central African CFA Franc\n ETB = 'ETB', // Ethiopian Birr\n UGX = 'UGX', // Ugandan Shilling\n TZS = 'TZS', // Tanzanian Shilling\n RWF = 'RWF', // Rwandan Franc\n MWK = 'MWK', // Malawian Kwacha\n ZMW = 'ZMW', // Zambian Kwacha\n BWP = 'BWP', // Botswana Pula\n NAD = 'NAD', // Namibian Dollar\n SZL = 'SZL', // Swazi Lilangeni\n LSL = 'LSL', // Lesotho Loti\n MZN = 'MZN', // Mozambican Metical\n AOA = 'AOA', // Angolan Kwanza\n MUR = 'MUR', // Mauritian Rupee\n SCR = 'SCR', // Seychelles Rupee\n MGA = 'MGA', // Malagasy Ariary\n SSP = 'SSP', // South Sudanese Pound\n SOS = 'SOS', // Somali Shilling\n DJF = 'DJF', // Djibouti Franc\n KMF = 'KMF', // Comorian Franc\n CVE = 'CVE', // Cabo Verde Escudo\n ERN = 'ERN', // Eritrean Nakfa\n GMD = 'GMD', // Gambian Dalasi\n GNF = 'GNF', // Guinean Franc\n LRD = 'LRD', // Liberian Dollar\n SLE = 'SLE', // Sierra Leonean Leone\n MRU = 'MRU', // Mauritanian Ouguiya\n STN = 'STN', // São Tomé and Príncipe Dobra\n BIF = 'BIF', // Burundi Franc\n CDF = 'CDF', // Congolese Franc\n \n // South America\n ARS = 'ARS', // Argentine Peso\n CLP = 'CLP', // Chilean Peso\n COP = 'COP', // Colombian Peso\n PEN = 'PEN', // Peruvian Sol\n UYU = 'UYU', // Uruguayan Peso\n PYG = 'PYG', // Paraguayan Guarani\n BOB = 'BOB', // Bolivian Boliviano\n VES = 'VES', // Venezuelan Bolívar Soberano\n GYD = 'GYD', // Guyanese Dollar\n SRD = 'SRD', // Surinamese Dollar\n \n // Central America & Caribbean\n CRC = 'CRC', // Costa Rican Colon\n GTQ = 'GTQ', // Guatemalan Quetzal\n HNL = 'HNL', // Honduran Lempira\n NIO = 'NIO', // Nicaraguan Cordoba\n PAB = 'PAB', // Panamanian Balboa\n DOP = 'DOP', // Dominican Peso\n JMD = 'JMD', // Jamaican Dollar\n TTD = 'TTD', // Trinidad and Tobago Dollar\n XCD = 'XCD', // East Caribbean Dollar\n BBD = 'BBD', // Barbados Dollar\n BSD = 'BSD', // Bahamian Dollar\n HTG = 'HTG', // Haitian Gourde\n BZD = 'BZD', // Belize Dollar\n CUP = 'CUP', // Cuban Peso\n AWG = 'AWG', // Aruban Florin\n KYD = 'KYD', // Cayman Islands Dollar\n BMD = 'BMD', // Bermudian Dollar\n \n // Pacific Territories\n XPF = 'XPF', // CFP Franc\n \n // Central Asia\n AFN = 'AFN', // Afghan Afghani\n PKR = 'PKR', // Pakistani Rupee\n BDT = 'BDT', // Bangladeshi Taka\n LKR = 'LKR', // Sri Lankan Rupee\n NPR = 'NPR', // Nepalese Rupee\n MMK = 'MMK', // Myanmar Kyat\n LAK = 'LAK', // Lao Kip\n KHR = 'KHR', // Cambodian Riel\n MNT = 'MNT', // Mongolian Tugrik\n UZS = 'UZS', // Uzbekistani Som\n KZT = 'KZT', // Kazakhstani Tenge\n KGS = 'KGS', // Kyrgyzstani Som\n TJS = 'TJS', // Tajikistani Somoni\n TMT = 'TMT', // Turkmenistani Manat\n GEL = 'GEL', // Georgian Lari\n AMD = 'AMD', // Armenian Dram\n AZN = 'AZN', // Azerbaijani Manat\n \n // Special\n XDR = 'XDR', // Special Drawing Rights (IMF)\n XXX = 'XXX', // No currency\n \n // Cryptocurrencies - Core Majors\n BTC = 'BTC', // Bitcoin\n ETH = 'ETH', // Ethereum\n \n // Cryptocurrencies - Major Stablecoins\n USDT = 'USDT', // Tether\n USDC = 'USDC', // USD Coin\n DAI = 'DAI', // Dai\n PYUSD = 'PYUSD', // PayPal USD\n USDe = 'USDe', // Ethena USDe\n \n // Cryptocurrencies - Large L1/L0 Networks\n BNB = 'BNB', // Binance Coin\n XRP = 'XRP', // Ripple\n SOL = 'SOL', // Solana\n TRX = 'TRX', // TRON\n ADA = 'ADA', // Cardano\n AVAX = 'AVAX', // Avalanche\n SUI = 'SUI', // Sui\n HBAR = 'HBAR', // Hedera\n TON = 'TON', // Toncoin\n DOT = 'DOT', // Polkadot\n XLM = 'XLM', // Stellar\n \n // Cryptocurrencies - Other Big Names\n DOGE = 'DOGE', // Dogecoin\n BCH = 'BCH', // Bitcoin Cash\n LINK = 'LINK', // Chainlink\n LTC = 'LTC', // Litecoin\n XMR = 'XMR', // Monero\n UNI = 'UNI', // Uniswap\n AAVE = 'AAVE', // Aave\n }\n \n/** Canonical Zod schema for AvailableCurrency. Clone via `z_clone()` for independent metadata. */\nexport const AvailableCurrencySchema: z.ZodEnum<typeof AvailableCurrency> =\n z.enum(AvailableCurrency).systemEnum('AvailableCurrency');\n\n/**\n * Currency Schema allowing both common currencies and any valid ISO 4217 code\n */\nexport const CurrencySchema: z.ZodUnion<[z.ZodEnum<typeof AvailableCurrency>, z.ZodString]> = z.union([\n z.enum(AvailableCurrency),\n z.string().length(3).regex(/^[A-Z]{3}$/, { error: 'Invalid currency code format' }) // Any valid ISO 4217 code\n]);\n\nexport type CurrencyType = z.infer<typeof CurrencySchema>; \n\n/**\n * Currency type filter for z_money() `currenciesAllowed` option.\n * Replaces the old showCrypto/majorOnly/fiatOnly boolean flags with a composable enum array.\n */\nexport enum CurrencyAllowed {\n FIAT = 'FIAT',\n FIAT_MAJOR = 'FIAT_MAJOR',\n CRYPTO = 'CRYPTO',\n CRYPTO_MAJOR = 'CRYPTO_MAJOR',\n}\n"]}
1
+ {"version":3,"file":"currencies.shared.schemas.js","sourceRoot":"","sources":["../../../src/currencies.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["\n/**\n * Currencies Shared Schemas\n * \n * Common currency enums for the SaaS platform\n * Based on ISO 4217 standard (2025-05-12)\n */\n\nimport { z } from 'zod';\n\n/**\n * Available Currencies Enum\n * \n * Most commonly used currencies worldwide (ISO 4217 codes)\n */\nexport enum AvailableCurrency {\n // Major Currencies\n USD = 'USD', // US Dollar\n EUR = 'EUR', // Euro\n GBP = 'GBP', // British Pound\n JPY = 'JPY', // Japanese Yen\n CAD = 'CAD', // Canadian Dollar\n AUD = 'AUD', // Australian Dollar\n CHF = 'CHF', // Swiss Franc\n CNY = 'CNY', // Chinese Yuan\n \n // Other Major Currencies\n INR = 'INR', // Indian Rupee\n BRL = 'BRL', // Brazilian Real\n MXN = 'MXN', // Mexican Peso\n KRW = 'KRW', // South Korean Won\n RUB = 'RUB', // Russian Ruble\n ZAR = 'ZAR', // South African Rand\n \n // European Currencies (Non-Euro)\n SEK = 'SEK', // Swedish Krona\n NOK = 'NOK', // Norwegian Krone\n DKK = 'DKK', // Danish Krone\n PLN = 'PLN', // Polish Zloty\n CZK = 'CZK', // Czech Koruna\n HUF = 'HUF', // Hungarian Forint\n RON = 'RON', // Romanian Leu\n BGN = 'BGN', // Bulgarian Lev\n HRK = 'HRK', // Croatian Kuna (historical, replaced by EUR)\n ISK = 'ISK', // Icelandic Krona\n UAH = 'UAH', // Ukrainian Hryvnia\n BYN = 'BYN', // Belarusian Ruble\n RSD = 'RSD', // Serbian Dinar\n BAM = 'BAM', // Bosnia and Herzegovina Convertible Mark\n MDL = 'MDL', // Moldovan Leu\n ALL = 'ALL', // Albanian Lek\n MKD = 'MKD', // Macedonian Denar\n \n // Asia-Pacific\n SGD = 'SGD', // Singapore Dollar\n HKD = 'HKD', // Hong Kong Dollar\n TWD = 'TWD', // New Taiwan Dollar\n THB = 'THB', // Thai Baht\n MYR = 'MYR', // Malaysian Ringgit\n IDR = 'IDR', // Indonesian Rupiah\n PHP = 'PHP', // Philippine Peso\n VND = 'VND', // Vietnamese Dong\n NZD = 'NZD', // New Zealand Dollar\n BND = 'BND', // Brunei Dollar\n FJD = 'FJD', // Fiji Dollar\n PGK = 'PGK', // Papua New Guinean Kina\n WST = 'WST', // Samoan Tala\n SBD = 'SBD', // Solomon Islands Dollar\n VUV = 'VUV', // Vanuatu Vatu\n TOP = 'TOP', // Tongan Pa'anga\n MVR = 'MVR', // Maldivian Rufiyaa\n BTN = 'BTN', // Bhutanese Ngultrum\n MOP = 'MOP', // Macanese Pataca\n \n // Middle East\n AED = 'AED', // UAE Dirham\n SAR = 'SAR', // Saudi Riyal\n QAR = 'QAR', // Qatari Riyal\n KWD = 'KWD', // Kuwaiti Dinar\n BHD = 'BHD', // Bahraini Dinar\n OMR = 'OMR', // Omani Rial\n JOD = 'JOD', // Jordanian Dinar\n ILS = 'ILS', // Israeli Shekel\n TRY = 'TRY', // Turkish Lira\n IQD = 'IQD', // Iraqi Dinar\n IRR = 'IRR', // Iranian Rial\n LBP = 'LBP', // Lebanese Pound\n SYP = 'SYP', // Syrian Pound\n YER = 'YER', // Yemeni Rial\n \n // North Africa\n EGP = 'EGP', // Egyptian Pound\n MAD = 'MAD', // Moroccan Dirham\n TND = 'TND', // Tunisian Dinar\n DZD = 'DZD', // Algerian Dinar\n LYD = 'LYD', // Libyan Dinar\n SDG = 'SDG', // Sudanese Pound\n \n // Sub-Saharan Africa\n NGN = 'NGN', // Nigerian Naira\n KES = 'KES', // Kenyan Shilling\n GHS = 'GHS', // Ghanaian Cedi\n XOF = 'XOF', // West African CFA Franc\n XAF = 'XAF', // Central African CFA Franc\n ETB = 'ETB', // Ethiopian Birr\n UGX = 'UGX', // Ugandan Shilling\n TZS = 'TZS', // Tanzanian Shilling\n RWF = 'RWF', // Rwandan Franc\n MWK = 'MWK', // Malawian Kwacha\n ZMW = 'ZMW', // Zambian Kwacha\n BWP = 'BWP', // Botswana Pula\n NAD = 'NAD', // Namibian Dollar\n SZL = 'SZL', // Swazi Lilangeni\n LSL = 'LSL', // Lesotho Loti\n MZN = 'MZN', // Mozambican Metical\n AOA = 'AOA', // Angolan Kwanza\n MUR = 'MUR', // Mauritian Rupee\n SCR = 'SCR', // Seychelles Rupee\n MGA = 'MGA', // Malagasy Ariary\n SSP = 'SSP', // South Sudanese Pound\n SOS = 'SOS', // Somali Shilling\n DJF = 'DJF', // Djibouti Franc\n KMF = 'KMF', // Comorian Franc\n CVE = 'CVE', // Cabo Verde Escudo\n ERN = 'ERN', // Eritrean Nakfa\n GMD = 'GMD', // Gambian Dalasi\n GNF = 'GNF', // Guinean Franc\n LRD = 'LRD', // Liberian Dollar\n SLE = 'SLE', // Sierra Leonean Leone\n MRU = 'MRU', // Mauritanian Ouguiya\n STN = 'STN', // São Tomé and Príncipe Dobra\n BIF = 'BIF', // Burundi Franc\n CDF = 'CDF', // Congolese Franc\n \n // South America\n ARS = 'ARS', // Argentine Peso\n CLP = 'CLP', // Chilean Peso\n COP = 'COP', // Colombian Peso\n PEN = 'PEN', // Peruvian Sol\n UYU = 'UYU', // Uruguayan Peso\n PYG = 'PYG', // Paraguayan Guarani\n BOB = 'BOB', // Bolivian Boliviano\n VES = 'VES', // Venezuelan Bolívar Soberano\n GYD = 'GYD', // Guyanese Dollar\n SRD = 'SRD', // Surinamese Dollar\n \n // Central America & Caribbean\n CRC = 'CRC', // Costa Rican Colon\n GTQ = 'GTQ', // Guatemalan Quetzal\n HNL = 'HNL', // Honduran Lempira\n NIO = 'NIO', // Nicaraguan Cordoba\n PAB = 'PAB', // Panamanian Balboa\n DOP = 'DOP', // Dominican Peso\n JMD = 'JMD', // Jamaican Dollar\n TTD = 'TTD', // Trinidad and Tobago Dollar\n XCD = 'XCD', // East Caribbean Dollar\n BBD = 'BBD', // Barbados Dollar\n BSD = 'BSD', // Bahamian Dollar\n HTG = 'HTG', // Haitian Gourde\n BZD = 'BZD', // Belize Dollar\n CUP = 'CUP', // Cuban Peso\n AWG = 'AWG', // Aruban Florin\n KYD = 'KYD', // Cayman Islands Dollar\n BMD = 'BMD', // Bermudian Dollar\n \n // Pacific Territories\n XPF = 'XPF', // CFP Franc\n \n // Central Asia\n AFN = 'AFN', // Afghan Afghani\n PKR = 'PKR', // Pakistani Rupee\n BDT = 'BDT', // Bangladeshi Taka\n LKR = 'LKR', // Sri Lankan Rupee\n NPR = 'NPR', // Nepalese Rupee\n MMK = 'MMK', // Myanmar Kyat\n LAK = 'LAK', // Lao Kip\n KHR = 'KHR', // Cambodian Riel\n MNT = 'MNT', // Mongolian Tugrik\n UZS = 'UZS', // Uzbekistani Som\n KZT = 'KZT', // Kazakhstani Tenge\n KGS = 'KGS', // Kyrgyzstani Som\n TJS = 'TJS', // Tajikistani Somoni\n TMT = 'TMT', // Turkmenistani Manat\n GEL = 'GEL', // Georgian Lari\n AMD = 'AMD', // Armenian Dram\n AZN = 'AZN', // Azerbaijani Manat\n \n // Special\n XDR = 'XDR', // Special Drawing Rights (IMF)\n XXX = 'XXX', // No currency\n \n // Cryptocurrencies - Core Majors\n BTC = 'BTC', // Bitcoin\n ETH = 'ETH', // Ethereum\n \n // Cryptocurrencies - Major Stablecoins\n USDT = 'USDT', // Tether\n USDC = 'USDC', // USD Coin\n DAI = 'DAI', // Dai\n PYUSD = 'PYUSD', // PayPal USD\n USDe = 'USDe', // Ethena USDe\n \n // Cryptocurrencies - Large L1/L0 Networks\n BNB = 'BNB', // Binance Coin\n XRP = 'XRP', // Ripple\n SOL = 'SOL', // Solana\n TRX = 'TRX', // TRON\n ADA = 'ADA', // Cardano\n AVAX = 'AVAX', // Avalanche\n SUI = 'SUI', // Sui\n HBAR = 'HBAR', // Hedera\n TON = 'TON', // Toncoin\n DOT = 'DOT', // Polkadot\n XLM = 'XLM', // Stellar\n \n // Cryptocurrencies - Other Big Names\n DOGE = 'DOGE', // Dogecoin\n BCH = 'BCH', // Bitcoin Cash\n LINK = 'LINK', // Chainlink\n LTC = 'LTC', // Litecoin\n XMR = 'XMR', // Monero\n UNI = 'UNI', // Uniswap\n AAVE = 'AAVE', // Aave\n }\n \n/** Canonical Zod schema for AvailableCurrency. Clone via `z_clone()` for independent metadata. */\nexport const AvailableCurrencySchema: z.ZodEnum<typeof AvailableCurrency> =\n z.enum(AvailableCurrency).systemEnum('AvailableCurrency');\n\n/**\n * Currency Schema allowing both common currencies and any valid ISO 4217 code\n */\nexport const CurrencySchema: z.ZodUnion<[z.ZodEnum<typeof AvailableCurrency>, z.ZodString]> = z.union([\n z.enum(AvailableCurrency),\n z.string().length(3).regex(/^[A-Z]{3}$/, { error: 'Invalid currency code format' }) // Any valid ISO 4217 code\n]);\n\nexport type CurrencyType = z.infer<typeof CurrencySchema>; \n\n/**\n * Currencies whose smallest unit is NOT a hundredth — the ISO 4217 exponent exceptions, plus the\n * cryptocurrency conventions.\n *\n * A currency's minor unit is what a payment provider's amount field means: Stripe's `unit_amount` is\n * in cents for USD, in whole yen for JPY, and in thousandths for KWD. Assuming 2 everywhere is not a\n * display bug — it charges and records money at the wrong magnitude, by a factor of 100 or 1000.\n *\n * Only exceptions are listed; every other member of {@link AvailableCurrency} is 2. That is\n * deliberate: an exhaustive 150-row table would have to be re-checked in full whenever a currency is\n * added, while this one is checked against the ISO exponent list, which is short and stable.\n *\n * **The crypto rows are a different kind of claim and are marked as such.** ISO 4217 does not govern\n * them; these are protocol conventions (a bitcoin has 8 decimal places because the protocol says so).\n * They are correct for arithmetic within Wildo — converting a stored amount to a display value — and\n * they are NOT a minor unit any fiat billing provider accepts. A boundary that hands one of these to\n * a provider must refuse rather than convert; see `convertMoneyToCurrencyMinorUnit`.\n */\nconst CURRENCY_MINOR_UNIT_EXCEPTIONS: Partial<Record<AvailableCurrency, number>> = {\n // ── ISO 4217 exponent 0 — no minor unit; the amount IS whole units ──\n [AvailableCurrency.BIF]: 0,\n [AvailableCurrency.CLP]: 0,\n [AvailableCurrency.DJF]: 0,\n [AvailableCurrency.GNF]: 0,\n [AvailableCurrency.ISK]: 0,\n [AvailableCurrency.JPY]: 0,\n [AvailableCurrency.KMF]: 0,\n [AvailableCurrency.KRW]: 0,\n [AvailableCurrency.PYG]: 0,\n [AvailableCurrency.RWF]: 0,\n [AvailableCurrency.UGX]: 0,\n [AvailableCurrency.VND]: 0,\n [AvailableCurrency.VUV]: 0,\n [AvailableCurrency.XAF]: 0,\n [AvailableCurrency.XOF]: 0,\n [AvailableCurrency.XPF]: 0,\n\n // ── ISO 4217 exponent 3 — thousandths (the Gulf and Maghreb dinars) ──\n [AvailableCurrency.BHD]: 3,\n [AvailableCurrency.IQD]: 3,\n [AvailableCurrency.JOD]: 3,\n [AvailableCurrency.KWD]: 3,\n [AvailableCurrency.LYD]: 3,\n [AvailableCurrency.OMR]: 3,\n [AvailableCurrency.TND]: 3,\n\n // ── Cryptocurrency protocol conventions — NOT ISO, NOT a provider minor unit ──\n [AvailableCurrency.BTC]: 8,\n [AvailableCurrency.BCH]: 8,\n [AvailableCurrency.LTC]: 8,\n [AvailableCurrency.ETH]: 18,\n [AvailableCurrency.DAI]: 18,\n [AvailableCurrency.BNB]: 18,\n [AvailableCurrency.UNI]: 18,\n [AvailableCurrency.XMR]: 12,\n [AvailableCurrency.DOT]: 10,\n [AvailableCurrency.SOL]: 9,\n [AvailableCurrency.SUI]: 9,\n [AvailableCurrency.TON]: 9,\n [AvailableCurrency.XLM]: 7,\n [AvailableCurrency.XRP]: 6,\n [AvailableCurrency.TRX]: 6,\n [AvailableCurrency.ADA]: 6,\n};\n\n/**\n * Currencies that have NO minor unit at all, and for which an amount scale is therefore not a\n * question with an answer.\n *\n * `XDR` is the IMF's Special Drawing Right, a basket unit rather than a spendable currency; `XXX` is\n * ISO 4217's explicit \"no currency\". Both are legitimately in the vocabulary — a value can be\n * DENOMINATED in them — and neither can be handed to a payment provider. They resolve to `undefined`\n * rather than to a number, so a boundary refuses instead of inventing a scale.\n */\nconst CURRENCIES_WITHOUT_MINOR_UNIT: ReadonlySet<string> = new Set<string>([\n AvailableCurrency.XDR,\n AvailableCurrency.XXX,\n]);\n\n/**\n * The number of decimal places in a currency's smallest unit — what a payment provider's amount\n * field is denominated in.\n *\n * @returns the exponent, or `undefined` when the currency has no minor unit (`XDR`, `XXX`) or is not\n * a currency this vocabulary knows.\n *\n * **`undefined` rather than a default of 2, and that is the whole point of this function.** Assuming\n * 2 for an unknown code is exactly the defect it exists to remove: it produces a plausible number and\n * charges the wrong amount, silently. A caller that cannot resolve a scale must refuse.\n *\n * `CurrencySchema` admits any three-letter uppercase code, not just the enum, so an application may\n * legitimately hold a currency this function does not know. That is not an error in the application —\n * it is a currency Wildo cannot convert for a provider, and saying so is the honest answer.\n */\nexport function currencyMinorUnitDecimals(currency: string): number | undefined {\n if (CURRENCIES_WITHOUT_MINOR_UNIT.has(currency)) return undefined;\n const exception = CURRENCY_MINOR_UNIT_EXCEPTIONS[currency as AvailableCurrency];\n if (exception !== undefined) return exception;\n // Known currency with no exception: the ISO default.\n return (Object.values(AvailableCurrency) as string[]).includes(currency) ? 2 : undefined;\n}\n\n/**\n * Currency type filter for z_money() `currenciesAllowed` option.\n * Replaces the old showCrypto/majorOnly/fiatOnly boolean flags with a composable enum array.\n */\nexport enum CurrencyAllowed {\n FIAT = 'FIAT',\n FIAT_MAJOR = 'FIAT_MAJOR',\n CRYPTO = 'CRYPTO',\n CRYPTO_MAJOR = 'CRYPTO_MAJOR',\n}\n"]}