@arc-js/cp-request 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -503,7 +503,33 @@ function customGetNotifRequestType(status: number): string {
503
503
  ### Schémas de Validation Personnalisés
504
504
 
505
505
  ```typescript
506
- import JON from '@arc-js/jon';
506
+ import {
507
+ StringSchema,
508
+ NumberSchema,
509
+ BooleanSchema,
510
+ DateSchema,
511
+ EnumSchema,
512
+ NotEnumSchema,
513
+ ArraySchema,
514
+ FileSchema,
515
+ ObjectSchema,
516
+ ChosenTypeSchema,
517
+ AnyTypeSchema,
518
+ } from '@arc-js/jon';
519
+
520
+ const JON = {
521
+ 'String': StringSchema,
522
+ 'Number': NumberSchema,
523
+ 'Boolean': BooleanSchema,
524
+ 'Date': DateSchema,
525
+ 'Enum': EnumSchema,
526
+ 'NotEnum': NotEnumSchema,
527
+ 'Array': ArraySchema,
528
+ 'File': FileSchema,
529
+ 'Object': ObjectSchema,
530
+ 'ChosenType': ChosenTypeSchema,
531
+ 'AnyType': AnyTypeSchema,
532
+ };
507
533
 
508
534
  // Créer un schéma de validation personnalisé
509
535
  const userSchema = new JON.Object('fr').struct({
package/cp-request.all.js CHANGED
@@ -1,5 +1,5 @@
1
- import Timez from '@#{{organization}}/timez';
2
- import Fodat from '@#{{organization}}/fodat';
1
+ import { Timez } from '@#{{organization}}/timez';
2
+ import { Fodat } from '@#{{organization}}/fodat';
3
3
 
4
4
  const NODEENV = 'development'; // development | debug | production
5
5
  const langs = ['en', 'fr'];
@@ -5961,6 +5961,7 @@ JONSchemas.String;
5961
5961
  JONSchemas.Number;
5962
5962
  JONSchemas.Boolean;
5963
5963
  JONSchemas.Date;
5964
+ JONSchemas.File;
5964
5965
  JONSchemas.Enum;
5965
5966
  JONSchemas.NotEnum;
5966
5967
  JONSchemas.Array;
@@ -6591,4 +6592,4 @@ var index_all = {
6591
6592
  WsRequest,
6592
6593
  };
6593
6594
 
6594
- export { HttpRequest, WsRequest, index_all as default };
6595
+
@@ -1,2 +1,2 @@
1
- import Timez from"@#{{organization}}/timez";import Fodat from"@#{{organization}}/fodat";let NODEENV="development",langs=["en","fr"],dateTimeFormatInitial="%Y-%m-%dT%H:%M:%S.%fZ",dateFormat5="%Y/%m/%d",timeFormat3="%H:%M:%S.%f",tabAlphabetique=["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"],DEFAULT_OPTIONS=([...tabAlphabetique,...tabAlphabetique.map(e=>e.toUpperCase())],{arrayFormat:"bracket",arraySeparator:",",skipNull:!0,skipEmptyString:!1,encode:!0,decode:!0,depth:10});class Qust{options;constructor(e={}){this.options={...DEFAULT_OPTIONS,...e}}stringify(e){return e&&"object"==typeof e&&(this.processObject("",e,e=[],0),0<e.length)?"?"+e.join("&"):""}parse(e){if(!e||"string"!=typeof e)return{};e=e.startsWith("?")?e.slice(1):e;if(!e)return{};var t,r,i,a={};for(t of e.split("&"))t&&([r,i]=t.split("="),r)&&(r=this.options.decode?decodeURIComponent(r):r,i=this.options.decode&&void 0!==i?decodeURIComponent(i):i,this.setValue(a,r,i));return this.transformArrays(a)}processObject(e,t,r,i){if(!(i>this.options.depth))if(null==t)this.options.skipNull||r.push(this.encodeKey(e));else if("string"!=typeof t||""!==t||!this.options.skipEmptyString)if(Array.isArray(t))this.processArray(e,t,r,i+1);else if("object"!=typeof t||this.isPrimitive(t)){var a=this.encodeKey(e),_=(this.options.encode&&"string"==typeof t?encodeURIComponent:String)(t);r.push(a+"="+_)}else for(var[s,o]of Object.entries(t)){s=e?`${e}[${s}]`:s;this.processObject(s,o,r,i+1)}}processArray(r,e,i,a){if(0!==e.length){let t=this.encodeKey(r);switch(this.options.arrayFormat){case"comma":var _=e.map(e=>(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e)).join(this.options.arraySeparator);i.push(t+"="+_);break;case"index":e.forEach((e,t)=>{this.processObject(r+`[${t}]`,e,i,a)});break;case"separator":e.forEach(e=>{e=(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e);i.push(t+"="+e)});break;case"none":e.forEach(e=>{this.processObject(r,e,i,a)});break;default:e.forEach(e=>{this.processObject(r+"[]",e,i,a)})}}}encodeKey(t){if(!this.options.encode)return t;var r=[];let i="";for(let e=0;e<t.length;e++){var a=t[e];"["===a||"]"===a?(i&&(r.push(encodeURIComponent(i)),i=""),r.push(a)):i+=a}return i&&r.push(encodeURIComponent(i)),r.join("")}setValue(e,t,r){var i=t.match(/([^\[\]]+)|(\[\])/g);if(i){let t=e;for(let e=0;e<i.length;e++){var a,_,s=i[e],o=e===i.length-1;"[]"===s?(Array.isArray(t)||(t=[]),o?r&&t.push(this.parseValue(r)):(a=i[e+1],a=parseInt(a,10),isNaN(a)?(_={},t.push(_),t=_):(void 0===t[a]&&(t[a]={}),t=t[a],e++))):o?void 0!==r&&(t[s]=this.parseValue(r)):(void 0!==t[s]&&"object"==typeof t[s]||(_=i[e+1],t[s]="[]"===_?[]:{}),t=t[s])}}else void 0!==r&&(e[t]=this.parseValue(r))}transformArrays(i){if(Array.isArray(i))return i.map(e=>"object"==typeof e&&null!==e?this.transformArrays(e):e);if("object"!=typeof i||null===i)return i;let r={};var e=Object.keys(i);if(e.every(e=>{var t=parseInt(e,10);return!isNaN(t)&&0<=t&&t.toString()===e})&&0<e.length){let r=[];return e.forEach(e=>{var t=parseInt(e,10);r[t]=this.transformArrays(i[e])}),r}return e.forEach(e=>{var t=i[e];r[e]="object"==typeof t&&null!==t?this.transformArrays(t):t}),r}parseValue(e){var t;return"true"===e||"false"!==e&&("null"===e?null:"undefined"!==e?(t=Number(e),isNaN(t)||""===e.trim()?e:t):void 0)}isPrimitive(e){return null===e||"object"!=typeof e&&"function"!=typeof e}setOptions(e){this.options={...this.options,...e}}getOptions(){return{...this.options}}static exposeToGlobal(){"undefined"!=typeof window&&(window.Qust=Qust)}}let qust={stringify(e,t){return new Qust(t).stringify(e)},parse(e,t){return new Qust(t).parse(e)}};"undefined"!=typeof window&&(window.Qust=Qust,window.qust=qust);class Pajo{static PROTOCOL_REGEX=/^[a-zA-Z]+:\/\//;static DOUBLE_SLASH_REGEX=/\/+/g;static DOUBLE_BACKSLASH_REGEX=/\\+/g;static TRAILING_SLASH_REGEX=/\/+$/;static TRAILING_BACKSLASH_REGEX=/\\+$/;static LEADING_SLASH_REGEX=/^\/+/;static WINDOWS_DRIVE_REGEX=/^[a-zA-Z]:\\/;static MIXED_SEPARATORS_REGEX=/[\\/]+/g;static join(...r){if(0!==r.length){let t=r.some(e=>this.isWindowsPath(e));var i=r.filter(e=>null!=e&&0<e.trim().length).map(e=>this.normalizePathSegment(e,t));if(0!==i.length){var a=t?"\\":"/";let e=i.join(a);return t?e=e.replace(this.DOUBLE_BACKSLASH_REGEX,"\\"):(e=e.replace(this.DOUBLE_SLASH_REGEX,"/"),r[0]?.startsWith("/")&&!e.startsWith("/")&&(e="/"+e)),e||void 0}}}static joinWithHost(e,...t){var r;return e&&0!==e.trim().length?(e=e.trim().replace(this.TRAILING_SLASH_REGEX,""),e=this.PROTOCOL_REGEX.test(e)?e:"https://"+e,(r=this.join(...t))?e+"/"+r.replace(/\\/g,"/").replace(this.LEADING_SLASH_REGEX,""):e):this.join(...t)}static normalizePathSegment(e,t){return e&&0!==e.trim().length?(e=e.trim(),t?e.replace(this.DOUBLE_BACKSLASH_REGEX,"\\").replace(this.TRAILING_BACKSLASH_REGEX,""):e.replace(this.DOUBLE_SLASH_REGEX,"/").replace(this.TRAILING_SLASH_REGEX,"")):""}static isWindowsPath(e){return this.WINDOWS_DRIVE_REGEX.test(e)||e.includes("\\")}static resolve(...t){t=this.join(...t);if(t){var r,i=this.isWindowsPath(t),a=i?"\\":"/",t=t.split(a),_=[];for(r of t)".."===r?0<_.length&&".."!==_[_.length-1]?_.pop():_.push(r):"."!==r&&""!==r&&_.push(r);let e=_.join(a);return e=i&&this.WINDOWS_DRIVE_REGEX.test(t[0])?t[0]+a+e:e}}static isAbsolute(e){return!!e&&(e.startsWith("/")||this.WINDOWS_DRIVE_REGEX.test(e)||this.PROTOCOL_REGEX.test(e))}static dirname(e){var t,r;if(e)return r=(t=this.isWindowsPath(e))?"\\":"/",-1===(r=(e=this.normalizePathSegment(e,t)).lastIndexOf(r))?".":0===r?t?e.substring(0,2):"/":e.substring(0,r)||(t?".":"/")}static basename(t,r){if(t){var i=this.isWindowsPath(t),a=i?"\\":"/",t=this.normalizePathSegment(t,i),i=t.lastIndexOf(a);let e=-1===i?t:t.substring(i+1);return(e=r&&e.endsWith(r)?e.substring(0,e.length-r.length):e)||void 0}}static extname(e){var t;return(e=e&&this.basename(e))&&0<(t=e.lastIndexOf("."))?e.substring(t):void 0}static toUnixPath(e){return e.replace(/\\/g,"/")}static toWindowsPath(e){return e.replace(/\//g,"\\")}static exposeToGlobal(){"undefined"!=typeof window&&(window.Pajo=Pajo)}}function getLang(e){return langs.includes(e)?e:"fr"}function InitialMapFunct(e){return e}function cleanField(e,t=15,r=!1){r="boolean"==typeof r&&r,t="number"==typeof t&&0<t?t:15;e=String(e);return e.length>t?r?"..."+e.slice(-t):e.slice(0,t)+"...":e}function defaultMapError(e,t,r=0,i,a){return e}function isDatetimeFormat(e,t){let r=!1;try{r=Timez.parse(e,t).isCorrect()}catch(e){r=!1}return r}"undefined"!=typeof window&&Pajo.exposeToGlobal();let defaultDateFormats={datetime:dateTimeFormatInitial,date:dateFormat5,time:timeFormat3};function isNotNull(e){return!(null==e||"number"==typeof e&&isNaN(e))}function isDate(e,t=void 0,r=dateTimeFormatInitial){r="string"==typeof r&&0<r.length?r:void 0;var i=Object.keys(defaultDateFormats),i=((t=[...i,"undefined","string"].includes(t||"")?t:void 0)&&i.includes(t||"")&&(r=defaultDateFormats[t]),Timez.parse(e,r).isCorrect(),"string"==typeof r&&0<r.length&&Timez.parse(e,r).isCorrect()||"string"===t&&"string"==typeof e&&0<e.length&&void 0!==r&&Timez.parse(e,r).isCorrect());return i}function isString(e,t=void 0,r=void 0){r="string"==typeof r&&0<r.length?r:void 0;var i=Object.keys(defaultDateFormats);return(t=[...i,"undefined","other"].includes(t||"")?t:void 0)&&i.includes(t||"")&&(r=defaultDateFormats[t]),!("boolean"==typeof e)&&!e||"string"==typeof r&&0<r.length&&Timez.parse(e,r).isCorrect()||("other"===t||void 0===t)&&typeof e in["string","number","boolean"]||"undefined"===t&&void 0===e}function isNumber(e){let t=!0;try{var r;void 0!==e&&(r=Number(e),t=!isNaN(r)&&isFinite(r))}catch{t=!1}return t}function isBoolean(e,t=[],r=!1){return"boolean"==typeof e||t.includes(e)||"string"==typeof e&&t.includes(e.toLowerCase())||!e&&!r}function convertToBoolean(e){let t=e;return"boolean"==typeof e?t=e:void 0!==e&&["true","t","1","false","f","0"].includes(String(e).toLowerCase())&&(t=["true","t","1"].includes(String(e).toLowerCase())),t}class JONDefaultSchema{_label=void 0;_lang="fr";_default=void 0;_rules=[];_value=void 0;_default_error=void 0;map=void 0;preMap=void 0;_mapError={map:defaultMapError};_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=getLang(e)}applyApp(a=e=>!!e,_=e=>e,s=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=s&&s(this.get_label())}catch(e){t=s}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=getLang(e)}get_label(){return cleanField("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=getLang(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){t={data:void 0,valid:!1,error:String(e)};return this._mapError.map(t,void 0,"UNKNOWN__RULE",this.get_label(),this.getLang())}}isValid(e){return this.validate(e),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:String(e)}}}getMapError(){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},"map"in this._mapError?this._mapError.map:defaultMapError}initMapError(e){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},this._mapError.map="function"==typeof e?e:defaultMapError,this}applyPreMapping(e=InitialMapFunct){return this.preMap=e,this}applyMapping(e=InitialMapFunct){return this.map=e,this}getErrorRule(){return this._errorRule}}function checkIfCorrectTypeSchema(e){return e instanceof StringSchema||e instanceof NumberSchema||e instanceof BooleanSchema||e instanceof DateSchema||e instanceof ArraySchema||e instanceof ObjectSchema||e instanceof ChosenTypeSchema||e instanceof EnumSchema||e instanceof NotEnumSchema||e instanceof AnyTypeSchema}class ArraySchema extends JONDefaultSchema{_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(...i){let n=JSON.stringify(""+this.get_label());if(Array.isArray(i)&&0!==i.length){var a=[];for(let t of i){if(!checkIfCorrectTypeSchema(t)){let e=e=>({valid:!1,data:void 0,error:new Error({fr:`${n} a un ou plusieurs types invalides (${cleanField(String(t))}) pour analyse`,en:`${n} has one or more invalid types (${cleanField(String(t))}) for analysis`}[this.get_lang()])});return this.addRule(e),this._ARRAY__TYPE__RULE=e,this}a.push(t)}this._types=a;let o=(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 s=_.label(this.get_label()+`[${i}]`).validate(a);if(NODEENV,s.valid){r=s,e=!0;break}t=t||s}!e&&t&&(r=t)}return r}catch(e){return{data:void 0,valid:!1,error:String(e)}}},r=a=>{try{if(!Array.isArray(a)&&null!=a)return{valid:!1,data:void 0,error:new Error({fr:n+" a un type invalide pour analyse",en:n+" 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],s=o(e,_);if(NODEENV,s.valid)r=s,t.push(s.data),i=void 0;else if(!i){t=[],i=s;break}}return i?i:{data:null!=a?t:void 0,valid:r.valid,error:r.error}}catch(e){return{data:void 0,valid:!1,error:String(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:n+" a un ou plusieurs types invalides pour analyse",en:n+" 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,_,s=this.arrayValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class ObjectSchema extends JONDefaultSchema{_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=Fodat.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(i){let h=JSON.stringify(""+this.get_label());if("object"!=typeof i||null===i||0===Object.keys(i).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[t,r]of Object.entries(i)){if(!checkIfCorrectTypeSchema(r)){let e=e=>({valid:!1,data:void 0,error:new Error({fr:`L'attribut '${t}' de l'element ${h} a un type invalide (${cleanField(String(r))}) pour analyse`,en:`The '${t}' attribute of the ${h} element has an invalid type (${cleanField(String(r))}) for analysis.`}[this.get_lang()])});return this.addRule(e),this._OBJECT__STRUCT__RULE=e,this}d[t]=r}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){NODEENV;for(var[_,s]of Object.entries(d)){var o=s.label(`${this.get_label()}['${_}']`),n=void 0!==r[_]?r[_]:void 0,l=o.validate(n);if("debug"===NODEENV&&l.valid,NODEENV,!l.valid){a[_]=void 0,t=l;break}e=l,a[_]=l.data,t=void 0}}return t?t:(NODEENV,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{data:void 0,valid:!1,error:String(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(...i){let d=JSON.stringify(""+this.get_label());if(Array.isArray(i)&&0!==i.length){let n=[];for(let t of i){if(!checkIfCorrectTypeSchema(t)){let e=e=>({valid:!1,data:void 0,error:new Error({fr:`${d} a un ou plusieurs typesValues invalides (${cleanField(String(t))}) pour analyse`,en:`${d} has one or more invalid typesValues (${cleanField(String(t))}) for analysis`}[this.get_lang()])});return this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e,this}n.push(t)}let l=(i,a)=>{try{let e={valid:!0,data:a,error:void 0},t=void 0,r=void 0;var _,s=[];for(_ of n){var o=_.label(this.get_label()+`['${i}']`).validate(a);if(NODEENV,s.push(o),o.valid){t=o;break}r=o}return t?e=t:r&&(e=r),"debug"===NODEENV&&t,NODEENV,e}catch(e){return{data:void 0,valid:!1,error:String(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[s,o]of Object.entries(i)){var n=l(s,o);if(NODEENV,_.push(n),n.valid)t=n,e=n,a[s]=n.data;else if(!r){r=n;break}}return r?e=r:t&&(e=t),NODEENV,{data:null!=i?a:void 0,valid:e.valid,error:e.error}}catch(e){return{data:void 0,valid:!1,error:String(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,s=!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 StringSchema(this.get_lang());return s?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 StringSchema(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,s=!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 StringSchema(this.get_lang());return s?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 StringSchema(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,_,s=this.objectValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class ChosenTypeSchema extends JONDefaultSchema{_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 s=a.label(this.get_label()).validate(e);if(NODEENV,_.push(s),s.valid){t=s;break}r=s}return t?e=t:r&&(e=r),e}catch(e){return{data:void 0,valid:!1,error:String(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 r=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:r+" a un ou plusieurs types invalides pour analyse",en:r+" has one or more invalid types for analysis"}[this.get_lang()])})),this._CHOSEN_TYPE__RULE=t,this;var i=[];for(let t of e){if(!checkIfCorrectTypeSchema(t))return this.addRule(a=e=>({valid:!1,data:void 0,error:new Error({fr:`${r} a un ou plusieurs types invalides (${cleanField(String(t))}) pour analyse`,en:`${r} has one or more invalid types (${cleanField(String(t))}) for analysis`}[this.get_lang()])})),this._CHOSEN_TYPE__RULE=a,this;var a=t.label(this.get_label());void 0===a.get_default()&&a.default(this.get_default()),i.push(a)}return this._types=i,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,_,s=this.chosenTypesValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class EnumSchema extends JONDefaultSchema{_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,_,s=this.enumValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class NotEnumSchema extends JONDefaultSchema{_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,_,s=this.notEnumValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class StringSchema extends JONDefaultSchema{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_format=void 0;_dateFormat=dateFormat5;_timeFormat=timeFormat3;_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=isString(e,"datetime",this._format),r=isString(e,"date",this._format),i=isString(e,"time",this._format);if(void 0===this._format&&(t?this.changeFormat(dateTimeFormatInitial):r?this.changeFormat(this._dateFormat):isString(e,"time",this._format)&&this.changeFormat(this._timeFormat)),"string"==typeof e)return e;if(t||r||i)return Timez.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?String(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?String(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===String(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?String(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===String(e).charAt(0).toUpperCase()+String(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?String(r).charAt(0).toUpperCase()+String(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:dateTimeFormatInitial;e=e=>{let t=e=>"string"==typeof e&&isDatetimeFormat(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,_,s=this.stringValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class NumberSchema extends JONDefaultSchema{_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=>isNumber(e)||!isNotNull(e);var r,i,e=isNotNull(e)?e:this.get_default(),a=t(e);return{valid:a,data:a?t(r=e)&&(isNumber(r)||!isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&a<=e||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&e<=a||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&a<e||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&e<a||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&e<=0||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&0<=e||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&(0<e||e<0)||!!isNotNull(e);var r,e=isNotNull(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&&isNumber(e)&&Number.isInteger(e)||!!isNotNull(e);var r,e=isNotNull(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&&isNumber(e)||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&e%a==0||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&9<e&&e<=99999||!!isNotNull(e);var r,e=isNotNull(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,_,s=this.numberValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class BooleanSchema extends JONDefaultSchema{_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 t=e=>isBoolean(e,[...this._trueValues,...this._falseValues],!1);var r,e=isNotNull(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?convertToBoolean(r):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 booléen",en:r+" 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=isNotNull(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,_,s=this.booleanValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}getMapError(){return defaultMapError}}class DateSchema extends JONDefaultSchema{_timezone=void 0;_format=void 0;_dateFormat=dateFormat5;_timeFormat=timeFormat3;_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=>isDate(e,void 0,this._format)||void 0===e;var e=isNotNull(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(dateTimeFormatInitial);let e;if("string"==typeof t&&isDatetimeFormat(t,this._format))e=Timez.parse(t,this._format);else if(t instanceof Date)e=new Timez(t);else{if(!(t instanceof Timez))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=Timez.parse(a,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._minValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"[)")});var e=isNotNull(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 `+Timez.parse(this._maxValue).format(),en:`${t} must be between ${r.format()} and `+Timez.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=Timez.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._maxValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"(]")});var t,e=isNotNull(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=Timez.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._lessValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"()")});var t,e=isNotNull(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=Timez.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._greaterValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"()")});var t,e=isNotNull(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=Timez.parse(_,this._format),t=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._equalValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isSame(r)});var i,e=isNotNull(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,_,s=this.dateValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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(isNotNull(_)&&(e=_),i,isNotNull(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 s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class AnyTypeSchema extends JONDefaultSchema{_ANY_TYPE__RULE=void 0;constructor(e="fr"){super(e),this.anyType()}anyType(){var e=e=>({valid:!0,data:void 0!==e?e:this.get_default(),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,_,s=this.anyTypeValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class FileSchema extends JONDefaultSchema{_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 StringSchema(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 StringSchema(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,_,s=this.fileValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(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,s=new Uint8Array(_);for(let e=0;e<_;e++)s[e]=a.charCodeAt(e);e=`${t}-${Date.now()}.`+i;return new File([s],e,{type:r})}}var JONSchemas={String:StringSchema,Number:NumberSchema,Boolean:BooleanSchema,Date:DateSchema,Enum:EnumSchema,NotEnum:NotEnumSchema,Array:ArraySchema,File:FileSchema,Object:ObjectSchema,ChosenType:ChosenTypeSchema,AnyType:AnyTypeSchema},JON=("undefined"!=typeof window&&(window.JON=JONSchemas),JONSchemas.String,{...JONSchemas});function defaultMapAction$1(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultErrMapAction$1(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultSuccessAction$1(e){}function defaultErrorAction$1(e){}function getNotifRequestType(e=void 0){let t="success";return t=[200].includes(e)||!e?(e=200,"success"):[422].includes(e)?"warning":[403,409].includes(e)?"error_auth":[419,401].includes(e)?"error_auth_required":![404,405,500,400].includes(e)&&[501].includes(e)?"info":"error"}class HttpRequest{host;lang="fr";constructor(){}initConfig(e,t){return"string"==typeof e&&0<e.length&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}getDefaultError(){var e={fr:"Error lors de la recuperation de la reponse",en:"Error lors de la recuperation de la reponse"}[this.lang];return{response:{code:404,type:"error",message:e},data:void 0,error:new Error(e)}}async actionRequest(_={path:"",method:"GET"},s={},o=void 0,n,l,d,a){var h=this.getFetchClass(),u=(_="object"==typeof _&&!1===Array.isArray(_)?_:{path:"",method:"GET"})?.responseType&&["json","arraybuffer","blob","text"].includes(_?.responseType)?_?.responseType:"json",E=["GET","POST","PUT","DELETE"].includes(_?.method)?_?.method:"GET";let R="string"==typeof _?.path?_?.path:"",v="object"==typeof _?.headers&&!1===Array.isArray(_?.headers)&&0<Object.keys(_?.headers).length?_?.headers:void 0;var g="object"==typeof _?.params&&!1===Array.isArray(_?.params)&&0<Object.keys(_?.params).length?_?.params:void 0;let f="object"==typeof _?.body&&!1===Array.isArray(_?.body)||_?.body instanceof FormData?_?.body:void 0;"object"==typeof f&&!1===Array.isArray(f)&&(f=JSON.stringify(_?.body)),s="object"==typeof s&&0==Array.isArray(s)?s:{},_?.auth&&(v={...v,Authorization:"Basic "+btoa(_?.auth?.username+":"+_?.auth?.password)});_=n||defaultMapAction$1,n=l||defaultErrMapAction$1,l=d||defaultSuccessAction$1,d=a||defaultErrorAction$1;o=(o=o instanceof JON.Object?o:new JON.Object(this.lang)).required();try{var U="string"==typeof this.host&&0<this.host.length?Pajo.joinWithHost(this.host,R):Pajo.join(R),c=(U&&(R=U),g&&(R=""+R+qust.stringify(g)),{method:E,headers:v,...s}),p=(f&&(c.body=f),NODEENV,await h(R,{...c})),m=!!p.headers.get("content-type"),L=p.headers.get("content-type")?.includes("application/json"),S=(NODEENV,p.status),A=getNotifRequestType(S);let e=void 0,t=("text"===u&&m?e=await p.text():"json"===u&&L?e=await p.json():"arraybuffer"===u&&m&&(e=await p.arrayBuffer()),void 0),r=("object"!=typeof e||Array.isArray(e)?"string"!=typeof e||["info","success"].includes(A)||(t=e):t=e?.errors,NODEENV,void 0);p.ok||(r="object"==typeof t&&!Array.isArray(t)&&0<Object.keys(t).length?t[Object.keys(t)[Object.keys(t).length-1]]:e?.message||{en:"unknown error",fr:"erreur inconnue"}[this.lang]),NODEENV;var N=S||(p.ok?200:404),T=S?A:p.ok?"success":"error",M=r,y=o.isValid(e),O=p.ok?e:void 0,b=y?O:this.getDefaultError();let i=void 0,a=("object"!=typeof t||Array.isArray(t)?"object"==typeof t&&Array.isArray(t)?i=i:"string"==typeof t&&0<t.length&&(i=[i]):i=Object.values(t),i?.[0]);!(a=a instanceof Error||null==a?a:new Error(""+a))&&r&&(a=new Error(""+r),i=[r]);var I=(["success","info"].includes(T)?_:n)(N,T,M,O,b,a,i);NODEENV,"success"===I.response.type?await l(I):await d(I)}catch(e){let t="erreur inconnue";"string"==typeof e?.message?t=e?.message:"string"==typeof e&&(t=e),"failed to fetch"===t.toLowerCase()&&(t={en:"Service unavailable. Please try again later.",fr:"Service indisponible. Veuillez réessayer plus tard."}[this.lang]);a=e?.status||404,U=e?.status?getNotifRequestType(e?.status):"error",g=t,E=e,s=o.isValid(E),h=s?E:this.getDefaultError();let r=[t],i=("object"!=typeof r||Array.isArray(r)?"object"==typeof r&&Array.isArray(r)?r=r:"string"==typeof r&&0<r.length&&(r=[r]):r=Object.values(r),r?.[0]);!(i=i instanceof Error||null==i?i:new Error(""+i))&&t&&(i=new Error(""+t),r=[t]);c=n(a,U,g,E,h,i,r);return await d(c),c}}async findAllRequests(e={path:"",method:"GET"},t={},r=defaultSuccessAction$1,i=defaultErrorAction$1){var a=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),datas:new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).required().default([])});await this.actionRequest(e,t,a,(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.datas,error:_,errors:s}),(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.datas,error:_,errors:s}),r,i)}async findOneRequest(e={path:"",method:"GET"},t={},r=defaultSuccessAction$1,i=defaultErrorAction$1){var a=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),data:new JON.Object(this.lang).min(1)});await this.actionRequest(e,t,a,(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.data,error:_,errors:s}),(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.data,error:_,errors:s}),r,i)}getFetchClass(){return"undefined"!=typeof window?window.fetch:fetch}static exposeToGlobal(){"undefined"!=typeof window&&(window.HttpRequest=HttpRequest)}}function defaultMapAction(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultErrMapAction(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultSuccessAction(e){}function defaultErrorAction(e){}"undefined"!=typeof window&&(window.HttpRequest=HttpRequest);class WsRequest{host;lang="fr";socket=null;connected=!1;autoReconnect=!0;reconnectDelay=2e3;maxReconnectAttempts=10;reconnectAttempts=0;messageQueue=[];constructor(){}initConfig(e,t){return e&&"string"==typeof e&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}connect(e){var{path:t,auth:r,headers:i={},autoReconnect:a=!0,reconnectDelay:_=2e3,maxReconnectAttempts:s=10}=e,o="object"==typeof e?.params&&!Array.isArray(e?.params)&&0<Object.keys(e?.params).length?e?.params:void 0;this.autoReconnect=a,this.reconnectDelay=_,this.maxReconnectAttempts=s;let n="string"==typeof this.host&&0<this.host.length?Pajo.joinWithHost(this.host,t):Pajo.join(t);o&&(n=""+n+qust.stringify(o)),r&&(i.Authorization="Basic "+btoa(r.username+":"+r.password)),this.socket=new(this.getWsClass())(n||""),this.socket.onopen=()=>{for(this.connected=!0,this.reconnectAttempts=0;0<this.messageQueue.length;)this.socket?.send(this.messageQueue.shift())},this.socket.onerror=e=>{},this.socket.onclose=()=>{this.connected=!1,this.autoReconnect&&this.reconnectAttempts<this.maxReconnectAttempts&&setTimeout(()=>{this.reconnectAttempts++,this.connect(e)},this.reconnectDelay)}}async actionMessage(t,n=void 0,l=defaultMapAction,d=defaultErrMapAction,h=defaultSuccessAction,u=defaultErrorAction){if(this.connected&&this.socket){n=(n=n instanceof JON.Object?n:new JON.Object(this.lang)).required();let e=JSON.stringify(t);return new Promise(o=>{this.socket.onmessage=async t=>{let r=void 0;try{r=JSON.parse(t.data)}catch(e){r=t.data}var t=n.isValid(r)?r:void 0,e=r?.response?.code??200,i=r?.response?.type??"success",a=r?.response?.message??void 0;let _=[],s=(_=r?.errors?Array.isArray(r.errors)?r.errors:Object.values(r.errors):_)?.[0];s instanceof Error||void 0!==s&&(s=new Error(""+s));e=("success"===i||"info"===i?l:d)(e,i,a,r,t,s,_);"success"===e.response.type?await h(e):await u(e),o(e)},this.socket.send(e)})}this.messageQueue.push(JSON.stringify(t))}async findAllMessages(e,t=defaultSuccessAction,r=defaultErrorAction){var i=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),datas:new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).default([])}),a=(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.datas||[],error:_,errors:s});return this.actionMessage(e,i,a,a,t,r)}async findOneMessage(e,t=defaultSuccessAction,r=defaultErrorAction){var i=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),data:new JON.Object(this.lang).min(1)}),a=(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.data||null,error:_,errors:s});return this.actionMessage(e,i,a,a,t,r)}getWsClass(){return"undefined"!=typeof window?window.WebSocket:WebSocket}static exposeToGlobal(){"undefined"!=typeof window&&(window.WsRequest=WsRequest)}}"undefined"!=typeof window&&(window.WsRequest=WsRequest);var index_all={HttpRequest:HttpRequest,WsRequest:WsRequest};export{HttpRequest,WsRequest,index_all as default};
1
+ import{Timez}from"@#{{organization}}/timez";import{Fodat}from"@#{{organization}}/fodat";let NODEENV="development",langs=["en","fr"],dateTimeFormatInitial="%Y-%m-%dT%H:%M:%S.%fZ",dateFormat5="%Y/%m/%d",timeFormat3="%H:%M:%S.%f",tabAlphabetique=["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"],DEFAULT_OPTIONS=([...tabAlphabetique,...tabAlphabetique.map(e=>e.toUpperCase())],{arrayFormat:"bracket",arraySeparator:",",skipNull:!0,skipEmptyString:!1,encode:!0,decode:!0,depth:10});class Qust{options;constructor(e={}){this.options={...DEFAULT_OPTIONS,...e}}stringify(e){return e&&"object"==typeof e&&(this.processObject("",e,e=[],0),0<e.length)?"?"+e.join("&"):""}parse(e){if(!e||"string"!=typeof e)return{};e=e.startsWith("?")?e.slice(1):e;if(!e)return{};var t,r,i,a={};for(t of e.split("&"))t&&([r,i]=t.split("="),r)&&(r=this.options.decode?decodeURIComponent(r):r,i=this.options.decode&&void 0!==i?decodeURIComponent(i):i,this.setValue(a,r,i));return this.transformArrays(a)}processObject(e,t,r,i){if(!(i>this.options.depth))if(null==t)this.options.skipNull||r.push(this.encodeKey(e));else if("string"!=typeof t||""!==t||!this.options.skipEmptyString)if(Array.isArray(t))this.processArray(e,t,r,i+1);else if("object"!=typeof t||this.isPrimitive(t)){var a=this.encodeKey(e),_=(this.options.encode&&"string"==typeof t?encodeURIComponent:String)(t);r.push(a+"="+_)}else for(var[s,o]of Object.entries(t)){s=e?`${e}[${s}]`:s;this.processObject(s,o,r,i+1)}}processArray(r,e,i,a){if(0!==e.length){let t=this.encodeKey(r);switch(this.options.arrayFormat){case"comma":var _=e.map(e=>(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e)).join(this.options.arraySeparator);i.push(t+"="+_);break;case"index":e.forEach((e,t)=>{this.processObject(r+`[${t}]`,e,i,a)});break;case"separator":e.forEach(e=>{e=(this.options.encode&&"string"==typeof e?encodeURIComponent:String)(e);i.push(t+"="+e)});break;case"none":e.forEach(e=>{this.processObject(r,e,i,a)});break;default:e.forEach(e=>{this.processObject(r+"[]",e,i,a)})}}}encodeKey(t){if(!this.options.encode)return t;var r=[];let i="";for(let e=0;e<t.length;e++){var a=t[e];"["===a||"]"===a?(i&&(r.push(encodeURIComponent(i)),i=""),r.push(a)):i+=a}return i&&r.push(encodeURIComponent(i)),r.join("")}setValue(e,t,r){var i=t.match(/([^\[\]]+)|(\[\])/g);if(i){let t=e;for(let e=0;e<i.length;e++){var a,_,s=i[e],o=e===i.length-1;"[]"===s?(Array.isArray(t)||(t=[]),o?r&&t.push(this.parseValue(r)):(a=i[e+1],a=parseInt(a,10),isNaN(a)?(_={},t.push(_),t=_):(void 0===t[a]&&(t[a]={}),t=t[a],e++))):o?void 0!==r&&(t[s]=this.parseValue(r)):(void 0!==t[s]&&"object"==typeof t[s]||(_=i[e+1],t[s]="[]"===_?[]:{}),t=t[s])}}else void 0!==r&&(e[t]=this.parseValue(r))}transformArrays(i){if(Array.isArray(i))return i.map(e=>"object"==typeof e&&null!==e?this.transformArrays(e):e);if("object"!=typeof i||null===i)return i;let r={};var e=Object.keys(i);if(e.every(e=>{var t=parseInt(e,10);return!isNaN(t)&&0<=t&&t.toString()===e})&&0<e.length){let r=[];return e.forEach(e=>{var t=parseInt(e,10);r[t]=this.transformArrays(i[e])}),r}return e.forEach(e=>{var t=i[e];r[e]="object"==typeof t&&null!==t?this.transformArrays(t):t}),r}parseValue(e){var t;return"true"===e||"false"!==e&&("null"===e?null:"undefined"!==e?(t=Number(e),isNaN(t)||""===e.trim()?e:t):void 0)}isPrimitive(e){return null===e||"object"!=typeof e&&"function"!=typeof e}setOptions(e){this.options={...this.options,...e}}getOptions(){return{...this.options}}static exposeToGlobal(){"undefined"!=typeof window&&(window.Qust=Qust)}}let qust={stringify(e,t){return new Qust(t).stringify(e)},parse(e,t){return new Qust(t).parse(e)}};"undefined"!=typeof window&&(window.Qust=Qust,window.qust=qust);class Pajo{static PROTOCOL_REGEX=/^[a-zA-Z]+:\/\//;static DOUBLE_SLASH_REGEX=/\/+/g;static DOUBLE_BACKSLASH_REGEX=/\\+/g;static TRAILING_SLASH_REGEX=/\/+$/;static TRAILING_BACKSLASH_REGEX=/\\+$/;static LEADING_SLASH_REGEX=/^\/+/;static WINDOWS_DRIVE_REGEX=/^[a-zA-Z]:\\/;static MIXED_SEPARATORS_REGEX=/[\\/]+/g;static join(...r){if(0!==r.length){let t=r.some(e=>this.isWindowsPath(e));var i=r.filter(e=>null!=e&&0<e.trim().length).map(e=>this.normalizePathSegment(e,t));if(0!==i.length){var a=t?"\\":"/";let e=i.join(a);return t?e=e.replace(this.DOUBLE_BACKSLASH_REGEX,"\\"):(e=e.replace(this.DOUBLE_SLASH_REGEX,"/"),r[0]?.startsWith("/")&&!e.startsWith("/")&&(e="/"+e)),e||void 0}}}static joinWithHost(e,...t){var r;return e&&0!==e.trim().length?(e=e.trim().replace(this.TRAILING_SLASH_REGEX,""),e=this.PROTOCOL_REGEX.test(e)?e:"https://"+e,(r=this.join(...t))?e+"/"+r.replace(/\\/g,"/").replace(this.LEADING_SLASH_REGEX,""):e):this.join(...t)}static normalizePathSegment(e,t){return e&&0!==e.trim().length?(e=e.trim(),t?e.replace(this.DOUBLE_BACKSLASH_REGEX,"\\").replace(this.TRAILING_BACKSLASH_REGEX,""):e.replace(this.DOUBLE_SLASH_REGEX,"/").replace(this.TRAILING_SLASH_REGEX,"")):""}static isWindowsPath(e){return this.WINDOWS_DRIVE_REGEX.test(e)||e.includes("\\")}static resolve(...t){t=this.join(...t);if(t){var r,i=this.isWindowsPath(t),a=i?"\\":"/",t=t.split(a),_=[];for(r of t)".."===r?0<_.length&&".."!==_[_.length-1]?_.pop():_.push(r):"."!==r&&""!==r&&_.push(r);let e=_.join(a);return e=i&&this.WINDOWS_DRIVE_REGEX.test(t[0])?t[0]+a+e:e}}static isAbsolute(e){return!!e&&(e.startsWith("/")||this.WINDOWS_DRIVE_REGEX.test(e)||this.PROTOCOL_REGEX.test(e))}static dirname(e){var t,r;if(e)return r=(t=this.isWindowsPath(e))?"\\":"/",-1===(r=(e=this.normalizePathSegment(e,t)).lastIndexOf(r))?".":0===r?t?e.substring(0,2):"/":e.substring(0,r)||(t?".":"/")}static basename(t,r){if(t){var i=this.isWindowsPath(t),a=i?"\\":"/",t=this.normalizePathSegment(t,i),i=t.lastIndexOf(a);let e=-1===i?t:t.substring(i+1);return(e=r&&e.endsWith(r)?e.substring(0,e.length-r.length):e)||void 0}}static extname(e){var t;return(e=e&&this.basename(e))&&0<(t=e.lastIndexOf("."))?e.substring(t):void 0}static toUnixPath(e){return e.replace(/\\/g,"/")}static toWindowsPath(e){return e.replace(/\//g,"\\")}static exposeToGlobal(){"undefined"!=typeof window&&(window.Pajo=Pajo)}}function getLang(e){return langs.includes(e)?e:"fr"}function InitialMapFunct(e){return e}function cleanField(e,t=15,r=!1){r="boolean"==typeof r&&r,t="number"==typeof t&&0<t?t:15;e=String(e);return e.length>t?r?"..."+e.slice(-t):e.slice(0,t)+"...":e}function defaultMapError(e,t,r=0,i,a){return e}function isDatetimeFormat(e,t){let r=!1;try{r=Timez.parse(e,t).isCorrect()}catch(e){r=!1}return r}"undefined"!=typeof window&&Pajo.exposeToGlobal();let defaultDateFormats={datetime:dateTimeFormatInitial,date:dateFormat5,time:timeFormat3};function isNotNull(e){return!(null==e||"number"==typeof e&&isNaN(e))}function isDate(e,t=void 0,r=dateTimeFormatInitial){r="string"==typeof r&&0<r.length?r:void 0;var i=Object.keys(defaultDateFormats),i=((t=[...i,"undefined","string"].includes(t||"")?t:void 0)&&i.includes(t||"")&&(r=defaultDateFormats[t]),Timez.parse(e,r).isCorrect(),"string"==typeof r&&0<r.length&&Timez.parse(e,r).isCorrect()||"string"===t&&"string"==typeof e&&0<e.length&&void 0!==r&&Timez.parse(e,r).isCorrect());return i}function isString(e,t=void 0,r=void 0){r="string"==typeof r&&0<r.length?r:void 0;var i=Object.keys(defaultDateFormats);return(t=[...i,"undefined","other"].includes(t||"")?t:void 0)&&i.includes(t||"")&&(r=defaultDateFormats[t]),!("boolean"==typeof e)&&!e||"string"==typeof r&&0<r.length&&Timez.parse(e,r).isCorrect()||("other"===t||void 0===t)&&typeof e in["string","number","boolean"]||"undefined"===t&&void 0===e}function isNumber(e){let t=!0;try{var r;void 0!==e&&(r=Number(e),t=!isNaN(r)&&isFinite(r))}catch{t=!1}return t}function isBoolean(e,t=[],r=!1){return"boolean"==typeof e||t.includes(e)||"string"==typeof e&&t.includes(e.toLowerCase())||!e&&!r}function convertToBoolean(e){let t=e;return"boolean"==typeof e?t=e:void 0!==e&&["true","t","1","false","f","0"].includes(String(e).toLowerCase())&&(t=["true","t","1"].includes(String(e).toLowerCase())),t}class JONDefaultSchema{_label=void 0;_lang="fr";_default=void 0;_rules=[];_value=void 0;_default_error=void 0;map=void 0;preMap=void 0;_mapError={map:defaultMapError};_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=getLang(e)}applyApp(a=e=>!!e,_=e=>e,s=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=s&&s(this.get_label())}catch(e){t=s}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=getLang(e)}get_label(){return cleanField("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=getLang(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){t={data:void 0,valid:!1,error:String(e)};return this._mapError.map(t,void 0,"UNKNOWN__RULE",this.get_label(),this.getLang())}}isValid(e){return this.validate(e),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:String(e)}}}getMapError(){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},"map"in this._mapError?this._mapError.map:defaultMapError}initMapError(e){return this._mapError="object"==typeof this._mapError&&void 0!==this._mapError?this._mapError:{},this._mapError.map="function"==typeof e?e:defaultMapError,this}applyPreMapping(e=InitialMapFunct){return this.preMap=e,this}applyMapping(e=InitialMapFunct){return this.map=e,this}getErrorRule(){return this._errorRule}}function checkIfCorrectTypeSchema(e){return e instanceof StringSchema||e instanceof NumberSchema||e instanceof BooleanSchema||e instanceof DateSchema||e instanceof ArraySchema||e instanceof ObjectSchema||e instanceof ChosenTypeSchema||e instanceof EnumSchema||e instanceof NotEnumSchema||e instanceof AnyTypeSchema}class ArraySchema extends JONDefaultSchema{_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(...i){let n=JSON.stringify(""+this.get_label());if(Array.isArray(i)&&0!==i.length){var a=[];for(let t of i){if(!checkIfCorrectTypeSchema(t)){let e=e=>({valid:!1,data:void 0,error:new Error({fr:`${n} a un ou plusieurs types invalides (${cleanField(String(t))}) pour analyse`,en:`${n} has one or more invalid types (${cleanField(String(t))}) for analysis`}[this.get_lang()])});return this.addRule(e),this._ARRAY__TYPE__RULE=e,this}a.push(t)}this._types=a;let o=(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 s=_.label(this.get_label()+`[${i}]`).validate(a);if(NODEENV,s.valid){r=s,e=!0;break}t=t||s}!e&&t&&(r=t)}return r}catch(e){return{data:void 0,valid:!1,error:String(e)}}},r=a=>{try{if(!Array.isArray(a)&&null!=a)return{valid:!1,data:void 0,error:new Error({fr:n+" a un type invalide pour analyse",en:n+" 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],s=o(e,_);if(NODEENV,s.valid)r=s,t.push(s.data),i=void 0;else if(!i){t=[],i=s;break}}return i?i:{data:null!=a?t:void 0,valid:r.valid,error:r.error}}catch(e){return{data:void 0,valid:!1,error:String(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:n+" a un ou plusieurs types invalides pour analyse",en:n+" 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,_,s=this.arrayValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class ObjectSchema extends JONDefaultSchema{_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=Fodat.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(i){let h=JSON.stringify(""+this.get_label());if("object"!=typeof i||null===i||0===Object.keys(i).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[t,r]of Object.entries(i)){if(!checkIfCorrectTypeSchema(r)){let e=e=>({valid:!1,data:void 0,error:new Error({fr:`L'attribut '${t}' de l'element ${h} a un type invalide (${cleanField(String(r))}) pour analyse`,en:`The '${t}' attribute of the ${h} element has an invalid type (${cleanField(String(r))}) for analysis.`}[this.get_lang()])});return this.addRule(e),this._OBJECT__STRUCT__RULE=e,this}d[t]=r}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){NODEENV;for(var[_,s]of Object.entries(d)){var o=s.label(`${this.get_label()}['${_}']`),n=void 0!==r[_]?r[_]:void 0,l=o.validate(n);if("debug"===NODEENV&&l.valid,NODEENV,!l.valid){a[_]=void 0,t=l;break}e=l,a[_]=l.data,t=void 0}}return t?t:(NODEENV,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{data:void 0,valid:!1,error:String(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(...i){let d=JSON.stringify(""+this.get_label());if(Array.isArray(i)&&0!==i.length){let n=[];for(let t of i){if(!checkIfCorrectTypeSchema(t)){let e=e=>({valid:!1,data:void 0,error:new Error({fr:`${d} a un ou plusieurs typesValues invalides (${cleanField(String(t))}) pour analyse`,en:`${d} has one or more invalid typesValues (${cleanField(String(t))}) for analysis`}[this.get_lang()])});return this.addRule(e),this._OBJECT__TYPES_VALUES__RULE=e,this}n.push(t)}let l=(i,a)=>{try{let e={valid:!0,data:a,error:void 0},t=void 0,r=void 0;var _,s=[];for(_ of n){var o=_.label(this.get_label()+`['${i}']`).validate(a);if(NODEENV,s.push(o),o.valid){t=o;break}r=o}return t?e=t:r&&(e=r),"debug"===NODEENV&&t,NODEENV,e}catch(e){return{data:void 0,valid:!1,error:String(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[s,o]of Object.entries(i)){var n=l(s,o);if(NODEENV,_.push(n),n.valid)t=n,e=n,a[s]=n.data;else if(!r){r=n;break}}return r?e=r:t&&(e=t),NODEENV,{data:null!=i?a:void 0,valid:e.valid,error:e.error}}catch(e){return{data:void 0,valid:!1,error:String(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,s=!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 StringSchema(this.get_lang());return s?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 StringSchema(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,s=!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 StringSchema(this.get_lang());return s?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 StringSchema(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,_,s=this.objectValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class ChosenTypeSchema extends JONDefaultSchema{_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 s=a.label(this.get_label()).validate(e);if(NODEENV,_.push(s),s.valid){t=s;break}r=s}return t?e=t:r&&(e=r),e}catch(e){return{data:void 0,valid:!1,error:String(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 r=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:r+" a un ou plusieurs types invalides pour analyse",en:r+" has one or more invalid types for analysis"}[this.get_lang()])})),this._CHOSEN_TYPE__RULE=t,this;var i=[];for(let t of e){if(!checkIfCorrectTypeSchema(t))return this.addRule(a=e=>({valid:!1,data:void 0,error:new Error({fr:`${r} a un ou plusieurs types invalides (${cleanField(String(t))}) pour analyse`,en:`${r} has one or more invalid types (${cleanField(String(t))}) for analysis`}[this.get_lang()])})),this._CHOSEN_TYPE__RULE=a,this;var a=t.label(this.get_label());void 0===a.get_default()&&a.default(this.get_default()),i.push(a)}return this._types=i,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,_,s=this.chosenTypesValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class EnumSchema extends JONDefaultSchema{_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,_,s=this.enumValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class NotEnumSchema extends JONDefaultSchema{_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,_,s=this.notEnumValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class StringSchema extends JONDefaultSchema{_maxValue=void 0;_minValue=void 0;_lessValue=void 0;_greaterValue=void 0;_lengthValue=void 0;_format=void 0;_dateFormat=dateFormat5;_timeFormat=timeFormat3;_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=isString(e,"datetime",this._format),r=isString(e,"date",this._format),i=isString(e,"time",this._format);if(void 0===this._format&&(t?this.changeFormat(dateTimeFormatInitial):r?this.changeFormat(this._dateFormat):isString(e,"time",this._format)&&this.changeFormat(this._timeFormat)),"string"==typeof e)return e;if(t||r||i)return Timez.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?String(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?String(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===String(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?String(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===String(e).charAt(0).toUpperCase()+String(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?String(r).charAt(0).toUpperCase()+String(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:dateTimeFormatInitial;e=e=>{let t=e=>"string"==typeof e&&isDatetimeFormat(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,_,s=this.stringValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class NumberSchema extends JONDefaultSchema{_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=>isNumber(e)||!isNotNull(e);var r,i,e=isNotNull(e)?e:this.get_default(),a=t(e);return{valid:a,data:a?t(r=e)&&(isNumber(r)||!isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&a<=e||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&e<=a||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&a<e||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&e<a||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&e<=0||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&0<=e||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&(0<e||e<0)||!!isNotNull(e);var r,e=isNotNull(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&&isNumber(e)&&Number.isInteger(e)||!!isNotNull(e);var r,e=isNotNull(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&&isNumber(e)||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&"number"==typeof a&&e%a==0||!!isNotNull(e);var r,e=isNotNull(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=>isNumber(e)&&"number"==typeof e&&9<e&&e<=99999||!!isNotNull(e);var r,e=isNotNull(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,_,s=this.numberValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(_,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class BooleanSchema extends JONDefaultSchema{_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 t=e=>isBoolean(e,[...this._trueValues,...this._falseValues],!1);var r,e=isNotNull(e)?e:this.get_default(),i=t(e);return{valid:i,data:i?t(r=e)?convertToBoolean(r):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 booléen",en:r+" 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=isNotNull(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,_,s=this.booleanValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}getMapError(){return defaultMapError}}class DateSchema extends JONDefaultSchema{_timezone=void 0;_format=void 0;_dateFormat=dateFormat5;_timeFormat=timeFormat3;_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=>isDate(e,void 0,this._format)||void 0===e;var e=isNotNull(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(dateTimeFormatInitial);let e;if("string"==typeof t&&isDatetimeFormat(t,this._format))e=Timez.parse(t,this._format);else if(t instanceof Date)e=new Timez(t);else{if(!(t instanceof Timez))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=Timez.parse(a,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._minValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"[)")});var e=isNotNull(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 `+Timez.parse(this._maxValue).format(),en:`${t} must be between ${r.format()} and `+Timez.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=Timez.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._maxValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"(]")});var t,e=isNotNull(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=Timez.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._lessValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isAfter(r,"()")});var t,e=isNotNull(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=Timez.parse(_,this._format),i=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._greaterValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isBefore(r,"()")});var t,e=isNotNull(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=Timez.parse(_,this._format),t=((r=r.isCorrect()&&this._timezone?r.setTimezone(this._timezone):r).isCorrect()&&(this._equalValue=r.toDate()),e=>{if(!isNotNull(e))return!0;let t=Timez.parse(e,this._format);return!!(t=t.isCorrect()&&this._timezone?t.setTimezone(this._timezone):t).isCorrect()&&t.isSame(r)});var i,e=isNotNull(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,_,s=this.dateValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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(isNotNull(_)&&(e=_),i,isNotNull(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 s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class AnyTypeSchema extends JONDefaultSchema{_ANY_TYPE__RULE=void 0;constructor(e="fr"){super(e),this.anyType()}anyType(){var e=e=>({valid:!0,data:void 0!==e?e:this.get_default(),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,_,s=this.anyTypeValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(e)};return this.getMapError()(t,e,"UNKNOWN__RULE",this.get_label(),this.getLang())}}}class FileSchema extends JONDefaultSchema{_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 StringSchema(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 StringSchema(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,_,s=this.fileValidation(e?.data||t);return void 0===(e=void 0!==s?s: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){s={data:void 0,valid:!1,error:String(e)};return this.getMapError()(s,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:String(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,s=new Uint8Array(_);for(let e=0;e<_;e++)s[e]=a.charCodeAt(e);e=`${t}-${Date.now()}.`+i;return new File([s],e,{type:r})}}var JONSchemas={String:StringSchema,Number:NumberSchema,Boolean:BooleanSchema,Date:DateSchema,Enum:EnumSchema,NotEnum:NotEnumSchema,Array:ArraySchema,File:FileSchema,Object:ObjectSchema,ChosenType:ChosenTypeSchema,AnyType:AnyTypeSchema},JON=("undefined"!=typeof window&&(window.JON=JONSchemas),JONSchemas.String,{...JONSchemas});function defaultMapAction$1(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultErrMapAction$1(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultSuccessAction$1(e){}function defaultErrorAction$1(e){}function getNotifRequestType(e=void 0){let t="success";return t=[200].includes(e)||!e?(e=200,"success"):[422].includes(e)?"warning":[403,409].includes(e)?"error_auth":[419,401].includes(e)?"error_auth_required":![404,405,500,400].includes(e)&&[501].includes(e)?"info":"error"}class HttpRequest{host;lang="fr";constructor(){}initConfig(e,t){return"string"==typeof e&&0<e.length&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}getDefaultError(){var e={fr:"Error lors de la recuperation de la reponse",en:"Error lors de la recuperation de la reponse"}[this.lang];return{response:{code:404,type:"error",message:e},data:void 0,error:new Error(e)}}async actionRequest(_={path:"",method:"GET"},s={},o=void 0,n,l,d,a){var h=this.getFetchClass(),u=(_="object"==typeof _&&!1===Array.isArray(_)?_:{path:"",method:"GET"})?.responseType&&["json","arraybuffer","blob","text"].includes(_?.responseType)?_?.responseType:"json",E=["GET","POST","PUT","DELETE"].includes(_?.method)?_?.method:"GET";let R="string"==typeof _?.path?_?.path:"",v="object"==typeof _?.headers&&!1===Array.isArray(_?.headers)&&0<Object.keys(_?.headers).length?_?.headers:void 0;var g="object"==typeof _?.params&&!1===Array.isArray(_?.params)&&0<Object.keys(_?.params).length?_?.params:void 0;let f="object"==typeof _?.body&&!1===Array.isArray(_?.body)||_?.body instanceof FormData?_?.body:void 0;"object"==typeof f&&!1===Array.isArray(f)&&(f=JSON.stringify(_?.body)),s="object"==typeof s&&0==Array.isArray(s)?s:{},_?.auth&&(v={...v,Authorization:"Basic "+btoa(_?.auth?.username+":"+_?.auth?.password)});_=n||defaultMapAction$1,n=l||defaultErrMapAction$1,l=d||defaultSuccessAction$1,d=a||defaultErrorAction$1;o=(o=o instanceof JON.Object?o:new JON.Object(this.lang)).required();try{var U="string"==typeof this.host&&0<this.host.length?Pajo.joinWithHost(this.host,R):Pajo.join(R),c=(U&&(R=U),g&&(R=""+R+qust.stringify(g)),{method:E,headers:v,...s}),p=(f&&(c.body=f),NODEENV,await h(R,{...c})),m=!!p.headers.get("content-type"),L=p.headers.get("content-type")?.includes("application/json"),S=(NODEENV,p.status),A=getNotifRequestType(S);let e=void 0,t=("text"===u&&m?e=await p.text():"json"===u&&L?e=await p.json():"arraybuffer"===u&&m&&(e=await p.arrayBuffer()),void 0),r=("object"!=typeof e||Array.isArray(e)?"string"!=typeof e||["info","success"].includes(A)||(t=e):t=e?.errors,NODEENV,void 0);p.ok||(r="object"==typeof t&&!Array.isArray(t)&&0<Object.keys(t).length?t[Object.keys(t)[Object.keys(t).length-1]]:e?.message||{en:"unknown error",fr:"erreur inconnue"}[this.lang]),NODEENV;var N=S||(p.ok?200:404),T=S?A:p.ok?"success":"error",M=r,y=o.isValid(e),O=p.ok?e:void 0,b=y?O:this.getDefaultError();let i=void 0,a=("object"!=typeof t||Array.isArray(t)?"object"==typeof t&&Array.isArray(t)?i=i:"string"==typeof t&&0<t.length&&(i=[i]):i=Object.values(t),i?.[0]);!(a=a instanceof Error||null==a?a:new Error(""+a))&&r&&(a=new Error(""+r),i=[r]);var I=(["success","info"].includes(T)?_:n)(N,T,M,O,b,a,i);NODEENV,"success"===I.response.type?await l(I):await d(I)}catch(e){let t="erreur inconnue";"string"==typeof e?.message?t=e?.message:"string"==typeof e&&(t=e),"failed to fetch"===t.toLowerCase()&&(t={en:"Service unavailable. Please try again later.",fr:"Service indisponible. Veuillez réessayer plus tard."}[this.lang]);a=e?.status||404,U=e?.status?getNotifRequestType(e?.status):"error",g=t,E=e,s=o.isValid(E),h=s?E:this.getDefaultError();let r=[t],i=("object"!=typeof r||Array.isArray(r)?"object"==typeof r&&Array.isArray(r)?r=r:"string"==typeof r&&0<r.length&&(r=[r]):r=Object.values(r),r?.[0]);!(i=i instanceof Error||null==i?i:new Error(""+i))&&t&&(i=new Error(""+t),r=[t]);c=n(a,U,g,E,h,i,r);return await d(c),c}}async findAllRequests(e={path:"",method:"GET"},t={},r=defaultSuccessAction$1,i=defaultErrorAction$1){var a=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),datas:new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).required().default([])});await this.actionRequest(e,t,a,(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.datas,error:_,errors:s}),(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.datas,error:_,errors:s}),r,i)}async findOneRequest(e={path:"",method:"GET"},t={},r=defaultSuccessAction$1,i=defaultErrorAction$1){var a=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),data:new JON.Object(this.lang).min(1)});await this.actionRequest(e,t,a,(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.data,error:_,errors:s}),(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.data,error:_,errors:s}),r,i)}getFetchClass(){return"undefined"!=typeof window?window.fetch:fetch}static exposeToGlobal(){"undefined"!=typeof window&&(window.HttpRequest=HttpRequest)}}function defaultMapAction(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultErrMapAction(e,t,r,i,a,_,s){return{response:{code:e,type:t,message:r},data:a,error:_,errors:s}}function defaultSuccessAction(e){}function defaultErrorAction(e){}"undefined"!=typeof window&&(window.HttpRequest=HttpRequest);class WsRequest{host;lang="fr";socket=null;connected=!1;autoReconnect=!0;reconnectDelay=2e3;maxReconnectAttempts=10;reconnectAttempts=0;messageQueue=[];constructor(){}initConfig(e,t){return e&&"string"==typeof e&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}connect(e){var{path:t,auth:r,headers:i={},autoReconnect:a=!0,reconnectDelay:_=2e3,maxReconnectAttempts:s=10}=e,o="object"==typeof e?.params&&!Array.isArray(e?.params)&&0<Object.keys(e?.params).length?e?.params:void 0;this.autoReconnect=a,this.reconnectDelay=_,this.maxReconnectAttempts=s;let n="string"==typeof this.host&&0<this.host.length?Pajo.joinWithHost(this.host,t):Pajo.join(t);o&&(n=""+n+qust.stringify(o)),r&&(i.Authorization="Basic "+btoa(r.username+":"+r.password)),this.socket=new(this.getWsClass())(n||""),this.socket.onopen=()=>{for(this.connected=!0,this.reconnectAttempts=0;0<this.messageQueue.length;)this.socket?.send(this.messageQueue.shift())},this.socket.onerror=e=>{},this.socket.onclose=()=>{this.connected=!1,this.autoReconnect&&this.reconnectAttempts<this.maxReconnectAttempts&&setTimeout(()=>{this.reconnectAttempts++,this.connect(e)},this.reconnectDelay)}}async actionMessage(t,n=void 0,l=defaultMapAction,d=defaultErrMapAction,h=defaultSuccessAction,u=defaultErrorAction){if(this.connected&&this.socket){n=(n=n instanceof JON.Object?n:new JON.Object(this.lang)).required();let e=JSON.stringify(t);return new Promise(o=>{this.socket.onmessage=async t=>{let r=void 0;try{r=JSON.parse(t.data)}catch(e){r=t.data}var t=n.isValid(r)?r:void 0,e=r?.response?.code??200,i=r?.response?.type??"success",a=r?.response?.message??void 0;let _=[],s=(_=r?.errors?Array.isArray(r.errors)?r.errors:Object.values(r.errors):_)?.[0];s instanceof Error||void 0!==s&&(s=new Error(""+s));e=("success"===i||"info"===i?l:d)(e,i,a,r,t,s,_);"success"===e.response.type?await h(e):await u(e),o(e)},this.socket.send(e)})}this.messageQueue.push(JSON.stringify(t))}async findAllMessages(e,t=defaultSuccessAction,r=defaultErrorAction){var i=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),datas:new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).default([])}),a=(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.datas||[],error:_,errors:s});return this.actionMessage(e,i,a,a,t,r)}async findOneMessage(e,t=defaultSuccessAction,r=defaultErrorAction){var i=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),data:new JON.Object(this.lang).min(1)}),a=(e,t,r,i,a,_,s)=>({response:{code:e,type:t,message:r},data:a?.data||null,error:_,errors:s});return this.actionMessage(e,i,a,a,t,r)}getWsClass(){return"undefined"!=typeof window?window.WebSocket:WebSocket}static exposeToGlobal(){"undefined"!=typeof window&&(window.WsRequest=WsRequest)}}"undefined"!=typeof window&&(window.WsRequest=WsRequest);var index_all={HttpRequest:HttpRequest,WsRequest:WsRequest};
2
2
  //# sourceMappingURL=cp-request.all.min.js.map
package/index.js CHANGED
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var qust = require('@arc-js/qust');
6
- var Pajo = require('@arc-js/pajo');
7
- var JON = require('@arc-js/jon');
6
+ var pajo = require('@arc-js/pajo');
7
+ var jon = require('@arc-js/jon');
8
8
 
9
9
 
10
10
 
@@ -29,6 +29,12 @@ const NODEENV = 'development';
29
29
  const tabAlphabetique = ['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'];
30
30
  [...tabAlphabetique, ...tabAlphabetique.map(x => x.toUpperCase())];
31
31
 
32
+ const JON$1 = {
33
+ 'String': jon.StringSchema,
34
+ 'Number': jon.NumberSchema,
35
+ 'Enum': jon.EnumSchema,
36
+ 'Array': jon.ArraySchema,
37
+ 'Object': jon.ObjectSchema};
32
38
  function defaultMapAction$1(code, type, message, data, cleanedData, error, errors) {
33
39
  return ({
34
40
  response: {
@@ -164,13 +170,13 @@ class HttpRequest {
164
170
  const errMapActionF = (!!errMapAction) ? errMapAction : defaultErrMapAction$1;
165
171
  const successActionF = !!successAction ? successAction : defaultSuccessAction$1;
166
172
  const errorActionF = (!!errorAction) ? errorAction : defaultErrorAction$1;
167
- if (!(schema instanceof JON.Object)) {
168
- schema = new JON.Object(this.lang);
173
+ if (!(schema instanceof JON$1.Object)) {
174
+ schema = new JON$1.Object(this.lang);
169
175
  }
170
176
  schema = schema.required();
171
177
  try {
172
178
  const newPath = (typeof this.host === 'string' &&
173
- this.host.length > 0) ? Pajo.joinWithHost(this.host, path) : Pajo.join(path);
179
+ this.host.length > 0) ? pajo.Pajo.joinWithHost(this.host, path) : pajo.Pajo.join(path);
174
180
  if (!!newPath) {
175
181
  path = newPath;
176
182
  }
@@ -332,13 +338,13 @@ class HttpRequest {
332
338
  path: "",
333
339
  method: "GET",
334
340
  }, otherParams = {}, successAction = defaultSuccessAction$1, errorAction = defaultErrorAction$1) {
335
- const schema = new JON.Object(this.lang).struct({
336
- response: new JON.Object(this.lang).struct({
337
- type: new JON.Enum(this.lang).choices('warning', 'success', 'danger', 'info').required(),
338
- code: new JON.Number(this.lang).required(),
339
- message: new JON.String(this.lang),
341
+ const schema = new JON$1.Object(this.lang).struct({
342
+ response: new JON$1.Object(this.lang).struct({
343
+ type: new JON$1.Enum(this.lang).choices('warning', 'success', 'danger', 'info').required(),
344
+ code: new JON$1.Number(this.lang).required(),
345
+ message: new JON$1.String(this.lang),
340
346
  }),
341
- datas: new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).required().default([]),
347
+ datas: new JON$1.Array(this.lang).types(new JON$1.Object(this.lang).min(1).required()).required().default([]),
342
348
  });
343
349
  const mapAction = (code, type, message, data, cleanedData, error, errors) => {
344
350
  return ({
@@ -372,13 +378,13 @@ class HttpRequest {
372
378
  path: "",
373
379
  method: "GET",
374
380
  }, otherParams = {}, successAction = defaultSuccessAction$1, errorAction = defaultErrorAction$1) {
375
- const schema = new JON.Object(this.lang).struct({
376
- response: new JON.Object(this.lang).struct({
377
- type: new JON.Enum(this.lang).choices('warning', 'success', 'danger', 'info').required(),
378
- code: new JON.Number(this.lang).required(),
379
- message: new JON.String(this.lang),
381
+ const schema = new JON$1.Object(this.lang).struct({
382
+ response: new JON$1.Object(this.lang).struct({
383
+ type: new JON$1.Enum(this.lang).choices('warning', 'success', 'danger', 'info').required(),
384
+ code: new JON$1.Number(this.lang).required(),
385
+ message: new JON$1.String(this.lang),
380
386
  }),
381
- data: new JON.Object(this.lang).min(1),
387
+ data: new JON$1.Object(this.lang).min(1),
382
388
  });
383
389
  const mapAction = (code, type, message, data, cleanedData, error, errors) => {
384
390
  return ({
@@ -420,6 +426,12 @@ if (typeof window !== "undefined") {
420
426
  window.HttpRequest = HttpRequest;
421
427
  }
422
428
 
429
+ const JON = {
430
+ 'String': jon.StringSchema,
431
+ 'Number': jon.NumberSchema,
432
+ 'Enum': jon.EnumSchema,
433
+ 'Array': jon.ArraySchema,
434
+ 'Object': jon.ObjectSchema};
423
435
  function defaultMapAction(code, type, message, data, cleanedData, error, errors) {
424
436
  return {
425
437
  response: { code, type, message },
@@ -475,7 +487,7 @@ class WsRequest {
475
487
  this.reconnectDelay = reconnectDelay;
476
488
  this.maxReconnectAttempts = maxReconnectAttempts;
477
489
  let url = (typeof this.host === 'string' &&
478
- this.host.length > 0) ? Pajo.joinWithHost(this.host, path) : Pajo.join(path);
490
+ this.host.length > 0) ? pajo.Pajo.joinWithHost(this.host, path) : pajo.Pajo.join(path);
479
491
  if (!!urlParams) {
480
492
  url = `${url}${qust.qust.stringify(urlParams)}`;
481
493
  }
package/index.min.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});var qust=require("@arc-js/qust"),Pajo=require("@arc-js/pajo"),JON=require("@arc-js/jon");function __awaiter(e,i,a,u){return new(a=a||Promise)(function(s,t){function r(e){try{o(u.next(e))}catch(e){t(e)}}function n(e){try{o(u.throw(e))}catch(e){t(e)}}function o(e){var t;e.done?s(e.value):((t=e.value)instanceof a?t:new a(function(e){e(t)})).then(r,n)}o((u=u.apply(e,i||[])).next())})}let NODEENV="development",tabAlphabetique=["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"];function defaultMapAction$1(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultErrMapAction$1(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultSuccessAction$1(e){}function defaultErrorAction$1(e){}function getNotifRequestType(e=void 0){let t="success";return t=[200].includes(e)||!e?(e=200,"success"):[422].includes(e)?"warning":[403,409].includes(e)?"error_auth":[419,401].includes(e)?"error_auth_required":![404,405,500,400].includes(e)&&[501].includes(e)?"info":"error"}[...tabAlphabetique,...tabAlphabetique.map(e=>e.toUpperCase())];class HttpRequest{constructor(){this.lang="fr"}initConfig(e,t){return"string"==typeof e&&0<e.length&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}getDefaultError(){var e={fr:"Error lors de la recuperation de la reponse",en:"Error lors de la recuperation de la reponse"}[this.lang];return{response:{code:404,type:"error",message:e},data:void 0,error:new Error(e)}}actionRequest(){return __awaiter(this,arguments,void 0,function*(o={path:"",method:"GET"},i={},a=void 0,u,l,n,c){var d,h=this.getFetchClass(),p=null!=(o="object"==typeof o&&!1===Array.isArray(o)?o:{path:"",method:"GET"})&&o.responseType&&["json","arraybuffer","blob","text"].includes(null==o?void 0:o.responseType)?null==o?void 0:o.responseType:"json",f=["GET","POST","PUT","DELETE"].includes(null==o?void 0:o.method)?null==o?void 0:o.method:"GET";let y="string"==typeof(null==o?void 0:o.path)?null==o?void 0:o.path:"",g=!("object"==typeof(null==o?void 0:o.headers)&&!1===Array.isArray(null==o?void 0:o.headers)&&0<Object.keys(null==o?void 0:o.headers).length)||null==o?void 0:o.headers;var v=!("object"==typeof(null==o?void 0:o.params)&&!1===Array.isArray(null==o?void 0:o.params)&&0<Object.keys(null==o?void 0:o.params).length)||null==o?void 0:o.params;let w=!("object"==typeof(null==o?void 0:o.body)&&!1===Array.isArray(null==o?void 0:o.body)||(null==o?void 0:o.body)instanceof FormData)||null==o?void 0:o.body;"object"==typeof w&&!1===Array.isArray(w)&&(w=JSON.stringify(null==o?void 0:o.body)),i="object"==typeof i&&0==Array.isArray(i)?i:{},null!=o&&o.auth&&(g=Object.assign(Object.assign({},g),{Authorization:"Basic "+btoa(`${null==(O=null==o?void 0:o.auth)?void 0:O.username}:`+(null==(O=null==o?void 0:o.auth)?void 0:O.password))}));var o=u||defaultMapAction$1,O=l||defaultErrMapAction$1,u=n||defaultSuccessAction$1,l=c||defaultErrorAction$1;a=(a=a instanceof JON.Object?a:new JON.Object(this.lang)).required();try{var m="string"==typeof this.host&&0<this.host.length?Pajo.joinWithHost(this.host,y):Pajo.join(y),b=(m&&(y=m),v&&(y=""+y+qust.qust.stringify(v)),Object.assign({method:f,headers:g},i)),A=(w&&(b.body=w),NODEENV,yield h(y,Object.assign({},b))),j=!!A.headers.get("content-type"),N=null==(d=A.headers.get("content-type"))?void 0:d.includes("application/json"),q=(NODEENV,A.status),E=getNotifRequestType(q);let e=void 0,t=("text"===p&&j?e=yield A.text():"json"===p&&N?e=yield A.json():"arraybuffer"===p&&j&&(e=yield A.arrayBuffer()),void 0),s=("object"!=typeof e||Array.isArray(e)?"string"!=typeof e||["info","success"].includes(E)||(t=e):t=null==e?void 0:e.errors,NODEENV,void 0);A.ok||(s="object"==typeof t&&!Array.isArray(t)&&0<Object.keys(t).length?t[Object.keys(t)[Object.keys(t).length-1]]:null!=e&&e.message?null==e?void 0:e.message:{en:"unknown error",fr:"erreur inconnue"}[this.lang]),NODEENV;var J=q||(A.ok?200:404),R=q?E:A.ok?"success":"error",k=s,S=a.isValid(e),_=A.ok?e:void 0,x=S?_:this.getDefaultError();let r=void 0,n=("object"!=typeof t||Array.isArray(t)?"object"==typeof t&&Array.isArray(t)?r=r:"string"==typeof t&&0<t.length&&(r=[r]):r=Object.values(t),null==r?void 0:r[0]);!(n=n instanceof Error||null==n?n:new Error(""+n))&&s&&(n=new Error(""+s),r=[s]);var T=(["success","info"].includes(R)?o:O)(J,R,k,_,x,n,r);NODEENV,"success"===T.response.type?yield u(T):yield l(T)}catch(e){let t="erreur inconnue";"string"==typeof(null==e?void 0:e.message)?t=null==e?void 0:e.message:"string"==typeof e&&(t=e),"failed to fetch"===t.toLowerCase()&&(t={en:"Service unavailable. Please try again later.",fr:"Service indisponible. Veuillez réessayer plus tard."}[this.lang]);n=(null==e?void 0:e.status)||404,c=null!=e&&e.status?getNotifRequestType(null==e?void 0:e.status):"error",m=t,v=e,f=a.isValid(v),i=f?v:this.getDefaultError();let s=[t],r=("object"!=typeof s||Array.isArray(s)?"object"==typeof s&&Array.isArray(s)?s=s:"string"==typeof s&&0<s.length&&(s=[s]):s=Object.values(s),null==s?void 0:s[0]);!(r=r instanceof Error||null==r?r:new Error(""+r))&&t&&(r=new Error(""+t),s=[t]);h=O(n,c,m,v,i,r,s);return yield l(h),h}})}findAllRequests(){return __awaiter(this,arguments,void 0,function*(e={path:"",method:"GET"},t={},s=defaultSuccessAction$1,r=defaultErrorAction$1){var n=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),datas:new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).required().default([])});yield this.actionRequest(e,t,n,(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.datas,error:o,errors:i}),(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.datas,error:o,errors:i}),s,r)})}findOneRequest(){return __awaiter(this,arguments,void 0,function*(e={path:"",method:"GET"},t={},s=defaultSuccessAction$1,r=defaultErrorAction$1){var n=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),data:new JON.Object(this.lang).min(1)});yield this.actionRequest(e,t,n,(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.data,error:o,errors:i}),(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.data,error:o,errors:i}),s,r)})}getFetchClass(){return"undefined"!=typeof window?window.fetch:fetch}static exposeToGlobal(){"undefined"!=typeof window&&(window.HttpRequest=HttpRequest)}}function defaultMapAction(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultErrMapAction(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultSuccessAction(e){}function defaultErrorAction(e){}"undefined"!=typeof window&&(window.HttpRequest=HttpRequest);class WsRequest{constructor(){this.lang="fr",this.socket=null,this.connected=!1,this.autoReconnect=!0,this.reconnectDelay=2e3,this.maxReconnectAttempts=10,this.reconnectAttempts=0,this.messageQueue=[]}initConfig(e,t){return e&&"string"==typeof e&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}connect(e){var{path:t,auth:s,headers:r={},autoReconnect:n=!0,reconnectDelay:o=2e3,maxReconnectAttempts:i=10}=e,a="object"!=typeof(null==e?void 0:e.params)||Array.isArray(null==e?void 0:e.params)||!(0<Object.keys(null==e?void 0:e.params).length)||null==e?void 0:e.params;this.autoReconnect=n,this.reconnectDelay=o,this.maxReconnectAttempts=i;let u="string"==typeof this.host&&0<this.host.length?Pajo.joinWithHost(this.host,t):Pajo.join(t);a&&(u=""+u+qust.qust.stringify(a)),s&&(r.Authorization="Basic "+btoa(s.username+":"+s.password)),this.socket=new(this.getWsClass())(u||""),this.socket.onopen=()=>{var e;for(this.connected=!0,this.reconnectAttempts=0;0<this.messageQueue.length;)null!=(e=this.socket)&&e.send(this.messageQueue.shift())},this.socket.onerror=e=>{},this.socket.onclose=()=>{this.connected=!1,this.autoReconnect&&this.reconnectAttempts<this.maxReconnectAttempts&&setTimeout(()=>{this.reconnectAttempts++,this.connect(e)},this.reconnectDelay)}}actionMessage(e){return __awaiter(this,arguments,void 0,function*(t,y=void 0,g=defaultMapAction,v=defaultErrMapAction,w=defaultSuccessAction,O=defaultErrorAction){if(this.connected&&this.socket){y=(y=y instanceof JON.Object?y:new JON.Object(this.lang)).required();let e=JSON.stringify(t);return new Promise(f=>{this.socket.onmessage=p=>__awaiter(this,void 0,void 0,function*(){let e,t,s,r,n,o,i=void 0;try{i=JSON.parse(p.data)}catch(e){i=p.data}var a=y.isValid(i)?i:void 0,u=null!=(t=null==(e=null==i?void 0:i.response)?void 0:e.code)?t:200,l=null!=(r=null==(s=null==i?void 0:i.response)?void 0:s.type)?r:"success",c=null!=(o=null==(n=null==i?void 0:i.response)?void 0:n.message)?o:void 0;let d=[],h=null==(d=null!=i&&i.errors?Array.isArray(i.errors)?i.errors:Object.values(i.errors):d)?void 0:d[0];h instanceof Error||void 0!==h&&(h=new Error(""+h));u=("success"===l||"info"===l?g:v)(u,l,c,i,a,h,d);"success"===u.response.type?yield w(u):yield O(u),f(u)}),this.socket.send(e)})}this.messageQueue.push(JSON.stringify(t))})}findAllMessages(e){return __awaiter(this,arguments,void 0,function*(e,t=defaultSuccessAction,s=defaultErrorAction){var r=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),datas:new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).default([])}),n=(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:(null==n?void 0:n.datas)||[],error:o,errors:i});return yield this.actionMessage(e,r,n,n,t,s)})}findOneMessage(e){return __awaiter(this,arguments,void 0,function*(e,t=defaultSuccessAction,s=defaultErrorAction){var r=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),data:new JON.Object(this.lang).min(1)}),n=(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:(null==n?void 0:n.data)||null,error:o,errors:i});return yield this.actionMessage(e,r,n,n,t,s)})}getWsClass(){return"undefined"!=typeof window?window.WebSocket:WebSocket}static exposeToGlobal(){"undefined"!=typeof window&&(window.WsRequest=WsRequest)}}"undefined"!=typeof window&&(window.WsRequest=WsRequest);var index={HttpRequest:HttpRequest,WsRequest:WsRequest};exports.HttpRequest=HttpRequest,exports.WsRequest=WsRequest,exports.default=index;
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var qust=require("@arc-js/qust"),pajo=require("@arc-js/pajo"),jon=require("@arc-js/jon");function __awaiter(e,i,a,u){return new(a=a||Promise)(function(s,t){function r(e){try{o(u.next(e))}catch(e){t(e)}}function n(e){try{o(u.throw(e))}catch(e){t(e)}}function o(e){var t;e.done?s(e.value):((t=e.value)instanceof a?t:new a(function(e){e(t)})).then(r,n)}o((u=u.apply(e,i||[])).next())})}let NODEENV="development",tabAlphabetique=["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"],JON$1=([...tabAlphabetique,...tabAlphabetique.map(e=>e.toUpperCase())],{String:jon.StringSchema,Number:jon.NumberSchema,Enum:jon.EnumSchema,Array:jon.ArraySchema,Object:jon.ObjectSchema});function defaultMapAction$1(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultErrMapAction$1(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultSuccessAction$1(e){}function defaultErrorAction$1(e){}function getNotifRequestType(e=void 0){let t="success";return t=[200].includes(e)||!e?(e=200,"success"):[422].includes(e)?"warning":[403,409].includes(e)?"error_auth":[419,401].includes(e)?"error_auth_required":![404,405,500,400].includes(e)&&[501].includes(e)?"info":"error"}class HttpRequest{constructor(){this.lang="fr"}initConfig(e,t){return"string"==typeof e&&0<e.length&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}getDefaultError(){var e={fr:"Error lors de la recuperation de la reponse",en:"Error lors de la recuperation de la reponse"}[this.lang];return{response:{code:404,type:"error",message:e},data:void 0,error:new Error(e)}}actionRequest(){return __awaiter(this,arguments,void 0,function*(o={path:"",method:"GET"},i={},a=void 0,u,c,n,l){var d,h=this.getFetchClass(),p=null!=(o="object"==typeof o&&!1===Array.isArray(o)?o:{path:"",method:"GET"})&&o.responseType&&["json","arraybuffer","blob","text"].includes(null==o?void 0:o.responseType)?null==o?void 0:o.responseType:"json",f=["GET","POST","PUT","DELETE"].includes(null==o?void 0:o.method)?null==o?void 0:o.method:"GET";let y="string"==typeof(null==o?void 0:o.path)?null==o?void 0:o.path:"",g=!("object"==typeof(null==o?void 0:o.headers)&&!1===Array.isArray(null==o?void 0:o.headers)&&0<Object.keys(null==o?void 0:o.headers).length)||null==o?void 0:o.headers;var v=!("object"==typeof(null==o?void 0:o.params)&&!1===Array.isArray(null==o?void 0:o.params)&&0<Object.keys(null==o?void 0:o.params).length)||null==o?void 0:o.params;let m=!("object"==typeof(null==o?void 0:o.body)&&!1===Array.isArray(null==o?void 0:o.body)||(null==o?void 0:o.body)instanceof FormData)||null==o?void 0:o.body;"object"==typeof m&&!1===Array.isArray(m)&&(m=JSON.stringify(null==o?void 0:o.body)),i="object"==typeof i&&0==Array.isArray(i)?i:{},null!=o&&o.auth&&(g=Object.assign(Object.assign({},g),{Authorization:"Basic "+btoa(`${null==(j=null==o?void 0:o.auth)?void 0:j.username}:`+(null==(j=null==o?void 0:o.auth)?void 0:j.password))}));var o=u||defaultMapAction$1,j=c||defaultErrMapAction$1,u=n||defaultSuccessAction$1,c=l||defaultErrorAction$1;a=(a=a instanceof JON$1.Object?a:new JON$1.Object(this.lang)).required();try{var w="string"==typeof this.host&&0<this.host.length?pajo.Pajo.joinWithHost(this.host,y):pajo.Pajo.join(y),b=(w&&(y=w),v&&(y=""+y+qust.qust.stringify(v)),Object.assign({method:f,headers:g},i)),O=(m&&(b.body=m),NODEENV,yield h(y,Object.assign({},b))),A=!!O.headers.get("content-type"),N=null==(d=O.headers.get("content-type"))?void 0:d.includes("application/json"),E=(NODEENV,O.status),q=getNotifRequestType(E);let e=void 0,t=("text"===p&&A?e=yield O.text():"json"===p&&N?e=yield O.json():"arraybuffer"===p&&A&&(e=yield O.arrayBuffer()),void 0),s=("object"!=typeof e||Array.isArray(e)?"string"!=typeof e||["info","success"].includes(q)||(t=e):t=null==e?void 0:e.errors,NODEENV,void 0);O.ok||(s="object"==typeof t&&!Array.isArray(t)&&0<Object.keys(t).length?t[Object.keys(t)[Object.keys(t).length-1]]:null!=e&&e.message?null==e?void 0:e.message:{en:"unknown error",fr:"erreur inconnue"}[this.lang]),NODEENV;var J=E||(O.ok?200:404),S=E?q:O.ok?"success":"error",R=s,$=a.isValid(e),k=O.ok?e:void 0,_=$?k:this.getDefaultError();let r=void 0,n=("object"!=typeof t||Array.isArray(t)?"object"==typeof t&&Array.isArray(t)?r=r:"string"==typeof t&&0<t.length&&(r=[r]):r=Object.values(t),null==r?void 0:r[0]);!(n=n instanceof Error||null==n?n:new Error(""+n))&&s&&(n=new Error(""+s),r=[s]);var x=(["success","info"].includes(S)?o:j)(J,S,R,k,_,n,r);NODEENV,"success"===x.response.type?yield u(x):yield c(x)}catch(e){let t="erreur inconnue";"string"==typeof(null==e?void 0:e.message)?t=null==e?void 0:e.message:"string"==typeof e&&(t=e),"failed to fetch"===t.toLowerCase()&&(t={en:"Service unavailable. Please try again later.",fr:"Service indisponible. Veuillez réessayer plus tard."}[this.lang]);n=(null==e?void 0:e.status)||404,l=null!=e&&e.status?getNotifRequestType(null==e?void 0:e.status):"error",w=t,v=e,f=a.isValid(v),i=f?v:this.getDefaultError();let s=[t],r=("object"!=typeof s||Array.isArray(s)?"object"==typeof s&&Array.isArray(s)?s=s:"string"==typeof s&&0<s.length&&(s=[s]):s=Object.values(s),null==s?void 0:s[0]);!(r=r instanceof Error||null==r?r:new Error(""+r))&&t&&(r=new Error(""+t),s=[t]);h=j(n,l,w,v,i,r,s);return yield c(h),h}})}findAllRequests(){return __awaiter(this,arguments,void 0,function*(e={path:"",method:"GET"},t={},s=defaultSuccessAction$1,r=defaultErrorAction$1){var n=new JON$1.Object(this.lang).struct({response:new JON$1.Object(this.lang).struct({type:new JON$1.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON$1.Number(this.lang).required(),message:new JON$1.String(this.lang)}),datas:new JON$1.Array(this.lang).types(new JON$1.Object(this.lang).min(1).required()).required().default([])});yield this.actionRequest(e,t,n,(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.datas,error:o,errors:i}),(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.datas,error:o,errors:i}),s,r)})}findOneRequest(){return __awaiter(this,arguments,void 0,function*(e={path:"",method:"GET"},t={},s=defaultSuccessAction$1,r=defaultErrorAction$1){var n=new JON$1.Object(this.lang).struct({response:new JON$1.Object(this.lang).struct({type:new JON$1.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON$1.Number(this.lang).required(),message:new JON$1.String(this.lang)}),data:new JON$1.Object(this.lang).min(1)});yield this.actionRequest(e,t,n,(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.data,error:o,errors:i}),(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:null==n?void 0:n.data,error:o,errors:i}),s,r)})}getFetchClass(){return"undefined"!=typeof window?window.fetch:fetch}static exposeToGlobal(){"undefined"!=typeof window&&(window.HttpRequest=HttpRequest)}}"undefined"!=typeof window&&(window.HttpRequest=HttpRequest);let JON={String:jon.StringSchema,Number:jon.NumberSchema,Enum:jon.EnumSchema,Array:jon.ArraySchema,Object:jon.ObjectSchema};function defaultMapAction(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultErrMapAction(e,t,s,r,n,o,i){return{response:{code:e,type:t,message:s},data:n,error:o,errors:i}}function defaultSuccessAction(e){}function defaultErrorAction(e){}class WsRequest{constructor(){this.lang="fr",this.socket=null,this.connected=!1,this.autoReconnect=!0,this.reconnectDelay=2e3,this.maxReconnectAttempts=10,this.reconnectAttempts=0,this.messageQueue=[]}initConfig(e,t){return e&&"string"==typeof e&&(this.host=e),["fr","en"].includes(t)&&(this.lang=t),this}connect(e){var{path:t,auth:s,headers:r={},autoReconnect:n=!0,reconnectDelay:o=2e3,maxReconnectAttempts:i=10}=e,a="object"!=typeof(null==e?void 0:e.params)||Array.isArray(null==e?void 0:e.params)||!(0<Object.keys(null==e?void 0:e.params).length)||null==e?void 0:e.params;this.autoReconnect=n,this.reconnectDelay=o,this.maxReconnectAttempts=i;let u="string"==typeof this.host&&0<this.host.length?pajo.Pajo.joinWithHost(this.host,t):pajo.Pajo.join(t);a&&(u=""+u+qust.qust.stringify(a)),s&&(r.Authorization="Basic "+btoa(s.username+":"+s.password)),this.socket=new(this.getWsClass())(u||""),this.socket.onopen=()=>{var e;for(this.connected=!0,this.reconnectAttempts=0;0<this.messageQueue.length;)null!=(e=this.socket)&&e.send(this.messageQueue.shift())},this.socket.onerror=e=>{},this.socket.onclose=()=>{this.connected=!1,this.autoReconnect&&this.reconnectAttempts<this.maxReconnectAttempts&&setTimeout(()=>{this.reconnectAttempts++,this.connect(e)},this.reconnectDelay)}}actionMessage(e){return __awaiter(this,arguments,void 0,function*(t,y=void 0,g=defaultMapAction,v=defaultErrMapAction,m=defaultSuccessAction,j=defaultErrorAction){if(this.connected&&this.socket){y=(y=y instanceof JON.Object?y:new JON.Object(this.lang)).required();let e=JSON.stringify(t);return new Promise(f=>{this.socket.onmessage=p=>__awaiter(this,void 0,void 0,function*(){let e,t,s,r,n,o,i=void 0;try{i=JSON.parse(p.data)}catch(e){i=p.data}var a=y.isValid(i)?i:void 0,u=null!=(t=null==(e=null==i?void 0:i.response)?void 0:e.code)?t:200,c=null!=(r=null==(s=null==i?void 0:i.response)?void 0:s.type)?r:"success",l=null!=(o=null==(n=null==i?void 0:i.response)?void 0:n.message)?o:void 0;let d=[],h=null==(d=null!=i&&i.errors?Array.isArray(i.errors)?i.errors:Object.values(i.errors):d)?void 0:d[0];h instanceof Error||void 0!==h&&(h=new Error(""+h));u=("success"===c||"info"===c?g:v)(u,c,l,i,a,h,d);"success"===u.response.type?yield m(u):yield j(u),f(u)}),this.socket.send(e)})}this.messageQueue.push(JSON.stringify(t))})}findAllMessages(e){return __awaiter(this,arguments,void 0,function*(e,t=defaultSuccessAction,s=defaultErrorAction){var r=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),datas:new JON.Array(this.lang).types(new JON.Object(this.lang).min(1).required()).default([])}),n=(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:(null==n?void 0:n.datas)||[],error:o,errors:i});return yield this.actionMessage(e,r,n,n,t,s)})}findOneMessage(e){return __awaiter(this,arguments,void 0,function*(e,t=defaultSuccessAction,s=defaultErrorAction){var r=new JON.Object(this.lang).struct({response:new JON.Object(this.lang).struct({type:new JON.Enum(this.lang).choices("warning","success","danger","info").required(),code:new JON.Number(this.lang).required(),message:new JON.String(this.lang)}),data:new JON.Object(this.lang).min(1)}),n=(e,t,s,r,n,o,i)=>({response:{code:e,type:t,message:s},data:(null==n?void 0:n.data)||null,error:o,errors:i});return yield this.actionMessage(e,r,n,n,t,s)})}getWsClass(){return"undefined"!=typeof window?window.WebSocket:WebSocket}static exposeToGlobal(){"undefined"!=typeof window&&(window.WsRequest=WsRequest)}}"undefined"!=typeof window&&(window.WsRequest=WsRequest);var index={HttpRequest:HttpRequest,WsRequest:WsRequest};exports.HttpRequest=HttpRequest,exports.WsRequest=WsRequest,exports.default=index;
2
2
  //# sourceMappingURL=index.min.js.map
package/package.json CHANGED
@@ -3,11 +3,11 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.0.1",
6
+ "version": "0.0.3",
7
7
  "description": "CP-REQUEST est une bibliothèque TypeScript complète pour gérer les requêtes HTTP et WebSocket avec une API unifiée et type-safe. Elle offre une solution robuste pour les communications client-serveur avec gestion automatique des erreurs, validation des schémas et support multi-langue.",
8
8
  "main": "index.js",
9
9
  "keywords": [],
10
- "author": "INICODE <contact@inicode@gmail.com>",
10
+ "author": "INICODE <contact.inicode@gmail.com>",
11
11
  "license": "MIT",
12
12
  "scripts": {
13
13
  "init": "npm init --scope=@arc-js/cp-request",
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "devDependencies": {},
17
17
  "dependencies": {
18
- "@arc-js/jon": "^0.0.1",
19
- "@arc-js/pajo": "^0.0.1",
20
- "@arc-js/qust": "^0.0.1"
18
+ "@arc-js/jon": "^0.0.3",
19
+ "@arc-js/pajo": "^0.0.3",
20
+ "@arc-js/qust": "^0.0.3"
21
21
  }
22
22
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"cp-request.all.min.js","sources":["cp-request.all.js"],"names":["Timez","Fodat","NODEENV","langs","dateTimeFormatInitial","dateFormat5","timeFormat3","tabAlphabetique","DEFAULT_OPTIONS","map","x","toUpperCase","arrayFormat","arraySeparator","skipNull","skipEmptyString","encode","decode","depth","Qust","options","constructor","this","stringify","obj","processObject","parts","length","join","parse","queryString","cleanString","startsWith","slice","pair","key","value","result","split","encodedKey","encodedValue","decodeURIComponent","undefined","setValue","transformArrays","prefix","push","encodeKey","Array","isArray","processArray","isPrimitive","encodeURIComponent","String","val","Object","entries","newPrefix","array","values","item","forEach","index","let","currentPart","i","char","matches","match","current","nextIndex","nextMatch","isLast","parseValue","parseInt","isNaN","newObj","keys","every","num","toString","Number","trim","setOptions","newOptions","getOptions","exposeToGlobal","window","qust","Pajo","PROTOCOL_REGEX","DOUBLE_SLASH_REGEX","DOUBLE_BACKSLASH_REGEX","TRAILING_SLASH_REGEX","TRAILING_BACKSLASH_REGEX","LEADING_SLASH_REGEX","WINDOWS_DRIVE_REGEX","MIXED_SEPARATORS_REGEX","paths","isWindowsPath","some","path","cleanPaths","filter","normalizePathSegment","separator","replace","joinWithHost","host","joinedPath","cleanHost","normalizedHost","test","isWindowsStyle","trimmed","includes","resolve","joined","part","isWindows","resolved","pop","isAbsolute","dirname","lastSeparatorIndex","normalized","lastIndexOf","substring","basename","ext","endsWith","extname","lastDotIndex","toUnixPath","toWindowsPath","getLang","lang","InitialMapFunct","cleanField","max","reverse","res","defaultMapError","error","ruleName","label","isDatetimeFormat","format","isCorrect","err","defaultDateFormats","datetime","date","time","isNotNull","isDate","typeValue","dateFormat","typesPossible","isString","isNumber","isFinite","isBoolean","valuesPossibles","strict","toLowerCase","convertToBoolean","JONDefaultSchema","_label","_lang","_default","_rules","_value","_default_error","preMap","_mapError","_errMsgs","_PRIMARY__REQUIRED__RULE","_PRIMARY__ENUM__RULE","_PRIMARY__ENUM_NOT__RULE","_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","_errorRule","applyApp","rule","data","sanitize","exception","ruleAction","ruleFunct","valueFinal","valueInitial","checkerValidation","valueValidation","errorValidation","Error","exceptionVal","get_label","get_lang","fr","en","valid","addRule","required","isRequired","labelSTR","JSON","enum","choices","enumNot","get_default","set_default","defaultVal","set_lang","set_label","get_error","set_error","defaultError","default","setLang","validate","ruleDataF","initialError","resp","ruleData","primaryValidation","isValid","name","getMapError","initMapError","mapError","applyPreMapping","applyMapping","getErrorRule","checkIfCorrectTypeSchema","StringSchema","NumberSchema","BooleanSchema","DateSchema","ArraySchema","ObjectSchema","ChosenTypeSchema","EnumSchema","NotEnumSchema","AnyTypeSchema","_maxValue","_minValue","_lessValue","_greaterValue","_lengthValue","_types","_ARRAY__RULE","_ARRAY__TYPE__RULE","_ARRAY__MIN__RULE","_ARRAY__MAX__RULE","_ARRAY__LESS__RULE","_ARRAY__GREATER__RULE","_ARRAY__LENGTH__RULE","super","types","validTypes","typeArray","compareArrayValueWithTypes","indexVal","validation","foundValid","validationVal","compareArrayWithTypes","successValidationDatas","successValidation","validationFinal","min","minValue","maxValue","less","lessValue","greater","greaterValue","lengthValue","arrayValidation","_struct","_primaryStruct","_oldValueForStruct","_OBJECT__RULE","_OBJECT__STRUCT__RULE","_OBJECT__PRIMARY_STRUCT__RULE","_OBJECT__TYPES_VALUES__RULE","_OBJECT__CONTAINS_KEYS__RULE","_OBJECT__NO_CONTAINS_KEYS__RULE","_OBJECT__REGEXP_CONTAINS_KEYS__RULE","_OBJECT__REGEXP_NO_CONTAINS_KEYS__RULE","_OBJECT__MIN__RULE","_OBJECT__MAX__RULE","_OBJECT__LESS__RULE","_OBJECT__GREATER__RULE","_OBJECT__LENGTH__RULE","object","FormData","resSanit","transform","structAction","keyTypeObject","typeObject","compareObject","valueInitialClone","schemaTypeObject","valueInitialTarget","struct","primaryStruct","getStruct","typesValues","compareObjectValueWithTypes","keyVal","allValidations","compareObjectWithTypes","validationDatas","containsKeys","attrs","invalidKeys","noContainsKeys","regExpContainsKeys","ruleValue","flag","stringSchema","regexp","regExpNoContainsKeys","objectValidation","_invalid_types","_CHOSEN_TYPE__RULE","chosenTypes","compareElementWithTypes","typeCEWT","valueForVV","typeCT","dataTA","chosenTypesValidation","_choices","_ENUM__RULE","choice","choicesStr","enumValidation","_NOT_ENUM__RULE","notEnum","notEnumValidation","_format","_dateFormat","_timeFormat","_enum_choices","_not_enum_choices","_STRING__RULE","_STRING__MIN__RULE","_STRING__MAX__RULE","_STRING__LESS__RULE","_STRING__GREATER__RULE","_STRING__LENGTH__RULE","_STRING__REGEXP__RULE","_STRING__ALPHANUM__RULE","_STRING__BASE64__RULE","_STRING__LOWERCASE__RULE","_STRING__UPPERCASE__RULE","_STRING__CAPITALIZE__RULE","_STRING__UC_FIRST__RULE","_STRING__CREDIT_CARD__RULE","_STRING__DATAURI__RULE","_STRING__DOMAIN__RULE","_STRING__URL__RULE","_STRING__HOSTNAME__RULE","_STRING__IP_ADDRESS__RULE","_STRING__EMAIL__RULE","_STRING__GUID__RULE","_STRING__HEXA__RULE","_STRING__BINARY__RULE","_STRING__DATE__RULE","_STRING__IDENTIFIER__RULE","_STRING__ENUM__RULE","_STRING__NOT_ENUM__RULE","string","isDatetime","isTime","changeFormat","errorMap","regex","RegExp","defaultRegexError","alphanum","base64","paddingRequired","urlSafe","nbr2","lowercase","strictMode","uppercase","capitalize","txt","charAt","substr","ucFirst","creditCard","creditCardRegexes","visa","mastercard","american-express","discover","diners-club","jcb","typesPossibles","filteredTypes","type","dataUri","domain","url","urlRegex","hostname","hostnameRegex1","hostnameRegex2","IPAddress","ipRegexes","ipv4","ipv6","email","emailRegex1","emailRegex2","guid","guidRegexes","v1","v2","v3","v4","v5","hexa","insensitive","binary","identifier","enumChoices","notEnumchoices","newFormat","stringValidation","_NUMBER__RULE","_NUMBER__MIN__RULE","_NUMBER__MAX__RULE","_NUMBER__LESS__RULE","_NUMBER__GREATER__RULE","_NUMBER__NEGATIVE__RULE","_NUMBER__POSITIVE__RULE","_NUMBER__SIGNED__RULE","_NUMBER__INTEGER__RULE","_NUMBER__DECIMAL__RULE","_NUMBER__MULTIPLE__RULE","_NUMBER__TCP_PORT__RULE","number","numValue","isInteger","parseFloat","negative","positive","signed","integer","decimal","multiple","nber","TCPPort","numberValidation","_trueValues","_falseValues","_BOOLEAN__RULE","boolean","trueValues","falseValues","booleanValidation","_timezone","_equalValue","_DATE__RULE","_DATE__MIN__RULE","_DATE__MAX__RULE","_DATE__LESS__RULE","_DATE__GREATER__RULE","_DATE__EQUAL_TO__RULE","_DATE__TO_DATE__RULE","_DATE__TO_TIME__RULE","timezValue","Date","setTimezone","toDate","minDate","valueDate","isAfter","errorMessage","maxDate","isBefore","lessDate","greaterDate","equalTo","equalValue","equalDate","isSame","changeTimezone","newTimezone","dateValidation","currentData","_ANY_TYPE__RULE","anyType","anyTypeValidation","FileSchema","_FILE__RULE","_FILE__MIN__RULE","_FILE__MAX__RULE","_FILE__LESS__RULE","_FILE__GREATER__RULE","_FILE__LENGTH__RULE","file","Blob","File","dataUrlToFile","size","fileValidation","dataUrl","baseName","arr","mimeMatch","mime","image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/svg+xml","image/x-icon","image/heic","image/heif","image/avif","video/mp4","video/webm","video/ogg","video/x-msvideo","video/quicktime","video/mpeg","video/x-matroska","audio/mpeg","audio/ogg","audio/wav","audio/webm","audio/aac","audio/flac","audio/opus","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/plain","text/csv","text/rtf","application/epub+zip","text/html","text/css","text/javascript","application/javascript","application/json","application/xml","text/xml","application/zip","application/gzip","application/x-tar","application/x-rar-compressed","application/x-7z-compressed","application/x-bzip2","application/x-xz","text/x-python","text/x-c","text/x-c++","text/x-java-source","application/java-archive","application/x-sh","application/x-bat","text/x-php","text/x-typescript","application/x-sql","font/ttf","font/otf","font/woff","font/woff2","application/octet-stream","application/x-executable","application/x-dosexec","application/x-msdownload","application/x-iso9660-image","binaryStr","atob","len","u8arr","Uint8Array","charCodeAt","fileName","now","JONSchemas","Boolean","Enum","NotEnum","ChosenType","AnyType","JON","defaultMapAction$1","code","message","cleanedData","errors","response","defaultErrMapAction$1","defaultSuccessAction$1","defaultErrorAction$1","getNotifRequestType","status","HttpRequest","initConfig","getDefaultError","actionRequest","urlParams","method","otherParams","schema","mapAction","errMapAction","successAction","errorAction","FetchClass","getFetchClass","responseType","headers","params","body","auth","Authorization","btoa","username","password","mapActionF","errMapActionF","successActionF","errorActionF","newPath","resConfig","await","hasContentType","get","isJson","statusResponse","typeResponse","httpRes","text","json","arrayBuffer","messageNotif","ok","codeF","typeF","messageF","correctDataF","dataF","cleanedDataF","errorsF","errorF","errorDatas","findAllRequests","datas","findOneRequest","fetch","defaultMapAction","defaultErrMapAction","defaultSuccessAction","defaultErrorAction","WsRequest","socket","connected","autoReconnect","reconnectDelay","maxReconnectAttempts","reconnectAttempts","messageQueue","connect","getWsClass","onopen","send","shift","onerror","onclose","setTimeout","actionMessage","payload","Promise","onmessage","async","e","resJson","cleaned","responseCleaned","findAllMessages","findOneMessage","WebSocket","index_all"],"mappings":"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","sourceRoot":"../cp-request"}
package/index.min.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.min.js","sources":["index.js"],"names":["Object","defineProperty","exports","value","qust","require","Pajo","JON","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","apply","NODEENV","tabAlphabetique","defaultMapAction$1","code","type","message","data","cleanedData","error","errors","response","defaultErrMapAction$1","defaultSuccessAction$1","defaultErrorAction$1","getNotifRequestType","status","undefined","let","includes","map","x","toUpperCase","HttpRequest","constructor","this","lang","initConfig","host","length","getDefaultError","fr","en","Error","actionRequest","arguments","urlParams","path","method","otherParams","schema","mapAction","errMapAction","successAction","errorAction","_c","FetchClass","getFetchClass","responseType","Array","isArray","headers","keys","params","body","FormData","JSON","stringify","auth","assign","Authorization","btoa","_a","username","_b","password","mapActionF","errMapActionF","successActionF","errorActionF","required","newPath","joinWithHost","join","resConfig","res","yield","hasContentType","get","isJson","statusResponse","typeResponse","httpRes","text","json","arrayBuffer","messageNotif","ok","codeF","typeF","messageF","correctDataF","isValid","dataF","cleanedDataF","errorsF","errorF","values","toLowerCase","errorDatas","findAllRequests","struct","Enum","choices","Number","String","datas","types","min","default","findOneRequest","window","fetch","exposeToGlobal","defaultMapAction","defaultErrMapAction","defaultSuccessAction","defaultErrorAction","WsRequest","socket","connected","autoReconnect","reconnectDelay","maxReconnectAttempts","reconnectAttempts","messageQueue","connect","url","getWsClass","onopen","send","shift","onerror","onclose","setTimeout","actionMessage","message_1","payload","onmessage","_d","_e","_f","resJson","parse","err","cleaned","responseCleaned","push","findAllMessages","findOneMessage","WebSocket","index"],"mappings":"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","sourceRoot":"../cp-request"}