zod 3.26.0-canary.20250619T152955 → 3.26.0-canary.20250702T200737
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/{dist/cjs/v3/index.js → index.cjs} +2 -2
- package/index.d.cts +4 -0
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/package.json +63 -80
- package/{dist/cjs/v3/ZodError.js → v3/ZodError.cjs} +4 -3
- package/v3/ZodError.d.cts +164 -0
- package/{dist/esm/v3 → v3}/ZodError.js +3 -2
- package/{dist/cjs/v3/errors.js → v3/errors.cjs} +1 -1
- package/v3/errors.d.cts +5 -0
- package/{dist/cjs/v3/external.js → v3/external.cjs} +6 -6
- package/v3/external.d.cts +6 -0
- package/v3/helpers/enumUtil.d.ts +8 -0
- package/v3/helpers/errorUtil.d.ts +9 -0
- package/{dist/cjs/v3/helpers/parseUtil.js → v3/helpers/parseUtil.cjs} +2 -2
- package/v3/helpers/parseUtil.d.cts +78 -0
- package/v3/helpers/partialUtil.d.cts +8 -0
- package/v3/helpers/typeAliases.d.ts +2 -0
- package/v3/helpers/util.d.ts +85 -0
- package/{dist/cjs/v4/classic/index.js → v3/index.cjs} +2 -2
- package/v3/index.d.cts +4 -0
- package/v3/index.d.ts +3 -2
- package/v3/index.js +4 -1
- package/{dist/cjs/v3/locales/en.js → v3/locales/en.cjs} +2 -2
- package/v3/locales/en.d.cts +3 -0
- package/v3/standard-schema.d.ts +102 -0
- package/{dist/cjs/v3/types.js → v3/types.cjs} +7 -5
- package/v3/types.d.cts +1031 -0
- package/{dist/esm/v3 → v3}/types.js +2 -0
- package/{dist/cjs/v4/classic/checks.js → v4/classic/checks.cjs} +29 -29
- package/v4/classic/checks.d.cts +1 -0
- package/{dist/types/v4 → v4}/classic/checks.d.ts +1 -1
- package/{dist/esm/v4 → v4}/classic/checks.js +1 -1
- package/{dist/cjs/v4/classic/coerce.js → v4/classic/coerce.cjs} +2 -2
- package/v4/classic/coerce.d.cts +17 -0
- package/{dist/types/v4 → v4}/classic/coerce.d.ts +1 -1
- package/{dist/esm/v4 → v4}/classic/coerce.js +1 -1
- package/{dist/cjs/v4/classic/compat.js → v4/classic/compat.cjs} +4 -4
- package/v4/classic/compat.d.cts +48 -0
- package/{dist/types/v4 → v4}/classic/compat.d.ts +3 -3
- package/{dist/esm/v4 → v4}/classic/compat.js +2 -2
- package/{dist/cjs/v4/classic/errors.js → v4/classic/errors.cjs} +3 -3
- package/v4/classic/errors.d.cts +30 -0
- package/{dist/types/v4 → v4}/classic/errors.d.ts +3 -3
- package/{dist/esm/v4 → v4}/classic/errors.js +2 -2
- package/{dist/cjs/v4/classic/external.js → v4/classic/external.cjs} +29 -29
- package/v4/classic/external.d.cts +13 -0
- package/{dist/types/v4 → v4}/classic/external.d.ts +3 -3
- package/{dist/esm/v4 → v4}/classic/external.js +4 -4
- package/v4/classic/index.cjs +33 -0
- package/v4/classic/index.d.cts +4 -0
- package/{dist/cjs/v4/classic/iso.js → v4/classic/iso.cjs} +2 -2
- package/v4/classic/iso.d.cts +22 -0
- package/{dist/types/v4 → v4}/classic/iso.d.ts +1 -1
- package/{dist/esm/v4 → v4}/classic/iso.js +1 -1
- package/{dist/cjs/v4/classic/parse.js → v4/classic/parse.cjs} +2 -2
- package/v4/classic/parse.d.cts +23 -0
- package/{dist/types/v4 → v4}/classic/parse.d.ts +1 -1
- package/{dist/esm/v4 → v4}/classic/parse.js +1 -1
- package/{dist/cjs/v4/classic/schemas.js → v4/classic/schemas.cjs} +38 -38
- package/v4/classic/schemas.d.cts +629 -0
- package/{dist/types/v4 → v4}/classic/schemas.d.ts +2 -2
- package/{dist/esm/v4 → v4}/classic/schemas.js +2 -2
- package/{dist/cjs/v4/core/api.js → v4/core/api.cjs} +3 -3
- package/v4/core/api.d.cts +284 -0
- package/{dist/cjs/v4/core/checks.js → v4/core/checks.cjs} +3 -3
- package/v4/core/checks.d.cts +277 -0
- package/v4/core/core.d.cts +47 -0
- package/v4/core/doc.d.ts +14 -0
- package/{dist/cjs/v4/core/errors.js → v4/core/errors.cjs} +2 -2
- package/v4/core/errors.d.cts +204 -0
- package/{dist/cjs/v4/core/function.js → v4/core/function.cjs} +4 -4
- package/v4/core/function.d.cts +52 -0
- package/{dist/cjs/v4/core/index.js → v4/core/index.cjs} +15 -15
- package/v4/core/index.d.cts +15 -0
- package/v4/core/index.d.ts +15 -1
- package/v4/core/index.js +15 -1
- package/v4/core/json-schema.d.ts +87 -0
- package/{dist/cjs/v4/core/parse.js → v4/core/parse.cjs} +3 -3
- package/v4/core/parse.d.cts +25 -0
- package/v4/core/regexes.d.ts +62 -0
- package/v4/core/registries.d.cts +34 -0
- package/{dist/cjs/v4/core/schemas.js → v4/core/schemas.cjs} +13 -10
- package/v4/core/schemas.d.cts +1015 -0
- package/{dist/esm/v4 → v4}/core/schemas.js +5 -2
- package/v4/core/standard-schema.d.ts +55 -0
- package/{dist/cjs/v4/core/to-json-schema.js → v4/core/to-json-schema.cjs} +2 -2
- package/v4/core/to-json-schema.d.cts +84 -0
- package/{dist/cjs/v4/core/util.js → v4/core/util.cjs} +3 -4
- package/v4/core/util.d.cts +183 -0
- package/{dist/esm/v4 → v4}/core/util.js +3 -4
- package/v4/core/versions.d.ts +5 -0
- package/{dist/cjs/index.js → v4/index.cjs} +2 -2
- package/v4/index.d.cts +3 -0
- package/v4/index.d.ts +3 -3
- package/v4/index.js +3 -1
- package/{dist/cjs/v4/locales/ar.js → v4/locales/ar.cjs} +1 -1
- package/v4/locales/ar.d.cts +4 -0
- package/{dist/cjs/v4/locales/az.js → v4/locales/az.cjs} +1 -1
- package/v4/locales/az.d.cts +4 -0
- package/{dist/cjs/v4/locales/be.js → v4/locales/be.cjs} +1 -1
- package/v4/locales/be.d.cts +4 -0
- package/{dist/cjs/v4/locales/ca.js → v4/locales/ca.cjs} +1 -1
- package/v4/locales/ca.d.cts +4 -0
- package/{dist/cjs/v4/locales/cs.js → v4/locales/cs.cjs} +1 -1
- package/v4/locales/cs.d.cts +4 -0
- package/{dist/cjs/v4/locales/de.js → v4/locales/de.cjs} +1 -1
- package/v4/locales/de.d.cts +4 -0
- package/{dist/cjs/v4/locales/en.js → v4/locales/en.cjs} +1 -1
- package/{dist/types/v4/locales/en.d.ts → v4/locales/en.d.cts} +1 -1
- package/v4/locales/en.d.ts +5 -2
- package/v4/locales/en.js +117 -2
- package/{dist/cjs/v4/locales/es.js → v4/locales/es.cjs} +1 -1
- package/v4/locales/es.d.cts +4 -0
- package/{dist/cjs/v4/locales/fa.js → v4/locales/fa.cjs} +1 -1
- package/v4/locales/fa.d.cts +4 -0
- package/{dist/cjs/v4/locales/fi.js → v4/locales/fi.cjs} +1 -1
- package/v4/locales/fi.d.cts +4 -0
- package/{dist/cjs/v4/locales/fr-CA.js → v4/locales/fr-CA.cjs} +1 -1
- package/v4/locales/fr-CA.d.cts +4 -0
- package/{dist/cjs/v4/locales/fr.js → v4/locales/fr.cjs} +1 -1
- package/v4/locales/fr.d.cts +4 -0
- package/{dist/cjs/v4/locales/he.js → v4/locales/he.cjs} +1 -1
- package/v4/locales/he.d.cts +4 -0
- package/{dist/cjs/v4/locales/hu.js → v4/locales/hu.cjs} +1 -1
- package/v4/locales/hu.d.cts +4 -0
- package/{dist/cjs/v4/locales/id.js → v4/locales/id.cjs} +1 -1
- package/v4/locales/id.d.cts +4 -0
- package/{dist/cjs/v4/locales/index.js → v4/locales/index.cjs} +38 -38
- package/v4/locales/index.d.cts +38 -0
- package/v4/locales/index.d.ts +38 -1
- package/v4/locales/index.js +38 -1
- package/{dist/cjs/v4/locales/it.js → v4/locales/it.cjs} +1 -1
- package/v4/locales/it.d.cts +4 -0
- package/{dist/cjs/v4/locales/ja.js → v4/locales/ja.cjs} +1 -1
- package/v4/locales/ja.d.cts +4 -0
- package/{dist/cjs/v4/locales/kh.js → v4/locales/kh.cjs} +1 -1
- package/v4/locales/kh.d.cts +4 -0
- package/{dist/cjs/v4/locales/ko.js → v4/locales/ko.cjs} +1 -1
- package/v4/locales/ko.d.cts +4 -0
- package/{dist/cjs/v4/locales/mk.js → v4/locales/mk.cjs} +1 -1
- package/v4/locales/mk.d.cts +4 -0
- package/{dist/cjs/v4/locales/ms.js → v4/locales/ms.cjs} +1 -1
- package/v4/locales/ms.d.cts +4 -0
- package/{dist/cjs/v4/locales/nl.js → v4/locales/nl.cjs} +1 -1
- package/v4/locales/nl.d.cts +4 -0
- package/{dist/cjs/v4/locales/no.js → v4/locales/no.cjs} +1 -1
- package/v4/locales/no.d.cts +4 -0
- package/{dist/cjs/v4/locales/ota.js → v4/locales/ota.cjs} +1 -1
- package/v4/locales/ota.d.cts +4 -0
- package/{dist/cjs/v4/locales/pl.js → v4/locales/pl.cjs} +1 -1
- package/v4/locales/pl.d.cts +4 -0
- package/{dist/cjs/v4/locales/ps.js → v4/locales/ps.cjs} +1 -1
- package/v4/locales/ps.d.cts +4 -0
- package/{dist/cjs/v4/locales/pt.js → v4/locales/pt.cjs} +1 -1
- package/v4/locales/pt.d.cts +4 -0
- package/{dist/cjs/v4/locales/ru.js → v4/locales/ru.cjs} +1 -1
- package/v4/locales/ru.d.cts +4 -0
- package/{dist/cjs/v4/locales/sl.js → v4/locales/sl.cjs} +1 -1
- package/v4/locales/sl.d.cts +4 -0
- package/{dist/cjs/v4/locales/sv.js → v4/locales/sv.cjs} +1 -1
- package/v4/locales/sv.d.cts +4 -0
- package/{dist/cjs/v4/locales/ta.js → v4/locales/ta.cjs} +1 -1
- package/v4/locales/ta.d.cts +4 -0
- package/{dist/cjs/v4/locales/th.js → v4/locales/th.cjs} +1 -1
- package/v4/locales/th.d.cts +4 -0
- package/{dist/cjs/v4/locales/tr.js → v4/locales/tr.cjs} +1 -1
- package/v4/locales/tr.d.cts +5 -0
- package/{dist/cjs/v4/locales/ua.js → v4/locales/ua.cjs} +1 -1
- package/v4/locales/ua.d.cts +4 -0
- package/{dist/cjs/v4/locales/ur.js → v4/locales/ur.cjs} +1 -1
- package/v4/locales/ur.d.cts +4 -0
- package/{dist/cjs/v4/locales/vi.js → v4/locales/vi.cjs} +1 -1
- package/v4/locales/vi.d.cts +4 -0
- package/{dist/cjs/v4/locales/zh-CN.js → v4/locales/zh-CN.cjs} +1 -1
- package/v4/locales/zh-CN.d.cts +4 -0
- package/{dist/cjs/v4/locales/zh-TW.js → v4/locales/zh-TW.cjs} +1 -1
- package/v4/locales/zh-TW.d.cts +4 -0
- package/{dist/cjs/v4/mini/checks.js → v4/mini/checks.cjs} +31 -31
- package/v4/mini/checks.d.cts +1 -0
- package/{dist/types/v4 → v4}/mini/checks.d.ts +1 -1
- package/{dist/esm/v4 → v4}/mini/checks.js +1 -1
- package/{dist/cjs/v4/mini/coerce.js → v4/mini/coerce.cjs} +2 -2
- package/v4/mini/coerce.d.cts +7 -0
- package/{dist/types/v4 → v4}/mini/coerce.d.ts +1 -1
- package/{dist/esm/v4 → v4}/mini/coerce.js +1 -1
- package/{dist/cjs/v4/mini/external.js → v4/mini/external.cjs} +24 -24
- package/v4/mini/external.d.cts +11 -0
- package/{dist/types/v4 → v4}/mini/external.d.ts +3 -3
- package/{dist/esm/v4 → v4}/mini/external.js +2 -2
- package/{dist/cjs/v4/mini/index.js → v4/mini/index.cjs} +2 -2
- package/v4/mini/index.d.cts +3 -0
- package/{dist/cjs/v4/mini/iso.js → v4/mini/iso.cjs} +2 -2
- package/v4/mini/iso.d.cts +22 -0
- package/{dist/types/v4 → v4}/mini/iso.d.ts +1 -1
- package/{dist/esm/v4 → v4}/mini/iso.js +1 -1
- package/{dist/cjs/v4/mini/parse.js → v4/mini/parse.cjs} +5 -5
- package/v4/mini/parse.d.cts +1 -0
- package/v4/mini/parse.d.ts +1 -0
- package/v4/mini/parse.js +1 -0
- package/{dist/cjs/v4/mini/schemas.js → v4/mini/schemas.cjs} +30 -30
- package/v4/mini/schemas.d.cts +356 -0
- package/{dist/types/v4 → v4}/mini/schemas.d.ts +2 -2
- package/{dist/esm/v4 → v4}/mini/schemas.js +2 -2
- package/{dist/cjs/v4/index.js → v4-mini/index.cjs} +1 -6
- package/v4-mini/index.d.cts +1 -0
- package/v4-mini/index.d.ts +1 -1
- package/v4-mini/index.js +1 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/v3/benchmarks/datetime.js +0 -54
- package/dist/cjs/v3/benchmarks/discriminatedUnion.js +0 -79
- package/dist/cjs/v3/benchmarks/index.js +0 -59
- package/dist/cjs/v3/benchmarks/ipv4.js +0 -54
- package/dist/cjs/v3/benchmarks/object.js +0 -70
- package/dist/cjs/v3/benchmarks/primitives.js +0 -159
- package/dist/cjs/v3/benchmarks/realworld.js +0 -56
- package/dist/cjs/v3/benchmarks/string.js +0 -55
- package/dist/cjs/v3/benchmarks/union.js +0 -79
- package/dist/cjs/v3/tests/Mocker.js +0 -57
- package/dist/cjs/v4/core/config.js +0 -10
- package/dist/cjs/v4/core/zsf.js +0 -172
- package/dist/esm/index.js +0 -3
- package/dist/esm/package.json +0 -3
- package/dist/esm/v3/benchmarks/datetime.js +0 -49
- package/dist/esm/v3/benchmarks/discriminatedUnion.js +0 -74
- package/dist/esm/v3/benchmarks/index.js +0 -54
- package/dist/esm/v3/benchmarks/ipv4.js +0 -49
- package/dist/esm/v3/benchmarks/object.js +0 -65
- package/dist/esm/v3/benchmarks/primitives.js +0 -154
- package/dist/esm/v3/benchmarks/realworld.js +0 -51
- package/dist/esm/v3/benchmarks/string.js +0 -50
- package/dist/esm/v3/benchmarks/union.js +0 -74
- package/dist/esm/v3/index.js +0 -4
- package/dist/esm/v3/tests/Mocker.js +0 -53
- package/dist/esm/v4/core/config.js +0 -6
- package/dist/esm/v4/core/index.js +0 -15
- package/dist/esm/v4/core/zsf.js +0 -171
- package/dist/esm/v4/index.js +0 -3
- package/dist/esm/v4/locales/en.js +0 -117
- package/dist/esm/v4/locales/index.js +0 -38
- package/dist/esm/v4/mini/parse.js +0 -1
- package/dist/types/index.d.ts +0 -3
- package/dist/types/package.json +0 -3
- package/dist/types/v3/benchmarks/datetime.d.ts +0 -5
- package/dist/types/v3/benchmarks/discriminatedUnion.d.ts +0 -5
- package/dist/types/v3/benchmarks/index.d.ts +0 -1
- package/dist/types/v3/benchmarks/ipv4.d.ts +0 -5
- package/dist/types/v3/benchmarks/object.d.ts +0 -5
- package/dist/types/v3/benchmarks/primitives.d.ts +0 -5
- package/dist/types/v3/benchmarks/realworld.d.ts +0 -5
- package/dist/types/v3/benchmarks/string.d.ts +0 -5
- package/dist/types/v3/benchmarks/union.d.ts +0 -5
- package/dist/types/v3/index.d.ts +0 -4
- package/dist/types/v3/tests/Mocker.d.ts +0 -17
- package/dist/types/v4/core/config.d.ts +0 -9
- package/dist/types/v4/core/index.d.ts +0 -15
- package/dist/types/v4/core/zsf.d.ts +0 -91
- package/dist/types/v4/index.d.ts +0 -3
- package/dist/types/v4/locales/index.d.ts +0 -38
- package/dist/types/v4/mini/parse.d.ts +0 -1
- /package/{dist/types/v3 → v3}/ZodError.d.ts +0 -0
- /package/{dist/types/v3 → v3}/errors.d.ts +0 -0
- /package/{dist/esm/v3 → v3}/errors.js +0 -0
- /package/{dist/types/v3 → v3}/external.d.ts +0 -0
- /package/{dist/esm/v3 → v3}/external.js +0 -0
- /package/{dist/cjs/v3/helpers/enumUtil.js → v3/helpers/enumUtil.cjs} +0 -0
- /package/{dist/types/v3/helpers/enumUtil.d.ts → v3/helpers/enumUtil.d.cts} +0 -0
- /package/{dist/esm/v3 → v3}/helpers/enumUtil.js +0 -0
- /package/{dist/cjs/v3/helpers/errorUtil.js → v3/helpers/errorUtil.cjs} +0 -0
- /package/{dist/types/v3/helpers/errorUtil.d.ts → v3/helpers/errorUtil.d.cts} +0 -0
- /package/{dist/esm/v3 → v3}/helpers/errorUtil.js +0 -0
- /package/{dist/types/v3 → v3}/helpers/parseUtil.d.ts +0 -0
- /package/{dist/esm/v3 → v3}/helpers/parseUtil.js +0 -0
- /package/{dist/cjs/v3/helpers/partialUtil.js → v3/helpers/partialUtil.cjs} +0 -0
- /package/{dist/types/v3 → v3}/helpers/partialUtil.d.ts +0 -0
- /package/{dist/esm/v3 → v3}/helpers/partialUtil.js +0 -0
- /package/{dist/cjs/v3/helpers/typeAliases.js → v3/helpers/typeAliases.cjs} +0 -0
- /package/{dist/types/v3/helpers/typeAliases.d.ts → v3/helpers/typeAliases.d.cts} +0 -0
- /package/{dist/esm/v3 → v3}/helpers/typeAliases.js +0 -0
- /package/{dist/cjs/v3/helpers/util.js → v3/helpers/util.cjs} +0 -0
- /package/{dist/types/v3/helpers/util.d.ts → v3/helpers/util.d.cts} +0 -0
- /package/{dist/esm/v3 → v3}/helpers/util.js +0 -0
- /package/{dist/types/v3 → v3}/locales/en.d.ts +0 -0
- /package/{dist/esm/v3 → v3}/locales/en.js +0 -0
- /package/{dist/cjs/v3/standard-schema.js → v3/standard-schema.cjs} +0 -0
- /package/{dist/types/v3/standard-schema.d.ts → v3/standard-schema.d.cts} +0 -0
- /package/{dist/esm/v3 → v3}/standard-schema.js +0 -0
- /package/{dist/types/v3 → v3}/types.d.ts +0 -0
- /package/{dist/types/v4 → v4}/classic/index.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/classic/index.js +0 -0
- /package/{dist/types/v4 → v4}/core/api.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/api.js +0 -0
- /package/{dist/types/v4 → v4}/core/checks.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/checks.js +0 -0
- /package/{dist/cjs/v4/core/core.js → v4/core/core.cjs} +0 -0
- /package/{dist/types/v4 → v4}/core/core.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/core.js +0 -0
- /package/{dist/cjs/v4/core/doc.js → v4/core/doc.cjs} +0 -0
- /package/{dist/types/v4/core/doc.d.ts → v4/core/doc.d.cts} +0 -0
- /package/{dist/esm/v4 → v4}/core/doc.js +0 -0
- /package/{dist/types/v4 → v4}/core/errors.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/errors.js +0 -0
- /package/{dist/types/v4 → v4}/core/function.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/function.js +0 -0
- /package/{dist/cjs/v4/core/json-schema.js → v4/core/json-schema.cjs} +0 -0
- /package/{dist/types/v4/core/json-schema.d.ts → v4/core/json-schema.d.cts} +0 -0
- /package/{dist/esm/v4 → v4}/core/json-schema.js +0 -0
- /package/{dist/types/v4 → v4}/core/parse.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/parse.js +0 -0
- /package/{dist/cjs/v4/core/regexes.js → v4/core/regexes.cjs} +0 -0
- /package/{dist/types/v4/core/regexes.d.ts → v4/core/regexes.d.cts} +0 -0
- /package/{dist/esm/v4 → v4}/core/regexes.js +0 -0
- /package/{dist/cjs/v4/core/registries.js → v4/core/registries.cjs} +0 -0
- /package/{dist/types/v4 → v4}/core/registries.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/registries.js +0 -0
- /package/{dist/types/v4 → v4}/core/schemas.d.ts +0 -0
- /package/{dist/cjs/v4/core/standard-schema.js → v4/core/standard-schema.cjs} +0 -0
- /package/{dist/types/v4/core/standard-schema.d.ts → v4/core/standard-schema.d.cts} +0 -0
- /package/{dist/esm/v4 → v4}/core/standard-schema.js +0 -0
- /package/{dist/types/v4 → v4}/core/to-json-schema.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/core/to-json-schema.js +0 -0
- /package/{dist/types/v4 → v4}/core/util.d.ts +0 -0
- /package/{dist/cjs/v4/core/versions.js → v4/core/versions.cjs} +0 -0
- /package/{dist/types/v4/core/versions.d.ts → v4/core/versions.d.cts} +0 -0
- /package/{dist/esm/v4 → v4}/core/versions.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ar.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ar.js +0 -0
- /package/{dist/types/v4 → v4}/locales/az.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/az.js +0 -0
- /package/{dist/types/v4 → v4}/locales/be.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/be.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ca.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ca.js +0 -0
- /package/{dist/types/v4 → v4}/locales/cs.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/cs.js +0 -0
- /package/{dist/types/v4 → v4}/locales/de.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/de.js +0 -0
- /package/{dist/types/v4 → v4}/locales/es.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/es.js +0 -0
- /package/{dist/types/v4 → v4}/locales/fa.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/fa.js +0 -0
- /package/{dist/types/v4 → v4}/locales/fi.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/fi.js +0 -0
- /package/{dist/types/v4 → v4}/locales/fr-CA.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/fr-CA.js +0 -0
- /package/{dist/types/v4 → v4}/locales/fr.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/fr.js +0 -0
- /package/{dist/types/v4 → v4}/locales/he.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/he.js +0 -0
- /package/{dist/types/v4 → v4}/locales/hu.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/hu.js +0 -0
- /package/{dist/types/v4 → v4}/locales/id.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/id.js +0 -0
- /package/{dist/types/v4 → v4}/locales/it.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/it.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ja.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ja.js +0 -0
- /package/{dist/types/v4 → v4}/locales/kh.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/kh.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ko.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ko.js +0 -0
- /package/{dist/types/v4 → v4}/locales/mk.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/mk.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ms.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ms.js +0 -0
- /package/{dist/types/v4 → v4}/locales/nl.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/nl.js +0 -0
- /package/{dist/types/v4 → v4}/locales/no.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/no.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ota.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ota.js +0 -0
- /package/{dist/types/v4 → v4}/locales/pl.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/pl.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ps.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ps.js +0 -0
- /package/{dist/types/v4 → v4}/locales/pt.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/pt.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ru.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ru.js +0 -0
- /package/{dist/types/v4 → v4}/locales/sl.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/sl.js +0 -0
- /package/{dist/types/v4 → v4}/locales/sv.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/sv.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ta.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ta.js +0 -0
- /package/{dist/types/v4 → v4}/locales/th.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/th.js +0 -0
- /package/{dist/types/v4 → v4}/locales/tr.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/tr.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ua.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ua.js +0 -0
- /package/{dist/types/v4 → v4}/locales/ur.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/ur.js +0 -0
- /package/{dist/types/v4 → v4}/locales/vi.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/vi.js +0 -0
- /package/{dist/types/v4 → v4}/locales/zh-CN.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/zh-CN.js +0 -0
- /package/{dist/types/v4 → v4}/locales/zh-TW.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/locales/zh-TW.js +0 -0
- /package/{dist/types/v4 → v4}/mini/index.d.ts +0 -0
- /package/{dist/esm/v4 → v4}/mini/index.js +0 -0
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const datetimeValidationSuite = new benchmark_1.default.Suite("datetime");
|
|
8
|
-
const DATA = "2021-01-01";
|
|
9
|
-
const MONTHS_31 = new Set([1, 3, 5, 7, 8, 10, 12]);
|
|
10
|
-
const MONTHS_30 = new Set([4, 6, 9, 11]);
|
|
11
|
-
const simpleDatetimeRegex = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
12
|
-
const datetimeRegexNoLeapYearValidation = /^\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\d|2\d))$/;
|
|
13
|
-
const datetimeRegexWithLeapYearValidation = /^((\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\d|3[01])|(0[469]|11)-(0[1-9]|[12]\d|30)|(02)-(0[1-9]|1\d|2[0-8])))$/;
|
|
14
|
-
datetimeValidationSuite
|
|
15
|
-
.add("new Date()", () => {
|
|
16
|
-
return !Number.isNaN(new Date(DATA).getTime());
|
|
17
|
-
})
|
|
18
|
-
.add("regex (no validation)", () => {
|
|
19
|
-
return simpleDatetimeRegex.test(DATA);
|
|
20
|
-
})
|
|
21
|
-
.add("regex (no leap year)", () => {
|
|
22
|
-
return datetimeRegexNoLeapYearValidation.test(DATA);
|
|
23
|
-
})
|
|
24
|
-
.add("regex (w/ leap year)", () => {
|
|
25
|
-
return datetimeRegexWithLeapYearValidation.test(DATA);
|
|
26
|
-
})
|
|
27
|
-
.add("capture groups + code", () => {
|
|
28
|
-
const match = DATA.match(simpleDatetimeRegex);
|
|
29
|
-
if (!match)
|
|
30
|
-
return false;
|
|
31
|
-
// Extract year, month, and day from the capture groups
|
|
32
|
-
const year = Number.parseInt(match[1], 10);
|
|
33
|
-
const month = Number.parseInt(match[2], 10); // month is 0-indexed in JavaScript Date, so subtract 1
|
|
34
|
-
const day = Number.parseInt(match[3], 10);
|
|
35
|
-
if (month === 2) {
|
|
36
|
-
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
|
|
37
|
-
return day <= 29;
|
|
38
|
-
}
|
|
39
|
-
return day <= 28;
|
|
40
|
-
}
|
|
41
|
-
if (MONTHS_30.has(month)) {
|
|
42
|
-
return day <= 30;
|
|
43
|
-
}
|
|
44
|
-
if (MONTHS_31.has(month)) {
|
|
45
|
-
return day <= 31;
|
|
46
|
-
}
|
|
47
|
-
return false;
|
|
48
|
-
})
|
|
49
|
-
.on("cycle", (e) => {
|
|
50
|
-
console.log(`${datetimeValidationSuite.name}: ${e.target}`);
|
|
51
|
-
});
|
|
52
|
-
exports.default = {
|
|
53
|
-
suites: [datetimeValidationSuite],
|
|
54
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const v3_1 = require("zod/v3");
|
|
8
|
-
const doubleSuite = new benchmark_1.default.Suite("z.discriminatedUnion: double");
|
|
9
|
-
const manySuite = new benchmark_1.default.Suite("z.discriminatedUnion: many");
|
|
10
|
-
const aSchema = v3_1.z.object({
|
|
11
|
-
type: v3_1.z.literal("a"),
|
|
12
|
-
});
|
|
13
|
-
const objA = {
|
|
14
|
-
type: "a",
|
|
15
|
-
};
|
|
16
|
-
const bSchema = v3_1.z.object({
|
|
17
|
-
type: v3_1.z.literal("b"),
|
|
18
|
-
});
|
|
19
|
-
const objB = {
|
|
20
|
-
type: "b",
|
|
21
|
-
};
|
|
22
|
-
const cSchema = v3_1.z.object({
|
|
23
|
-
type: v3_1.z.literal("c"),
|
|
24
|
-
});
|
|
25
|
-
const objC = {
|
|
26
|
-
type: "c",
|
|
27
|
-
};
|
|
28
|
-
const dSchema = v3_1.z.object({
|
|
29
|
-
type: v3_1.z.literal("d"),
|
|
30
|
-
});
|
|
31
|
-
const double = v3_1.z.discriminatedUnion("type", [aSchema, bSchema]);
|
|
32
|
-
const many = v3_1.z.discriminatedUnion("type", [aSchema, bSchema, cSchema, dSchema]);
|
|
33
|
-
doubleSuite
|
|
34
|
-
.add("valid: a", () => {
|
|
35
|
-
double.parse(objA);
|
|
36
|
-
})
|
|
37
|
-
.add("valid: b", () => {
|
|
38
|
-
double.parse(objB);
|
|
39
|
-
})
|
|
40
|
-
.add("invalid: null", () => {
|
|
41
|
-
try {
|
|
42
|
-
double.parse(null);
|
|
43
|
-
}
|
|
44
|
-
catch (_err) { }
|
|
45
|
-
})
|
|
46
|
-
.add("invalid: wrong shape", () => {
|
|
47
|
-
try {
|
|
48
|
-
double.parse(objC);
|
|
49
|
-
}
|
|
50
|
-
catch (_err) { }
|
|
51
|
-
})
|
|
52
|
-
.on("cycle", (e) => {
|
|
53
|
-
console.log(`${doubleSuite.name}: ${e.target}`);
|
|
54
|
-
});
|
|
55
|
-
manySuite
|
|
56
|
-
.add("valid: a", () => {
|
|
57
|
-
many.parse(objA);
|
|
58
|
-
})
|
|
59
|
-
.add("valid: c", () => {
|
|
60
|
-
many.parse(objC);
|
|
61
|
-
})
|
|
62
|
-
.add("invalid: null", () => {
|
|
63
|
-
try {
|
|
64
|
-
many.parse(null);
|
|
65
|
-
}
|
|
66
|
-
catch (_err) { }
|
|
67
|
-
})
|
|
68
|
-
.add("invalid: wrong shape", () => {
|
|
69
|
-
try {
|
|
70
|
-
many.parse({ type: "unknown" });
|
|
71
|
-
}
|
|
72
|
-
catch (_err) { }
|
|
73
|
-
})
|
|
74
|
-
.on("cycle", (e) => {
|
|
75
|
-
console.log(`${manySuite.name}: ${e.target}`);
|
|
76
|
-
});
|
|
77
|
-
exports.default = {
|
|
78
|
-
suites: [doubleSuite, manySuite],
|
|
79
|
-
};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const datetime_js_1 = __importDefault(require("./datetime.js"));
|
|
7
|
-
const discriminatedUnion_js_1 = __importDefault(require("./discriminatedUnion.js"));
|
|
8
|
-
const ipv4_js_1 = __importDefault(require("./ipv4.js"));
|
|
9
|
-
const object_js_1 = __importDefault(require("./object.js"));
|
|
10
|
-
const primitives_js_1 = __importDefault(require("./primitives.js"));
|
|
11
|
-
const realworld_js_1 = __importDefault(require("./realworld.js"));
|
|
12
|
-
const string_js_1 = __importDefault(require("./string.js"));
|
|
13
|
-
const union_js_1 = __importDefault(require("./union.js"));
|
|
14
|
-
const argv = process.argv.slice(2);
|
|
15
|
-
let suites = [];
|
|
16
|
-
if (!argv.length) {
|
|
17
|
-
suites = [
|
|
18
|
-
...realworld_js_1.default.suites,
|
|
19
|
-
...primitives_js_1.default.suites,
|
|
20
|
-
...string_js_1.default.suites,
|
|
21
|
-
...object_js_1.default.suites,
|
|
22
|
-
...union_js_1.default.suites,
|
|
23
|
-
...discriminatedUnion_js_1.default.suites,
|
|
24
|
-
];
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
if (argv.includes("--realworld")) {
|
|
28
|
-
suites.push(...realworld_js_1.default.suites);
|
|
29
|
-
}
|
|
30
|
-
if (argv.includes("--primitives")) {
|
|
31
|
-
suites.push(...primitives_js_1.default.suites);
|
|
32
|
-
}
|
|
33
|
-
if (argv.includes("--string")) {
|
|
34
|
-
suites.push(...string_js_1.default.suites);
|
|
35
|
-
}
|
|
36
|
-
if (argv.includes("--object")) {
|
|
37
|
-
suites.push(...object_js_1.default.suites);
|
|
38
|
-
}
|
|
39
|
-
if (argv.includes("--union")) {
|
|
40
|
-
suites.push(...union_js_1.default.suites);
|
|
41
|
-
}
|
|
42
|
-
if (argv.includes("--discriminatedUnion")) {
|
|
43
|
-
suites.push(...datetime_js_1.default.suites);
|
|
44
|
-
}
|
|
45
|
-
if (argv.includes("--datetime")) {
|
|
46
|
-
suites.push(...datetime_js_1.default.suites);
|
|
47
|
-
}
|
|
48
|
-
if (argv.includes("--ipv4")) {
|
|
49
|
-
suites.push(...ipv4_js_1.default.suites);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
for (const suite of suites) {
|
|
53
|
-
suite.run({});
|
|
54
|
-
}
|
|
55
|
-
// exit on Ctrl-C
|
|
56
|
-
process.on("SIGINT", function () {
|
|
57
|
-
console.log("Exiting...");
|
|
58
|
-
process.exit();
|
|
59
|
-
});
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const suite = new benchmark_1.default.Suite("ipv4");
|
|
8
|
-
const DATA = "127.0.0.1";
|
|
9
|
-
const ipv4RegexA = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;
|
|
10
|
-
const ipv4RegexB = /^(?:(?:(?=(25[0-5]))\1|(?=(2[0-4][0-9]))\2|(?=(1[0-9]{2}))\3|(?=([0-9]{1,2}))\4)\.){3}(?:(?=(25[0-5]))\5|(?=(2[0-4][0-9]))\6|(?=(1[0-9]{2}))\7|(?=([0-9]{1,2}))\8)$/;
|
|
11
|
-
const ipv4RegexC = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
|
|
12
|
-
const ipv4RegexD = /^(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/;
|
|
13
|
-
const ipv4RegexE = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.){3}(25[0-5]|(2[0-4]|1\d|[1-9]|)\d)$/;
|
|
14
|
-
const ipv4RegexF = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/;
|
|
15
|
-
const ipv4RegexG = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/;
|
|
16
|
-
const ipv4RegexH = /^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$/;
|
|
17
|
-
const ipv4RegexI = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
|
|
18
|
-
suite
|
|
19
|
-
.add("A", () => {
|
|
20
|
-
return ipv4RegexA.test(DATA);
|
|
21
|
-
})
|
|
22
|
-
.add("B", () => {
|
|
23
|
-
return ipv4RegexB.test(DATA);
|
|
24
|
-
})
|
|
25
|
-
.add("C", () => {
|
|
26
|
-
return ipv4RegexC.test(DATA);
|
|
27
|
-
})
|
|
28
|
-
.add("D", () => {
|
|
29
|
-
return ipv4RegexD.test(DATA);
|
|
30
|
-
})
|
|
31
|
-
.add("E", () => {
|
|
32
|
-
return ipv4RegexE.test(DATA);
|
|
33
|
-
})
|
|
34
|
-
.add("F", () => {
|
|
35
|
-
return ipv4RegexF.test(DATA);
|
|
36
|
-
})
|
|
37
|
-
.add("G", () => {
|
|
38
|
-
return ipv4RegexG.test(DATA);
|
|
39
|
-
})
|
|
40
|
-
.add("H", () => {
|
|
41
|
-
return ipv4RegexH.test(DATA);
|
|
42
|
-
})
|
|
43
|
-
.add("I", () => {
|
|
44
|
-
return ipv4RegexI.test(DATA);
|
|
45
|
-
})
|
|
46
|
-
.on("cycle", (e) => {
|
|
47
|
-
console.log(`${suite.name}: ${e.target}`);
|
|
48
|
-
});
|
|
49
|
-
exports.default = {
|
|
50
|
-
suites: [suite],
|
|
51
|
-
};
|
|
52
|
-
if (require.main === module) {
|
|
53
|
-
suite.run();
|
|
54
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const v3_1 = require("zod/v3");
|
|
8
|
-
const emptySuite = new benchmark_1.default.Suite("z.object: empty");
|
|
9
|
-
const shortSuite = new benchmark_1.default.Suite("z.object: short");
|
|
10
|
-
const longSuite = new benchmark_1.default.Suite("z.object: long");
|
|
11
|
-
const empty = v3_1.z.object({});
|
|
12
|
-
const short = v3_1.z.object({
|
|
13
|
-
string: v3_1.z.string(),
|
|
14
|
-
});
|
|
15
|
-
const long = v3_1.z.object({
|
|
16
|
-
string: v3_1.z.string(),
|
|
17
|
-
number: v3_1.z.number(),
|
|
18
|
-
boolean: v3_1.z.boolean(),
|
|
19
|
-
});
|
|
20
|
-
emptySuite
|
|
21
|
-
.add("valid", () => {
|
|
22
|
-
empty.parse({});
|
|
23
|
-
})
|
|
24
|
-
.add("valid: extra keys", () => {
|
|
25
|
-
empty.parse({ string: "string" });
|
|
26
|
-
})
|
|
27
|
-
.add("invalid: null", () => {
|
|
28
|
-
try {
|
|
29
|
-
empty.parse(null);
|
|
30
|
-
}
|
|
31
|
-
catch (_err) { }
|
|
32
|
-
})
|
|
33
|
-
.on("cycle", (e) => {
|
|
34
|
-
console.log(`${emptySuite.name}: ${e.target}`);
|
|
35
|
-
});
|
|
36
|
-
shortSuite
|
|
37
|
-
.add("valid", () => {
|
|
38
|
-
short.parse({ string: "string" });
|
|
39
|
-
})
|
|
40
|
-
.add("valid: extra keys", () => {
|
|
41
|
-
short.parse({ string: "string", number: 42 });
|
|
42
|
-
})
|
|
43
|
-
.add("invalid: null", () => {
|
|
44
|
-
try {
|
|
45
|
-
short.parse(null);
|
|
46
|
-
}
|
|
47
|
-
catch (_err) { }
|
|
48
|
-
})
|
|
49
|
-
.on("cycle", (e) => {
|
|
50
|
-
console.log(`${shortSuite.name}: ${e.target}`);
|
|
51
|
-
});
|
|
52
|
-
longSuite
|
|
53
|
-
.add("valid", () => {
|
|
54
|
-
long.parse({ string: "string", number: 42, boolean: true });
|
|
55
|
-
})
|
|
56
|
-
.add("valid: extra keys", () => {
|
|
57
|
-
long.parse({ string: "string", number: 42, boolean: true, list: [] });
|
|
58
|
-
})
|
|
59
|
-
.add("invalid: null", () => {
|
|
60
|
-
try {
|
|
61
|
-
long.parse(null);
|
|
62
|
-
}
|
|
63
|
-
catch (_err) { }
|
|
64
|
-
})
|
|
65
|
-
.on("cycle", (e) => {
|
|
66
|
-
console.log(`${longSuite.name}: ${e.target}`);
|
|
67
|
-
});
|
|
68
|
-
exports.default = {
|
|
69
|
-
suites: [emptySuite, shortSuite, longSuite],
|
|
70
|
-
};
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const v3_1 = require("zod/v3");
|
|
8
|
-
const Mocker_js_1 = require("../tests/Mocker.js");
|
|
9
|
-
const val = new Mocker_js_1.Mocker();
|
|
10
|
-
const enumSuite = new benchmark_1.default.Suite("z.enum");
|
|
11
|
-
const enumSchema = v3_1.z.enum(["a", "b", "c"]);
|
|
12
|
-
enumSuite
|
|
13
|
-
.add("valid", () => {
|
|
14
|
-
enumSchema.parse("a");
|
|
15
|
-
})
|
|
16
|
-
.add("invalid", () => {
|
|
17
|
-
try {
|
|
18
|
-
enumSchema.parse("x");
|
|
19
|
-
}
|
|
20
|
-
catch (_e) { }
|
|
21
|
-
})
|
|
22
|
-
.on("cycle", (e) => {
|
|
23
|
-
console.log(`z.enum: ${e.target}`);
|
|
24
|
-
});
|
|
25
|
-
const longEnumSuite = new benchmark_1.default.Suite("long z.enum");
|
|
26
|
-
const longEnumSchema = v3_1.z.enum([
|
|
27
|
-
"one",
|
|
28
|
-
"two",
|
|
29
|
-
"three",
|
|
30
|
-
"four",
|
|
31
|
-
"five",
|
|
32
|
-
"six",
|
|
33
|
-
"seven",
|
|
34
|
-
"eight",
|
|
35
|
-
"nine",
|
|
36
|
-
"ten",
|
|
37
|
-
"eleven",
|
|
38
|
-
"twelve",
|
|
39
|
-
"thirteen",
|
|
40
|
-
"fourteen",
|
|
41
|
-
"fifteen",
|
|
42
|
-
"sixteen",
|
|
43
|
-
"seventeen",
|
|
44
|
-
]);
|
|
45
|
-
longEnumSuite
|
|
46
|
-
.add("valid", () => {
|
|
47
|
-
longEnumSchema.parse("five");
|
|
48
|
-
})
|
|
49
|
-
.add("invalid", () => {
|
|
50
|
-
try {
|
|
51
|
-
longEnumSchema.parse("invalid");
|
|
52
|
-
}
|
|
53
|
-
catch (_e) { }
|
|
54
|
-
})
|
|
55
|
-
.on("cycle", (e) => {
|
|
56
|
-
console.log(`long z.enum: ${e.target}`);
|
|
57
|
-
});
|
|
58
|
-
const undefinedSuite = new benchmark_1.default.Suite("z.undefined");
|
|
59
|
-
const undefinedSchema = v3_1.z.undefined();
|
|
60
|
-
undefinedSuite
|
|
61
|
-
.add("valid", () => {
|
|
62
|
-
undefinedSchema.parse(undefined);
|
|
63
|
-
})
|
|
64
|
-
.add("invalid", () => {
|
|
65
|
-
try {
|
|
66
|
-
undefinedSchema.parse(1);
|
|
67
|
-
}
|
|
68
|
-
catch (_e) { }
|
|
69
|
-
})
|
|
70
|
-
.on("cycle", (e) => {
|
|
71
|
-
console.log(`z.undefined: ${e.target}`);
|
|
72
|
-
});
|
|
73
|
-
const literalSuite = new benchmark_1.default.Suite("z.literal");
|
|
74
|
-
const short = "short";
|
|
75
|
-
const bad = "bad";
|
|
76
|
-
const literalSchema = v3_1.z.literal("short");
|
|
77
|
-
literalSuite
|
|
78
|
-
.add("valid", () => {
|
|
79
|
-
literalSchema.parse(short);
|
|
80
|
-
})
|
|
81
|
-
.add("invalid", () => {
|
|
82
|
-
try {
|
|
83
|
-
literalSchema.parse(bad);
|
|
84
|
-
}
|
|
85
|
-
catch (_e) { }
|
|
86
|
-
})
|
|
87
|
-
.on("cycle", (e) => {
|
|
88
|
-
console.log(`z.literal: ${e.target}`);
|
|
89
|
-
});
|
|
90
|
-
const numberSuite = new benchmark_1.default.Suite("z.number");
|
|
91
|
-
const numberSchema = v3_1.z.number().int();
|
|
92
|
-
numberSuite
|
|
93
|
-
.add("valid", () => {
|
|
94
|
-
numberSchema.parse(1);
|
|
95
|
-
})
|
|
96
|
-
.add("invalid type", () => {
|
|
97
|
-
try {
|
|
98
|
-
numberSchema.parse("bad");
|
|
99
|
-
}
|
|
100
|
-
catch (_e) { }
|
|
101
|
-
})
|
|
102
|
-
.add("invalid number", () => {
|
|
103
|
-
try {
|
|
104
|
-
numberSchema.parse(0.5);
|
|
105
|
-
}
|
|
106
|
-
catch (_e) { }
|
|
107
|
-
})
|
|
108
|
-
.on("cycle", (e) => {
|
|
109
|
-
console.log(`z.number: ${e.target}`);
|
|
110
|
-
});
|
|
111
|
-
const dateSuite = new benchmark_1.default.Suite("z.date");
|
|
112
|
-
const plainDate = v3_1.z.date();
|
|
113
|
-
const minMaxDate = v3_1.z.date().min(new Date("2021-01-01")).max(new Date("2030-01-01"));
|
|
114
|
-
dateSuite
|
|
115
|
-
.add("valid", () => {
|
|
116
|
-
plainDate.parse(new Date());
|
|
117
|
-
})
|
|
118
|
-
.add("invalid", () => {
|
|
119
|
-
try {
|
|
120
|
-
plainDate.parse(1);
|
|
121
|
-
}
|
|
122
|
-
catch (_e) { }
|
|
123
|
-
})
|
|
124
|
-
.add("valid min and max", () => {
|
|
125
|
-
minMaxDate.parse(new Date("2023-01-01"));
|
|
126
|
-
})
|
|
127
|
-
.add("invalid min", () => {
|
|
128
|
-
try {
|
|
129
|
-
minMaxDate.parse(new Date("2019-01-01"));
|
|
130
|
-
}
|
|
131
|
-
catch (_e) { }
|
|
132
|
-
})
|
|
133
|
-
.add("invalid max", () => {
|
|
134
|
-
try {
|
|
135
|
-
minMaxDate.parse(new Date("2031-01-01"));
|
|
136
|
-
}
|
|
137
|
-
catch (_e) { }
|
|
138
|
-
})
|
|
139
|
-
.on("cycle", (e) => {
|
|
140
|
-
console.log(`z.date: ${e.target}`);
|
|
141
|
-
});
|
|
142
|
-
const symbolSuite = new benchmark_1.default.Suite("z.symbol");
|
|
143
|
-
const symbolSchema = v3_1.z.symbol();
|
|
144
|
-
symbolSuite
|
|
145
|
-
.add("valid", () => {
|
|
146
|
-
symbolSchema.parse(val.symbol);
|
|
147
|
-
})
|
|
148
|
-
.add("invalid", () => {
|
|
149
|
-
try {
|
|
150
|
-
symbolSchema.parse(1);
|
|
151
|
-
}
|
|
152
|
-
catch (_e) { }
|
|
153
|
-
})
|
|
154
|
-
.on("cycle", (e) => {
|
|
155
|
-
console.log(`z.symbol: ${e.target}`);
|
|
156
|
-
});
|
|
157
|
-
exports.default = {
|
|
158
|
-
suites: [enumSuite, longEnumSuite, undefinedSuite, literalSuite, numberSuite, dateSuite, symbolSuite],
|
|
159
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const v3_1 = require("zod/v3");
|
|
8
|
-
const shortSuite = new benchmark_1.default.Suite("realworld");
|
|
9
|
-
const People = v3_1.z.array(v3_1.z.object({
|
|
10
|
-
type: v3_1.z.literal("person"),
|
|
11
|
-
hair: v3_1.z.enum(["blue", "brown"]),
|
|
12
|
-
active: v3_1.z.boolean(),
|
|
13
|
-
name: v3_1.z.string(),
|
|
14
|
-
age: v3_1.z.number().int(),
|
|
15
|
-
hobbies: v3_1.z.array(v3_1.z.string()),
|
|
16
|
-
address: v3_1.z.object({
|
|
17
|
-
street: v3_1.z.string(),
|
|
18
|
-
zip: v3_1.z.string(),
|
|
19
|
-
country: v3_1.z.string(),
|
|
20
|
-
}),
|
|
21
|
-
}));
|
|
22
|
-
let i = 0;
|
|
23
|
-
function num() {
|
|
24
|
-
return ++i;
|
|
25
|
-
}
|
|
26
|
-
function str() {
|
|
27
|
-
return (++i % 100).toString(16);
|
|
28
|
-
}
|
|
29
|
-
function array(fn) {
|
|
30
|
-
return Array.from({ length: ++i % 10 }, () => fn());
|
|
31
|
-
}
|
|
32
|
-
const people = Array.from({ length: 100 }, () => {
|
|
33
|
-
return {
|
|
34
|
-
type: "person",
|
|
35
|
-
hair: i % 2 ? "blue" : "brown",
|
|
36
|
-
active: !!(i % 2),
|
|
37
|
-
name: str(),
|
|
38
|
-
age: num(),
|
|
39
|
-
hobbies: array(str),
|
|
40
|
-
address: {
|
|
41
|
-
street: str(),
|
|
42
|
-
zip: str(),
|
|
43
|
-
country: str(),
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
shortSuite
|
|
48
|
-
.add("valid", () => {
|
|
49
|
-
People.parse(people);
|
|
50
|
-
})
|
|
51
|
-
.on("cycle", (e) => {
|
|
52
|
-
console.log(`${shortSuite.name}: ${e.target}`);
|
|
53
|
-
});
|
|
54
|
-
exports.default = {
|
|
55
|
-
suites: [shortSuite],
|
|
56
|
-
};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const v3_1 = require("zod/v3");
|
|
8
|
-
const SUITE_NAME = "z.string";
|
|
9
|
-
const suite = new benchmark_1.default.Suite(SUITE_NAME);
|
|
10
|
-
const empty = "";
|
|
11
|
-
const short = "short";
|
|
12
|
-
const long = "long".repeat(256);
|
|
13
|
-
const manual = (str) => {
|
|
14
|
-
if (typeof str !== "string") {
|
|
15
|
-
throw new Error("Not a string");
|
|
16
|
-
}
|
|
17
|
-
return str;
|
|
18
|
-
};
|
|
19
|
-
const stringSchema = v3_1.z.string();
|
|
20
|
-
const optionalStringSchema = v3_1.z.string().optional();
|
|
21
|
-
const optionalNullableStringSchema = v3_1.z.string().optional().nullable();
|
|
22
|
-
suite
|
|
23
|
-
.add("empty string", () => {
|
|
24
|
-
stringSchema.parse(empty);
|
|
25
|
-
})
|
|
26
|
-
.add("short string", () => {
|
|
27
|
-
stringSchema.parse(short);
|
|
28
|
-
})
|
|
29
|
-
.add("long string", () => {
|
|
30
|
-
stringSchema.parse(long);
|
|
31
|
-
})
|
|
32
|
-
.add("optional string", () => {
|
|
33
|
-
optionalStringSchema.parse(long);
|
|
34
|
-
})
|
|
35
|
-
.add("nullable string", () => {
|
|
36
|
-
optionalNullableStringSchema.parse(long);
|
|
37
|
-
})
|
|
38
|
-
.add("nullable (null) string", () => {
|
|
39
|
-
optionalNullableStringSchema.parse(null);
|
|
40
|
-
})
|
|
41
|
-
.add("invalid: null", () => {
|
|
42
|
-
try {
|
|
43
|
-
stringSchema.parse(null);
|
|
44
|
-
}
|
|
45
|
-
catch (_err) { }
|
|
46
|
-
})
|
|
47
|
-
.add("manual parser: long", () => {
|
|
48
|
-
manual(long);
|
|
49
|
-
})
|
|
50
|
-
.on("cycle", (e) => {
|
|
51
|
-
console.log(`${SUITE_NAME}: ${e.target}`);
|
|
52
|
-
});
|
|
53
|
-
exports.default = {
|
|
54
|
-
suites: [suite],
|
|
55
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const benchmark_1 = __importDefault(require("benchmark"));
|
|
7
|
-
const v3_1 = require("zod/v3");
|
|
8
|
-
const doubleSuite = new benchmark_1.default.Suite("z.union: double");
|
|
9
|
-
const manySuite = new benchmark_1.default.Suite("z.union: many");
|
|
10
|
-
const aSchema = v3_1.z.object({
|
|
11
|
-
type: v3_1.z.literal("a"),
|
|
12
|
-
});
|
|
13
|
-
const objA = {
|
|
14
|
-
type: "a",
|
|
15
|
-
};
|
|
16
|
-
const bSchema = v3_1.z.object({
|
|
17
|
-
type: v3_1.z.literal("b"),
|
|
18
|
-
});
|
|
19
|
-
const objB = {
|
|
20
|
-
type: "b",
|
|
21
|
-
};
|
|
22
|
-
const cSchema = v3_1.z.object({
|
|
23
|
-
type: v3_1.z.literal("c"),
|
|
24
|
-
});
|
|
25
|
-
const objC = {
|
|
26
|
-
type: "c",
|
|
27
|
-
};
|
|
28
|
-
const dSchema = v3_1.z.object({
|
|
29
|
-
type: v3_1.z.literal("d"),
|
|
30
|
-
});
|
|
31
|
-
const double = v3_1.z.union([aSchema, bSchema]);
|
|
32
|
-
const many = v3_1.z.union([aSchema, bSchema, cSchema, dSchema]);
|
|
33
|
-
doubleSuite
|
|
34
|
-
.add("valid: a", () => {
|
|
35
|
-
double.parse(objA);
|
|
36
|
-
})
|
|
37
|
-
.add("valid: b", () => {
|
|
38
|
-
double.parse(objB);
|
|
39
|
-
})
|
|
40
|
-
.add("invalid: null", () => {
|
|
41
|
-
try {
|
|
42
|
-
double.parse(null);
|
|
43
|
-
}
|
|
44
|
-
catch (_err) { }
|
|
45
|
-
})
|
|
46
|
-
.add("invalid: wrong shape", () => {
|
|
47
|
-
try {
|
|
48
|
-
double.parse(objC);
|
|
49
|
-
}
|
|
50
|
-
catch (_err) { }
|
|
51
|
-
})
|
|
52
|
-
.on("cycle", (e) => {
|
|
53
|
-
console.log(`${doubleSuite.name}: ${e.target}`);
|
|
54
|
-
});
|
|
55
|
-
manySuite
|
|
56
|
-
.add("valid: a", () => {
|
|
57
|
-
many.parse(objA);
|
|
58
|
-
})
|
|
59
|
-
.add("valid: c", () => {
|
|
60
|
-
many.parse(objC);
|
|
61
|
-
})
|
|
62
|
-
.add("invalid: null", () => {
|
|
63
|
-
try {
|
|
64
|
-
many.parse(null);
|
|
65
|
-
}
|
|
66
|
-
catch (_err) { }
|
|
67
|
-
})
|
|
68
|
-
.add("invalid: wrong shape", () => {
|
|
69
|
-
try {
|
|
70
|
-
many.parse({ type: "unknown" });
|
|
71
|
-
}
|
|
72
|
-
catch (_err) { }
|
|
73
|
-
})
|
|
74
|
-
.on("cycle", (e) => {
|
|
75
|
-
console.log(`${manySuite.name}: ${e.target}`);
|
|
76
|
-
});
|
|
77
|
-
exports.default = {
|
|
78
|
-
suites: [doubleSuite, manySuite],
|
|
79
|
-
};
|