@jsarc/jon 0.0.2-beta.0.4 → 0.0.2-beta.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/gulpfile-tsconfig.json +31 -0
- package/index.ts +3 -1
- package/js/gulpfile-tsconfig.json +31 -0
- package/js/index.js +3 -1
- package/package.json +1 -1
- package/web/jon.js +3 -1
- package/web/jon.min.js +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"module": "ESNext",
|
|
4
|
+
"target": "ESNext",
|
|
5
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable", "ESNext"],
|
|
6
|
+
"noEmit": false,
|
|
7
|
+
"declaration": false,
|
|
8
|
+
"declarationMap": false,
|
|
9
|
+
"moduleResolution": "node",
|
|
10
|
+
"isolatedModules": false,
|
|
11
|
+
"preserveValueImports": false,
|
|
12
|
+
"verbatimModuleSyntax": false,
|
|
13
|
+
"removeComments": false,
|
|
14
|
+
"composite": false,
|
|
15
|
+
"allowSyntheticDefaultImports": true,
|
|
16
|
+
|
|
17
|
+
"strict": false,
|
|
18
|
+
"noImplicitAny": false,
|
|
19
|
+
"strictNullChecks": false,
|
|
20
|
+
"strictFunctionTypes": false,
|
|
21
|
+
"strictBindCallApply": false,
|
|
22
|
+
"strictPropertyInitialization": false,
|
|
23
|
+
"noImplicitThis": false,
|
|
24
|
+
"alwaysStrict": false,
|
|
25
|
+
"skipLibCheck": true
|
|
26
|
+
},
|
|
27
|
+
"exclude": [
|
|
28
|
+
"node_modules",
|
|
29
|
+
"**/*.d.ts"
|
|
30
|
+
]
|
|
31
|
+
}
|
package/index.ts
CHANGED
|
@@ -1005,7 +1005,6 @@ const globalFunct = (function() {
|
|
|
1005
1005
|
if (NODEENV === 'debug') {
|
|
1006
1006
|
console.log("[jon -> array.schema.ts] ArraySchema | types - rule - validTypes:: ", validTypes);
|
|
1007
1007
|
}
|
|
1008
|
-
console.log("[jon -> array.schema.ts] ArraySchema | types - rule - validTypes:: ", validTypes);
|
|
1009
1008
|
|
|
1010
1009
|
const compareArrayValueWithTypes = (indexVal: number, val: any): ValidationResult => {
|
|
1011
1010
|
try {
|
|
@@ -1091,6 +1090,7 @@ const globalFunct = (function() {
|
|
|
1091
1090
|
successValidation = validationVal;
|
|
1092
1091
|
successValidationDatas.push(validationVal.data);
|
|
1093
1092
|
errorValidation = undefined;
|
|
1093
|
+
break;
|
|
1094
1094
|
} else {
|
|
1095
1095
|
if (!errorValidation) {
|
|
1096
1096
|
successValidationDatas = [];
|
|
@@ -1765,6 +1765,7 @@ const globalFunct = (function() {
|
|
|
1765
1765
|
successValidation = validationVal;
|
|
1766
1766
|
successValidationDatas[keyTypeObject] = validationVal.data;
|
|
1767
1767
|
errorValidation = undefined;
|
|
1768
|
+
break;
|
|
1768
1769
|
} else {
|
|
1769
1770
|
successValidationDatas[keyTypeObject] = undefined;
|
|
1770
1771
|
errorValidation = validationVal;
|
|
@@ -2007,6 +2008,7 @@ const globalFunct = (function() {
|
|
|
2007
2008
|
successValidation = validationVal;
|
|
2008
2009
|
validation = validationVal;
|
|
2009
2010
|
validationDatas[keyVal] = validationVal.data;
|
|
2011
|
+
break;
|
|
2010
2012
|
} else {
|
|
2011
2013
|
if (!errorValidation) {
|
|
2012
2014
|
errorValidation = validationVal;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"module": "ESNext",
|
|
4
|
+
"target": "ESNext",
|
|
5
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable", "ESNext"],
|
|
6
|
+
"noEmit": false,
|
|
7
|
+
"declaration": false,
|
|
8
|
+
"declarationMap": false,
|
|
9
|
+
"moduleResolution": "node",
|
|
10
|
+
"isolatedModules": false,
|
|
11
|
+
"preserveValueImports": false,
|
|
12
|
+
"verbatimModuleSyntax": false,
|
|
13
|
+
"removeComments": false,
|
|
14
|
+
"composite": false,
|
|
15
|
+
"allowSyntheticDefaultImports": true,
|
|
16
|
+
|
|
17
|
+
"strict": false,
|
|
18
|
+
"noImplicitAny": false,
|
|
19
|
+
"strictNullChecks": false,
|
|
20
|
+
"strictFunctionTypes": false,
|
|
21
|
+
"strictBindCallApply": false,
|
|
22
|
+
"strictPropertyInitialization": false,
|
|
23
|
+
"noImplicitThis": false,
|
|
24
|
+
"alwaysStrict": false,
|
|
25
|
+
"skipLibCheck": true
|
|
26
|
+
},
|
|
27
|
+
"exclude": [
|
|
28
|
+
"node_modules",
|
|
29
|
+
"**/*.d.ts"
|
|
30
|
+
]
|
|
31
|
+
}
|
package/js/index.js
CHANGED
|
@@ -787,7 +787,6 @@ const globalFunct = (function () {
|
|
|
787
787
|
if (NODEENV === 'debug') {
|
|
788
788
|
console.log("[jon -> array.schema.ts] ArraySchema | types - rule - validTypes:: ", validTypes);
|
|
789
789
|
}
|
|
790
|
-
console.log("[jon -> array.schema.ts] ArraySchema | types - rule - validTypes:: ", validTypes);
|
|
791
790
|
const compareArrayValueWithTypes = (indexVal, val) => {
|
|
792
791
|
try {
|
|
793
792
|
let validation = {
|
|
@@ -863,6 +862,7 @@ const globalFunct = (function () {
|
|
|
863
862
|
successValidation = validationVal;
|
|
864
863
|
successValidationDatas.push(validationVal.data);
|
|
865
864
|
errorValidation = undefined;
|
|
865
|
+
break;
|
|
866
866
|
}
|
|
867
867
|
else {
|
|
868
868
|
if (!errorValidation) {
|
|
@@ -1398,6 +1398,7 @@ const globalFunct = (function () {
|
|
|
1398
1398
|
successValidation = validationVal;
|
|
1399
1399
|
successValidationDatas[keyTypeObject] = validationVal.data;
|
|
1400
1400
|
errorValidation = undefined;
|
|
1401
|
+
break;
|
|
1401
1402
|
}
|
|
1402
1403
|
else {
|
|
1403
1404
|
successValidationDatas[keyTypeObject] = undefined;
|
|
@@ -1611,6 +1612,7 @@ const globalFunct = (function () {
|
|
|
1611
1612
|
successValidation = validationVal;
|
|
1612
1613
|
validation = validationVal;
|
|
1613
1614
|
validationDatas[keyVal] = validationVal.data;
|
|
1615
|
+
break;
|
|
1614
1616
|
}
|
|
1615
1617
|
else {
|
|
1616
1618
|
if (!errorValidation) {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.0.2-beta.0.
|
|
6
|
+
"version": "0.0.2-beta.0.7",
|
|
7
7
|
"description": "JON est une bibliothèque TypeScript conçue pour la validation et la gestion des schémas de données. Elle offre une solution robuste pour valider les types de données, gérer les erreurs, et supporter une variété de types de données complexes.",
|
|
8
8
|
"main": "index.ts",
|
|
9
9
|
"keywords": [],
|
package/web/jon.js
CHANGED
|
@@ -1595,7 +1595,6 @@ const globalFunct = (function () {
|
|
|
1595
1595
|
if (NODEENV === 'debug') {
|
|
1596
1596
|
console.log("[jon -> array.schema.ts] ArraySchema | types - rule - validTypes:: ", validTypes);
|
|
1597
1597
|
}
|
|
1598
|
-
console.log("[jon -> array.schema.ts] ArraySchema | types - rule - validTypes:: ", validTypes);
|
|
1599
1598
|
const compareArrayValueWithTypes = (indexVal, val) => {
|
|
1600
1599
|
try {
|
|
1601
1600
|
let validation = {
|
|
@@ -1671,6 +1670,7 @@ const globalFunct = (function () {
|
|
|
1671
1670
|
successValidation = validationVal;
|
|
1672
1671
|
successValidationDatas.push(validationVal.data);
|
|
1673
1672
|
errorValidation = undefined;
|
|
1673
|
+
break;
|
|
1674
1674
|
}
|
|
1675
1675
|
else {
|
|
1676
1676
|
if (!errorValidation) {
|
|
@@ -2206,6 +2206,7 @@ const globalFunct = (function () {
|
|
|
2206
2206
|
successValidation = validationVal;
|
|
2207
2207
|
successValidationDatas[keyTypeObject] = validationVal.data;
|
|
2208
2208
|
errorValidation = undefined;
|
|
2209
|
+
break;
|
|
2209
2210
|
}
|
|
2210
2211
|
else {
|
|
2211
2212
|
successValidationDatas[keyTypeObject] = undefined;
|
|
@@ -2419,6 +2420,7 @@ const globalFunct = (function () {
|
|
|
2419
2420
|
successValidation = validationVal;
|
|
2420
2421
|
validation = validationVal;
|
|
2421
2422
|
validationDatas[keyVal] = validationVal.data;
|
|
2423
|
+
break;
|
|
2422
2424
|
}
|
|
2423
2425
|
else {
|
|
2424
2426
|
if (!errorValidation) {
|
package/web/jon.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let globalFunct=(()=>{let t=["en","fr"],_="%Y-%m-%dT%H:%M:%S.%fZ";var e="%Y/%m/%d",r="%H:%M:%S.%f",i=["0","1","2","3","4","5","6","7","8","9"],a=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],o=[...a,...a.map(e=>e.toUpperCase())];function n(e){return t.includes(e)?e:"fr"}function s(e){return e}function u(e,t=15,r=!1){r="boolean"==typeof r&&r;e=""+e;return e.length>(t="number"==typeof t&&0<t?t:15)?r?"..."+e.slice(-t):e.slice(0,t)+"...":e}function l(e,t,r=0,i,a){return e}function d(e,t){let r=!1;try{r=f.parse(e,t).isCorrect()}catch(e){r=!1}return r}[...i,...a],[...i,...o];let h={datetime:_,date:e,time:r};function R(e){return!(null==e||"number"==typeof e&&isNaN(e))}function E(e,t=void 0,r=void 0){r="string"==typeof r&&0<r.length?r:void 0;var i=Object.keys(h);return(t=[...i,"undefined","other"].includes(t||"")?t:void 0)&&i.includes(t||"")&&(r=h[t]),!("boolean"==typeof e)&&!e||"string"==typeof r&&0<r.length&&f.parse(e,r).isCorrect()||("other"===t||void 0===t)&&typeof e in["string","number","boolean"]||"undefined"===t&&void 0===e}function v(e){let t=!0;try{var r;void 0!==e&&(r=Number(e),t=!isNaN(r)&&isFinite(r))}catch{t=!1}return t}class g{_label=void 0;_lang="fr";_default=void 0;_rules=[];_value=void 0;_default_error=void 0;map=void 0;preMap=void 0;_mapError={map:l};_errMsgs=void 0;_PRIMARY__REQUIRED__RULE=void 0;_PRIMARY__ENUM__RULE=void 0;_PRIMARY__ENUM_NOT__RULE=void 0;_PRIMARY__CUSTOM01__RULE=void 0;_PRIMARY__CUSTOM02__RULE=void 0;_PRIMARY__CUSTOM03__RULE=void 0;_PRIMARY__CUSTOM04__RULE=void 0;_PRIMARY__CUSTOM05__RULE=void 0;_PRIMARY__CUSTOM06__RULE=void 0;_PRIMARY__CUSTOM07__RULE=void 0;_PRIMARY__CUSTOM08__RULE=void 0;_PRIMARY__CUSTOM09__RULE=void 0;_PRIMARY__CUSTOM10__RULE=void 0;_PRIMARY__CUSTOM11__RULE=void 0;_PRIMARY__CUSTOM12__RULE=void 0;_PRIMARY__CUSTOM13__RULE=void 0;_PRIMARY__CUSTOM14__RULE=void 0;_PRIMARY__CUSTOM15__RULE=void 0;_PRIMARY__CUSTOM16__RULE=void 0;_PRIMARY__CUSTOM17__RULE=void 0;_PRIMARY__CUSTOM18__RULE=void 0;_PRIMARY__CUSTOM19__RULE=void 0;_PRIMARY__CUSTOM20__RULE=void 0;_PRIMARY__CUSTOM21__RULE=void 0;_PRIMARY__CUSTOM22__RULE=void 0;_PRIMARY__CUSTOM23__RULE=void 0;_PRIMARY__CUSTOM24__RULE=void 0;_PRIMARY__CUSTOM25__RULE=void 0;_PRIMARY__CUSTOM26__RULE=void 0;_PRIMARY__CUSTOM27__RULE=void 0;_PRIMARY__CUSTOM28__RULE=void 0;_PRIMARY__CUSTOM29__RULE=void 0;_PRIMARY__CUSTOM30__RULE=void 0;_PRIMARY__CUSTOM31__RULE=void 0;_PRIMARY__CUSTOM32__RULE=void 0;_PRIMARY__CUSTOM33__RULE=void 0;_PRIMARY__CUSTOM34__RULE=void 0;_PRIMARY__CUSTOM35__RULE=void 0;_PRIMARY__CUSTOM36__RULE=void 0;_PRIMARY__CUSTOM37__RULE=void 0;_PRIMARY__CUSTOM38__RULE=void 0;_PRIMARY__CUSTOM39__RULE=void 0;_PRIMARY__CUSTOM40__RULE=void 0;_PRIMARY__CUSTOM41__RULE=void 0;_PRIMARY__CUSTOM42__RULE=void 0;_PRIMARY__CUSTOM43__RULE=void 0;_PRIMARY__CUSTOM44__RULE=void 0;_PRIMARY__CUSTOM45__RULE=void 0;_PRIMARY__CUSTOM46__RULE=void 0;_PRIMARY__CUSTOM47__RULE=void 0;_PRIMARY__CUSTOM48__RULE=void 0;_PRIMARY__CUSTOM49__RULE=void 0;_PRIMARY__CUSTOM50__RULE=void 0;_errorRule=void 0;constructor(e="fr"){this._lang=n(e)}applyApp(a=e=>!!e,_=e=>e,o=void 0){let t=e=>{let t=e=>a(e);var e=void 0!==e?e:this._default,r=t(e),i=r?t(i=e)?_(i):i:void 0,e=(this._value=i,r?void 0:(e=>{if(t(e))return new Error("Unknown error");{let t=void 0;try{t=o&&o(this.get_label())}catch(e){t=o}return t instanceof Error?t:"string"==typeof t&&0<t.length?new Error(t):"object"==typeof t&&void 0!==t&&this.get_lang()in t?new Error(t[this.get_lang()]):new Error({fr:"Erreur inconnue",en:"Unknown error"}[this.get_lang()])}})(e));return{valid:r,data:i,error:e}};this.addRule(t);return(()=>{var e;for(e of["_PRIMARY__CUSTOM01__RULE","_PRIMARY__CUSTOM02__RULE","_PRIMARY__CUSTOM03__RULE","_PRIMARY__CUSTOM04__RULE","_PRIMARY__CUSTOM05__RULE","_PRIMARY__CUSTOM06__RULE","_PRIMARY__CUSTOM07__RULE","_PRIMARY__CUSTOM08__RULE","_PRIMARY__CUSTOM09__RULE","_PRIMARY__CUSTOM10__RULE","_PRIMARY__CUSTOM11__RULE","_PRIMARY__CUSTOM12__RULE","_PRIMARY__CUSTOM13__RULE","_PRIMARY__CUSTOM14__RULE","_PRIMARY__CUSTOM15__RULE","_PRIMARY__CUSTOM16__RULE","_PRIMARY__CUSTOM17__RULE","_PRIMARY__CUSTOM18__RULE","_PRIMARY__CUSTOM19__RULE","_PRIMARY__CUSTOM20__RULE","_PRIMARY__CUSTOM21__RULE","_PRIMARY__CUSTOM22__RULE","_PRIMARY__CUSTOM23__RULE","_PRIMARY__CUSTOM24__RULE","_PRIMARY__CUSTOM25__RULE","_PRIMARY__CUSTOM26__RULE","_PRIMARY__CUSTOM27__RULE","_PRIMARY__CUSTOM28__RULE","_PRIMARY__CUSTOM29__RULE","_PRIMARY__CUSTOM30__RULE","_PRIMARY__CUSTOM31__RULE","_PRIMARY__CUSTOM32__RULE","_PRIMARY__CUSTOM33__RULE","_PRIMARY__CUSTOM34__RULE","_PRIMARY__CUSTOM35__RULE","_PRIMARY__CUSTOM36__RULE","_PRIMARY__CUSTOM37__RULE","_PRIMARY__CUSTOM38__RULE","_PRIMARY__CUSTOM39__RULE","_PRIMARY__CUSTOM40__RULE","_PRIMARY__CUSTOM41__RULE","_PRIMARY__CUSTOM42__RULE","_PRIMARY__CUSTOM43__RULE","_PRIMARY__CUSTOM44__RULE","_PRIMARY__CUSTOM45__RULE","_PRIMARY__CUSTOM46__RULE","_PRIMARY__CUSTOM47__RULE","_PRIMARY__CUSTOM48__RULE","_PRIMARY__CUSTOM49__RULE","_PRIMARY__CUSTOM50__RULE"])if(void 0===this[e]){this[e]=t;break}})(),this}required(e=!0){e="boolean"!=typeof e||e;var t=e=>{let t=e=>void 0!==e;var e=void 0!==e?e:this._default,r=t(e),i=r?(t(i=e),i):void 0,e=(this._value=i,r?void 0:t(e=e)?new Error("Unknown error"):(e=JSON.stringify(""+this.get_label()),new Error({fr:e+" est requis",en:e+" is required"}[this.get_lang()])));return{valid:r,data:i,error:e}};return this.addRule(t),this._PRIMARY__REQUIRED__RULE=e?t:void 0,this}enum(...a){a=Array.isArray(a)?a:[];var e=e=>{let t=e=>!e||void 0===e||a.includes(e);var e=void 0!==e?e:this._default,r=t(e),i=r?(t(i=e),i):void 0,e=(this._value=i,r?void 0:t(e=e)?new Error("Unknown error"):(e=JSON.stringify(""+this.get_label()),new Error({fr:e+" correspond à aucun choix défini",en:e+" correspond to any defined choice"}[this.get_lang()])));return{valid:r,data:i,error:e}};return this.addRule(e),this._PRIMARY__ENUM__RULE=e,this}enumNot(...a){a=Array.isArray(a)?a:[];var e=e=>{let t=e=>!e||void 0===e||!a.includes(e);var e=void 0!==e?e:this._default,r=t(e),i=r?(t(i=e),i):void 0,e=(this._value=i,r?void 0:t(e=e)?new Error("Unknown error"):(e=JSON.stringify(""+this.get_label()),new Error({fr:e+" ne correspond à aucun choix défini",en:e+" does not correspond to any defined choice"}[this.get_lang()])));return{valid:r,data:i,error:e}};return this.addRule(e),this._PRIMARY__ENUM_NOT__RULE=e,this}get_default(){return this._default}set_default(e){this._default=e}get_lang(){return this._lang}set_lang(e){this._lang=n(e)}get_label(){return u("string"==typeof this._label&&0<this._label.length?this._label:{fr:"l'element",en:"the element"}[this._lang],30,!0)}set_label(e){this._label="string"==typeof e&&0<e.length?e:void 0}get_error(){return this._default_error}set_error(e){e instanceof Error?this._default_error=e:"string"==typeof e&&0<e.length?this._default_error=new Error(e):"object"==typeof e&&void 0!==e&&this.get_lang()in e&&(this._default_error=new Error(e[this.get_lang()]))}defaultError(e){return this.set_error(e),this}lang(e){return this.set_lang(e),this}label(e){return this.set_label(e),this}default(e){return this.set_default(e),this}getLang(){return this._lang}setLang(e){this._lang=n(e)}addRule(e){this._rules.push(e)}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a=this.primaryValidation(e?.data??t);return(e=a?a:e)&&!e.valid?(r=e.error,e.error=void 0!==this._default_error?this._default_error:e.error,this._mapError.map(e,r,this._errorRule,this.get_label(),this.getLang())):e?(e&&e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(i={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this._mapError.map(i,void 0,"NO_RULE__RULE",this.get_label(),this.getLang()))}catch(e){return this._mapError.map({data:void 0,valid:!1,error:""+e},void 0,"UNKNOWN__RULE",this.get_label(),this.getLang())}}isValid(e){this.validate(e);return this.validate(e).valid}error(e){return this.validate(e)?.error}sanitize(e){return this.validate(e)?.data}primaryValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._PRIMARY__REQUIRED__RULE,name:"REQUIRED__RULE"},{rule:this._PRIMARY__ENUM__RULE,name:"ENUM__RULE"},{rule:this._PRIMARY__ENUM_NOT__RULE,name:"ENUM_NOT__RULE"},{rule:this._PRIMARY__CUSTOM01__RULE,name:"CUSTOM01__RULE"},{rule:this._PRIMARY__CUSTOM02__RULE,name:"CUSTOM02__RULE"},{rule:this._PRIMARY__CUSTOM03__RULE,name:"CUSTOM03__RULE"},{rule:this._PRIMARY__CUSTOM04__RULE,name:"CUSTOM04__RULE"},{rule:this._PRIMARY__CUSTOM05__RULE,name:"CUSTOM05__RULE"},{rule:this._PRIMARY__CUSTOM06__RULE,name:"CUSTOM06__RULE"},{rule:this._PRIMARY__CUSTOM07__RULE,name:"CUSTOM07__RULE"},{rule:this._PRIMARY__CUSTOM08__RULE,name:"CUSTOM08__RULE"},{rule:this._PRIMARY__CUSTOM09__RULE,name:"CUSTOM09__RULE"},{rule:this._PRIMARY__CUSTOM10__RULE,name:"CUSTOM10__RULE"},{rule:this._PRIMARY__CUSTOM11__RULE,name:"CUSTOM11__RULE"},{rule:this._PRIMARY__CUSTOM12__RULE,name:"CUSTOM12__RULE"},{rule:this._PRIMARY__CUSTOM13__RULE,name:"CUSTOM13__RULE"},{rule:this._PRIMARY__CUSTOM14__RULE,name:"CUSTOM14__RULE"},{rule:this._PRIMARY__CUSTOM15__RULE,name:"CUSTOM15__RULE"},{rule:this._PRIMARY__CUSTOM16__RULE,name:"CUSTOM16__RULE"},{rule:this._PRIMARY__CUSTOM17__RULE,name:"CUSTOM17__RULE"},{rule:this._PRIMARY__CUSTOM18__RULE,name:"CUSTOM18__RULE"},{rule:this._PRIMARY__CUSTOM19__RULE,name:"CUSTOM19__RULE"},{rule:this._PRIMARY__CUSTOM20__RULE,name:"CUSTOM20__RULE"},{rule:this._PRIMARY__CUSTOM21__RULE,name:"CUSTOM21__RULE"},{rule:this._PRIMARY__CUSTOM22__RULE,name:"CUSTOM22__RULE"},{rule:this._PRIMARY__CUSTOM23__RULE,name:"CUSTOM23__RULE"},{rule:this._PRIMARY__CUSTOM24__RULE,name:"CUSTOM24__RULE"},{rule:this._PRIMARY__CUSTOM25__RULE,name:"CUSTOM25__RULE"},{rule:this._PRIMARY__CUSTOM26__RULE,name:"CUSTOM26__RULE"},{rule:this._PRIMARY__CUSTOM27__RULE,name:"CUSTOM27__RULE"},{rule:this._PRIMARY__CUSTOM28__RULE,name:"CUSTOM28__RULE"},{rule:this._PRIMARY__CUSTOM29__RULE,name:"CUSTOM29__RULE"},{rule:this._PRIMARY__CUSTOM30__RULE,name:"CUSTOM30__RULE"},{rule:this._PRIMARY__CUSTOM31__RULE,name:"CUSTOM31__RULE"},{rule:this._PRIMARY__CUSTOM32__RULE,name:"CUSTOM32__RULE"},{rule:this._PRIMARY__CUSTOM33__RULE,name:"CUSTOM33__RULE"},{rule:this._PRIMARY__CUSTOM34__RULE,name:"CUSTOM34__RULE"},{rule:this._PRIMARY__CUSTOM35__RULE,name:"CUSTOM35__RULE"},{rule:this._PRIMARY__CUSTOM36__RULE,name:"CUSTOM36__RULE"},{rule:this._PRIMARY__CUSTOM37__RULE,name:"CUSTOM37__RULE"},{rule:this._PRIMARY__CUSTOM38__RULE,name:"CUSTOM38__RULE"},{rule:this._PRIMARY__CUSTOM39__RULE,name:"CUSTOM39__RULE"},{rule:this._PRIMARY__CUSTOM40__RULE,name:"CUSTOM40__RULE"},{rule:this._PRIMARY__CUSTOM41__RULE,name:"CUSTOM41__RULE"},{rule:this._PRIMARY__CUSTOM42__RULE,name:"CUSTOM42__RULE"},{rule:this._PRIMARY__CUSTOM43__RULE,name:"CUSTOM43__RULE"},{rule:this._PRIMARY__CUSTOM44__RULE,name:"CUSTOM44__RULE"},{rule:this._PRIMARY__CUSTOM45__RULE,name:"CUSTOM45__RULE"},{rule:this._PRIMARY__CUSTOM46__RULE,name:"CUSTOM46__RULE"},{rule:this._PRIMARY__CUSTOM47__RULE,name:"CUSTOM47__RULE"},{rule:this._PRIMARY__CUSTOM48__RULE,name:"CUSTOM48__RULE"},{rule:this._PRIMARY__CUSTOM49__RULE,name:"CUSTOM49__RULE"},{rule:this._PRIMARY__CUSTOM50__RULE,name:"CUSTOM50__RULE"}])if(void 0!==r){var a=r(e?.data??t);if((e=a?a:e)&&!e.valid)return e.error=void 0!==this._default_error?this._default_error:e.error,this._errorRule=i,e}return e}catch(e){return{data:void 0,valid:!1,error:""+e}}}getMapError(){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},"map"in this._mapError?this._mapError.map:l}initMapError(e){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},this._mapError.map="function"==typeof e?e:l,this}applyPreMapping(e=s){return this.preMap=e,this}applyMapping(e=s){return this.map=e,this}getErrorRule(){return this._errorRule}}class f{_date;static FORMAT_TOKENS={"%Y":e=>e.year()?.toString().padStart(4,"0"),"%y":e=>e.year()?.toString().slice(-2).padStart(2,"0"),"%m":e=>e.month()?.toString().padStart(2,"0"),"%d":e=>e.date()?.toString().padStart(2,"0"),"%H":e=>e.hour()?.toString().padStart(2,"0"),"%M":e=>e.minute()?.toString().padStart(2,"0"),"%S":e=>e.second()?.toString().padStart(2,"0"),"%f":e=>e.millisecond()?.toString().padStart(3,"0"),"%z":e=>{e=e.utcOffset();if(e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+(Math.abs(e)%60).toString().padStart(2,"0")},"%s":e=>{e=e.valueOf();return e?Math.floor(e/1e3).toString():void 0}};static PREDEFINED_FORMATS={ISO:"%Y-%m-%dT%H:%M:%S.%fZ",ISO_DATE:"%Y-%m-%d",ISO_TIME:"%H:%M:%S.%fZ",COMPACT:"%Y%m%d%H%M%S",SLASH_DATETIME:"%Y/%m/%d %H:%M:%S.%fZ",SLASH_DATETIME_SEC:"%Y/%m/%d %H:%M:%S",SLASH_DATETIME_MIN:"%Y/%m/%d %H:%M",EUROPEAN:"%d/%m/%Y %H:%M:%S GMT%z",SLASH_DATE:"%Y/%m/%d",TIME_MICRO:"%H:%M:%S.%fZ",TIME_SEC:"%H:%M:%S",CUSTOM_GREETING:"[Bonjour celestin, ][la date actuelle est:: le] %d/%m/%Y [à] %H:%M:%S.%f[Z]"};constructor(e,t=!1){!1===this.dateChecker(e)?this._date=void 0:e instanceof f&&e&&e?._date?this._date=new Date(e?._date):e instanceof Date?this._date=new Date(e):"string"==typeof e?this._date=f.parseString(e,t):"number"==typeof e?this._date=new Date(e):null==e||"number"==typeof e&&isNaN(e)?this._date=new Date:this._date=void 0}static now(){return new f}static parse(e,t){return"string"==typeof t&&0<t.length&&(e instanceof f&&e&&e?._date||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e))&&f.parseWithFormat(e,t)||new f(e)}static unix(e){return new f(1e3*e)}static utc(){var e=new Date;return new f(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}year(){return this._date?.getFullYear()}month(){return this._date?this._date.getMonth()+1:void 0}date(){return this._date?.getDate()}hour(){return this._date?.getHours()}minute(){return this._date?.getMinutes()}second(){return this._date?.getSeconds()}millisecond(){return this._date?.getMilliseconds()}day(){return this._date?.getDay()}add(e,t){if(!this._date)return new f(void 0);var r=new Date(this._date);switch(t){case"years":r.setFullYear(r.getFullYear()+e);break;case"months":r.setMonth(r.getMonth()+e);break;case"days":r.setDate(r.getDate()+e);break;case"hours":r.setHours(r.getHours()+e);break;case"minutes":r.setMinutes(r.getMinutes()+e);break;case"seconds":r.setSeconds(r.getSeconds()+e);break;case"milliseconds":r.setMilliseconds(r.getMilliseconds()+e)}return new f(r)}subtract(e,t){return this.add(-e,t)}startOf(e){if(!this._date)return new f(void 0);var t=new Date(this._date);switch(e){case"year":t.setMonth(0,1),t.setHours(0,0,0,0);break;case"month":t.setDate(1),t.setHours(0,0,0,0);break;case"day":t.setHours(0,0,0,0);break;case"hour":t.setMinutes(0,0,0);break;case"minute":t.setSeconds(0,0);break;case"second":t.setMilliseconds(0)}return new f(t)}endOf(e){var t=this.startOf(e);switch(e){case"year":return t.add(1,"years").subtract(1,"milliseconds");case"month":return t.add(1,"months").subtract(1,"milliseconds");case"day":return t.add(1,"days").subtract(1,"milliseconds");case"hour":return t.add(1,"hours").subtract(1,"milliseconds");case"minute":return t.add(1,"minutes").subtract(1,"milliseconds");case"second":return t.add(1,"seconds").subtract(1,"milliseconds");default:return t}}isBefore(e,t="()"){t="]"===t[1],e=e instanceof f?e:new f(e);return!(!this._date||!e._date)&&(!t&&this._date<e._date||!!t&&this._date<=e._date)}isAfter(e,t="()"){t="["===t[0],e=e instanceof f?e:new f(e);return!(!this._date||!e._date)&&(!t&&this._date>e._date||!!t&&this._date>=e._date)}isSame(e,t){var r,e=e instanceof f?e:new f(e);return!t&&this._date&&e._date?this._date.getTime()===e._date.getTime():(r=t?this.startOf(t):void 0,e=t?e.startOf(t):void 0,!!(r&&r?._date&&e&&e?._date)&&r._date.getTime()===e._date.getTime())}isBetween(e,t,r="()"){var e=e instanceof f?e:new f(e),t=t instanceof f?t:new f(t),i="["===r[0],r="]"===r[1],i=i&&this.isSame(e)||this.isAfter(e),e=r&&this.isSame(t)||this.isBefore(t);return i&&e}format(e){if(!e)return this.toISOString();var t,r,i=f.PREDEFINED_FORMATS[e];if(i)return this.format(i);let a="",_=0;for(;_<e.length;)"["===e[_]?-1===(r=e.indexOf("]",_))?(a+=e[_],_++):(t=e.substring(_+1,r),a+=t,_=r+1):"%"===e[_]&&_+1<e.length?(t="%"+e[_+1],r=f.FORMAT_TOKENS[t],a+=r?r(this):t,_+=2):(a+=e[_],_++);return a}setTimezone(e){var t;return this._date?(t=this._date.getTimezoneOffset(),e=this.parseTimezoneOffset(e),e=new Date(this._date.getTime()+6e4*(e-t)),new f(e)):new f(void 0)}utc(){return this._date?new f(new Date(Date.UTC(this._date.getUTCFullYear(),this._date.getUTCMonth(),this._date.getUTCDate(),this._date.getUTCHours(),this._date.getUTCMinutes(),this._date.getUTCSeconds(),this._date.getUTCMilliseconds()))):new f(void 0)}local(){return this._date?new f(new Date(this._date.getFullYear(),this._date.getMonth(),this._date.getDate(),this._date.getHours(),this._date.getMinutes(),this._date.getSeconds(),this._date.getMilliseconds())):new f(void 0)}toString(){return this._date?.toString()}toISOString(){return this._date?.toISOString()}toDate(){return this._date?new Date(this._date):void 0}valueOf(){return this._date?.getTime()}unix(){return this._date?Math.floor(this._date.getTime()/1e3):void 0}utcOffset(){return this._date?-this._date.getTimezoneOffset():void 0}isCorrect(){return!!this._date&&!isNaN(this._date.getTime())}timezone(){if(this._date)try{return(new Intl.DateTimeFormat).resolvedOptions().timeZone||void 0}catch(e){return this.timezoneFromOffset()}}timezoneAbbr(){if(this._date)try{return new Intl.DateTimeFormat("en",{timeZoneName:"short"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type)?.value||void 0}catch(e){return this.timezoneAbbrFromOffset()}}timezoneName(){if(this._date)try{return new Intl.DateTimeFormat("en",{timeZoneName:"long"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type)?.value||void 0}catch(e){return this.timezoneNameFromOffset()}}timezoneOffsetString(){var e=this.utcOffset();if(void 0!==e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+":"+(Math.abs(e)%60).toString().padStart(2,"0")}dateChecker(e){return e instanceof f&&!!e&&!!e?._date||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e)}timezoneFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Etc/UTC",60:"Europe/Paris",120:"Europe/Athens",180:"Europe/Moscow",240:"Asia/Dubai",270:"Asia/Tehran",300:"Asia/Karachi",330:"Asia/Kolkata",345:"Asia/Rangoon",360:"Asia/Dhaka",390:"Asia/Yangon",420:"Asia/Bangkok",480:"Asia/Shanghai",525:"Asia/Kathmandu",540:"Asia/Tokyo",570:"Australia/Adelaide",600:"Australia/Sydney",630:"Australia/Lord_Howe",660:"Pacific/Noumea",675:"Australia/Eucla",720:"Pacific/Auckland",780:"Pacific/Chatham","-60":"Atlantic/Azores","-120":"America/Noronha","-180":"America/Argentina/Buenos_Aires","-210":"America/St_Johns","-240":"America/Halifax","-270":"America/Caracas","-300":"America/New_York","-360":"America/Chicago","-420":"America/Denver","-480":"America/Los_Angeles","-540":"America/Anchorage","-600":"Pacific/Honolulu","-660":"Pacific/Pago_Pago","-720":"Pacific/Kiritimati"}[e]||"Etc/GMT"+(0<=e?"-":"+")+Math.abs(e)/60}timezoneAbbrFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"GMT",60:"CET","-300":"EST","-360":"CST","-420":"MST","-480":"PST"}[e]||"GMT"+(0<=e?"+":"")+e/60}timezoneNameFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Greenwich Mean Time",60:"Central European Time","-300":"Eastern Standard Time","-360":"Central Standard Time","-420":"Mountain Standard Time","-480":"Pacific Standard Time"}[e]||"GMT"+(0<=e?"+":"")+e/60}isDST(){if(this._date)try{var e=new Date(this._date.getFullYear(),0,1),t=new Date(this._date.getFullYear(),6,1),r=Math.max(e.getTimezoneOffset(),t.getTimezoneOffset());return this._date.getTimezoneOffset()<r}catch(e){}}static parseString(e,t=!1){var r=new Date(e);if(!isNaN(r.getTime()))return r;var i,a=[/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})Z$/,/^(\d{4})-(\d{2})-(\d{2})$/,/^(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/];for(i of a){var _=e.match(i);if(_){_=_.slice(1).map(Number);if(i===a[0])return new Date(Date.UTC(_[0],_[1]-1,_[2],_[3],_[4],_[5],_[6]));if(i===a[1])return new Date(_[0],_[1]-1,_[2]);if(i===a[2])return new Date(_[0],_[1]-1,_[2],_[3],_[4],_[5]);if(i===a[3])return new Date(_[0],_[1]-1,_[2],_[3],_[4],_[5])}}r=new Date(e);if(!isNaN(r.getTime()))return r;if(t)throw new Error("Unable to parse date string: "+e)}static parseWithFormat(e,a){if(e&&a){var _=String(e).trim();if(_){var o={Y:{regex:/\d{4}/,extract:e=>parseInt(e,10)},y:{regex:/\d{2}/,extract:e=>{e=parseInt(e,10);return 70<=e?1900+e:2e3+e}},m:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},d:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},H:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},M:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},S:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},f:{regex:/\d{1,3}/,extract:e=>parseInt(e,10)}},n={year:(new Date).getFullYear(),month:1,day:1,hour:0,minute:0,second:0,millisecond:0};let e=0,t=0,r=!1,i="";for(;t<a.length&&e<_.length;){var s=a[t];if("["===s)r=!0,i="",t++;else if("]"===s&&r){if(_.substring(e,e+i.length)!==i)return;e+=i.length,r=!1,i="",t++}else if(r)i+=s,t++;else if("%"===s&&t+1<a.length){var l=a[t+1],d=o[l];if(d){var h=_.substring(e).match(d.regex);if(!h||0!==h.index)return;var h=h[0],u=d.extract(h);switch(l){case"Y":case"y":n.year=u;break;case"m":n.month=u;break;case"d":n.day=u;break;case"H":n.hour=u;break;case"M":n.minute=u;break;case"S":n.second=u;break;case"f":n.millisecond=u}e+=h.length}else e++;t+=2}else{if(s!==_[e])return;e++,t++}}if(!(n.month<1||12<n.month||n.day<1||31<n.day||n.hour<0||23<n.hour||n.minute<0||59<n.minute||n.second<0||59<n.second||n.millisecond<0||999<n.millisecond))try{var R=new Date(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);if(!isNaN(R.getTime()))return new f(R)}catch(e){}}}}static getTokenLength(e){return{Y:4,y:2,m:2,d:2,H:2,M:2,S:2,f:3,z:5}[e]||1}parseTimezoneOffset(e){var t={UTC:0,EST:-300,EDT:-240,CST:-360,CDT:-300,PST:-480,PDT:-420};return void 0!==t[e.toUpperCase()]?t[e.toUpperCase()]:(t=e.match(/^([+-])(\d{1,2}):?(\d{2})?$/))?("+"===t[1]?1:-1)*(60*parseInt(t[2],10)+(t[3]?parseInt(t[3],10):0)):this._date?-this._date.getTimezoneOffset():0}static get FORMATS(){return{...f.PREDEFINED_FORMATS}}}function U(e){return e instanceof M||e instanceof A||e instanceof S||e instanceof N||e instanceof m||e instanceof p||e instanceof L||e instanceof c||e instanceof T||e instanceof O}class m extends g{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_types=[];_ARRAY__RULE=void 0;_ARRAY__TYPE__RULE=void 0;_ARRAY__MIN__RULE=void 0;_ARRAY__MAX__RULE=void 0;_ARRAY__LESS__RULE=void 0;_ARRAY__GREATER__RULE=void 0;_ARRAY__LENGTH__RULE=void 0;constructor(e="fr"){super(e),this.array()}array(){var e=e=>{let t=e=>Array.isArray(e)||null==e;var r,e=null!=e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas un tableau",en:r+" is not an array"}[this.get_lang()]))}};return this.addRule(e),this._ARRAY__RULE=e,this}types(...t){let s=JSON.stringify(""+this.get_label());if(Array.isArray(t)&&0!==t.length){var i=[];for(let r of t){if(!U(r)){let e=e=>{var t=""+r;return{valid:!1,data:void 0,error:new Error({fr:`${s} a un ou plusieurs types invalides (${u(t)}) pour analyse`,en:`${s} has one or more invalid types (${u(t)}) for analysis`}[this.get_lang()])}};return this.addRule(e),this._ARRAY__TYPE__RULE=e,this}i.push(r)}this._types=i,console.log("[jon -> array.schema.ts] ArraySchema | types - rule - validTypes:: ",i);let n=(i,a)=>{try{let r={valid:!0,data:a,error:void 0};if(null!=a){let e=!1,t=void 0;for(var _ of this._types){var o=_.label(this.get_label()+`[${i}]`).validate(a);if(o.valid){r=o,e=!0;break}t=t||o}!e&&t&&(r=t)}return r}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},r=a=>{try{if(!Array.isArray(a)&&null!=a)return{valid:!1,data:void 0,error:new Error({fr:s+" a un type invalide pour analyse",en:s+" has an invalid type for analyse"}[this.get_lang()])};let t=[],r={data:a,valid:!0,error:void 0},i=void 0;if(null!=a)for(let e=0;e<a.length;e++){var _=a[e],o=n(e,_);if(o.valid)r=o,t.push(o.data),i=void 0;else if(!i){t=[],i=o;break}}return i?i:{data:null!=a?t:void 0,valid:r.valid,error:r.error}}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};this.addRule(e),this._ARRAY__TYPE__RULE=e}else{let e=e=>({valid:!1,data:void 0,error:new Error({fr:s+" a un ou plusieurs types invalides pour analyse",en:s+" has one or more invalid types for analysis"}[this.get_lang()])});this.addRule(e),this._ARRAY__TYPE__RULE=e}return this}min(a){this._minValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length>=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._maxValue?new Error({fr:`la taille de ${t} doit être compris entre ${a} et `+this._maxValue,en:`the size of ${t} must be between ${a} and `+this._maxValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au minimum `+a,en:`the size of ${t} must be at least `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__MIN__RULE=e,this}max(a){this._maxValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length<=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._minValue?new Error({fr:`la taille de ${t} doit être compris entre ${this._minValue} et `+a,en:`the size of ${t} must be between ${this._minValue} and `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au maximum `+a,en:`the size of ${t} must be maximum `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__MAX__RULE=e,this}less(a){this._lessValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length<a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._greaterValue?new Error({fr:`la taille de ${t} doit être inférieure à ${a} et superieure à `+this._greaterValue,en:`the size of ${t} must be less than ${a} and greater than `+this._greaterValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être inferieure à `+a,en:`the size of ${t} must be less than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__LESS__RULE=e,this}greater(a){this._greaterValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length>a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._lessValue?new Error({fr:`la taille de ${t} doit être inférieure à ${this._lessValue} et superieure à `+a,en:`the size of ${t} must be less than ${this._lessValue} and greater than `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être supérieur à `+a,en:`the size of ${t} must be greater than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__GREATER__RULE=e,this}length(a){this._lengthValue=a;var e=e=>{let t=e=>null==e||Array.isArray(e)&&e.length===a;var r,e=null!=e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._ARRAY__LENGTH__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.arrayValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}arrayValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._ARRAY__RULE,name:"ARRAY__RULE"},{rule:this._ARRAY__MIN__RULE,name:"ARRAY__MIN__RULE"},{rule:this._ARRAY__MAX__RULE,name:"ARRAY__MAX__RULE"},{rule:this._ARRAY__LESS__RULE,name:"ARRAY__LESS__RULE"},{rule:this._ARRAY__GREATER__RULE,name:"ARRAY__GREATER__RULE"},{rule:this._ARRAY__LENGTH__RULE,name:"ARRAY__LENGTH__RULE"},{rule:this._ARRAY__TYPE__RULE,name:"ARRAY__TYPE__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class p extends g{_struct={};_primaryStruct=!1;_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_oldValueForStruct=void 0;_OBJECT__RULE=void 0;_OBJECT__STRUCT__RULE=void 0;_OBJECT__PRIMARY_STRUCT__RULE=void 0;_OBJECT__TYPES_VALUES__RULE=void 0;_OBJECT__CONTAINS_KEYS__RULE=void 0;_OBJECT__NO_CONTAINS_KEYS__RULE=void 0;_OBJECT__REGEXP_CONTAINS_KEYS__RULE=void 0;_OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE=void 0;_OBJECT__MIN__RULE=void 0;_OBJECT__MAX__RULE=void 0;_OBJECT__LESS__RULE=void 0;_OBJECT__GREATER__RULE=void 0;_OBJECT__LENGTH__RULE=void 0;constructor(e="fr"){super(e),this.object()}object(){var e=e=>{let t=e=>"object"==typeof e&&null!==e&&!Array.isArray(e)||e instanceof FormData||null==e;var r,i,e=null!=e?e:this.get_default(),a=t(e);return{valid:a,data:a?t(r=e)&&r instanceof FormData?"object"!=typeof(i=class{static transform(e){if(e instanceof FormData){var t,r,i={};for([t,r]of e.entries()){var a=this.parseKeyPath(t);this.setDeepValue(i,a,this.wrapValue(r))}return i}if("object"==typeof e&&!Array.isArray(e))return e}static toFormData(t,r=new FormData,i){return null!=t&&(!0===t?.__file&&t.file instanceof File?r.append(i,t.file):"object"!=typeof t||t instanceof File?i&&r.append(i,t):Array.isArray(t)?t.forEach((e,t)=>{this.toFormData(e,r,i?i+`[${t}]`:""+t)}):Object.keys(t).forEach(e=>{this.toFormData(t[e],r,i?i+"."+e:e)})),r}static wrapValue(e){return e instanceof File?e:"true"===(e=e.toString())||"false"!==e&&(isNaN(Number(e))?e:Number(e))}static setDeepValue(e,t,r){let i=e;for(let e=0;e<t.length-1;e++){var a=t[e],_=t[e+1];void 0===i[a]&&(i[a]="number"==typeof _?[]:{}),i=i[a]}e=t[t.length-1];i[e]=r}static parseKeyPath(e){var t,r=[];for(t of e.split(/\.|(\[\d+\])/).filter(Boolean)){var i=t.match(/\[(\d+)\]/);r.push(i?Number(i[1]):t)}return r}}.transform(r))||null===i||Array.isArray(i)?void 0:i:r:void 0,error:a?void 0:t(i=e)?new Error("Unknown error"):(i=JSON.stringify(""+this.get_label()),new Error({fr:i+" n'est pas un objet",en:i+" is not an object"}[this.get_lang()]))}};return this.addRule(e),this._OBJECT__RULE=e,this}structAction(t){let h=JSON.stringify(""+this.get_label());if("object"!=typeof t||null===t||0===Object.keys(t).length){let e=e=>({valid:!1,data:void 0,error:new Error({fr:h+" a un ou plusieurs types invalides pour analyse",en:h+" has one or more invalid types for analysis"}[this.get_lang()])});this.addRule(e),this._OBJECT__STRUCT__RULE=e}else{let d={};for(let[r,i]of Object.entries(t)){if(!U(i)){let e=e=>{var t=""+i;return{valid:!1,data:void 0,error:new Error({fr:`L'attribut '${r}' de l'element ${h} a un type invalide (${u(t)}) pour analyse`,en:`The '${r}' attribute of the ${h} element has an invalid type (${u(t)}) for analysis.`}[this.get_lang()])}};return this.addRule(e),this._OBJECT__STRUCT__RULE=e,this}d[r]=i}this._struct=d;let r=r=>{try{var i=null!==r&&"object"==typeof r?{...r}:r;if(("object"!=typeof r||null===r||Array.isArray(r))&&null!=r)return{valid:!1,data:void 0,error:new Error({fr:h+" a un type invalide pour analyse",en:h+" has an invalid type for analyse"}[this.get_lang()])};var a={};let e={data:r,valid:!0,error:void 0},t=void 0;if(null!=r)for(var[_,o]of Object.entries(d)){var n=o.label(`${this.get_label()}['${_}']`),s=void 0!==r[_]?r[_]:void 0,l=n.validate(s);if(!l.valid){a[_]=void 0,t=l;break}e=l,a[_]=l.data,t=void 0}return t?t:this._primaryStruct&&null!=r&&i&&Object.keys(i).length!==Object.keys(a).length?{valid:!1,data:void 0,error:new Error({fr:h+" doit avoir le même nombre d'attributs que la structure de validation",en:h+" must have the same number of attributes as the validation structure"}[this.get_lang()])}:{data:null!=r?a:void 0,valid:e.valid,error:e.error}}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};this.addRule(e),this._primaryStruct?this._OBJECT__PRIMARY_STRUCT__RULE=e:this._OBJECT__STRUCT__RULE=e}return this}struct(e){return this._primaryStruct=!1,this.structAction(e)}primaryStruct(e){return this._primaryStruct=!0,this.structAction(e)}getStruct(){return this._struct}typesValues(...t){let d=JSON.stringify(""+this.get_label());if(Array.isArray(t)&&0!==t.length){let s=[];for(let r of t){if(!U(r)){let e=e=>{var t=""+r;return{valid:!1,data:void 0,error:new Error({fr:`${d} a un ou plusieurs typesValues invalides (${u(t)}) pour analyse`,en:`${d} has one or more invalid typesValues (${u(t)}) for analysis`}[this.get_lang()])}};return this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e,this}s.push(r)}let l=(i,a)=>{try{let e={valid:!0,data:a,error:void 0},t=void 0,r=void 0;var _,o=[];for(_ of s){var n=_.label(this.get_label()+`['${i}']`).validate(a);if(o.push(n),n.valid){t=n;break}r=n}return t?e=t:r&&(e=r),e}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},r=i=>{try{if(("object"!=typeof i||null===i||Array.isArray(i))&&null!=i)return{valid:!1,data:void 0,error:new Error({fr:d+" a un type invalide pour analyse",en:d+" has an invalid type for analyse"}[this.get_lang()])};var a={};let e={data:i,valid:!0,error:void 0},t=void 0,r=void 0;var _=[];if(null!=i)for(var[o,n]of Object.entries(i)){var s=l(o,n);if(_.push(s),s.valid)t=s,e=s,a[o]=s.data;else if(!r){r=s;break}}return r?e=r:t&&(e=t),{data:null!=i?a:void 0,valid:e.valid,error:e.error}}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e}else{let e=e=>({valid:!1,data:void 0,error:new Error({fr:d+" a un ou plusieurs typesValues invalides pour analyse",en:d+" has one or more invalid typesValues for analysis"}[this.get_lang()])});this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e}return this}containsKeys(_=[],i=!1){var e=e=>{let a=t=>null==t||"object"==typeof t&&!Array.isArray(t)&&"object"==typeof _&&Array.isArray(_)&&(!i&&0<_.filter(e=>Object.keys(t).includes(e)).length||i&&_.filter(e=>Object.keys(t).includes(e)).length===Object(t).keys().length);var t,e=null!=e?e:this.get_default(),r=a(e);return{valid:r,data:r?(a(t=e),t):void 0,error:r?void 0:(t=>{if(a(t))return new Error("Unknown error");{var r,i=JSON.stringify(this.get_label());let e=[];return t&&"object"==typeof t&&(e=_.filter(e=>!(e in t))),0===_.length?new Error({fr:i+" ne possede aucune clé à verifier pour la validation",en:i+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:i+" possède une ou plusieurs clés indefinis: "+r,en:i+" has one or more undefined keys: "+r}[this.get_lang()])):new Error({fr:i+" est d'un type invalide",en:i+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__CONTAINS_KEYS__RULE=e,this}noContainsKeys(_=[],i=!1){var e=e=>{let a=t=>null==t||"object"==typeof t&&!Array.isArray(t)&&(!i&&_.some(e=>!(e in t))||i&&_.every(e=>!(e in t)));var t,e=null!=e?e:this.get_default(),r=a(e);return{valid:r,data:r?(a(t=e),t):void 0,error:r?void 0:(t=>{if(a(t))return new Error("Unknown error");{var r,i=JSON.stringify(this.get_label());let e=[];return t&&"object"==typeof t&&(e=_.filter(e=>e in t)),0===_.length?new Error({fr:i+" ne possede aucune clé à verifier pour la validation",en:i+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:i+" possède une ou plusieurs clés definis: "+r,en:i+" has one or more defined keys: "+r}[this.get_lang()])):new Error({fr:i+" est d'un type invalide",en:i+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__NO_CONTAINS_KEYS__RULE=e,this}regExpContainsKeys(a,_=void 0,o=!1){var e=e=>{let i=e=>{if(null==e)return!0;if("object"!=typeof e||Array.isArray(e))return!1;e=Object.keys(e);let t=new M(this.get_lang());return o?e.every(e=>t.regexp(a,_).isValid(e)):e.some(e=>t.regexp(a,_).isValid(e))};var t,e=null!=e?e:this.get_default(),r=i(e);return{valid:r,data:r?(i(t=e),t):void 0,error:r?void 0:(r=>{if(i(r))return new Error("Unknown error");{var t=JSON.stringify(this.get_label());let e=[];if(r&&"object"==typeof r){let t=new M(this.get_lang());e=Object.keys(r).filter(e=>!t.regexp(a,_).isValid(e))}return 0===Object.keys(r||{}).length?new Error({fr:t+" ne possede aucune clé à verifier pour la validation",en:t+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:t+" possède une ou plusieurs clés au format invalide: "+r,en:t+" has one or more invalidly formatted keys: "+r}[this.get_lang()])):new Error({fr:t+" est d'un type invalide",en:t+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__REGEXP_CONTAINS_KEYS__RULE=e,this}regExpNoContainsKeys(a,_=void 0,o=!1){var e=e=>{let i=e=>{if(null==e)return!0;if("object"!=typeof e||Array.isArray(e))return!1;e=Object.keys(e);let t=new M(this.get_lang());return o?e.every(e=>!t.regexp(a,_).isValid(e)):e.some(e=>!t.regexp(a,_).isValid(e))};var t,e=null!=e?e:this.get_default(),r=i(e);return{valid:r,data:r?(i(t=e),t):void 0,error:r?void 0:(r=>{if(i(r))return new Error("Unknown error");{var t=JSON.stringify(this.get_label());let e=[];if(r&&"object"==typeof r){let t=new M(this.get_lang());e=Object.keys(r).filter(e=>t.regexp(a,_).isValid(e))}return 0===Object.keys(r||{}).length?new Error({fr:t+" ne possede aucune clé à verifier pour la validation",en:t+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:t+" ne possède pas des clés au format: "+r,en:t+" does not have keys in: "+r}[this.get_lang()])):new Error({fr:t+" est d'un type invalide",en:t+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE=e,this}min(a){this._minValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._maxValue?new Error({fr:`la taille de ${t} doit être compris entre ${a} et `+this._maxValue,en:`the size of ${t} must be between ${a} and `+this._maxValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au minimum `+a,en:`the size of ${t} must be at least `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__MIN__RULE=e,this}max(a){this._maxValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length<=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._minValue?new Error({fr:`la taille de ${t} doit être compris entre ${this._minValue} et `+a,en:`the size of ${t} must be between ${this._minValue} and `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au maximum `+a,en:`the size of ${t} must be maximum `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__MAX__RULE=e,this}less(a){this._lessValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length<a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._greaterValue?new Error({fr:`la taille de ${t} doit être inférieure à ${a} et superieure à `+this._greaterValue,en:`the size of ${t} must be less than ${a} and greater than `+this._greaterValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être inferieure à `+a,en:`the size of ${t} must be less than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__LESS__RULE=e,this}greater(a){this._greaterValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._lessValue?new Error({fr:`la taille de ${t} doit être inférieure à ${this._lessValue} et superieure à `+a,en:`the size of ${t} must be less than ${this._lessValue} and greater than `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être supérieur à `+a,en:`the size of ${t} must be greater than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__GREATER__RULE=e,this}length(a){this._lengthValue=a;var e=e=>{let t=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length===a;var r,e=null!=e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._OBJECT__LENGTH__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.objectValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}objectValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._OBJECT__RULE,name:"OBJECT__RULE"},{rule:this._OBJECT__STRUCT__RULE,name:"OBJECT__STRUCT__RULE"},{rule:this._OBJECT__PRIMARY_STRUCT__RULE,name:"OBJECT__PRIMARY_STRUCT__RULE"},{rule:this._OBJECT__TYPES_VALUES__RULE,name:"OBJECT__TYPES_VALUES__RULE"},{rule:this._OBJECT__CONTAINS_KEYS__RULE,name:"OBJECT__CONTAINS_KEYS__RULE"},{rule:this._OBJECT__NO_CONTAINS_KEYS__RULE,name:"OBJECT__NO_CONTAINS_KEYS__RULE"},{rule:this._OBJECT__REGEXP_CONTAINS_KEYS__RULE,name:"OBJECT__REGEXP_CONTAINS_KEYS__RULE"},{rule:this._OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE,name:"OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE"},{rule:this._OBJECT__MIN__RULE,name:"OBJECT__MIN__RULE"},{rule:this._OBJECT__MAX__RULE,name:"OBJECT__MAX__RULE"},{rule:this._OBJECT__LESS__RULE,name:"OBJECT__LESS__RULE"},{rule:this._OBJECT__GREATER__RULE,name:"OBJECT__GREATER__RULE"},{rule:this._OBJECT__LENGTH__RULE,name:"OBJECT__LENGTH__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class L extends g{_types=[];_invalid_types=[];_CHOSEN_TYPE__RULE=void 0;constructor(e="fr"){super(e)}chosenTypes(){let r=i=>{try{let e={valid:!0,data:i,error:void 0},t=void 0,r=void 0;var a,_=[];for(a of this._types){let e=i;null==i&&(e=(void 0!==a.get_default()?a:this).get_default());var o=a.label(this.get_label()).validate(e);if(_.push(o),o.valid){t=o;break}r=o}return t?e=t:r&&(e=r),e}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}};var e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};return this.addRule(e),this._CHOSEN_TYPE__RULE=e,this}choices(...e){let i=JSON.stringify(""+this.get_label());var t;if(!Array.isArray(e)||0===e.length)return this.addRule(t=e=>({valid:!1,data:void 0,error:new Error({fr:i+" a un ou plusieurs types invalides pour analyse",en:i+" has one or more invalid types for analysis"}[this.get_lang()])})),this._CHOSEN_TYPE__RULE=t,this;var a=[];for(let r of e){if(!U(r))return this.addRule(_=e=>{var t=""+r;return{valid:!1,data:void 0,error:new Error({fr:`${i} a un ou plusieurs types invalides (${u(t)}) pour analyse`,en:`${i} has one or more invalid types (${u(t)}) for analysis`}[this.get_lang()])}}),this._CHOSEN_TYPE__RULE=_,this;var _=r.label(this.get_label());void 0===_.get_default()&&_.default(this.get_default()),a.push(_)}return this._types=a,this.chosenTypes()}types(){return this._types}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.chosenTypesValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}chosenTypesValidation(t){try{let e=void 0;if(void 0!==this._CHOSEN_TYPE__RULE){var r=this._CHOSEN_TYPE__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="CHOSEN_TYPES__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class c extends g{_choices=[];_ENUM__RULE=void 0;constructor(e="fr"){super(e)}enum(){var e=e=>{let t=t=>this._choices.some(e=>e===t)||void 0===t;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),i=this._choices.map(e=>`"${e}"`).join(" ou "),new Error({fr:r+` ne correspond à aucune de ses valeurs (${i})`,en:r+` does not correspond to any of its values (${i})`}[this.get_lang()]))}};return this.addRule(e),this._ENUM__RULE=e,this}choices(...e){return this._choices=Array.isArray(e)&&0<e.length?[...e]:[],this.enum()}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.enumValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}enumValidation(t){try{let e=void 0;if(void 0!==this._ENUM__RULE){var r=this._ENUM__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="ENUM__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class T extends g{_choices=[];_NOT_ENUM__RULE=void 0;constructor(e="fr"){super(e)}notEnum(){var e=e=>{let t=t=>!this._choices.some(e=>e===t)||void 0===t;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),i=this._choices.map(e=>`"${e}"`).join(" ou "),new Error({fr:r+` ne doit pas correspondre à une de ses valeurs (${i})`,en:r+` must not correspond to one of its values (${i})`}[this.get_lang()]))}};return this.addRule(e),this._NOT_ENUM__RULE=e,this}choices(...e){return this._choices=Array.isArray(e)&&0<e.length?[...e]:[],this.notEnum()}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.notEnumValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}notEnumValidation(t){try{let e=void 0;if(void 0!==this._NOT_ENUM__RULE){var r=this._NOT_ENUM__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="NOT_ENUM__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class M extends g{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_format=void 0;_dateFormat=e;_timeFormat=r;_enum_choices=[];_not_enum_choices=[];_STRING__RULE=void 0;_STRING__MIN__RULE=void 0;_STRING__MAX__RULE=void 0;_STRING__LESS__RULE=void 0;_STRING__GREATER__RULE=void 0;_STRING__LENGTH__RULE=void 0;_STRING__REGEXP__RULE=void 0;_STRING__ALPHANUM__RULE=void 0;_STRING__BASE64__RULE=void 0;_STRING__LOWERCASE__RULE=void 0;_STRING__UPPERCASE__RULE=void 0;_STRING__CAPITALIZE__RULE=void 0;_STRING__UC_FIRST__RULE=void 0;_STRING__CREDIT_CARD__RULE=void 0;_STRING__DATAURI__RULE=void 0;_STRING__DOMAIN__RULE=void 0;_STRING__URL__RULE=void 0;_STRING__HOSTNAME__RULE=void 0;_STRING__IP_ADDRESS__RULE=void 0;_STRING__EMAIL__RULE=void 0;_STRING__GUID__RULE=void 0;_STRING__HEXA__RULE=void 0;_STRING__BINARY__RULE=void 0;_STRING__DATE__RULE=void 0;_STRING__IDENTIFIER__RULE=void 0;_STRING__ENUM__RULE=void 0;_STRING__NOT_ENUM__RULE=void 0;constructor(e="fr"){super(e),this.string()}string(){var e=e=>{let a=e=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e||void 0===e;var e=void 0!==e?e:this.get_default(),t=a(e);return{valid:t,data:t?(e=>{if(a(e)){if(void 0===e)return;var t=E(e,"datetime",this._format),r=E(e,"date",this._format),i=E(e,"time",this._format);if(void 0===this._format&&(t?this.changeFormat(_):r?this.changeFormat(this._dateFormat):E(e,"time",this._format)&&this.changeFormat(this._timeFormat)),"string"==typeof e)return e;if(t||r||i)return f.parse(e,this._format).format(this._format)}return e})(e):void 0,error:t?void 0:a(t=e)?new Error("Unknown error"):(t=JSON.stringify(""+this.get_label()),new Error({fr:t+" n'est pas une chaîne de caractères",en:t+" is not a string"}[this.get_lang()]))}};return this.addRule(e),this._STRING__RULE=e,this}min(a){var e=e=>{let t=e=>"string"==typeof e&&e.length>=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au minimum `+a,en:`the size of ${r} must be at least `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__MIN__RULE=e,this}max(a){var e=e=>{let t=e=>"string"==typeof e&&e.length<=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au maximum `+a,en:`the size of ${r} must be maximum `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__MAX__RULE=e,this}less(a){var e=e=>{let t=e=>"string"==typeof e&&e.length>a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être inférieure à `+a,en:`the size of ${r} must be less than `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__LESS__RULE=e,this}greater(a){var e=e=>{let t=e=>"string"==typeof e&&e.length<a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être supérieure à `+a,en:`the size of ${r} must be greater than `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__GREATER__RULE=e,this}length(a){var e=e=>{let t=e=>"string"==typeof e&&e.length===a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__LENGTH__RULE=e,this}regexp(e,t=void 0,a=void 0){let _;_=e instanceof RegExp?e:"string"==typeof e&&0<e.length?t?new RegExp(e,t):new RegExp(e):/.*/;t=e=>{let t=e=>"string"==typeof e&&_.test(e)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(i={fr:(r=JSON.stringify(""+this.get_label()))+" ne respecte pas la règle appliquée",en:r+" does not respect the rule applied"}[this.get_lang()],new Error(a&&a(this.getLang(),r)[this.get_lang()]||i))}};return this.addRule(t),this._STRING__REGEXP__RULE=t,this}alphanum(){return this.regexp(/^[\w\s]+$/,void 0,(e,t)=>({fr:t+" n'est pas de type alphanumérique",en:t+" is not alphanumeric"}))}base64(e=!0,t=!0){t=t?"\\-":"\\+";return this.regexp(`^(?:[A-Za-z0-9${t}/]{4})*(?:[A-Za-z0-9${t}/]{2}==|[A-Za-z0-9${t}/]{3}${e?"=":"(={0,1})"}|[A-Za-z0-9${t}/]{4})$`,void 0,(e,t)=>({fr:t+" n'a pas un format base64 valide",en:t+" does not have a valid base64 format"}))}lowercase(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===e.toLowerCase()||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).toLowerCase():void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas en minuscule",en:r+" is not lowercase"}[this.get_lang()]))}};return this.addRule(e),this._STRING__LOWERCASE__RULE=e,this}uppercase(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===e.toUpperCase()||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).toUpperCase():void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas en majuscule",en:r+" is not uppercase"}[this.get_lang()]))}};return this.addRule(e),this._STRING__UPPERCASE__RULE=e,this}capitalize(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===(""+e).replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()):void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas en lettre capitale",en:r+" is not capitalized"}[this.get_lang()]))}};return this.addRule(e),this._STRING__CAPITALIZE__RULE=e,this}ucFirst(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===(""+e).charAt(0).toUpperCase()+(""+e).slice(1)||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).charAt(0).toUpperCase()+(""+r).slice(1):void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'a pas de première lettre en majuscule",en:r+" does not have a capitalized first letter"}[this.get_lang()]))}};return this.addRule(e),this._STRING__UC_FIRST__RULE=e,this}creditCard(e=[]){let a={visa:/^(4[0-9]{12}(?:[0-9]{3}))$/,mastercard:/^((?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12})$/,"american-express":/^(3[47][0-9]{13})$/,discover:/^(6(?:011|5[0-9]{2})[0-9]{12})$/,"diners-club":/^(3(?:0[0-5]|[68][0-9])[0-9]{11})$/,jcb:/^((?:2131|1800|35\d{3})\d{11})$/},t=["mastercard","visa","american-express","discover","diners-club","jcb"],_=e.filter(e=>t.includes(e));e=e=>{let t=t=>"string"!=typeof t||void 0===t?void 0===t:0===_.length?Object.values(a).some(e=>e.test(t)):_.some(e=>a[e]&&a[e].test(t));var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'une carte de crédit",en:r+" is not a string in the format of a credit card"}[this.get_lang()]))}};return this.addRule(e),this._STRING__CREDIT_CARD__RULE=e,this}dataUri(){return this.regexp(/^data:([\w\/\+]+);(charset=[\w-]+|base64).*,([a-zA-Z0-9+/]+={0,2})$/,void 0,(e,t)=>({fr:t+" n'a pas un format Data-URI valide",en:t+" does not have a valid Data-URI format"}))}domain(){return this.regexp(/^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/,void 0,(e,t)=>({fr:t+" n'est pas un domaine valide",en:t+" is not a valid domain"}))}url(){var e=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i");return this.regexp(e)}hostname(){let a=/^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/,_=/^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$/;var e=e=>{let t=e=>"string"==typeof e&&(a.test(e)||_.test(e))||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'un nom d'hôte valide",en:r+" is not a string in the format of a valid hostname"}[this.get_lang()]))}};return this.addRule(e),this._STRING__HOSTNAME__RULE=e,this}IPAddress(e=[]){let a={ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,ipv6:new RegExp(["^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$","^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}$","^[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4}$","^[0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:)?[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4}::[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}::$"].join("|"))},t=["ipv4","ipv6"],_=e.filter(e=>t.includes(e));e=e=>{let t=t=>"string"!=typeof t||void 0===t?void 0===t:0===_.length?a.ipv4.test(t)||a.ipv6.test(t):_.some(e=>a[e]&&a[e].test(t));var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'une adresse IP valide",en:r+" is not a string in the format of a valid IP address"}[this.get_lang()]))}};return this.addRule(e),this._STRING__IP_ADDRESS__RULE=e,this}email(){let a=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/,_=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;var e=e=>{let t=e=>"string"==typeof e&&(a.test(e)||_.test(e))||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'un email valide",en:r+" is not a string in the format of a valid email"}[this.get_lang()]))}};return this.addRule(e),this._STRING__EMAIL__RULE=e,this}guid(e=[]){let a={v1:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v2:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[2][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v3:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[3][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v4:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[4][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v5:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[5][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/},t=["v1","v2","v3","v4","v5"],_=e.filter(e=>t.includes(e));e=e=>{let t=t=>"string"!=typeof t||void 0===t?void 0===t:0===_.length?Object.values(a).some(e=>e.test(t)):_.some(e=>a[e]&&a[e].test(t));var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format GUID valide",en:r+" is not a string in valid GUID format"}[this.get_lang()]))}};return this.addRule(e),this._STRING__GUID__RULE=e,this}hexa(e=!1){return this.regexp(e?/^[0-9a-fA-F]+$/:/^[0-9A-F]+$/,void 0,(e,t)=>({fr:t+" n'a pas un format hexadecimal valide",en:t+" does not have a valid hexadecimal format"}))}binary(){return this.regexp(/^[01]+$/,void 0,(e,t)=>({fr:t+" n'a pas un format binaire valide",en:t+" does not have a valid binary format"}))}date(e=void 0){let a=e&&0<e.length?e:_;e=e=>{let t=e=>"string"==typeof e&&d(e,a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'une date valide",en:r+" is not a string in the format of a valid date"}[this.get_lang()]))}};return this.addRule(e),this._STRING__DATE__RULE=e,this}identifier(){return this.regexp(/^[a-zA-Z]{1,}\w{0,}$/,void 0,(e,t)=>({fr:t+" n'est pas un identifiant valide",en:t+" is not a valid identifier"}))}enum(...e){this.enumChoices(...e);e=e=>{let t=e=>this._enum_choices.includes(e)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" est d'un type invalide",en:r+" is of an invalid type"}[this.get_lang()]))}};return this.addRule(e),this._STRING__ENUM__RULE=e,this}enumChoices(...e){return this._enum_choices=Array.isArray(e)&&0<e.length?[...e]:[],this}notEnum(...e){this.notEnumchoices(...e);e=e=>{let t=e=>!this._not_enum_choices.includes(e)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" est d'un type invalide",en:r+" is of an invalid type"}[this.get_lang()]))}};return this.addRule(e),this._STRING__NOT_ENUM__RULE=e,this}notEnumchoices(...e){return this._not_enum_choices=Array.isArray(e)&&0<e.length?[...e]:[],this}changeFormat(e){return"string"==typeof e&&0<e.length&&(this._format=e),this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.stringValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}stringValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._STRING__RULE,name:"STRING__RULE"},{rule:this._STRING__MIN__RULE,name:"STRING__MIN__RULE"},{rule:this._STRING__MAX__RULE,name:"STRING__MAX__RULE"},{rule:this._STRING__LESS__RULE,name:"STRING__LESS__RULE"},{rule:this._STRING__GREATER__RULE,name:"STRING__GREATER__RULE"},{rule:this._STRING__LENGTH__RULE,name:"STRING__LENGTH__RULE"},{rule:this._STRING__REGEXP__RULE,name:"STRING__REGEXP__RULE"},{rule:this._STRING__ALPHANUM__RULE,name:"STRING__ALPHANUM__RULE"},{rule:this._STRING__BASE64__RULE,name:"STRING__BASE64__RULE"},{rule:this._STRING__LOWERCASE__RULE,name:"STRING__LOWERCASE__RULE"},{rule:this._STRING__UPPERCASE__RULE,name:"STRING__UPPERCASE__RULE"},{rule:this._STRING__CAPITALIZE__RULE,name:"STRING__CAPITALIZE__RULE"},{rule:this._STRING__UC_FIRST__RULE,name:"STRING__UC_FIRST__RULE"},{rule:this._STRING__CREDIT_CARD__RULE,name:"STRING__CREDIT_CARD__RULE"},{rule:this._STRING__DATAURI__RULE,name:"STRING__DATAURI__RULE"},{rule:this._STRING__DOMAIN__RULE,name:"STRING__DOMAIN__RULE"},{rule:this._STRING__URL__RULE,name:"STRING__URL__RULE"},{rule:this._STRING__HOSTNAME__RULE,name:"STRING__HOSTNAME__RULE"},{rule:this._STRING__IP_ADDRESS__RULE,name:"STRING__IP_ADDRESS__RULE"},{rule:this._STRING__EMAIL__RULE,name:"STRING__EMAIL__RULE"},{rule:this._STRING__GUID__RULE,name:"STRING__GUID__RULE"},{rule:this._STRING__HEXA__RULE,name:"STRING__HEXA__RULE"},{rule:this._STRING__BINARY__RULE,name:"STRING__BINARY__RULE"},{rule:this._STRING__DATE__RULE,name:"STRING__DATE__RULE"},{rule:this._STRING__IDENTIFIER__RULE,name:"STRING__IDENTIFIER__RULE"},{rule:this._STRING__ENUM__RULE,name:"STRING__ENUM__RULE"},{rule:this._STRING__NOT_ENUM__RULE,name:"STRING__NOT_ENUM__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class A extends g{_NUMBER__RULE=void 0;_NUMBER__MIN__RULE=void 0;_NUMBER__MAX__RULE=void 0;_NUMBER__LESS__RULE=void 0;_NUMBER__GREATER__RULE=void 0;_NUMBER__NEGATIVE__RULE=void 0;_NUMBER__POSITIVE__RULE=void 0;_NUMBER__SIGNED__RULE=void 0;_NUMBER__INTEGER__RULE=void 0;_NUMBER__DECIMAL__RULE=void 0;_NUMBER__MULTIPLE__RULE=void 0;_NUMBER__TCP_PORT__RULE=void 0;constructor(e="fr"){super(e),this.number()}number(){var e=e=>{let t=e=>v(e)||!R(e);var r,i,e=R(e)?e:this.get_default(),a=t(e);return{valid:a,data:a?t(r=e)&&(v(r)||!R(r))?(i=Number(r),Number.isInteger(i)?parseInt(r,10):parseFloat(r)):r:void 0,error:a?void 0:t(i=e)?new Error("Unknown error"):(i=JSON.stringify(""+this.get_label()),new Error({fr:i+" n'est pas un nombre",en:i+" is not a number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__RULE=e,this}min(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&a<=e||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être au minimum "+a,en:r+" must be at least "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__MIN__RULE=e,this}max(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&e<=a||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être au maximum "+a,en:r+" must be maximum "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__MAX__RULE=e,this}less(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&a<e||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être inférieure à "+a,en:r+" must be less than "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__LESS__RULE=e,this}greater(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&e<a||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être supérieur à "+a,en:r+" must be greater than "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__GREATER__RULE=e,this}negative(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&e<=0||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre negatif",en:r+" must be a negative number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__NEGATIVE__RULE=e,this}positive(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&0<=e||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre positif",en:r+" must be a positive number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__POSITIVE__RULE=e,this}signed(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&(0<e||e<0)||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être soit un nombre négatif soit un nombre positif",en:r+" must be either a negative number or a positive number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__SIGNED__RULE=e,this}integer(){var e=e=>{let t=e=>"number"==typeof e&&v(e)&&Number.isInteger(e)||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre entier valide",en:r+" must be a valid integer number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__INTEGER__RULE=e,this}decimal(){var e=e=>{let t=e=>"number"==typeof e&&v(e)||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre décimal valide",en:r+" must be a valid decimal number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__DECIMAL__RULE=e,this}multiple(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&e%a==0||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un multiple de "+a,en:r+" must be a multiple of "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__MULTIPLE__RULE=e,this}TCPPort(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&9<e&&e<=99999||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être au format d'un port TCP",en:r+" must be in the format of a TCP port"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__TCP_PORT__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.numberValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}numberValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._NUMBER__RULE,name:"NUMBER__RULE"},{rule:this._NUMBER__MIN__RULE,name:"NUMBER__MIN__RULE"},{rule:this._NUMBER__MAX__RULE,name:"NUMBER__MAX__RULE"},{rule:this._NUMBER__LESS__RULE,name:"NUMBER__LESS__RULE"},{rule:this._NUMBER__GREATER__RULE,name:"NUMBER__GREATER__RULE"},{rule:this._NUMBER__NEGATIVE__RULE,name:"NUMBER__NEGATIVE__RULE"},{rule:this._NUMBER__POSITIVE__RULE,name:"NUMBER__POSITIVE__RULE"},{rule:this._NUMBER__SIGNED__RULE,name:"NUMBER__SIGNED__RULE"},{rule:this._NUMBER__INTEGER__RULE,name:"NUMBER__INTEGER__RULE"},{rule:this._NUMBER__DECIMAL__RULE,name:"NUMBER__DECIMAL__RULE"},{rule:this._NUMBER__MULTIPLE__RULE,name:"NUMBER__MULTIPLE__RULE"},{rule:this._NUMBER__TCP_PORT__RULE,name:"NUMBER__TCP_PORT__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class S extends g{_trueValues=["true","t","1",1,!0];_falseValues=["false","f","0",0,!1];_BOOLEAN__RULE=void 0;constructor(e="fr"){super(e),this.boolean()}boolean(){var e=e=>{let i=e=>{return e=e,t=[...this._trueValues,...this._falseValues],r=!1,"boolean"==typeof e||t.includes(e)||"string"==typeof e&&t.includes(e.toLowerCase())||!e&&!r;var t,r};var e=R(e)?e:this.get_default(),t=i(e);return{valid:t,data:t?(t=>{if(i(t)){var r=t;let e=r;return"boolean"==typeof r?e=r:void 0!==r&&["true","t","1","false","f","0"].includes((""+r).toLowerCase())&&(e=["true","t","1"].includes((""+r).toLowerCase())),e}return t})(e):void 0,error:t?void 0:i(t=e)?new Error("Unknown error"):(t=JSON.stringify(""+this.get_label()),new Error({fr:t+" n'est pas un booléen",en:t+" is not a boolean"}[this.get_lang()]))}};return this.addRule(e),this._BOOLEAN__RULE=e,this}required(e=!0){e="boolean"!=typeof e||e;var t=e=>{let t=e=>null!=e||"boolean"==typeof e;var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" est requis",en:r+" is required"}[this.get_lang()]))}};return this.addRule(t),this._PRIMARY__REQUIRED__RULE=e?t:void 0,this}trueValues(e){e=Array.isArray(e)?e:[];return 0<e.length&&(this._trueValues=[...e]),this}falseValues(e){e=Array.isArray(e)?e:[];return 0<e.length&&(this._falseValues=[...e]),this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.booleanValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}booleanValidation(t){try{let e=void 0;if(void 0!==this._BOOLEAN__RULE){var r=this._BOOLEAN__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="BOOLEAN__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}getMapError(){return l}}class N extends g{_timezone=void 0;_format=void 0;_dateFormat=e;_timeFormat=r;_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_equalValue=void 0;_DATE__RULE=void 0;_DATE__MIN__RULE=void 0;_DATE__MAX__RULE=void 0;_DATE__LESS__RULE=void 0;_DATE__GREATER__RULE=void 0;_DATE__EQUAL_TO__RULE=void 0;_DATE__TO_DATE__RULE=void 0;_DATE__TO_TIME__RULE=void 0;constructor(e="fr"){super(e),this.date()}date(){var e=e=>{let t=e=>{return[t,r=void 0,i=_]=[e,void 0,this._format],i="string"==typeof i&&0<i.length?i:void 0,a=Object.keys(h),(r=[...a,"undefined","string"].includes(r||"")?r:void 0)&&a.includes(r||"")&&(i=h[r]),f.parse(t,i).isCorrect(),"string"==typeof i&&0<i.length&&f.parse(t,i).isCorrect()||"string"===r&&"string"==typeof t&&0<t.length&&void 0!==i&&f.parse(t,i).isCorrect()||void 0===e;var t,r,i,a};var e=R(e)?e:this.get_default(),r=t(e);return{valid:r,data:r?(t=>{if(null==t)return t;{void 0===this._format&&this.changeFormat(_);let e;if("string"==typeof t&&d(t,this._format))e=f.parse(t,this._format);else if(t instanceof Date)e=new f(t);else{if(!(t instanceof f))return t;e=t}return(e=void 0!==this._timezone?e.setTimezone(this._timezone):e).toDate()}})(e):void 0,error:r?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une date",en:r+" is not a date"}[this.get_lang()]))}};return this.addRule(e),this._DATE__RULE=e,this}min(a){var e=e=>{let r=f.parse(a,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._minValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"[)")});var e=R(e)?e:this.get_default(),t=i(e);return{valid:t,data:t?e:void 0,error:t?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be at least "+r.format();return e=void 0!==this._maxValue?{fr:`${t} doit être compris entre ${r.format()} et `+f.parse(this._maxValue).format(),en:`${t} must be between ${r.format()} and `+f.parse(this._maxValue).format()}[this.get_lang()]||e:{fr:t+" doit être au minimum "+r.format(),en:t+" must be at least "+r.format()}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__MIN__RULE=e,this}max(_){var e=e=>{let r=f.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._maxValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"(]")});var t,e=R(e)?e:this.get_default(),a=i(e);return{valid:a,data:a?(i(t=e),t):void 0,error:a?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be maximum "+this._maxValue;return e=void 0!==this._minValue?{fr:`${t} doit être compris entre ${this._minValue} et `+this._maxValue,en:`${t} must be between ${this._minValue} and `+this._maxValue}[this.get_lang()]||e:{fr:t+" doit être au maximum "+this._maxValue,en:t+" must be maximum "+this._maxValue}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__MAX__RULE=e,this}less(_){var e=e=>{let r=f.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._lessValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"()")});var t,e=R(e)?e:this.get_default(),a=i(e);return{valid:a,data:a?(i(t=e),t):void 0,error:a?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be less than "+this._lessValue;return e=void 0!==this._greaterValue?{fr:`${t} doit être inférieure à ${this._lessValue} et superieure à `+this._greaterValue,en:`${t} must be less than ${this._lessValue} and greater than `+this._greaterValue}[this.get_lang()]||e:{fr:t+" doit être inferieure à "+this._lessValue,en:t+" must be less than "+this._lessValue}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__LESS__RULE=e,this}greater(_){var e=e=>{let r=f.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._greaterValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"()")});var t,e=R(e)?e:this.get_default(),a=i(e);return{valid:a,data:a?(i(t=e),t):void 0,error:a?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be greater than "+this._greaterValue;return e=void 0!==this._lessValue?{fr:`${t} doit être inférieure à ${this._lessValue} et superieure à `+this._greaterValue,en:`${t} must be less than ${this._lessValue} and greater than `+this._greaterValue}[this.get_lang()]||e:{fr:t+" doit être supérieur à "+this._greaterValue,en:t+" must be greater than "+this._greaterValue}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__GREATER__RULE=e,this}equalTo(_){var e=e=>{let r=f.parse(_,this._format),t=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._equalValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isSame(r)});var i,e=R(e)?e:this.get_default(),a=t(e);return{valid:a,data:a?(t(i=e),i):void 0,error:a?void 0:t(i=e)?new Error("Unknown error"):(i={fr:(i=JSON.stringify(""+this.get_label()))+" doit être égale à "+this._equalValue,en:i+" must be equal to "+this._equalValue}[this.get_lang()],new Error(i))}};return this.addRule(e),this._DATE__EQUAL_TO__RULE=e,this}changeFormat(e){return"string"==typeof e&&0<e.length&&(this._format=e),this}changeTimezone(e){return null!=e&&(this._timezone=e),this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.dateValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}dateValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._DATE__RULE,name:"DATE__RULE"},{rule:this._DATE__MIN__RULE,name:"DATE__MIN__RULE"},{rule:this._DATE__MAX__RULE,name:"DATE__MAX__RULE"},{rule:this._DATE__LESS__RULE,name:"DATE__LESS__RULE"},{rule:this._DATE__GREATER__RULE,name:"DATE__GREATER__RULE"},{rule:this._DATE__EQUAL_TO__RULE,name:"DATE__EQUAL_TO__RULE"},{rule:this._DATE__TO_DATE__RULE,name:"DATE__TO_DATE__RULE"},{rule:this._DATE__TO_TIME__RULE,name:"DATE__TO_TIME__RULE"}])if(void 0!==r){var a=e?.data||t,_=r(a);if(R(_)&&(e=_),i,R(e)&&e&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class O extends g{_ANY_TYPE__RULE=void 0;constructor(e="fr"){super(e),this.anyType()}anyType(){var e=e=>{e=void 0!==e?e:this.get_default();return{valid:!0,data:e,error:void 0}};return this.addRule(e),this._ANY_TYPE__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.anyTypeValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}anyTypeValidation(t){try{let e=void 0;if(void 0!==this._ANY_TYPE__RULE){var r=this._ANY_TYPE__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="ANY_TYPE__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class y extends g{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_FILE__RULE=void 0;_FILE__MIN__RULE=void 0;_FILE__MAX__RULE=void 0;_FILE__LESS__RULE=void 0;_FILE__GREATER__RULE=void 0;_FILE__LENGTH__RULE=void 0;constructor(e="fr"){super(e),this.file()}file(){var e=e=>{let r=e=>e instanceof Blob||e instanceof File||"string"==typeof e&&new M(this._lang).dataUri().isValid(e)||void 0===e;var e=void 0!==e?e:this.get_default(),t=r(e);return{valid:t,data:t?(e=>{if(r(e)){var t=JSON.stringify(""+this.get_label());if(void 0===e)return;if(e instanceof Blob||e instanceof File)return e;if("string"==typeof e&&new M(this._lang).dataUri().isValid(e))return this.dataUrlToFile(e,t.replace(/[^a-zA-Z0-9]/g,""))}return e})(e):void 0,error:t?void 0:r(t=e)?new Error("Unknown error"):(t=JSON.stringify(""+this.get_label()),new Error({fr:t+" n'est pas un fichier",en:t+" is not a file"}[this.get_lang()]))}};return this.addRule(e),this._FILE__RULE=e,this}min(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size>=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au minimum `+a,en:`the size of ${r} must be at least `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__MIN__RULE=e,this}max(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size<=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au maximum `+a,en:`the size of ${r} must be maximum `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__MAX__RULE=e,this}less(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size>a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être inférieure à `+a,en:`the size of ${r} must be less than `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__LESS__RULE=e,this}greater(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size<a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être supérieure à `+a,en:`the size of ${r} must be greater than `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__GREATER__RULE=e,this}length(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size===a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__LENGTH__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.fileValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}fileValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._FILE__RULE,name:"FILE__RULE"},{rule:this._FILE__MIN__RULE,name:"FILE__MIN__RULE"},{rule:this._FILE__MAX__RULE,name:"FILE__MAX__RULE"},{rule:this._FILE__LESS__RULE,name:"FILE__LESS__RULE"},{rule:this._FILE__GREATER__RULE,name:"FILE__GREATER__RULE"},{rule:this._FILE__LENGTH__RULE,name:"FILE__LENGTH__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}dataUrlToFile(e,t="file"){var e=e.split(","),r=e[0].match(/:(.*?);/);if(!r)throw new Error("Le DataURL ne contient pas de MIME valide");var r=r[1],i={"image/jpeg":"jpg","image/png":"png","image/gif":"gif","image/webp":"webp","image/bmp":"bmp","image/tiff":"tif","image/svg+xml":"svg","image/x-icon":"ico","image/heic":"heic","image/heif":"heif","image/avif":"avif","video/mp4":"mp4","video/webm":"webm","video/ogg":"ogv","video/x-msvideo":"avi","video/quicktime":"mov","video/mpeg":"mpeg","video/x-matroska":"mkv","audio/mpeg":"mp3","audio/ogg":"ogg","audio/wav":"wav","audio/webm":"weba","audio/aac":"aac","audio/flac":"flac","audio/opus":"opus","application/pdf":"pdf","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.ms-excel":"xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","text/plain":"txt","text/csv":"csv","text/rtf":"rtf","application/epub+zip":"epub","text/html":"html","text/css":"css","text/javascript":"js","application/javascript":"js","application/json":"json","application/xml":"xml","text/xml":"xml","application/zip":"zip","application/gzip":"gz","application/x-tar":"tar","application/x-rar-compressed":"rar","application/x-7z-compressed":"7z","application/x-bzip2":"bz2","application/x-xz":"xz","text/x-python":"py","text/x-c":"c","text/x-c++":"cpp","text/x-java-source":"java","application/java-archive":"jar","application/x-sh":"sh","application/x-bat":"bat","text/x-php":"php","text/x-typescript":"ts","application/x-sql":"sql","font/ttf":"ttf","font/otf":"otf","font/woff":"woff","font/woff2":"woff2","application/octet-stream":"bin","application/x-executable":"exe","application/x-dosexec":"exe","application/x-msdownload":"msi","application/x-iso9660-image":"iso"}[r]||r.split("/")[1]||"bin",a=atob(e[1]),_=a.length,o=new Uint8Array(_);for(let e=0;e<_;e++)o[e]=a.charCodeAt(e);e=`${t}-${Date.now()}.`+i;return new File([o],e,{type:r})}}return a={String:M,Number:A,Boolean:S,Date:N,Enum:c,NotEnum:T,Array:m,File:y,Object:p,ChosenType:L,AnyType:O},"undefined"!=typeof window&&(window.JON=a),i={default:a,String:M,Number:A,Boolean:S,Date:N,File:y,Enum:c,NotEnum:T,Array:m,Object:p,ChosenType:L,AnyType:O}})(),StringElementGF=globalFunct.String,NumberElementGF=globalFunct.Number,BooleanElementGF=globalFunct.Boolean,DateElementGF=globalFunct.Date,FileElementGF=globalFunct.File,EnumElementGF=globalFunct.Enum,NotEnumElementGF=globalFunct.NotEnum,ArrayElementGF=globalFunct.Array,ObjectElementGF=globalFunct.Object,ChosenTypeElementGF=globalFunct.ChosenType,AnyTypeElementGF=globalFunct.AnyType,defaultElementGF=globalFunct.default;
|
|
1
|
+
let globalFunct=(()=>{let t=["en","fr"],_="%Y-%m-%dT%H:%M:%S.%fZ";var e="%Y/%m/%d",r="%H:%M:%S.%f",i=["0","1","2","3","4","5","6","7","8","9"],a=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],o=[...a,...a.map(e=>e.toUpperCase())];function n(e){return t.includes(e)?e:"fr"}function s(e){return e}function u(e,t=15,r=!1){r="boolean"==typeof r&&r;e=""+e;return e.length>(t="number"==typeof t&&0<t?t:15)?r?"..."+e.slice(-t):e.slice(0,t)+"...":e}function l(e,t,r=0,i,a){return e}function d(e,t){let r=!1;try{r=f.parse(e,t).isCorrect()}catch(e){r=!1}return r}[...i,...a],[...i,...o];let h={datetime:_,date:e,time:r};function R(e){return!(null==e||"number"==typeof e&&isNaN(e))}function E(e,t=void 0,r=void 0){r="string"==typeof r&&0<r.length?r:void 0;var i=Object.keys(h);return(t=[...i,"undefined","other"].includes(t||"")?t:void 0)&&i.includes(t||"")&&(r=h[t]),!("boolean"==typeof e)&&!e||"string"==typeof r&&0<r.length&&f.parse(e,r).isCorrect()||("other"===t||void 0===t)&&typeof e in["string","number","boolean"]||"undefined"===t&&void 0===e}function v(e){let t=!0;try{var r;void 0!==e&&(r=Number(e),t=!isNaN(r)&&isFinite(r))}catch{t=!1}return t}class g{_label=void 0;_lang="fr";_default=void 0;_rules=[];_value=void 0;_default_error=void 0;map=void 0;preMap=void 0;_mapError={map:l};_errMsgs=void 0;_PRIMARY__REQUIRED__RULE=void 0;_PRIMARY__ENUM__RULE=void 0;_PRIMARY__ENUM_NOT__RULE=void 0;_PRIMARY__CUSTOM01__RULE=void 0;_PRIMARY__CUSTOM02__RULE=void 0;_PRIMARY__CUSTOM03__RULE=void 0;_PRIMARY__CUSTOM04__RULE=void 0;_PRIMARY__CUSTOM05__RULE=void 0;_PRIMARY__CUSTOM06__RULE=void 0;_PRIMARY__CUSTOM07__RULE=void 0;_PRIMARY__CUSTOM08__RULE=void 0;_PRIMARY__CUSTOM09__RULE=void 0;_PRIMARY__CUSTOM10__RULE=void 0;_PRIMARY__CUSTOM11__RULE=void 0;_PRIMARY__CUSTOM12__RULE=void 0;_PRIMARY__CUSTOM13__RULE=void 0;_PRIMARY__CUSTOM14__RULE=void 0;_PRIMARY__CUSTOM15__RULE=void 0;_PRIMARY__CUSTOM16__RULE=void 0;_PRIMARY__CUSTOM17__RULE=void 0;_PRIMARY__CUSTOM18__RULE=void 0;_PRIMARY__CUSTOM19__RULE=void 0;_PRIMARY__CUSTOM20__RULE=void 0;_PRIMARY__CUSTOM21__RULE=void 0;_PRIMARY__CUSTOM22__RULE=void 0;_PRIMARY__CUSTOM23__RULE=void 0;_PRIMARY__CUSTOM24__RULE=void 0;_PRIMARY__CUSTOM25__RULE=void 0;_PRIMARY__CUSTOM26__RULE=void 0;_PRIMARY__CUSTOM27__RULE=void 0;_PRIMARY__CUSTOM28__RULE=void 0;_PRIMARY__CUSTOM29__RULE=void 0;_PRIMARY__CUSTOM30__RULE=void 0;_PRIMARY__CUSTOM31__RULE=void 0;_PRIMARY__CUSTOM32__RULE=void 0;_PRIMARY__CUSTOM33__RULE=void 0;_PRIMARY__CUSTOM34__RULE=void 0;_PRIMARY__CUSTOM35__RULE=void 0;_PRIMARY__CUSTOM36__RULE=void 0;_PRIMARY__CUSTOM37__RULE=void 0;_PRIMARY__CUSTOM38__RULE=void 0;_PRIMARY__CUSTOM39__RULE=void 0;_PRIMARY__CUSTOM40__RULE=void 0;_PRIMARY__CUSTOM41__RULE=void 0;_PRIMARY__CUSTOM42__RULE=void 0;_PRIMARY__CUSTOM43__RULE=void 0;_PRIMARY__CUSTOM44__RULE=void 0;_PRIMARY__CUSTOM45__RULE=void 0;_PRIMARY__CUSTOM46__RULE=void 0;_PRIMARY__CUSTOM47__RULE=void 0;_PRIMARY__CUSTOM48__RULE=void 0;_PRIMARY__CUSTOM49__RULE=void 0;_PRIMARY__CUSTOM50__RULE=void 0;_errorRule=void 0;constructor(e="fr"){this._lang=n(e)}applyApp(a=e=>!!e,_=e=>e,o=void 0){let t=e=>{let t=e=>a(e);var e=void 0!==e?e:this._default,r=t(e),i=r?t(i=e)?_(i):i:void 0,e=(this._value=i,r?void 0:(e=>{if(t(e))return new Error("Unknown error");{let t=void 0;try{t=o&&o(this.get_label())}catch(e){t=o}return t instanceof Error?t:"string"==typeof t&&0<t.length?new Error(t):"object"==typeof t&&void 0!==t&&this.get_lang()in t?new Error(t[this.get_lang()]):new Error({fr:"Erreur inconnue",en:"Unknown error"}[this.get_lang()])}})(e));return{valid:r,data:i,error:e}};this.addRule(t);return(()=>{var e;for(e of["_PRIMARY__CUSTOM01__RULE","_PRIMARY__CUSTOM02__RULE","_PRIMARY__CUSTOM03__RULE","_PRIMARY__CUSTOM04__RULE","_PRIMARY__CUSTOM05__RULE","_PRIMARY__CUSTOM06__RULE","_PRIMARY__CUSTOM07__RULE","_PRIMARY__CUSTOM08__RULE","_PRIMARY__CUSTOM09__RULE","_PRIMARY__CUSTOM10__RULE","_PRIMARY__CUSTOM11__RULE","_PRIMARY__CUSTOM12__RULE","_PRIMARY__CUSTOM13__RULE","_PRIMARY__CUSTOM14__RULE","_PRIMARY__CUSTOM15__RULE","_PRIMARY__CUSTOM16__RULE","_PRIMARY__CUSTOM17__RULE","_PRIMARY__CUSTOM18__RULE","_PRIMARY__CUSTOM19__RULE","_PRIMARY__CUSTOM20__RULE","_PRIMARY__CUSTOM21__RULE","_PRIMARY__CUSTOM22__RULE","_PRIMARY__CUSTOM23__RULE","_PRIMARY__CUSTOM24__RULE","_PRIMARY__CUSTOM25__RULE","_PRIMARY__CUSTOM26__RULE","_PRIMARY__CUSTOM27__RULE","_PRIMARY__CUSTOM28__RULE","_PRIMARY__CUSTOM29__RULE","_PRIMARY__CUSTOM30__RULE","_PRIMARY__CUSTOM31__RULE","_PRIMARY__CUSTOM32__RULE","_PRIMARY__CUSTOM33__RULE","_PRIMARY__CUSTOM34__RULE","_PRIMARY__CUSTOM35__RULE","_PRIMARY__CUSTOM36__RULE","_PRIMARY__CUSTOM37__RULE","_PRIMARY__CUSTOM38__RULE","_PRIMARY__CUSTOM39__RULE","_PRIMARY__CUSTOM40__RULE","_PRIMARY__CUSTOM41__RULE","_PRIMARY__CUSTOM42__RULE","_PRIMARY__CUSTOM43__RULE","_PRIMARY__CUSTOM44__RULE","_PRIMARY__CUSTOM45__RULE","_PRIMARY__CUSTOM46__RULE","_PRIMARY__CUSTOM47__RULE","_PRIMARY__CUSTOM48__RULE","_PRIMARY__CUSTOM49__RULE","_PRIMARY__CUSTOM50__RULE"])if(void 0===this[e]){this[e]=t;break}})(),this}required(e=!0){e="boolean"!=typeof e||e;var t=e=>{let t=e=>void 0!==e;var e=void 0!==e?e:this._default,r=t(e),i=r?(t(i=e),i):void 0,e=(this._value=i,r?void 0:t(e=e)?new Error("Unknown error"):(e=JSON.stringify(""+this.get_label()),new Error({fr:e+" est requis",en:e+" is required"}[this.get_lang()])));return{valid:r,data:i,error:e}};return this.addRule(t),this._PRIMARY__REQUIRED__RULE=e?t:void 0,this}enum(...a){a=Array.isArray(a)?a:[];var e=e=>{let t=e=>!e||void 0===e||a.includes(e);var e=void 0!==e?e:this._default,r=t(e),i=r?(t(i=e),i):void 0,e=(this._value=i,r?void 0:t(e=e)?new Error("Unknown error"):(e=JSON.stringify(""+this.get_label()),new Error({fr:e+" correspond à aucun choix défini",en:e+" correspond to any defined choice"}[this.get_lang()])));return{valid:r,data:i,error:e}};return this.addRule(e),this._PRIMARY__ENUM__RULE=e,this}enumNot(...a){a=Array.isArray(a)?a:[];var e=e=>{let t=e=>!e||void 0===e||!a.includes(e);var e=void 0!==e?e:this._default,r=t(e),i=r?(t(i=e),i):void 0,e=(this._value=i,r?void 0:t(e=e)?new Error("Unknown error"):(e=JSON.stringify(""+this.get_label()),new Error({fr:e+" ne correspond à aucun choix défini",en:e+" does not correspond to any defined choice"}[this.get_lang()])));return{valid:r,data:i,error:e}};return this.addRule(e),this._PRIMARY__ENUM_NOT__RULE=e,this}get_default(){return this._default}set_default(e){this._default=e}get_lang(){return this._lang}set_lang(e){this._lang=n(e)}get_label(){return u("string"==typeof this._label&&0<this._label.length?this._label:{fr:"l'element",en:"the element"}[this._lang],30,!0)}set_label(e){this._label="string"==typeof e&&0<e.length?e:void 0}get_error(){return this._default_error}set_error(e){e instanceof Error?this._default_error=e:"string"==typeof e&&0<e.length?this._default_error=new Error(e):"object"==typeof e&&void 0!==e&&this.get_lang()in e&&(this._default_error=new Error(e[this.get_lang()]))}defaultError(e){return this.set_error(e),this}lang(e){return this.set_lang(e),this}label(e){return this.set_label(e),this}default(e){return this.set_default(e),this}getLang(){return this._lang}setLang(e){this._lang=n(e)}addRule(e){this._rules.push(e)}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a=this.primaryValidation(e?.data??t);return(e=a?a:e)&&!e.valid?(r=e.error,e.error=void 0!==this._default_error?this._default_error:e.error,this._mapError.map(e,r,this._errorRule,this.get_label(),this.getLang())):e?(e&&e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(i={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this._mapError.map(i,void 0,"NO_RULE__RULE",this.get_label(),this.getLang()))}catch(e){return this._mapError.map({data:void 0,valid:!1,error:""+e},void 0,"UNKNOWN__RULE",this.get_label(),this.getLang())}}isValid(e){this.validate(e);return this.validate(e).valid}error(e){return this.validate(e)?.error}sanitize(e){return this.validate(e)?.data}primaryValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._PRIMARY__REQUIRED__RULE,name:"REQUIRED__RULE"},{rule:this._PRIMARY__ENUM__RULE,name:"ENUM__RULE"},{rule:this._PRIMARY__ENUM_NOT__RULE,name:"ENUM_NOT__RULE"},{rule:this._PRIMARY__CUSTOM01__RULE,name:"CUSTOM01__RULE"},{rule:this._PRIMARY__CUSTOM02__RULE,name:"CUSTOM02__RULE"},{rule:this._PRIMARY__CUSTOM03__RULE,name:"CUSTOM03__RULE"},{rule:this._PRIMARY__CUSTOM04__RULE,name:"CUSTOM04__RULE"},{rule:this._PRIMARY__CUSTOM05__RULE,name:"CUSTOM05__RULE"},{rule:this._PRIMARY__CUSTOM06__RULE,name:"CUSTOM06__RULE"},{rule:this._PRIMARY__CUSTOM07__RULE,name:"CUSTOM07__RULE"},{rule:this._PRIMARY__CUSTOM08__RULE,name:"CUSTOM08__RULE"},{rule:this._PRIMARY__CUSTOM09__RULE,name:"CUSTOM09__RULE"},{rule:this._PRIMARY__CUSTOM10__RULE,name:"CUSTOM10__RULE"},{rule:this._PRIMARY__CUSTOM11__RULE,name:"CUSTOM11__RULE"},{rule:this._PRIMARY__CUSTOM12__RULE,name:"CUSTOM12__RULE"},{rule:this._PRIMARY__CUSTOM13__RULE,name:"CUSTOM13__RULE"},{rule:this._PRIMARY__CUSTOM14__RULE,name:"CUSTOM14__RULE"},{rule:this._PRIMARY__CUSTOM15__RULE,name:"CUSTOM15__RULE"},{rule:this._PRIMARY__CUSTOM16__RULE,name:"CUSTOM16__RULE"},{rule:this._PRIMARY__CUSTOM17__RULE,name:"CUSTOM17__RULE"},{rule:this._PRIMARY__CUSTOM18__RULE,name:"CUSTOM18__RULE"},{rule:this._PRIMARY__CUSTOM19__RULE,name:"CUSTOM19__RULE"},{rule:this._PRIMARY__CUSTOM20__RULE,name:"CUSTOM20__RULE"},{rule:this._PRIMARY__CUSTOM21__RULE,name:"CUSTOM21__RULE"},{rule:this._PRIMARY__CUSTOM22__RULE,name:"CUSTOM22__RULE"},{rule:this._PRIMARY__CUSTOM23__RULE,name:"CUSTOM23__RULE"},{rule:this._PRIMARY__CUSTOM24__RULE,name:"CUSTOM24__RULE"},{rule:this._PRIMARY__CUSTOM25__RULE,name:"CUSTOM25__RULE"},{rule:this._PRIMARY__CUSTOM26__RULE,name:"CUSTOM26__RULE"},{rule:this._PRIMARY__CUSTOM27__RULE,name:"CUSTOM27__RULE"},{rule:this._PRIMARY__CUSTOM28__RULE,name:"CUSTOM28__RULE"},{rule:this._PRIMARY__CUSTOM29__RULE,name:"CUSTOM29__RULE"},{rule:this._PRIMARY__CUSTOM30__RULE,name:"CUSTOM30__RULE"},{rule:this._PRIMARY__CUSTOM31__RULE,name:"CUSTOM31__RULE"},{rule:this._PRIMARY__CUSTOM32__RULE,name:"CUSTOM32__RULE"},{rule:this._PRIMARY__CUSTOM33__RULE,name:"CUSTOM33__RULE"},{rule:this._PRIMARY__CUSTOM34__RULE,name:"CUSTOM34__RULE"},{rule:this._PRIMARY__CUSTOM35__RULE,name:"CUSTOM35__RULE"},{rule:this._PRIMARY__CUSTOM36__RULE,name:"CUSTOM36__RULE"},{rule:this._PRIMARY__CUSTOM37__RULE,name:"CUSTOM37__RULE"},{rule:this._PRIMARY__CUSTOM38__RULE,name:"CUSTOM38__RULE"},{rule:this._PRIMARY__CUSTOM39__RULE,name:"CUSTOM39__RULE"},{rule:this._PRIMARY__CUSTOM40__RULE,name:"CUSTOM40__RULE"},{rule:this._PRIMARY__CUSTOM41__RULE,name:"CUSTOM41__RULE"},{rule:this._PRIMARY__CUSTOM42__RULE,name:"CUSTOM42__RULE"},{rule:this._PRIMARY__CUSTOM43__RULE,name:"CUSTOM43__RULE"},{rule:this._PRIMARY__CUSTOM44__RULE,name:"CUSTOM44__RULE"},{rule:this._PRIMARY__CUSTOM45__RULE,name:"CUSTOM45__RULE"},{rule:this._PRIMARY__CUSTOM46__RULE,name:"CUSTOM46__RULE"},{rule:this._PRIMARY__CUSTOM47__RULE,name:"CUSTOM47__RULE"},{rule:this._PRIMARY__CUSTOM48__RULE,name:"CUSTOM48__RULE"},{rule:this._PRIMARY__CUSTOM49__RULE,name:"CUSTOM49__RULE"},{rule:this._PRIMARY__CUSTOM50__RULE,name:"CUSTOM50__RULE"}])if(void 0!==r){var a=r(e?.data??t);if((e=a?a:e)&&!e.valid)return e.error=void 0!==this._default_error?this._default_error:e.error,this._errorRule=i,e}return e}catch(e){return{data:void 0,valid:!1,error:""+e}}}getMapError(){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},"map"in this._mapError?this._mapError.map:l}initMapError(e){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},this._mapError.map="function"==typeof e?e:l,this}applyPreMapping(e=s){return this.preMap=e,this}applyMapping(e=s){return this.map=e,this}getErrorRule(){return this._errorRule}}class f{_date;static FORMAT_TOKENS={"%Y":e=>e.year()?.toString().padStart(4,"0"),"%y":e=>e.year()?.toString().slice(-2).padStart(2,"0"),"%m":e=>e.month()?.toString().padStart(2,"0"),"%d":e=>e.date()?.toString().padStart(2,"0"),"%H":e=>e.hour()?.toString().padStart(2,"0"),"%M":e=>e.minute()?.toString().padStart(2,"0"),"%S":e=>e.second()?.toString().padStart(2,"0"),"%f":e=>e.millisecond()?.toString().padStart(3,"0"),"%z":e=>{e=e.utcOffset();if(e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+(Math.abs(e)%60).toString().padStart(2,"0")},"%s":e=>{e=e.valueOf();return e?Math.floor(e/1e3).toString():void 0}};static PREDEFINED_FORMATS={ISO:"%Y-%m-%dT%H:%M:%S.%fZ",ISO_DATE:"%Y-%m-%d",ISO_TIME:"%H:%M:%S.%fZ",COMPACT:"%Y%m%d%H%M%S",SLASH_DATETIME:"%Y/%m/%d %H:%M:%S.%fZ",SLASH_DATETIME_SEC:"%Y/%m/%d %H:%M:%S",SLASH_DATETIME_MIN:"%Y/%m/%d %H:%M",EUROPEAN:"%d/%m/%Y %H:%M:%S GMT%z",SLASH_DATE:"%Y/%m/%d",TIME_MICRO:"%H:%M:%S.%fZ",TIME_SEC:"%H:%M:%S",CUSTOM_GREETING:"[Bonjour celestin, ][la date actuelle est:: le] %d/%m/%Y [à] %H:%M:%S.%f[Z]"};constructor(e,t=!1){!1===this.dateChecker(e)?this._date=void 0:e instanceof f&&e&&e?._date?this._date=new Date(e?._date):e instanceof Date?this._date=new Date(e):"string"==typeof e?this._date=f.parseString(e,t):"number"==typeof e?this._date=new Date(e):null==e||"number"==typeof e&&isNaN(e)?this._date=new Date:this._date=void 0}static now(){return new f}static parse(e,t){return"string"==typeof t&&0<t.length&&(e instanceof f&&e&&e?._date||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e))&&f.parseWithFormat(e,t)||new f(e)}static unix(e){return new f(1e3*e)}static utc(){var e=new Date;return new f(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}year(){return this._date?.getFullYear()}month(){return this._date?this._date.getMonth()+1:void 0}date(){return this._date?.getDate()}hour(){return this._date?.getHours()}minute(){return this._date?.getMinutes()}second(){return this._date?.getSeconds()}millisecond(){return this._date?.getMilliseconds()}day(){return this._date?.getDay()}add(e,t){if(!this._date)return new f(void 0);var r=new Date(this._date);switch(t){case"years":r.setFullYear(r.getFullYear()+e);break;case"months":r.setMonth(r.getMonth()+e);break;case"days":r.setDate(r.getDate()+e);break;case"hours":r.setHours(r.getHours()+e);break;case"minutes":r.setMinutes(r.getMinutes()+e);break;case"seconds":r.setSeconds(r.getSeconds()+e);break;case"milliseconds":r.setMilliseconds(r.getMilliseconds()+e)}return new f(r)}subtract(e,t){return this.add(-e,t)}startOf(e){if(!this._date)return new f(void 0);var t=new Date(this._date);switch(e){case"year":t.setMonth(0,1),t.setHours(0,0,0,0);break;case"month":t.setDate(1),t.setHours(0,0,0,0);break;case"day":t.setHours(0,0,0,0);break;case"hour":t.setMinutes(0,0,0);break;case"minute":t.setSeconds(0,0);break;case"second":t.setMilliseconds(0)}return new f(t)}endOf(e){var t=this.startOf(e);switch(e){case"year":return t.add(1,"years").subtract(1,"milliseconds");case"month":return t.add(1,"months").subtract(1,"milliseconds");case"day":return t.add(1,"days").subtract(1,"milliseconds");case"hour":return t.add(1,"hours").subtract(1,"milliseconds");case"minute":return t.add(1,"minutes").subtract(1,"milliseconds");case"second":return t.add(1,"seconds").subtract(1,"milliseconds");default:return t}}isBefore(e,t="()"){t="]"===t[1],e=e instanceof f?e:new f(e);return!(!this._date||!e._date)&&(!t&&this._date<e._date||!!t&&this._date<=e._date)}isAfter(e,t="()"){t="["===t[0],e=e instanceof f?e:new f(e);return!(!this._date||!e._date)&&(!t&&this._date>e._date||!!t&&this._date>=e._date)}isSame(e,t){var r,e=e instanceof f?e:new f(e);return!t&&this._date&&e._date?this._date.getTime()===e._date.getTime():(r=t?this.startOf(t):void 0,e=t?e.startOf(t):void 0,!!(r&&r?._date&&e&&e?._date)&&r._date.getTime()===e._date.getTime())}isBetween(e,t,r="()"){var e=e instanceof f?e:new f(e),t=t instanceof f?t:new f(t),i="["===r[0],r="]"===r[1],i=i&&this.isSame(e)||this.isAfter(e),e=r&&this.isSame(t)||this.isBefore(t);return i&&e}format(e){if(!e)return this.toISOString();var t,r,i=f.PREDEFINED_FORMATS[e];if(i)return this.format(i);let a="",_=0;for(;_<e.length;)"["===e[_]?-1===(r=e.indexOf("]",_))?(a+=e[_],_++):(t=e.substring(_+1,r),a+=t,_=r+1):"%"===e[_]&&_+1<e.length?(t="%"+e[_+1],r=f.FORMAT_TOKENS[t],a+=r?r(this):t,_+=2):(a+=e[_],_++);return a}setTimezone(e){var t;return this._date?(t=this._date.getTimezoneOffset(),e=this.parseTimezoneOffset(e),e=new Date(this._date.getTime()+6e4*(e-t)),new f(e)):new f(void 0)}utc(){return this._date?new f(new Date(Date.UTC(this._date.getUTCFullYear(),this._date.getUTCMonth(),this._date.getUTCDate(),this._date.getUTCHours(),this._date.getUTCMinutes(),this._date.getUTCSeconds(),this._date.getUTCMilliseconds()))):new f(void 0)}local(){return this._date?new f(new Date(this._date.getFullYear(),this._date.getMonth(),this._date.getDate(),this._date.getHours(),this._date.getMinutes(),this._date.getSeconds(),this._date.getMilliseconds())):new f(void 0)}toString(){return this._date?.toString()}toISOString(){return this._date?.toISOString()}toDate(){return this._date?new Date(this._date):void 0}valueOf(){return this._date?.getTime()}unix(){return this._date?Math.floor(this._date.getTime()/1e3):void 0}utcOffset(){return this._date?-this._date.getTimezoneOffset():void 0}isCorrect(){return!!this._date&&!isNaN(this._date.getTime())}timezone(){if(this._date)try{return(new Intl.DateTimeFormat).resolvedOptions().timeZone||void 0}catch(e){return this.timezoneFromOffset()}}timezoneAbbr(){if(this._date)try{return new Intl.DateTimeFormat("en",{timeZoneName:"short"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type)?.value||void 0}catch(e){return this.timezoneAbbrFromOffset()}}timezoneName(){if(this._date)try{return new Intl.DateTimeFormat("en",{timeZoneName:"long"}).formatToParts(this._date).find(e=>"timeZoneName"===e.type)?.value||void 0}catch(e){return this.timezoneNameFromOffset()}}timezoneOffsetString(){var e=this.utcOffset();if(void 0!==e)return(0<=e?"+":"-")+Math.floor(Math.abs(e)/60).toString().padStart(2,"0")+":"+(Math.abs(e)%60).toString().padStart(2,"0")}dateChecker(e){return e instanceof f&&!!e&&!!e?._date||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e)}timezoneFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Etc/UTC",60:"Europe/Paris",120:"Europe/Athens",180:"Europe/Moscow",240:"Asia/Dubai",270:"Asia/Tehran",300:"Asia/Karachi",330:"Asia/Kolkata",345:"Asia/Rangoon",360:"Asia/Dhaka",390:"Asia/Yangon",420:"Asia/Bangkok",480:"Asia/Shanghai",525:"Asia/Kathmandu",540:"Asia/Tokyo",570:"Australia/Adelaide",600:"Australia/Sydney",630:"Australia/Lord_Howe",660:"Pacific/Noumea",675:"Australia/Eucla",720:"Pacific/Auckland",780:"Pacific/Chatham","-60":"Atlantic/Azores","-120":"America/Noronha","-180":"America/Argentina/Buenos_Aires","-210":"America/St_Johns","-240":"America/Halifax","-270":"America/Caracas","-300":"America/New_York","-360":"America/Chicago","-420":"America/Denver","-480":"America/Los_Angeles","-540":"America/Anchorage","-600":"Pacific/Honolulu","-660":"Pacific/Pago_Pago","-720":"Pacific/Kiritimati"}[e]||"Etc/GMT"+(0<=e?"-":"+")+Math.abs(e)/60}timezoneAbbrFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"GMT",60:"CET","-300":"EST","-360":"CST","-420":"MST","-480":"PST"}[e]||"GMT"+(0<=e?"+":"")+e/60}timezoneNameFromOffset(){var e=this.utcOffset();if(void 0!==e)return{0:"Greenwich Mean Time",60:"Central European Time","-300":"Eastern Standard Time","-360":"Central Standard Time","-420":"Mountain Standard Time","-480":"Pacific Standard Time"}[e]||"GMT"+(0<=e?"+":"")+e/60}isDST(){if(this._date)try{var e=new Date(this._date.getFullYear(),0,1),t=new Date(this._date.getFullYear(),6,1),r=Math.max(e.getTimezoneOffset(),t.getTimezoneOffset());return this._date.getTimezoneOffset()<r}catch(e){}}static parseString(e,t=!1){var r=new Date(e);if(!isNaN(r.getTime()))return r;var i,a=[/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})Z$/,/^(\d{4})-(\d{2})-(\d{2})$/,/^(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/];for(i of a){var _=e.match(i);if(_){_=_.slice(1).map(Number);if(i===a[0])return new Date(Date.UTC(_[0],_[1]-1,_[2],_[3],_[4],_[5],_[6]));if(i===a[1])return new Date(_[0],_[1]-1,_[2]);if(i===a[2])return new Date(_[0],_[1]-1,_[2],_[3],_[4],_[5]);if(i===a[3])return new Date(_[0],_[1]-1,_[2],_[3],_[4],_[5])}}r=new Date(e);if(!isNaN(r.getTime()))return r;if(t)throw new Error("Unable to parse date string: "+e)}static parseWithFormat(e,a){if(e&&a){var _=String(e).trim();if(_){var o={Y:{regex:/\d{4}/,extract:e=>parseInt(e,10)},y:{regex:/\d{2}/,extract:e=>{e=parseInt(e,10);return 70<=e?1900+e:2e3+e}},m:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},d:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},H:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},M:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},S:{regex:/\d{1,2}/,extract:e=>parseInt(e,10)},f:{regex:/\d{1,3}/,extract:e=>parseInt(e,10)}},n={year:(new Date).getFullYear(),month:1,day:1,hour:0,minute:0,second:0,millisecond:0};let e=0,t=0,r=!1,i="";for(;t<a.length&&e<_.length;){var s=a[t];if("["===s)r=!0,i="",t++;else if("]"===s&&r){if(_.substring(e,e+i.length)!==i)return;e+=i.length,r=!1,i="",t++}else if(r)i+=s,t++;else if("%"===s&&t+1<a.length){var l=a[t+1],d=o[l];if(d){var h=_.substring(e).match(d.regex);if(!h||0!==h.index)return;var h=h[0],u=d.extract(h);switch(l){case"Y":case"y":n.year=u;break;case"m":n.month=u;break;case"d":n.day=u;break;case"H":n.hour=u;break;case"M":n.minute=u;break;case"S":n.second=u;break;case"f":n.millisecond=u}e+=h.length}else e++;t+=2}else{if(s!==_[e])return;e++,t++}}if(!(n.month<1||12<n.month||n.day<1||31<n.day||n.hour<0||23<n.hour||n.minute<0||59<n.minute||n.second<0||59<n.second||n.millisecond<0||999<n.millisecond))try{var R=new Date(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);if(!isNaN(R.getTime()))return new f(R)}catch(e){}}}}static getTokenLength(e){return{Y:4,y:2,m:2,d:2,H:2,M:2,S:2,f:3,z:5}[e]||1}parseTimezoneOffset(e){var t={UTC:0,EST:-300,EDT:-240,CST:-360,CDT:-300,PST:-480,PDT:-420};return void 0!==t[e.toUpperCase()]?t[e.toUpperCase()]:(t=e.match(/^([+-])(\d{1,2}):?(\d{2})?$/))?("+"===t[1]?1:-1)*(60*parseInt(t[2],10)+(t[3]?parseInt(t[3],10):0)):this._date?-this._date.getTimezoneOffset():0}static get FORMATS(){return{...f.PREDEFINED_FORMATS}}}function U(e){return e instanceof M||e instanceof A||e instanceof S||e instanceof N||e instanceof m||e instanceof p||e instanceof L||e instanceof c||e instanceof T||e instanceof O}class m extends g{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_types=[];_ARRAY__RULE=void 0;_ARRAY__TYPE__RULE=void 0;_ARRAY__MIN__RULE=void 0;_ARRAY__MAX__RULE=void 0;_ARRAY__LESS__RULE=void 0;_ARRAY__GREATER__RULE=void 0;_ARRAY__LENGTH__RULE=void 0;constructor(e="fr"){super(e),this.array()}array(){var e=e=>{let t=e=>Array.isArray(e)||null==e;var r,e=null!=e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas un tableau",en:r+" is not an array"}[this.get_lang()]))}};return this.addRule(e),this._ARRAY__RULE=e,this}types(...t){let s=JSON.stringify(""+this.get_label());if(Array.isArray(t)&&0!==t.length){var i=[];for(let r of t){if(!U(r)){let e=e=>{var t=""+r;return{valid:!1,data:void 0,error:new Error({fr:`${s} a un ou plusieurs types invalides (${u(t)}) pour analyse`,en:`${s} has one or more invalid types (${u(t)}) for analysis`}[this.get_lang()])}};return this.addRule(e),this._ARRAY__TYPE__RULE=e,this}i.push(r)}this._types=i;let n=(i,a)=>{try{let r={valid:!0,data:a,error:void 0};if(null!=a){let e=!1,t=void 0;for(var _ of this._types){var o=_.label(this.get_label()+`[${i}]`).validate(a);if(o.valid){r=o,e=!0;break}t=t||o}!e&&t&&(r=t)}return r}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},r=a=>{try{if(!Array.isArray(a)&&null!=a)return{valid:!1,data:void 0,error:new Error({fr:s+" a un type invalide pour analyse",en:s+" has an invalid type for analyse"}[this.get_lang()])};let t=[],r={data:a,valid:!0,error:void 0},i=void 0;if(null!=a)for(let e=0;e<a.length;e++){var _=a[e],o=n(e,_);if(o.valid){r=o,t.push(o.data),i=void 0;break}if(!i){t=[],i=o;break}}return i?i:{data:null!=a?t:void 0,valid:r.valid,error:r.error}}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};this.addRule(e),this._ARRAY__TYPE__RULE=e}else{let e=e=>({valid:!1,data:void 0,error:new Error({fr:s+" a un ou plusieurs types invalides pour analyse",en:s+" has one or more invalid types for analysis"}[this.get_lang()])});this.addRule(e),this._ARRAY__TYPE__RULE=e}return this}min(a){this._minValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length>=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._maxValue?new Error({fr:`la taille de ${t} doit être compris entre ${a} et `+this._maxValue,en:`the size of ${t} must be between ${a} and `+this._maxValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au minimum `+a,en:`the size of ${t} must be at least `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__MIN__RULE=e,this}max(a){this._maxValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length<=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._minValue?new Error({fr:`la taille de ${t} doit être compris entre ${this._minValue} et `+a,en:`the size of ${t} must be between ${this._minValue} and `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au maximum `+a,en:`the size of ${t} must be maximum `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__MAX__RULE=e,this}less(a){this._lessValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length<a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._greaterValue?new Error({fr:`la taille de ${t} doit être inférieure à ${a} et superieure à `+this._greaterValue,en:`the size of ${t} must be less than ${a} and greater than `+this._greaterValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être inferieure à `+a,en:`the size of ${t} must be less than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__LESS__RULE=e,this}greater(a){this._greaterValue=a;var e=e=>{let r=e=>null==e||Array.isArray(e)&&e.length>a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._lessValue?new Error({fr:`la taille de ${t} doit être inférieure à ${this._lessValue} et superieure à `+a,en:`the size of ${t} must be less than ${this._lessValue} and greater than `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être supérieur à `+a,en:`the size of ${t} must be greater than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._ARRAY__GREATER__RULE=e,this}length(a){this._lengthValue=a;var e=e=>{let t=e=>null==e||Array.isArray(e)&&e.length===a;var r,e=null!=e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._ARRAY__LENGTH__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.arrayValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}arrayValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._ARRAY__RULE,name:"ARRAY__RULE"},{rule:this._ARRAY__MIN__RULE,name:"ARRAY__MIN__RULE"},{rule:this._ARRAY__MAX__RULE,name:"ARRAY__MAX__RULE"},{rule:this._ARRAY__LESS__RULE,name:"ARRAY__LESS__RULE"},{rule:this._ARRAY__GREATER__RULE,name:"ARRAY__GREATER__RULE"},{rule:this._ARRAY__LENGTH__RULE,name:"ARRAY__LENGTH__RULE"},{rule:this._ARRAY__TYPE__RULE,name:"ARRAY__TYPE__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class p extends g{_struct={};_primaryStruct=!1;_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_oldValueForStruct=void 0;_OBJECT__RULE=void 0;_OBJECT__STRUCT__RULE=void 0;_OBJECT__PRIMARY_STRUCT__RULE=void 0;_OBJECT__TYPES_VALUES__RULE=void 0;_OBJECT__CONTAINS_KEYS__RULE=void 0;_OBJECT__NO_CONTAINS_KEYS__RULE=void 0;_OBJECT__REGEXP_CONTAINS_KEYS__RULE=void 0;_OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE=void 0;_OBJECT__MIN__RULE=void 0;_OBJECT__MAX__RULE=void 0;_OBJECT__LESS__RULE=void 0;_OBJECT__GREATER__RULE=void 0;_OBJECT__LENGTH__RULE=void 0;constructor(e="fr"){super(e),this.object()}object(){var e=e=>{let t=e=>"object"==typeof e&&null!==e&&!Array.isArray(e)||e instanceof FormData||null==e;var r,i,e=null!=e?e:this.get_default(),a=t(e);return{valid:a,data:a?t(r=e)&&r instanceof FormData?"object"!=typeof(i=class{static transform(e){if(e instanceof FormData){var t,r,i={};for([t,r]of e.entries()){var a=this.parseKeyPath(t);this.setDeepValue(i,a,this.wrapValue(r))}return i}if("object"==typeof e&&!Array.isArray(e))return e}static toFormData(t,r=new FormData,i){return null!=t&&(!0===t?.__file&&t.file instanceof File?r.append(i,t.file):"object"!=typeof t||t instanceof File?i&&r.append(i,t):Array.isArray(t)?t.forEach((e,t)=>{this.toFormData(e,r,i?i+`[${t}]`:""+t)}):Object.keys(t).forEach(e=>{this.toFormData(t[e],r,i?i+"."+e:e)})),r}static wrapValue(e){return e instanceof File?e:"true"===(e=e.toString())||"false"!==e&&(isNaN(Number(e))?e:Number(e))}static setDeepValue(e,t,r){let i=e;for(let e=0;e<t.length-1;e++){var a=t[e],_=t[e+1];void 0===i[a]&&(i[a]="number"==typeof _?[]:{}),i=i[a]}e=t[t.length-1];i[e]=r}static parseKeyPath(e){var t,r=[];for(t of e.split(/\.|(\[\d+\])/).filter(Boolean)){var i=t.match(/\[(\d+)\]/);r.push(i?Number(i[1]):t)}return r}}.transform(r))||null===i||Array.isArray(i)?void 0:i:r:void 0,error:a?void 0:t(i=e)?new Error("Unknown error"):(i=JSON.stringify(""+this.get_label()),new Error({fr:i+" n'est pas un objet",en:i+" is not an object"}[this.get_lang()]))}};return this.addRule(e),this._OBJECT__RULE=e,this}structAction(t){let h=JSON.stringify(""+this.get_label());if("object"!=typeof t||null===t||0===Object.keys(t).length){let e=e=>({valid:!1,data:void 0,error:new Error({fr:h+" a un ou plusieurs types invalides pour analyse",en:h+" has one or more invalid types for analysis"}[this.get_lang()])});this.addRule(e),this._OBJECT__STRUCT__RULE=e}else{let d={};for(let[r,i]of Object.entries(t)){if(!U(i)){let e=e=>{var t=""+i;return{valid:!1,data:void 0,error:new Error({fr:`L'attribut '${r}' de l'element ${h} a un type invalide (${u(t)}) pour analyse`,en:`The '${r}' attribute of the ${h} element has an invalid type (${u(t)}) for analysis.`}[this.get_lang()])}};return this.addRule(e),this._OBJECT__STRUCT__RULE=e,this}d[r]=i}this._struct=d;let r=r=>{try{var i=null!==r&&"object"==typeof r?{...r}:r;if(("object"!=typeof r||null===r||Array.isArray(r))&&null!=r)return{valid:!1,data:void 0,error:new Error({fr:h+" a un type invalide pour analyse",en:h+" has an invalid type for analyse"}[this.get_lang()])};var a={};let e={data:r,valid:!0,error:void 0},t=void 0;if(null!=r)for(var[_,o]of Object.entries(d)){var n=o.label(`${this.get_label()}['${_}']`),s=void 0!==r[_]?r[_]:void 0,l=n.validate(s);if(l.valid){e=l,a[_]=l.data,t=void 0;break}a[_]=void 0,t=l;break}return t?t:this._primaryStruct&&null!=r&&i&&Object.keys(i).length!==Object.keys(a).length?{valid:!1,data:void 0,error:new Error({fr:h+" doit avoir le même nombre d'attributs que la structure de validation",en:h+" must have the same number of attributes as the validation structure"}[this.get_lang()])}:{data:null!=r?a:void 0,valid:e.valid,error:e.error}}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};this.addRule(e),this._primaryStruct?this._OBJECT__PRIMARY_STRUCT__RULE=e:this._OBJECT__STRUCT__RULE=e}return this}struct(e){return this._primaryStruct=!1,this.structAction(e)}primaryStruct(e){return this._primaryStruct=!0,this.structAction(e)}getStruct(){return this._struct}typesValues(...t){let d=JSON.stringify(""+this.get_label());if(Array.isArray(t)&&0!==t.length){let s=[];for(let r of t){if(!U(r)){let e=e=>{var t=""+r;return{valid:!1,data:void 0,error:new Error({fr:`${d} a un ou plusieurs typesValues invalides (${u(t)}) pour analyse`,en:`${d} has one or more invalid typesValues (${u(t)}) for analysis`}[this.get_lang()])}};return this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e,this}s.push(r)}let l=(i,a)=>{try{let e={valid:!0,data:a,error:void 0},t=void 0,r=void 0;var _,o=[];for(_ of s){var n=_.label(this.get_label()+`['${i}']`).validate(a);if(o.push(n),n.valid){t=n;break}r=n}return t?e=t:r&&(e=r),e}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},r=i=>{try{if(("object"!=typeof i||null===i||Array.isArray(i))&&null!=i)return{valid:!1,data:void 0,error:new Error({fr:d+" a un type invalide pour analyse",en:d+" has an invalid type for analyse"}[this.get_lang()])};var a={};let e={data:i,valid:!0,error:void 0},t=void 0,r=void 0;var _=[];if(null!=i)for(var[o,n]of Object.entries(i)){var s=l(o,n);if(_.push(s),s.valid){t=s,e=s,a[o]=s.data;break}if(!r){r=s;break}}return r?e=r:t&&(e=t),{data:null!=i?a:void 0,valid:e.valid,error:e.error}}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}},e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e}else{let e=e=>({valid:!1,data:void 0,error:new Error({fr:d+" a un ou plusieurs typesValues invalides pour analyse",en:d+" has one or more invalid typesValues for analysis"}[this.get_lang()])});this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e}return this}containsKeys(_=[],i=!1){var e=e=>{let a=t=>null==t||"object"==typeof t&&!Array.isArray(t)&&"object"==typeof _&&Array.isArray(_)&&(!i&&0<_.filter(e=>Object.keys(t).includes(e)).length||i&&_.filter(e=>Object.keys(t).includes(e)).length===Object(t).keys().length);var t,e=null!=e?e:this.get_default(),r=a(e);return{valid:r,data:r?(a(t=e),t):void 0,error:r?void 0:(t=>{if(a(t))return new Error("Unknown error");{var r,i=JSON.stringify(this.get_label());let e=[];return t&&"object"==typeof t&&(e=_.filter(e=>!(e in t))),0===_.length?new Error({fr:i+" ne possede aucune clé à verifier pour la validation",en:i+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:i+" possède une ou plusieurs clés indefinis: "+r,en:i+" has one or more undefined keys: "+r}[this.get_lang()])):new Error({fr:i+" est d'un type invalide",en:i+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__CONTAINS_KEYS__RULE=e,this}noContainsKeys(_=[],i=!1){var e=e=>{let a=t=>null==t||"object"==typeof t&&!Array.isArray(t)&&(!i&&_.some(e=>!(e in t))||i&&_.every(e=>!(e in t)));var t,e=null!=e?e:this.get_default(),r=a(e);return{valid:r,data:r?(a(t=e),t):void 0,error:r?void 0:(t=>{if(a(t))return new Error("Unknown error");{var r,i=JSON.stringify(this.get_label());let e=[];return t&&"object"==typeof t&&(e=_.filter(e=>e in t)),0===_.length?new Error({fr:i+" ne possede aucune clé à verifier pour la validation",en:i+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:i+" possède une ou plusieurs clés definis: "+r,en:i+" has one or more defined keys: "+r}[this.get_lang()])):new Error({fr:i+" est d'un type invalide",en:i+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__NO_CONTAINS_KEYS__RULE=e,this}regExpContainsKeys(a,_=void 0,o=!1){var e=e=>{let i=e=>{if(null==e)return!0;if("object"!=typeof e||Array.isArray(e))return!1;e=Object.keys(e);let t=new M(this.get_lang());return o?e.every(e=>t.regexp(a,_).isValid(e)):e.some(e=>t.regexp(a,_).isValid(e))};var t,e=null!=e?e:this.get_default(),r=i(e);return{valid:r,data:r?(i(t=e),t):void 0,error:r?void 0:(r=>{if(i(r))return new Error("Unknown error");{var t=JSON.stringify(this.get_label());let e=[];if(r&&"object"==typeof r){let t=new M(this.get_lang());e=Object.keys(r).filter(e=>!t.regexp(a,_).isValid(e))}return 0===Object.keys(r||{}).length?new Error({fr:t+" ne possede aucune clé à verifier pour la validation",en:t+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:t+" possède une ou plusieurs clés au format invalide: "+r,en:t+" has one or more invalidly formatted keys: "+r}[this.get_lang()])):new Error({fr:t+" est d'un type invalide",en:t+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__REGEXP_CONTAINS_KEYS__RULE=e,this}regExpNoContainsKeys(a,_=void 0,o=!1){var e=e=>{let i=e=>{if(null==e)return!0;if("object"!=typeof e||Array.isArray(e))return!1;e=Object.keys(e);let t=new M(this.get_lang());return o?e.every(e=>!t.regexp(a,_).isValid(e)):e.some(e=>!t.regexp(a,_).isValid(e))};var t,e=null!=e?e:this.get_default(),r=i(e);return{valid:r,data:r?(i(t=e),t):void 0,error:r?void 0:(r=>{if(i(r))return new Error("Unknown error");{var t=JSON.stringify(this.get_label());let e=[];if(r&&"object"==typeof r){let t=new M(this.get_lang());e=Object.keys(r).filter(e=>t.regexp(a,_).isValid(e))}return 0===Object.keys(r||{}).length?new Error({fr:t+" ne possede aucune clé à verifier pour la validation",en:t+" has no key to check for validation"}[this.get_lang()]):0<e.length?(r=e.map(e=>`"${e}"`).join(", "),new Error({fr:t+" ne possède pas des clés au format: "+r,en:t+" does not have keys in: "+r}[this.get_lang()])):new Error({fr:t+" est d'un type invalide",en:t+" is of an invalid type"}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE=e,this}min(a){this._minValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._maxValue?new Error({fr:`la taille de ${t} doit être compris entre ${a} et `+this._maxValue,en:`the size of ${t} must be between ${a} and `+this._maxValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au minimum `+a,en:`the size of ${t} must be at least `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__MIN__RULE=e,this}max(a){this._maxValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length<=a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._minValue?new Error({fr:`la taille de ${t} doit être compris entre ${this._minValue} et `+a,en:`the size of ${t} must be between ${this._minValue} and `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être au maximum `+a,en:`the size of ${t} must be maximum `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__MAX__RULE=e,this}less(a){this._lessValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length<a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._greaterValue?new Error({fr:`la taille de ${t} doit être inférieure à ${a} et superieure à `+this._greaterValue,en:`the size of ${t} must be less than ${a} and greater than `+this._greaterValue}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être inferieure à `+a,en:`the size of ${t} must be less than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__LESS__RULE=e,this}greater(a){this._greaterValue=a;var e=e=>{let r=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>a;var t,e=null!=e?e:this.get_default(),i=r(e);return{valid:i,data:i?(r(t=e),t):void 0,error:i?void 0:(t=>{if(r(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e;return e=void 0!==this._lessValue?new Error({fr:`la taille de ${t} doit être inférieure à ${this._lessValue} et superieure à `+a,en:`the size of ${t} must be less than ${this._lessValue} and greater than `+a}[this.get_lang()]):new Error({fr:`la taille de ${t} doit être supérieur à `+a,en:`the size of ${t} must be greater than `+a}[this.get_lang()])}})(e)}};return this.addRule(e),this._OBJECT__GREATER__RULE=e,this}length(a){this._lengthValue=a;var e=e=>{let t=e=>null==e||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length===a;var r,e=null!=e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._OBJECT__LENGTH__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.objectValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}objectValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._OBJECT__RULE,name:"OBJECT__RULE"},{rule:this._OBJECT__STRUCT__RULE,name:"OBJECT__STRUCT__RULE"},{rule:this._OBJECT__PRIMARY_STRUCT__RULE,name:"OBJECT__PRIMARY_STRUCT__RULE"},{rule:this._OBJECT__TYPES_VALUES__RULE,name:"OBJECT__TYPES_VALUES__RULE"},{rule:this._OBJECT__CONTAINS_KEYS__RULE,name:"OBJECT__CONTAINS_KEYS__RULE"},{rule:this._OBJECT__NO_CONTAINS_KEYS__RULE,name:"OBJECT__NO_CONTAINS_KEYS__RULE"},{rule:this._OBJECT__REGEXP_CONTAINS_KEYS__RULE,name:"OBJECT__REGEXP_CONTAINS_KEYS__RULE"},{rule:this._OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE,name:"OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE"},{rule:this._OBJECT__MIN__RULE,name:"OBJECT__MIN__RULE"},{rule:this._OBJECT__MAX__RULE,name:"OBJECT__MAX__RULE"},{rule:this._OBJECT__LESS__RULE,name:"OBJECT__LESS__RULE"},{rule:this._OBJECT__GREATER__RULE,name:"OBJECT__GREATER__RULE"},{rule:this._OBJECT__LENGTH__RULE,name:"OBJECT__LENGTH__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class L extends g{_types=[];_invalid_types=[];_CHOSEN_TYPE__RULE=void 0;constructor(e="fr"){super(e)}chosenTypes(){let r=i=>{try{let e={valid:!0,data:i,error:void 0},t=void 0,r=void 0;var a,_=[];for(a of this._types){let e=i;null==i&&(e=(void 0!==a.get_default()?a:this).get_default());var o=a.label(this.get_label()).validate(e);if(_.push(o),o.valid){t=o;break}r=o}return t?e=t:r&&(e=r),e}catch(e){return console.error(e),{data:void 0,valid:!1,error:""+e}}};var e=e=>{let t=r(e);null==e&&this.get_default();e=t.valid;return{valid:e,data:e?t.data:void 0,error:e?void 0:t.error}};return this.addRule(e),this._CHOSEN_TYPE__RULE=e,this}choices(...e){let i=JSON.stringify(""+this.get_label());var t;if(!Array.isArray(e)||0===e.length)return this.addRule(t=e=>({valid:!1,data:void 0,error:new Error({fr:i+" a un ou plusieurs types invalides pour analyse",en:i+" has one or more invalid types for analysis"}[this.get_lang()])})),this._CHOSEN_TYPE__RULE=t,this;var a=[];for(let r of e){if(!U(r))return this.addRule(_=e=>{var t=""+r;return{valid:!1,data:void 0,error:new Error({fr:`${i} a un ou plusieurs types invalides (${u(t)}) pour analyse`,en:`${i} has one or more invalid types (${u(t)}) for analysis`}[this.get_lang()])}}),this._CHOSEN_TYPE__RULE=_,this;var _=r.label(this.get_label());void 0===_.get_default()&&_.default(this.get_default()),a.push(_)}return this._types=a,this.chosenTypes()}types(){return this._types}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.chosenTypesValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}chosenTypesValidation(t){try{let e=void 0;if(void 0!==this._CHOSEN_TYPE__RULE){var r=this._CHOSEN_TYPE__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="CHOSEN_TYPES__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class c extends g{_choices=[];_ENUM__RULE=void 0;constructor(e="fr"){super(e)}enum(){var e=e=>{let t=t=>this._choices.some(e=>e===t)||void 0===t;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),i=this._choices.map(e=>`"${e}"`).join(" ou "),new Error({fr:r+` ne correspond à aucune de ses valeurs (${i})`,en:r+` does not correspond to any of its values (${i})`}[this.get_lang()]))}};return this.addRule(e),this._ENUM__RULE=e,this}choices(...e){return this._choices=Array.isArray(e)&&0<e.length?[...e]:[],this.enum()}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.enumValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}enumValidation(t){try{let e=void 0;if(void 0!==this._ENUM__RULE){var r=this._ENUM__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="ENUM__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class T extends g{_choices=[];_NOT_ENUM__RULE=void 0;constructor(e="fr"){super(e)}notEnum(){var e=e=>{let t=t=>!this._choices.some(e=>e===t)||void 0===t;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),i=this._choices.map(e=>`"${e}"`).join(" ou "),new Error({fr:r+` ne doit pas correspondre à une de ses valeurs (${i})`,en:r+` must not correspond to one of its values (${i})`}[this.get_lang()]))}};return this.addRule(e),this._NOT_ENUM__RULE=e,this}choices(...e){return this._choices=Array.isArray(e)&&0<e.length?[...e]:[],this.notEnum()}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.notEnumValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}notEnumValidation(t){try{let e=void 0;if(void 0!==this._NOT_ENUM__RULE){var r=this._NOT_ENUM__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="NOT_ENUM__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class M extends g{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_format=void 0;_dateFormat=e;_timeFormat=r;_enum_choices=[];_not_enum_choices=[];_STRING__RULE=void 0;_STRING__MIN__RULE=void 0;_STRING__MAX__RULE=void 0;_STRING__LESS__RULE=void 0;_STRING__GREATER__RULE=void 0;_STRING__LENGTH__RULE=void 0;_STRING__REGEXP__RULE=void 0;_STRING__ALPHANUM__RULE=void 0;_STRING__BASE64__RULE=void 0;_STRING__LOWERCASE__RULE=void 0;_STRING__UPPERCASE__RULE=void 0;_STRING__CAPITALIZE__RULE=void 0;_STRING__UC_FIRST__RULE=void 0;_STRING__CREDIT_CARD__RULE=void 0;_STRING__DATAURI__RULE=void 0;_STRING__DOMAIN__RULE=void 0;_STRING__URL__RULE=void 0;_STRING__HOSTNAME__RULE=void 0;_STRING__IP_ADDRESS__RULE=void 0;_STRING__EMAIL__RULE=void 0;_STRING__GUID__RULE=void 0;_STRING__HEXA__RULE=void 0;_STRING__BINARY__RULE=void 0;_STRING__DATE__RULE=void 0;_STRING__IDENTIFIER__RULE=void 0;_STRING__ENUM__RULE=void 0;_STRING__NOT_ENUM__RULE=void 0;constructor(e="fr"){super(e),this.string()}string(){var e=e=>{let a=e=>"string"==typeof e||"number"==typeof e||"boolean"==typeof e||void 0===e;var e=void 0!==e?e:this.get_default(),t=a(e);return{valid:t,data:t?(e=>{if(a(e)){if(void 0===e)return;var t=E(e,"datetime",this._format),r=E(e,"date",this._format),i=E(e,"time",this._format);if(void 0===this._format&&(t?this.changeFormat(_):r?this.changeFormat(this._dateFormat):E(e,"time",this._format)&&this.changeFormat(this._timeFormat)),"string"==typeof e)return e;if(t||r||i)return f.parse(e,this._format).format(this._format)}return e})(e):void 0,error:t?void 0:a(t=e)?new Error("Unknown error"):(t=JSON.stringify(""+this.get_label()),new Error({fr:t+" n'est pas une chaîne de caractères",en:t+" is not a string"}[this.get_lang()]))}};return this.addRule(e),this._STRING__RULE=e,this}min(a){var e=e=>{let t=e=>"string"==typeof e&&e.length>=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au minimum `+a,en:`the size of ${r} must be at least `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__MIN__RULE=e,this}max(a){var e=e=>{let t=e=>"string"==typeof e&&e.length<=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au maximum `+a,en:`the size of ${r} must be maximum `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__MAX__RULE=e,this}less(a){var e=e=>{let t=e=>"string"==typeof e&&e.length>a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être inférieure à `+a,en:`the size of ${r} must be less than `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__LESS__RULE=e,this}greater(a){var e=e=>{let t=e=>"string"==typeof e&&e.length<a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être supérieure à `+a,en:`the size of ${r} must be greater than `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__GREATER__RULE=e,this}length(a){var e=e=>{let t=e=>"string"==typeof e&&e.length===a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._STRING__LENGTH__RULE=e,this}regexp(e,t=void 0,a=void 0){let _;_=e instanceof RegExp?e:"string"==typeof e&&0<e.length?t?new RegExp(e,t):new RegExp(e):/.*/;t=e=>{let t=e=>"string"==typeof e&&_.test(e)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(i={fr:(r=JSON.stringify(""+this.get_label()))+" ne respecte pas la règle appliquée",en:r+" does not respect the rule applied"}[this.get_lang()],new Error(a&&a(this.getLang(),r)[this.get_lang()]||i))}};return this.addRule(t),this._STRING__REGEXP__RULE=t,this}alphanum(){return this.regexp(/^[\w\s]+$/,void 0,(e,t)=>({fr:t+" n'est pas de type alphanumérique",en:t+" is not alphanumeric"}))}base64(e=!0,t=!0){t=t?"\\-":"\\+";return this.regexp(`^(?:[A-Za-z0-9${t}/]{4})*(?:[A-Za-z0-9${t}/]{2}==|[A-Za-z0-9${t}/]{3}${e?"=":"(={0,1})"}|[A-Za-z0-9${t}/]{4})$`,void 0,(e,t)=>({fr:t+" n'a pas un format base64 valide",en:t+" does not have a valid base64 format"}))}lowercase(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===e.toLowerCase()||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).toLowerCase():void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas en minuscule",en:r+" is not lowercase"}[this.get_lang()]))}};return this.addRule(e),this._STRING__LOWERCASE__RULE=e,this}uppercase(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===e.toUpperCase()||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).toUpperCase():void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas en majuscule",en:r+" is not uppercase"}[this.get_lang()]))}};return this.addRule(e),this._STRING__UPPERCASE__RULE=e,this}capitalize(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===(""+e).replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()):void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas en lettre capitale",en:r+" is not capitalized"}[this.get_lang()]))}};return this.addRule(e),this._STRING__CAPITALIZE__RULE=e,this}ucFirst(a=!1){var e=e=>{let t=e=>"string"==typeof e&&(!!a&&e===(""+e).charAt(0).toUpperCase()+(""+e).slice(1)||!a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?void 0!==r?(""+r).charAt(0).toUpperCase()+(""+r).slice(1):void 0:r:void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'a pas de première lettre en majuscule",en:r+" does not have a capitalized first letter"}[this.get_lang()]))}};return this.addRule(e),this._STRING__UC_FIRST__RULE=e,this}creditCard(e=[]){let a={visa:/^(4[0-9]{12}(?:[0-9]{3}))$/,mastercard:/^((?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12})$/,"american-express":/^(3[47][0-9]{13})$/,discover:/^(6(?:011|5[0-9]{2})[0-9]{12})$/,"diners-club":/^(3(?:0[0-5]|[68][0-9])[0-9]{11})$/,jcb:/^((?:2131|1800|35\d{3})\d{11})$/},t=["mastercard","visa","american-express","discover","diners-club","jcb"],_=e.filter(e=>t.includes(e));e=e=>{let t=t=>"string"!=typeof t||void 0===t?void 0===t:0===_.length?Object.values(a).some(e=>e.test(t)):_.some(e=>a[e]&&a[e].test(t));var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'une carte de crédit",en:r+" is not a string in the format of a credit card"}[this.get_lang()]))}};return this.addRule(e),this._STRING__CREDIT_CARD__RULE=e,this}dataUri(){return this.regexp(/^data:([\w\/\+]+);(charset=[\w-]+|base64).*,([a-zA-Z0-9+/]+={0,2})$/,void 0,(e,t)=>({fr:t+" n'a pas un format Data-URI valide",en:t+" does not have a valid Data-URI format"}))}domain(){return this.regexp(/^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/,void 0,(e,t)=>({fr:t+" n'est pas un domaine valide",en:t+" is not a valid domain"}))}url(){var e=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i");return this.regexp(e)}hostname(){let a=/^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/,_=/^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$/;var e=e=>{let t=e=>"string"==typeof e&&(a.test(e)||_.test(e))||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'un nom d'hôte valide",en:r+" is not a string in the format of a valid hostname"}[this.get_lang()]))}};return this.addRule(e),this._STRING__HOSTNAME__RULE=e,this}IPAddress(e=[]){let a={ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,ipv6:new RegExp(["^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$","^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}$","^[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4}$","^[0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4}::(?:[0-9a-fA-F]{1,4}:)?[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4}::[0-9a-fA-F]{1,4}$","^(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}::$"].join("|"))},t=["ipv4","ipv6"],_=e.filter(e=>t.includes(e));e=e=>{let t=t=>"string"!=typeof t||void 0===t?void 0===t:0===_.length?a.ipv4.test(t)||a.ipv6.test(t):_.some(e=>a[e]&&a[e].test(t));var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'une adresse IP valide",en:r+" is not a string in the format of a valid IP address"}[this.get_lang()]))}};return this.addRule(e),this._STRING__IP_ADDRESS__RULE=e,this}email(){let a=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/,_=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;var e=e=>{let t=e=>"string"==typeof e&&(a.test(e)||_.test(e))||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'un email valide",en:r+" is not a string in the format of a valid email"}[this.get_lang()]))}};return this.addRule(e),this._STRING__EMAIL__RULE=e,this}guid(e=[]){let a={v1:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v2:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[2][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v3:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[3][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v4:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[4][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,v5:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[5][0-9a-fA-F]{3}-[89AB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/},t=["v1","v2","v3","v4","v5"],_=e.filter(e=>t.includes(e));e=e=>{let t=t=>"string"!=typeof t||void 0===t?void 0===t:0===_.length?Object.values(a).some(e=>e.test(t)):_.some(e=>a[e]&&a[e].test(t));var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format GUID valide",en:r+" is not a string in valid GUID format"}[this.get_lang()]))}};return this.addRule(e),this._STRING__GUID__RULE=e,this}hexa(e=!1){return this.regexp(e?/^[0-9a-fA-F]+$/:/^[0-9A-F]+$/,void 0,(e,t)=>({fr:t+" n'a pas un format hexadecimal valide",en:t+" does not have a valid hexadecimal format"}))}binary(){return this.regexp(/^[01]+$/,void 0,(e,t)=>({fr:t+" n'a pas un format binaire valide",en:t+" does not have a valid binary format"}))}date(e=void 0){let a=e&&0<e.length?e:_;e=e=>{let t=e=>"string"==typeof e&&d(e,a)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une chaîne de caractères au format d'une date valide",en:r+" is not a string in the format of a valid date"}[this.get_lang()]))}};return this.addRule(e),this._STRING__DATE__RULE=e,this}identifier(){return this.regexp(/^[a-zA-Z]{1,}\w{0,}$/,void 0,(e,t)=>({fr:t+" n'est pas un identifiant valide",en:t+" is not a valid identifier"}))}enum(...e){this.enumChoices(...e);e=e=>{let t=e=>this._enum_choices.includes(e)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" est d'un type invalide",en:r+" is of an invalid type"}[this.get_lang()]))}};return this.addRule(e),this._STRING__ENUM__RULE=e,this}enumChoices(...e){return this._enum_choices=Array.isArray(e)&&0<e.length?[...e]:[],this}notEnum(...e){this.notEnumchoices(...e);e=e=>{let t=e=>!this._not_enum_choices.includes(e)||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" est d'un type invalide",en:r+" is of an invalid type"}[this.get_lang()]))}};return this.addRule(e),this._STRING__NOT_ENUM__RULE=e,this}notEnumchoices(...e){return this._not_enum_choices=Array.isArray(e)&&0<e.length?[...e]:[],this}changeFormat(e){return"string"==typeof e&&0<e.length&&(this._format=e),this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.stringValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}stringValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._STRING__RULE,name:"STRING__RULE"},{rule:this._STRING__MIN__RULE,name:"STRING__MIN__RULE"},{rule:this._STRING__MAX__RULE,name:"STRING__MAX__RULE"},{rule:this._STRING__LESS__RULE,name:"STRING__LESS__RULE"},{rule:this._STRING__GREATER__RULE,name:"STRING__GREATER__RULE"},{rule:this._STRING__LENGTH__RULE,name:"STRING__LENGTH__RULE"},{rule:this._STRING__REGEXP__RULE,name:"STRING__REGEXP__RULE"},{rule:this._STRING__ALPHANUM__RULE,name:"STRING__ALPHANUM__RULE"},{rule:this._STRING__BASE64__RULE,name:"STRING__BASE64__RULE"},{rule:this._STRING__LOWERCASE__RULE,name:"STRING__LOWERCASE__RULE"},{rule:this._STRING__UPPERCASE__RULE,name:"STRING__UPPERCASE__RULE"},{rule:this._STRING__CAPITALIZE__RULE,name:"STRING__CAPITALIZE__RULE"},{rule:this._STRING__UC_FIRST__RULE,name:"STRING__UC_FIRST__RULE"},{rule:this._STRING__CREDIT_CARD__RULE,name:"STRING__CREDIT_CARD__RULE"},{rule:this._STRING__DATAURI__RULE,name:"STRING__DATAURI__RULE"},{rule:this._STRING__DOMAIN__RULE,name:"STRING__DOMAIN__RULE"},{rule:this._STRING__URL__RULE,name:"STRING__URL__RULE"},{rule:this._STRING__HOSTNAME__RULE,name:"STRING__HOSTNAME__RULE"},{rule:this._STRING__IP_ADDRESS__RULE,name:"STRING__IP_ADDRESS__RULE"},{rule:this._STRING__EMAIL__RULE,name:"STRING__EMAIL__RULE"},{rule:this._STRING__GUID__RULE,name:"STRING__GUID__RULE"},{rule:this._STRING__HEXA__RULE,name:"STRING__HEXA__RULE"},{rule:this._STRING__BINARY__RULE,name:"STRING__BINARY__RULE"},{rule:this._STRING__DATE__RULE,name:"STRING__DATE__RULE"},{rule:this._STRING__IDENTIFIER__RULE,name:"STRING__IDENTIFIER__RULE"},{rule:this._STRING__ENUM__RULE,name:"STRING__ENUM__RULE"},{rule:this._STRING__NOT_ENUM__RULE,name:"STRING__NOT_ENUM__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class A extends g{_NUMBER__RULE=void 0;_NUMBER__MIN__RULE=void 0;_NUMBER__MAX__RULE=void 0;_NUMBER__LESS__RULE=void 0;_NUMBER__GREATER__RULE=void 0;_NUMBER__NEGATIVE__RULE=void 0;_NUMBER__POSITIVE__RULE=void 0;_NUMBER__SIGNED__RULE=void 0;_NUMBER__INTEGER__RULE=void 0;_NUMBER__DECIMAL__RULE=void 0;_NUMBER__MULTIPLE__RULE=void 0;_NUMBER__TCP_PORT__RULE=void 0;constructor(e="fr"){super(e),this.number()}number(){var e=e=>{let t=e=>v(e)||!R(e);var r,i,e=R(e)?e:this.get_default(),a=t(e);return{valid:a,data:a?t(r=e)&&(v(r)||!R(r))?(i=Number(r),Number.isInteger(i)?parseInt(r,10):parseFloat(r)):r:void 0,error:a?void 0:t(i=e)?new Error("Unknown error"):(i=JSON.stringify(""+this.get_label()),new Error({fr:i+" n'est pas un nombre",en:i+" is not a number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__RULE=e,this}min(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&a<=e||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être au minimum "+a,en:r+" must be at least "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__MIN__RULE=e,this}max(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&e<=a||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être au maximum "+a,en:r+" must be maximum "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__MAX__RULE=e,this}less(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&a<e||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être inférieure à "+a,en:r+" must be less than "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__LESS__RULE=e,this}greater(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&e<a||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être supérieur à "+a,en:r+" must be greater than "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__GREATER__RULE=e,this}negative(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&e<=0||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre negatif",en:r+" must be a negative number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__NEGATIVE__RULE=e,this}positive(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&0<=e||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre positif",en:r+" must be a positive number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__POSITIVE__RULE=e,this}signed(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&(0<e||e<0)||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être soit un nombre négatif soit un nombre positif",en:r+" must be either a negative number or a positive number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__SIGNED__RULE=e,this}integer(){var e=e=>{let t=e=>"number"==typeof e&&v(e)&&Number.isInteger(e)||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre entier valide",en:r+" must be a valid integer number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__INTEGER__RULE=e,this}decimal(){var e=e=>{let t=e=>"number"==typeof e&&v(e)||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un nombre décimal valide",en:r+" must be a valid decimal number"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__DECIMAL__RULE=e,this}multiple(a){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&"number"==typeof a&&e%a==0||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être un multiple de "+a,en:r+" must be a multiple of "+a}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__MULTIPLE__RULE=e,this}TCPPort(){var e=e=>{let t=e=>v(e)&&"number"==typeof e&&9<e&&e<=99999||!!R(e);var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" doit être au format d'un port TCP",en:r+" must be in the format of a TCP port"}[this.get_lang()]))}};return this.addRule(e),this._NUMBER__TCP_PORT__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.numberValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}numberValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._NUMBER__RULE,name:"NUMBER__RULE"},{rule:this._NUMBER__MIN__RULE,name:"NUMBER__MIN__RULE"},{rule:this._NUMBER__MAX__RULE,name:"NUMBER__MAX__RULE"},{rule:this._NUMBER__LESS__RULE,name:"NUMBER__LESS__RULE"},{rule:this._NUMBER__GREATER__RULE,name:"NUMBER__GREATER__RULE"},{rule:this._NUMBER__NEGATIVE__RULE,name:"NUMBER__NEGATIVE__RULE"},{rule:this._NUMBER__POSITIVE__RULE,name:"NUMBER__POSITIVE__RULE"},{rule:this._NUMBER__SIGNED__RULE,name:"NUMBER__SIGNED__RULE"},{rule:this._NUMBER__INTEGER__RULE,name:"NUMBER__INTEGER__RULE"},{rule:this._NUMBER__DECIMAL__RULE,name:"NUMBER__DECIMAL__RULE"},{rule:this._NUMBER__MULTIPLE__RULE,name:"NUMBER__MULTIPLE__RULE"},{rule:this._NUMBER__TCP_PORT__RULE,name:"NUMBER__TCP_PORT__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class S extends g{_trueValues=["true","t","1",1,!0];_falseValues=["false","f","0",0,!1];_BOOLEAN__RULE=void 0;constructor(e="fr"){super(e),this.boolean()}boolean(){var e=e=>{let i=e=>{return e=e,t=[...this._trueValues,...this._falseValues],r=!1,"boolean"==typeof e||t.includes(e)||"string"==typeof e&&t.includes(e.toLowerCase())||!e&&!r;var t,r};var e=R(e)?e:this.get_default(),t=i(e);return{valid:t,data:t?(t=>{if(i(t)){var r=t;let e=r;return"boolean"==typeof r?e=r:void 0!==r&&["true","t","1","false","f","0"].includes((""+r).toLowerCase())&&(e=["true","t","1"].includes((""+r).toLowerCase())),e}return t})(e):void 0,error:t?void 0:i(t=e)?new Error("Unknown error"):(t=JSON.stringify(""+this.get_label()),new Error({fr:t+" n'est pas un booléen",en:t+" is not a boolean"}[this.get_lang()]))}};return this.addRule(e),this._BOOLEAN__RULE=e,this}required(e=!0){e="boolean"!=typeof e||e;var t=e=>{let t=e=>null!=e||"boolean"==typeof e;var r,e=R(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" est requis",en:r+" is required"}[this.get_lang()]))}};return this.addRule(t),this._PRIMARY__REQUIRED__RULE=e?t:void 0,this}trueValues(e){e=Array.isArray(e)?e:[];return 0<e.length&&(this._trueValues=[...e]),this}falseValues(e){e=Array.isArray(e)?e:[];return 0<e.length&&(this._falseValues=[...e]),this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.booleanValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}booleanValidation(t){try{let e=void 0;if(void 0!==this._BOOLEAN__RULE){var r=this._BOOLEAN__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="BOOLEAN__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}getMapError(){return l}}class N extends g{_timezone=void 0;_format=void 0;_dateFormat=e;_timeFormat=r;_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_equalValue=void 0;_DATE__RULE=void 0;_DATE__MIN__RULE=void 0;_DATE__MAX__RULE=void 0;_DATE__LESS__RULE=void 0;_DATE__GREATER__RULE=void 0;_DATE__EQUAL_TO__RULE=void 0;_DATE__TO_DATE__RULE=void 0;_DATE__TO_TIME__RULE=void 0;constructor(e="fr"){super(e),this.date()}date(){var e=e=>{let t=e=>{return[t,r=void 0,i=_]=[e,void 0,this._format],i="string"==typeof i&&0<i.length?i:void 0,a=Object.keys(h),(r=[...a,"undefined","string"].includes(r||"")?r:void 0)&&a.includes(r||"")&&(i=h[r]),f.parse(t,i).isCorrect(),"string"==typeof i&&0<i.length&&f.parse(t,i).isCorrect()||"string"===r&&"string"==typeof t&&0<t.length&&void 0!==i&&f.parse(t,i).isCorrect()||void 0===e;var t,r,i,a};var e=R(e)?e:this.get_default(),r=t(e);return{valid:r,data:r?(t=>{if(null==t)return t;{void 0===this._format&&this.changeFormat(_);let e;if("string"==typeof t&&d(t,this._format))e=f.parse(t,this._format);else if(t instanceof Date)e=new f(t);else{if(!(t instanceof f))return t;e=t}return(e=void 0!==this._timezone?e.setTimezone(this._timezone):e).toDate()}})(e):void 0,error:r?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:r+" n'est pas une date",en:r+" is not a date"}[this.get_lang()]))}};return this.addRule(e),this._DATE__RULE=e,this}min(a){var e=e=>{let r=f.parse(a,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._minValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"[)")});var e=R(e)?e:this.get_default(),t=i(e);return{valid:t,data:t?e:void 0,error:t?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be at least "+r.format();return e=void 0!==this._maxValue?{fr:`${t} doit être compris entre ${r.format()} et `+f.parse(this._maxValue).format(),en:`${t} must be between ${r.format()} and `+f.parse(this._maxValue).format()}[this.get_lang()]||e:{fr:t+" doit être au minimum "+r.format(),en:t+" must be at least "+r.format()}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__MIN__RULE=e,this}max(_){var e=e=>{let r=f.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._maxValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"(]")});var t,e=R(e)?e:this.get_default(),a=i(e);return{valid:a,data:a?(i(t=e),t):void 0,error:a?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be maximum "+this._maxValue;return e=void 0!==this._minValue?{fr:`${t} doit être compris entre ${this._minValue} et `+this._maxValue,en:`${t} must be between ${this._minValue} and `+this._maxValue}[this.get_lang()]||e:{fr:t+" doit être au maximum "+this._maxValue,en:t+" must be maximum "+this._maxValue}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__MAX__RULE=e,this}less(_){var e=e=>{let r=f.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._lessValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"()")});var t,e=R(e)?e:this.get_default(),a=i(e);return{valid:a,data:a?(i(t=e),t):void 0,error:a?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be less than "+this._lessValue;return e=void 0!==this._greaterValue?{fr:`${t} doit être inférieure à ${this._lessValue} et superieure à `+this._greaterValue,en:`${t} must be less than ${this._lessValue} and greater than `+this._greaterValue}[this.get_lang()]||e:{fr:t+" doit être inferieure à "+this._lessValue,en:t+" must be less than "+this._lessValue}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__LESS__RULE=e,this}greater(_){var e=e=>{let r=f.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._greaterValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"()")});var t,e=R(e)?e:this.get_default(),a=i(e);return{valid:a,data:a?(i(t=e),t):void 0,error:a?void 0:(t=>{if(i(t))return new Error("Unknown error");{t=JSON.stringify(""+this.get_label());let e=t+" must be greater than "+this._greaterValue;return e=void 0!==this._lessValue?{fr:`${t} doit être inférieure à ${this._lessValue} et superieure à `+this._greaterValue,en:`${t} must be less than ${this._lessValue} and greater than `+this._greaterValue}[this.get_lang()]||e:{fr:t+" doit être supérieur à "+this._greaterValue,en:t+" must be greater than "+this._greaterValue}[this.get_lang()]||e,new Error(e)}})(e)}};return this.addRule(e),this._DATE__GREATER__RULE=e,this}equalTo(_){var e=e=>{let r=f.parse(_,this._format),t=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._equalValue=r.toDate()),e=>{if(!R(e))return!0;let t=f.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isSame(r)});var i,e=R(e)?e:this.get_default(),a=t(e);return{valid:a,data:a?(t(i=e),i):void 0,error:a?void 0:t(i=e)?new Error("Unknown error"):(i={fr:(i=JSON.stringify(""+this.get_label()))+" doit être égale à "+this._equalValue,en:i+" must be equal to "+this._equalValue}[this.get_lang()],new Error(i))}};return this.addRule(e),this._DATE__EQUAL_TO__RULE=e,this}changeFormat(e){return"string"==typeof e&&0<e.length&&(this._format=e),this}changeTimezone(e){return null!=e&&(this._timezone=e),this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.dateValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}dateValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._DATE__RULE,name:"DATE__RULE"},{rule:this._DATE__MIN__RULE,name:"DATE__MIN__RULE"},{rule:this._DATE__MAX__RULE,name:"DATE__MAX__RULE"},{rule:this._DATE__LESS__RULE,name:"DATE__LESS__RULE"},{rule:this._DATE__GREATER__RULE,name:"DATE__GREATER__RULE"},{rule:this._DATE__EQUAL_TO__RULE,name:"DATE__EQUAL_TO__RULE"},{rule:this._DATE__TO_DATE__RULE,name:"DATE__TO_DATE__RULE"},{rule:this._DATE__TO_TIME__RULE,name:"DATE__TO_TIME__RULE"}])if(void 0!==r){var a=e?.data||t,_=r(a);if(R(_)&&(e=_),i,R(e)&&e&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class O extends g{_ANY_TYPE__RULE=void 0;constructor(e="fr"){super(e),this.anyType()}anyType(){var e=e=>{e=void 0!==e?e:this.get_default();return{valid:!0,data:e,error:void 0}};return this.addRule(e),this._ANY_TYPE__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.anyTypeValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}anyTypeValidation(t){try{let e=void 0;if(void 0!==this._ANY_TYPE__RULE){var r=this._ANY_TYPE__RULE(e?.data||t);if(void 0!==(e=void 0!==r?r:e)&&!e.valid)e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule="ANY_TYPE__RULE"}return e}catch(e){t={data:void 0,valid:!1,error:""+e};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class y extends g{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_FILE__RULE=void 0;_FILE__MIN__RULE=void 0;_FILE__MAX__RULE=void 0;_FILE__LESS__RULE=void 0;_FILE__GREATER__RULE=void 0;_FILE__LENGTH__RULE=void 0;constructor(e="fr"){super(e),this.file()}file(){var e=e=>{let r=e=>e instanceof Blob||e instanceof File||"string"==typeof e&&new M(this._lang).dataUri().isValid(e)||void 0===e;var e=void 0!==e?e:this.get_default(),t=r(e);return{valid:t,data:t?(e=>{if(r(e)){var t=JSON.stringify(""+this.get_label());if(void 0===e)return;if(e instanceof Blob||e instanceof File)return e;if("string"==typeof e&&new M(this._lang).dataUri().isValid(e))return this.dataUrlToFile(e,t.replace(/[^a-zA-Z0-9]/g,""))}return e})(e):void 0,error:t?void 0:r(t=e)?new Error("Unknown error"):(t=JSON.stringify(""+this.get_label()),new Error({fr:t+" n'est pas un fichier",en:t+" is not a file"}[this.get_lang()]))}};return this.addRule(e),this._FILE__RULE=e,this}min(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size>=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au minimum `+a,en:`the size of ${r} must be at least `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__MIN__RULE=e,this}max(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size<=a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être au maximum `+a,en:`the size of ${r} must be maximum `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__MAX__RULE=e,this}less(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size>a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être inférieure à `+a,en:`the size of ${r} must be less than `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__LESS__RULE=e,this}greater(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size<a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être supérieure à `+a,en:`the size of ${r} must be greater than `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__GREATER__RULE=e,this}length(a){var e=e=>{let t=e=>(e instanceof Blob||e instanceof File)&&e.size===a||void 0===e;var r,e=void 0!==e?e:this.get_default(),i=t(e);return{valid:i,data:i?(t(r=e),r):void 0,error:i?void 0:t(r=e)?new Error("Unknown error"):(r=JSON.stringify(""+this.get_label()),new Error({fr:`la taille de ${r} doit être égale à `+a,en:`the size of ${r} must be equal to `+a}[this.get_lang()]))}};return this.addRule(e),this._FILE__LENGTH__RULE=e,this}validate(t){try{void 0!==this.preMap&&"function"==typeof this.preMap&&(t=this.preMap(t));let e=void 0;var r,i,a,_,o=this.fileValidation(e?.data||t);return void 0===(e=void 0!==o?o:e)||e.valid?(i=this.primaryValidation(e?.data||t),void 0===(e=void 0!==i?i:e)||e.valid?void 0===e?(_={data:void 0,valid:!1,error:{fr:"Aucune règle defini",en:"No rule define"}[this.getLang()]},this.getMapError()(_,void 0,"NO_RULE__RULE",this.get_label(),this.getLang())):(e.valid&&void 0!==this.map&&"function"==typeof this.map&&(e.data=this.map(e.data)),e):(a=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,a,this._errorRule,this.get_label(),this.getLang()))):(r=e.error,e.error=void 0!==this.get_error()?this.get_error():e.error,this.getMapError()(e,r,this._errorRule,this.get_label(),this.getLang()))}catch(e){o={data:void 0,valid:!1,error:""+e};return this.getMapError()(o,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}fileValidation(t){try{let e=void 0;var r,i;for({rule:r,name:i}of[{rule:this._FILE__RULE,name:"FILE__RULE"},{rule:this._FILE__MIN__RULE,name:"FILE__MIN__RULE"},{rule:this._FILE__MAX__RULE,name:"FILE__MAX__RULE"},{rule:this._FILE__LESS__RULE,name:"FILE__LESS__RULE"},{rule:this._FILE__GREATER__RULE,name:"FILE__GREATER__RULE"},{rule:this._FILE__LENGTH__RULE,name:"FILE__LENGTH__RULE"}])if(void 0!==r){var a=r(e?.data||t);if(void 0!==(e=void 0!==a?a:e)&&!e.valid)return e.error=void 0!==this.get_error()?this.get_error():e.error,this._errorRule=i,e}return e}catch(e){var _={data:void 0,valid:!1,error:""+e};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}dataUrlToFile(e,t="file"){var e=e.split(","),r=e[0].match(/:(.*?);/);if(!r)throw new Error("Le DataURL ne contient pas de MIME valide");var r=r[1],i={"image/jpeg":"jpg","image/png":"png","image/gif":"gif","image/webp":"webp","image/bmp":"bmp","image/tiff":"tif","image/svg+xml":"svg","image/x-icon":"ico","image/heic":"heic","image/heif":"heif","image/avif":"avif","video/mp4":"mp4","video/webm":"webm","video/ogg":"ogv","video/x-msvideo":"avi","video/quicktime":"mov","video/mpeg":"mpeg","video/x-matroska":"mkv","audio/mpeg":"mp3","audio/ogg":"ogg","audio/wav":"wav","audio/webm":"weba","audio/aac":"aac","audio/flac":"flac","audio/opus":"opus","application/pdf":"pdf","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.ms-excel":"xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","text/plain":"txt","text/csv":"csv","text/rtf":"rtf","application/epub+zip":"epub","text/html":"html","text/css":"css","text/javascript":"js","application/javascript":"js","application/json":"json","application/xml":"xml","text/xml":"xml","application/zip":"zip","application/gzip":"gz","application/x-tar":"tar","application/x-rar-compressed":"rar","application/x-7z-compressed":"7z","application/x-bzip2":"bz2","application/x-xz":"xz","text/x-python":"py","text/x-c":"c","text/x-c++":"cpp","text/x-java-source":"java","application/java-archive":"jar","application/x-sh":"sh","application/x-bat":"bat","text/x-php":"php","text/x-typescript":"ts","application/x-sql":"sql","font/ttf":"ttf","font/otf":"otf","font/woff":"woff","font/woff2":"woff2","application/octet-stream":"bin","application/x-executable":"exe","application/x-dosexec":"exe","application/x-msdownload":"msi","application/x-iso9660-image":"iso"}[r]||r.split("/")[1]||"bin",a=atob(e[1]),_=a.length,o=new Uint8Array(_);for(let e=0;e<_;e++)o[e]=a.charCodeAt(e);e=`${t}-${Date.now()}.`+i;return new File([o],e,{type:r})}}return a={String:M,Number:A,Boolean:S,Date:N,Enum:c,NotEnum:T,Array:m,File:y,Object:p,ChosenType:L,AnyType:O},"undefined"!=typeof window&&(window.JON=a),i={default:a,String:M,Number:A,Boolean:S,Date:N,File:y,Enum:c,NotEnum:T,Array:m,Object:p,ChosenType:L,AnyType:O}})(),StringElementGF=globalFunct.String,NumberElementGF=globalFunct.Number,BooleanElementGF=globalFunct.Boolean,DateElementGF=globalFunct.Date,FileElementGF=globalFunct.File,EnumElementGF=globalFunct.Enum,NotEnumElementGF=globalFunct.NotEnum,ArrayElementGF=globalFunct.Array,ObjectElementGF=globalFunct.Object,ChosenTypeElementGF=globalFunct.ChosenType,AnyTypeElementGF=globalFunct.AnyType,defaultElementGF=globalFunct.default;
|