@jsarc/jon 0.0.1-beta.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1391 -0
- package/index.ts +7247 -0
- package/jon.ts +8247 -0
- package/js/index.js +5648 -0
- package/package.json +21 -0
- package/ts/index.ts +7247 -0
- package/ts/jon.ts +8247 -0
- package/tsconfig.json +27 -0
- package/web/jon.js +6471 -0
- package/web/jon.min.js +1 -0
package/web/jon.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let globalFunct=(e=>{let t=["en","fr"],_="%Y-%m-%dT%H:%M:%S.%fZ";var r="%Y/%m/%d",i="%H:%M:%S.%f",a=["0","1","2","3","4","5","6","7","8","9"],o=["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"],n=[...o,...o.map(e=>e.toUpperCase())];function s(e){return t.includes(e)?e:"fr"}function l(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 d(e,t,r=0,i,a){return e}function h(e,t){let r=!1;try{r=U.parse(e,t).isCorrect()}catch(e){r=!1}return r}[...a,...o],[...a,...n];let R={datetime:_,date:r,time:i};function E(e){return!(null==e||"number"==typeof e&&isNaN(e))}function v(e,t=void 0,r=void 0){r="string"==typeof r&&0<r.length?r:void 0;var i=Object.keys(R);return(t=[...i,"undefined","other"].includes(t||"")?t:void 0)&&i.includes(t||"")&&(r=R[t]),!("boolean"==typeof e)&&!e||"string"==typeof r&&0<r.length&&U.parse(e,r).isCorrect()||("other"===t||void 0===t)&&typeof e in["string","number","boolean"]||"undefined"===t&&void 0===e}function g(e){let t=!0;try{var r;void 0!==e&&(r=Number(e),t=!isNaN(r)&&isFinite(r))}catch{t=!1}return t}class f{_label=void 0;_lang="fr";_default=void 0;_rules=[];_value=void 0;_default_error=void 0;map=void 0;preMap=void 0;_mapError={map:d};_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=s(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=s(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=s(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:d}initMapError(e){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},this._mapError.map="function"==typeof e?e:d,this}applyPreMapping(e=l){return this.preMap=e,this}applyMapping(e=l){return this.map=e,this}getErrorRule(){return this._errorRule}}class U{_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 U&&e&&e?._date?this._date=new Date(e?._date):e instanceof Date?this._date=new Date(e):"string"==typeof e?this._date=U.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 U}static parse(e,t){return"string"==typeof t&&0<t.length&&(e instanceof U&&e&&e?._date||e instanceof Date||"string"==typeof e||"number"==typeof e||null==e||"number"==typeof e&&isNaN(e))&&U.parseWithFormat(e,t)||new U(e)}static unix(e){return new U(1e3*e)}static utc(){var e=new Date;return new U(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 U(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 U(r)}subtract(e,t){return this.add(-e,t)}startOf(e){if(!this._date)return new U(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 U(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 U?e:new U(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 U?e:new U(e);return!(!this._date||!e._date)&&(!t&&this._date>e._date||!!t&&this._date>=e._date)}isSame(e,t){var r,e=e instanceof U?e:new U(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 U?e:new U(e),t=t instanceof U?t:new U(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=U.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=U.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 U(e)):new U(void 0)}utc(){return this._date?new U(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 U(void 0)}local(){return this._date?new U(new Date(this._date.getFullYear(),this._date.getMonth(),this._date.getDate(),this._date.getHours(),this._date.getMinutes(),this._date.getSeconds(),this._date.getMilliseconds())):new U(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 U&&!!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 U(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{...U.PREDEFINED_FORMATS}}static exposeToGlobal(){"undefined"!=typeof window&&(window.Timez=U)}}"undefined"!=typeof window&&(window.Timez=U);class m{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}static exposeToGlobal(){"undefined"!=typeof window&&(window.Fodat=m)}}function p(e){return e instanceof S||e instanceof N||e instanceof y||e instanceof O||e instanceof L||e instanceof c||e instanceof T||e instanceof M||e instanceof A||e instanceof b}"undefined"!=typeof window&&(window.Fodat=m);class L extends f{_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(!p(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 c extends f{_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=m.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(!p(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(!p(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 S(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 S(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 S(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 S(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 T extends f{_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(!p(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 M extends f{_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 A extends f{_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 S extends f{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_format=void 0;_dateFormat=r;_timeFormat=i;_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=v(e,"datetime",this._format),r=v(e,"date",this._format),i=v(e,"time",this._format);if(void 0===this._format&&(t?this.changeFormat(_):r?this.changeFormat(this._dateFormat):v(e,"time",this._format)&&this.changeFormat(this._timeFormat)),"string"==typeof e)return e;if(t||r||i)return U.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&&h(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 N extends f{_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=>g(e)||!E(e);var r,i,e=E(e)?e:this.get_default(),a=t(e);return{valid:a,data:a?t(r=e)&&(g(r)||!E(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=>g(e)&&"number"==typeof e&&"number"==typeof a&&a<=e||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&"number"==typeof a&&e<=a||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&"number"==typeof a&&a<e||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&"number"==typeof a&&e<a||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&e<=0||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&0<=e||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&(0<e||e<0)||!!E(e);var r,e=E(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&&g(e)&&Number.isInteger(e)||!!E(e);var r,e=E(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&&g(e)||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&"number"==typeof a&&e%a==0||!!E(e);var r,e=E(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=>g(e)&&"number"==typeof e&&9<e&&e<=99999||!!E(e);var r,e=E(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 y extends f{_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=E(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=E(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 d}}class O extends f{_timezone=void 0;_format=void 0;_dateFormat=r;_timeFormat=i;_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(R),(r=[...a,"undefined","string"].includes(r||"")?r:void 0)&&a.includes(r||"")&&(i=R[r]),U.parse(t,i).isCorrect(),"string"==typeof i&&0<i.length&&U.parse(t,i).isCorrect()||"string"===r&&"string"==typeof t&&0<t.length&&void 0!==i&&U.parse(t,i).isCorrect()||void 0===e;var t,r,i,a};var e=E(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&&h(t,this._format))e=U.parse(t,this._format);else if(t instanceof Date)e=new U(t);else{if(!(t instanceof U))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=U.parse(a,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._minValue=r.toDate()),e=>{if(!E(e))return!0;let t=U.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"[)")});var e=E(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 `+U.parse(this._maxValue).format(),en:`${t} must be between ${r.format()} and `+U.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=U.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._maxValue=r.toDate()),e=>{if(!E(e))return!0;let t=U.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"(]")});var t,e=E(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=U.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._lessValue=r.toDate()),e=>{if(!E(e))return!0;let t=U.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"()")});var t,e=E(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=U.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._greaterValue=r.toDate()),e=>{if(!E(e))return!0;let t=U.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"()")});var t,e=E(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=U.parse(_,this._format),t=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._equalValue=r.toDate()),e=>{if(!E(e))return!0;let t=U.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isSame(r)});var i,e=E(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(E(_)&&(e=_),i,E(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 b extends f{_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 I extends f{_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 S(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 S(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 o={String:S,Number:N,Boolean:y,Date:O,Enum:M,NotEnum:A,Array:L,File:I,Object:c,ChosenType:T,AnyType:b},"undefined"!=typeof window&&(window.JON=o),a={default:o,String:S,Number:N,Boolean:y,Date:O,File:I,Enum:M,NotEnum:A,Array:L,Object:c,ChosenType:T,AnyType:b},n=a,void 0!==e&&(e.default=o,e.String=S,e.Number=N,e.Boolean=y,e.Date=O,e.File=I,e.Enum=M,e.NotEnum=A,e.Array=L,e.Object=c,e.ChosenType=T,e.AnyType=b,e.__bundledModules=n),"undefined"!=typeof window&&(window.default=o,window.String=S,window.Number=N,window.Boolean=y,window.Date=O,window.File=I,window.Enum=M,window.NotEnum=A,window.Array=L,window.Object=c,window.ChosenType=T,window.AnyType=b,window.__bundledModules=n),"undefined"!=typeof exports&&(exports.default=o,exports.String=S,exports.Number=N,exports.Boolean=y,exports.Date=O,exports.File=I,exports.Enum=M,exports.NotEnum=A,exports.Array=L,exports.Object=c,exports.ChosenType=T,exports.AnyType=b),a})("undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof globalThis?globalThis:{}),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;
|