@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.
@@ -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.4",
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;