diff --git a/.phpactor.json b/.phpactor.json index e34ad2d4..1feae407 100644 --- a/.phpactor.json +++ b/.phpactor.json @@ -1,5 +1,6 @@ { "$schema": "/phpactor.schema.json", "php_code_sniffer.enabled": false, - "language_server_psalm.enabled": false + "language_server_psalm.enabled": false, + "language_server_phpstan.enabled": true } diff --git a/.vscode/settings.json b/.vscode/settings.json index fdb2e57f..c6a61e8d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -14,6 +14,7 @@ "glitchtip", "GLITCHTIP", "leve", + "phpstan", "Proprietes", "reponse", "requete", @@ -26,6 +27,7 @@ "tabpanel", "tete", "tseslint", + "Vali", "validite" ], "djlint.pythonPath": "/home/gcch/.local/share/pipxu/venvs/8/bin/python", diff --git a/composer.json b/composer.json index d6d475e7..d902290e 100644 --- a/composer.json +++ b/composer.json @@ -61,8 +61,9 @@ "wpackagist-theme/twentytwentyfour": "^1.0" }, "require-dev": { - "squizlabs/php_codesniffer": "^3.7.1", + "phpstan/phpstan": "^1.12", "roave/security-advisories": "dev-latest", + "squizlabs/php_codesniffer": "^3.7.1", "vimeo/psalm": "^5.25" }, "config": { diff --git a/composer.lock b/composer.lock index cb1a3940..a9a2b168 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9680ce236cff6786f09ed3d599b59f5d", + "content-hash": "880c2b87f8157527e37d8d8b87344c62", "packages": [ { "name": "composer/installers", @@ -2917,6 +2917,64 @@ }, "time": "2024-09-26T07:23:32+00:00" }, + { + "name": "phpstan/phpstan", + "version": "1.12.5", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17", + "reference": "7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + } + ], + "time": "2024-09-26T12:45:22+00:00" + }, { "name": "psr/container", "version": "2.0.2", diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 00000000..94876dc6 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,9 @@ +parameters: + level: 6 + paths: + - web/app/themes/haiku-atelier-2024 + scanDirectories: + - web/wp + - web/app/plugins + typeAliases: + InformationsProduitShop: 'array{id: int, nom: string, prix: string, photo_repos: string, photo_survol: string, url: string}' \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/archive-product.php b/web/app/themes/haiku-atelier-2024/archive-product.php index 60dd3cf0..87d60a28 100644 --- a/web/app/themes/haiku-atelier-2024/archive-product.php +++ b/web/app/themes/haiku-atelier-2024/archive-product.php @@ -13,13 +13,13 @@ require_once __DIR__ . "/src/inc/TraitementInformations.php"; $contexte = Timber::context(); $modeles = ["boutique.twig"]; -// Informations brutes des Produits +/** @var array $informations_produits Les informations brutes des Produits. */ $informations_produits = wc_get_products([ "orderby" => "date", "order" => "DESC", ]); -// Informations nécessaires pour la grille des Produits -$produits = array_map($callback = "recupere_informations_produit_shop", $array = $informations_produits); +/** @var InformationsProduitShop $produits Les informations strictement nécessaires pour la grille des Produits. */ +$produits = array_map(callback: "recupere_informations_produit_shop", array: $informations_produits); $contexte["produits"] = $produits; // Rendu diff --git a/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json b/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json index 7aa60a78..b3432f9e 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json +++ b/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json @@ -7,17 +7,6 @@ "file": "chunk-7BKSRZNG.js", "name": "chunk-7BKSRZNG" }, - "_chunk-RU7WR4KH.js": { - "file": "chunk-RU7WR4KH.js", - "name": "chunk-RU7WR4KH" - }, - "_chunk-VROY5Y5B.js": { - "file": "chunk-VROY5Y5B.js", - "name": "chunk-VROY5Y5B", - "imports": [ - "_chunk-RU7WR4KH.js" - ] - }, "_exports.js": { "file": "exports.js", "name": "exports" @@ -43,7 +32,7 @@ "isEntry": true }, "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": { - "file": "messages2.js", + "file": "messages3.js", "name": "messages", "src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "isEntry": true @@ -106,19 +95,27 @@ "_Either.js" ] }, + "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts": { + "file": "messages.js", + "name": "messages", + "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts", + "isEntry": true, + "imports": [ + "_index.js", + "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", + "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", + "_Either.js", + "_exports.js", + "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts" + ] + }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts": { "file": "reseau.js", "name": "reseau", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts", "isEntry": true, "imports": [ - "_chunk-7BKSRZNG.js", - "_index2.js", - "_index.js", - "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", - "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", - "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/erreurs.ts", - "_exports.js" + "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts" ] }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart-add-item.ts": { @@ -158,7 +155,7 @@ ] }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts": { - "file": "messages.js", + "file": "messages2.js", "name": "messages", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", "isEntry": true, @@ -186,18 +183,17 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts", "isEntry": true, "imports": [ - "_chunk-RU7WR4KH.js", - "_chunk-VROY5Y5B.js", "_chunk-7BKSRZNG.js", - "_index.js", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", + "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts", - "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", + "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "_exports.js", "_Either.js", - "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts" + "_index.js", + "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts" ] }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": { @@ -206,22 +202,24 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts", "isEntry": true, "imports": [ - "_chunk-RU7WR4KH.js", + "_index2.js", "_chunk-7BKSRZNG.js", "_index.js", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", + "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts", + "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart-remove-item.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart.ts", + "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts", "_Either.js", "_exports.js", - "_index2.js", - "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/erreurs.ts" + "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts" ] }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": { @@ -230,13 +228,12 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts", "isEntry": true, "imports": [ - "_chunk-RU7WR4KH.js", - "_chunk-VROY5Y5B.js", - "_chunk-7BKSRZNG.js", "_index2.js", + "_chunk-7BKSRZNG.js", "_index.js", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", + "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts", diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js index b8be9543..a37fd6b3 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js @@ -1,2 +1,2 @@ -import{o as s,a as t,p as o,n as a,b as m,c as r}from"./index.js";const n=s({attribute:r(),value:r()}),i=s({id:t(a()),quantity:t(a()),variation:t(m(n))}),d=e=>o(i,e);export{d as p}; +import{o as s,a as t,p as o,n as a,b as m,s as r}from"./index.js";const n=s({attribute:r(),value:r()}),i=s({id:t(a()),quantity:t(a()),variation:t(m(n))}),p=e=>o(i,e);export{p}; //# sourceMappingURL=cart-add-item.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js index 4735245b..50728a02 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js @@ -1,2 +1,2 @@ -import{o as e,c as o}from"./index.js";const r=e({key:o()});export{r as W}; +import{o as e,s as o}from"./index.js";const r=e({key:o()});export{r as W}; //# sourceMappingURL=cart-remove-item.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart.js b/web/app/themes/haiku-atelier-2024/assets/js/cart.js index a7cd7099..7b081207 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart.js @@ -1,2 +1,2 @@ -import{o as a,c as e,u as i,n,d as s,b as t,e as r,i as o}from"./index.js";a({name:e(),package_id:i([n(),e()])});const m=a({billing_address:s(),coupons:s(),cross_sells:s(),errors:s(),extensions:s(),fees:s(),has_calculated_shipping:s(),items:t(s()),items_count:r(n(),o()),items_weight:s(),needs_payment:s(),needs_shipping:s(),payment_methods:s(),payment_requirements:s(),shipping_address:s(),shipping_rates:s(),totals:s()});export{m as W}; +import{o as a,s as e,u as i,n,c as s,b as t,d as r,i as o}from"./index.js";a({name:e(),package_id:i([n(),e()])});const m=a({billing_address:s(),coupons:s(),cross_sells:s(),errors:s(),extensions:s(),fees:s(),has_calculated_shipping:s(),items:t(s()),items_count:r(n(),o()),items_weight:s(),needs_payment:s(),needs_shipping:s(),payment_methods:s(),payment_requirements:s(),shipping_address:s(),shipping_rates:s(),totals:s()});export{m as W}; //# sourceMappingURL=cart.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/chunk-RU7WR4KH.js b/web/app/themes/haiku-atelier-2024/assets/js/chunk-RU7WR4KH.js deleted file mode 100644 index fbc6103b..00000000 --- a/web/app/themes/haiku-atelier-2024/assets/js/chunk-RU7WR4KH.js +++ /dev/null @@ -1,2 +0,0 @@ -function o(r,t,e){let n=u=>r(u,...t);return e===void 0?n:Object.assign(n,{lazy:e,lazyArgs:t})}function i(r,t,e){let n=r.length-t.length;if(n===0)return r(...t);if(n===1)return o(r,t,e);throw new Error("Wrong number of arguments")}function g(...r){return i(f,r)}function f(r,t){return t(r),r}export{g as r,i as u}; -//# sourceMappingURL=chunk-RU7WR4KH.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/chunk-RU7WR4KH.js.map b/web/app/themes/haiku-atelier-2024/assets/js/chunk-RU7WR4KH.js.map deleted file mode 100644 index 55033b53..00000000 --- a/web/app/themes/haiku-atelier-2024/assets/js/chunk-RU7WR4KH.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"chunk-RU7WR4KH.js","sources":["../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-K26VP6CL.js","../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-RAAYCPUM.js","../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-RU7WR4KH.js"],"sourcesContent":["function u(t,n,a){let o=r=>t(r,...n);return a===void 0?o:Object.assign(o,{lazy:a,lazyArgs:n})}export{u as a};\n","import{a as t}from\"./chunk-K26VP6CL.js\";function u(r,n,a){let o=r.length-n.length;if(o===0)return r(...n);if(o===1)return t(r,n,a);throw new Error(\"Wrong number of arguments\")}export{u as a};\n","import{a as t}from\"./chunk-RAAYCPUM.js\";function r(...n){return t(e,n)}function e(n,o){return o(n),n}export{r as a};\n"],"names":["u","t","n","a","o","r","e"],"mappings":"AAAA,SAASA,EAAEC,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAEC,GAAGJ,EAAEI,EAAE,GAAGH,CAAC,EAAE,OAAOC,IAAI,OAAOC,EAAE,OAAO,OAAOA,EAAE,CAAC,KAAKD,EAAE,SAASD,CAAC,CAAC,CAAC,CCArD,SAASF,EAAE,EAAEE,EAAEC,EAAE,CAAC,IAAIC,EAAE,EAAE,OAAOF,EAAE,OAAO,GAAGE,IAAI,EAAE,OAAO,EAAE,GAAGF,CAAC,EAAE,GAAGE,IAAI,EAAE,OAAOH,EAAE,EAAEC,EAAEC,CAAC,EAAE,MAAM,IAAI,MAAM,2BAA2B,CAAC,CCAvI,SAASE,KAAKH,EAAE,CAAC,OAAOD,EAAEK,EAAEJ,CAAC,CAAC,CAAC,SAASI,EAAEJ,EAAEE,EAAE,CAAC,OAAOA,EAAEF,CAAC,EAAEA,CAAC","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/chunk-VROY5Y5B.js b/web/app/themes/haiku-atelier-2024/assets/js/chunk-VROY5Y5B.js deleted file mode 100644 index 9bbf7933..00000000 --- a/web/app/themes/haiku-atelier-2024/assets/js/chunk-VROY5Y5B.js +++ /dev/null @@ -1,2 +0,0 @@ -import{u as o}from"./chunk-RU7WR4KH.js";function u(...r){return o(n,r)}var n=(r,t)=>r[t];export{u as p}; -//# sourceMappingURL=chunk-VROY5Y5B.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/chunk-VROY5Y5B.js.map b/web/app/themes/haiku-atelier-2024/assets/js/chunk-VROY5Y5B.js.map deleted file mode 100644 index 7ecd6a71..00000000 --- a/web/app/themes/haiku-atelier-2024/assets/js/chunk-VROY5Y5B.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"chunk-VROY5Y5B.js","sources":["../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-VROY5Y5B.js"],"sourcesContent":["import{a as n}from\"./chunk-RAAYCPUM.js\";function p(...o){return n(t,o)}var t=(o,e)=>o[e];export{p as a,t as b};\n"],"names":["p","o","n","t","e"],"mappings":"wCAAwC,SAASA,KAAKC,EAAE,CAAC,OAAOC,EAAEC,EAAEF,CAAC,CAAC,CAAC,IAAIE,EAAE,CAACF,EAAEG,IAAIH,EAAEG,CAAC","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/dom.js b/web/app/themes/haiku-atelier-2024/assets/js/dom.js index 9e296f36..6c9b4529 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/dom.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/dom.js @@ -1,2 +1,2 @@ -const E="aria-selected",T="hidden",a="data-contient-articles",t="disabled",s="data-cle-panier",_=".compte-panier a[rel='cart']",o="#selecteur-variation",e="#bouton-ajout-panier",n="a[role='tab']",c="section[role='tabpanel']",R="article",S="button.detail-produit__actions__suppression";export{a as A,_ as S,R as a,s as b,S as c,e as d,o as e,n as f,c as g,E as h,T as i,t as j}; +const E="aria-selected",T="hidden",a="data-contient-articles",s="disabled",t="data-cle-panier",_="#page-panier",e=".compte-panier a[rel='cart']",n="#selecteur-variation",o="#bouton-ajout-panier",R="a[role='tab']",c="section[role='tabpanel']",N="article",S="button.detail-produit__actions__suppression";export{a as A,e as S,N as a,_ as b,t as c,S as d,o as e,n as f,R as g,c as h,E as i,T as j,s as k}; //# sourceMappingURL=dom.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map b/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map index 43b66b43..0d6f0bd7 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map @@ -1 +1 @@ -{"version":3,"file":"dom.js","sources":["../../src/scripts/constantes/dom.ts"],"sourcesContent":["/** Constantes de valeurs pour la manipulation du DOM : sélecteurs et attributs. */\n\nexport const ATTRIBUT_ARIA_SELECTED = \"aria-selected\";\nexport const ATTRIBUT_ARIA_HIDDEN = \"aria-hidden\";\nexport const ATTRIBUT_HIDDEN = \"hidden\";\nexport const ATTRIBUT_CONTIENT_ARTICLES = \"data-contient-articles\";\nexport const ATTRIBUT_DESACTIVE = \"disabled\";\nexport const ATTRIBUT_CLE_PANIER = \"data-cle-panier\";\n\nexport const SELECTEUR_BOUTON_PANIER = \".compte-panier a[rel='cart']\";\nexport const SELECTEUR_SELECTEUR_QUANTITE = \"#selecteur-variation\";\nexport const SELECTEUR_BOUTON_AJOUT_PANIER = \"#bouton-ajout-panier\";\nexport const SELECTEUR_LIENS_ONGLETS = \"a[role='tab']\";\nexport const SELECTEUR_SECTIONS_CONTENUS = \"section[role='tabpanel']\";\n\n// Panier\nexport const SELECTEUR_ENTREES_PANIER = \"article\";\nexport const SELECTEUR_BOUTON_SUPPRESSION_PANIER = \"button.detail-produit__actions__suppression\";\n"],"names":["ATTRIBUT_ARIA_SELECTED","ATTRIBUT_HIDDEN","ATTRIBUT_CONTIENT_ARTICLES","ATTRIBUT_DESACTIVE","ATTRIBUT_CLE_PANIER","SELECTEUR_BOUTON_PANIER","SELECTEUR_SELECTEUR_QUANTITE","SELECTEUR_BOUTON_AJOUT_PANIER","SELECTEUR_LIENS_ONGLETS","SELECTEUR_SECTIONS_CONTENUS","SELECTEUR_ENTREES_PANIER","SELECTEUR_BOUTON_SUPPRESSION_PANIER"],"mappings":"AAEO,MAAMA,EAAyB,gBAEzBC,EAAkB,SAClBC,EAA6B,yBAC7BC,EAAqB,WACrBC,EAAsB,kBAEtBC,EAA0B,+BAC1BC,EAA+B,uBAC/BC,EAAgC,uBAChCC,EAA0B,gBAC1BC,EAA8B,2BAG9BC,EAA2B,UAC3BC,EAAsC"} \ No newline at end of file +{"version":3,"file":"dom.js","sources":["../../src/scripts/constantes/dom.ts"],"sourcesContent":["/** Constantes de valeurs pour la manipulation du DOM : sélecteurs et attributs. */\n\nexport const ATTRIBUT_ARIA_SELECTED = \"aria-selected\";\nexport const ATTRIBUT_ARIA_HIDDEN = \"aria-hidden\";\nexport const ATTRIBUT_HIDDEN = \"hidden\";\nexport const ATTRIBUT_CONTIENT_ARTICLES = \"data-contient-articles\";\nexport const ATTRIBUT_DESACTIVE = \"disabled\";\nexport const ATTRIBUT_CLE_PANIER = \"data-cle-panier\";\n\nexport const SELECTEUR_CONTENEUR_PANIER = \"#page-panier\";\nexport const SELECTEUR_BOUTON_PANIER = \".compte-panier a[rel='cart']\";\nexport const SELECTEUR_SELECTEUR_QUANTITE = \"#selecteur-variation\";\nexport const SELECTEUR_BOUTON_AJOUT_PANIER = \"#bouton-ajout-panier\";\nexport const SELECTEUR_LIENS_ONGLETS = \"a[role='tab']\";\nexport const SELECTEUR_SECTIONS_CONTENUS = \"section[role='tabpanel']\";\n\n// Panier\nexport const SELECTEUR_ENTREES_PANIER = \"article\";\nexport const SELECTEUR_BOUTON_SUPPRESSION_PANIER = \"button.detail-produit__actions__suppression\";\n"],"names":["ATTRIBUT_ARIA_SELECTED","ATTRIBUT_HIDDEN","ATTRIBUT_CONTIENT_ARTICLES","ATTRIBUT_DESACTIVE","ATTRIBUT_CLE_PANIER","SELECTEUR_CONTENEUR_PANIER","SELECTEUR_BOUTON_PANIER","SELECTEUR_SELECTEUR_QUANTITE","SELECTEUR_BOUTON_AJOUT_PANIER","SELECTEUR_LIENS_ONGLETS","SELECTEUR_SECTIONS_CONTENUS","SELECTEUR_ENTREES_PANIER","SELECTEUR_BOUTON_SUPPRESSION_PANIER"],"mappings":"AAEO,MAAMA,EAAyB,gBAEzBC,EAAkB,SAClBC,EAA6B,yBAC7BC,EAAqB,WACrBC,EAAsB,kBAEtBC,EAA6B,eAC7BC,EAA0B,+BAC1BC,EAA+B,uBAC/BC,EAAgC,uBAChCC,EAA0B,gBAC1BC,EAA8B,2BAG9BC,EAA2B,UAC3BC,EAAsC"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js b/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js index 9218afbc..a9143153 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js @@ -1,2 +1,2 @@ -import{f as t,o as s,n as r,c as o}from"./index.js";const c=s({code:o(),data:s({status:r()}),message:o()}),e=s({body:c,status:r()}),n=a=>t(e,a);export{n as i}; +import{e as t,o as s,n as r,s as o}from"./index.js";const e=s({code:o(),data:s({status:r()}),message:o()}),c=s({body:e,status:r()}),n=a=>t(c,a);export{n as i}; //# sourceMappingURL=erreurs2.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/index.js b/web/app/themes/haiku-atelier-2024/assets/js/index.js index 50008aa0..78ecf0c1 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/index.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/index.js @@ -1,2 +1,2 @@ -var m=Object.defineProperty;var g=(s,n,e)=>n in s?m(s,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[n]=e;var d=(s,n,e)=>g(s,typeof n!="symbol"?n+"":n,e);var y;function f(s){return{lang:s?.lang??y?.lang,message:s?.message,abortEarly:s?.abortEarly??y?.abortEarly,abortPipeEarly:s?.abortPipeEarly??y?.abortPipeEarly}}var k;function E(s){return k?.get(s)}var x;function j(s){return x?.get(s)}var D;function $(s,n){return D?.get(s)?.get(n)}function v(s){const n=typeof s;return n==="string"?`"${s}"`:n==="number"||n==="bigint"||n==="boolean"?`${s}`:n==="object"||n==="function"?(s&&Object.getPrototypeOf(s)?.constructor?.name)??"null":n}function c(s,n,e,r,i){const t=i&&"input"in i?i.input:e.value,l=i?.expected??s.expects??null,a=i?.received??v(t),u={kind:s.kind,type:s.type,input:t,expected:l,received:a,message:`Invalid ${n}: ${l?`Expected ${l} but r`:"R"}eceived ${a}`,requirement:s.requirement,path:i?.path,issues:i?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},o=s.kind==="schema",p=i?.message??s.message??$(s.reference,u.lang)??(o?j(u.lang):null)??r.message??E(u.lang);p&&(u.message=typeof p=="function"?p(u):p),o&&(e.typed=!1),e.issues?e.issues.push(u):e.issues=[u]}function b(s,n){const e=[...new Set(s)];return e.length>1?`(${e.join(` ${n} `)})`:e[0]??"never"}var P=class extends Error{constructor(n){super(n[0].message);d(this,"issues");this.name="ValiError",this.issues=n}};function N(s){return{kind:"validation",type:"integer",reference:N,async:!1,expects:null,requirement:Number.isInteger,message:s,"~validate"(n,e){return n.typed&&!this.requirement(n.value)&&c(this,"integer",n,e),n}}}function w(s,n){return{kind:"validation",type:"value",reference:w,async:!1,expects:s instanceof Date?s.toJSON():v(s),requirement:s,message:n,"~validate"(e,r){return e.typed&&!(this.requirement<=e.value&&this.requirement>=e.value)&&c(this,"value",e,r,{received:e.value instanceof Date?e.value.toJSON():v(e.value)}),e}}}function I(s,n,e){return typeof s.default=="function"?s.default(n,e):s.default}function C(s,n){return!s["~validate"]({value:n},{abortEarly:!0}).issues}function O(s,n){return{kind:"schema",type:"array",reference:O,expects:"Array",async:!1,item:s,message:n,"~standard":1,"~vendor":"valibot","~validate"(e,r=f()){const i=e.value;if(Array.isArray(i)){e.typed=!0,e.value=[];for(let t=0;tisNaN(+r)).map(([,r])=>r);return{kind:"schema",type:"enum",reference:S,expects:b(e.map(v),"|"),async:!1,enum:s,options:e,message:n,"~standard":1,"~vendor":"valibot","~validate"(r,i=f()){return this.options.includes(r.value)?r.typed=!0:c(this,"type",r,i),r}}}function q(s){return{kind:"schema",type:"number",reference:q,expects:"number",async:!1,message:s,"~standard":1,"~vendor":"valibot","~validate"(n,e=f()){return typeof n.value=="number"&&!isNaN(n.value)?n.typed=!0:c(this,"type",n,e),n}}}function A(s,n){return{kind:"schema",type:"object",reference:A,expects:"Object",async:!1,entries:s,message:n,"~standard":1,"~vendor":"valibot","~validate"(e,r=f()){const i=e.value;if(i&&typeof i=="object"){e.typed=!0,e.value={};for(const t in this.entries){const l=i[t],a=this.entries[t]["~validate"]({value:l},r);if(a.issues){const u={type:"object",origin:"value",input:i,key:t,value:l};for(const o of a.issues)o.path?o.path.unshift(u):o.path=[u],e.issues?.push(o);if(e.issues||(e.issues=a.issues),r.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),(a.value!==void 0||t in i)&&(e.value[t]=a.value)}}else c(this,"type",e,r);return e}}}function M(s,...n){const e={kind:"schema",type:"optional",reference:M,expects:`(${s.expects} | undefined)`,async:!1,wrapped:s,"~standard":1,"~vendor":"valibot","~validate"(r,i=f()){return r.value===void 0&&("default"in this&&(r.value=I(this,r,i)),r.value===void 0)?(r.typed=!0,r):this.wrapped["~validate"](r,i)}};return 0 in n&&(e.default=n[0]),e}function _(s){return{kind:"schema",type:"string",reference:_,expects:"string",async:!1,message:s,"~standard":1,"~vendor":"valibot","~validate"(n,e=f()){return typeof n.value=="string"?n.typed=!0:c(this,"type",n,e),n}}}function h(s){let n;if(s)for(const e of s)n?n.push(...e.issues):n=e.issues;return n}function G(s,n){return{kind:"schema",type:"union",reference:G,expects:b(s.map(e=>e.expects),"|"),async:!1,options:s,message:n,"~standard":1,"~vendor":"valibot","~validate"(e,r=f()){let i,t,l;for(const a of this.options){const u=a["~validate"]({value:e.value},r);if(u.typed)if(u.issues)t?t.push(u):t=[u];else{i=u;break}else l?l.push(u):l=[u]}if(i)return i;if(t){if(t.length===1)return t[0];c(this,"type",e,r,{issues:h(t)}),e.typed=!0}else{if(l?.length===1)return l[0];c(this,"type",e,r,{issues:h(l)})}return e}}}function J(){return{kind:"schema",type:"unknown",reference:J,expects:"unknown",async:!1,"~standard":1,"~vendor":"valibot","~validate"(s){return s.typed=!0,s}}}function R(s,n,e){const r=s["~validate"]({value:n},f(e));if(r.issues)throw new P(r.issues);return r.value}function z(...s){return{...s[0],pipe:s,"~validate"(n,e=f()){for(const r of s)if(r.kind!=="metadata"){if(n.issues&&(r.kind==="schema"||r.kind==="transformation")){n.typed=!1;break}(!n.issues||!e.abortEarly&&!e.abortPipeEarly)&&(n=r["~validate"](n,e))}return n}}}function B(s,n,e){const r=s["~validate"]({value:n},f(e));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}export{M as a,O as b,_ as c,J as d,z as e,C as f,S as g,N as i,q as n,A as o,R as p,B as s,G as u,w as v}; +var m=Object.defineProperty;var g=(s,n,e)=>n in s?m(s,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[n]=e;var h=(s,n,e)=>g(s,typeof n!="symbol"?n+"":n,e);var y;function p(s){return{lang:s?.lang??y?.lang,message:s?.message,abortEarly:s?.abortEarly??y?.abortEarly,abortPipeEarly:s?.abortPipeEarly??y?.abortPipeEarly}}var k;function E(s){return k?.get(s)}var x;function j(s){return x?.get(s)}var D;function $(s,n){return D?.get(s)?.get(n)}function v(s){const n=typeof s;return n==="string"?`"${s}"`:n==="number"||n==="bigint"||n==="boolean"?`${s}`:n==="object"||n==="function"?(s&&Object.getPrototypeOf(s)?.constructor?.name)??"null":n}function f(s,n,e,r,i){const t=i&&"input"in i?i.input:e.value,l=i?.expected??s.expects??null,a=i?.received??v(t),u={kind:s.kind,type:s.type,input:t,expected:l,received:a,message:`Invalid ${n}: ${l?`Expected ${l} but r`:"R"}eceived ${a}`,requirement:s.requirement,path:i?.path,issues:i?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},o=s.kind==="schema",c=i?.message??s.message??$(s.reference,u.lang)??(o?j(u.lang):null)??r.message??E(u.lang);c&&(u.message=typeof c=="function"?c(u):c),o&&(e.typed=!1),e.issues?e.issues.push(u):e.issues=[u]}function d(s,n){const e=[...new Set(s)];return e.length>1?`(${e.join(` ${n} `)})`:e[0]??"never"}var N=class extends Error{constructor(n){super(n[0].message);h(this,"issues");this.name="ValiError",this.issues=n}};function P(s){return{kind:"validation",type:"integer",reference:P,async:!1,expects:null,requirement:Number.isInteger,message:s,"~validate"(n,e){return n.typed&&!this.requirement(n.value)&&f(this,"integer",n,e),n}}}function w(s,n){return{kind:"validation",type:"value",reference:w,async:!1,expects:s instanceof Date?s.toJSON():v(s),requirement:s,message:n,"~validate"(e,r){return e.typed&&!(this.requirement<=e.value&&this.requirement>=e.value)&&f(this,"value",e,r,{received:e.value instanceof Date?e.value.toJSON():v(e.value)}),e}}}function I(s,n,e){return typeof s.default=="function"?s.default(n,e):s.default}function C(s,n){return!s["~validate"]({value:n},{abortEarly:!0}).issues}function O(s,n){return{kind:"schema",type:"array",reference:O,expects:"Array",async:!1,item:s,message:n,"~standard":1,"~vendor":"valibot","~validate"(e,r=p()){const i=e.value;if(Array.isArray(i)){e.typed=!0,e.value=[];for(let t=0;tisNaN(+r)).map(([,r])=>r);return{kind:"schema",type:"enum",reference:S,expects:d(e.map(v),"|"),async:!1,enum:s,options:e,message:n,"~standard":1,"~vendor":"valibot","~validate"(r,i=p()){return this.options.includes(r.value)?r.typed=!0:f(this,"type",r,i),r}}}function q(s){return{kind:"schema",type:"number",reference:q,expects:"number",async:!1,message:s,"~standard":1,"~vendor":"valibot","~validate"(n,e=p()){return typeof n.value=="number"&&!isNaN(n.value)?n.typed=!0:f(this,"type",n,e),n}}}function A(s,n){return{kind:"schema",type:"object",reference:A,expects:"Object",async:!1,entries:s,message:n,"~standard":1,"~vendor":"valibot","~validate"(e,r=p()){const i=e.value;if(i&&typeof i=="object"){e.typed=!0,e.value={};for(const t in this.entries){const l=i[t],a=this.entries[t]["~validate"]({value:l},r);if(a.issues){const u={type:"object",origin:"value",input:i,key:t,value:l};for(const o of a.issues)o.path?o.path.unshift(u):o.path=[u],e.issues?.push(o);if(e.issues||(e.issues=a.issues),r.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),(a.value!==void 0||t in i)&&(e.value[t]=a.value)}}else f(this,"type",e,r);return e}}}function M(s,...n){const e={kind:"schema",type:"optional",reference:M,expects:`(${s.expects} | undefined)`,async:!1,wrapped:s,"~standard":1,"~vendor":"valibot","~validate"(r,i=p()){return r.value===void 0&&("default"in this&&(r.value=I(this,r,i)),r.value===void 0)?(r.typed=!0,r):this.wrapped["~validate"](r,i)}};return 0 in n&&(e.default=n[0]),e}function _(s){return{kind:"schema",type:"string",reference:_,expects:"string",async:!1,message:s,"~standard":1,"~vendor":"valibot","~validate"(n,e=p()){return typeof n.value=="string"?n.typed=!0:f(this,"type",n,e),n}}}function b(s){let n;if(s)for(const e of s)n?n.push(...e.issues):n=e.issues;return n}function G(s,n){return{kind:"schema",type:"union",reference:G,expects:d(s.map(e=>e.expects),"|"),async:!1,options:s,message:n,"~standard":1,"~vendor":"valibot","~validate"(e,r=p()){let i,t,l;for(const a of this.options){const u=a["~validate"]({value:e.value},r);if(u.typed)if(u.issues)t?t.push(u):t=[u];else{i=u;break}else l?l.push(u):l=[u]}if(i)return i;if(t){if(t.length===1)return t[0];f(this,"type",e,r,{issues:b(t)}),e.typed=!0}else{if(l?.length===1)return l[0];f(this,"type",e,r,{issues:b(l)})}return e}}}function J(){return{kind:"schema",type:"unknown",reference:J,expects:"unknown",async:!1,"~standard":1,"~vendor":"valibot","~validate"(s){return s.typed=!0,s}}}function R(s,n,e){const r=s["~validate"]({value:n},p(e));if(r.issues)throw new N(r.issues);return r.value}function z(...s){return{...s[0],pipe:s,"~validate"(n,e=p()){for(const r of s)if(r.kind!=="metadata"){if(n.issues&&(r.kind==="schema"||r.kind==="transformation")){n.typed=!1;break}(!n.issues||!e.abortEarly&&!e.abortPipeEarly)&&(n=r["~validate"](n,e))}return n}}}export{M as a,O as b,J as c,z as d,C as e,S as f,P as i,q as n,A as o,R as p,_ as s,G as u,w as v}; //# sourceMappingURL=index.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/index.js.map b/web/app/themes/haiku-atelier-2024/assets/js/index.js.map index 72c85985..b8b8987c 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/index.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../../../../../../node_modules/.pnpm/valibot@1.0.0-beta.0_typescript@5.6.2/node_modules/valibot/dist/index.js"],"sourcesContent":["// src/actions/await/awaitAsync.ts\nfunction awaitAsync() {\n return {\n kind: \"transformation\",\n type: \"await\",\n reference: awaitAsync,\n async: true,\n async \"~validate\"(dataset) {\n dataset.value = await dataset.value;\n return dataset;\n }\n };\n}\n\n// src/regex.ts\nvar BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^[+-]?\\d+(?:\\.\\d+)?$/u;\nvar DIGITS_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex, regexp/no-dupe-disjunctions -- false positives\n /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}))*)+$/u\n);\nvar HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-f]+$/iu;\nvar HEX_COLOR_REGEX = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$/iu;\nvar IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z|[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar MAC_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$|^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar NANO_ID_REGEX = /^[\\w-]+$/u;\nvar OCTAL_REGEX = /^(?:0o)?[0-7]+$/iu;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-z]{26}$/iu;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config2) {\n store = { ...store, ...config2 };\n}\nfunction getGlobalConfig(config2) {\n return {\n lang: config2?.lang ?? store?.lang,\n message: config2?.message,\n abortEarly: config2?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config2?.abortPipeEarly ?? store?.abortPipeEarly\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message, lang) {\n if (!store2) store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message);\n}\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message, lang) {\n if (!store3) store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message);\n}\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message, lang) {\n if (!store4) store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference)) store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message);\n}\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/_stringify/_stringify.ts\nfunction _stringify(input) {\n const type = typeof input;\n if (type === \"string\") {\n return `\"${input}\"`;\n }\n if (type === \"number\" || type === \"bigint\" || type === \"boolean\") {\n return `${input}`;\n }\n if (type === \"object\" || type === \"function\") {\n return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n }\n return type;\n}\n\n// src/utils/_addIssue/_addIssue.ts\nfunction _addIssue(context, label, dataset, config2, other) {\n const input = other && \"input\" in other ? other.input : dataset.value;\n const expected = other?.expected ?? context.expects ?? null;\n const received = other?.received ?? _stringify(input);\n const issue = {\n kind: context.kind,\n type: context.type,\n input,\n expected,\n received,\n message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n requirement: context.requirement,\n path: other?.path,\n issues: other?.issues,\n lang: config2.lang,\n abortEarly: config2.abortEarly,\n abortPipeEarly: config2.abortPipeEarly\n };\n const isSchema = context.kind === \"schema\";\n const message = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config2.message ?? getGlobalMessage(issue.lang);\n if (message) {\n issue.message = typeof message === \"function\" ? (\n // @ts-expect-error\n message(issue)\n ) : message;\n }\n if (isSchema) {\n dataset.typed = false;\n }\n if (dataset.issues) {\n dataset.issues.push(issue);\n } else {\n dataset.issues = [issue];\n }\n}\n\n// src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\nfunction _isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/_isValidObjectKey/_isValidObjectKey.ts\nfunction _isValidObjectKey(object2, key) {\n return Object.hasOwn(object2, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n// src/utils/_joinExpects/_joinExpects.ts\nfunction _joinExpects(values, separator) {\n const list = [...new Set(values)];\n if (list.length > 1) {\n return `(${list.join(` ${separator} `)})`;\n }\n return list[0] ?? \"never\";\n}\n\n// src/utils/entriesFromList/entriesFromList.ts\nfunction entriesFromList(list, schema) {\n const entries = {};\n for (const key of list) {\n entries[key] = schema;\n }\n return entries;\n}\n\n// src/utils/getDotPath/getDotPath.ts\nfunction getDotPath(issue) {\n if (issue.path) {\n let key = \"\";\n for (const item of issue.path) {\n if (typeof item.key === \"string\" || typeof item.key === \"number\") {\n if (key) {\n key += `.${item.key}`;\n } else {\n key += item.key;\n }\n } else {\n return null;\n }\n }\n return key;\n }\n return null;\n}\n\n// src/utils/isOfKind/isOfKind.ts\nfunction isOfKind(kind, object2) {\n return object2.kind === kind;\n}\n\n// src/utils/isOfType/isOfType.ts\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/isValiError/isValiError.ts\nfunction isValiError(error) {\n return error instanceof ValiError;\n}\n\n// src/utils/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n /**\n * The error issues.\n */\n issues;\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/actions/base64/base64.ts\nfunction base64(message) {\n return {\n kind: \"validation\",\n type: \"base64\",\n reference: base64,\n async: false,\n expects: null,\n requirement: BASE64_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Base64\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/bic/bic.ts\nfunction bic(message) {\n return {\n kind: \"validation\",\n type: \"bic\",\n reference: bic,\n async: false,\n expects: null,\n requirement: BIC_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"BIC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/brand/brand.ts\nfunction brand(name) {\n return {\n kind: \"transformation\",\n type: \"brand\",\n reference: brand,\n async: false,\n name,\n \"~validate\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/bytes/bytes.ts\nfunction bytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"bytes\",\n reference: bytes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 !== this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/check.ts\nfunction check(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: check,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/checkAsync.ts\nfunction checkAsync(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: checkAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~validate\"(dataset, config2) {\n if (dataset.typed && !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItems.ts\nfunction checkItems(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItems,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n for (let index = 0; index < dataset.value.length; index++) {\n const item = dataset.value[index];\n if (!this.requirement(item, index, dataset.value)) {\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/creditCard/creditCard.ts\nvar CREDIT_CARD_REGEX = /^(?:\\d{14,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\nvar SANITIZE_REGEX = /[- ]/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n /^5[1-5]\\d{2}|(?:222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\nfunction creditCard(message) {\n return {\n kind: \"validation\",\n type: \"credit_card\",\n reference: creditCard,\n async: false,\n expects: null,\n requirement(input) {\n let sanitized;\n return CREDIT_CARD_REGEX.test(input) && // Remove any hyphens and blanks\n (sanitized = input.replace(SANITIZE_REGEX, \"\")) && // Check if it matches a provider\n PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && // Check if passes luhn algorithm\n _isLuhnAlgo(sanitized);\n },\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"credit card\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/cuid2/cuid2.ts\nfunction cuid2(message) {\n return {\n kind: \"validation\",\n type: \"cuid2\",\n reference: cuid2,\n async: false,\n expects: null,\n requirement: CUID2_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Cuid2\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/decimal/decimal.ts\nfunction decimal(message) {\n return {\n kind: \"validation\",\n type: \"decimal\",\n reference: decimal,\n async: false,\n expects: null,\n requirement: DECIMAL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"decimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/description/description.ts\nfunction description(description_) {\n return {\n kind: \"metadata\",\n type: \"description\",\n reference: description,\n description: description_\n };\n}\n\n// src/actions/digits/digits.ts\nfunction digits(message) {\n return {\n kind: \"validation\",\n type: \"digits\",\n reference: digits,\n async: false,\n expects: null,\n requirement: DIGITS_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"digits\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/email/email.ts\nfunction email(message) {\n return {\n kind: \"validation\",\n type: \"email\",\n reference: email,\n expects: null,\n async: false,\n requirement: EMAIL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/emoji/emoji.ts\nfunction emoji(message) {\n return {\n kind: \"validation\",\n type: \"emoji\",\n reference: emoji,\n async: false,\n expects: null,\n requirement: EMOJI_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"emoji\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/empty/empty.ts\nfunction empty(message) {\n return {\n kind: \"validation\",\n type: \"empty\",\n reference: empty,\n async: false,\n expects: \"0\",\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/endsWith/endsWith.ts\nfunction endsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"ends_with\",\n reference: endsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.endsWith(this.requirement)) {\n _addIssue(this, \"end\", dataset, config2, {\n received: `\"${dataset.value.slice(-this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/everyItem/everyItem.ts\nfunction everyItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"every_item\",\n reference: everyItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.every(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/excludes/excludes.ts\nfunction excludes(requirement, message) {\n const received = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"excludes\",\n reference: excludes,\n async: false,\n expects: `!${received}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, { received });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/filterItems/filterItems.ts\nfunction filterItems(operation) {\n return {\n kind: \"transformation\",\n type: \"filter_items\",\n reference: filterItems,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.filter(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/findItem/findItem.ts\nfunction findItem(operation) {\n return {\n kind: \"transformation\",\n type: \"find_item\",\n reference: findItem,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.find(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/finite/finite.ts\nfunction finite(message) {\n return {\n kind: \"validation\",\n type: \"finite\",\n reference: finite,\n async: false,\n expects: null,\n requirement: Number.isFinite,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"finite\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\nfunction hash(types, message) {\n return {\n kind: \"validation\",\n type: \"hash\",\n reference: hash,\n expects: null,\n async: false,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hash\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexadecimal/hexadecimal.ts\nfunction hexadecimal(message) {\n return {\n kind: \"validation\",\n type: \"hexadecimal\",\n reference: hexadecimal,\n async: false,\n expects: null,\n requirement: HEXADECIMAL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hexadecimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexColor/hexColor.ts\nfunction hexColor(message) {\n return {\n kind: \"validation\",\n type: \"hex_color\",\n reference: hexColor,\n async: false,\n expects: null,\n requirement: HEX_COLOR_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hex color\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/imei/imei.ts\nfunction imei(message) {\n return {\n kind: \"validation\",\n type: \"imei\",\n reference: imei,\n async: false,\n expects: null,\n requirement(input) {\n return IMEI_REGEX.test(input) && _isLuhnAlgo(input);\n },\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"IMEI\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/includes/includes.ts\nfunction includes(requirement, message) {\n const expects = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"includes\",\n reference: includes,\n async: false,\n expects,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, {\n received: `!${expects}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/integer/integer.ts\nfunction integer(message) {\n return {\n kind: \"validation\",\n type: \"integer\",\n reference: integer,\n async: false,\n expects: null,\n requirement: Number.isInteger,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ip/ip.ts\nfunction ip(message) {\n return {\n kind: \"validation\",\n type: \"ip\",\n reference: ip,\n async: false,\n expects: null,\n requirement: IP_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IP\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv4/ipv4.ts\nfunction ipv4(message) {\n return {\n kind: \"validation\",\n type: \"ipv4\",\n reference: ipv4,\n async: false,\n expects: null,\n requirement: IPV4_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv4\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv6/ipv6.ts\nfunction ipv6(message) {\n return {\n kind: \"validation\",\n type: \"ipv6\",\n reference: ipv6,\n async: false,\n expects: null,\n requirement: IPV6_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv6\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDate/isoDate.ts\nfunction isoDate(message) {\n return {\n kind: \"validation\",\n type: \"iso_date\",\n reference: isoDate,\n async: false,\n expects: null,\n requirement: ISO_DATE_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDateTime/isoDateTime.ts\nfunction isoDateTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_date_time\",\n reference: isoDateTime,\n async: false,\n expects: null,\n requirement: ISO_DATE_TIME_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date-time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTime/isoTime.ts\nfunction isoTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_time\",\n reference: isoTime,\n async: false,\n expects: null,\n requirement: ISO_TIME_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimeSecond/isoTimeSecond.ts\nfunction isoTimeSecond(message) {\n return {\n kind: \"validation\",\n type: \"iso_time_second\",\n reference: isoTimeSecond,\n async: false,\n expects: null,\n requirement: ISO_TIME_SECOND_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time-second\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimestamp/isoTimestamp.ts\nfunction isoTimestamp(message) {\n return {\n kind: \"validation\",\n type: \"iso_timestamp\",\n reference: isoTimestamp,\n async: false,\n expects: null,\n requirement: ISO_TIMESTAMP_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"timestamp\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoWeek/isoWeek.ts\nfunction isoWeek(message) {\n return {\n kind: \"validation\",\n type: \"iso_week\",\n reference: isoWeek,\n async: false,\n expects: null,\n requirement: ISO_WEEK_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"week\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/length/length.ts\nfunction length(requirement, message) {\n return {\n kind: \"validation\",\n type: \"length\",\n reference: length,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length !== this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac/mac.ts\nfunction mac(message) {\n return {\n kind: \"validation\",\n type: \"mac\",\n reference: mac,\n async: false,\n expects: null,\n requirement: MAC_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac48/mac48.ts\nfunction mac48(message) {\n return {\n kind: \"validation\",\n type: \"mac48\",\n reference: mac48,\n async: false,\n expects: null,\n requirement: MAC48_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"48-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac64/mac64.ts\nfunction mac64(message) {\n return {\n kind: \"validation\",\n type: \"mac64\",\n reference: mac64,\n async: false,\n expects: null,\n requirement: MAC64_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"64-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mapItems/mapItems.ts\nfunction mapItems(operation) {\n return {\n kind: \"transformation\",\n type: \"map_items\",\n reference: mapItems,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.map(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/maxBytes/maxBytes.ts\nfunction maxBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_bytes\",\n reference: maxBytes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 > this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxLength/maxLength.ts\nfunction maxLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_length\",\n reference: maxLength,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxSize/maxSize.ts\nfunction maxSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_size\",\n reference: maxSize,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size > this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxValue/maxValue.ts\nfunction maxValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_value\",\n reference: maxValue,\n async: false,\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value > this.requirement) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/metadata/metadata.ts\nfunction metadata(metadata_) {\n return {\n kind: \"metadata\",\n type: \"metadata\",\n reference: metadata,\n metadata: metadata_\n };\n}\n\n// src/actions/mimeType/mimeType.ts\nfunction mimeType(requirement, message) {\n return {\n kind: \"validation\",\n type: \"mime_type\",\n reference: mimeType,\n async: false,\n expects: _joinExpects(\n requirement.map((option) => `\"${option}\"`),\n \"|\"\n ),\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.includes(dataset.value.type)) {\n _addIssue(this, \"MIME type\", dataset, config2, {\n received: `\"${dataset.value.type}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minBytes/minBytes.ts\nfunction minBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_bytes\",\n reference: minBytes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 < this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minLength/minLength.ts\nfunction minLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_length\",\n reference: minLength,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length < this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minSize/minSize.ts\nfunction minSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_size\",\n reference: minSize,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size < this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minValue/minValue.ts\nfunction minValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_value\",\n reference: minValue,\n async: false,\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value < this.requirement) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/multipleOf/multipleOf.ts\nfunction multipleOf(requirement, message) {\n return {\n kind: \"validation\",\n type: \"multiple_of\",\n reference: multipleOf,\n async: false,\n expects: `%${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value % this.requirement !== 0) {\n _addIssue(this, \"multiple\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nanoid/nanoid.ts\nfunction nanoid(message) {\n return {\n kind: \"validation\",\n type: \"nanoid\",\n reference: nanoid,\n async: false,\n expects: null,\n requirement: NANO_ID_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Nano ID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nonEmpty/nonEmpty.ts\nfunction nonEmpty(message) {\n return {\n kind: \"validation\",\n type: \"non_empty\",\n reference: nonEmpty,\n async: false,\n expects: \"!0\",\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: \"0\"\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/normalize/normalize.ts\nfunction normalize(form) {\n return {\n kind: \"transformation\",\n type: \"normalize\",\n reference: normalize,\n async: false,\n form,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.normalize(this.form);\n return dataset;\n }\n };\n}\n\n// src/actions/notBytes/notBytes.ts\nfunction notBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_bytes\",\n reference: notBytes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 === this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notLength/notLength.ts\nfunction notLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_length\",\n reference: notLength,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notSize/notSize.ts\nfunction notSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_size\",\n reference: notSize,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size === this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValue/notValue.ts\nfunction notValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_value\",\n reference: notValue,\n async: false,\n expects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${_stringify(requirement)}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/octal/octal.ts\nfunction octal(message) {\n return {\n kind: \"validation\",\n type: \"octal\",\n reference: octal,\n async: false,\n expects: null,\n requirement: OCTAL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"octal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\nfunction _isPartiallyTyped(dataset, pathList) {\n if (dataset.issues) {\n for (const path of pathList) {\n for (const issue of dataset.issues) {\n let typed = false;\n const bound = Math.min(path.length, issue.path?.length ?? 0);\n for (let index = 0; index < bound; index++) {\n if (path[index] !== issue.path[index].key) {\n typed = true;\n break;\n }\n }\n if (!typed) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n// src/actions/partialCheck/partialCheck.ts\nfunction partialCheck(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheck,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/partialCheckAsync.ts\nfunction partialCheckAsync(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheckAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~validate\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheck.ts\nfunction rawCheck(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheck,\n async: false,\n expects: null,\n \"~validate\"(dataset, config2) {\n action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheckAsync.ts\nfunction rawCheckAsync(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheckAsync,\n async: true,\n expects: null,\n async \"~validate\"(dataset, config2) {\n await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransform.ts\nfunction rawTransform(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransform,\n async: false,\n \"~validate\"(dataset, config2) {\n const output = action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransformAsync.ts\nfunction rawTransformAsync(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransformAsync,\n async: true,\n async \"~validate\"(dataset, config2) {\n const output = await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/readonly/readonly.ts\nfunction readonly() {\n return {\n kind: \"transformation\",\n type: \"readonly\",\n reference: readonly,\n async: false,\n \"~validate\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/reduceItems/reduceItems.ts\nfunction reduceItems(operation, initial) {\n return {\n kind: \"transformation\",\n type: \"reduce_items\",\n reference: reduceItems,\n async: false,\n operation,\n initial,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.reduce(this.operation, this.initial);\n return dataset;\n }\n };\n}\n\n// src/actions/regex/regex.ts\nfunction regex(requirement, message) {\n return {\n kind: \"validation\",\n type: \"regex\",\n reference: regex,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"format\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/safeInteger/safeInteger.ts\nfunction safeInteger(message) {\n return {\n kind: \"validation\",\n type: \"safe_integer\",\n reference: safeInteger,\n async: false,\n expects: null,\n requirement: Number.isSafeInteger,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"safe integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/size/size.ts\nfunction size(requirement, message) {\n return {\n kind: \"validation\",\n type: \"size\",\n reference: size,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size !== this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/someItem/someItem.ts\nfunction someItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"some_item\",\n reference: someItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.some(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/sortItems/sortItems.ts\nfunction sortItems(operation) {\n return {\n kind: \"transformation\",\n type: \"sort_items\",\n reference: sortItems,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.sort(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/startsWith/startsWith.ts\nfunction startsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"starts_with\",\n reference: startsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.startsWith(this.requirement)) {\n _addIssue(this, \"start\", dataset, config2, {\n received: `\"${dataset.value.slice(0, this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/title/title.ts\nfunction title(title_) {\n return {\n kind: \"metadata\",\n type: \"title\",\n reference: title,\n title: title_\n };\n}\n\n// src/actions/toLowerCase/toLowerCase.ts\nfunction toLowerCase() {\n return {\n kind: \"transformation\",\n type: \"to_lower_case\",\n reference: toLowerCase,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.toLowerCase();\n return dataset;\n }\n };\n}\n\n// src/actions/toMaxValue/toMaxValue.ts\nfunction toMaxValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_max_value\",\n reference: toMaxValue,\n async: false,\n requirement,\n \"~validate\"(dataset) {\n dataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toMinValue/toMinValue.ts\nfunction toMinValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_min_value\",\n reference: toMinValue,\n async: false,\n requirement,\n \"~validate\"(dataset) {\n dataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toUpperCase/toUpperCase.ts\nfunction toUpperCase() {\n return {\n kind: \"transformation\",\n type: \"to_upper_case\",\n reference: toUpperCase,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.toUpperCase();\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transform.ts\nfunction transform(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transform,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transformAsync.ts\nfunction transformAsync(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transformAsync,\n async: true,\n operation,\n async \"~validate\"(dataset) {\n dataset.value = await this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/trim/trim.ts\nfunction trim() {\n return {\n kind: \"transformation\",\n type: \"trim\",\n reference: trim,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.trim();\n return dataset;\n }\n };\n}\n\n// src/actions/trimEnd/trimEnd.ts\nfunction trimEnd() {\n return {\n kind: \"transformation\",\n type: \"trim_end\",\n reference: trimEnd,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.trimEnd();\n return dataset;\n }\n };\n}\n\n// src/actions/trimStart/trimStart.ts\nfunction trimStart() {\n return {\n kind: \"transformation\",\n type: \"trim_start\",\n reference: trimStart,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.trimStart();\n return dataset;\n }\n };\n}\n\n// src/actions/ulid/ulid.ts\nfunction ulid(message) {\n return {\n kind: \"validation\",\n type: \"ulid\",\n reference: ulid,\n async: false,\n expects: null,\n requirement: ULID_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"ULID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/url/url.ts\nfunction url(message) {\n return {\n kind: \"validation\",\n type: \"url\",\n reference: url,\n async: false,\n expects: null,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"URL\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/uuid/uuid.ts\nfunction uuid(message) {\n return {\n kind: \"validation\",\n type: \"uuid\",\n reference: uuid,\n async: false,\n expects: null,\n requirement: UUID_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"UUID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/value/value.ts\nfunction value(requirement, message) {\n return {\n kind: \"validation\",\n type: \"value\",\n reference: value,\n async: false,\n expects: requirement instanceof Date ? requirement.toJSON() : _stringify(requirement),\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/methods/config/config.ts\nfunction config(schema, config2) {\n return {\n ...schema,\n \"~validate\"(dataset, config_ = getGlobalConfig()) {\n return schema[\"~validate\"](dataset, { ...config_, ...config2 });\n }\n };\n}\n\n// src/methods/getFallback/getFallback.ts\nfunction getFallback(schema, dataset, config2) {\n return typeof schema.fallback === \"function\" ? (\n // @ts-expect-error\n schema.fallback(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.fallback\n );\n}\n\n// src/methods/fallback/fallback.ts\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const outputDataset = schema[\"~validate\"](dataset, config2);\n return outputDataset.issues ? { typed: true, value: getFallback(this, outputDataset, config2) } : outputDataset;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async: true,\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const outputDataset = await schema[\"~validate\"](dataset, config2);\n return outputDataset.issues ? {\n typed: true,\n value: await getFallback(this, outputDataset, config2)\n } : outputDataset;\n }\n };\n}\n\n// src/methods/flatten/flatten.ts\nfunction flatten(issues) {\n const flatErrors = {};\n for (const issue of issues) {\n if (issue.path) {\n const dotPath = getDotPath(issue);\n if (dotPath) {\n if (!flatErrors.nested) {\n flatErrors.nested = {};\n }\n if (flatErrors.nested[dotPath]) {\n flatErrors.nested[dotPath].push(issue.message);\n } else {\n flatErrors.nested[dotPath] = [issue.message];\n }\n } else {\n if (flatErrors.other) {\n flatErrors.other.push(issue.message);\n } else {\n flatErrors.other = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n }\n return flatErrors;\n}\n\n// src/methods/forward/forward.ts\nfunction forward(action, pathKeys) {\n return {\n ...action,\n \"~validate\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n action[\"~validate\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\nfunction forwardAsync(action, pathKeys) {\n return {\n ...action,\n async: true,\n async \"~validate\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n await action[\"~validate\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\nfunction getDefault(schema, dataset, config2) {\n return typeof schema.default === \"function\" ? (\n // @ts-expect-error\n schema.default(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.default\n );\n}\n\n// src/methods/getDefaults/getDefaults.ts\nfunction getDefaults(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getDefaults(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getDefaults);\n }\n return getDefault(schema);\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\nasync function getDefaultsAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getDefaultsAsync));\n }\n return getDefault(schema);\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\nfunction getFallbacks(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getFallbacks(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getFallbacks);\n }\n return getFallback(schema);\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\nasync function getFallbacksAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getFallbacksAsync));\n }\n return getFallback(schema);\n}\n\n// src/methods/is/is.ts\nfunction is(schema, input) {\n return !schema[\"~validate\"]({ value: input }, { abortEarly: true }).issues;\n}\n\n// src/schemas/any/any.ts\nfunction any() {\n return {\n kind: \"schema\",\n type: \"any\",\n reference: any,\n expects: \"any\",\n async: false,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/array/array.ts\nfunction array(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: array,\n expects: \"Array\",\n async: false,\n item,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.item[\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\nfunction arrayAsync(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: arrayAsync,\n expects: \"Array\",\n async: true,\n item,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n input.map((value2) => this.item[\"~validate\"]({ value: value2 }, config2))\n );\n for (let key = 0; key < itemDatasets.length; key++) {\n const itemDataset = itemDatasets[key];\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: input[key]\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\nfunction bigint(message) {\n return {\n kind: \"schema\",\n type: \"bigint\",\n reference: bigint,\n expects: \"bigint\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"bigint\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/blob/blob.ts\nfunction blob(message) {\n return {\n kind: \"schema\",\n type: \"blob\",\n reference: blob,\n expects: \"Blob\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof Blob) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\nfunction boolean(message) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: boolean,\n expects: \"boolean\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"boolean\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/custom.ts\nfunction custom(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: custom,\n expects: \"unknown\",\n async: false,\n check: check2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/customAsync.ts\nfunction customAsync(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: customAsync,\n expects: \"unknown\",\n async: true,\n check: check2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (await this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/date/date.ts\nfunction date(message) {\n return {\n kind: \"schema\",\n type: \"date\",\n reference: date,\n expects: \"Date\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof Date) {\n if (!isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n received: '\"Invalid Date\"'\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/enum/enum.ts\nfunction enum_(enum__, message) {\n const options = Object.entries(enum__).filter(([key]) => isNaN(+key)).map(([, value2]) => value2);\n return {\n kind: \"schema\",\n type: \"enum\",\n reference: enum_,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n enum: enum__,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/file/file.ts\nfunction file(message) {\n return {\n kind: \"schema\",\n type: \"file\",\n reference: file,\n expects: \"File\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof File) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/function/function.ts\nfunction function_(message) {\n return {\n kind: \"schema\",\n type: \"function\",\n reference: function_,\n expects: \"Function\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"function\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/instance/instance.ts\nfunction instance(class_, message) {\n return {\n kind: \"schema\",\n type: \"instance\",\n reference: instance,\n expects: class_.name,\n async: false,\n class: class_,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof this.class) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/utils/_merge/_merge.ts\nfunction _merge(value1, value2) {\n if (typeof value1 === typeof value2) {\n if (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) {\n return { value: value1 };\n }\n if (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n for (const key in value2) {\n if (key in value1) {\n const dataset = _merge(value1[key], value2[key]);\n if (dataset.issue) {\n return dataset;\n }\n value1[key] = dataset.value;\n } else {\n value1[key] = value2[key];\n }\n }\n return { value: value1 };\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n if (value1.length === value2.length) {\n for (let index = 0; index < value1.length; index++) {\n const dataset = _merge(value1[index], value2[index]);\n if (dataset.issue) {\n return dataset;\n }\n value1[index] = dataset.value;\n }\n return { value: value1 };\n }\n }\n }\n return { issue: true };\n}\n\n// src/schemas/intersect/intersect.ts\nfunction intersect(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersect,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: false,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n for (const schema of this.options) {\n const optionDataset = schema[\"~validate\"]({ value: input }, config2);\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\nfunction intersectAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersectAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: true,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n const optionDatasets = await Promise.all(\n this.options.map(\n (schema) => schema[\"~validate\"]({ value: input }, config2)\n )\n );\n for (const optionDataset of optionDatasets) {\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\nfunction lazy(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazy,\n expects: \"unknown\",\n async: false,\n getter,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n return this.getter(dataset.value)[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\nfunction lazyAsync(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazyAsync,\n expects: \"unknown\",\n async: true,\n getter,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n return (await this.getter(dataset.value))[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\nfunction literal(literal_, message) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: literal,\n expects: _stringify(literal_),\n async: false,\n literal: literal_,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === this.literal) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObject.ts\nfunction looseObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObjectAsync.ts\nfunction looseObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTuple.ts\nfunction looseTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTupleAsync.ts\nfunction looseTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/map.ts\nfunction map(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: map,\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input) {\n const keyDataset = this.key[\"~validate\"]({ value: inputKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~validate\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\nfunction mapAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: mapAsync,\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n const datasets = await Promise.all(\n [...input].map(\n ([inputKey, inputValue]) => Promise.all([\n inputKey,\n inputValue,\n this.key[\"~validate\"]({ value: inputKey }, config2),\n this.value[\"~validate\"]({ value: inputValue }, config2)\n ])\n )\n );\n for (const [\n inputKey,\n inputValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nan/nan.ts\nfunction nan(message) {\n return {\n kind: \"schema\",\n type: \"nan\",\n reference: nan,\n expects: \"NaN\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (Number.isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/never/never.ts\nfunction never(message) {\n return {\n kind: \"schema\",\n type: \"never\",\n reference: never,\n expects: \"never\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\nfunction nonNullable(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullable,\n expects: \"!null\",\n async: false,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\nfunction nonNullableAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullableAsync,\n expects: \"!null\",\n async: true,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\nfunction nonNullish(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullish,\n expects: \"(!null & !undefined)\",\n async: false,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\nfunction nonNullishAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullishAsync,\n expects: \"(!null & !undefined)\",\n async: true,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\nfunction nonOptional(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptional,\n expects: \"!undefined\",\n async: false,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\nfunction nonOptionalAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptionalAsync,\n expects: \"!undefined\",\n async: true,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/null/null.ts\nfunction null_(message) {\n return {\n kind: \"schema\",\n type: \"null\",\n reference: null_,\n expects: \"null\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\nfunction nullable(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullable,\n expects: `(${wrapped.expects} | null)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/nullable/nullableAsync.ts\nfunction nullableAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullableAsync,\n expects: `(${wrapped.expects} | null)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/nullish/nullish.ts\nfunction nullish(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullish,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/nullish/nullishAsync.ts\nfunction nullishAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullishAsync,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/number/number.ts\nfunction number(message) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: number,\n expects: \"number\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"number\" && !isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/object.ts\nfunction object(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: object,\n expects: \"Object\",\n async: false,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\nfunction objectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: objectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRest.ts\nfunction objectWithRest(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRest,\n expects: \"Object\",\n async: false,\n entries,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n const value2 = input[key];\n const valueDataset = this.rest[\"~validate\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRestAsync.ts\nfunction objectWithRestAsync(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRestAsync,\n expects: \"Object\",\n async: true,\n entries,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal entry\n // Hint: We do not distinguish between missing and `undefined` entries.\n // The reason for this decision is that it reduces the bundle size, and\n // we also expect that most users will expect this behavior.\n Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other entries with rest schema\n // Hint: We exclude specific keys for security reasons\n Promise.all(\n Object.entries(input).filter(\n ([key]) => _isValidObjectKey(input, key) && !(key in this.entries)\n ).map(\n async ([key, value2]) => [\n key,\n value2,\n await this.rest[\"~validate\"]({ value: value2 }, config2)\n ]\n )\n )\n ]);\n for (const [key, value2, valueDataset] of normalDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, valueDataset] of restDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/optional/optional.ts\nfunction optional(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"optional\",\n reference: optional,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/optional/optionalAsync.ts\nfunction optionalAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"optional\",\n reference: optionalAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/picklist/picklist.ts\nfunction picklist(options, message) {\n return {\n kind: \"schema\",\n type: \"picklist\",\n reference: picklist,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/promise/promise.ts\nfunction promise(message) {\n return {\n kind: \"schema\",\n type: \"promise\",\n reference: promise,\n expects: \"Promise\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof Promise) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/record.ts\nfunction record(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: record,\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const entryKey in input) {\n if (_isValidObjectKey(input, entryKey)) {\n const entryValue = input[entryKey];\n const keyDataset = this.key[\"~validate\"](\n { value: entryKey },\n config2\n );\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~validate\"](\n { value: entryValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\nfunction recordAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: recordAsync,\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const datasets = await Promise.all(\n Object.entries(input).filter(([key2]) => _isValidObjectKey(input, key2)).map(\n ([entryKey, entryValue]) => Promise.all([\n entryKey,\n entryValue,\n this.key[\"~validate\"]({ value: entryKey }, config2),\n this.value[\"~validate\"]({ value: entryValue }, config2)\n ])\n )\n );\n for (const [\n entryKey,\n entryValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/set.ts\nfunction set(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: set,\n expects: \"Set\",\n async: false,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const valueDataset = this.value[\"~validate\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\nfunction setAsync(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: setAsync,\n expects: \"Set\",\n async: true,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n const valueDatasets = await Promise.all(\n [...input].map(\n async (inputValue) => [\n inputValue,\n await this.value[\"~validate\"]({ value: inputValue }, config2)\n ]\n )\n );\n for (const [inputValue, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObject.ts\nfunction strictObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObjectAsync.ts\nfunction strictObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTuple.ts\nfunction strictTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTupleAsync.ts\nfunction strictTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/string/string.ts\nfunction string(message) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: string,\n expects: \"string\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"string\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\nfunction symbol(message) {\n return {\n kind: \"schema\",\n type: \"symbol\",\n reference: symbol,\n expects: \"symbol\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"symbol\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\nfunction tuple(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\nfunction tupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRest.ts\nfunction tupleWithRest(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRest,\n expects: \"Array\",\n async: false,\n items,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.rest[\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRestAsync.ts\nfunction tupleWithRestAsync(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRestAsync,\n expects: \"Array\",\n async: true,\n items,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal item\n Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other items with rest schema\n Promise.all(\n input.slice(this.items.length).map(async (value2, key) => {\n return [\n key + this.items.length,\n value2,\n await this.rest[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n )\n ]);\n for (const [key, value2, itemDataset] of normalDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, itemDataset] of restDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\nfunction undefined_(message) {\n return {\n kind: \"schema\",\n type: \"undefined\",\n reference: undefined_,\n expects: \"undefined\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedable.ts\nfunction undefinedable(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedable,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/undefinedable/undefinedableAsync.ts\nfunction undefinedableAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedableAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/union/utils/_subIssues/_subIssues.ts\nfunction _subIssues(datasets) {\n let issues;\n if (datasets) {\n for (const dataset of datasets) {\n if (issues) {\n issues.push(...dataset.issues);\n } else {\n issues = dataset.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\nfunction union(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: union,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: false,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = schema[\"~validate\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\nfunction unionAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: unionAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: true,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = await schema[\"~validate\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\nfunction unknown() {\n return {\n kind: \"schema\",\n type: \"unknown\",\n reference: unknown,\n expects: \"unknown\",\n async: false,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variant.ts\nfunction variant(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variant,\n expects: \"Object\",\n async: false,\n key,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if (schema.entries[currentKey][\"~validate\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n ).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = schema[\"~validate\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\nfunction variantAsync(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variantAsync,\n expects: \"Object\",\n async: true,\n key,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = async (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n await parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if ((await schema.entries[currentKey][\"~validate\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n )).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = await schema[\"~validate\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n await parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/void/void.ts\nfunction void_(message) {\n return {\n kind: \"schema\",\n type: \"void\",\n reference: void_,\n expects: \"void\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\nfunction keyof(schema, message) {\n return picklist(Object.keys(schema.entries), message);\n}\n\n// src/methods/omit/omit.ts\nfunction omit(schema, keys) {\n const entries = {\n ...schema.entries\n };\n for (const key of keys) {\n delete entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config2) {\n const dataset = schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config2) {\n const dataset = await schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parser/parser.ts\nfunction parser(schema, config2) {\n const func = (input) => parse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/parser/parserAsync.ts\nfunction parserAsync(schema, config2) {\n const func = (input) => parseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/partial/partial.ts\nfunction partial(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optional(schema.entries[key]) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/partial/partialAsync.ts\nfunction partialAsync(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optionalAsync(schema.entries[key]) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/pick/pick.ts\nfunction pick(schema, keys) {\n const entries = {};\n for (const key of keys) {\n entries[key] = schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/pipe/pipe.ts\nfunction pipe(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = item[\"~validate\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/pipe/pipeAsync.ts\nfunction pipeAsync(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n async: true,\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = await item[\"~validate\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/required/required.ts\nfunction required(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptional(schema.entries[key], message) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/required/requiredAsync.ts\nfunction requiredAsync(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptionalAsync(schema.entries[key], message) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/safeParse/safeParse.ts\nfunction safeParse(schema, input, config2) {\n const dataset = schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\nasync function safeParseAsync(schema, input, config2) {\n const dataset = await schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParser/safeParser.ts\nfunction safeParser(schema, config2) {\n const func = (input) => safeParse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/safeParser/safeParserAsync.ts\nfunction safeParserAsync(schema, config2) {\n const func = (input) => safeParseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/unwrap/unwrap.ts\nfunction unwrap(schema) {\n return schema.wrapped;\n}\nexport {\n BASE64_REGEX,\n BIC_REGEX,\n CUID2_REGEX,\n DECIMAL_REGEX,\n DIGITS_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n IP_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n MAC_REGEX,\n NANO_ID_REGEX,\n OCTAL_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n _addIssue,\n _isLuhnAlgo,\n _isValidObjectKey,\n _joinExpects,\n _stringify,\n any,\n array,\n arrayAsync,\n awaitAsync,\n base64,\n bic,\n bigint,\n blob,\n boolean,\n brand,\n bytes,\n check,\n checkAsync,\n checkItems,\n config,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n decimal,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n description,\n digits,\n email,\n emoji,\n empty,\n endsWith,\n entriesFromList,\n enum_ as enum,\n enum_,\n everyItem,\n excludes,\n fallback,\n fallbackAsync,\n file,\n filterItems,\n findItem,\n finite,\n flatten,\n forward,\n forwardAsync,\n function_ as function,\n function_,\n getDefault,\n getDefaults,\n getDefaultsAsync,\n getDotPath,\n getFallback,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getSchemaMessage,\n getSpecificMessage,\n hash,\n hexColor,\n hexadecimal,\n imei,\n includes,\n instance,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isOfKind,\n isOfType,\n isValiError,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n looseObject,\n looseObjectAsync,\n looseTuple,\n looseTupleAsync,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n mapItems,\n maxBytes,\n maxLength,\n maxSize,\n maxValue,\n metadata,\n mimeType,\n minBytes,\n minLength,\n minSize,\n minValue,\n multipleOf,\n nan,\n nanoid,\n never,\n nonEmpty,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n normalize,\n notBytes,\n notLength,\n notSize,\n notValue,\n null_ as null,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n object,\n objectAsync,\n objectWithRest,\n objectWithRestAsync,\n octal,\n omit,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n parser,\n parserAsync,\n partial,\n partialAsync,\n partialCheck,\n partialCheckAsync,\n pick,\n picklist,\n pipe,\n pipeAsync,\n promise,\n rawCheck,\n rawCheckAsync,\n rawTransform,\n rawTransformAsync,\n readonly,\n record,\n recordAsync,\n reduceItems,\n regex,\n required,\n requiredAsync,\n safeInteger,\n safeParse,\n safeParseAsync,\n safeParser,\n safeParserAsync,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n someItem,\n sortItems,\n startsWith,\n strictObject,\n strictObjectAsync,\n strictTuple,\n strictTupleAsync,\n string,\n symbol,\n title,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toUpperCase,\n transform,\n transformAsync,\n trim,\n trimEnd,\n trimStart,\n tuple,\n tupleAsync,\n tupleWithRest,\n tupleWithRestAsync,\n ulid,\n undefined_ as undefined,\n undefined_,\n undefinedable,\n undefinedableAsync,\n union,\n unionAsync,\n unknown,\n unwrap,\n url,\n uuid,\n value,\n variant,\n variantAsync,\n void_ as void,\n void_\n};\n"],"names":["store","getGlobalConfig","config2","store2","getGlobalMessage","lang","store3","getSchemaMessage","store4","getSpecificMessage","reference","_stringify","input","type","_addIssue","context","label","dataset","other","expected","received","issue","isSchema","message","_joinExpects","values","separator","list","ValiError","issues","__publicField","integer","value","requirement","getDefault","schema","is","array","item","key","value2","itemDataset","pathItem","enum_","enum__","options","number","object","entries","valueDataset","optional","wrapped","args","string","_subIssues","datasets","union","option","validDataset","typedDatasets","untypedDatasets","optionDataset","unknown","parse","pipe","pipe2","safeParse"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../../../../../../node_modules/.pnpm/valibot@1.0.0-beta.0_typescript@5.6.2/node_modules/valibot/dist/index.js"],"sourcesContent":["// src/actions/await/awaitAsync.ts\nfunction awaitAsync() {\n return {\n kind: \"transformation\",\n type: \"await\",\n reference: awaitAsync,\n async: true,\n async \"~validate\"(dataset) {\n dataset.value = await dataset.value;\n return dataset;\n }\n };\n}\n\n// src/regex.ts\nvar BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^[+-]?\\d+(?:\\.\\d+)?$/u;\nvar DIGITS_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex, regexp/no-dupe-disjunctions -- false positives\n /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}))*)+$/u\n);\nvar HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-f]+$/iu;\nvar HEX_COLOR_REGEX = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$/iu;\nvar IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z|[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar MAC_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$|^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar NANO_ID_REGEX = /^[\\w-]+$/u;\nvar OCTAL_REGEX = /^(?:0o)?[0-7]+$/iu;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-z]{26}$/iu;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config2) {\n store = { ...store, ...config2 };\n}\nfunction getGlobalConfig(config2) {\n return {\n lang: config2?.lang ?? store?.lang,\n message: config2?.message,\n abortEarly: config2?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config2?.abortPipeEarly ?? store?.abortPipeEarly\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message, lang) {\n if (!store2) store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message);\n}\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message, lang) {\n if (!store3) store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message);\n}\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message, lang) {\n if (!store4) store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference)) store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message);\n}\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/_stringify/_stringify.ts\nfunction _stringify(input) {\n const type = typeof input;\n if (type === \"string\") {\n return `\"${input}\"`;\n }\n if (type === \"number\" || type === \"bigint\" || type === \"boolean\") {\n return `${input}`;\n }\n if (type === \"object\" || type === \"function\") {\n return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n }\n return type;\n}\n\n// src/utils/_addIssue/_addIssue.ts\nfunction _addIssue(context, label, dataset, config2, other) {\n const input = other && \"input\" in other ? other.input : dataset.value;\n const expected = other?.expected ?? context.expects ?? null;\n const received = other?.received ?? _stringify(input);\n const issue = {\n kind: context.kind,\n type: context.type,\n input,\n expected,\n received,\n message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n requirement: context.requirement,\n path: other?.path,\n issues: other?.issues,\n lang: config2.lang,\n abortEarly: config2.abortEarly,\n abortPipeEarly: config2.abortPipeEarly\n };\n const isSchema = context.kind === \"schema\";\n const message = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config2.message ?? getGlobalMessage(issue.lang);\n if (message) {\n issue.message = typeof message === \"function\" ? (\n // @ts-expect-error\n message(issue)\n ) : message;\n }\n if (isSchema) {\n dataset.typed = false;\n }\n if (dataset.issues) {\n dataset.issues.push(issue);\n } else {\n dataset.issues = [issue];\n }\n}\n\n// src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\nfunction _isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/_isValidObjectKey/_isValidObjectKey.ts\nfunction _isValidObjectKey(object2, key) {\n return Object.hasOwn(object2, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n// src/utils/_joinExpects/_joinExpects.ts\nfunction _joinExpects(values, separator) {\n const list = [...new Set(values)];\n if (list.length > 1) {\n return `(${list.join(` ${separator} `)})`;\n }\n return list[0] ?? \"never\";\n}\n\n// src/utils/entriesFromList/entriesFromList.ts\nfunction entriesFromList(list, schema) {\n const entries = {};\n for (const key of list) {\n entries[key] = schema;\n }\n return entries;\n}\n\n// src/utils/getDotPath/getDotPath.ts\nfunction getDotPath(issue) {\n if (issue.path) {\n let key = \"\";\n for (const item of issue.path) {\n if (typeof item.key === \"string\" || typeof item.key === \"number\") {\n if (key) {\n key += `.${item.key}`;\n } else {\n key += item.key;\n }\n } else {\n return null;\n }\n }\n return key;\n }\n return null;\n}\n\n// src/utils/isOfKind/isOfKind.ts\nfunction isOfKind(kind, object2) {\n return object2.kind === kind;\n}\n\n// src/utils/isOfType/isOfType.ts\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/isValiError/isValiError.ts\nfunction isValiError(error) {\n return error instanceof ValiError;\n}\n\n// src/utils/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n /**\n * The error issues.\n */\n issues;\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/actions/base64/base64.ts\nfunction base64(message) {\n return {\n kind: \"validation\",\n type: \"base64\",\n reference: base64,\n async: false,\n expects: null,\n requirement: BASE64_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Base64\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/bic/bic.ts\nfunction bic(message) {\n return {\n kind: \"validation\",\n type: \"bic\",\n reference: bic,\n async: false,\n expects: null,\n requirement: BIC_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"BIC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/brand/brand.ts\nfunction brand(name) {\n return {\n kind: \"transformation\",\n type: \"brand\",\n reference: brand,\n async: false,\n name,\n \"~validate\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/bytes/bytes.ts\nfunction bytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"bytes\",\n reference: bytes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 !== this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/check.ts\nfunction check(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: check,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/checkAsync.ts\nfunction checkAsync(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: checkAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~validate\"(dataset, config2) {\n if (dataset.typed && !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItems.ts\nfunction checkItems(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItems,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n for (let index = 0; index < dataset.value.length; index++) {\n const item = dataset.value[index];\n if (!this.requirement(item, index, dataset.value)) {\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/creditCard/creditCard.ts\nvar CREDIT_CARD_REGEX = /^(?:\\d{14,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\nvar SANITIZE_REGEX = /[- ]/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n /^5[1-5]\\d{2}|(?:222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\nfunction creditCard(message) {\n return {\n kind: \"validation\",\n type: \"credit_card\",\n reference: creditCard,\n async: false,\n expects: null,\n requirement(input) {\n let sanitized;\n return CREDIT_CARD_REGEX.test(input) && // Remove any hyphens and blanks\n (sanitized = input.replace(SANITIZE_REGEX, \"\")) && // Check if it matches a provider\n PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && // Check if passes luhn algorithm\n _isLuhnAlgo(sanitized);\n },\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"credit card\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/cuid2/cuid2.ts\nfunction cuid2(message) {\n return {\n kind: \"validation\",\n type: \"cuid2\",\n reference: cuid2,\n async: false,\n expects: null,\n requirement: CUID2_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Cuid2\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/decimal/decimal.ts\nfunction decimal(message) {\n return {\n kind: \"validation\",\n type: \"decimal\",\n reference: decimal,\n async: false,\n expects: null,\n requirement: DECIMAL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"decimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/description/description.ts\nfunction description(description_) {\n return {\n kind: \"metadata\",\n type: \"description\",\n reference: description,\n description: description_\n };\n}\n\n// src/actions/digits/digits.ts\nfunction digits(message) {\n return {\n kind: \"validation\",\n type: \"digits\",\n reference: digits,\n async: false,\n expects: null,\n requirement: DIGITS_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"digits\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/email/email.ts\nfunction email(message) {\n return {\n kind: \"validation\",\n type: \"email\",\n reference: email,\n expects: null,\n async: false,\n requirement: EMAIL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/emoji/emoji.ts\nfunction emoji(message) {\n return {\n kind: \"validation\",\n type: \"emoji\",\n reference: emoji,\n async: false,\n expects: null,\n requirement: EMOJI_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"emoji\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/empty/empty.ts\nfunction empty(message) {\n return {\n kind: \"validation\",\n type: \"empty\",\n reference: empty,\n async: false,\n expects: \"0\",\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/endsWith/endsWith.ts\nfunction endsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"ends_with\",\n reference: endsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.endsWith(this.requirement)) {\n _addIssue(this, \"end\", dataset, config2, {\n received: `\"${dataset.value.slice(-this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/everyItem/everyItem.ts\nfunction everyItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"every_item\",\n reference: everyItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.every(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/excludes/excludes.ts\nfunction excludes(requirement, message) {\n const received = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"excludes\",\n reference: excludes,\n async: false,\n expects: `!${received}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, { received });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/filterItems/filterItems.ts\nfunction filterItems(operation) {\n return {\n kind: \"transformation\",\n type: \"filter_items\",\n reference: filterItems,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.filter(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/findItem/findItem.ts\nfunction findItem(operation) {\n return {\n kind: \"transformation\",\n type: \"find_item\",\n reference: findItem,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.find(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/finite/finite.ts\nfunction finite(message) {\n return {\n kind: \"validation\",\n type: \"finite\",\n reference: finite,\n async: false,\n expects: null,\n requirement: Number.isFinite,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"finite\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\nfunction hash(types, message) {\n return {\n kind: \"validation\",\n type: \"hash\",\n reference: hash,\n expects: null,\n async: false,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hash\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexadecimal/hexadecimal.ts\nfunction hexadecimal(message) {\n return {\n kind: \"validation\",\n type: \"hexadecimal\",\n reference: hexadecimal,\n async: false,\n expects: null,\n requirement: HEXADECIMAL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hexadecimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexColor/hexColor.ts\nfunction hexColor(message) {\n return {\n kind: \"validation\",\n type: \"hex_color\",\n reference: hexColor,\n async: false,\n expects: null,\n requirement: HEX_COLOR_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hex color\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/imei/imei.ts\nfunction imei(message) {\n return {\n kind: \"validation\",\n type: \"imei\",\n reference: imei,\n async: false,\n expects: null,\n requirement(input) {\n return IMEI_REGEX.test(input) && _isLuhnAlgo(input);\n },\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"IMEI\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/includes/includes.ts\nfunction includes(requirement, message) {\n const expects = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"includes\",\n reference: includes,\n async: false,\n expects,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, {\n received: `!${expects}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/integer/integer.ts\nfunction integer(message) {\n return {\n kind: \"validation\",\n type: \"integer\",\n reference: integer,\n async: false,\n expects: null,\n requirement: Number.isInteger,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ip/ip.ts\nfunction ip(message) {\n return {\n kind: \"validation\",\n type: \"ip\",\n reference: ip,\n async: false,\n expects: null,\n requirement: IP_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IP\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv4/ipv4.ts\nfunction ipv4(message) {\n return {\n kind: \"validation\",\n type: \"ipv4\",\n reference: ipv4,\n async: false,\n expects: null,\n requirement: IPV4_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv4\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv6/ipv6.ts\nfunction ipv6(message) {\n return {\n kind: \"validation\",\n type: \"ipv6\",\n reference: ipv6,\n async: false,\n expects: null,\n requirement: IPV6_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv6\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDate/isoDate.ts\nfunction isoDate(message) {\n return {\n kind: \"validation\",\n type: \"iso_date\",\n reference: isoDate,\n async: false,\n expects: null,\n requirement: ISO_DATE_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDateTime/isoDateTime.ts\nfunction isoDateTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_date_time\",\n reference: isoDateTime,\n async: false,\n expects: null,\n requirement: ISO_DATE_TIME_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date-time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTime/isoTime.ts\nfunction isoTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_time\",\n reference: isoTime,\n async: false,\n expects: null,\n requirement: ISO_TIME_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimeSecond/isoTimeSecond.ts\nfunction isoTimeSecond(message) {\n return {\n kind: \"validation\",\n type: \"iso_time_second\",\n reference: isoTimeSecond,\n async: false,\n expects: null,\n requirement: ISO_TIME_SECOND_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time-second\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimestamp/isoTimestamp.ts\nfunction isoTimestamp(message) {\n return {\n kind: \"validation\",\n type: \"iso_timestamp\",\n reference: isoTimestamp,\n async: false,\n expects: null,\n requirement: ISO_TIMESTAMP_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"timestamp\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoWeek/isoWeek.ts\nfunction isoWeek(message) {\n return {\n kind: \"validation\",\n type: \"iso_week\",\n reference: isoWeek,\n async: false,\n expects: null,\n requirement: ISO_WEEK_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"week\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/length/length.ts\nfunction length(requirement, message) {\n return {\n kind: \"validation\",\n type: \"length\",\n reference: length,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length !== this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac/mac.ts\nfunction mac(message) {\n return {\n kind: \"validation\",\n type: \"mac\",\n reference: mac,\n async: false,\n expects: null,\n requirement: MAC_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac48/mac48.ts\nfunction mac48(message) {\n return {\n kind: \"validation\",\n type: \"mac48\",\n reference: mac48,\n async: false,\n expects: null,\n requirement: MAC48_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"48-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac64/mac64.ts\nfunction mac64(message) {\n return {\n kind: \"validation\",\n type: \"mac64\",\n reference: mac64,\n async: false,\n expects: null,\n requirement: MAC64_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"64-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mapItems/mapItems.ts\nfunction mapItems(operation) {\n return {\n kind: \"transformation\",\n type: \"map_items\",\n reference: mapItems,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.map(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/maxBytes/maxBytes.ts\nfunction maxBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_bytes\",\n reference: maxBytes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 > this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxLength/maxLength.ts\nfunction maxLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_length\",\n reference: maxLength,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxSize/maxSize.ts\nfunction maxSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_size\",\n reference: maxSize,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size > this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxValue/maxValue.ts\nfunction maxValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_value\",\n reference: maxValue,\n async: false,\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value > this.requirement) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/metadata/metadata.ts\nfunction metadata(metadata_) {\n return {\n kind: \"metadata\",\n type: \"metadata\",\n reference: metadata,\n metadata: metadata_\n };\n}\n\n// src/actions/mimeType/mimeType.ts\nfunction mimeType(requirement, message) {\n return {\n kind: \"validation\",\n type: \"mime_type\",\n reference: mimeType,\n async: false,\n expects: _joinExpects(\n requirement.map((option) => `\"${option}\"`),\n \"|\"\n ),\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.includes(dataset.value.type)) {\n _addIssue(this, \"MIME type\", dataset, config2, {\n received: `\"${dataset.value.type}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minBytes/minBytes.ts\nfunction minBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_bytes\",\n reference: minBytes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 < this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minLength/minLength.ts\nfunction minLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_length\",\n reference: minLength,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length < this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minSize/minSize.ts\nfunction minSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_size\",\n reference: minSize,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size < this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minValue/minValue.ts\nfunction minValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_value\",\n reference: minValue,\n async: false,\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value < this.requirement) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/multipleOf/multipleOf.ts\nfunction multipleOf(requirement, message) {\n return {\n kind: \"validation\",\n type: \"multiple_of\",\n reference: multipleOf,\n async: false,\n expects: `%${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value % this.requirement !== 0) {\n _addIssue(this, \"multiple\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nanoid/nanoid.ts\nfunction nanoid(message) {\n return {\n kind: \"validation\",\n type: \"nanoid\",\n reference: nanoid,\n async: false,\n expects: null,\n requirement: NANO_ID_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Nano ID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nonEmpty/nonEmpty.ts\nfunction nonEmpty(message) {\n return {\n kind: \"validation\",\n type: \"non_empty\",\n reference: nonEmpty,\n async: false,\n expects: \"!0\",\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: \"0\"\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/normalize/normalize.ts\nfunction normalize(form) {\n return {\n kind: \"transformation\",\n type: \"normalize\",\n reference: normalize,\n async: false,\n form,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.normalize(this.form);\n return dataset;\n }\n };\n}\n\n// src/actions/notBytes/notBytes.ts\nfunction notBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_bytes\",\n reference: notBytes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = new TextEncoder().encode(dataset.value).length;\n if (length2 === this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notLength/notLength.ts\nfunction notLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_length\",\n reference: notLength,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notSize/notSize.ts\nfunction notSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_size\",\n reference: notSize,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size === this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValue/notValue.ts\nfunction notValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_value\",\n reference: notValue,\n async: false,\n expects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${_stringify(requirement)}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/octal/octal.ts\nfunction octal(message) {\n return {\n kind: \"validation\",\n type: \"octal\",\n reference: octal,\n async: false,\n expects: null,\n requirement: OCTAL_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"octal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\nfunction _isPartiallyTyped(dataset, pathList) {\n if (dataset.issues) {\n for (const path of pathList) {\n for (const issue of dataset.issues) {\n let typed = false;\n const bound = Math.min(path.length, issue.path?.length ?? 0);\n for (let index = 0; index < bound; index++) {\n if (path[index] !== issue.path[index].key) {\n typed = true;\n break;\n }\n }\n if (!typed) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n// src/actions/partialCheck/partialCheck.ts\nfunction partialCheck(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheck,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/partialCheckAsync.ts\nfunction partialCheckAsync(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheckAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~validate\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheck.ts\nfunction rawCheck(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheck,\n async: false,\n expects: null,\n \"~validate\"(dataset, config2) {\n action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheckAsync.ts\nfunction rawCheckAsync(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheckAsync,\n async: true,\n expects: null,\n async \"~validate\"(dataset, config2) {\n await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransform.ts\nfunction rawTransform(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransform,\n async: false,\n \"~validate\"(dataset, config2) {\n const output = action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransformAsync.ts\nfunction rawTransformAsync(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransformAsync,\n async: true,\n async \"~validate\"(dataset, config2) {\n const output = await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/readonly/readonly.ts\nfunction readonly() {\n return {\n kind: \"transformation\",\n type: \"readonly\",\n reference: readonly,\n async: false,\n \"~validate\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/reduceItems/reduceItems.ts\nfunction reduceItems(operation, initial) {\n return {\n kind: \"transformation\",\n type: \"reduce_items\",\n reference: reduceItems,\n async: false,\n operation,\n initial,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.reduce(this.operation, this.initial);\n return dataset;\n }\n };\n}\n\n// src/actions/regex/regex.ts\nfunction regex(requirement, message) {\n return {\n kind: \"validation\",\n type: \"regex\",\n reference: regex,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"format\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/safeInteger/safeInteger.ts\nfunction safeInteger(message) {\n return {\n kind: \"validation\",\n type: \"safe_integer\",\n reference: safeInteger,\n async: false,\n expects: null,\n requirement: Number.isSafeInteger,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"safe integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/size/size.ts\nfunction size(requirement, message) {\n return {\n kind: \"validation\",\n type: \"size\",\n reference: size,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && dataset.value.size !== this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/someItem/someItem.ts\nfunction someItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"some_item\",\n reference: someItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.some(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/sortItems/sortItems.ts\nfunction sortItems(operation) {\n return {\n kind: \"transformation\",\n type: \"sort_items\",\n reference: sortItems,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.sort(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/startsWith/startsWith.ts\nfunction startsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"starts_with\",\n reference: startsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !dataset.value.startsWith(this.requirement)) {\n _addIssue(this, \"start\", dataset, config2, {\n received: `\"${dataset.value.slice(0, this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/title/title.ts\nfunction title(title_) {\n return {\n kind: \"metadata\",\n type: \"title\",\n reference: title,\n title: title_\n };\n}\n\n// src/actions/toLowerCase/toLowerCase.ts\nfunction toLowerCase() {\n return {\n kind: \"transformation\",\n type: \"to_lower_case\",\n reference: toLowerCase,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.toLowerCase();\n return dataset;\n }\n };\n}\n\n// src/actions/toMaxValue/toMaxValue.ts\nfunction toMaxValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_max_value\",\n reference: toMaxValue,\n async: false,\n requirement,\n \"~validate\"(dataset) {\n dataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toMinValue/toMinValue.ts\nfunction toMinValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_min_value\",\n reference: toMinValue,\n async: false,\n requirement,\n \"~validate\"(dataset) {\n dataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toUpperCase/toUpperCase.ts\nfunction toUpperCase() {\n return {\n kind: \"transformation\",\n type: \"to_upper_case\",\n reference: toUpperCase,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.toUpperCase();\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transform.ts\nfunction transform(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transform,\n async: false,\n operation,\n \"~validate\"(dataset) {\n dataset.value = this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transformAsync.ts\nfunction transformAsync(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transformAsync,\n async: true,\n operation,\n async \"~validate\"(dataset) {\n dataset.value = await this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/trim/trim.ts\nfunction trim() {\n return {\n kind: \"transformation\",\n type: \"trim\",\n reference: trim,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.trim();\n return dataset;\n }\n };\n}\n\n// src/actions/trimEnd/trimEnd.ts\nfunction trimEnd() {\n return {\n kind: \"transformation\",\n type: \"trim_end\",\n reference: trimEnd,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.trimEnd();\n return dataset;\n }\n };\n}\n\n// src/actions/trimStart/trimStart.ts\nfunction trimStart() {\n return {\n kind: \"transformation\",\n type: \"trim_start\",\n reference: trimStart,\n async: false,\n \"~validate\"(dataset) {\n dataset.value = dataset.value.trimStart();\n return dataset;\n }\n };\n}\n\n// src/actions/ulid/ulid.ts\nfunction ulid(message) {\n return {\n kind: \"validation\",\n type: \"ulid\",\n reference: ulid,\n async: false,\n expects: null,\n requirement: ULID_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"ULID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/url/url.ts\nfunction url(message) {\n return {\n kind: \"validation\",\n type: \"url\",\n reference: url,\n async: false,\n expects: null,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"URL\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/uuid/uuid.ts\nfunction uuid(message) {\n return {\n kind: \"validation\",\n type: \"uuid\",\n reference: uuid,\n async: false,\n expects: null,\n requirement: UUID_REGEX,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"UUID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/value/value.ts\nfunction value(requirement, message) {\n return {\n kind: \"validation\",\n type: \"value\",\n reference: value,\n async: false,\n expects: requirement instanceof Date ? requirement.toJSON() : _stringify(requirement),\n requirement,\n message,\n \"~validate\"(dataset, config2) {\n if (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/methods/config/config.ts\nfunction config(schema, config2) {\n return {\n ...schema,\n \"~validate\"(dataset, config_ = getGlobalConfig()) {\n return schema[\"~validate\"](dataset, { ...config_, ...config2 });\n }\n };\n}\n\n// src/methods/getFallback/getFallback.ts\nfunction getFallback(schema, dataset, config2) {\n return typeof schema.fallback === \"function\" ? (\n // @ts-expect-error\n schema.fallback(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.fallback\n );\n}\n\n// src/methods/fallback/fallback.ts\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const outputDataset = schema[\"~validate\"](dataset, config2);\n return outputDataset.issues ? { typed: true, value: getFallback(this, outputDataset, config2) } : outputDataset;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async: true,\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const outputDataset = await schema[\"~validate\"](dataset, config2);\n return outputDataset.issues ? {\n typed: true,\n value: await getFallback(this, outputDataset, config2)\n } : outputDataset;\n }\n };\n}\n\n// src/methods/flatten/flatten.ts\nfunction flatten(issues) {\n const flatErrors = {};\n for (const issue of issues) {\n if (issue.path) {\n const dotPath = getDotPath(issue);\n if (dotPath) {\n if (!flatErrors.nested) {\n flatErrors.nested = {};\n }\n if (flatErrors.nested[dotPath]) {\n flatErrors.nested[dotPath].push(issue.message);\n } else {\n flatErrors.nested[dotPath] = [issue.message];\n }\n } else {\n if (flatErrors.other) {\n flatErrors.other.push(issue.message);\n } else {\n flatErrors.other = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n }\n return flatErrors;\n}\n\n// src/methods/forward/forward.ts\nfunction forward(action, pathKeys) {\n return {\n ...action,\n \"~validate\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n action[\"~validate\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\nfunction forwardAsync(action, pathKeys) {\n return {\n ...action,\n async: true,\n async \"~validate\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n await action[\"~validate\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\nfunction getDefault(schema, dataset, config2) {\n return typeof schema.default === \"function\" ? (\n // @ts-expect-error\n schema.default(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.default\n );\n}\n\n// src/methods/getDefaults/getDefaults.ts\nfunction getDefaults(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getDefaults(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getDefaults);\n }\n return getDefault(schema);\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\nasync function getDefaultsAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getDefaultsAsync));\n }\n return getDefault(schema);\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\nfunction getFallbacks(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getFallbacks(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getFallbacks);\n }\n return getFallback(schema);\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\nasync function getFallbacksAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getFallbacksAsync));\n }\n return getFallback(schema);\n}\n\n// src/methods/is/is.ts\nfunction is(schema, input) {\n return !schema[\"~validate\"]({ value: input }, { abortEarly: true }).issues;\n}\n\n// src/schemas/any/any.ts\nfunction any() {\n return {\n kind: \"schema\",\n type: \"any\",\n reference: any,\n expects: \"any\",\n async: false,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/array/array.ts\nfunction array(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: array,\n expects: \"Array\",\n async: false,\n item,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.item[\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\nfunction arrayAsync(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: arrayAsync,\n expects: \"Array\",\n async: true,\n item,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n input.map((value2) => this.item[\"~validate\"]({ value: value2 }, config2))\n );\n for (let key = 0; key < itemDatasets.length; key++) {\n const itemDataset = itemDatasets[key];\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: input[key]\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\nfunction bigint(message) {\n return {\n kind: \"schema\",\n type: \"bigint\",\n reference: bigint,\n expects: \"bigint\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"bigint\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/blob/blob.ts\nfunction blob(message) {\n return {\n kind: \"schema\",\n type: \"blob\",\n reference: blob,\n expects: \"Blob\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof Blob) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\nfunction boolean(message) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: boolean,\n expects: \"boolean\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"boolean\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/custom.ts\nfunction custom(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: custom,\n expects: \"unknown\",\n async: false,\n check: check2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/customAsync.ts\nfunction customAsync(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: customAsync,\n expects: \"unknown\",\n async: true,\n check: check2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (await this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/date/date.ts\nfunction date(message) {\n return {\n kind: \"schema\",\n type: \"date\",\n reference: date,\n expects: \"Date\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof Date) {\n if (!isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n received: '\"Invalid Date\"'\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/enum/enum.ts\nfunction enum_(enum__, message) {\n const options = Object.entries(enum__).filter(([key]) => isNaN(+key)).map(([, value2]) => value2);\n return {\n kind: \"schema\",\n type: \"enum\",\n reference: enum_,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n enum: enum__,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/file/file.ts\nfunction file(message) {\n return {\n kind: \"schema\",\n type: \"file\",\n reference: file,\n expects: \"File\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof File) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/function/function.ts\nfunction function_(message) {\n return {\n kind: \"schema\",\n type: \"function\",\n reference: function_,\n expects: \"Function\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"function\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/instance/instance.ts\nfunction instance(class_, message) {\n return {\n kind: \"schema\",\n type: \"instance\",\n reference: instance,\n expects: class_.name,\n async: false,\n class: class_,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof this.class) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/utils/_merge/_merge.ts\nfunction _merge(value1, value2) {\n if (typeof value1 === typeof value2) {\n if (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) {\n return { value: value1 };\n }\n if (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n for (const key in value2) {\n if (key in value1) {\n const dataset = _merge(value1[key], value2[key]);\n if (dataset.issue) {\n return dataset;\n }\n value1[key] = dataset.value;\n } else {\n value1[key] = value2[key];\n }\n }\n return { value: value1 };\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n if (value1.length === value2.length) {\n for (let index = 0; index < value1.length; index++) {\n const dataset = _merge(value1[index], value2[index]);\n if (dataset.issue) {\n return dataset;\n }\n value1[index] = dataset.value;\n }\n return { value: value1 };\n }\n }\n }\n return { issue: true };\n}\n\n// src/schemas/intersect/intersect.ts\nfunction intersect(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersect,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: false,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n for (const schema of this.options) {\n const optionDataset = schema[\"~validate\"]({ value: input }, config2);\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\nfunction intersectAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersectAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: true,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n const optionDatasets = await Promise.all(\n this.options.map(\n (schema) => schema[\"~validate\"]({ value: input }, config2)\n )\n );\n for (const optionDataset of optionDatasets) {\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\nfunction lazy(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazy,\n expects: \"unknown\",\n async: false,\n getter,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n return this.getter(dataset.value)[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\nfunction lazyAsync(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazyAsync,\n expects: \"unknown\",\n async: true,\n getter,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n return (await this.getter(dataset.value))[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\nfunction literal(literal_, message) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: literal,\n expects: _stringify(literal_),\n async: false,\n literal: literal_,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === this.literal) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObject.ts\nfunction looseObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObjectAsync.ts\nfunction looseObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTuple.ts\nfunction looseTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTupleAsync.ts\nfunction looseTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/map.ts\nfunction map(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: map,\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input) {\n const keyDataset = this.key[\"~validate\"]({ value: inputKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~validate\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\nfunction mapAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: mapAsync,\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n const datasets = await Promise.all(\n [...input].map(\n ([inputKey, inputValue]) => Promise.all([\n inputKey,\n inputValue,\n this.key[\"~validate\"]({ value: inputKey }, config2),\n this.value[\"~validate\"]({ value: inputValue }, config2)\n ])\n )\n );\n for (const [\n inputKey,\n inputValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nan/nan.ts\nfunction nan(message) {\n return {\n kind: \"schema\",\n type: \"nan\",\n reference: nan,\n expects: \"NaN\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (Number.isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/never/never.ts\nfunction never(message) {\n return {\n kind: \"schema\",\n type: \"never\",\n reference: never,\n expects: \"never\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\nfunction nonNullable(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullable,\n expects: \"!null\",\n async: false,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\nfunction nonNullableAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullableAsync,\n expects: \"!null\",\n async: true,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\nfunction nonNullish(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullish,\n expects: \"(!null & !undefined)\",\n async: false,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\nfunction nonNullishAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullishAsync,\n expects: \"(!null & !undefined)\",\n async: true,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\nfunction nonOptional(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptional,\n expects: \"!undefined\",\n async: false,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\nfunction nonOptionalAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptionalAsync,\n expects: \"!undefined\",\n async: true,\n wrapped,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/null/null.ts\nfunction null_(message) {\n return {\n kind: \"schema\",\n type: \"null\",\n reference: null_,\n expects: \"null\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\nfunction nullable(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullable,\n expects: `(${wrapped.expects} | null)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/nullable/nullableAsync.ts\nfunction nullableAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullableAsync,\n expects: `(${wrapped.expects} | null)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/nullish/nullish.ts\nfunction nullish(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullish,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/nullish/nullishAsync.ts\nfunction nullishAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullishAsync,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === null || dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/number/number.ts\nfunction number(message) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: number,\n expects: \"number\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"number\" && !isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/object.ts\nfunction object(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: object,\n expects: \"Object\",\n async: false,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\nfunction objectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: objectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRest.ts\nfunction objectWithRest(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRest,\n expects: \"Object\",\n async: false,\n entries,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n const value2 = input[key];\n const valueDataset = this.rest[\"~validate\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRestAsync.ts\nfunction objectWithRestAsync(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRestAsync,\n expects: \"Object\",\n async: true,\n entries,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal entry\n // Hint: We do not distinguish between missing and `undefined` entries.\n // The reason for this decision is that it reduces the bundle size, and\n // we also expect that most users will expect this behavior.\n Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other entries with rest schema\n // Hint: We exclude specific keys for security reasons\n Promise.all(\n Object.entries(input).filter(\n ([key]) => _isValidObjectKey(input, key) && !(key in this.entries)\n ).map(\n async ([key, value2]) => [\n key,\n value2,\n await this.rest[\"~validate\"]({ value: value2 }, config2)\n ]\n )\n )\n ]);\n for (const [key, value2, valueDataset] of normalDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, valueDataset] of restDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/optional/optional.ts\nfunction optional(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"optional\",\n reference: optional,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/optional/optionalAsync.ts\nfunction optionalAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"optional\",\n reference: optionalAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/picklist/picklist.ts\nfunction picklist(options, message) {\n return {\n kind: \"schema\",\n type: \"picklist\",\n reference: picklist,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/promise/promise.ts\nfunction promise(message) {\n return {\n kind: \"schema\",\n type: \"promise\",\n reference: promise,\n expects: \"Promise\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value instanceof Promise) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/record.ts\nfunction record(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: record,\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const entryKey in input) {\n if (_isValidObjectKey(input, entryKey)) {\n const entryValue = input[entryKey];\n const keyDataset = this.key[\"~validate\"](\n { value: entryKey },\n config2\n );\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~validate\"](\n { value: entryValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\nfunction recordAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: recordAsync,\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const datasets = await Promise.all(\n Object.entries(input).filter(([key2]) => _isValidObjectKey(input, key2)).map(\n ([entryKey, entryValue]) => Promise.all([\n entryKey,\n entryValue,\n this.key[\"~validate\"]({ value: entryKey }, config2),\n this.value[\"~validate\"]({ value: entryValue }, config2)\n ])\n )\n );\n for (const [\n entryKey,\n entryValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/set.ts\nfunction set(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: set,\n expects: \"Set\",\n async: false,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const valueDataset = this.value[\"~validate\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\nfunction setAsync(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: setAsync,\n expects: \"Set\",\n async: true,\n value: value2,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n const valueDatasets = await Promise.all(\n [...input].map(\n async (inputValue) => [\n inputValue,\n await this.value[\"~validate\"]({ value: inputValue }, config2)\n ]\n )\n );\n for (const [inputValue, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObject.ts\nfunction strictObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~validate\"](\n { value: value2 },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObjectAsync.ts\nfunction strictObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTuple.ts\nfunction strictTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTupleAsync.ts\nfunction strictTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/string/string.ts\nfunction string(message) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: string,\n expects: \"string\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"string\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\nfunction symbol(message) {\n return {\n kind: \"schema\",\n type: \"symbol\",\n reference: symbol,\n expects: \"symbol\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (typeof dataset.value === \"symbol\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\nfunction tuple(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\nfunction tupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRest.ts\nfunction tupleWithRest(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRest,\n expects: \"Array\",\n async: false,\n items,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.rest[\"~validate\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRestAsync.ts\nfunction tupleWithRestAsync(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRestAsync,\n expects: \"Array\",\n async: true,\n items,\n rest,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal item\n Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other items with rest schema\n Promise.all(\n input.slice(this.items.length).map(async (value2, key) => {\n return [\n key + this.items.length,\n value2,\n await this.rest[\"~validate\"]({ value: value2 }, config2)\n ];\n })\n )\n ]);\n for (const [key, value2, itemDataset] of normalDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, itemDataset] of restDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\nfunction undefined_(message) {\n return {\n kind: \"schema\",\n type: \"undefined\",\n reference: undefined_,\n expects: \"undefined\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedable.ts\nfunction undefinedable(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedable,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/undefinedable/undefinedableAsync.ts\nfunction undefinedableAsync(wrapped, ...args) {\n const schema = {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedableAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n if (\"default\" in this) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~validate\"](dataset, config2);\n }\n };\n if (0 in args) {\n schema.default = args[0];\n }\n return schema;\n}\n\n// src/schemas/union/utils/_subIssues/_subIssues.ts\nfunction _subIssues(datasets) {\n let issues;\n if (datasets) {\n for (const dataset of datasets) {\n if (issues) {\n issues.push(...dataset.issues);\n } else {\n issues = dataset.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\nfunction union(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: union,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: false,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = schema[\"~validate\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\nfunction unionAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: unionAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: true,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = await schema[\"~validate\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\nfunction unknown() {\n return {\n kind: \"schema\",\n type: \"unknown\",\n reference: unknown,\n expects: \"unknown\",\n async: false,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variant.ts\nfunction variant(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variant,\n expects: \"Object\",\n async: false,\n key,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if (schema.entries[currentKey][\"~validate\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n ).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = schema[\"~validate\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\nfunction variantAsync(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variantAsync,\n expects: \"Object\",\n async: true,\n key,\n options,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = async (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n await parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if ((await schema.entries[currentKey][\"~validate\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n )).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = await schema[\"~validate\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n await parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/void/void.ts\nfunction void_(message) {\n return {\n kind: \"schema\",\n type: \"void\",\n reference: void_,\n expects: \"void\",\n async: false,\n message,\n \"~standard\": 1,\n \"~vendor\": \"valibot\",\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\nfunction keyof(schema, message) {\n return picklist(Object.keys(schema.entries), message);\n}\n\n// src/methods/omit/omit.ts\nfunction omit(schema, keys) {\n const entries = {\n ...schema.entries\n };\n for (const key of keys) {\n delete entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config2) {\n const dataset = schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config2) {\n const dataset = await schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parser/parser.ts\nfunction parser(schema, config2) {\n const func = (input) => parse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/parser/parserAsync.ts\nfunction parserAsync(schema, config2) {\n const func = (input) => parseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/partial/partial.ts\nfunction partial(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optional(schema.entries[key]) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/partial/partialAsync.ts\nfunction partialAsync(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optionalAsync(schema.entries[key]) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/pick/pick.ts\nfunction pick(schema, keys) {\n const entries = {};\n for (const key of keys) {\n entries[key] = schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/pipe/pipe.ts\nfunction pipe(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n \"~validate\"(dataset, config2 = getGlobalConfig()) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = item[\"~validate\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/pipe/pipeAsync.ts\nfunction pipeAsync(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n async: true,\n async \"~validate\"(dataset, config2 = getGlobalConfig()) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = await item[\"~validate\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/required/required.ts\nfunction required(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptional(schema.entries[key], message) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/required/requiredAsync.ts\nfunction requiredAsync(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptionalAsync(schema.entries[key], message) : schema.entries[key];\n }\n return { ...schema, entries };\n}\n\n// src/methods/safeParse/safeParse.ts\nfunction safeParse(schema, input, config2) {\n const dataset = schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\nasync function safeParseAsync(schema, input, config2) {\n const dataset = await schema[\"~validate\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParser/safeParser.ts\nfunction safeParser(schema, config2) {\n const func = (input) => safeParse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/safeParser/safeParserAsync.ts\nfunction safeParserAsync(schema, config2) {\n const func = (input) => safeParseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/unwrap/unwrap.ts\nfunction unwrap(schema) {\n return schema.wrapped;\n}\nexport {\n BASE64_REGEX,\n BIC_REGEX,\n CUID2_REGEX,\n DECIMAL_REGEX,\n DIGITS_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n IP_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n MAC_REGEX,\n NANO_ID_REGEX,\n OCTAL_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n _addIssue,\n _isLuhnAlgo,\n _isValidObjectKey,\n _joinExpects,\n _stringify,\n any,\n array,\n arrayAsync,\n awaitAsync,\n base64,\n bic,\n bigint,\n blob,\n boolean,\n brand,\n bytes,\n check,\n checkAsync,\n checkItems,\n config,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n decimal,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n description,\n digits,\n email,\n emoji,\n empty,\n endsWith,\n entriesFromList,\n enum_ as enum,\n enum_,\n everyItem,\n excludes,\n fallback,\n fallbackAsync,\n file,\n filterItems,\n findItem,\n finite,\n flatten,\n forward,\n forwardAsync,\n function_ as function,\n function_,\n getDefault,\n getDefaults,\n getDefaultsAsync,\n getDotPath,\n getFallback,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getSchemaMessage,\n getSpecificMessage,\n hash,\n hexColor,\n hexadecimal,\n imei,\n includes,\n instance,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isOfKind,\n isOfType,\n isValiError,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n looseObject,\n looseObjectAsync,\n looseTuple,\n looseTupleAsync,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n mapItems,\n maxBytes,\n maxLength,\n maxSize,\n maxValue,\n metadata,\n mimeType,\n minBytes,\n minLength,\n minSize,\n minValue,\n multipleOf,\n nan,\n nanoid,\n never,\n nonEmpty,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n normalize,\n notBytes,\n notLength,\n notSize,\n notValue,\n null_ as null,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n object,\n objectAsync,\n objectWithRest,\n objectWithRestAsync,\n octal,\n omit,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n parser,\n parserAsync,\n partial,\n partialAsync,\n partialCheck,\n partialCheckAsync,\n pick,\n picklist,\n pipe,\n pipeAsync,\n promise,\n rawCheck,\n rawCheckAsync,\n rawTransform,\n rawTransformAsync,\n readonly,\n record,\n recordAsync,\n reduceItems,\n regex,\n required,\n requiredAsync,\n safeInteger,\n safeParse,\n safeParseAsync,\n safeParser,\n safeParserAsync,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n someItem,\n sortItems,\n startsWith,\n strictObject,\n strictObjectAsync,\n strictTuple,\n strictTupleAsync,\n string,\n symbol,\n title,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toUpperCase,\n transform,\n transformAsync,\n trim,\n trimEnd,\n trimStart,\n tuple,\n tupleAsync,\n tupleWithRest,\n tupleWithRestAsync,\n ulid,\n undefined_ as undefined,\n undefined_,\n undefinedable,\n undefinedableAsync,\n union,\n unionAsync,\n unknown,\n unwrap,\n url,\n uuid,\n value,\n variant,\n variantAsync,\n void_ as void,\n void_\n};\n"],"names":["store","getGlobalConfig","config2","store2","getGlobalMessage","lang","store3","getSchemaMessage","store4","getSpecificMessage","reference","_stringify","input","type","_addIssue","context","label","dataset","other","expected","received","issue","isSchema","message","_joinExpects","values","separator","list","ValiError","issues","__publicField","integer","value","requirement","getDefault","schema","is","array","item","key","value2","itemDataset","pathItem","enum_","enum__","options","number","object","entries","valueDataset","optional","wrapped","args","string","_subIssues","datasets","union","option","validDataset","typedDatasets","untypedDatasets","optionDataset","unknown","parse","pipe","pipe2"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/index2.js b/web/app/themes/haiku-atelier-2024/assets/js/index2.js index 12e89774..00fe8699 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/index2.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/index2.js @@ -1,2 +1,2 @@ -const f=Symbol.for("@ts-pattern/matcher"),P=Symbol.for("@ts-pattern/isVariadic"),E="@ts-pattern/anonymous-select-key",T=e=>!!(e&&typeof e=="object"),x=e=>e&&!!e[f],u=(e,t,n)=>{if(x(e)){const r=e[f](),{matched:i,selections:s}=r.match(t);return i&&s&&Object.keys(s).forEach(a=>n(a,s[a])),i}if(T(e)){if(!T(t))return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=[],i=[],s=[];for(const a of e.keys()){const h=e[a];x(h)&&h[P]?s.push(h):s.length?i.push(h):r.push(h)}if(s.length){if(s.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(t.lengthu(p,a[O],n))&&i.every((p,O)=>u(p,h[O],n))&&(s.length===0||u(s[0],S,n))}return e.length===t.length&&e.every((a,h)=>u(a,t[h],n))}return Reflect.ownKeys(e).every(r=>{const i=e[r];return(r in t||x(s=i)&&s[f]().matcherType==="optional")&&u(i,t[r],n);var s})}return Object.is(t,e)},g=e=>{var t,n,r;return T(e)?x(e)?(t=(n=(r=e[f]()).getSelectionKeys)==null?void 0:n.call(r))!=null?t:[]:Array.isArray(e)?j(e,g):j(Object.values(e),g):[]},j=(e,t)=>e.reduce((n,r)=>n.concat(t(r)),[]);function $(...e){if(e.length===1){const[t]=e;return n=>u(t,n,()=>{})}if(e.length===2){const[t,n]=e;return u(t,n,()=>{})}throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${e.length}.`)}function l(e){return Object.assign(e,{optional:()=>N(e),and:t=>c(e,t),or:t=>W(e,t),select:t=>t===void 0?K(e):K(t,e)})}function B(e){return Object.assign((t=>Object.assign(t,{[Symbol.iterator](){let n=0;const r=[{value:Object.assign(t,{[P]:!0}),done:!1},{done:!0,value:void 0}];return{next:()=>{var i;return(i=r[n++])!=null?i:r.at(-1)}}}}))(e),{optional:()=>B(N(e)),select:t=>B(t===void 0?K(e):K(t,e))})}function N(e){return l({[f]:()=>({match:t=>{let n={};const r=(i,s)=>{n[i]=s};return t===void 0?(g(e).forEach(i=>r(i,void 0)),{matched:!0,selections:n}):{matched:u(e,t,r),selections:n}},getSelectionKeys:()=>g(e),matcherType:"optional"})})}const z=(e,t)=>{for(const n of e)if(!t(n))return!1;return!0},L=(e,t)=>{for(const[n,r]of e.entries())if(!t(r,n))return!1;return!0};function c(...e){return l({[f]:()=>({match:t=>{let n={};const r=(i,s)=>{n[i]=s};return{matched:e.every(i=>u(i,t,r)),selections:n}},getSelectionKeys:()=>j(e,g),matcherType:"and"})})}function W(...e){return l({[f]:()=>({match:t=>{let n={};const r=(i,s)=>{n[i]=s};return j(e,g).forEach(i=>r(i,void 0)),{matched:e.some(i=>u(i,t,r)),selections:n}},getSelectionKeys:()=>j(e,g),matcherType:"or"})})}function o(e){return{[f]:()=>({match:t=>({matched:!!e(t)})})}}function K(...e){const t=typeof e[0]=="string"?e[0]:void 0,n=e.length===2?e[1]:typeof e[0]=="string"?void 0:e[0];return l({[f]:()=>({match:r=>{let i={[t??E]:r};return{matched:n===void 0||u(n,r,(s,a)=>{i[s]=a}),selections:i}},getSelectionKeys:()=>[t??E].concat(n===void 0?[]:g(n))})})}function m(e){return typeof e=="number"}function y(e){return typeof e=="string"}function v(e){return typeof e=="bigint"}const _=l(o(function(e){return!0})),M=_,b=e=>Object.assign(l(e),{startsWith:t=>{return b(c(e,(n=t,o(r=>y(r)&&r.startsWith(n)))));var n},endsWith:t=>{return b(c(e,(n=t,o(r=>y(r)&&r.endsWith(n)))));var n},minLength:t=>b(c(e,(n=>o(r=>y(r)&&r.length>=n))(t))),length:t=>b(c(e,(n=>o(r=>y(r)&&r.length===n))(t))),maxLength:t=>b(c(e,(n=>o(r=>y(r)&&r.length<=n))(t))),includes:t=>{return b(c(e,(n=t,o(r=>y(r)&&r.includes(n)))));var n},regex:t=>{return b(c(e,(n=t,o(r=>y(r)&&!!r.match(n)))));var n}}),F=b(o(y)),d=e=>Object.assign(l(e),{between:(t,n)=>d(c(e,((r,i)=>o(s=>m(s)&&r<=s&&i>=s))(t,n))),lt:t=>d(c(e,(n=>o(r=>m(r)&&rd(c(e,(n=>o(r=>m(r)&&r>n))(t))),lte:t=>d(c(e,(n=>o(r=>m(r)&&r<=n))(t))),gte:t=>d(c(e,(n=>o(r=>m(r)&&r>=n))(t))),int:()=>d(c(e,o(t=>m(t)&&Number.isInteger(t)))),finite:()=>d(c(e,o(t=>m(t)&&Number.isFinite(t)))),positive:()=>d(c(e,o(t=>m(t)&&t>0))),negative:()=>d(c(e,o(t=>m(t)&&t<0)))}),I=d(o(m)),w=e=>Object.assign(l(e),{between:(t,n)=>w(c(e,((r,i)=>o(s=>v(s)&&r<=s&&i>=s))(t,n))),lt:t=>w(c(e,(n=>o(r=>v(r)&&rw(c(e,(n=>o(r=>v(r)&&r>n))(t))),lte:t=>w(c(e,(n=>o(r=>v(r)&&r<=n))(t))),gte:t=>w(c(e,(n=>o(r=>v(r)&&r>=n))(t))),positive:()=>w(c(e,o(t=>v(t)&&t>0))),negative:()=>w(c(e,o(t=>v(t)&&t<0)))}),J=w(o(v)),R=l(o(function(e){return typeof e=="boolean"})),U=l(o(function(e){return typeof e=="symbol"})),V=l(o(function(e){return e==null})),q=l(o(function(e){return e!=null}));var D={__proto__:null,matcher:f,optional:N,array:function(...e){return B({[f]:()=>({match:t=>{if(!Array.isArray(t))return{matched:!1};if(e.length===0)return{matched:!0};const n=e[0];let r={};if(t.length===0)return g(n).forEach(s=>{r[s]=[]}),{matched:!0,selections:r};const i=(s,a)=>{r[s]=(r[s]||[]).concat([a])};return{matched:t.every(s=>u(n,s,i)),selections:r}},getSelectionKeys:()=>e.length===0?[]:g(e[0])})})},set:function(...e){return l({[f]:()=>({match:t=>{if(!(t instanceof Set))return{matched:!1};let n={};if(t.size===0)return{matched:!0,selections:n};if(e.length===0)return{matched:!0};const r=(s,a)=>{n[s]=(n[s]||[]).concat([a])},i=e[0];return{matched:z(t,s=>u(i,s,r)),selections:n}},getSelectionKeys:()=>e.length===0?[]:g(e[0])})})},map:function(...e){return l({[f]:()=>({match:t=>{if(!(t instanceof Map))return{matched:!1};let n={};if(t.size===0)return{matched:!0,selections:n};const r=(h,S)=>{n[h]=(n[h]||[]).concat([S])};if(e.length===0)return{matched:!0};var i;if(e.length===1)throw new Error(`\`P.map\` wasn't given enough arguments. Expected (key, value), received ${(i=e[0])==null?void 0:i.toString()}`);const[s,a]=e;return{matched:L(t,(h,S)=>{const p=u(s,S,r),O=u(a,h,r);return p&&O}),selections:n}},getSelectionKeys:()=>e.length===0?[]:[...g(e[0]),...g(e[1])]})})},intersection:c,union:W,not:function(e){return l({[f]:()=>({match:t=>({matched:!u(e,t,()=>{})}),getSelectionKeys:()=>[],matcherType:"not"})})},when:o,select:K,any:_,_:M,string:F,number:I,bigint:J,boolean:R,symbol:U,nullish:V,nonNullable:q,instanceOf:function(e){return l(o(function(t){return n=>n instanceof t}(e)))},shape:function(e){return l(o($(e)))}};class C extends Error{constructor(t){let n;try{n=JSON.stringify(t)}catch{n=t}super(`Pattern matching error: no pattern matches value ${n}`),this.input=void 0,this.input=t}}const k={matched:!1,value:void 0};function G(e){return new A(e,k)}class A{constructor(t,n){this.input=void 0,this.state=void 0,this.input=t,this.state=n}with(...t){if(this.state.matched)return this;const n=t[t.length-1],r=[t[0]];let i;t.length===3&&typeof t[1]=="function"?i=t[1]:t.length>2&&r.push(...t.slice(1,t.length-1));let s=!1,a={};const h=(p,O)=>{s=!0,a[p]=O},S=!r.some(p=>u(p,this.input,h))||i&&!i(this.input)?k:{matched:!0,value:n(s?E in a?a[E]:a:this.input,this.input)};return new A(this.input,S)}when(t,n){if(this.state.matched)return this;const r=!!t(this.input);return new A(this.input,r?{matched:!0,value:n(this.input,this.input)}:k)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new C(this.input)}run(){return this.exhaustive()}returnType(){return this}}export{D as N,G as z}; +function _(t,e,n){let r=i=>t(i,...e);return n===void 0?r:Object.assign(r,{lazy:n,lazyArgs:e})}function k(t,e,n){let r=t.length-e.length;if(r===0)return t(...e);if(r===1)return _(t,e,n);throw new Error("Wrong number of arguments")}function X(...t){return k(L,t)}function L(t,e){return e(t),t}function Y(...t){return k(M,t)}var M=(t,e)=>t[e];const f=Symbol.for("@ts-pattern/matcher"),z=Symbol.for("@ts-pattern/isVariadic"),x="@ts-pattern/anonymous-select-key",$=t=>!!(t&&typeof t=="object"),K=t=>t&&!!t[f],a=(t,e,n)=>{if(K(t)){const r=t[f](),{matched:i,selections:s}=r.match(e);return i&&s&&Object.keys(s).forEach(u=>n(u,s[u])),i}if($(t)){if(!$(e))return!1;if(Array.isArray(t)){if(!Array.isArray(e))return!1;let r=[],i=[],s=[];for(const u of t.keys()){const h=t[u];K(h)&&h[z]?s.push(h):s.length?i.push(h):r.push(h)}if(s.length){if(s.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(e.lengtha(p,u[O],n))&&i.every((p,O)=>a(p,h[O],n))&&(s.length===0||a(s[0],S,n))}return t.length===e.length&&t.every((u,h)=>a(u,e[h],n))}return Reflect.ownKeys(t).every(r=>{const i=t[r];return(r in e||K(s=i)&&s[f]().matcherType==="optional")&&a(i,e[r],n);var s})}return Object.is(e,t)},g=t=>{var e,n,r;return $(t)?K(t)?(e=(n=(r=t[f]()).getSelectionKeys)==null?void 0:n.call(r))!=null?e:[]:Array.isArray(t)?j(t,g):j(Object.values(t),g):[]},j=(t,e)=>t.reduce((n,r)=>n.concat(e(r)),[]);function F(...t){if(t.length===1){const[e]=t;return n=>a(e,n,()=>{})}if(t.length===2){const[e,n]=t;return a(e,n,()=>{})}throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${t.length}.`)}function l(t){return Object.assign(t,{optional:()=>W(t),and:e=>c(t,e),or:e=>N(t,e),select:e=>e===void 0?E(t):E(e,t)})}function T(t){return Object.assign((e=>Object.assign(e,{[Symbol.iterator](){let n=0;const r=[{value:Object.assign(e,{[z]:!0}),done:!1},{done:!0,value:void 0}];return{next:()=>{var i;return(i=r[n++])!=null?i:r.at(-1)}}}}))(t),{optional:()=>T(W(t)),select:e=>T(e===void 0?E(t):E(e,t))})}function W(t){return l({[f]:()=>({match:e=>{let n={};const r=(i,s)=>{n[i]=s};return e===void 0?(g(t).forEach(i=>r(i,void 0)),{matched:!0,selections:n}):{matched:a(t,e,r),selections:n}},getSelectionKeys:()=>g(t),matcherType:"optional"})})}const I=(t,e)=>{for(const n of t)if(!e(n))return!1;return!0},J=(t,e)=>{for(const[n,r]of t.entries())if(!e(r,n))return!1;return!0};function c(...t){return l({[f]:()=>({match:e=>{let n={};const r=(i,s)=>{n[i]=s};return{matched:t.every(i=>a(i,e,r)),selections:n}},getSelectionKeys:()=>j(t,g),matcherType:"and"})})}function N(...t){return l({[f]:()=>({match:e=>{let n={};const r=(i,s)=>{n[i]=s};return j(t,g).forEach(i=>r(i,void 0)),{matched:t.some(i=>a(i,e,r)),selections:n}},getSelectionKeys:()=>j(t,g),matcherType:"or"})})}function o(t){return{[f]:()=>({match:e=>({matched:!!t(e)})})}}function E(...t){const e=typeof t[0]=="string"?t[0]:void 0,n=t.length===2?t[1]:typeof t[0]=="string"?void 0:t[0];return l({[f]:()=>({match:r=>{let i={[e??x]:r};return{matched:n===void 0||a(n,r,(s,u)=>{i[s]=u}),selections:i}},getSelectionKeys:()=>[e??x].concat(n===void 0?[]:g(n))})})}function m(t){return typeof t=="number"}function y(t){return typeof t=="string"}function v(t){return typeof t=="bigint"}const P=l(o(function(t){return!0})),R=P,b=t=>Object.assign(l(t),{startsWith:e=>{return b(c(t,(n=e,o(r=>y(r)&&r.startsWith(n)))));var n},endsWith:e=>{return b(c(t,(n=e,o(r=>y(r)&&r.endsWith(n)))));var n},minLength:e=>b(c(t,(n=>o(r=>y(r)&&r.length>=n))(e))),length:e=>b(c(t,(n=>o(r=>y(r)&&r.length===n))(e))),maxLength:e=>b(c(t,(n=>o(r=>y(r)&&r.length<=n))(e))),includes:e=>{return b(c(t,(n=e,o(r=>y(r)&&r.includes(n)))));var n},regex:e=>{return b(c(t,(n=e,o(r=>y(r)&&!!r.match(n)))));var n}}),U=b(o(y)),d=t=>Object.assign(l(t),{between:(e,n)=>d(c(t,((r,i)=>o(s=>m(s)&&r<=s&&i>=s))(e,n))),lt:e=>d(c(t,(n=>o(r=>m(r)&&rd(c(t,(n=>o(r=>m(r)&&r>n))(e))),lte:e=>d(c(t,(n=>o(r=>m(r)&&r<=n))(e))),gte:e=>d(c(t,(n=>o(r=>m(r)&&r>=n))(e))),int:()=>d(c(t,o(e=>m(e)&&Number.isInteger(e)))),finite:()=>d(c(t,o(e=>m(e)&&Number.isFinite(e)))),positive:()=>d(c(t,o(e=>m(e)&&e>0))),negative:()=>d(c(t,o(e=>m(e)&&e<0)))}),V=d(o(m)),w=t=>Object.assign(l(t),{between:(e,n)=>w(c(t,((r,i)=>o(s=>v(s)&&r<=s&&i>=s))(e,n))),lt:e=>w(c(t,(n=>o(r=>v(r)&&rw(c(t,(n=>o(r=>v(r)&&r>n))(e))),lte:e=>w(c(t,(n=>o(r=>v(r)&&r<=n))(e))),gte:e=>w(c(t,(n=>o(r=>v(r)&&r>=n))(e))),positive:()=>w(c(t,o(e=>v(e)&&e>0))),negative:()=>w(c(t,o(e=>v(e)&&e<0)))}),q=w(o(v)),C=l(o(function(t){return typeof t=="boolean"})),D=l(o(function(t){return typeof t=="symbol"})),G=l(o(function(t){return t==null})),H=l(o(function(t){return t!=null}));var Z={__proto__:null,matcher:f,optional:W,array:function(...t){return T({[f]:()=>({match:e=>{if(!Array.isArray(e))return{matched:!1};if(t.length===0)return{matched:!0};const n=t[0];let r={};if(e.length===0)return g(n).forEach(s=>{r[s]=[]}),{matched:!0,selections:r};const i=(s,u)=>{r[s]=(r[s]||[]).concat([u])};return{matched:e.every(s=>a(n,s,i)),selections:r}},getSelectionKeys:()=>t.length===0?[]:g(t[0])})})},set:function(...t){return l({[f]:()=>({match:e=>{if(!(e instanceof Set))return{matched:!1};let n={};if(e.size===0)return{matched:!0,selections:n};if(t.length===0)return{matched:!0};const r=(s,u)=>{n[s]=(n[s]||[]).concat([u])},i=t[0];return{matched:I(e,s=>a(i,s,r)),selections:n}},getSelectionKeys:()=>t.length===0?[]:g(t[0])})})},map:function(...t){return l({[f]:()=>({match:e=>{if(!(e instanceof Map))return{matched:!1};let n={};if(e.size===0)return{matched:!0,selections:n};const r=(h,S)=>{n[h]=(n[h]||[]).concat([S])};if(t.length===0)return{matched:!0};var i;if(t.length===1)throw new Error(`\`P.map\` wasn't given enough arguments. Expected (key, value), received ${(i=t[0])==null?void 0:i.toString()}`);const[s,u]=t;return{matched:J(e,(h,S)=>{const p=a(s,S,r),O=a(u,h,r);return p&&O}),selections:n}},getSelectionKeys:()=>t.length===0?[]:[...g(t[0]),...g(t[1])]})})},intersection:c,union:N,not:function(t){return l({[f]:()=>({match:e=>({matched:!a(t,e,()=>{})}),getSelectionKeys:()=>[],matcherType:"not"})})},when:o,select:E,any:P,_:R,string:U,number:V,bigint:q,boolean:C,symbol:D,nullish:G,nonNullable:H,instanceOf:function(t){return l(o(function(e){return n=>n instanceof e}(t)))},shape:function(t){return l(o(F(t)))}};class Q extends Error{constructor(e){let n;try{n=JSON.stringify(e)}catch{n=e}super(`Pattern matching error: no pattern matches value ${n}`),this.input=void 0,this.input=e}}const B={matched:!1,value:void 0};function tt(t){return new A(t,B)}class A{constructor(e,n){this.input=void 0,this.state=void 0,this.input=e,this.state=n}with(...e){if(this.state.matched)return this;const n=e[e.length-1],r=[e[0]];let i;e.length===3&&typeof e[1]=="function"?i=e[1]:e.length>2&&r.push(...e.slice(1,e.length-1));let s=!1,u={};const h=(p,O)=>{s=!0,u[p]=O},S=!r.some(p=>a(p,this.input,h))||i&&!i(this.input)?B:{matched:!0,value:n(s?x in u?u[x]:u:this.input,this.input)};return new A(this.input,S)}when(e,n){if(this.state.matched)return this;const r=!!e(this.input);return new A(this.input,r?{matched:!0,value:n(this.input,this.input)}:B)}otherwise(e){return this.state.matched?this.state.value:e(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new Q(this.input)}run(){return this.exhaustive()}returnType(){return this}}export{Z as N,Y as p,X as r,tt as z}; //# sourceMappingURL=index2.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/index2.js.map b/web/app/themes/haiku-atelier-2024/assets/js/index2.js.map index 23742714..f0fe602b 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/index2.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/index2.js.map @@ -1 +1 @@ -{"version":3,"file":"index2.js","sources":["../../../../../../node_modules/.pnpm/ts-pattern@5.4.0/node_modules/ts-pattern/dist/index.js"],"sourcesContent":["const t=Symbol.for(\"@ts-pattern/matcher\"),e=Symbol.for(\"@ts-pattern/isVariadic\"),n=\"@ts-pattern/anonymous-select-key\",r=t=>Boolean(t&&\"object\"==typeof t),i=e=>e&&!!e[t],s=(n,o,c)=>{if(i(n)){const e=n[t](),{matched:r,selections:i}=e.match(o);return r&&i&&Object.keys(i).forEach(t=>c(t,i[t])),r}if(r(n)){if(!r(o))return!1;if(Array.isArray(n)){if(!Array.isArray(o))return!1;let t=[],r=[],a=[];for(const s of n.keys()){const o=n[s];i(o)&&o[e]?a.push(o):a.length?r.push(o):t.push(o)}if(a.length){if(a.length>1)throw new Error(\"Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.\");if(o.lengths(t,e[n],c))&&r.every((t,e)=>s(t,n[e],c))&&(0===a.length||s(a[0],i,c))}return n.length===o.length&&n.every((t,e)=>s(t,o[e],c))}return Reflect.ownKeys(n).every(e=>{const r=n[e];return(e in o||i(a=r)&&\"optional\"===a[t]().matcherType)&&s(r,o[e],c);var a})}return Object.is(o,n)},o=e=>{var n,s,a;return r(e)?i(e)?null!=(n=null==(s=(a=e[t]()).getSelectionKeys)?void 0:s.call(a))?n:[]:Array.isArray(e)?c(e,o):c(Object.values(e),o):[]},c=(t,e)=>t.reduce((t,n)=>t.concat(e(n)),[]);function a(...t){if(1===t.length){const[e]=t;return t=>s(e,t,()=>{})}if(2===t.length){const[e,n]=t;return s(e,n,()=>{})}throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${t.length}.`)}function u(t){return Object.assign(t,{optional:()=>h(t),and:e=>m(t,e),or:e=>d(t,e),select:e=>void 0===e?y(t):y(e,t)})}function l(t){return Object.assign((t=>Object.assign(t,{[Symbol.iterator](){let n=0;const r=[{value:Object.assign(t,{[e]:!0}),done:!1},{done:!0,value:void 0}];return{next:()=>{var t;return null!=(t=r[n++])?t:r.at(-1)}}}}))(t),{optional:()=>l(h(t)),select:e=>l(void 0===e?y(t):y(e,t))})}function h(e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return void 0===t?(o(e).forEach(t=>r(t,void 0)),{matched:!0,selections:n}):{matched:s(e,t,r),selections:n}},getSelectionKeys:()=>o(e),matcherType:\"optional\"})})}const f=(t,e)=>{for(const n of t)if(!e(n))return!1;return!0},g=(t,e)=>{for(const[n,r]of t.entries())if(!e(r,n))return!1;return!0};function m(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return{matched:e.every(e=>s(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,o),matcherType:\"and\"})})}function d(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return c(e,o).forEach(t=>r(t,void 0)),{matched:e.some(e=>s(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,o),matcherType:\"or\"})})}function p(e){return{[t]:()=>({match:t=>({matched:Boolean(e(t))})})}}function y(...e){const r=\"string\"==typeof e[0]?e[0]:void 0,i=2===e.length?e[1]:\"string\"==typeof e[0]?void 0:e[0];return u({[t]:()=>({match:t=>{let e={[null!=r?r:n]:t};return{matched:void 0===i||s(i,t,(t,n)=>{e[t]=n}),selections:e}},getSelectionKeys:()=>[null!=r?r:n].concat(void 0===i?[]:o(i))})})}function v(t){return\"number\"==typeof t}function b(t){return\"string\"==typeof t}function w(t){return\"bigint\"==typeof t}const S=u(p(function(t){return!0})),O=S,j=t=>Object.assign(u(t),{startsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.startsWith(n)))));var n},endsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.endsWith(n)))));var n},minLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length>=t))(e))),length:e=>j(m(t,(t=>p(e=>b(e)&&e.length===t))(e))),maxLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length<=t))(e))),includes:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.includes(n)))));var n},regex:e=>{return j(m(t,(n=e,p(t=>b(t)&&Boolean(t.match(n))))));var n}}),K=j(p(b)),x=t=>Object.assign(u(t),{between:(e,n)=>x(m(t,((t,e)=>p(n=>v(n)&&t<=n&&e>=n))(e,n))),lt:e=>x(m(t,(t=>p(e=>v(e)&&ex(m(t,(t=>p(e=>v(e)&&e>t))(e))),lte:e=>x(m(t,(t=>p(e=>v(e)&&e<=t))(e))),gte:e=>x(m(t,(t=>p(e=>v(e)&&e>=t))(e))),int:()=>x(m(t,p(t=>v(t)&&Number.isInteger(t)))),finite:()=>x(m(t,p(t=>v(t)&&Number.isFinite(t)))),positive:()=>x(m(t,p(t=>v(t)&&t>0))),negative:()=>x(m(t,p(t=>v(t)&&t<0)))}),E=x(p(v)),A=t=>Object.assign(u(t),{between:(e,n)=>A(m(t,((t,e)=>p(n=>w(n)&&t<=n&&e>=n))(e,n))),lt:e=>A(m(t,(t=>p(e=>w(e)&&eA(m(t,(t=>p(e=>w(e)&&e>t))(e))),lte:e=>A(m(t,(t=>p(e=>w(e)&&e<=t))(e))),gte:e=>A(m(t,(t=>p(e=>w(e)&&e>=t))(e))),positive:()=>A(m(t,p(t=>w(t)&&t>0))),negative:()=>A(m(t,p(t=>w(t)&&t<0)))}),P=A(p(w)),T=u(p(function(t){return\"boolean\"==typeof t})),B=u(p(function(t){return\"symbol\"==typeof t})),_=u(p(function(t){return null==t})),k=u(p(function(t){return null!=t}));var N={__proto__:null,matcher:t,optional:h,array:function(...e){return l({[t]:()=>({match:t=>{if(!Array.isArray(t))return{matched:!1};if(0===e.length)return{matched:!0};const n=e[0];let r={};if(0===t.length)return o(n).forEach(t=>{r[t]=[]}),{matched:!0,selections:r};const i=(t,e)=>{r[t]=(r[t]||[]).concat([e])};return{matched:t.every(t=>s(n,t,i)),selections:r}},getSelectionKeys:()=>0===e.length?[]:o(e[0])})})},set:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Set))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};if(0===e.length)return{matched:!0};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])},i=e[0];return{matched:f(t,t=>s(i,t,r)),selections:n}},getSelectionKeys:()=>0===e.length?[]:o(e[0])})})},map:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Map))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])};if(0===e.length)return{matched:!0};var i;if(1===e.length)throw new Error(`\\`P.map\\` wasn't given enough arguments. Expected (key, value), received ${null==(i=e[0])?void 0:i.toString()}`);const[o,c]=e;return{matched:g(t,(t,e)=>{const n=s(o,e,r),i=s(c,t,r);return n&&i}),selections:n}},getSelectionKeys:()=>0===e.length?[]:[...o(e[0]),...o(e[1])]})})},intersection:m,union:d,not:function(e){return u({[t]:()=>({match:t=>({matched:!s(e,t,()=>{})}),getSelectionKeys:()=>[],matcherType:\"not\"})})},when:p,select:y,any:S,_:O,string:K,number:E,bigint:P,boolean:T,symbol:B,nullish:_,nonNullable:k,instanceOf:function(t){return u(p(function(t){return e=>e instanceof t}(t)))},shape:function(t){return u(p(a(t)))}};class W extends Error{constructor(t){let e;try{e=JSON.stringify(t)}catch(n){e=t}super(`Pattern matching error: no pattern matches value ${e}`),this.input=void 0,this.input=t}}const $={matched:!1,value:void 0};function z(t){return new I(t,$)}class I{constructor(t,e){this.input=void 0,this.state=void 0,this.input=t,this.state=e}with(...t){if(this.state.matched)return this;const e=t[t.length-1],r=[t[0]];let i;3===t.length&&\"function\"==typeof t[1]?i=t[1]:t.length>2&&r.push(...t.slice(1,t.length-1));let o=!1,c={};const a=(t,e)=>{o=!0,c[t]=e},u=!r.some(t=>s(t,this.input,a))||i&&!Boolean(i(this.input))?$:{matched:!0,value:e(o?n in c?c[n]:c:this.input,this.input)};return new I(this.input,u)}when(t,e){if(this.state.matched)return this;const n=Boolean(t(this.input));return new I(this.input,n?{matched:!0,value:e(this.input,this.input)}:$)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new W(this.input)}run(){return this.exhaustive()}returnType(){return this}}export{W as NonExhaustiveError,N as P,N as Pattern,a as isMatching,z as match};\n//# sourceMappingURL=index.js.map\n"],"names":["t","e","n","r","i","s","o","c","a","u","h","m","d","y","l","f","g","p","v","b","w","S","O","j","K","x","E","A","P","T","B","_","k","N","W","$","z","I"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index2.js","sources":["../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-K26VP6CL.js","../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-RAAYCPUM.js","../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-RU7WR4KH.js","../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-VROY5Y5B.js","../../../../../../node_modules/.pnpm/ts-pattern@5.4.0/node_modules/ts-pattern/dist/index.js"],"sourcesContent":["function u(t,n,a){let o=r=>t(r,...n);return a===void 0?o:Object.assign(o,{lazy:a,lazyArgs:n})}export{u as a};\n","import{a as t}from\"./chunk-K26VP6CL.js\";function u(r,n,a){let o=r.length-n.length;if(o===0)return r(...n);if(o===1)return t(r,n,a);throw new Error(\"Wrong number of arguments\")}export{u as a};\n","import{a as t}from\"./chunk-RAAYCPUM.js\";function r(...n){return t(e,n)}function e(n,o){return o(n),n}export{r as a};\n","import{a as n}from\"./chunk-RAAYCPUM.js\";function p(...o){return n(t,o)}var t=(o,e)=>o[e];export{p as a,t as b};\n","const t=Symbol.for(\"@ts-pattern/matcher\"),e=Symbol.for(\"@ts-pattern/isVariadic\"),n=\"@ts-pattern/anonymous-select-key\",r=t=>Boolean(t&&\"object\"==typeof t),i=e=>e&&!!e[t],s=(n,o,c)=>{if(i(n)){const e=n[t](),{matched:r,selections:i}=e.match(o);return r&&i&&Object.keys(i).forEach(t=>c(t,i[t])),r}if(r(n)){if(!r(o))return!1;if(Array.isArray(n)){if(!Array.isArray(o))return!1;let t=[],r=[],a=[];for(const s of n.keys()){const o=n[s];i(o)&&o[e]?a.push(o):a.length?r.push(o):t.push(o)}if(a.length){if(a.length>1)throw new Error(\"Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.\");if(o.lengths(t,e[n],c))&&r.every((t,e)=>s(t,n[e],c))&&(0===a.length||s(a[0],i,c))}return n.length===o.length&&n.every((t,e)=>s(t,o[e],c))}return Reflect.ownKeys(n).every(e=>{const r=n[e];return(e in o||i(a=r)&&\"optional\"===a[t]().matcherType)&&s(r,o[e],c);var a})}return Object.is(o,n)},o=e=>{var n,s,a;return r(e)?i(e)?null!=(n=null==(s=(a=e[t]()).getSelectionKeys)?void 0:s.call(a))?n:[]:Array.isArray(e)?c(e,o):c(Object.values(e),o):[]},c=(t,e)=>t.reduce((t,n)=>t.concat(e(n)),[]);function a(...t){if(1===t.length){const[e]=t;return t=>s(e,t,()=>{})}if(2===t.length){const[e,n]=t;return s(e,n,()=>{})}throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${t.length}.`)}function u(t){return Object.assign(t,{optional:()=>h(t),and:e=>m(t,e),or:e=>d(t,e),select:e=>void 0===e?y(t):y(e,t)})}function l(t){return Object.assign((t=>Object.assign(t,{[Symbol.iterator](){let n=0;const r=[{value:Object.assign(t,{[e]:!0}),done:!1},{done:!0,value:void 0}];return{next:()=>{var t;return null!=(t=r[n++])?t:r.at(-1)}}}}))(t),{optional:()=>l(h(t)),select:e=>l(void 0===e?y(t):y(e,t))})}function h(e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return void 0===t?(o(e).forEach(t=>r(t,void 0)),{matched:!0,selections:n}):{matched:s(e,t,r),selections:n}},getSelectionKeys:()=>o(e),matcherType:\"optional\"})})}const f=(t,e)=>{for(const n of t)if(!e(n))return!1;return!0},g=(t,e)=>{for(const[n,r]of t.entries())if(!e(r,n))return!1;return!0};function m(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return{matched:e.every(e=>s(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,o),matcherType:\"and\"})})}function d(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return c(e,o).forEach(t=>r(t,void 0)),{matched:e.some(e=>s(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,o),matcherType:\"or\"})})}function p(e){return{[t]:()=>({match:t=>({matched:Boolean(e(t))})})}}function y(...e){const r=\"string\"==typeof e[0]?e[0]:void 0,i=2===e.length?e[1]:\"string\"==typeof e[0]?void 0:e[0];return u({[t]:()=>({match:t=>{let e={[null!=r?r:n]:t};return{matched:void 0===i||s(i,t,(t,n)=>{e[t]=n}),selections:e}},getSelectionKeys:()=>[null!=r?r:n].concat(void 0===i?[]:o(i))})})}function v(t){return\"number\"==typeof t}function b(t){return\"string\"==typeof t}function w(t){return\"bigint\"==typeof t}const S=u(p(function(t){return!0})),O=S,j=t=>Object.assign(u(t),{startsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.startsWith(n)))));var n},endsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.endsWith(n)))));var n},minLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length>=t))(e))),length:e=>j(m(t,(t=>p(e=>b(e)&&e.length===t))(e))),maxLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length<=t))(e))),includes:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.includes(n)))));var n},regex:e=>{return j(m(t,(n=e,p(t=>b(t)&&Boolean(t.match(n))))));var n}}),K=j(p(b)),x=t=>Object.assign(u(t),{between:(e,n)=>x(m(t,((t,e)=>p(n=>v(n)&&t<=n&&e>=n))(e,n))),lt:e=>x(m(t,(t=>p(e=>v(e)&&ex(m(t,(t=>p(e=>v(e)&&e>t))(e))),lte:e=>x(m(t,(t=>p(e=>v(e)&&e<=t))(e))),gte:e=>x(m(t,(t=>p(e=>v(e)&&e>=t))(e))),int:()=>x(m(t,p(t=>v(t)&&Number.isInteger(t)))),finite:()=>x(m(t,p(t=>v(t)&&Number.isFinite(t)))),positive:()=>x(m(t,p(t=>v(t)&&t>0))),negative:()=>x(m(t,p(t=>v(t)&&t<0)))}),E=x(p(v)),A=t=>Object.assign(u(t),{between:(e,n)=>A(m(t,((t,e)=>p(n=>w(n)&&t<=n&&e>=n))(e,n))),lt:e=>A(m(t,(t=>p(e=>w(e)&&eA(m(t,(t=>p(e=>w(e)&&e>t))(e))),lte:e=>A(m(t,(t=>p(e=>w(e)&&e<=t))(e))),gte:e=>A(m(t,(t=>p(e=>w(e)&&e>=t))(e))),positive:()=>A(m(t,p(t=>w(t)&&t>0))),negative:()=>A(m(t,p(t=>w(t)&&t<0)))}),P=A(p(w)),T=u(p(function(t){return\"boolean\"==typeof t})),B=u(p(function(t){return\"symbol\"==typeof t})),_=u(p(function(t){return null==t})),k=u(p(function(t){return null!=t}));var N={__proto__:null,matcher:t,optional:h,array:function(...e){return l({[t]:()=>({match:t=>{if(!Array.isArray(t))return{matched:!1};if(0===e.length)return{matched:!0};const n=e[0];let r={};if(0===t.length)return o(n).forEach(t=>{r[t]=[]}),{matched:!0,selections:r};const i=(t,e)=>{r[t]=(r[t]||[]).concat([e])};return{matched:t.every(t=>s(n,t,i)),selections:r}},getSelectionKeys:()=>0===e.length?[]:o(e[0])})})},set:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Set))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};if(0===e.length)return{matched:!0};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])},i=e[0];return{matched:f(t,t=>s(i,t,r)),selections:n}},getSelectionKeys:()=>0===e.length?[]:o(e[0])})})},map:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Map))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])};if(0===e.length)return{matched:!0};var i;if(1===e.length)throw new Error(`\\`P.map\\` wasn't given enough arguments. Expected (key, value), received ${null==(i=e[0])?void 0:i.toString()}`);const[o,c]=e;return{matched:g(t,(t,e)=>{const n=s(o,e,r),i=s(c,t,r);return n&&i}),selections:n}},getSelectionKeys:()=>0===e.length?[]:[...o(e[0]),...o(e[1])]})})},intersection:m,union:d,not:function(e){return u({[t]:()=>({match:t=>({matched:!s(e,t,()=>{})}),getSelectionKeys:()=>[],matcherType:\"not\"})})},when:p,select:y,any:S,_:O,string:K,number:E,bigint:P,boolean:T,symbol:B,nullish:_,nonNullable:k,instanceOf:function(t){return u(p(function(t){return e=>e instanceof t}(t)))},shape:function(t){return u(p(a(t)))}};class W extends Error{constructor(t){let e;try{e=JSON.stringify(t)}catch(n){e=t}super(`Pattern matching error: no pattern matches value ${e}`),this.input=void 0,this.input=t}}const $={matched:!1,value:void 0};function z(t){return new I(t,$)}class I{constructor(t,e){this.input=void 0,this.state=void 0,this.input=t,this.state=e}with(...t){if(this.state.matched)return this;const e=t[t.length-1],r=[t[0]];let i;3===t.length&&\"function\"==typeof t[1]?i=t[1]:t.length>2&&r.push(...t.slice(1,t.length-1));let o=!1,c={};const a=(t,e)=>{o=!0,c[t]=e},u=!r.some(t=>s(t,this.input,a))||i&&!Boolean(i(this.input))?$:{matched:!0,value:e(o?n in c?c[n]:c:this.input,this.input)};return new I(this.input,u)}when(t,e){if(this.state.matched)return this;const n=Boolean(t(this.input));return new I(this.input,n?{matched:!0,value:e(this.input,this.input)}:$)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new W(this.input)}run(){return this.exhaustive()}returnType(){return this}}export{W as NonExhaustiveError,N as P,N as Pattern,a as isMatching,z as match};\n//# sourceMappingURL=index.js.map\n"],"names":["u","n","a","o","r","t","e","p","i","s","c","h","m","d","y","l","f","g","v","b","w","S","O","j","K","x","E","A","P","T","B","_","k","N","W","$","z","I"],"mappings":"AAAA,SAASA,EAAE,EAAEC,EAAEC,EAAE,CAAC,IAAIC,EAAEC,GAAG,EAAEA,EAAE,GAAGH,CAAC,EAAE,OAAOC,IAAI,OAAOC,EAAE,OAAO,OAAOA,EAAE,CAAC,KAAKD,EAAE,SAASD,CAAC,CAAC,CAAC,CCArD,SAASD,EAAEI,EAAEH,EAAEC,EAAE,CAAC,IAAIC,EAAEC,EAAE,OAAOH,EAAE,OAAO,GAAGE,IAAI,EAAE,OAAOC,EAAE,GAAGH,CAAC,EAAE,GAAGE,IAAI,EAAE,OAAOE,EAAED,EAAEH,EAAEC,CAAC,EAAE,MAAM,IAAI,MAAM,2BAA2B,CAAC,CCAvI,SAASE,KAAKH,EAAE,CAAC,OAAOI,EAAEC,EAAEL,CAAC,CAAC,CAAC,SAASK,EAAEL,EAAEE,EAAE,CAAC,OAAOA,EAAEF,CAAC,EAAEA,CAAC,CCA5D,SAASM,KAAKJ,EAAE,CAAC,OAAOF,EAAEI,EAAEF,CAAC,CAAC,CAAC,IAAIE,EAAE,CAACF,EAAE,IAAIA,EAAE,CAAC,ECAvF,MAAME,EAAE,OAAO,IAAI,qBAAqB,EAAEC,EAAE,OAAO,IAAI,wBAAwB,EAAEL,EAAE,mCAAmCG,EAAE,GAAG,GAAQ,GAAa,OAAO,GAAjB,UAAoBI,EAAEF,GAAGA,GAAG,CAAC,CAACA,EAAED,CAAC,EAAEI,EAAE,CAACR,EAAEE,EAAEO,IAAI,CAAC,GAAGF,EAAEP,CAAC,EAAE,CAAC,MAAMK,EAAEL,EAAEI,CAAC,IAAI,CAAC,QAAQD,EAAE,WAAWI,CAAC,EAAEF,EAAE,MAAMH,CAAC,EAAE,OAAOC,GAAGI,GAAG,OAAO,KAAKA,CAAC,EAAE,QAAQH,GAAGK,EAAEL,EAAEG,EAAEH,CAAC,CAAC,CAAC,EAAED,CAAC,CAAC,GAAGA,EAAEH,CAAC,EAAE,CAAC,GAAG,CAACG,EAAED,CAAC,EAAE,MAAM,GAAG,GAAG,MAAM,QAAQF,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQE,CAAC,EAAE,MAAM,GAAG,IAAIE,EAAE,CAAE,EAACD,EAAE,CAAE,EAACF,EAAE,CAAE,EAAC,UAAUO,KAAKR,EAAE,KAAM,EAAC,CAAC,MAAME,EAAEF,EAAEQ,CAAC,EAAED,EAAEL,CAAC,GAAGA,EAAEG,CAAC,EAAEJ,EAAE,KAAKC,CAAC,EAAED,EAAE,OAAOE,EAAE,KAAKD,CAAC,EAAEE,EAAE,KAAKF,CAAC,CAAC,CAAC,GAAGD,EAAE,OAAO,CAAC,GAAGA,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,0FAA0F,EAAE,GAAGC,EAAE,OAAOE,EAAE,OAAOD,EAAE,OAAO,MAAM,GAAG,MAAME,EAAEH,EAAE,MAAM,EAAEE,EAAE,MAAM,EAAEJ,EAAMG,EAAE,SAAN,EAAa,CAAA,EAAGD,EAAE,MAAM,CAACC,EAAE,MAAM,EAAEI,EAAEL,EAAE,MAAME,EAAE,OAAWD,EAAE,SAAN,EAAa,IAAS,CAACA,EAAE,MAAM,EAAE,OAAOC,EAAE,MAAM,CAACA,EAAEJ,IAAIQ,EAAEJ,EAAEC,EAAEL,CAAC,EAAES,CAAC,CAAC,GAAGN,EAAE,MAAM,CAACC,EAAEC,IAAIG,EAAEJ,EAAEJ,EAAEK,CAAC,EAAEI,CAAC,CAAC,IAAQR,EAAE,SAAN,GAAcO,EAAEP,EAAE,CAAC,EAAEM,EAAEE,CAAC,EAAE,CAAC,OAAOT,EAAE,SAASE,EAAE,QAAQF,EAAE,MAAM,CAACI,EAAEC,IAAIG,EAAEJ,EAAEF,EAAEG,CAAC,EAAEI,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,QAAQT,CAAC,EAAE,MAAMK,GAAG,CAAC,MAAMF,EAAEH,EAAEK,CAAC,EAAE,OAAOA,KAAKH,GAAGK,EAAEN,EAAEE,CAAC,GAAgBF,EAAEG,CAAC,IAAI,cAApB,aAAkCI,EAAEL,EAAED,EAAEG,CAAC,EAAEI,CAAC,EAAE,IAAIR,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,GAAGC,EAAEF,CAAC,CAAC,EAAEE,EAAEG,GAAG,CAAC,IAAIL,EAAEQ,EAAEP,EAAE,OAAOE,EAAEE,CAAC,EAAEE,EAAEF,CAAC,GAASL,GAASQ,GAAGP,EAAEI,EAAED,CAAC,EAAC,GAAI,mBAApB,KAAsC,OAAOI,EAAE,KAAKP,CAAC,IAA9D,KAAiED,EAAE,CAAE,EAAC,MAAM,QAAQK,CAAC,EAAEI,EAAEJ,EAAEH,CAAC,EAAEO,EAAE,OAAO,OAAOJ,CAAC,EAAEH,CAAC,EAAE,CAAA,CAAE,EAAEO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAACL,EAAEJ,IAAII,EAAE,OAAO,EAAEJ,CAAC,CAAC,EAAE,CAAE,CAAA,EAAE,SAASC,KAAK,EAAE,CAAC,GAAO,EAAE,SAAN,EAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,OAAOG,GAAGI,EAAE,EAAEJ,EAAE,IAAI,CAAE,CAAA,CAAC,CAAC,GAAO,EAAE,SAAN,EAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,OAAOI,EAAE,EAAE,EAAE,IAAI,CAAA,CAAE,CAAC,CAAC,MAAM,IAAI,MAAM,oFAAoF,EAAE,MAAM,GAAG,CAAC,CAAC,SAAST,EAAE,EAAE,CAAC,OAAO,OAAO,OAAO,EAAE,CAAC,SAAS,IAAIW,EAAE,CAAC,EAAE,IAAI,GAAGC,EAAE,EAAE,CAAC,EAAE,GAAG,GAAGC,EAAE,EAAE,CAAC,EAAE,OAAO,GAAY,IAAT,OAAWC,EAAE,CAAC,EAAEA,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAASC,EAAE,EAAE,CAAC,OAAO,OAAO,QAAQV,GAAG,OAAO,OAAOA,EAAE,CAAC,CAAC,OAAO,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,OAAO,OAAOA,EAAE,CAAC,CAACC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,IAAID,EAAE,OAAcA,EAAE,EAAE,GAAG,IAAd,KAAiBA,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,IAAIU,EAAEJ,EAAE,CAAC,CAAC,EAAE,OAAO,GAAGI,EAAW,IAAT,OAAWD,EAAE,CAAC,EAAEA,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASH,EAAEL,EAAE,CAAC,OAAON,EAAE,CAAC,CAACK,CAAC,EAAE,KAAK,CAAC,MAAMA,GAAG,CAAC,IAAI,EAAE,CAAE,EAAC,MAAM,EAAE,CAACA,EAAEC,IAAI,CAAC,EAAED,CAAC,EAAEC,CAAC,EAAE,OAAgBD,IAAT,QAAYF,EAAEG,CAAC,EAAE,QAAQD,GAAG,EAAEA,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQI,EAAEH,EAAED,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,iBAAiB,IAAIF,EAAEG,CAAC,EAAE,YAAY,UAAU,EAAE,CAAC,CAAC,CAAC,MAAMU,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAEC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAS,EAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAASL,KAAKN,EAAE,CAAC,OAAON,EAAE,CAAC,CAACK,CAAC,EAAE,KAAK,CAAC,MAAMA,GAAG,CAAC,IAAI,EAAE,CAAE,EAAC,MAAM,EAAE,CAACA,EAAEC,IAAI,CAAC,EAAED,CAAC,EAAEC,CAAC,EAAE,MAAM,CAAC,QAAQA,EAAE,MAAMA,GAAGG,EAAEH,EAAED,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,iBAAiB,IAAIK,EAAEJ,EAAEH,CAAC,EAAE,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,SAASU,KAAKP,EAAE,CAAC,OAAON,EAAE,CAAC,CAACK,CAAC,EAAE,KAAK,CAAC,MAAMA,GAAG,CAAC,IAAI,EAAE,CAAE,EAAC,MAAM,EAAE,CAACA,EAAEC,IAAI,CAAC,EAAED,CAAC,EAAEC,CAAC,EAAE,OAAOI,EAAEJ,EAAEH,CAAC,EAAE,QAAQE,GAAG,EAAEA,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQC,EAAE,KAAKA,GAAGG,EAAEH,EAAED,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,iBAAiB,IAAIK,EAAEJ,EAAEH,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,SAASI,EAAED,EAAE,CAAC,MAAM,CAAC,CAACD,CAAC,EAAE,KAAK,CAAC,MAAMA,IAAI,CAAC,QAAQ,EAAQC,EAAED,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,SAASS,KAAKR,EAAE,CAAC,MAAMF,EAAY,OAAOE,EAAE,CAAC,GAApB,SAAsBA,EAAE,CAAC,EAAE,OAAOE,EAAMF,EAAE,SAAN,EAAaA,EAAE,CAAC,EAAY,OAAOA,EAAE,CAAC,GAApB,SAAsB,OAAOA,EAAE,CAAC,EAAE,OAAON,EAAE,CAAC,CAACK,CAAC,EAAE,KAAK,CAAC,MAAMA,GAAG,CAAC,IAAIC,EAAE,CAAC,CAAOF,GAAIH,CAAC,EAAEI,CAAC,EAAE,MAAM,CAAC,QAAiBG,IAAT,QAAYC,EAAED,EAAEH,EAAE,CAACA,EAAEJ,IAAI,CAACK,EAAED,CAAC,EAAEJ,CAAC,CAAC,EAAE,WAAWK,CAAC,CAAC,EAAE,iBAAiB,IAAI,CAAOF,GAAIH,CAAC,EAAE,OAAgBO,IAAT,OAAW,CAAA,EAAGL,EAAEK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAASU,EAAE,EAAE,CAAC,OAAgB,OAAO,GAAjB,QAAkB,CAAC,SAASC,EAAE,EAAE,CAAC,OAAgB,OAAO,GAAjB,QAAkB,CAAC,SAASC,EAAE,EAAE,CAAC,OAAgB,OAAO,GAAjB,QAAkB,CAAC,MAAMC,EAAErB,EAAEO,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAEe,EAAED,EAAEE,EAAE,GAAG,OAAO,OAAOvB,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,OAAOuB,EAAEX,EAAE,GAAG,EAAE,EAAEL,EAAEF,GAAGc,EAAEd,CAAC,GAAGA,EAAE,WAAW,CAAC,CAAC,EAAG,CAAA,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,OAAOkB,EAAEX,EAAE,GAAG,EAAE,EAAEL,EAAEF,GAAGc,EAAEd,CAAC,GAAGA,EAAE,SAAS,CAAC,CAAC,EAAG,CAAA,EAAE,IAAI,CAAC,EAAE,UAAU,GAAGkB,EAAEX,EAAE,GAAGP,GAAGE,EAAED,GAAGa,EAAEb,CAAC,GAAGA,EAAE,QAAQD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,GAAGkB,EAAEX,EAAE,GAAGP,GAAGE,EAAED,GAAGa,EAAEb,CAAC,GAAGA,EAAE,SAASD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,GAAGkB,EAAEX,EAAE,GAAGP,GAAGE,EAAED,GAAGa,EAAEb,CAAC,GAAGA,EAAE,QAAQD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,OAAOkB,EAAEX,EAAE,GAAG,EAAE,EAAEL,EAAEF,GAAGc,EAAEd,CAAC,GAAGA,EAAE,SAAS,CAAC,CAAC,EAAG,CAAA,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,OAAOkB,EAAEX,EAAE,GAAG,EAAE,EAAEL,EAAEF,GAAGc,EAAEd,CAAC,GAAG,EAAQA,EAAE,MAAM,CAAC,CAAE,EAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAEmB,EAAED,EAAEhB,EAAEY,CAAC,CAAC,EAAEM,EAAE,GAAG,OAAO,OAAOzB,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAIyB,EAAEb,EAAE,GAAG,CAACP,EAAEC,IAAIC,EAAEN,GAAGiB,EAAEjB,CAAC,GAAGI,GAAGJ,GAAGK,GAAGL,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAGwB,EAAEb,EAAE,GAAGP,GAAGE,EAAED,GAAGY,EAAEZ,CAAC,GAAGA,EAAED,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAGoB,EAAEb,EAAE,GAAGP,GAAGE,EAAED,GAAGY,EAAEZ,CAAC,GAAGA,EAAED,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAGoB,EAAEb,EAAE,GAAGP,GAAGE,EAAED,GAAGY,EAAEZ,CAAC,GAAGA,GAAGD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAGoB,EAAEb,EAAE,GAAGP,GAAGE,EAAED,GAAGY,EAAEZ,CAAC,GAAGA,GAAGD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAIoB,EAAEb,EAAE,EAAEL,EAAEF,GAAGa,EAAEb,CAAC,GAAG,OAAO,UAAUA,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAIoB,EAAEb,EAAE,EAAEL,EAAEF,GAAGa,EAAEb,CAAC,GAAG,OAAO,SAASA,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAIoB,EAAEb,EAAE,EAAEL,EAAEF,GAAGa,EAAEb,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAIoB,EAAEb,EAAE,EAAEL,EAAEF,GAAGa,EAAEb,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEqB,EAAED,EAAElB,EAAEW,CAAC,CAAC,EAAES,EAAE,GAAG,OAAO,OAAO3B,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI2B,EAAEf,EAAE,GAAG,CAACP,EAAEC,IAAIC,EAAEN,GAAGmB,EAAEnB,CAAC,GAAGI,GAAGJ,GAAGK,GAAGL,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG0B,EAAEf,EAAE,GAAGP,GAAGE,EAAED,GAAGc,EAAEd,CAAC,GAAGA,EAAED,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAGsB,EAAEf,EAAE,GAAGP,GAAGE,EAAED,GAAGc,EAAEd,CAAC,GAAGA,EAAED,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAGsB,EAAEf,EAAE,GAAGP,GAAGE,EAAED,GAAGc,EAAEd,CAAC,GAAGA,GAAGD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAGsB,EAAEf,EAAE,GAAGP,GAAGE,EAAED,GAAGc,EAAEd,CAAC,GAAGA,GAAGD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,IAAIsB,EAAEf,EAAE,EAAEL,EAAEF,GAAGe,EAAEf,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAIsB,EAAEf,EAAE,EAAEL,EAAEF,GAAGe,EAAEf,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEuB,EAAED,EAAEpB,EAAEa,CAAC,CAAC,EAAES,EAAE7B,EAAEO,EAAE,SAAS,EAAE,CAAC,OAAiB,OAAO,GAAlB,SAAmB,CAAC,CAAC,EAAEuB,EAAE9B,EAAEO,EAAE,SAAS,EAAE,CAAC,OAAgB,OAAO,GAAjB,QAAkB,CAAC,CAAC,EAAEwB,EAAE/B,EAAEO,EAAE,SAAS,EAAE,CAAC,OAAa,GAAN,IAAO,CAAC,CAAC,EAAEyB,EAAEhC,EAAEO,EAAE,SAAS,EAAE,CAAC,OAAa,GAAN,IAAO,CAAC,CAAC,EAAK,IAAC0B,EAAE,CAAC,UAAU,KAAK,QAAQ5B,EAAE,SAASM,EAAE,MAAM,YAAYL,EAAE,CAAC,OAAOS,EAAE,CAAC,CAACV,CAAC,EAAE,KAAK,CAAC,MAAMA,GAAG,CAAC,GAAG,CAAC,MAAM,QAAQA,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAOC,EAAE,SAAN,EAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAEA,EAAE,CAAC,EAAE,IAAI,EAAE,CAAE,EAAC,GAAOD,EAAE,SAAN,EAAa,OAAOF,EAAE,CAAC,EAAE,QAAQE,GAAG,CAAC,EAAEA,CAAC,EAAE,CAAA,CAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,CAACA,EAAEC,IAAI,CAAC,EAAED,CAAC,GAAG,EAAEA,CAAC,GAAG,CAAA,GAAI,OAAO,CAACC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQD,EAAE,MAAMA,GAAGI,EAAE,EAAEJ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,iBAAiB,IAAQC,EAAE,SAAN,EAAa,CAAA,EAAGH,EAAEG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,YAAYA,EAAE,CAAC,OAAON,EAAE,CAAC,CAACK,CAAC,EAAE,KAAK,CAAC,MAAMA,GAAG,CAAC,GAAG,EAAEA,aAAa,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAA,EAAG,GAAOA,EAAE,OAAN,EAAW,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,GAAOC,EAAE,SAAN,EAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAACD,EAAEC,IAAI,CAAC,EAAED,CAAC,GAAG,EAAEA,CAAC,GAAG,CAAE,GAAE,OAAO,CAACC,CAAC,CAAC,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQU,EAAEX,EAAEA,GAAGI,EAAE,EAAEJ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,iBAAiB,IAAQC,EAAE,SAAN,EAAa,CAAE,EAACH,EAAEG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,YAAYA,EAAE,CAAC,OAAON,EAAE,CAAC,CAACK,CAAC,EAAE,KAAK,CAAC,MAAMA,GAAG,CAAC,GAAG,EAAEA,aAAa,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAA,EAAG,GAAOA,EAAE,OAAN,EAAW,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,CAACA,EAAEC,IAAI,CAAC,EAAED,CAAC,GAAG,EAAEA,CAAC,GAAG,IAAI,OAAO,CAACC,CAAC,CAAC,CAAC,EAAE,GAAOA,EAAE,SAAN,EAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAOA,EAAE,SAAN,EAAa,MAAM,IAAI,MAAM,6EAAmF,EAAEA,EAAE,CAAC,IAAZ,KAAe,OAAO,EAAE,SAAQ,CAAE,EAAE,EAAE,KAAK,CAACH,EAAEO,CAAC,EAAEJ,EAAE,MAAM,CAAC,QAAQW,EAAEZ,EAAE,CAACA,EAAEC,IAAI,CAAC,MAAML,EAAEQ,EAAEN,EAAEG,EAAE,CAAC,EAAEE,EAAEC,EAAEC,EAAEL,EAAE,CAAC,EAAE,OAAOJ,GAAGO,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,iBAAiB,IAAQF,EAAE,SAAN,EAAa,CAAE,EAAC,CAAC,GAAGH,EAAEG,EAAE,CAAC,CAAC,EAAE,GAAGH,EAAEG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAaM,EAAE,MAAMC,EAAE,IAAI,SAASP,EAAE,CAAC,OAAON,EAAE,CAAC,CAACK,CAAC,EAAE,KAAK,CAAC,MAAMA,IAAI,CAAC,QAAQ,CAACI,EAAEH,EAAED,EAAE,IAAI,CAAA,CAAE,CAAC,GAAG,iBAAiB,IAAI,CAAA,EAAG,YAAY,KAAK,EAAE,CAAC,CAAC,EAAE,KAAKE,EAAE,OAAOO,EAAE,IAAIO,EAAE,EAAEC,EAAE,OAAOE,EAAE,OAAOE,EAAE,OAAOE,EAAE,QAAQC,EAAE,OAAOC,EAAE,QAAQC,EAAE,YAAYC,EAAE,WAAW,SAAS,EAAE,CAAC,OAAOhC,EAAEO,EAAE,SAASF,EAAE,CAAC,OAAOC,GAAGA,aAAaD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,SAAS,EAAE,CAAC,OAAOL,EAAEO,EAAEL,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAMgC,UAAU,KAAK,CAAC,YAAY7B,EAAE,CAAC,IAAIC,EAAE,GAAG,CAACA,EAAE,KAAK,UAAUD,CAAC,CAAC,MAAS,CAACC,EAAED,CAAC,CAAC,MAAM,oDAAoDC,CAAC,EAAE,EAAE,KAAK,MAAM,OAAO,KAAK,MAAMD,CAAC,CAAC,CAAC,MAAM8B,EAAE,CAAC,QAAQ,GAAG,MAAM,MAAM,EAAE,SAASC,GAAE,EAAE,CAAC,OAAO,IAAIC,EAAE,EAAEF,CAAC,CAAC,CAAC,MAAME,CAAC,CAAC,YAAYhC,EAAEC,EAAE,CAAC,KAAK,MAAM,OAAO,KAAK,MAAM,OAAO,KAAK,MAAMD,EAAE,KAAK,MAAMC,CAAC,CAAC,QAAQD,EAAE,CAAC,GAAG,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAMC,EAAED,EAAEA,EAAE,OAAO,CAAC,EAAE,EAAE,CAACA,EAAE,CAAC,CAAC,EAAE,IAAI,EAAMA,EAAE,SAAN,GAA0B,OAAOA,EAAE,CAAC,GAAtB,WAAwB,EAAEA,EAAE,CAAC,EAAEA,EAAE,OAAO,GAAG,EAAE,KAAK,GAAGA,EAAE,MAAM,EAAEA,EAAE,OAAO,CAAC,CAAC,EAAE,IAAIF,EAAE,GAAGO,EAAE,CAAA,EAAG,MAAMR,EAAE,CAACG,EAAEC,IAAI,CAACH,EAAE,GAAGO,EAAEL,CAAC,EAAEC,CAAC,EAAEN,EAAE,CAAC,EAAE,KAAKK,GAAGI,EAAEJ,EAAE,KAAK,MAAMH,CAAC,CAAC,GAAG,GAAG,CAAS,EAAE,KAAK,KAAK,EAAGiC,EAAE,CAAC,QAAQ,GAAG,MAAM7B,EAAEH,EAAEF,KAAKS,EAAEA,EAAET,CAAC,EAAES,EAAE,KAAK,MAAM,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI2B,EAAE,KAAK,MAAMrC,CAAC,CAAC,CAAC,KAAKK,EAAEC,EAAE,CAAC,GAAG,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAML,EAAE,EAAQI,EAAE,KAAK,KAAK,EAAG,OAAO,IAAIgC,EAAE,KAAK,MAAMpC,EAAE,CAAC,QAAQ,GAAG,MAAMK,EAAE,KAAK,MAAM,KAAK,KAAK,CAAC,EAAE6B,CAAC,CAAC,CAAC,UAAU9B,EAAE,CAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,MAAM,MAAMA,EAAE,KAAK,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,MAAM,QAAQ,OAAO,KAAK,MAAM,MAAM,MAAM,IAAI6B,EAAE,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,WAAU,CAAE,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC","x_google_ignoreList":[0,1,2,3,4]} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages.js b/web/app/themes/haiku-atelier-2024/assets/js/messages.js index 92c9d423..9b588173 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/messages.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages.js @@ -1,2 +1,2 @@ -import{g as s,o as a,n as o,e as r,v as n,c as i}from"./index.js";import{T as e}from"./messages2.js";s(e);const p=a({donnees:o(),type:r(i(),n(e.MiseAJourPanier))});export{p as M}; +import{p as a}from"./index.js";import{r as o}from"./erreurs.js";import{M as i}from"./messages2.js";import{E as s}from"./Either.js";import"./exports.js";import"./messages3.js";const E=r=>s.of(a(i,r.data)).ifLeft(e=>{o(e)});export{E as v}; //# sourceMappingURL=messages.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages.js.map b/web/app/themes/haiku-atelier-2024/assets/js/messages.js.map index 490a184b..f01be724 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/messages.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages.js.map @@ -1 +1 @@ -{"version":3,"file":"messages.js","sources":["../../src/scripts/lib/schemas/messages.ts"],"sourcesContent":["/**\n * Schémas des Messages passés avec BroadcastChannel.\n */\n\nimport * as v from \"valibot\";\n\nimport { TYPES_MESSAGES } from \"../../constantes/messages.ts\";\n\nexport const TypesMessagesSchema = v.enum(TYPES_MESSAGES);\n\nexport const MiseAJourPanierMessageSchema = v.object({\n donnees: v.number(),\n type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MiseAJourPanier)),\n});\n"],"names":["v.enum","TYPES_MESSAGES","MiseAJourPanierMessageSchema","v.object","v.number","v.pipe","v.string","v.value"],"mappings":"qGAQmCA,EAAOC,CAAc,EAE3C,MAAAC,EAA+BC,EAAS,CACnD,QAASC,EAAS,EAClB,KAAMC,EAAOC,EAAE,EAAUC,EAAQN,EAAe,eAAe,CAAC,CAClE,CAAC"} \ No newline at end of file +{"version":3,"file":"messages.js","sources":["../../src/scripts/lib/messages.ts"],"sourcesContent":["import { Either } from \"purify-ts\";\nimport { parse, type ValiError } from \"valibot\";\n\nimport type { MiseAJourPanierMessage } from \"./types/messages\";\n\nimport { reporteErreur } from \"./erreurs.ts\";\nimport { MiseAJourPanierMessageSchema } from \"./schemas/messages.ts\";\n\nexport const valideMessageMajPanier = (\n evenementMessage: MessageEvent,\n): Either, MiseAJourPanierMessage> =>\n Either\n .of, MiseAJourPanierMessage>(\n parse(MiseAJourPanierMessageSchema, evenementMessage.data),\n )\n .ifLeft(erreur => {\n reporteErreur(erreur);\n });\n"],"names":["parse","reporteErreur","MiseAJourPanierMessageSchema","Either","valideMessageMajPanier","evenementMessage","erreur"],"mappings":"AAQa,OAAA,KAAAA,MAAA,aAAA,OAAA,KAAAC,MAAA,eAAA,OAAA,KAAAC,MAAA,iBAAA,OAAA,KAAAC,MAAA,cAAA,MAAA,eAAA,MAAA,iBAAA,MAAAC,EACXC,GAEAF,EACG,GACCH,EAAME,EAA8BG,EAAiB,IAAI,CAC3D,EACC,OAAiBC,GAAA,CAChBL,EAAcK,CAAM,CACtB,CAAC"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages2.js b/web/app/themes/haiku-atelier-2024/assets/js/messages2.js index fabf5c82..26435531 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/messages2.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages2.js @@ -1,2 +1,2 @@ -const a={MiseAJourPanier:"maj_panier"};export{a as T}; +import{f as s,o as a,n as o,d as r,v as n,s as i}from"./index.js";import{T as e}from"./messages3.js";s(e);const p=a({donnees:o(),type:r(i(),n(e.MiseAJourPanier))});export{p as M}; //# sourceMappingURL=messages2.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages2.js.map b/web/app/themes/haiku-atelier-2024/assets/js/messages2.js.map index 41b8a54b..31ede28d 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/messages2.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages2.js.map @@ -1 +1 @@ -{"version":3,"file":"messages2.js","sources":["../../src/scripts/constantes/messages.ts"],"sourcesContent":["/**\n * Constantes liées aux Messages passés par BroadcastChannel.\n */\n\nexport const TYPES_MESSAGES = {\n MiseAJourPanier: \"maj_panier\",\n} as const;\n"],"names":["TYPES_MESSAGES"],"mappings":"AAIO,MAAMA,EAAiB,CAC5B,gBAAiB,YACnB"} \ No newline at end of file +{"version":3,"file":"messages2.js","sources":["../../src/scripts/lib/schemas/messages.ts"],"sourcesContent":["/**\n * Schémas des Messages passés avec BroadcastChannel.\n */\n\nimport * as v from \"valibot\";\n\nimport { TYPES_MESSAGES } from \"../../constantes/messages.ts\";\n\nexport const TypesMessagesSchema = v.enum(TYPES_MESSAGES);\n\nexport const MiseAJourPanierMessageSchema = v.object({\n donnees: v.number(),\n type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MiseAJourPanier)),\n});\n"],"names":["v.enum","TYPES_MESSAGES","MiseAJourPanierMessageSchema","v.object","v.number","v.pipe","v.string","v.value"],"mappings":"qGAQmCA,EAAOC,CAAc,EAE3C,MAAAC,EAA+BC,EAAS,CACnD,QAASC,EAAS,EAClB,KAAMC,EAAOC,EAAE,EAAUC,EAAQN,EAAe,eAAe,CAAC,CAClE,CAAC"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages3.js b/web/app/themes/haiku-atelier-2024/assets/js/messages3.js new file mode 100644 index 00000000..92d069a2 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages3.js @@ -0,0 +1,2 @@ +const a="bouton_panier",n={MiseAJourPanier:"maj_panier"};export{a as N,n as T}; +//# sourceMappingURL=messages3.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages3.js.map b/web/app/themes/haiku-atelier-2024/assets/js/messages3.js.map new file mode 100644 index 00000000..00e0ecd4 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages3.js.map @@ -0,0 +1 @@ +{"version":3,"file":"messages3.js","sources":["../../src/scripts/constantes/messages.ts"],"sourcesContent":["/**\n * Constantes liées aux Messages passés par BroadcastChannel.\n */\n\nexport const NOM_CANAL_BOUTON_PANIER = \"bouton_panier\";\n\nexport const TYPES_MESSAGES = {\n MiseAJourPanier: \"maj_panier\",\n} as const;\n"],"names":["NOM_CANAL_BOUTON_PANIER","TYPES_MESSAGES"],"mappings":"AAIO,MAAMA,EAA0B,gBAE1BC,EAAiB,CAC5B,gBAAiB,YACnB"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js index d2b41348..b055c9b7 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js @@ -1,2 +1,2 @@ -import{x as a}from"./chunk-7BKSRZNG.js";import{z as i,N as o}from"./index2.js";import{p as n}from"./index.js";import{c as p}from"./api2.js";import{a as c,b as m,c as d,d as l,E as u}from"./erreurs.js";import{i as r}from"./erreurs2.js";import"./exports.js";const y=e=>fetch(e.route,{body:e.corps,credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[p]:e.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)}),N=(e,s)=>i(e).with({body:o.select(),status:400},r,c).with({body:o.select(),status:401},r,m).with({body:o.select(),status:404},r,d).with(o._,t=>n(s,t)).otherwise(t=>a(t,u,l));export{y as p,N as t}; +import{c as e}from"./api2.js";const n=o=>fetch(o.route,{body:o.corps,credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[e]:o.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)});export{n as p}; //# sourceMappingURL=reseau.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map index e2db34ab..258da207 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map @@ -1 +1 @@ -{"version":3,"file":"reseau.js","sources":["../../src/scripts/lib/reseau.ts"],"sourcesContent":["import { pipe } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\nimport { type GenericSchema, parse } from \"valibot\";\n\nimport { ENTETE_WC_NONCE } from \"../constantes/api.ts\";\nimport {\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveUnauthorizedError,\n type UnknownError,\n} from \"./erreurs.ts\";\nimport { isWCError } from \"./schemas/erreurs.ts\";\n\ntype ArgumentsPostBackendWC = {\n corps: BodyInit;\n nonce: string;\n route: string;\n};\n\nexport const postBackendWC = (args: ArgumentsPostBackendWC) =>\n fetch(\n args.route,\n {\n body: args.corps,\n credentials: \"same-origin\",\n headers: {\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const traiteReponseBackendWCSelonCodesHTTP = (corpsReponse: unknown, schemaReponse: GenericSchema) =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur));\n"],"names":["x","z","N","parse","ENTETE_WC_NONCE","leveBadRequestError","leveUnauthorizedError","leveNotFoundError","leveErreur","ErreurInconnue","isWCError","postBackendWC","args","traiteReponseBackendWCSelonCodesHTTP","corpsReponse","schemaReponse","match","P","corpsOkInconnu","e","pipe"],"mappings":"AAqBa,OAAA,KAAAA,MAAA,sBAAA,OAAA,KAAAC,EAAA,KAAAC,MAAA,cAAA,OAAA,KAAAC,MAAA,aAAA,OAAA,KAAAC,MAAA,YAAA,OAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,MAAA,eAAA,OAAA,KAAAC,MAAA,gBAAA,MAAA,eAAA,MAAAC,EAAiBC,GAC5B,MACEA,EAAK,MACL,CACE,KAAMA,EAAK,MACX,YAAa,cACb,QAAS,CACP,OAAU,mBACV,eAAgB,mBAChB,CAACR,CAAe,EAAGQ,EAAK,KAC1B,EACA,OAAQ,OACR,KAAM,cACN,OAAQ,YAAY,QAAQ,GAAI,CAClC,CACF,EAEWC,EAAuC,CAACC,EAAuBC,IAC1EC,EAAMF,CAAY,EAEf,KAAK,CAAE,KAAMG,EAAE,OAAO,EAAG,OAAQ,GAAO,EAAAP,EAAWL,CAAmB,EACtE,KAAK,CAAE,KAAMY,EAAE,SAAU,OAAQ,GAAA,EAAOP,EAAWJ,CAAqB,EACxE,KAAK,CAAE,KAAMW,EAAE,OAAA,EAAU,OAAQ,GAAI,EAAGP,EAAWH,CAAiB,EAEpE,KAAKU,EAAE,EAAqBC,GAAAf,EAAMY,EAAeG,CAAc,CAAC,EAEhE,UAAUC,GAAKC,EAAKD,EAAGV,EAAgBD,CAAwB,CAAC"} \ No newline at end of file +{"version":3,"file":"reseau.js","sources":["../../src/scripts/lib/reseau.ts"],"sourcesContent":["import { pipe } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\nimport { type GenericSchema, parse } from \"valibot\";\n\nimport { ENTETE_WC_NONCE } from \"../constantes/api.ts\";\nimport {\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveUnauthorizedError,\n type UnknownError,\n} from \"./erreurs.ts\";\nimport { isWCError } from \"./schemas/erreurs.ts\";\n\ntype ArgumentsPostBackendWC = {\n corps: BodyInit;\n nonce: string;\n route: string;\n};\n\nexport const postBackendWC = (args: ArgumentsPostBackendWC) =>\n fetch(\n args.route,\n {\n body: args.corps,\n credentials: \"same-origin\",\n headers: {\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const traiteReponseBackendWCSelonCodesHTTP = (corpsReponse: unknown, schemaReponse: GenericSchema) =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur));\n"],"names":["ENTETE_WC_NONCE","postBackendWC","args"],"mappings":"AAqBa,OAAA,KAAAA,MAAA,YAAA,MAAAC,EAAiBC,GAC5B,MACEA,EAAK,MACL,CACE,KAAMA,EAAK,MACX,YAAa,cACb,QAAS,CACP,OAAU,mBACV,eAAgB,mBAChB,CAACF,CAAe,EAAGE,EAAK,KAC1B,EACA,OAAQ,OACR,KAAM,cACN,OAAQ,YAAY,QAAQ,GAAI,CAClC,CACF"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js index 70503e8d..2278801e 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js @@ -1,2 +1,2 @@ -import{r as s}from"./chunk-RU7WR4KH.js";import{p as a}from"./chunk-VROY5Y5B.js";import{x as r}from"./chunk-7BKSRZNG.js";import{s as p}from"./index.js";import{S as u,A as c}from"./dom.js";import{r as f}from"./dom2.js";import{M as E}from"./messages.js";import{r as d}from"./utils.js";import"./erreurs.js";import"./exports.js";import"./Either.js";import"./messages2.js";function T(...t){return t.length===2?(n,...o)=>m(n,...t,...o):m(...t)}var m=(t,n,o,...e)=>n(t,...e)?typeof o=="function"?o(t,...e):o.onTrue(t,...e):typeof o=="function"?t:o.onFalse(t,...e);const l=()=>{const t=r(d(u),f),n=new BroadcastChannel("bouton_panier");n.onmessage=o=>{r(p(E,o.data),T(e=>e.success,e=>r(a(e,"output"),s(i=>{t.textContent=`cart (${String(i.donnees)})`,t.setAttribute(c,String(i.donnees>0))}))))}};document.addEventListener("DOMContentLoaded",()=>{l()}); +import{x as n}from"./chunk-7BKSRZNG.js";import{S as i,A as m}from"./dom.js";import{N as a}from"./messages3.js";import{r as s}from"./dom2.js";import{v as N}from"./messages.js";import{r as p}from"./utils.js";import"./erreurs.js";import"./exports.js";import"./Either.js";import"./index.js";import"./messages2.js";const E=()=>{const t=n(p(i),s),r=new BroadcastChannel(a);r.onmessage=o=>{N(o).ifRight(e=>{t.textContent=`cart (${String(e.donnees)})`,t.setAttribute(m,String(e.donnees>0))})}};document.addEventListener("DOMContentLoaded",()=>{E()}); //# sourceMappingURL=scripts-bouton-panier.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js.map b/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js.map index c17f12a7..4902726a 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts-bouton-panier.js","sources":["../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-NJXNQM3G.js","../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["function d(...e){return e.length===2?(n,...r)=>t(n,...e,...r):t(...e)}var t=(e,n,r,...a)=>n(e,...a)?typeof r==\"function\"?r(e,...a):r.onTrue(e,...a):typeof r==\"function\"?e:r.onFalse(e,...a);export{d as a};\n","/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { identity, pipe, prop, tap, when } from \"remeda\";\nimport { safeParse } from \"valibot\";\n\nimport type { MiseAJourPanierMessage } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { MiseAJourPanierMessageSchema } from \"./lib/schemas/messages.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n\n const canalBoutonPanier: BroadcastChannel = new BroadcastChannel(\"bouton_panier\");\n\n canalBoutonPanier.onmessage = (evenementMessage: MessageEvent) => {\n pipe(\n safeParse(MiseAJourPanierMessageSchema, evenementMessage.data),\n when(validation => validation.success, (messageValide) =>\n pipe(\n prop(messageValide, \"output\"),\n tap((message: MiseAJourPanierMessage) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees > 0));\n }),\n )),\n );\n };\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":["d","e","r","t","a","initialiseBoutonPanier","BOUTON_PANIER","pipe","recupereElementDocumentEither","SELECTEUR_BOUTON_PANIER","recupereElementOuLeve","canalBoutonPanier","evenementMessage","safeParse","MiseAJourPanierMessageSchema","when","validation","messageValide","prop","tap","message","ATTRIBUT_CONTIENT_ARTICLES"],"mappings":"+WAAA,SAASA,KAAKC,EAAE,CAAC,OAAOA,EAAE,SAAS,EAAE,CAAC,KAAKC,IAAIC,EAAE,EAAE,GAAGF,EAAE,GAAGC,CAAC,EAAEC,EAAE,GAAGF,CAAC,CAAC,CAAC,IAAIE,EAAE,CAACF,EAAE,EAAEC,KAAKE,IAAI,EAAEH,EAAE,GAAGG,CAAC,EAAE,OAAOF,GAAG,WAAWA,EAAED,EAAE,GAAGG,CAAC,EAAEF,EAAE,OAAOD,EAAE,GAAGG,CAAC,EAAE,OAAOF,GAAG,WAAWD,EAAEC,EAAE,QAAQD,EAAE,GAAGG,CAAC,ECc3L,MAAMC,EAAyB,IAAY,CAEzC,MAAMC,EAAmCC,EACvCC,EAAiDC,CAAuB,EACxEC,CAAA,EAGIC,EAAsC,IAAI,iBAAiB,eAAe,EAE9DA,EAAA,UAAaC,GAA4C,CACzEL,EACEM,EAAUC,EAA8BF,EAAiB,IAAI,EAC7DG,EAAKC,GAAcA,EAAW,QAAUC,GACtCV,EACEW,EAAKD,EAAe,QAAQ,EAC5BE,EAAKC,GAAoC,CACvCd,EAAc,YAAc,SAAS,OAAOc,EAAQ,OAAO,CAAC,IAC5Dd,EAAc,aAAae,EAA4B,OAAOD,EAAQ,QAAU,CAAC,CAAC,CAAA,CACnF,CAAA,CACF,CAAA,CACL,CAEJ,EAEA,SAAS,iBAAiB,mBAAoB,IAAM,CAC3Bf,GACzB,CAAC","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"scripts-bouton-panier.js","sources":["../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { pipe } from \"remeda\";\n\nimport type { MiseAJourPanierMessage } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER } from \"./constantes/messages.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { valideMessageMajPanier } from \"./lib/messages.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n\n CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent): void => {\n valideMessageMajPanier(evenementMessage)\n // Met à jour le Bouton du Panier\n .ifRight((message: MiseAJourPanierMessage) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees > 0));\n });\n };\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":["initialiseBoutonPanier","BOUTON_PANIER","pipe","recupereElementDocumentEither","SELECTEUR_BOUTON_PANIER","recupereElementOuLeve","CANAL_BOUTON_PANIER","NOM_CANAL_BOUTON_PANIER","evenementMessage","valideMessageMajPanier","message","ATTRIBUT_CONTIENT_ARTICLES"],"mappings":"sTAcA,MAAMA,EAAyB,IAAY,CAEzC,MAAMC,EAAmCC,EACvCC,EAAiDC,CAAuB,EACxEC,CAAA,EAEIC,EAAwC,IAAI,iBAAiBC,CAAuB,EAEtED,EAAA,UAAaE,GAAkD,CACjFC,EAAuBD,CAAgB,EAEpC,QAASE,GAAoC,CAC5CT,EAAc,YAAc,SAAS,OAAOS,EAAQ,OAAO,CAAC,IAC5DT,EAAc,aAAaU,EAA4B,OAAOD,EAAQ,QAAU,CAAC,CAAC,CAAA,CACnF,CAAA,CAEP,EAEA,SAAS,iBAAiB,mBAAoB,IAAM,CAC3BV,GACzB,CAAC"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js index 4b041c04..b6d921d0 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js @@ -1,2 +1,2 @@ -import{r as E}from"./chunk-RU7WR4KH.js";import{x as t}from"./chunk-7BKSRZNG.js";import{p}from"./index.js";import{R as f}from"./api2.js";import{a as l,b as R,c as C}from"./dom.js";import{a as S,b as u}from"./dom2.js";import{r as n,D as T,l as A}from"./erreurs.js";import{e as N,a as _}from"./gardes.js";import{p as I,t as P}from"./reseau.js";import{W as d}from"./cart-remove-item.js";import{W as L}from"./cart.js";import{a as v}from"./utils.js";import{M as h,E as b}from"./Either.js";import"./exports.js";import"./index2.js";import"./erreurs2.js";const m=_etats,g=t(v(l),S),O=()=>{console.debug(m),g.forEach(r=>{const s=h.fromNullable(r.getAttribute(R));u(r)(C).ifLeft(()=>t(new T(`L'entrée « ${s.orDefault("CLE_PANIER_INEXISTANTE")} » n'a pas de Bouton de suppression.`),n)).ifRight(a=>{a.addEventListener("click",()=>{const i=s.ifNothing(()=>{r.remove()}).orDefault("CLE_PANIER_INEXISTANTE");a.textContent="C= C= C= C= C=┌(;・ω・)┘",b.encase(()=>p(d,{key:i})).map(c=>{I({corps:JSON.stringify(c),nonce:m.nonce,route:f}).then(async e=>{N(e)&&A("500 Server Error"),t(await e.json(),E(o=>console.debug(o)),o=>P(o,L),E(()=>r.remove()))}).catch(e=>{_(e)?(n(e),console.error(e)):console.error("e n'est pas une Erreur ?!",e)})})})})})};document.addEventListener("DOMContentLoaded",()=>{O()}); +import{r as _,p as R,z as u,N as E}from"./index2.js";import{x as t}from"./chunk-7BKSRZNG.js";import{p as m}from"./index.js";import{R as l}from"./api2.js";import{a as T,b as C,c as f,d as I,A as S}from"./dom.js";import{N,T as P}from"./messages3.js";import{a as d,r as O,b as h}from"./dom2.js";import{r as c,D as L,l as v,a as U,b as g,c as B,E as b,d as M}from"./erreurs.js";import{e as w,a as y}from"./gardes.js";import{v as D}from"./messages.js";import{p as W}from"./reseau.js";import{W as k}from"./cart-remove-item.js";import{W as j}from"./cart.js";import{i}from"./erreurs2.js";import{a as x,r as z}from"./utils.js";import{M as G,E as J}from"./Either.js";import"./exports.js";import"./messages2.js";const X=_etats,q=t(x(T),d),F=t(z(C),O),Y=()=>{q.forEach(r=>{const o=G.fromNullable(r.getAttribute(f));h(r)(I).ifLeft(()=>t(new L(`L'entrée « ${o.orDefault("CLE_PANIER_INEXISTANTE")} » n'a pas de Bouton de suppression.`),c)).ifRight(s=>{s.addEventListener("click",()=>{const p=o.ifNothing(()=>{r.remove()}).orDefault("CLE_PANIER_INEXISTANTE");s.textContent="C= C= C= C= C=┌(;・ω・)┘",J.encase(()=>m(k,{key:p})).map(A=>{W({corps:JSON.stringify(A),nonce:X.nonce,route:l}).then(async e=>{w(e)&&v("500 Server Error"),t(await e.json(),n=>u(n).with({body:E.select(),status:400},i,U).with({body:E.select(),status:401},i,g).with({body:E.select(),status:404},i,B).with(E._,a=>m(j,a)).otherwise(a=>t(a,b,M)),R("items_count"),_(n=>{new BroadcastChannel(N).postMessage({donnees:n,type:P.MiseAJourPanier}),r.remove()}))}).catch(e=>{y(e)?(c(e),console.error(e)):console.error("e n'est pas une Erreur ?!",e)})})})})})},$=()=>{const r=new BroadcastChannel(N);r.onmessage=o=>{D(o).ifRight(s=>{F.setAttribute(S,String(s.donnees!==0))})}};document.addEventListener("DOMContentLoaded",()=>{Y(),$()}); //# sourceMappingURL=scripts-page-panier.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map index 5e9e00b4..08eb90f3 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts-page-panier.js","sources":["../../src/scripts/scripts-page-panier.ts"],"sourcesContent":["import { Either, Maybe } from \"purify-ts\";\nimport { pipe, tap } from \"remeda\";\nimport { parse } from \"valibot\";\n\nimport type { WCStoreCartRemoveItemArgs } from \"./lib/types/api/cart-remove-item\";\n\nimport { ROUTE_API_RETIRE_ARTICLE_PANIER } from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_CLE_PANIER,\n SELECTEUR_BOUTON_SUPPRESSION_PANIER,\n SELECTEUR_ENTREES_PANIER,\n} from \"./constantes/dom.ts\";\nimport { recupereElementAvecSelecteur, recupereElementsOuLeve } from \"./lib/dom.ts\";\nimport { DOMElementAbsentError, leveServerError, reporteErreur } from \"./lib/erreurs.ts\";\nimport { estError, estReponse500 } from \"./lib/gardes.ts\";\nimport { postBackendWC, traiteReponseBackendWCSelonCodesHTTP } from \"./lib/reseau.ts\";\nimport { WCStoreCartRemoveItemArgsSchema } from \"./lib/schemas/cart-remove-item.ts\";\nimport { WCStoreCartSchema } from \"./lib/schemas/cart.ts\";\nimport { recupereElementsDocumentEither } from \"./lib/utils.ts\";\n\n/**\n * Récupère les
dans le panier\n * Itère dessus\n * Récupère le button de suppression\n * Si n'existe pas pour une raison ou une autre\n * Ne rien faire\n * Créé un eventListener au click\n * Récupère la clé Panier de l'attribut data-cle-panier\n * Si n'existe pas pour une raison ou une autre\n * Retirer l'élément du DOM\n * Réalise une requête API pour supprimer l'entrée du Panier\n * Remplacer le texte du bouton remove avec un picto de chargement\n * Au retour avec succès, retirer l'élément du DOM\n * Sinon, afficher un message à l'Utilisateur avec des pistes de résolution (?)\n *\n * TODO: Prévoir le cas où il n'y a pas de Produits dans le Panier\n */\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n/** */\nconst ENTREES_PANIER: Array = pipe(\n recupereElementsDocumentEither(SELECTEUR_ENTREES_PANIER),\n recupereElementsOuLeve,\n);\n\nconst initialiseScriptsPagePanier = (): void => {\n console.debug(ETATS_PAGE);\n\n ENTREES_PANIER.forEach((entree: HTMLElement) => {\n const maybeClePanier: Maybe = Maybe.fromNullable(entree.getAttribute(ATTRIBUT_CLE_PANIER));\n\n recupereElementAvecSelecteur(entree)(SELECTEUR_BOUTON_SUPPRESSION_PANIER)\n // Remplace la SyntaxError par une Erreur plus détaillée et parlante\n .ifLeft(() =>\n pipe(\n new DOMElementAbsentError(\n `L'entrée « ${maybeClePanier.orDefault(\"CLE_PANIER_INEXISTANTE\")} » n'a pas de Bouton de suppression.`,\n ),\n reporteErreur,\n )\n )\n // Créé l'Écouteur d'Événement pour le click sur le Bouton\n .ifRight((boutonPanier: HTMLButtonElement) => {\n boutonPanier.addEventListener(\"click\", (): void => {\n // Retire l'entrée du DOM si la clé Panier n'existe pas et arrête précocement\n const clePanier = maybeClePanier.ifNothing(() => {\n entree.remove();\n return;\n })\n .orDefault(\"CLE_PANIER_INEXISTANTE\");\n\n // TODO: Créer une boucle d'animation\n // Affiche un texte de chargement dans le Bouton\n boutonPanier.textContent = \"C= C= C= C= C=┌(;・ω・)┘\";\n\n // Chaîne de la requête\n Either\n .encase(() => parse(WCStoreCartRemoveItemArgsSchema, { key: clePanier }))\n .map(\n (args: WCStoreCartRemoveItemArgs) => {\n postBackendWC({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_RETIRE_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n tap((a) => console.debug(a)),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) => traiteReponseBackendWCSelonCodesHTTP(corpsReponse, WCStoreCartSchema),\n // TODO: Mettre à jour la quantité dans le bouton Panier\n // Retire l'entrée du Panier du DOM\n tap(() => entree.remove()),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n console.error(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n });\n },\n );\n });\n });\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseScriptsPagePanier();\n});\n"],"names":["ETATS_PAGE","ENTREES_PANIER","pipe","recupereElementsDocumentEither","SELECTEUR_ENTREES_PANIER","recupereElementsOuLeve","initialiseScriptsPagePanier","entree","maybeClePanier","Maybe","ATTRIBUT_CLE_PANIER","recupereElementAvecSelecteur","SELECTEUR_BOUTON_SUPPRESSION_PANIER","DOMElementAbsentError","reporteErreur","boutonPanier","clePanier","Either","parse","WCStoreCartRemoveItemArgsSchema","args","postBackendWC","ROUTE_API_RETIRE_ARTICLE_PANIER","reponse","estReponse500","leveServerError","tap","a","corpsReponse","traiteReponseBackendWCSelonCodesHTTP","WCStoreCartSchema","estError"],"mappings":"kiBA8CA,MAAMA,EAAwB,OAGxBC,EAAqCC,EACzCC,EAA4CC,CAAwB,EACpEC,CACF,EAEMC,EAA8B,IAAY,CAC9C,QAAQ,MAAMN,CAAU,EAETC,EAAA,QAASM,GAAwB,CAC9C,MAAMC,EAAgCC,EAAM,aAAaF,EAAO,aAAaG,CAAmB,CAAC,EAEpEC,EAAAJ,CAAM,EAAqBK,CAAmC,EAExF,OAAO,IACNV,EACE,IAAIW,EACF,cAAcL,EAAe,UAAU,wBAAwB,CAAC,sCAClE,EACAM,CACF,CAAA,EAGD,QAASC,GAAoC,CAC/BA,EAAA,iBAAiB,QAAS,IAAY,CAE3C,MAAAC,EAAYR,EAAe,UAAU,IAAM,CAC/CD,EAAO,OAAO,CACd,CACD,EACE,UAAU,wBAAwB,EAIrCQ,EAAa,YAAc,yBAIxBE,EAAA,OAAyC,IAAMC,EAAMC,EAAiC,CAAE,IAAKH,EAAW,CAAC,EACzG,IACEI,GAAoC,CACrBC,EAAA,CACZ,MAAO,KAAK,UAAUD,CAAI,EAC1B,MAAOpB,EAAW,MAClB,MAAOsB,CAAA,CACR,EACE,KAAK,MAAOC,GAAsB,CAE7BC,EAAcD,CAAO,GAAGE,EAAgB,kBAAkB,EAE9DvB,EAEE,MAAMqB,EAAQ,KAAK,EACnBG,EAAKC,GAAM,QAAQ,MAAMA,CAAC,CAAC,EAE1BC,GAA0BC,EAAqCD,EAAcE,CAAiB,EAG/FJ,EAAI,IAAMnB,EAAO,QAAQ,CAAA,CAC3B,CACD,EACA,MAAO,GAAe,CACjBwB,EAAS,CAAC,GACZjB,EAAc,CAAC,EACf,QAAQ,MAAM,CAAC,GAEP,QAAA,MAAM,4BAA6B,CAAC,CAC9C,CACD,CACL,CAAA,CACF,CACH,CAAA,CACF,CAAA,CACJ,CACH,EAEA,SAAS,iBAAiB,mBAAoB,IAAM,CACtBR,GAC9B,CAAC"} \ No newline at end of file +{"version":3,"file":"scripts-page-panier.js","sources":["../../src/scripts/scripts-page-panier.ts"],"sourcesContent":["import { Either, Maybe } from \"purify-ts\";\nimport { pipe, prop, tap } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\nimport { parse } from \"valibot\";\n\nimport type { WCStoreCartRemoveItemArgs } from \"./lib/types/api/cart-remove-item\";\nimport type { MiseAJourPanierMessage } from \"./lib/types/messages\";\n\nimport { ROUTE_API_RETIRE_ARTICLE_PANIER } from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_CLE_PANIER,\n ATTRIBUT_CONTIENT_ARTICLES,\n SELECTEUR_BOUTON_SUPPRESSION_PANIER,\n SELECTEUR_CONTENEUR_PANIER,\n SELECTEUR_ENTREES_PANIER,\n} from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER, TYPES_MESSAGES } from \"./constantes/messages.ts\";\nimport { recupereElementAvecSelecteur, recupereElementOuLeve, recupereElementsOuLeve } from \"./lib/dom.ts\";\nimport {\n DOMElementAbsentError,\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveServerError,\n leveUnauthorizedError,\n reporteErreur,\n type UnknownError,\n} from \"./lib/erreurs.ts\";\nimport { estError, estReponse500 } from \"./lib/gardes.ts\";\nimport { valideMessageMajPanier } from \"./lib/messages.ts\";\nimport { postBackendWC } from \"./lib/reseau.ts\";\nimport { WCStoreCartRemoveItemArgsSchema } from \"./lib/schemas/cart-remove-item.ts\";\nimport { WCStoreCartSchema } from \"./lib/schemas/cart.ts\";\nimport { isWCError } from \"./lib/schemas/erreurs.ts\";\nimport { recupereElementDocumentEither, recupereElementsDocumentEither } from \"./lib/utils.ts\";\n\n/**\n * Récupère les
dans le panier\n * Itère dessus\n * Récupère le button de suppression\n * Si n'existe pas pour une raison ou une autre\n * Ne rien faire\n * Créé un eventListener au click\n * Récupère la clé Panier de l'attribut data-cle-panier\n * Si n'existe pas pour une raison ou une autre\n * Retirer l'élément du DOM\n * Réalise une requête API pour supprimer l'entrée du Panier\n * Remplacer le texte du bouton remove avec un picto de chargement\n * Au retour avec succès, retirer l'élément du DOM\n * Sinon, afficher un message à l'Utilisateur avec des pistes de résolution (?)\n *\n * TODO: Prévoir le cas où il n'y a pas de Produits dans le Panier\n */\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n/** */\nconst ENTREES_PANIER: Array = pipe(\n recupereElementsDocumentEither(SELECTEUR_ENTREES_PANIER),\n recupereElementsOuLeve,\n);\nconst CONTENEUR_PANIER: HTMLElement = pipe(\n recupereElementDocumentEither(SELECTEUR_CONTENEUR_PANIER),\n recupereElementOuLeve,\n);\n\nconst initialiseScriptsPagePanier = (): void => {\n ENTREES_PANIER.forEach((entree: HTMLElement) => {\n const maybeClePanier: Maybe = Maybe.fromNullable(entree.getAttribute(ATTRIBUT_CLE_PANIER));\n\n recupereElementAvecSelecteur(entree)(SELECTEUR_BOUTON_SUPPRESSION_PANIER)\n // Remplace la SyntaxError par une Erreur plus détaillée et parlante\n .ifLeft(() =>\n pipe(\n new DOMElementAbsentError(\n `L'entrée « ${maybeClePanier.orDefault(\"CLE_PANIER_INEXISTANTE\")} » n'a pas de Bouton de suppression.`,\n ),\n reporteErreur,\n )\n )\n // Créé l'Écouteur d'Événement pour le click sur le Bouton\n .ifRight((boutonPanier: HTMLButtonElement) => {\n boutonPanier.addEventListener(\"click\", (): void => {\n // Retire l'entrée du DOM si la clé Panier n'existe pas et arrête précocement\n const clePanier = maybeClePanier.ifNothing(() => {\n entree.remove();\n return;\n })\n .orDefault(\"CLE_PANIER_INEXISTANTE\");\n\n // TODO: Créer une boucle d'animation\n // Affiche un texte de chargement dans le Bouton\n boutonPanier.textContent = \"C= C= C= C= C=┌(;・ω・)┘\";\n\n // Chaîne de la requête\n Either\n .encase(() => parse(WCStoreCartRemoveItemArgsSchema, { key: clePanier }))\n .map(\n (args: WCStoreCartRemoveItemArgs) => {\n postBackendWC({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_RETIRE_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(WCStoreCartSchema, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur)),\n prop(\"items_count\"),\n tap((nombreArticlesPanier: number) => {\n // Émet un Message avec le nouveau nombre de Produits dans le Panier\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n CANAL_BOUTON_PANIER.postMessage({\n donnees: nombreArticlesPanier,\n type: TYPES_MESSAGES.MiseAJourPanier,\n });\n // Retire l'entrée du Panier du DOM\n entree.remove();\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n console.error(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n });\n },\n );\n });\n });\n });\n};\n\nconst initialisePagePanier = (): void => {\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent): void => {\n valideMessageMajPanier(evenementMessage)\n // Met à jour le Bouton du Panier\n .ifRight((message: MiseAJourPanierMessage) => {\n CONTENEUR_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees !== 0));\n });\n };\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseScriptsPagePanier();\n initialisePagePanier();\n});\n"],"names":["ETATS_PAGE","ENTREES_PANIER","pipe","recupereElementsDocumentEither","SELECTEUR_ENTREES_PANIER","recupereElementsOuLeve","CONTENEUR_PANIER","recupereElementDocumentEither","SELECTEUR_CONTENEUR_PANIER","recupereElementOuLeve","initialiseScriptsPagePanier","entree","maybeClePanier","Maybe","ATTRIBUT_CLE_PANIER","recupereElementAvecSelecteur","SELECTEUR_BOUTON_SUPPRESSION_PANIER","DOMElementAbsentError","reporteErreur","boutonPanier","clePanier","Either","parse","WCStoreCartRemoveItemArgsSchema","args","postBackendWC","ROUTE_API_RETIRE_ARTICLE_PANIER","reponse","estReponse500","leveServerError","corpsReponse","match","P","isWCError","leveBadRequestError","leveUnauthorizedError","leveNotFoundError","corpsOkInconnu","WCStoreCartSchema","e","ErreurInconnue","leveErreur","prop","tap","nombreArticlesPanier","NOM_CANAL_BOUTON_PANIER","TYPES_MESSAGES","estError","initialisePagePanier","CANAL_BOUTON_PANIER","evenementMessage","valideMessageMajPanier","message","ATTRIBUT_CONTIENT_ARTICLES"],"mappings":"6rBA+DA,MAAMA,EAAwB,OAGxBC,EAAqCC,EACzCC,EAA4CC,CAAwB,EACpEC,CACF,EACMC,EAAgCJ,EACpCK,EAA2CC,CAA0B,EACrEC,CACF,EAEMC,EAA8B,IAAY,CAC/BT,EAAA,QAASU,GAAwB,CAC9C,MAAMC,EAAgCC,EAAM,aAAaF,EAAO,aAAaG,CAAmB,CAAC,EAEpEC,EAAAJ,CAAM,EAAqBK,CAAmC,EAExF,OAAO,IACNd,EACE,IAAIe,EACF,cAAcL,EAAe,UAAU,wBAAwB,CAAC,sCAClE,EACAM,CACF,CAAA,EAGD,QAASC,GAAoC,CAC/BA,EAAA,iBAAiB,QAAS,IAAY,CAE3C,MAAAC,EAAYR,EAAe,UAAU,IAAM,CAC/CD,EAAO,OAAO,CACd,CACD,EACE,UAAU,wBAAwB,EAIrCQ,EAAa,YAAc,yBAIxBE,EAAA,OAAyC,IAAMC,EAAMC,EAAiC,CAAE,IAAKH,EAAW,CAAC,EACzG,IACEI,GAAoC,CACrBC,EAAA,CACZ,MAAO,KAAK,UAAUD,CAAI,EAC1B,MAAOxB,EAAW,MAClB,MAAO0B,CAAA,CACR,EACE,KAAK,MAAOC,GAAsB,CAE7BC,EAAcD,CAAO,GAAGE,EAAgB,kBAAkB,EAE9D3B,EAEE,MAAMyB,EAAQ,KAAK,EAElBG,GACCC,EAAMD,CAAY,EAEf,KAAK,CAAE,KAAME,EAAE,SAAU,OAAQ,KAAOC,EAAWC,CAAmB,EACtE,KAAK,CAAE,KAAMF,EAAE,SAAU,OAAQ,GAAI,EAAGC,EAAWE,CAAqB,EACxE,KAAK,CAAE,KAAMH,EAAE,OAAO,EAAG,OAAQ,KAAOC,EAAWG,CAAiB,EAEpE,KAAKJ,EAAE,EAAqBK,GAAAf,EAAMgB,EAAmBD,CAAc,CAAC,EAEpE,UAAUE,GAAKrC,EAAKqC,EAAGC,EAAgBC,CAAwB,CAAC,EACrEC,EAAK,aAAa,EAClBC,EAAKC,GAAiC,CAEU,IAAI,iBAAiBC,CAAuB,EACtE,YAAY,CAC9B,QAASD,EACT,KAAME,EAAe,eAAA,CACtB,EAEDnC,EAAO,OAAO,CAAA,CACf,CAAA,CACH,CACD,EACA,MAAO,GAAe,CACjBoC,EAAS,CAAC,GACZ7B,EAAc,CAAC,EACf,QAAQ,MAAM,CAAC,GAEP,QAAA,MAAM,4BAA6B,CAAC,CAC9C,CACD,CACL,CAAA,CACF,CACH,CAAA,CACF,CAAA,CACJ,CACH,EAEM8B,EAAuB,IAAY,CACjC,MAAAC,EAAwC,IAAI,iBAAiBJ,CAAuB,EACtEI,EAAA,UAAaC,GAAkD,CACjFC,EAAuBD,CAAgB,EAEpC,QAASE,GAAoC,CAC5C9C,EAAiB,aAAa+C,EAA4B,OAAOD,EAAQ,UAAY,CAAC,CAAC,CAAA,CACxF,CAAA,CAEP,EAEA,SAAS,iBAAiB,mBAAoB,IAAM,CACtB1C,IACPsC,GACvB,CAAC"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js index c7e1731b..36985a6f 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js @@ -1,2 +1,2 @@ -import{r as p}from"./chunk-RU7WR4KH.js";import{p as l}from"./chunk-VROY5Y5B.js";import{x as o}from"./chunk-7BKSRZNG.js";import{z as N,N as i}from"./index2.js";import{p as O}from"./index.js";import{b as g,c as h}from"./api2.js";import{S as I,d as L,e as v,f as U,g as b,h as m,i as T,j as A}from"./dom.js";import{r as u,a as f}from"./dom2.js";import{l as R,a as w,b as y,c as P,E as B,d as D,r as j}from"./erreurs.js";import{b as M,e as x,a as J}from"./gardes.js";import{p as W}from"./cart-add-item.js";import{W as G}from"./cart.js";import{i as c}from"./erreurs2.js";import{r as d,a as _}from"./utils.js";import{M as k,E as q}from"./Either.js";import"./exports.js";const z=_etats,H=n=>{n.forEach(t=>{t[0].setAttribute(m,"false"),t[1].setAttribute(T,"true")})};o(d(I),u);const a=o(d(L),u),E=o(d(v),u),V=o(_(U),f),F=o(_(b),f),Q=()=>{const n=new Map;V.forEach((t,e)=>{const r=t.getAttribute("id"),s=F[e];if(!r)throw new Error("Le lien ne dispose pas d'ID !");if(!s)throw new Error("Le lien ne dispose pas de section correspondante !");n.set(r,[t,s]),t.addEventListener("click",S=>{S.preventDefault();const C=t.getAttribute(m)==="true";H(o(n.values(),Array.from)),!C&&(t.setAttribute(m,"true"),s.removeAttribute(T))})}),E.addEventListener("change",t=>{o(t.target,k.fromNullable,e=>e.filter(M),e=>e.map(r=>r.validity.valid),e=>e.ifJust(r=>a.toggleAttribute(A,!r)))}),a.addEventListener("click",t=>K())},K=()=>{a.textContent="Adding...";const n=new BroadcastChannel("bouton_panier");q.encase(()=>W({id:Number(E.value),quantity:1})).map(t=>{fetch(g,{body:JSON.stringify(t),credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[h]:z.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)}).then(async e=>{x(e)&&R("500 Server Error"),o(await e.json(),r=>N(r).with({body:i.select(),status:400},c,w).with({body:i.select(),status:401},c,y).with({body:i.select(),status:404},c,P).with(i._,s=>O(G,s)).otherwise(s=>o(s,B,D)),p(r=>console.debug("Panier",r)),l("items"),l("length"),p(r=>{a.textContent="Added to cart!",n.postMessage({donnees:r,type:"maj_panier"}),setTimeout(()=>{E.value=E.options.item(0)?.value??"--",a.toggleAttribute(A,!0),a.textContent="Add to cart"},3e3)}))}).catch(e=>{J(e)?(j(e),console.error(e)):console.error("e n'est pas une Erreur ?!",e),a.textContent="Add to cart"})})};document.addEventListener("DOMContentLoaded",()=>{Q()}); +import{r as A,p as C,z as O,N as n}from"./index2.js";import{x as o}from"./chunk-7BKSRZNG.js";import{p as f}from"./index.js";import{b as I,c as L}from"./api2.js";import{S as U,e as R,f as g,g as h,h as v,i as u,j as T,k as p}from"./dom.js";import{N as b,T as P}from"./messages3.js";import{r as m,a as l}from"./dom2.js";import{l as w,a as y,b as B,c as D,E as M,d as J,r as j}from"./erreurs.js";import{b as x,e as W,a as G}from"./gardes.js";import{p as k}from"./cart-add-item.js";import{W as q}from"./cart.js";import{i as c}from"./erreurs2.js";import{r as d,a as N}from"./utils.js";import{M as z,E as H}from"./Either.js";import"./exports.js";const V=_etats,F=a=>{a.forEach(e=>{e[0].setAttribute(u,"false"),e[1].setAttribute(T,"true")})};o(d(U),m);const s=o(d(R),m),i=o(d(g),m),Q=o(N(h),l),Y=o(N(v),l),K=()=>{const a=new Map;Q.forEach((e,t)=>{const r=e.getAttribute("id"),E=Y[t];if(!r)throw new Error("Le lien ne dispose pas d'ID !");if(!E)throw new Error("Le lien ne dispose pas de section correspondante !");a.set(r,[e,E]),e.addEventListener("click",_=>{_.preventDefault();const S=e.getAttribute(u)==="true";F(o(a.values(),Array.from)),!S&&(e.setAttribute(u,"true"),E.removeAttribute(T))})}),i.addEventListener("change",e=>{o(e.target,z.fromNullable,t=>t.filter(x),t=>t.map(r=>r.validity.valid),t=>t.ifJust(r=>s.toggleAttribute(p,!r)))}),s.addEventListener("click",e=>X())},X=()=>{s.textContent="Adding...",H.encase(()=>k({id:Number(i.value),quantity:1})).map(a=>{fetch(I,{body:JSON.stringify(a),credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[L]:V.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)}).then(async e=>{W(e)&&w("500 Server Error"),o(await e.json(),t=>O(t).with({body:n.select(),status:400},c,y).with({body:n.select(),status:401},c,B).with({body:n.select(),status:404},c,D).with(n._,r=>f(q,r)).otherwise(r=>o(r,M,J)),A(t=>console.debug("Panier",t)),C("items_count"),A(t=>{s.textContent="Added to cart!",new BroadcastChannel(b).postMessage({donnees:t,type:P.MiseAJourPanier}),setTimeout(()=>{i.value=i.options.item(0)?.value??"--",s.toggleAttribute(p,!0),s.textContent="Add to cart"},3e3)}))}).catch(e=>{G(e)?(j(e),console.error(e)):console.error("e n'est pas une Erreur ?!",e),s.textContent="Add to cart"})})};document.addEventListener("DOMContentLoaded",()=>{K()}); //# sourceMappingURL=scripts-page-produit.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js.map b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js.map index 83462bdb..0bff3e09 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts-page-produit.js","sources":["../../src/scripts/scripts-page-produit.ts"],"sourcesContent":["// Scripts pour la Page Produit\n\nimport { Either, Maybe } from \"purify-ts\";\nimport { pipe, prop, tap } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\nimport { parse } from \"valibot\";\n\nimport type { WCStoreCart } from \"./lib/types/api/cart\";\nimport type { WCStoreCartAddItemArgs } from \"./lib/types/api/cart-add-item.ts\";\n\nimport { ENTETE_WC_NONCE, ROUTE_API_AJOUTE_ARTICLE_PANIER } from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_ARIA_SELECTED,\n ATTRIBUT_DESACTIVE,\n ATTRIBUT_HIDDEN,\n SELECTEUR_BOUTON_AJOUT_PANIER,\n SELECTEUR_BOUTON_PANIER,\n SELECTEUR_LIENS_ONGLETS,\n SELECTEUR_SECTIONS_CONTENUS,\n SELECTEUR_SELECTEUR_QUANTITE,\n} from \"./constantes/dom\";\nimport { recupereElementOuLeve, recupereElementsOuLeve } from \"./lib/dom.ts\";\nimport {\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveServerError,\n leveUnauthorizedError,\n reporteErreur,\n type UnknownError,\n} from \"./lib/erreurs.ts\";\nimport { estError, estHTMLSelectElement, estReponse500 } from \"./lib/gardes.ts\";\nimport { parseWCStoreCartAddItemArgs } from \"./lib/schemas/cart-add-item.ts\";\nimport { WCStoreCartSchema } from \"./lib/schemas/cart.ts\";\nimport { isWCError } from \"./lib/schemas/erreurs.ts\";\nimport { recupereElementDocumentEither, recupereElementsDocumentEither } from \"./lib/utils.ts\";\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n /** L'ID en base de données du Produit. */\n idProduit: number;\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\ntype EnsembleLienContenu = [HTMLAnchorElement, HTMLElement];\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n/**\n * Déplie toutes les sections de la Boîte des Informations Produit en ajustant les attributs\n * correspondants.\n */\nconst deplieToutesSections = (ensembleLiensContenus: Array): void => {\n ensembleLiensContenus.forEach(ensemble => {\n ensemble[0].setAttribute(ATTRIBUT_ARIA_SELECTED, \"false\");\n ensemble[1].setAttribute(ATTRIBUT_HIDDEN, \"true\");\n });\n};\n\n// Éléments d'intérêt\n/** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\nconst BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n);\n/** Le Bouton permettant l'ajout d'un Produit dans le Panier. */\nconst BOUTON_AJOUT_PANIER: HTMLButtonElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_AJOUT_PANIER),\n recupereElementOuLeve,\n);\n/** Le Sélecteur de Variation de Produit. */\nconst SELECTEUR_VARIATION: HTMLSelectElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SELECTEUR_QUANTITE),\n recupereElementOuLeve,\n);\n/** */\nconst LIENS_ONGLETS: Array = pipe(\n recupereElementsDocumentEither(SELECTEUR_LIENS_ONGLETS),\n recupereElementsOuLeve,\n);\n/** */\nconst SECTIONS_CONTENUS: Array = pipe(\n recupereElementsDocumentEither(SELECTEUR_SECTIONS_CONTENUS),\n recupereElementsOuLeve,\n);\n\n// const suitMutationsBoutonAjoutPanier = (boutonAjoutPanier: HTMLButtonElement): void => {\n// const mutationCallback: MutationCallback = (mutationsList: Array) => {\n// for (const mutation of mutationsList) {\n// if (mutation.type !== \"attributes\" || mutation.attributeName !== ATTRIBUT_DESACTIVE) return;\n\n// console.log(\"old:\", mutation.oldValue);\n// console.log(\"new:\", (mutation.target as HTMLButtonElement).getAttribute(ATTRIBUT_DESACTIVE));\n// }\n// };\n// const observer = new MutationObserver(mutationCallback);\n// observer.observe(boutonAjoutPanier, { attributes: true });\n// };\n\nconst gereBoiteInformationsProduit = () => {\n const onglets = new Map();\n\n /* Créé la Map avec les ensembles Lien-Contenu */\n LIENS_ONGLETS.forEach((lien, index) => {\n const idOnglet: null | string = lien.getAttribute(\"id\");\n const sectionCorrespondante: HTMLElement | undefined = SECTIONS_CONTENUS[index];\n\n if (!idOnglet) throw new Error(\"Le lien ne dispose pas d'ID !\");\n if (!sectionCorrespondante) throw new Error(\"Le lien ne dispose pas de section correspondante !\");\n\n onglets.set(idOnglet, [lien, sectionCorrespondante]);\n\n lien.addEventListener(\"click\", (e) => {\n /* Empêche la pollution de l'historique de navigation */\n e.preventDefault();\n\n /* Sauvegarde l'état d'ouverture de la section avant de toutes les fermer */\n const estAncienOngletCourant: boolean = lien.getAttribute(ATTRIBUT_ARIA_SELECTED) === \"true\";\n deplieToutesSections(pipe(onglets.values(), Array.from));\n\n /* Ne fais rien de plus si l'onglet sélectionné était le courant */\n if (estAncienOngletCourant) return;\n\n /* Ouvre le nouvel onglet sélectionné */\n lien.setAttribute(ATTRIBUT_ARIA_SELECTED, \"true\");\n sectionCorrespondante.removeAttribute(ATTRIBUT_HIDDEN);\n });\n });\n\n /* Ajout des Écouteurs d'Événements */\n SELECTEUR_VARIATION.addEventListener(\"change\", (evenement) => {\n pipe(\n evenement.target,\n Maybe.fromNullable,\n cibleEvenement => cibleEvenement.filter(estHTMLSelectElement),\n element => element.map(v => v.validity.valid),\n validite => validite.ifJust((v: boolean) => BOUTON_AJOUT_PANIER.toggleAttribute(ATTRIBUT_DESACTIVE, !v)),\n );\n });\n BOUTON_AJOUT_PANIER.addEventListener(\"click\", (_) => ajouteProduitAuPanier());\n};\n\n// TODO: Traiter le cas des Produits avec variations\nconst ajouteProduitAuPanier = () => {\n /* État de chargement */\n BOUTON_AJOUT_PANIER.textContent = \"Adding...\";\n\n // Initialise le BroadcastChanel du Bouton du Panier\n const canalBoutonPanier: BroadcastChannel = new BroadcastChannel(\"bouton_panier\");\n\n // TODO: Rendre ça moins long\n // TODO: Créer une méthode pour fetch()\n // TODO: Créer une méthode pour traiter les codes HTTP\n /* Exécution de la requête */\n Either\n .encase(() =>\n parseWCStoreCartAddItemArgs({\n id: Number(SELECTEUR_VARIATION.value),\n quantity: 1,\n })\n )\n .map((args: WCStoreCartAddItemArgs) => {\n fetch(\n ROUTE_API_AJOUTE_ARTICLE_PANIER,\n {\n body: JSON.stringify(args),\n credentials: \"same-origin\",\n headers: {\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: ETATS_PAGE.nonce,\n },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n )\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(WCStoreCartSchema, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur)),\n tap((panier: WCStoreCart) => console.debug(\"Panier\", panier)),\n // Récupère le nombre de Produits dans la Panier\n prop(\"items\"),\n prop(\"length\"),\n // Déclenche les effets pour la mise à jour de l'IU\n tap((nombreArticlesPanier: number) => {\n /**\n * À la réception du nouveau Panier du backend :\n * 1. Met à jour la quantité de Produits dans le Bouton du Panier\n * 2. Met à jour le Bouton d'ajout au Panier avec un message de succès\n * 3. (3 secondes) Réinitialise le Sélecteur de Quantité et le Bouton d'Ajout au Panier\n */\n // BOUTON_PANIER.textContent = `cart (${String(nombreArticlesPanier)})`;\n // BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(nombreArticlesPanier > 0));\n BOUTON_AJOUT_PANIER.textContent = \"Added to cart!\";\n\n // TODO: Test\n canalBoutonPanier.postMessage({ donnees: nombreArticlesPanier, type: \"maj_panier\" });\n\n // TODO: Prévoir un cas où ce Timeout est annulé quand l'Utilisateur agit avant sur le Sélecteur\n setTimeout(() => {\n SELECTEUR_VARIATION.value = SELECTEUR_VARIATION.options.item(0)?.value ?? \"--\";\n BOUTON_AJOUT_PANIER.toggleAttribute(ATTRIBUT_DESACTIVE, true);\n BOUTON_AJOUT_PANIER.textContent = \"Add to cart\";\n }, 3000);\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n console.error(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n BOUTON_AJOUT_PANIER.textContent = \"Add to cart\";\n });\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n gereBoiteInformationsProduit();\n});\n"],"names":["ETATS_PAGE","deplieToutesSections","ensembleLiensContenus","ensemble","ATTRIBUT_ARIA_SELECTED","ATTRIBUT_HIDDEN","pipe","recupereElementDocumentEither","SELECTEUR_BOUTON_PANIER","recupereElementOuLeve","BOUTON_AJOUT_PANIER","SELECTEUR_BOUTON_AJOUT_PANIER","SELECTEUR_VARIATION","SELECTEUR_SELECTEUR_QUANTITE","LIENS_ONGLETS","recupereElementsDocumentEither","SELECTEUR_LIENS_ONGLETS","recupereElementsOuLeve","SECTIONS_CONTENUS","SELECTEUR_SECTIONS_CONTENUS","gereBoiteInformationsProduit","onglets","lien","index","idOnglet","sectionCorrespondante","e","estAncienOngletCourant","evenement","Maybe","cibleEvenement","estHTMLSelectElement","element","v","validite","ATTRIBUT_DESACTIVE","_","ajouteProduitAuPanier","canalBoutonPanier","Either","parseWCStoreCartAddItemArgs","args","ROUTE_API_AJOUTE_ARTICLE_PANIER","ENTETE_WC_NONCE","reponse","estReponse500","leveServerError","corpsReponse","match","P","isWCError","leveBadRequestError","leveUnauthorizedError","leveNotFoundError","corpsOkInconnu","parse","WCStoreCartSchema","ErreurInconnue","leveErreur","tap","panier","prop","nombreArticlesPanier","estError","reporteErreur"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"scripts-page-produit.js","sources":["../../src/scripts/scripts-page-produit.ts"],"sourcesContent":["// Scripts pour la Page Produit\n\nimport { Either, Maybe } from \"purify-ts\";\nimport { pipe, prop, tap } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\nimport { parse } from \"valibot\";\n\nimport type { WCStoreCart } from \"./lib/types/api/cart\";\nimport type { WCStoreCartAddItemArgs } from \"./lib/types/api/cart-add-item.ts\";\n\nimport { ENTETE_WC_NONCE, ROUTE_API_AJOUTE_ARTICLE_PANIER } from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_ARIA_SELECTED,\n ATTRIBUT_DESACTIVE,\n ATTRIBUT_HIDDEN,\n SELECTEUR_BOUTON_AJOUT_PANIER,\n SELECTEUR_BOUTON_PANIER,\n SELECTEUR_LIENS_ONGLETS,\n SELECTEUR_SECTIONS_CONTENUS,\n SELECTEUR_SELECTEUR_QUANTITE,\n} from \"./constantes/dom\";\nimport { NOM_CANAL_BOUTON_PANIER, TYPES_MESSAGES } from \"./constantes/messages.ts\";\nimport { recupereElementOuLeve, recupereElementsOuLeve } from \"./lib/dom.ts\";\nimport {\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveServerError,\n leveUnauthorizedError,\n reporteErreur,\n type UnknownError,\n} from \"./lib/erreurs.ts\";\nimport { estError, estHTMLSelectElement, estReponse500 } from \"./lib/gardes.ts\";\nimport { parseWCStoreCartAddItemArgs } from \"./lib/schemas/cart-add-item.ts\";\nimport { WCStoreCartSchema } from \"./lib/schemas/cart.ts\";\nimport { isWCError } from \"./lib/schemas/erreurs.ts\";\nimport { recupereElementDocumentEither, recupereElementsDocumentEither } from \"./lib/utils.ts\";\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n /** L'ID en base de données du Produit. */\n idProduit: number;\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\ntype EnsembleLienContenu = [HTMLAnchorElement, HTMLElement];\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n/**\n * Déplie toutes les sections de la Boîte des Informations Produit en ajustant les attributs\n * correspondants.\n */\nconst deplieToutesSections = (ensembleLiensContenus: Array): void => {\n ensembleLiensContenus.forEach(ensemble => {\n ensemble[0].setAttribute(ATTRIBUT_ARIA_SELECTED, \"false\");\n ensemble[1].setAttribute(ATTRIBUT_HIDDEN, \"true\");\n });\n};\n\n// Éléments d'intérêt\n/** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\nconst BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n);\n/** Le Bouton permettant l'ajout d'un Produit dans le Panier. */\nconst BOUTON_AJOUT_PANIER: HTMLButtonElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_AJOUT_PANIER),\n recupereElementOuLeve,\n);\n/** Le Sélecteur de Variation de Produit. */\nconst SELECTEUR_VARIATION: HTMLSelectElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SELECTEUR_QUANTITE),\n recupereElementOuLeve,\n);\n/** */\nconst LIENS_ONGLETS: Array = pipe(\n recupereElementsDocumentEither(SELECTEUR_LIENS_ONGLETS),\n recupereElementsOuLeve,\n);\n/** */\nconst SECTIONS_CONTENUS: Array = pipe(\n recupereElementsDocumentEither(SELECTEUR_SECTIONS_CONTENUS),\n recupereElementsOuLeve,\n);\n\n// const suitMutationsBoutonAjoutPanier = (boutonAjoutPanier: HTMLButtonElement): void => {\n// const mutationCallback: MutationCallback = (mutationsList: Array) => {\n// for (const mutation of mutationsList) {\n// if (mutation.type !== \"attributes\" || mutation.attributeName !== ATTRIBUT_DESACTIVE) return;\n\n// console.log(\"old:\", mutation.oldValue);\n// console.log(\"new:\", (mutation.target as HTMLButtonElement).getAttribute(ATTRIBUT_DESACTIVE));\n// }\n// };\n// const observer = new MutationObserver(mutationCallback);\n// observer.observe(boutonAjoutPanier, { attributes: true });\n// };\n\nconst gereBoiteInformationsProduit = () => {\n const onglets = new Map();\n\n /* Créé la Map avec les ensembles Lien-Contenu */\n LIENS_ONGLETS.forEach((lien, index) => {\n const idOnglet: null | string = lien.getAttribute(\"id\");\n const sectionCorrespondante: HTMLElement | undefined = SECTIONS_CONTENUS[index];\n\n if (!idOnglet) throw new Error(\"Le lien ne dispose pas d'ID !\");\n if (!sectionCorrespondante) throw new Error(\"Le lien ne dispose pas de section correspondante !\");\n\n onglets.set(idOnglet, [lien, sectionCorrespondante]);\n\n lien.addEventListener(\"click\", (e) => {\n /* Empêche la pollution de l'historique de navigation */\n e.preventDefault();\n\n /* Sauvegarde l'état d'ouverture de la section avant de toutes les fermer */\n const estAncienOngletCourant: boolean = lien.getAttribute(ATTRIBUT_ARIA_SELECTED) === \"true\";\n deplieToutesSections(pipe(onglets.values(), Array.from));\n\n /* Ne fais rien de plus si l'onglet sélectionné était le courant */\n if (estAncienOngletCourant) return;\n\n /* Ouvre le nouvel onglet sélectionné */\n lien.setAttribute(ATTRIBUT_ARIA_SELECTED, \"true\");\n sectionCorrespondante.removeAttribute(ATTRIBUT_HIDDEN);\n });\n });\n\n /* Ajout des Écouteurs d'Événements */\n SELECTEUR_VARIATION.addEventListener(\"change\", (evenement) => {\n pipe(\n evenement.target,\n Maybe.fromNullable,\n cibleEvenement => cibleEvenement.filter(estHTMLSelectElement),\n element => element.map(v => v.validity.valid),\n validite => validite.ifJust((v: boolean) => BOUTON_AJOUT_PANIER.toggleAttribute(ATTRIBUT_DESACTIVE, !v)),\n );\n });\n BOUTON_AJOUT_PANIER.addEventListener(\"click\", (_) => ajouteProduitAuPanier());\n};\n\n// TODO: Traiter le cas des Produits avec variations\nconst ajouteProduitAuPanier = () => {\n /* État de chargement */\n BOUTON_AJOUT_PANIER.textContent = \"Adding...\";\n\n // TODO: Rendre ça moins long\n // TODO: Créer une méthode pour fetch()\n // TODO: Créer une méthode pour traiter les codes HTTP\n /* Exécution de la requête */\n Either\n .encase(() =>\n parseWCStoreCartAddItemArgs({\n id: Number(SELECTEUR_VARIATION.value),\n quantity: 1,\n })\n )\n .map((args: WCStoreCartAddItemArgs) => {\n fetch(\n ROUTE_API_AJOUTE_ARTICLE_PANIER,\n {\n body: JSON.stringify(args),\n credentials: \"same-origin\",\n headers: {\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: ETATS_PAGE.nonce,\n },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n )\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(WCStoreCartSchema, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur)),\n tap((panier: WCStoreCart) => console.debug(\"Panier\", panier)),\n // Récupère le nombre de Produits dans la Panier\n prop(\"items_count\"),\n // Déclenche les effets pour la mise à jour de l'IU\n tap((nombreArticlesPanier: number) => {\n /**\n * À la réception du nouveau Panier du backend :\n * 1. Met à jour la quantité de Produits dans le Bouton du Panier\n * 2. Met à jour le Bouton d'ajout au Panier avec un message de succès\n * 3. (3 secondes) Réinitialise le Sélecteur de Quantité et le Bouton d'Ajout au Panier\n */\n BOUTON_AJOUT_PANIER.textContent = \"Added to cart!\";\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n CANAL_BOUTON_PANIER.postMessage({ donnees: nombreArticlesPanier, type: TYPES_MESSAGES.MiseAJourPanier });\n\n // TODO: Prévoir un cas où ce Timeout est annulé quand l'Utilisateur agit avant sur le Sélecteur\n setTimeout(() => {\n SELECTEUR_VARIATION.value = SELECTEUR_VARIATION.options.item(0)?.value ?? \"--\";\n BOUTON_AJOUT_PANIER.toggleAttribute(ATTRIBUT_DESACTIVE, true);\n BOUTON_AJOUT_PANIER.textContent = \"Add to cart\";\n }, 3000);\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n console.error(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n BOUTON_AJOUT_PANIER.textContent = \"Add to cart\";\n });\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n gereBoiteInformationsProduit();\n});\n"],"names":["ETATS_PAGE","deplieToutesSections","ensembleLiensContenus","ensemble","ATTRIBUT_ARIA_SELECTED","ATTRIBUT_HIDDEN","pipe","recupereElementDocumentEither","SELECTEUR_BOUTON_PANIER","recupereElementOuLeve","BOUTON_AJOUT_PANIER","SELECTEUR_BOUTON_AJOUT_PANIER","SELECTEUR_VARIATION","SELECTEUR_SELECTEUR_QUANTITE","LIENS_ONGLETS","recupereElementsDocumentEither","SELECTEUR_LIENS_ONGLETS","recupereElementsOuLeve","SECTIONS_CONTENUS","SELECTEUR_SECTIONS_CONTENUS","gereBoiteInformationsProduit","onglets","lien","index","idOnglet","sectionCorrespondante","e","estAncienOngletCourant","evenement","Maybe","cibleEvenement","estHTMLSelectElement","element","v","validite","ATTRIBUT_DESACTIVE","_","ajouteProduitAuPanier","Either","parseWCStoreCartAddItemArgs","args","ROUTE_API_AJOUTE_ARTICLE_PANIER","ENTETE_WC_NONCE","reponse","estReponse500","leveServerError","corpsReponse","match","P","isWCError","leveBadRequestError","leveUnauthorizedError","leveNotFoundError","corpsOkInconnu","parse","WCStoreCartSchema","ErreurInconnue","leveErreur","tap","panier","prop","nombreArticlesPanier","NOM_CANAL_BOUTON_PANIER","TYPES_MESSAGES","estError","reporteErreur"],"mappings":"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"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/page-cart.php b/web/app/themes/haiku-atelier-2024/page-cart.php index 03eb3022..fccd7692 100644 --- a/web/app/themes/haiku-atelier-2024/page-cart.php +++ b/web/app/themes/haiku-atelier-2024/page-cart.php @@ -19,6 +19,7 @@ $modeles = ["panier.twig"]; $panier = []; $sous_total_panier = WC()->cart->get_subtotal(); $total_panier = WC()->cart->get_total(""); + foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { $panier[$cart_item_key] = [ "attributs" => recupere_et_formate_attributs_produit($cart_item["data"]?->get_attributes()), diff --git a/web/app/themes/haiku-atelier-2024/src/inc/TraitementInformations.php b/web/app/themes/haiku-atelier-2024/src/inc/TraitementInformations.php index a313885e..0e5ef69b 100644 --- a/web/app/themes/haiku-atelier-2024/src/inc/TraitementInformations.php +++ b/web/app/themes/haiku-atelier-2024/src/inc/TraitementInformations.php @@ -11,6 +11,9 @@ use function Crell\fp\pipe; /** * Récupère les informations utilisées pour la grille des Produits et les retourne sous forme * de tableau associatif. + * + * @param WC_Product $produit + * @return InformationsProduitShop Un tableau avec uniquement les informations pour la Grille de Produits. */ function recupere_informations_produit_shop($produit) { return [ diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts index c2ad77ee..2cad760f 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts @@ -7,6 +7,7 @@ export const ATTRIBUT_CONTIENT_ARTICLES = "data-contient-articles"; export const ATTRIBUT_DESACTIVE = "disabled"; export const ATTRIBUT_CLE_PANIER = "data-cle-panier"; +export const SELECTEUR_CONTENEUR_PANIER = "#page-panier"; export const SELECTEUR_BOUTON_PANIER = ".compte-panier a[rel='cart']"; export const SELECTEUR_SELECTEUR_QUANTITE = "#selecteur-variation"; export const SELECTEUR_BOUTON_AJOUT_PANIER = "#bouton-ajout-panier"; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts index 0c9af510..1c929997 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts @@ -2,6 +2,8 @@ * Constantes liées aux Messages passés par BroadcastChannel. */ +export const NOM_CANAL_BOUTON_PANIER = "bouton_panier"; + export const TYPES_MESSAGES = { MiseAJourPanier: "maj_panier", } as const; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts new file mode 100644 index 00000000..d71f051d --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts @@ -0,0 +1,18 @@ +import { Either } from "purify-ts"; +import { parse, type ValiError } from "valibot"; + +import type { MiseAJourPanierMessage } from "./types/messages"; + +import { reporteErreur } from "./erreurs.ts"; +import { MiseAJourPanierMessageSchema } from "./schemas/messages.ts"; + +export const valideMessageMajPanier = ( + evenementMessage: MessageEvent, +): Either, MiseAJourPanierMessage> => + Either + .of, MiseAJourPanierMessage>( + parse(MiseAJourPanierMessageSchema, evenementMessage.data), + ) + .ifLeft(erreur => { + reporteErreur(erreur); + }); diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts index a88bf508..45659efc 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts @@ -2,14 +2,14 @@ * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier. */ -import { identity, pipe, prop, tap, when } from "remeda"; -import { safeParse } from "valibot"; +import { pipe } from "remeda"; import type { MiseAJourPanierMessage } from "./lib/types/messages"; import { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from "./constantes/dom.ts"; +import { NOM_CANAL_BOUTON_PANIER } from "./constantes/messages.ts"; import { recupereElementOuLeve } from "./lib/dom.ts"; -import { MiseAJourPanierMessageSchema } from "./lib/schemas/messages.ts"; +import { valideMessageMajPanier } from "./lib/messages.ts"; import { recupereElementDocumentEither } from "./lib/utils.ts"; const initialiseBoutonPanier = (): void => { @@ -18,21 +18,15 @@ const initialiseBoutonPanier = (): void => { recupereElementDocumentEither(SELECTEUR_BOUTON_PANIER), recupereElementOuLeve, ); + const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER); - const canalBoutonPanier: BroadcastChannel = new BroadcastChannel("bouton_panier"); - - canalBoutonPanier.onmessage = (evenementMessage: MessageEvent) => { - pipe( - safeParse(MiseAJourPanierMessageSchema, evenementMessage.data), - when(validation => validation.success, (messageValide) => - pipe( - prop(messageValide, "output"), - tap((message: MiseAJourPanierMessage) => { - BOUTON_PANIER.textContent = `cart (${String(message.donnees)})`; - BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees > 0)); - }), - )), - ); + CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent): void => { + valideMessageMajPanier(evenementMessage) + // Met à jour le Bouton du Panier + .ifRight((message: MiseAJourPanierMessage) => { + BOUTON_PANIER.textContent = `cart (${String(message.donnees)})`; + BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees > 0)); + }); }; }; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts index 17e4b056..4415cb41 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts @@ -1,22 +1,39 @@ import { Either, Maybe } from "purify-ts"; -import { pipe, tap } from "remeda"; +import { pipe, prop, tap } from "remeda"; +import { match, P } from "ts-pattern"; import { parse } from "valibot"; import type { WCStoreCartRemoveItemArgs } from "./lib/types/api/cart-remove-item"; +import type { MiseAJourPanierMessage } from "./lib/types/messages"; import { ROUTE_API_RETIRE_ARTICLE_PANIER } from "./constantes/api.ts"; import { ATTRIBUT_CLE_PANIER, + ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_SUPPRESSION_PANIER, + SELECTEUR_CONTENEUR_PANIER, SELECTEUR_ENTREES_PANIER, } from "./constantes/dom.ts"; -import { recupereElementAvecSelecteur, recupereElementsOuLeve } from "./lib/dom.ts"; -import { DOMElementAbsentError, leveServerError, reporteErreur } from "./lib/erreurs.ts"; +import { NOM_CANAL_BOUTON_PANIER, TYPES_MESSAGES } from "./constantes/messages.ts"; +import { recupereElementAvecSelecteur, recupereElementOuLeve, recupereElementsOuLeve } from "./lib/dom.ts"; +import { + DOMElementAbsentError, + ErreurInconnue, + leveBadRequestError, + leveErreur, + leveNotFoundError, + leveServerError, + leveUnauthorizedError, + reporteErreur, + type UnknownError, +} from "./lib/erreurs.ts"; import { estError, estReponse500 } from "./lib/gardes.ts"; -import { postBackendWC, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts"; +import { valideMessageMajPanier } from "./lib/messages.ts"; +import { postBackendWC } from "./lib/reseau.ts"; import { WCStoreCartRemoveItemArgsSchema } from "./lib/schemas/cart-remove-item.ts"; import { WCStoreCartSchema } from "./lib/schemas/cart.ts"; -import { recupereElementsDocumentEither } from "./lib/utils.ts"; +import { isWCError } from "./lib/schemas/erreurs.ts"; +import { recupereElementDocumentEither, recupereElementsDocumentEither } from "./lib/utils.ts"; /** * Récupère les
dans le panier @@ -51,10 +68,12 @@ const ENTREES_PANIER: Array = pipe( recupereElementsDocumentEither(SELECTEUR_ENTREES_PANIER), recupereElementsOuLeve, ); +const CONTENEUR_PANIER: HTMLElement = pipe( + recupereElementDocumentEither(SELECTEUR_CONTENEUR_PANIER), + recupereElementOuLeve, +); const initialiseScriptsPagePanier = (): void => { - console.debug(ETATS_PAGE); - ENTREES_PANIER.forEach((entree: HTMLElement) => { const maybeClePanier: Maybe = Maybe.fromNullable(entree.getAttribute(ATTRIBUT_CLE_PANIER)); @@ -99,12 +118,28 @@ const initialiseScriptsPagePanier = (): void => { pipe( // Récupère la Réponse await reponse.json(), - tap((a) => console.debug(a)), // Traite tous les codes HTTPs possibles - (corpsReponse: unknown) => traiteReponseBackendWCSelonCodesHTTP(corpsReponse, WCStoreCartSchema), - // TODO: Mettre à jour la quantité dans le bouton Panier - // Retire l'entrée du Panier du DOM - tap(() => entree.remove()), + (corpsReponse: unknown) => + match(corpsReponse) + // Réponses problématiques + .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError) + .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError) + .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError) + // Réponse OK (201) + .with(P._, corpsOkInconnu => parse(WCStoreCartSchema, corpsOkInconnu)) + // Réponses inconnues + .otherwise(e => pipe(e, ErreurInconnue, leveErreur)), + prop("items_count"), + tap((nombreArticlesPanier: number) => { + // Émet un Message avec le nouveau nombre de Produits dans le Panier + const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER); + CANAL_BOUTON_PANIER.postMessage({ + donnees: nombreArticlesPanier, + type: TYPES_MESSAGES.MiseAJourPanier, + }); + // Retire l'entrée du Panier du DOM + entree.remove(); + }), ); }) .catch((e: unknown) => { @@ -122,6 +157,18 @@ const initialiseScriptsPagePanier = (): void => { }); }; +const initialisePagePanier = (): void => { + const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER); + CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent): void => { + valideMessageMajPanier(evenementMessage) + // Met à jour le Bouton du Panier + .ifRight((message: MiseAJourPanierMessage) => { + CONTENEUR_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees !== 0)); + }); + }; +}; + document.addEventListener("DOMContentLoaded", () => { initialiseScriptsPagePanier(); + initialisePagePanier(); }); diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts index bc884ccc..390eb97f 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts @@ -19,6 +19,7 @@ import { SELECTEUR_SECTIONS_CONTENUS, SELECTEUR_SELECTEUR_QUANTITE, } from "./constantes/dom"; +import { NOM_CANAL_BOUTON_PANIER, TYPES_MESSAGES } from "./constantes/messages.ts"; import { recupereElementOuLeve, recupereElementsOuLeve } from "./lib/dom.ts"; import { ErreurInconnue, @@ -148,9 +149,6 @@ const ajouteProduitAuPanier = () => { /* État de chargement */ BOUTON_AJOUT_PANIER.textContent = "Adding..."; - // Initialise le BroadcastChanel du Bouton du Panier - const canalBoutonPanier: BroadcastChannel = new BroadcastChannel("bouton_panier"); - // TODO: Rendre ça moins long // TODO: Créer une méthode pour fetch() // TODO: Créer une méthode pour traiter les codes HTTP @@ -198,8 +196,7 @@ const ajouteProduitAuPanier = () => { .otherwise(e => pipe(e, ErreurInconnue, leveErreur)), tap((panier: WCStoreCart) => console.debug("Panier", panier)), // Récupère le nombre de Produits dans la Panier - prop("items"), - prop("length"), + prop("items_count"), // Déclenche les effets pour la mise à jour de l'IU tap((nombreArticlesPanier: number) => { /** @@ -208,12 +205,9 @@ const ajouteProduitAuPanier = () => { * 2. Met à jour le Bouton d'ajout au Panier avec un message de succès * 3. (3 secondes) Réinitialise le Sélecteur de Quantité et le Bouton d'Ajout au Panier */ - // BOUTON_PANIER.textContent = `cart (${String(nombreArticlesPanier)})`; - // BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(nombreArticlesPanier > 0)); BOUTON_AJOUT_PANIER.textContent = "Added to cart!"; - - // TODO: Test - canalBoutonPanier.postMessage({ donnees: nombreArticlesPanier, type: "maj_panier" }); + const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER); + CANAL_BOUTON_PANIER.postMessage({ donnees: nombreArticlesPanier, type: TYPES_MESSAGES.MiseAJourPanier }); // TODO: Prévoir un cas où ce Timeout est annulé quand l'Utilisateur agit avant sur le Sélecteur setTimeout(() => { diff --git a/web/app/themes/haiku-atelier-2024/taxonomy-product_cat.php b/web/app/themes/haiku-atelier-2024/taxonomy-product_cat.php index 48520222..e30d62ec 100644 --- a/web/app/themes/haiku-atelier-2024/taxonomy-product_cat.php +++ b/web/app/themes/haiku-atelier-2024/taxonomy-product_cat.php @@ -20,7 +20,7 @@ $informations_produits = wc_get_products([ "order" => "DESC", ]); // Informations nécessaires pour la grille des Produits -$produits = array_map($callback = "recupere_informations_produit_shop", $array = $informations_produits); +$produits = array_map(callback: "recupere_informations_produit_shop", array: $informations_produits); $contexte["produits"] = $produits; // Rendu diff --git a/web/app/themes/haiku-atelier-2024/views/panier.twig b/web/app/themes/haiku-atelier-2024/views/panier.twig index f6984b3b..e2db237c 100644 --- a/web/app/themes/haiku-atelier-2024/views/panier.twig +++ b/web/app/themes/haiku-atelier-2024/views/panier.twig @@ -18,7 +18,6 @@ {% block contenu %}
- {# TODO: Prévoir le cas où il n'y a pas de Produits dans le Panier #}

Your cart