@btc-embedded/cdk-extensions 0.10.0 → 0.10.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.
- package/.jsii +27 -25
- package/API.md +5 -0
- package/CHANGELOG.md +20 -0
- package/lib/constructs/EventPipe.d.ts +5 -0
- package/lib/constructs/EventPipe.js +3 -3
- package/lib/constructs/S3Bucket.js +1 -1
- package/lib/constructs/SecureRestApi.js +1 -1
- package/lib/constructs/SecureRestApiV2.js +1 -1
- package/lib/extensions/ApiGatewayExtension.js +1 -1
- package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
- package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
- package/lib/extensions/CloudMapExtension.js +1 -1
- package/lib/extensions/DeactivatableServiceExtension.js +1 -1
- package/lib/extensions/DocumentDbAccessExtension.js +1 -1
- package/lib/extensions/DomainEventMessagingExtension.js +1 -1
- package/lib/extensions/ExtraContainerExtension.js +1 -1
- package/lib/extensions/HTTPApiExtension.js +1 -1
- package/lib/extensions/LogExtension.js +1 -1
- package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
- package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
- package/lib/extensions/OpenTelemetryExtension.js +1 -1
- package/lib/extensions/PostgresDbAccessExtension.js +1 -1
- package/lib/extensions/SharedVolumeExtension.js +1 -1
- package/lib/extensions/TcpKeepAliveExtension.js +1 -1
- package/lib/platform/ApiGateway.js +1 -1
- package/lib/platform/ApiGatewayV2.js +2 -2
- package/lib/platform/ApplicationLoadBalancer.js +1 -1
- package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
- package/lib/platform/CognitoUserPool.js +2 -2
- package/lib/platform/DefaultUserPoolClients.js +1 -1
- package/lib/platform/DocumentDB.js +2 -2
- package/lib/platform/PrivateDnsNamespace.js +1 -1
- package/lib/platform/ResourceServer.js +1 -1
- package/lib/platform/Vpc.js +1 -1
- package/lib/utils/StackParameter.js +1 -1
- package/node_modules/yaml/README.md +2 -0
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +2 -2
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +2 -4
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +1 -2
- package/node_modules/yaml/browser/dist/doc/anchors.js +1 -2
- package/node_modules/yaml/browser/dist/doc/createNode.js +1 -2
- package/node_modules/yaml/browser/dist/nodes/Alias.js +24 -11
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +1 -1
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +1 -0
- package/node_modules/yaml/browser/dist/parse/parser.js +14 -1
- package/node_modules/yaml/browser/dist/schema/tags.js +3 -3
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +3 -2
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +1 -1
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +1 -1
- package/node_modules/yaml/browser/dist/stringify/stringify.js +3 -4
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +3 -4
- package/node_modules/yaml/dist/cli.d.ts +1 -1
- package/node_modules/yaml/dist/cli.mjs +5 -3
- package/node_modules/yaml/dist/compose/compose-collection.js +2 -2
- package/node_modules/yaml/dist/compose/composer.js +1 -1
- package/node_modules/yaml/dist/compose/resolve-props.js +2 -4
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +1 -2
- package/node_modules/yaml/dist/doc/anchors.js +1 -2
- package/node_modules/yaml/dist/doc/createNode.js +1 -2
- package/node_modules/yaml/dist/log.js +1 -1
- package/node_modules/yaml/dist/nodes/Alias.d.ts +1 -1
- package/node_modules/yaml/dist/nodes/Alias.js +23 -10
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +1 -0
- package/node_modules/yaml/dist/nodes/toJS.d.ts +2 -0
- package/node_modules/yaml/dist/parse/parser.js +15 -2
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +4 -3
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +1 -1
- package/node_modules/yaml/dist/stringify/stringify.js +3 -4
- package/node_modules/yaml/dist/stringify/stringifyString.js +2 -3
- package/node_modules/yaml/package.json +2 -2
- package/node_modules/zod/LICENSE +1 -1
- package/node_modules/zod/README.md +105 -2971
- package/node_modules/zod/{lib/external.js → dist/cjs/index.js} +6 -6
- package/node_modules/zod/dist/cjs/package.json +3 -0
- package/node_modules/zod/{lib → dist/cjs/v3}/ZodError.js +3 -3
- package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/datetime.js +1 -1
- package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/discriminatedUnion.js +15 -15
- package/node_modules/zod/dist/cjs/v3/benchmarks/index.js +59 -0
- package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/object.js +11 -11
- package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/primitives.js +22 -33
- package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/realworld.js +12 -12
- package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/string.js +5 -5
- package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/union.js +15 -15
- package/node_modules/zod/{lib → dist/cjs/v3}/errors.js +6 -6
- package/node_modules/zod/dist/cjs/v3/external.js +22 -0
- package/node_modules/zod/{lib → dist/cjs/v3}/helpers/errorUtil.js +2 -1
- package/node_modules/zod/{lib → dist/cjs/v3}/helpers/parseUtil.js +7 -8
- package/node_modules/zod/{lib → dist/cjs/v3}/helpers/util.js +5 -10
- package/node_modules/zod/{lib → dist/cjs/v3}/index.js +2 -2
- package/node_modules/zod/{lib → dist/cjs/v3}/locales/en.js +30 -50
- package/node_modules/zod/{lib → dist/cjs/v3}/types.js +466 -539
- package/node_modules/zod/dist/cjs/v4/classic/checks.js +32 -0
- package/node_modules/zod/dist/cjs/v4/classic/coerce.js +47 -0
- package/node_modules/zod/dist/cjs/v4/classic/compat.js +63 -0
- package/node_modules/zod/dist/cjs/v4/classic/errors.js +67 -0
- package/node_modules/zod/dist/cjs/v4/classic/external.js +69 -0
- package/node_modules/zod/dist/cjs/v4/classic/index.js +33 -0
- package/node_modules/zod/dist/cjs/v4/classic/iso.js +60 -0
- package/node_modules/zod/dist/cjs/v4/classic/parse.js +32 -0
- package/node_modules/zod/dist/cjs/v4/classic/schemas.js +1100 -0
- package/node_modules/zod/dist/cjs/v4/core/api.js +1021 -0
- package/node_modules/zod/dist/cjs/v4/core/checks.js +580 -0
- package/node_modules/zod/dist/cjs/v4/core/config.js +10 -0
- package/node_modules/zod/dist/cjs/v4/core/core.js +63 -0
- package/node_modules/zod/dist/cjs/v4/core/doc.js +39 -0
- package/node_modules/zod/dist/cjs/v4/core/errors.js +222 -0
- package/node_modules/zod/dist/cjs/v4/core/function.js +102 -0
- package/node_modules/zod/dist/cjs/v4/core/index.js +44 -0
- package/node_modules/zod/dist/cjs/v4/core/json-schema.js +2 -0
- package/node_modules/zod/dist/cjs/v4/core/parse.js +87 -0
- package/node_modules/zod/dist/cjs/v4/core/regexes.js +103 -0
- package/node_modules/zod/dist/cjs/v4/core/registries.js +47 -0
- package/node_modules/zod/dist/cjs/v4/core/schemas.js +1719 -0
- package/node_modules/zod/dist/cjs/v4/core/standard-schema.js +2 -0
- package/node_modules/zod/dist/cjs/v4/core/to-json-schema.js +833 -0
- package/node_modules/zod/dist/cjs/v4/core/util.js +537 -0
- package/node_modules/zod/dist/cjs/v4/core/versions.js +8 -0
- package/node_modules/zod/dist/cjs/v4/core/zsf.js +172 -0
- package/node_modules/zod/dist/cjs/v4/index.js +22 -0
- package/node_modules/zod/dist/cjs/v4/locales/ar.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/az.js +141 -0
- package/node_modules/zod/dist/cjs/v4/locales/be.js +190 -0
- package/node_modules/zod/dist/cjs/v4/locales/ca.js +144 -0
- package/node_modules/zod/dist/cjs/v4/locales/cs.js +161 -0
- package/node_modules/zod/dist/cjs/v4/locales/de.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/en.js +145 -0
- package/node_modules/zod/dist/cjs/v4/locales/es.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/fa.js +148 -0
- package/node_modules/zod/dist/cjs/v4/locales/fi.js +148 -0
- package/node_modules/zod/dist/cjs/v4/locales/fr-CA.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/fr.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/he.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/hu.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/id.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/index.js +82 -0
- package/node_modules/zod/dist/cjs/v4/locales/it.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/ja.js +141 -0
- package/node_modules/zod/dist/cjs/v4/locales/kh.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/ko.js +147 -0
- package/node_modules/zod/dist/cjs/v4/locales/mk.js +144 -0
- package/node_modules/zod/dist/cjs/v4/locales/ms.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/nl.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/no.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/ota.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/pl.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/ps.js +148 -0
- package/node_modules/zod/dist/cjs/v4/locales/pt.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/ru.js +190 -0
- package/node_modules/zod/dist/cjs/v4/locales/sl.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/sv.js +144 -0
- package/node_modules/zod/dist/cjs/v4/locales/ta.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/th.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/tr.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/ua.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/ur.js +143 -0
- package/node_modules/zod/dist/cjs/v4/locales/vi.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/zh-CN.js +142 -0
- package/node_modules/zod/dist/cjs/v4/locales/zh-TW.js +143 -0
- package/node_modules/zod/dist/cjs/v4/mini/checks.js +34 -0
- package/node_modules/zod/dist/cjs/v4/mini/coerce.js +47 -0
- package/node_modules/zod/dist/cjs/v4/mini/external.js +61 -0
- package/node_modules/zod/dist/cjs/v4/mini/index.js +32 -0
- package/node_modules/zod/dist/cjs/v4/mini/iso.js +60 -0
- package/node_modules/zod/dist/cjs/v4/mini/parse.js +8 -0
- package/node_modules/zod/dist/cjs/v4/mini/schemas.js +831 -0
- package/node_modules/zod/dist/esm/index.js +3 -0
- package/node_modules/zod/dist/esm/package.json +3 -0
- package/node_modules/zod/dist/esm/v3/ZodError.js +132 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/datetime.js +49 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/discriminatedUnion.js +74 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/index.js +54 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/ipv4.js +49 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/object.js +65 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/primitives.js +154 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/realworld.js +51 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/string.js +50 -0
- package/node_modules/zod/dist/esm/v3/benchmarks/union.js +74 -0
- package/node_modules/zod/dist/esm/v3/errors.js +9 -0
- package/node_modules/zod/dist/esm/v3/external.js +6 -0
- package/node_modules/zod/dist/esm/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/dist/esm/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/dist/esm/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/dist/esm/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/dist/esm/v3/helpers/util.js +133 -0
- package/node_modules/zod/dist/esm/v3/index.js +4 -0
- package/node_modules/zod/dist/esm/v3/locales/en.js +107 -0
- package/node_modules/zod/dist/esm/v3/standard-schema.js +1 -0
- package/node_modules/zod/dist/esm/v3/tests/Mocker.js +53 -0
- package/node_modules/zod/{lib/index.mjs → dist/esm/v3/types.js} +148 -862
- package/node_modules/zod/dist/esm/v4/classic/checks.js +1 -0
- package/node_modules/zod/dist/esm/v4/classic/coerce.js +17 -0
- package/node_modules/zod/dist/esm/v4/classic/compat.js +33 -0
- package/node_modules/zod/dist/esm/v4/classic/errors.js +41 -0
- package/node_modules/zod/dist/esm/v4/classic/external.js +18 -0
- package/node_modules/zod/dist/esm/v4/classic/index.js +4 -0
- package/node_modules/zod/dist/esm/v4/classic/iso.js +30 -0
- package/node_modules/zod/dist/esm/v4/classic/parse.js +6 -0
- package/node_modules/zod/dist/esm/v4/classic/schemas.js +998 -0
- package/node_modules/zod/dist/esm/v4/core/api.js +889 -0
- package/node_modules/zod/dist/esm/v4/core/checks.js +554 -0
- package/node_modules/zod/dist/esm/v4/core/config.js +6 -0
- package/node_modules/zod/dist/esm/v4/core/core.js +57 -0
- package/node_modules/zod/dist/esm/v4/core/doc.js +35 -0
- package/node_modules/zod/dist/esm/v4/core/errors.js +191 -0
- package/node_modules/zod/dist/esm/v4/core/function.js +75 -0
- package/node_modules/zod/dist/esm/v4/core/index.js +15 -0
- package/node_modules/zod/dist/esm/v4/core/json-schema.js +1 -0
- package/node_modules/zod/dist/esm/v4/core/parse.js +57 -0
- package/node_modules/zod/dist/esm/v4/core/regexes.js +95 -0
- package/node_modules/zod/dist/esm/v4/core/registries.js +42 -0
- package/node_modules/zod/dist/esm/v4/core/schemas.js +1688 -0
- package/node_modules/zod/dist/esm/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/dist/esm/v4/core/to-json-schema.js +828 -0
- package/node_modules/zod/dist/esm/v4/core/util.js +491 -0
- package/node_modules/zod/dist/esm/v4/core/versions.js +5 -0
- package/node_modules/zod/dist/esm/v4/core/zsf.js +171 -0
- package/node_modules/zod/dist/esm/v4/index.js +3 -0
- package/node_modules/zod/dist/esm/v4/locales/ar.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/az.js +115 -0
- package/node_modules/zod/dist/esm/v4/locales/be.js +164 -0
- package/node_modules/zod/dist/esm/v4/locales/ca.js +118 -0
- package/node_modules/zod/dist/esm/v4/locales/cs.js +135 -0
- package/node_modules/zod/dist/esm/v4/locales/de.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/en.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/es.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/fa.js +122 -0
- package/node_modules/zod/dist/esm/v4/locales/fi.js +122 -0
- package/node_modules/zod/dist/esm/v4/locales/fr-CA.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/fr.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/he.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/hu.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/id.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/index.js +38 -0
- package/node_modules/zod/dist/esm/v4/locales/it.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/ja.js +115 -0
- package/node_modules/zod/dist/esm/v4/locales/kh.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/ko.js +121 -0
- package/node_modules/zod/dist/esm/v4/locales/mk.js +118 -0
- package/node_modules/zod/dist/esm/v4/locales/ms.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/nl.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/no.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/ota.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/pl.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/ps.js +122 -0
- package/node_modules/zod/dist/esm/v4/locales/pt.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/ru.js +164 -0
- package/node_modules/zod/dist/esm/v4/locales/sl.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/sv.js +118 -0
- package/node_modules/zod/dist/esm/v4/locales/ta.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/th.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/tr.js +115 -0
- package/node_modules/zod/dist/esm/v4/locales/ua.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/ur.js +117 -0
- package/node_modules/zod/dist/esm/v4/locales/vi.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/zh-CN.js +116 -0
- package/node_modules/zod/dist/esm/v4/locales/zh-TW.js +117 -0
- package/node_modules/zod/dist/esm/v4/mini/checks.js +1 -0
- package/node_modules/zod/dist/esm/v4/mini/coerce.js +17 -0
- package/node_modules/zod/dist/esm/v4/mini/external.js +13 -0
- package/node_modules/zod/dist/esm/v4/mini/index.js +3 -0
- package/node_modules/zod/dist/esm/v4/mini/iso.js +30 -0
- package/node_modules/zod/dist/esm/v4/mini/parse.js +1 -0
- package/node_modules/zod/dist/esm/v4/mini/schemas.js +725 -0
- package/node_modules/zod/dist/types/index.d.ts +3 -0
- package/node_modules/zod/dist/types/package.json +3 -0
- package/node_modules/zod/{lib → dist/types/v3}/ZodError.d.ts +7 -7
- package/node_modules/zod/dist/types/v3/benchmarks/index.d.ts +1 -0
- package/node_modules/zod/{lib → dist/types/v3}/errors.d.ts +2 -2
- package/node_modules/zod/dist/types/v3/external.d.ts +6 -0
- package/node_modules/zod/{lib → dist/types/v3}/helpers/errorUtil.d.ts +1 -1
- package/node_modules/zod/{lib → dist/types/v3}/helpers/parseUtil.d.ts +4 -4
- package/node_modules/zod/{lib → dist/types/v3}/helpers/partialUtil.d.ts +1 -1
- package/node_modules/zod/{lib → dist/types/v3}/helpers/util.d.ts +14 -11
- package/node_modules/zod/dist/types/v3/index.d.ts +4 -0
- package/node_modules/zod/{lib → dist/types/v3}/locales/en.d.ts +1 -1
- package/node_modules/zod/{lib/__tests__ → dist/types/v3/tests}/Mocker.d.ts +6 -6
- package/node_modules/zod/{lib → dist/types/v3}/types.d.ts +120 -151
- package/node_modules/zod/dist/types/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/dist/types/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/dist/types/v4/classic/compat.d.ts +48 -0
- package/node_modules/zod/dist/types/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/dist/types/v4/classic/external.d.ts +13 -0
- package/node_modules/zod/dist/types/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/dist/types/v4/classic/parse.d.ts +23 -0
- package/node_modules/zod/dist/types/v4/classic/schemas.d.ts +624 -0
- package/node_modules/zod/dist/types/v4/core/api.d.ts +281 -0
- package/node_modules/zod/dist/types/v4/core/checks.d.ts +277 -0
- package/node_modules/zod/dist/types/v4/core/config.d.ts +9 -0
- package/node_modules/zod/dist/types/v4/core/core.d.ts +47 -0
- package/node_modules/zod/dist/types/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/dist/types/v4/core/errors.d.ts +204 -0
- package/node_modules/zod/dist/types/v4/core/function.d.ts +52 -0
- package/node_modules/zod/dist/types/v4/core/index.d.ts +15 -0
- package/node_modules/zod/dist/types/v4/core/json-schema.d.ts +87 -0
- package/node_modules/zod/dist/types/v4/core/parse.d.ts +25 -0
- package/node_modules/zod/dist/types/v4/core/regexes.d.ts +62 -0
- package/node_modules/zod/dist/types/v4/core/registries.d.ts +39 -0
- package/node_modules/zod/dist/types/v4/core/schemas.d.ts +1005 -0
- package/node_modules/zod/dist/types/v4/core/standard-schema.d.ts +55 -0
- package/node_modules/zod/dist/types/v4/core/to-json-schema.d.ts +84 -0
- package/node_modules/zod/dist/types/v4/core/util.d.ts +183 -0
- package/node_modules/zod/dist/types/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/dist/types/v4/core/zsf.d.ts +91 -0
- package/node_modules/zod/dist/types/v4/index.d.ts +3 -0
- package/node_modules/zod/dist/types/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/en.d.ts +5 -0
- package/node_modules/zod/dist/types/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/index.d.ts +38 -0
- package/node_modules/zod/dist/types/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/kh.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/tr.d.ts +5 -0
- package/node_modules/zod/dist/types/v4/locales/ua.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/dist/types/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/dist/types/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/dist/types/v4/mini/external.d.ts +11 -0
- package/node_modules/zod/dist/types/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/dist/types/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/dist/types/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/dist/types/v4/mini/schemas.d.ts +351 -0
- package/node_modules/zod/package.json +105 -107
- package/node_modules/zod/v3/index.d.ts +3 -0
- package/node_modules/zod/v3/index.js +1 -0
- package/node_modules/zod/v4/core/index.d.ts +1 -0
- package/node_modules/zod/v4/core/index.js +1 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +1 -0
- package/node_modules/zod/v4/locales/en.d.ts +2 -0
- package/node_modules/zod/v4/locales/en.js +2 -0
- package/node_modules/zod/v4/locales/index.d.ts +1 -0
- package/node_modules/zod/v4/locales/index.js +1 -0
- package/node_modules/zod/v4-mini/index.d.ts +1 -0
- package/node_modules/zod/v4-mini/index.js +1 -0
- package/package.json +16 -16
- package/node_modules/zod/index.d.ts +0 -2
- package/node_modules/zod/lib/benchmarks/index.js +0 -59
- package/node_modules/zod/lib/external.d.ts +0 -6
- package/node_modules/zod/lib/index.d.ts +0 -4
- package/node_modules/zod/lib/index.umd.js +0 -4520
- /package/node_modules/zod/{lib → dist/cjs/v3}/benchmarks/ipv4.js +0 -0
- /package/node_modules/zod/{lib → dist/cjs/v3}/helpers/enumUtil.js +0 -0
- /package/node_modules/zod/{lib → dist/cjs/v3}/helpers/partialUtil.js +0 -0
- /package/node_modules/zod/{lib → dist/cjs/v3}/helpers/typeAliases.js +0 -0
- /package/node_modules/zod/{lib → dist/cjs/v3}/standard-schema.js +0 -0
- /package/node_modules/zod/{lib/__tests__ → dist/cjs/v3/tests}/Mocker.js +0 -0
- /package/node_modules/zod/{lib/benchmarks/index.d.ts → dist/esm/v3/helpers/enumUtil.js} +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/datetime.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/discriminatedUnion.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/ipv4.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/object.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/primitives.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/realworld.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/string.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/benchmarks/union.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/helpers/enumUtil.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/helpers/typeAliases.d.ts +0 -0
- /package/node_modules/zod/{lib → dist/types/v3}/standard-schema.d.ts +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { util } from "./helpers/util.js";
|
|
2
|
+
export const ZodIssueCode = util.arrayToEnum([
|
|
3
|
+
"invalid_type",
|
|
4
|
+
"invalid_literal",
|
|
5
|
+
"custom",
|
|
6
|
+
"invalid_union",
|
|
7
|
+
"invalid_union_discriminator",
|
|
8
|
+
"invalid_enum_value",
|
|
9
|
+
"unrecognized_keys",
|
|
10
|
+
"invalid_arguments",
|
|
11
|
+
"invalid_return_type",
|
|
12
|
+
"invalid_date",
|
|
13
|
+
"invalid_string",
|
|
14
|
+
"too_small",
|
|
15
|
+
"too_big",
|
|
16
|
+
"invalid_intersection_types",
|
|
17
|
+
"not_multiple_of",
|
|
18
|
+
"not_finite",
|
|
19
|
+
]);
|
|
20
|
+
export const quotelessJson = (obj) => {
|
|
21
|
+
const json = JSON.stringify(obj, null, 2);
|
|
22
|
+
return json.replace(/"([^"]+)":/g, "$1:");
|
|
23
|
+
};
|
|
24
|
+
export class ZodError extends Error {
|
|
25
|
+
get errors() {
|
|
26
|
+
return this.issues;
|
|
27
|
+
}
|
|
28
|
+
constructor(issues) {
|
|
29
|
+
super();
|
|
30
|
+
this.issues = [];
|
|
31
|
+
this.addIssue = (sub) => {
|
|
32
|
+
this.issues = [...this.issues, sub];
|
|
33
|
+
};
|
|
34
|
+
this.addIssues = (subs = []) => {
|
|
35
|
+
this.issues = [...this.issues, ...subs];
|
|
36
|
+
};
|
|
37
|
+
const actualProto = new.target.prototype;
|
|
38
|
+
if (Object.setPrototypeOf) {
|
|
39
|
+
// eslint-disable-next-line ban/ban
|
|
40
|
+
Object.setPrototypeOf(this, actualProto);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.__proto__ = actualProto;
|
|
44
|
+
}
|
|
45
|
+
this.name = "ZodError";
|
|
46
|
+
this.issues = issues;
|
|
47
|
+
}
|
|
48
|
+
format(_mapper) {
|
|
49
|
+
const mapper = _mapper ||
|
|
50
|
+
function (issue) {
|
|
51
|
+
return issue.message;
|
|
52
|
+
};
|
|
53
|
+
const fieldErrors = { _errors: [] };
|
|
54
|
+
const processError = (error) => {
|
|
55
|
+
for (const issue of error.issues) {
|
|
56
|
+
if (issue.code === "invalid_union") {
|
|
57
|
+
issue.unionErrors.map(processError);
|
|
58
|
+
}
|
|
59
|
+
else if (issue.code === "invalid_return_type") {
|
|
60
|
+
processError(issue.returnTypeError);
|
|
61
|
+
}
|
|
62
|
+
else if (issue.code === "invalid_arguments") {
|
|
63
|
+
processError(issue.argumentsError);
|
|
64
|
+
}
|
|
65
|
+
else if (issue.path.length === 0) {
|
|
66
|
+
fieldErrors._errors.push(mapper(issue));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
let curr = fieldErrors;
|
|
70
|
+
let i = 0;
|
|
71
|
+
while (i < issue.path.length) {
|
|
72
|
+
const el = issue.path[i];
|
|
73
|
+
const terminal = i === issue.path.length - 1;
|
|
74
|
+
if (!terminal) {
|
|
75
|
+
curr[el] = curr[el] || { _errors: [] };
|
|
76
|
+
// if (typeof el === "string") {
|
|
77
|
+
// curr[el] = curr[el] || { _errors: [] };
|
|
78
|
+
// } else if (typeof el === "number") {
|
|
79
|
+
// const errorArray: any = [];
|
|
80
|
+
// errorArray._errors = [];
|
|
81
|
+
// curr[el] = curr[el] || errorArray;
|
|
82
|
+
// }
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
curr[el] = curr[el] || { _errors: [] };
|
|
86
|
+
curr[el]._errors.push(mapper(issue));
|
|
87
|
+
}
|
|
88
|
+
curr = curr[el];
|
|
89
|
+
i++;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
processError(this);
|
|
95
|
+
return fieldErrors;
|
|
96
|
+
}
|
|
97
|
+
static assert(value) {
|
|
98
|
+
if (!(value instanceof ZodError)) {
|
|
99
|
+
throw new Error(`Not a ZodError: ${value}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
toString() {
|
|
103
|
+
return this.message;
|
|
104
|
+
}
|
|
105
|
+
get message() {
|
|
106
|
+
return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);
|
|
107
|
+
}
|
|
108
|
+
get isEmpty() {
|
|
109
|
+
return this.issues.length === 0;
|
|
110
|
+
}
|
|
111
|
+
flatten(mapper = (issue) => issue.message) {
|
|
112
|
+
const fieldErrors = {};
|
|
113
|
+
const formErrors = [];
|
|
114
|
+
for (const sub of this.issues) {
|
|
115
|
+
if (sub.path.length > 0) {
|
|
116
|
+
fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
|
|
117
|
+
fieldErrors[sub.path[0]].push(mapper(sub));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
formErrors.push(mapper(sub));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return { formErrors, fieldErrors };
|
|
124
|
+
}
|
|
125
|
+
get formErrors() {
|
|
126
|
+
return this.flatten();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
ZodError.create = (issues) => {
|
|
130
|
+
const error = new ZodError(issues);
|
|
131
|
+
return error;
|
|
132
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import Benchmark from "benchmark";
|
|
2
|
+
const datetimeValidationSuite = new Benchmark.Suite("datetime");
|
|
3
|
+
const DATA = "2021-01-01";
|
|
4
|
+
const MONTHS_31 = new Set([1, 3, 5, 7, 8, 10, 12]);
|
|
5
|
+
const MONTHS_30 = new Set([4, 6, 9, 11]);
|
|
6
|
+
const simpleDatetimeRegex = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
7
|
+
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))$/;
|
|
8
|
+
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])))$/;
|
|
9
|
+
datetimeValidationSuite
|
|
10
|
+
.add("new Date()", () => {
|
|
11
|
+
return !Number.isNaN(new Date(DATA).getTime());
|
|
12
|
+
})
|
|
13
|
+
.add("regex (no validation)", () => {
|
|
14
|
+
return simpleDatetimeRegex.test(DATA);
|
|
15
|
+
})
|
|
16
|
+
.add("regex (no leap year)", () => {
|
|
17
|
+
return datetimeRegexNoLeapYearValidation.test(DATA);
|
|
18
|
+
})
|
|
19
|
+
.add("regex (w/ leap year)", () => {
|
|
20
|
+
return datetimeRegexWithLeapYearValidation.test(DATA);
|
|
21
|
+
})
|
|
22
|
+
.add("capture groups + code", () => {
|
|
23
|
+
const match = DATA.match(simpleDatetimeRegex);
|
|
24
|
+
if (!match)
|
|
25
|
+
return false;
|
|
26
|
+
// Extract year, month, and day from the capture groups
|
|
27
|
+
const year = Number.parseInt(match[1], 10);
|
|
28
|
+
const month = Number.parseInt(match[2], 10); // month is 0-indexed in JavaScript Date, so subtract 1
|
|
29
|
+
const day = Number.parseInt(match[3], 10);
|
|
30
|
+
if (month === 2) {
|
|
31
|
+
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
|
|
32
|
+
return day <= 29;
|
|
33
|
+
}
|
|
34
|
+
return day <= 28;
|
|
35
|
+
}
|
|
36
|
+
if (MONTHS_30.has(month)) {
|
|
37
|
+
return day <= 30;
|
|
38
|
+
}
|
|
39
|
+
if (MONTHS_31.has(month)) {
|
|
40
|
+
return day <= 31;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
})
|
|
44
|
+
.on("cycle", (e) => {
|
|
45
|
+
console.log(`${datetimeValidationSuite.name}: ${e.target}`);
|
|
46
|
+
});
|
|
47
|
+
export default {
|
|
48
|
+
suites: [datetimeValidationSuite],
|
|
49
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import Benchmark from "benchmark";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
|
+
const doubleSuite = new Benchmark.Suite("z.discriminatedUnion: double");
|
|
4
|
+
const manySuite = new Benchmark.Suite("z.discriminatedUnion: many");
|
|
5
|
+
const aSchema = z.object({
|
|
6
|
+
type: z.literal("a"),
|
|
7
|
+
});
|
|
8
|
+
const objA = {
|
|
9
|
+
type: "a",
|
|
10
|
+
};
|
|
11
|
+
const bSchema = z.object({
|
|
12
|
+
type: z.literal("b"),
|
|
13
|
+
});
|
|
14
|
+
const objB = {
|
|
15
|
+
type: "b",
|
|
16
|
+
};
|
|
17
|
+
const cSchema = z.object({
|
|
18
|
+
type: z.literal("c"),
|
|
19
|
+
});
|
|
20
|
+
const objC = {
|
|
21
|
+
type: "c",
|
|
22
|
+
};
|
|
23
|
+
const dSchema = z.object({
|
|
24
|
+
type: z.literal("d"),
|
|
25
|
+
});
|
|
26
|
+
const double = z.discriminatedUnion("type", [aSchema, bSchema]);
|
|
27
|
+
const many = z.discriminatedUnion("type", [aSchema, bSchema, cSchema, dSchema]);
|
|
28
|
+
doubleSuite
|
|
29
|
+
.add("valid: a", () => {
|
|
30
|
+
double.parse(objA);
|
|
31
|
+
})
|
|
32
|
+
.add("valid: b", () => {
|
|
33
|
+
double.parse(objB);
|
|
34
|
+
})
|
|
35
|
+
.add("invalid: null", () => {
|
|
36
|
+
try {
|
|
37
|
+
double.parse(null);
|
|
38
|
+
}
|
|
39
|
+
catch (_err) { }
|
|
40
|
+
})
|
|
41
|
+
.add("invalid: wrong shape", () => {
|
|
42
|
+
try {
|
|
43
|
+
double.parse(objC);
|
|
44
|
+
}
|
|
45
|
+
catch (_err) { }
|
|
46
|
+
})
|
|
47
|
+
.on("cycle", (e) => {
|
|
48
|
+
console.log(`${doubleSuite.name}: ${e.target}`);
|
|
49
|
+
});
|
|
50
|
+
manySuite
|
|
51
|
+
.add("valid: a", () => {
|
|
52
|
+
many.parse(objA);
|
|
53
|
+
})
|
|
54
|
+
.add("valid: c", () => {
|
|
55
|
+
many.parse(objC);
|
|
56
|
+
})
|
|
57
|
+
.add("invalid: null", () => {
|
|
58
|
+
try {
|
|
59
|
+
many.parse(null);
|
|
60
|
+
}
|
|
61
|
+
catch (_err) { }
|
|
62
|
+
})
|
|
63
|
+
.add("invalid: wrong shape", () => {
|
|
64
|
+
try {
|
|
65
|
+
many.parse({ type: "unknown" });
|
|
66
|
+
}
|
|
67
|
+
catch (_err) { }
|
|
68
|
+
})
|
|
69
|
+
.on("cycle", (e) => {
|
|
70
|
+
console.log(`${manySuite.name}: ${e.target}`);
|
|
71
|
+
});
|
|
72
|
+
export default {
|
|
73
|
+
suites: [doubleSuite, manySuite],
|
|
74
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import datetimeBenchmarks from "./datetime.js";
|
|
2
|
+
import discriminatedUnionBenchmarks from "./discriminatedUnion.js";
|
|
3
|
+
import ipv4Benchmarks from "./ipv4.js";
|
|
4
|
+
import objectBenchmarks from "./object.js";
|
|
5
|
+
import primitiveBenchmarks from "./primitives.js";
|
|
6
|
+
import realworld from "./realworld.js";
|
|
7
|
+
import stringBenchmarks from "./string.js";
|
|
8
|
+
import unionBenchmarks from "./union.js";
|
|
9
|
+
const argv = process.argv.slice(2);
|
|
10
|
+
let suites = [];
|
|
11
|
+
if (!argv.length) {
|
|
12
|
+
suites = [
|
|
13
|
+
...realworld.suites,
|
|
14
|
+
...primitiveBenchmarks.suites,
|
|
15
|
+
...stringBenchmarks.suites,
|
|
16
|
+
...objectBenchmarks.suites,
|
|
17
|
+
...unionBenchmarks.suites,
|
|
18
|
+
...discriminatedUnionBenchmarks.suites,
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
if (argv.includes("--realworld")) {
|
|
23
|
+
suites.push(...realworld.suites);
|
|
24
|
+
}
|
|
25
|
+
if (argv.includes("--primitives")) {
|
|
26
|
+
suites.push(...primitiveBenchmarks.suites);
|
|
27
|
+
}
|
|
28
|
+
if (argv.includes("--string")) {
|
|
29
|
+
suites.push(...stringBenchmarks.suites);
|
|
30
|
+
}
|
|
31
|
+
if (argv.includes("--object")) {
|
|
32
|
+
suites.push(...objectBenchmarks.suites);
|
|
33
|
+
}
|
|
34
|
+
if (argv.includes("--union")) {
|
|
35
|
+
suites.push(...unionBenchmarks.suites);
|
|
36
|
+
}
|
|
37
|
+
if (argv.includes("--discriminatedUnion")) {
|
|
38
|
+
suites.push(...datetimeBenchmarks.suites);
|
|
39
|
+
}
|
|
40
|
+
if (argv.includes("--datetime")) {
|
|
41
|
+
suites.push(...datetimeBenchmarks.suites);
|
|
42
|
+
}
|
|
43
|
+
if (argv.includes("--ipv4")) {
|
|
44
|
+
suites.push(...ipv4Benchmarks.suites);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const suite of suites) {
|
|
48
|
+
suite.run({});
|
|
49
|
+
}
|
|
50
|
+
// exit on Ctrl-C
|
|
51
|
+
process.on("SIGINT", function () {
|
|
52
|
+
console.log("Exiting...");
|
|
53
|
+
process.exit();
|
|
54
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import Benchmark from "benchmark";
|
|
2
|
+
const suite = new Benchmark.Suite("ipv4");
|
|
3
|
+
const DATA = "127.0.0.1";
|
|
4
|
+
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}))$/;
|
|
5
|
+
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)$/;
|
|
6
|
+
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)$/;
|
|
7
|
+
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}$/;
|
|
8
|
+
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)$/;
|
|
9
|
+
const ipv4RegexF = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/;
|
|
10
|
+
const ipv4RegexG = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$/;
|
|
11
|
+
const ipv4RegexH = /^((25[0-5]|(2[0-4]|1[0-9]|[1-9]|)[0-9])(\.(?!$)|$)){4}$/;
|
|
12
|
+
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])$/;
|
|
13
|
+
suite
|
|
14
|
+
.add("A", () => {
|
|
15
|
+
return ipv4RegexA.test(DATA);
|
|
16
|
+
})
|
|
17
|
+
.add("B", () => {
|
|
18
|
+
return ipv4RegexB.test(DATA);
|
|
19
|
+
})
|
|
20
|
+
.add("C", () => {
|
|
21
|
+
return ipv4RegexC.test(DATA);
|
|
22
|
+
})
|
|
23
|
+
.add("D", () => {
|
|
24
|
+
return ipv4RegexD.test(DATA);
|
|
25
|
+
})
|
|
26
|
+
.add("E", () => {
|
|
27
|
+
return ipv4RegexE.test(DATA);
|
|
28
|
+
})
|
|
29
|
+
.add("F", () => {
|
|
30
|
+
return ipv4RegexF.test(DATA);
|
|
31
|
+
})
|
|
32
|
+
.add("G", () => {
|
|
33
|
+
return ipv4RegexG.test(DATA);
|
|
34
|
+
})
|
|
35
|
+
.add("H", () => {
|
|
36
|
+
return ipv4RegexH.test(DATA);
|
|
37
|
+
})
|
|
38
|
+
.add("I", () => {
|
|
39
|
+
return ipv4RegexI.test(DATA);
|
|
40
|
+
})
|
|
41
|
+
.on("cycle", (e) => {
|
|
42
|
+
console.log(`${suite.name}: ${e.target}`);
|
|
43
|
+
});
|
|
44
|
+
export default {
|
|
45
|
+
suites: [suite],
|
|
46
|
+
};
|
|
47
|
+
if (require.main === module) {
|
|
48
|
+
suite.run();
|
|
49
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import Benchmark from "benchmark";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
|
+
const emptySuite = new Benchmark.Suite("z.object: empty");
|
|
4
|
+
const shortSuite = new Benchmark.Suite("z.object: short");
|
|
5
|
+
const longSuite = new Benchmark.Suite("z.object: long");
|
|
6
|
+
const empty = z.object({});
|
|
7
|
+
const short = z.object({
|
|
8
|
+
string: z.string(),
|
|
9
|
+
});
|
|
10
|
+
const long = z.object({
|
|
11
|
+
string: z.string(),
|
|
12
|
+
number: z.number(),
|
|
13
|
+
boolean: z.boolean(),
|
|
14
|
+
});
|
|
15
|
+
emptySuite
|
|
16
|
+
.add("valid", () => {
|
|
17
|
+
empty.parse({});
|
|
18
|
+
})
|
|
19
|
+
.add("valid: extra keys", () => {
|
|
20
|
+
empty.parse({ string: "string" });
|
|
21
|
+
})
|
|
22
|
+
.add("invalid: null", () => {
|
|
23
|
+
try {
|
|
24
|
+
empty.parse(null);
|
|
25
|
+
}
|
|
26
|
+
catch (_err) { }
|
|
27
|
+
})
|
|
28
|
+
.on("cycle", (e) => {
|
|
29
|
+
console.log(`${emptySuite.name}: ${e.target}`);
|
|
30
|
+
});
|
|
31
|
+
shortSuite
|
|
32
|
+
.add("valid", () => {
|
|
33
|
+
short.parse({ string: "string" });
|
|
34
|
+
})
|
|
35
|
+
.add("valid: extra keys", () => {
|
|
36
|
+
short.parse({ string: "string", number: 42 });
|
|
37
|
+
})
|
|
38
|
+
.add("invalid: null", () => {
|
|
39
|
+
try {
|
|
40
|
+
short.parse(null);
|
|
41
|
+
}
|
|
42
|
+
catch (_err) { }
|
|
43
|
+
})
|
|
44
|
+
.on("cycle", (e) => {
|
|
45
|
+
console.log(`${shortSuite.name}: ${e.target}`);
|
|
46
|
+
});
|
|
47
|
+
longSuite
|
|
48
|
+
.add("valid", () => {
|
|
49
|
+
long.parse({ string: "string", number: 42, boolean: true });
|
|
50
|
+
})
|
|
51
|
+
.add("valid: extra keys", () => {
|
|
52
|
+
long.parse({ string: "string", number: 42, boolean: true, list: [] });
|
|
53
|
+
})
|
|
54
|
+
.add("invalid: null", () => {
|
|
55
|
+
try {
|
|
56
|
+
long.parse(null);
|
|
57
|
+
}
|
|
58
|
+
catch (_err) { }
|
|
59
|
+
})
|
|
60
|
+
.on("cycle", (e) => {
|
|
61
|
+
console.log(`${longSuite.name}: ${e.target}`);
|
|
62
|
+
});
|
|
63
|
+
export default {
|
|
64
|
+
suites: [emptySuite, shortSuite, longSuite],
|
|
65
|
+
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import Benchmark from "benchmark";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
|
+
import { Mocker } from "../tests/Mocker.js";
|
|
4
|
+
const val = new Mocker();
|
|
5
|
+
const enumSuite = new Benchmark.Suite("z.enum");
|
|
6
|
+
const enumSchema = z.enum(["a", "b", "c"]);
|
|
7
|
+
enumSuite
|
|
8
|
+
.add("valid", () => {
|
|
9
|
+
enumSchema.parse("a");
|
|
10
|
+
})
|
|
11
|
+
.add("invalid", () => {
|
|
12
|
+
try {
|
|
13
|
+
enumSchema.parse("x");
|
|
14
|
+
}
|
|
15
|
+
catch (_e) { }
|
|
16
|
+
})
|
|
17
|
+
.on("cycle", (e) => {
|
|
18
|
+
console.log(`z.enum: ${e.target}`);
|
|
19
|
+
});
|
|
20
|
+
const longEnumSuite = new Benchmark.Suite("long z.enum");
|
|
21
|
+
const longEnumSchema = z.enum([
|
|
22
|
+
"one",
|
|
23
|
+
"two",
|
|
24
|
+
"three",
|
|
25
|
+
"four",
|
|
26
|
+
"five",
|
|
27
|
+
"six",
|
|
28
|
+
"seven",
|
|
29
|
+
"eight",
|
|
30
|
+
"nine",
|
|
31
|
+
"ten",
|
|
32
|
+
"eleven",
|
|
33
|
+
"twelve",
|
|
34
|
+
"thirteen",
|
|
35
|
+
"fourteen",
|
|
36
|
+
"fifteen",
|
|
37
|
+
"sixteen",
|
|
38
|
+
"seventeen",
|
|
39
|
+
]);
|
|
40
|
+
longEnumSuite
|
|
41
|
+
.add("valid", () => {
|
|
42
|
+
longEnumSchema.parse("five");
|
|
43
|
+
})
|
|
44
|
+
.add("invalid", () => {
|
|
45
|
+
try {
|
|
46
|
+
longEnumSchema.parse("invalid");
|
|
47
|
+
}
|
|
48
|
+
catch (_e) { }
|
|
49
|
+
})
|
|
50
|
+
.on("cycle", (e) => {
|
|
51
|
+
console.log(`long z.enum: ${e.target}`);
|
|
52
|
+
});
|
|
53
|
+
const undefinedSuite = new Benchmark.Suite("z.undefined");
|
|
54
|
+
const undefinedSchema = z.undefined();
|
|
55
|
+
undefinedSuite
|
|
56
|
+
.add("valid", () => {
|
|
57
|
+
undefinedSchema.parse(undefined);
|
|
58
|
+
})
|
|
59
|
+
.add("invalid", () => {
|
|
60
|
+
try {
|
|
61
|
+
undefinedSchema.parse(1);
|
|
62
|
+
}
|
|
63
|
+
catch (_e) { }
|
|
64
|
+
})
|
|
65
|
+
.on("cycle", (e) => {
|
|
66
|
+
console.log(`z.undefined: ${e.target}`);
|
|
67
|
+
});
|
|
68
|
+
const literalSuite = new Benchmark.Suite("z.literal");
|
|
69
|
+
const short = "short";
|
|
70
|
+
const bad = "bad";
|
|
71
|
+
const literalSchema = z.literal("short");
|
|
72
|
+
literalSuite
|
|
73
|
+
.add("valid", () => {
|
|
74
|
+
literalSchema.parse(short);
|
|
75
|
+
})
|
|
76
|
+
.add("invalid", () => {
|
|
77
|
+
try {
|
|
78
|
+
literalSchema.parse(bad);
|
|
79
|
+
}
|
|
80
|
+
catch (_e) { }
|
|
81
|
+
})
|
|
82
|
+
.on("cycle", (e) => {
|
|
83
|
+
console.log(`z.literal: ${e.target}`);
|
|
84
|
+
});
|
|
85
|
+
const numberSuite = new Benchmark.Suite("z.number");
|
|
86
|
+
const numberSchema = z.number().int();
|
|
87
|
+
numberSuite
|
|
88
|
+
.add("valid", () => {
|
|
89
|
+
numberSchema.parse(1);
|
|
90
|
+
})
|
|
91
|
+
.add("invalid type", () => {
|
|
92
|
+
try {
|
|
93
|
+
numberSchema.parse("bad");
|
|
94
|
+
}
|
|
95
|
+
catch (_e) { }
|
|
96
|
+
})
|
|
97
|
+
.add("invalid number", () => {
|
|
98
|
+
try {
|
|
99
|
+
numberSchema.parse(0.5);
|
|
100
|
+
}
|
|
101
|
+
catch (_e) { }
|
|
102
|
+
})
|
|
103
|
+
.on("cycle", (e) => {
|
|
104
|
+
console.log(`z.number: ${e.target}`);
|
|
105
|
+
});
|
|
106
|
+
const dateSuite = new Benchmark.Suite("z.date");
|
|
107
|
+
const plainDate = z.date();
|
|
108
|
+
const minMaxDate = z.date().min(new Date("2021-01-01")).max(new Date("2030-01-01"));
|
|
109
|
+
dateSuite
|
|
110
|
+
.add("valid", () => {
|
|
111
|
+
plainDate.parse(new Date());
|
|
112
|
+
})
|
|
113
|
+
.add("invalid", () => {
|
|
114
|
+
try {
|
|
115
|
+
plainDate.parse(1);
|
|
116
|
+
}
|
|
117
|
+
catch (_e) { }
|
|
118
|
+
})
|
|
119
|
+
.add("valid min and max", () => {
|
|
120
|
+
minMaxDate.parse(new Date("2023-01-01"));
|
|
121
|
+
})
|
|
122
|
+
.add("invalid min", () => {
|
|
123
|
+
try {
|
|
124
|
+
minMaxDate.parse(new Date("2019-01-01"));
|
|
125
|
+
}
|
|
126
|
+
catch (_e) { }
|
|
127
|
+
})
|
|
128
|
+
.add("invalid max", () => {
|
|
129
|
+
try {
|
|
130
|
+
minMaxDate.parse(new Date("2031-01-01"));
|
|
131
|
+
}
|
|
132
|
+
catch (_e) { }
|
|
133
|
+
})
|
|
134
|
+
.on("cycle", (e) => {
|
|
135
|
+
console.log(`z.date: ${e.target}`);
|
|
136
|
+
});
|
|
137
|
+
const symbolSuite = new Benchmark.Suite("z.symbol");
|
|
138
|
+
const symbolSchema = z.symbol();
|
|
139
|
+
symbolSuite
|
|
140
|
+
.add("valid", () => {
|
|
141
|
+
symbolSchema.parse(val.symbol);
|
|
142
|
+
})
|
|
143
|
+
.add("invalid", () => {
|
|
144
|
+
try {
|
|
145
|
+
symbolSchema.parse(1);
|
|
146
|
+
}
|
|
147
|
+
catch (_e) { }
|
|
148
|
+
})
|
|
149
|
+
.on("cycle", (e) => {
|
|
150
|
+
console.log(`z.symbol: ${e.target}`);
|
|
151
|
+
});
|
|
152
|
+
export default {
|
|
153
|
+
suites: [enumSuite, longEnumSuite, undefinedSuite, literalSuite, numberSuite, dateSuite, symbolSuite],
|
|
154
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import Benchmark from "benchmark";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
|
+
const shortSuite = new Benchmark.Suite("realworld");
|
|
4
|
+
const People = z.array(z.object({
|
|
5
|
+
type: z.literal("person"),
|
|
6
|
+
hair: z.enum(["blue", "brown"]),
|
|
7
|
+
active: z.boolean(),
|
|
8
|
+
name: z.string(),
|
|
9
|
+
age: z.number().int(),
|
|
10
|
+
hobbies: z.array(z.string()),
|
|
11
|
+
address: z.object({
|
|
12
|
+
street: z.string(),
|
|
13
|
+
zip: z.string(),
|
|
14
|
+
country: z.string(),
|
|
15
|
+
}),
|
|
16
|
+
}));
|
|
17
|
+
let i = 0;
|
|
18
|
+
function num() {
|
|
19
|
+
return ++i;
|
|
20
|
+
}
|
|
21
|
+
function str() {
|
|
22
|
+
return (++i % 100).toString(16);
|
|
23
|
+
}
|
|
24
|
+
function array(fn) {
|
|
25
|
+
return Array.from({ length: ++i % 10 }, () => fn());
|
|
26
|
+
}
|
|
27
|
+
const people = Array.from({ length: 100 }, () => {
|
|
28
|
+
return {
|
|
29
|
+
type: "person",
|
|
30
|
+
hair: i % 2 ? "blue" : "brown",
|
|
31
|
+
active: !!(i % 2),
|
|
32
|
+
name: str(),
|
|
33
|
+
age: num(),
|
|
34
|
+
hobbies: array(str),
|
|
35
|
+
address: {
|
|
36
|
+
street: str(),
|
|
37
|
+
zip: str(),
|
|
38
|
+
country: str(),
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
shortSuite
|
|
43
|
+
.add("valid", () => {
|
|
44
|
+
People.parse(people);
|
|
45
|
+
})
|
|
46
|
+
.on("cycle", (e) => {
|
|
47
|
+
console.log(`${shortSuite.name}: ${e.target}`);
|
|
48
|
+
});
|
|
49
|
+
export default {
|
|
50
|
+
suites: [shortSuite],
|
|
51
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import Benchmark from "benchmark";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
|
+
const SUITE_NAME = "z.string";
|
|
4
|
+
const suite = new Benchmark.Suite(SUITE_NAME);
|
|
5
|
+
const empty = "";
|
|
6
|
+
const short = "short";
|
|
7
|
+
const long = "long".repeat(256);
|
|
8
|
+
const manual = (str) => {
|
|
9
|
+
if (typeof str !== "string") {
|
|
10
|
+
throw new Error("Not a string");
|
|
11
|
+
}
|
|
12
|
+
return str;
|
|
13
|
+
};
|
|
14
|
+
const stringSchema = z.string();
|
|
15
|
+
const optionalStringSchema = z.string().optional();
|
|
16
|
+
const optionalNullableStringSchema = z.string().optional().nullable();
|
|
17
|
+
suite
|
|
18
|
+
.add("empty string", () => {
|
|
19
|
+
stringSchema.parse(empty);
|
|
20
|
+
})
|
|
21
|
+
.add("short string", () => {
|
|
22
|
+
stringSchema.parse(short);
|
|
23
|
+
})
|
|
24
|
+
.add("long string", () => {
|
|
25
|
+
stringSchema.parse(long);
|
|
26
|
+
})
|
|
27
|
+
.add("optional string", () => {
|
|
28
|
+
optionalStringSchema.parse(long);
|
|
29
|
+
})
|
|
30
|
+
.add("nullable string", () => {
|
|
31
|
+
optionalNullableStringSchema.parse(long);
|
|
32
|
+
})
|
|
33
|
+
.add("nullable (null) string", () => {
|
|
34
|
+
optionalNullableStringSchema.parse(null);
|
|
35
|
+
})
|
|
36
|
+
.add("invalid: null", () => {
|
|
37
|
+
try {
|
|
38
|
+
stringSchema.parse(null);
|
|
39
|
+
}
|
|
40
|
+
catch (_err) { }
|
|
41
|
+
})
|
|
42
|
+
.add("manual parser: long", () => {
|
|
43
|
+
manual(long);
|
|
44
|
+
})
|
|
45
|
+
.on("cycle", (e) => {
|
|
46
|
+
console.log(`${SUITE_NAME}: ${e.target}`);
|
|
47
|
+
});
|
|
48
|
+
export default {
|
|
49
|
+
suites: [suite],
|
|
50
|
+
};
|