@webiny/validation 5.24.0 → 5.25.0-beta.2

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.
Files changed (59) hide show
  1. package/index.js.map +1 -0
  2. package/package.json +6 -6
  3. package/types.d.ts +4 -1
  4. package/types.js.map +1 -0
  5. package/validation.js +5 -0
  6. package/validation.js.map +1 -0
  7. package/validationError.d.ts +4 -4
  8. package/validationError.js.map +1 -0
  9. package/validators/creditCard.js.map +1 -0
  10. package/validators/dateGte.d.ts +1 -1
  11. package/validators/dateGte.js +1 -1
  12. package/validators/dateGte.js.map +1 -0
  13. package/validators/dateLte.d.ts +1 -1
  14. package/validators/dateLte.js +1 -1
  15. package/validators/dateLte.js.map +1 -0
  16. package/validators/email.js.map +1 -0
  17. package/validators/eq.d.ts +1 -1
  18. package/validators/eq.js +1 -1
  19. package/validators/eq.js.map +1 -0
  20. package/validators/gt.d.ts +1 -1
  21. package/validators/gt.js +1 -1
  22. package/validators/gt.js.map +1 -0
  23. package/validators/gte.d.ts +1 -1
  24. package/validators/gte.js +1 -1
  25. package/validators/gte.js.map +1 -0
  26. package/validators/in.d.ts +1 -1
  27. package/validators/in.js +1 -1
  28. package/validators/in.js.map +1 -0
  29. package/validators/integer.js.map +1 -0
  30. package/validators/json.js.map +1 -0
  31. package/validators/lt.d.ts +1 -1
  32. package/validators/lt.js +1 -1
  33. package/validators/lt.js.map +1 -0
  34. package/validators/lte.d.ts +1 -1
  35. package/validators/lte.js +1 -1
  36. package/validators/lte.js.map +1 -0
  37. package/validators/maxLength.d.ts +1 -1
  38. package/validators/maxLength.js +1 -1
  39. package/validators/maxLength.js.map +1 -0
  40. package/validators/minLength.d.ts +1 -1
  41. package/validators/minLength.js +1 -1
  42. package/validators/minLength.js.map +1 -0
  43. package/validators/number.js.map +1 -0
  44. package/validators/numeric.js.map +1 -0
  45. package/validators/password.d.ts +1 -1
  46. package/validators/password.js +2 -2
  47. package/validators/password.js.map +1 -0
  48. package/validators/phone.js.map +1 -0
  49. package/validators/required.js.map +1 -0
  50. package/validators/time/index.js.map +1 -0
  51. package/validators/timeGte.d.ts +1 -1
  52. package/validators/timeGte.js +1 -1
  53. package/validators/timeGte.js.map +1 -0
  54. package/validators/timeLte.d.ts +1 -1
  55. package/validators/timeLte.js +1 -1
  56. package/validators/timeLte.js.map +1 -0
  57. package/validators/url.d.ts +1 -1
  58. package/validators/url.js +1 -1
  59. package/validators/url.js.map +1 -0
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["validation","Validation","setValidator","creditCard","email","eq","gt","gte","isIn","integer","json","lt","lte","maxLength","minLength","number","numeric","password","phone","required","url","dateGte","dateLte","timeGte","timeLte"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,MAAMA,UAAU,GAAG,IAAIC,mBAAJ,EAAnB;;AACAD,UAAU,CAACE,YAAX,CAAwB,YAAxB,EAAsCC,mBAAtC;AACAH,UAAU,CAACE,YAAX,CAAwB,OAAxB,EAAiCE,cAAjC;AACAJ,UAAU,CAACE,YAAX,CAAwB,IAAxB,EAA8BG,WAA9B;AACAL,UAAU,CAACE,YAAX,CAAwB,IAAxB,EAA8BI,WAA9B;AACAN,UAAU,CAACE,YAAX,CAAwB,KAAxB,EAA+BK,YAA/B;AACAP,UAAU,CAACE,YAAX,CAAwB,IAAxB,EAA8BM,WAA9B;AACAR,UAAU,CAACE,YAAX,CAAwB,SAAxB,EAAmCO,gBAAnC;AACAT,UAAU,CAACE,YAAX,CAAwB,MAAxB,EAAgCQ,aAAhC;AACAV,UAAU,CAACE,YAAX,CAAwB,IAAxB,EAA8BS,WAA9B;AACAX,UAAU,CAACE,YAAX,CAAwB,KAAxB,EAA+BU,YAA/B;AACAZ,UAAU,CAACE,YAAX,CAAwB,WAAxB,EAAqCW,kBAArC;AACAb,UAAU,CAACE,YAAX,CAAwB,WAAxB,EAAqCY,kBAArC;AACAd,UAAU,CAACE,YAAX,CAAwB,QAAxB,EAAkCa,eAAlC;AACAf,UAAU,CAACE,YAAX,CAAwB,SAAxB,EAAmCc,gBAAnC;AACAhB,UAAU,CAACE,YAAX,CAAwB,UAAxB,EAAoCe,iBAApC;AACAjB,UAAU,CAACE,YAAX,CAAwB,OAAxB,EAAiCgB,cAAjC;AACAlB,UAAU,CAACE,YAAX,CAAwB,UAAxB,EAAoCiB,iBAApC;AACAnB,UAAU,CAACE,YAAX,CAAwB,KAAxB,EAA+BkB,YAA/B;AACApB,UAAU,CAACE,YAAX,CAAwB,SAAxB,EAAmCmB,gBAAnC;AACArB,UAAU,CAACE,YAAX,CAAwB,SAAxB,EAAmCoB,gBAAnC;AACAtB,UAAU,CAACE,YAAX,CAAwB,SAAxB,EAAmCqB,gBAAnC;AACAvB,UAAU,CAACE,YAAX,CAAwB,SAAxB,EAAmCsB,gBAAnC","sourcesContent":["import Validation from \"./validation\";\nimport ValidationError from \"./validationError\";\nimport creditCard from \"./validators/creditCard\";\nimport email from \"./validators/email\";\nimport eq from \"./validators/eq\";\nimport gt from \"./validators/gt\";\nimport gte from \"./validators/gte\";\nimport isIn from \"./validators/in\";\nimport integer from \"./validators/integer\";\nimport json from \"./validators/json\";\nimport lt from \"./validators/lt\";\nimport lte from \"./validators/lte\";\nimport maxLength from \"./validators/maxLength\";\nimport minLength from \"./validators/minLength\";\nimport number from \"./validators/number\";\nimport numeric from \"./validators/numeric\";\nimport password from \"./validators/password\";\nimport phone from \"./validators/phone\";\nimport required from \"./validators/required\";\nimport url from \"./validators/url\";\nimport dateGte from \"./validators/dateGte\";\nimport dateLte from \"./validators/dateLte\";\nimport timeGte from \"./validators/timeGte\";\nimport timeLte from \"./validators/timeLte\";\n\nconst validation = new Validation();\nvalidation.setValidator(\"creditCard\", creditCard);\nvalidation.setValidator(\"email\", email);\nvalidation.setValidator(\"eq\", eq);\nvalidation.setValidator(\"gt\", gt);\nvalidation.setValidator(\"gte\", gte);\nvalidation.setValidator(\"in\", isIn);\nvalidation.setValidator(\"integer\", integer);\nvalidation.setValidator(\"json\", json);\nvalidation.setValidator(\"lt\", lt);\nvalidation.setValidator(\"lte\", lte);\nvalidation.setValidator(\"maxLength\", maxLength);\nvalidation.setValidator(\"minLength\", minLength);\nvalidation.setValidator(\"number\", number);\nvalidation.setValidator(\"numeric\", numeric);\nvalidation.setValidator(\"password\", password);\nvalidation.setValidator(\"phone\", phone);\nvalidation.setValidator(\"required\", required);\nvalidation.setValidator(\"url\", url);\nvalidation.setValidator(\"dateGte\", dateGte);\nvalidation.setValidator(\"dateLte\", dateLte);\nvalidation.setValidator(\"timeGte\", timeGte);\nvalidation.setValidator(\"timeLte\", timeLte);\n\nexport { validation, Validation, ValidationError };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/validation",
3
- "version": "5.24.0",
3
+ "version": "5.25.0-beta.2",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,7 +14,7 @@
14
14
  ],
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
- "@babel/runtime": "7.16.7",
17
+ "@babel/runtime": "7.17.7",
18
18
  "isnumeric": "0.3.3",
19
19
  "lodash": "4.17.21"
20
20
  },
@@ -24,14 +24,14 @@
24
24
  "@babel/preset-env": "^7.16.4",
25
25
  "@babel/preset-typescript": "^7.16.0",
26
26
  "@types/lodash": "^4.14.178",
27
- "@webiny/cli": "^5.24.0",
28
- "@webiny/project-utils": "^5.24.0",
27
+ "@webiny/cli": "^5.25.0-beta.2",
28
+ "@webiny/project-utils": "^5.25.0-beta.2",
29
29
  "babel-plugin-lodash": "^3.3.4",
30
30
  "jest": "^26.6.3",
31
31
  "merge": "^1.2.1",
32
32
  "rimraf": "^3.0.2",
33
33
  "ttypescript": "^1.5.13",
34
- "typescript": "^4.1.3"
34
+ "typescript": "4.5.5"
35
35
  },
36
36
  "publishConfig": {
37
37
  "access": "public",
@@ -41,5 +41,5 @@
41
41
  "build": "yarn webiny run build",
42
42
  "watch": "yarn webiny run watch"
43
43
  },
44
- "gitHead": "be0cbfcaa9247c658c44179af7943cc5d6d71bc7"
44
+ "gitHead": "ed2f22976af47aea0b6b5d638f8afdc39951b014"
45
45
  }
package/types.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import ValidationError from "./validationError";
2
+ declare type ValidatorResult = boolean | ValidationError | void | Promise<boolean | ValidationError | void>;
1
3
  /**
2
4
  * @typedef Validator
3
5
  * @name Validator
@@ -6,7 +8,7 @@
6
8
  * @param {Array<string>} parameters (Optional) This represents an array validator parameters.
7
9
  * @throws {ValidationError}
8
10
  */
9
- export declare type Validator = (value: any, params: Array<string>) => void;
11
+ export declare type Validator = (value: any, params?: string[]) => ValidatorResult;
10
12
  /**
11
13
  * @typedef ValidateOptions
12
14
  * @name ValidateOptions
@@ -25,3 +27,4 @@ export interface ValidateOptions {
25
27
  export interface ParsedValidators {
26
28
  [key: string]: Array<string>;
27
29
  }
30
+ export {};
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
package/validation.js CHANGED
@@ -183,6 +183,11 @@ class Validation {
183
183
  validate.forEach(v => {
184
184
  const params = (0, _trim2.default)(v).split(":");
185
185
  const vName = params.shift();
186
+
187
+ if (!vName) {
188
+ return;
189
+ }
190
+
186
191
  parsedValidators[vName] = params;
187
192
  });
188
193
  return parsedValidators;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["validation.ts"],"names":["entries","validators","Object","invalidRules","createdValidators","async","sync","Validation","constructor","__validators","setValidator","name","callable","getValidator","ValidationError","validate","value","options","Error","parsedValidateProperty","__parseValidateProperty","params","validator","e","validationError","message","throw","validateSync","create","createSync","split","parsedValidators","forEach","v","vName","shift"],"mappings":"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","sourcesContent":["import _ from \"lodash\";\nimport ValidationError from \"./validationError\";\nimport { Validator, ValidateOptions, ParsedValidators } from \"./types\";\n\nconst entries = (validators: ParsedValidators): Array<[string, Array<string>]> => {\n return Object.entries(validators);\n};\n\nconst invalidRules = \"Validators must be specified as a string (eg. required,minLength:10,email).\";\n\ninterface CreatedValidators {\n async: Record<string, Validator>;\n sync: Record<string, Validator>;\n}\nconst createdValidators: CreatedValidators = {\n async: {},\n sync: {}\n};\n\n/**\n * Main class of Validation library.\n * Exported as a singleton instance, it offers methods for sync/async data validation and overwriting or adding new validators.\n *\n * @class Validation\n * @example\n * import { validation } from '@webiny/validation';\n *\n * // `validation` is a preconfigured instance of Validation class.\n * // From here you can either add new validators or use it as-is.\n */\nclass Validation {\n /**\n * Contains a list of all set validators.\n * @private\n */\n __validators: {\n [key: string]: Validator;\n };\n\n constructor() {\n this.__validators = {};\n }\n\n /**\n * Add new validator.\n * @param name Validator name.\n * @param callable Validator function which throws a ValidationError if validation fails.\n * @returns {Validation}\n */\n setValidator(name: string, callable: Validator): this {\n this.__validators[name] = callable;\n return this;\n }\n\n /**\n * Get validator function by name.\n * @param name Validator name.\n * @returns {Validator} A validator function.\n */\n getValidator(name: string): Validator {\n if (!this.__validators[name]) {\n throw new ValidationError(\"Validator `\" + name + \"` does not exist!\", name);\n }\n return this.__validators[name];\n }\n\n /**\n * Asynchronously validates value.\n * @param value Value to validate.\n * @param validators A list of comma-separated validators (eg. required,number,gt:20).\n * @param [options] Validation options.\n * @returns {Promise<boolean | ValidationError>}\n */\n async validate(\n value: any,\n validators: string,\n options: ValidateOptions = {}\n ): Promise<boolean | ValidationError> {\n if (_.isString(validators) && _.isEmpty(validators)) {\n return true;\n }\n\n if (!_.isString(validators)) {\n throw new Error(invalidRules);\n }\n\n const parsedValidateProperty = this.__parseValidateProperty(validators);\n\n for (const [name, params] of entries(parsedValidateProperty)) {\n const validator = this.getValidator(name);\n try {\n await validator(value, params);\n } catch (e) {\n const validationError = new ValidationError(e.message, name, value);\n if (options.throw === false) {\n return validationError;\n }\n throw validationError;\n }\n }\n return true;\n }\n\n /**\n * Synchronously validates value.\n * @param value Value to validate.\n * @param validators A list of comma-separated validators (eg. required,number,gt:20).\n * @param [options] Validation options.\n * @returns {Promise<boolean | ValidationError>}\n */\n validateSync(\n value: any,\n validators: string,\n options: ValidateOptions = {}\n ): boolean | ValidationError {\n if (_.isString(validators) && _.isEmpty(validators)) {\n return true;\n }\n\n if (!_.isString(validators)) {\n throw new Error(invalidRules);\n }\n\n const parsedValidateProperty = this.__parseValidateProperty(validators);\n\n for (const [name, params] of entries(parsedValidateProperty)) {\n const validator = this.getValidator(name);\n try {\n validator(value, params);\n } catch (e) {\n const validationError = new ValidationError(e.message, name, value);\n if (options.throw === false) {\n return validationError;\n }\n throw validationError;\n }\n }\n return true;\n }\n\n create(validators: string) {\n if (createdValidators.async[validators]) {\n return createdValidators.async[validators];\n }\n\n createdValidators.async[validators] = value => this.validate(value, validators);\n return createdValidators.async[validators];\n }\n\n createSync(validators: string) {\n if (createdValidators.sync[validators]) {\n return createdValidators.sync[validators];\n }\n\n createdValidators.sync[validators] = value => this.validateSync(value, validators);\n return createdValidators.sync[validators];\n }\n\n /**\n * Parses a string of validators with parameters.\n * @param validators A list of comma-separated validators (eg. required,number,gt:20).\n * @returns {ParsedValidators}\n * @private\n */\n __parseValidateProperty(validators: string): ParsedValidators {\n const validate: Array<string> = validators.split(\",\");\n\n const parsedValidators: ParsedValidators = {};\n validate.forEach((v: string) => {\n const params = _.trim(v).split(\":\");\n const vName = params.shift();\n if (!vName) {\n return;\n }\n parsedValidators[vName] = params;\n });\n return parsedValidators;\n }\n}\n\nexport default Validation;\n"]}
@@ -2,9 +2,9 @@
2
2
  * This class is used by validators to throw an error when value validation fails.
3
3
  */
4
4
  declare class ValidationError extends Error {
5
- message: string;
6
- validator: string;
7
- value: any;
8
- constructor(message?: string, validator?: string, value?: string);
5
+ readonly message: string;
6
+ readonly validator: string | null;
7
+ readonly value: any;
8
+ constructor(message?: string, validator?: string | null, value?: string | null);
9
9
  }
10
10
  export default ValidationError;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["validationError.ts"],"names":["ValidationError","Error","constructor","message","validator","value"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA,MAAMA,eAAN,SAA8BC,KAA9B,CAAoC;AAKhCC,EAAAA,WAAW,CAACC,OAAO,GAAG,EAAX,EAAeC,SAAwB,GAAG,IAA1C,EAAgDC,KAAoB,GAAG,IAAvE,EAA6E;AACpF;AADoF;AAAA;AAAA;AAEpF,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKC,KAAL,GAAaA,KAAb;AACH;;AAV+B;;eAarBL,e","sourcesContent":["/**\n * This class is used by validators to throw an error when value validation fails.\n */\nclass ValidationError extends Error {\n public override readonly message: string;\n public readonly validator: string | null;\n public readonly value: any;\n\n constructor(message = \"\", validator: string | null = null, value: string | null = null) {\n super();\n this.message = message;\n this.validator = validator;\n this.value = value;\n }\n}\n\nexport default ValidationError;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["creditCard.ts"],"names":["value","length","ValidationError","test","nCheck","nDigit","bEven","replace","n","cDigit","charAt","parseInt"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;eACgBA,KAAD,IAAsB;AACjC,MAAI,CAACA,KAAL,EAAY;AACR;AACH;;AACDA,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;;AAEA,MAAIA,KAAK,CAACC,MAAN,GAAe,EAAnB,EAAuB;AACnB,UAAM,IAAIC,wBAAJ,CAAoB,+BAApB,CAAN;AACH;;AAED,MAAI,aAAaC,IAAb,CAAkBH,KAAlB,CAAJ,EAA8B;AAC1B,UAAM,IAAIE,wBAAJ,CAAoB,6BAApB,CAAN;AACH;;AAED,MAAIE,MAAM,GAAG,CAAb;AACA,MAAIC,MAAM,GAAG,CAAb;AACA,MAAIC,KAAK,GAAG,KAAZ;AAEAN,EAAAA,KAAK,GAAGA,KAAK,CAACO,OAAN,CAAc,IAAd,EAAoB,EAApB,CAAR;AACAP,EAAAA,KAAK,GAAGA,KAAK,CAACO,OAAN,CAAc,KAAd,EAAqB,EAArB,CAAR;;AAEA,OAAK,IAAIC,CAAC,GAAGR,KAAK,CAACC,MAAN,GAAe,CAA5B,EAA+BO,CAAC,IAAI,CAApC,EAAuCA,CAAC,EAAxC,EAA4C;AACxC,UAAMC,MAAM,GAAGT,KAAK,CAACU,MAAN,CAAaF,CAAb,CAAf;AACAH,IAAAA,MAAM,GAAGM,QAAQ,CAACF,MAAD,CAAjB;;AAEA,QAAIH,KAAJ,EAAW;AACPD,MAAAA,MAAM,IAAI,CAAV;;AACA,UAAIA,MAAM,GAAG,CAAb,EAAgB;AACZA,QAAAA,MAAM,IAAI,CAAV;AACH;AACJ;;AAEDD,IAAAA,MAAM,IAAIC,MAAV;AACAC,IAAAA,KAAK,GAAG,CAACA,KAAT;AACH;;AAED,MAAIF,MAAM,GAAG,EAAT,KAAgB,CAApB,EAAuB;AACnB;AACH;;AAED,QAAM,IAAIF,wBAAJ,CAAoB,6BAApB,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n/**\n * @name creditCard\n * @description Credit card validator. This validator will check if the given value is a credit card number.\n * @param {any} value This is the value that will be validated.\n * @throws {ValidationError}\n * @example\n * import { validation } from '@webiny/validation';\n * validation.validate('notACreditCard', 'creditCard').then(() => {\n * // Valid\n * }).catch(e => {\n * // Invalid\n * });\n */\nexport default (value: any): void => {\n if (!value) {\n return;\n }\n value = value + \"\";\n\n if (value.length < 12) {\n throw new ValidationError(\"Credit card number too short.\");\n }\n\n if (/[^0-9-\\s]+/.test(value)) {\n throw new ValidationError(\"Credit card number invalid.\");\n }\n\n let nCheck = 0;\n let nDigit = 0;\n let bEven = false;\n\n value = value.replace(/ /g, \"\");\n value = value.replace(/\\D/g, \"\");\n\n for (let n = value.length - 1; n >= 0; n--) {\n const cDigit = value.charAt(n);\n nDigit = parseInt(cDigit);\n\n if (bEven) {\n nDigit *= 2;\n if (nDigit > 9) {\n nDigit -= 9;\n }\n }\n\n nCheck += nDigit;\n bEven = !bEven;\n }\n\n if (nCheck % 10 === 0) {\n return;\n }\n\n throw new ValidationError(\"Credit card number invalid.\");\n};\n"]}
@@ -1,4 +1,4 @@
1
- declare const _default: (value: string, params: string[]) => void;
1
+ declare const _default: (value: string, params?: string[] | undefined) => void;
2
2
  /**
3
3
  * Validates that given value is a greater or equal date to a gteValue
4
4
  */
@@ -13,7 +13,7 @@ var _validationError = _interopRequireDefault(require("../validationError"));
13
13
  * Validates that given value is a greater or equal date to a gteValue
14
14
  */
15
15
  var _default = (value, params) => {
16
- if (!value) {
16
+ if (!value || !params) {
17
17
  return;
18
18
  } // we need to join because validation params are being split by :
19
19
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dateGte.ts"],"names":["value","params","gteValue","join","date","Date","gteDate","ValidationError","toISOString"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;eACe,CAACA,KAAD,EAAgBC,MAAhB,KAAsC;AACjD,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH,GAHgD,CAIjD;;;AACA,QAAMC,QAAQ,GAAGD,MAAM,CAACE,IAAP,CAAY,GAAZ,CAAjB;;AACA,MAAI,CAACD,QAAL,EAAe;AACX;AACH;;AAED,QAAME,IAAI,GAAG,IAAIC,IAAJ,CAASL,KAAT,CAAb;AACA,QAAMM,OAAO,GAAG,IAAID,IAAJ,CAASH,QAAT,CAAhB;;AAEA,MAAIE,IAAI,IAAIE,OAAZ,EAAqB;AACjB;AACH;;AACD,QAAM,IAAIC,wBAAJ,CACD,+CAA8CD,OAAO,CAACE,WAAR,EAAsB,IADnE,CAAN;AAGH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n/**\n * Validates that given value is a greater or equal date to a gteValue\n */\nexport default (value: string, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n // we need to join because validation params are being split by :\n const gteValue = params.join(\":\");\n if (!gteValue) {\n return;\n }\n\n const date = new Date(value);\n const gteDate = new Date(gteValue);\n\n if (date >= gteDate) {\n return;\n }\n throw new ValidationError(\n `Value needs to be greater than or equal to \"${gteDate.toISOString()}\".`\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- declare const _default: (value: string, params: string[]) => void;
1
+ declare const _default: (value: string, params?: string[] | undefined) => void;
2
2
  /**
3
3
  * Validates that given value is a lesser than or equal date to a lteValue
4
4
  */
@@ -13,7 +13,7 @@ var _validationError = _interopRequireDefault(require("../validationError"));
13
13
  * Validates that given value is a lesser than or equal date to a lteValue
14
14
  */
15
15
  var _default = (value, params) => {
16
- if (!value) {
16
+ if (!value || !params) {
17
17
  return;
18
18
  } // we need to join because validation params are being split by :
19
19
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["dateLte.ts"],"names":["value","params","lteValue","join","date","Date","lteDate","ValidationError","toISOString"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;eACe,CAACA,KAAD,EAAgBC,MAAhB,KAAsC;AACjD,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH,GAHgD,CAIjD;;;AACA,QAAMC,QAAQ,GAAGD,MAAM,CAACE,IAAP,CAAY,GAAZ,CAAjB;;AACA,MAAI,CAACD,QAAL,EAAe;AACX;AACH;;AAED,QAAME,IAAI,GAAG,IAAIC,IAAJ,CAASL,KAAT,CAAb;AACA,QAAMM,OAAO,GAAG,IAAID,IAAJ,CAASH,QAAT,CAAhB;;AAEA,MAAIE,IAAI,IAAIE,OAAZ,EAAqB;AACjB;AACH;;AACD,QAAM,IAAIC,wBAAJ,CACD,8CAA6CD,OAAO,CAACE,WAAR,EAAsB,IADlE,CAAN;AAGH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n/**\n * Validates that given value is a lesser than or equal date to a lteValue\n */\nexport default (value: string, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n // we need to join because validation params are being split by :\n const lteValue = params.join(\":\");\n if (!lteValue) {\n return;\n }\n\n const date = new Date(value);\n const lteDate = new Date(lteValue);\n\n if (date <= lteDate) {\n return;\n }\n throw new ValidationError(\n `Value needs to be lesser than or equal to \"${lteDate.toISOString()}\".`\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["email.ts"],"names":["value","re","length","test","ValidationError"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;eACgBA,KAAD,IAAsB;AACjC,MAAI,CAACA,KAAL,EAAY;AACR;AACH;;AACDA,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB,CAJiC,CAMjC;;AACA,QAAMC,EAAE,GACJ,sJADJ;;AAEA,MAAI,CAACD,KAAD,IAAWA,KAAK,CAACE,MAAN,IAAgBD,EAAE,CAACE,IAAH,CAAQH,KAAR,CAA/B,EAAgD;AAC5C;AACH;;AACD,QAAM,IAAII,wBAAJ,CAAoB,uCAApB,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n/**\n * @name email\n * @description Email validator. This validator checks if the given value is a valid email address.\n * @param {any} value This is the value that will be validated.\n * @throws {ValidationError}\n * @example\n * import { validation } from '@webiny/validation';\n * validation.validate('email@gmail.com', 'email').then(() => {\n * // Valid\n * }).catch(e => {\n * // Invalid\n * });\n */\nexport default (value: any): void => {\n if (!value) {\n return;\n }\n value = value + \"\";\n\n // eslint-disable-next-line\n const re =\n /^(([^<>()[\\]\\\\.,;:\\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,}))$/;\n if (!value || (value.length && re.test(value))) {\n return;\n }\n throw new ValidationError(\"Value must be a valid e-mail address.\");\n};\n"]}
@@ -1,4 +1,4 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  /**
3
3
  * @name eq
4
4
  * @description Equality validator. This validator checks if the given values are equal.
package/validators/eq.js CHANGED
@@ -24,7 +24,7 @@ var _validationError = _interopRequireDefault(require("../validationError"));
24
24
  * });
25
25
  */
26
26
  var _default = (value, params) => {
27
- if (!value) {
27
+ if (!value || !params) {
28
28
  return;
29
29
  }
30
30
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["eq.ts"],"names":["value","params","ValidationError"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;eACe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AACDD,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB,CAJ8C,CAM9C;AACA;;AACA,MAAIA,KAAK,IAAIC,MAAM,CAAC,CAAD,CAAnB,EAAwB;AACpB;AACH;;AACD,QAAM,IAAIC,wBAAJ,CAAoB,4BAA4BD,MAAM,CAAC,CAAD,CAAlC,GAAwC,GAA5D,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n/**\n * @name eq\n * @description Equality validator. This validator checks if the given values are equal.\n * @param {any} value This is the value that will be validated.\n * @param {Array<string>} params This is the value to validate against. It is passed as a validator parameter: `eq:valueToCompareWith`\n * @throws {ValidationError}\n * @example\n * import { validation } from '@webiny/validation';\n * validation.validate('email@gmail.com', 'eq:another@gmail.com').then(() => {\n * // Valid\n * }).catch(e => {\n * // Invalid\n * });\n */\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n value = value + \"\";\n\n // Intentionally put '==' instead of '===' because passed parameter for this validator is always sent inside a string (eg. \"eq:test\").\n // eslint-disable-next-line\n if (value == params[0]) {\n return;\n }\n throw new ValidationError(\"Value must be equal to \" + params[0] + \".\");\n};\n"]}
@@ -1,4 +1,4 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  /**
3
3
  * @name gt
4
4
  * @description "Greater than" validator. This validator checks if the given values is greater than the `min` value.
package/validators/gt.js CHANGED
@@ -24,7 +24,7 @@ var _validationError = _interopRequireDefault(require("../validationError"));
24
24
  * });
25
25
  */
26
26
  var _default = (value, params) => {
27
- if (!value) {
27
+ if (!value || !params) {
28
28
  return;
29
29
  }
30
30
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["gt.ts"],"names":["value","params","parseFloat","ValidationError"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;eACe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AAED,MAAIC,UAAU,CAACF,KAAD,CAAV,GAAoBE,UAAU,CAACD,MAAM,CAAC,CAAD,CAAP,CAAlC,EAA+C;AAC3C;AACH;;AACD,QAAM,IAAIE,wBAAJ,CAAoB,oCAAoCF,MAAM,CAAC,CAAD,CAA1C,GAAgD,GAApE,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n/**\n * @name gt\n * @description \"Greater than\" validator. This validator checks if the given values is greater than the `min` value.\n * @param {any} value This is the value that will be validated.\n * @param {Array<string>} params This is the value to validate against. It is passed as a validator parameter: `gt:valueToCompareAgainst`\n * @throws {ValidationError}\n * @example\n * import { validation } from '@webiny/validation';\n * validation.validate(10, 'gt:100').then(() => {\n * // Valid\n * }).catch(e => {\n * // Invalid\n * });\n */\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n\n if (parseFloat(value) > parseFloat(params[0])) {\n return;\n }\n throw new ValidationError(\"Value needs to be greater than \" + params[0] + \".\");\n};\n"]}
@@ -1,4 +1,4 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  /**
3
3
  * @name gte
4
4
  * @description "Greater than or equals" validator. This validator checks if the given values is greater than or equal to the `min` value.
package/validators/gte.js CHANGED
@@ -24,7 +24,7 @@ var _validationError = _interopRequireDefault(require("../validationError"));
24
24
  * });
25
25
  */
26
26
  var _default = (value, params) => {
27
- if (!value) {
27
+ if (!value || !params) {
28
28
  return;
29
29
  }
30
30
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["gte.ts"],"names":["value","params","parseFloat","ValidationError"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;eACe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AAED,MAAIC,UAAU,CAACF,KAAD,CAAV,IAAqBE,UAAU,CAACD,MAAM,CAAC,CAAD,CAAP,CAAnC,EAAgD;AAC5C;AACH;;AACD,QAAM,IAAIE,wBAAJ,CAAoB,gDAAgDF,MAAM,CAAC,CAAD,CAAtD,GAA4D,GAAhF,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n/**\n * @name gte\n * @description \"Greater than or equals\" validator. This validator checks if the given values is greater than or equal to the `min` value.\n * @param {any} value This is the value that will be validated.\n * @param {any} min This is the value to validate against. It is passed as a validator parameter: `gte:valueToCompareAgainst`\n * @throws {ValidationError}\n * @example\n * import { validation } from '@webiny/validation';\n * validation.validate(10, 'gte:100').then(() => {\n * // Valid\n * }).catch(e => {\n * // Invalid\n * });\n */\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n\n if (parseFloat(value) >= parseFloat(params[0])) {\n return;\n }\n throw new ValidationError(\"Value needs to be greater than or equal to \" + params[0] + \".\");\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, params: string[]) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  export default _default;
package/validators/in.js CHANGED
@@ -11,7 +11,7 @@ var _validationError = _interopRequireDefault(require("../validationError"));
11
11
 
12
12
  // In array validator. This validator checks if the given value is allowed to.
13
13
  var _default = (value, params) => {
14
- if (!value) {
14
+ if (!value || !params) {
15
15
  return;
16
16
  }
17
17
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["in.ts"],"names":["value","params","includes","ValidationError","join"],"mappings":";;;;;;;;;AAAA;;AAEA;eACe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AACDD,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;;AAEA,MAAIC,MAAM,CAACC,QAAP,CAAgBF,KAAhB,CAAJ,EAA4B;AACxB;AACH;;AAED,QAAM,IAAIG,wBAAJ,CAAoB,yCAAyCF,MAAM,CAACG,IAAP,CAAY,IAAZ,CAAzC,GAA6D,GAAjF,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\n// In array validator. This validator checks if the given value is allowed to.\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n value = value + \"\";\n\n if (params.includes(value)) {\n return;\n }\n\n throw new ValidationError(\"Value must be one of the following: \" + params.join(\", \") + \".\");\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["integer.ts"],"names":["value","ValidationError"],"mappings":";;;;;;;;;;;AACA;;eAEgBA,KAAD,IAAgB;AAC3B,MAAI,CAACA,KAAL,EAAY;AACR;AACH;;AAED,MAAI,yBAAYA,KAAZ,CAAJ,EAAwB;AACpB;AACH;;AAED,QAAM,IAAIC,wBAAJ,CAAoB,+BAApB,CAAN;AACH,C","sourcesContent":["import _ from \"lodash\";\nimport ValidationError from \"~/validationError\";\n\nexport default (value: any) => {\n if (!value) {\n return;\n }\n\n if (_.isInteger(value)) {\n return;\n }\n\n throw new ValidationError(\"Value needs to be an integer.\");\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["json.ts"],"names":["value","JSON","parse","e","ValidationError"],"mappings":";;;;;;;;;AAAA;;eAEgBA,KAAD,IAAgB;AAC3B,MAAI,CAACA,KAAL,EAAY;AACR;AACH;;AAED,MAAI;AACAC,IAAAA,IAAI,CAACC,KAAL,CAAWF,KAAX;AACH,GAFD,CAEE,OAAOG,CAAP,EAAU;AACR,UAAM,IAAIC,wBAAJ,CAAoB,iCAApB,CAAN;AACH;AACJ,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\nexport default (value: any) => {\n if (!value) {\n return;\n }\n\n try {\n JSON.parse(value);\n } catch (e) {\n throw new ValidationError(\"Value needs to be a valid JSON.\");\n }\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  export default _default;
package/validators/lt.js CHANGED
@@ -10,7 +10,7 @@ exports.default = void 0;
10
10
  var _validationError = _interopRequireDefault(require("../validationError"));
11
11
 
12
12
  var _default = (value, params) => {
13
- if (!value) {
13
+ if (!value || !params) {
14
14
  return;
15
15
  }
16
16
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["lt.ts"],"names":["value","params","parseFloat","ValidationError"],"mappings":";;;;;;;;;AAAA;;eAEe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AACDD,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;;AAEA,MAAIE,UAAU,CAACF,KAAD,CAAV,GAAoBE,UAAU,CAACD,MAAM,CAAC,CAAD,CAAP,CAAlC,EAA+C;AAC3C;AACH;;AAED,QAAM,IAAIE,wBAAJ,CAAoB,iCAAiCF,MAAM,CAAC,CAAD,CAAvC,GAA6C,GAAjE,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n value = value + \"\";\n\n if (parseFloat(value) < parseFloat(params[0])) {\n return;\n }\n\n throw new ValidationError(\"Value needs to be less than \" + params[0] + \".\");\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  export default _default;
package/validators/lte.js CHANGED
@@ -10,7 +10,7 @@ exports.default = void 0;
10
10
  var _validationError = _interopRequireDefault(require("../validationError"));
11
11
 
12
12
  var _default = (value, params) => {
13
- if (!value) {
13
+ if (!value || !params) {
14
14
  return;
15
15
  }
16
16
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["lte.ts"],"names":["value","params","parseFloat","ValidationError"],"mappings":";;;;;;;;;AAAA;;eAEe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AACDD,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;;AAEA,MAAIE,UAAU,CAACF,KAAD,CAAV,IAAqBE,UAAU,CAACD,MAAM,CAAC,CAAD,CAAP,CAAnC,EAAgD;AAC5C;AACH;;AAED,QAAM,IAAIE,wBAAJ,CAAoB,6CAA6CF,MAAM,CAAC,CAAD,CAAnD,GAAyD,GAA7E,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n value = value + \"\";\n\n if (parseFloat(value) <= parseFloat(params[0])) {\n return;\n }\n\n throw new ValidationError(\"Value needs to be less than or equal to \" + params[0] + \".\");\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  export default _default;
@@ -18,7 +18,7 @@ var _has2 = _interopRequireDefault(require("lodash/has"));
18
18
  var _validationError = _interopRequireDefault(require("../validationError"));
19
19
 
20
20
  var _default = (value, params) => {
21
- if (!value) {
21
+ if (!value || !params) {
22
22
  return;
23
23
  }
24
24
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["maxLength.ts"],"names":["value","params","lengthOfValue","length","ValidationError"],"mappings":";;;;;;;;;;;;;;;;;AACA;;eAEe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AAED,MAAIC,aAAa,GAAG,IAApB;;AACA,MAAI,mBAAMF,KAAN,EAAa,QAAb,CAAJ,EAA4B;AACxBE,IAAAA,aAAa,GAAGF,KAAK,CAACG,MAAtB;AACH,GAFD,MAEO,IAAI,wBAAWH,KAAX,CAAJ,EAAuB;AAC1BE,IAAAA,aAAa,GAAG,oBAAOF,KAAP,EAAcG,MAA9B;AACH;;AAED,MAAID,aAAa,KAAK,IAAlB,IAA0BA,aAAa,IAAID,MAAM,CAAC,CAAD,CAArD,EAA0D;AACtD;AACH;;AAED,MAAI,wBAAWD,KAAX,CAAJ,EAAuB;AACnB,UAAM,IAAII,wBAAJ,CAAoB,oBAAoBH,MAAM,CAAC,CAAD,CAA1B,GAAgC,sBAApD,CAAN;AACH;;AACD,QAAM,IAAIG,wBAAJ,CAAoB,oBAAoBH,MAAM,CAAC,CAAD,CAA1B,GAAgC,iBAApD,CAAN;AACH,C","sourcesContent":["import _ from \"lodash\";\nimport ValidationError from \"~/validationError\";\n\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n\n let lengthOfValue = null;\n if (_.has(value, \"length\")) {\n lengthOfValue = value.length;\n } else if (_.isObject(value)) {\n lengthOfValue = _.keys(value).length;\n }\n\n if (lengthOfValue === null || lengthOfValue <= params[0]) {\n return;\n }\n\n if (_.isString(value)) {\n throw new ValidationError(\"Value requires \" + params[0] + \" characters at most.\");\n }\n throw new ValidationError(\"Value requires \" + params[0] + \" items at most.\");\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  export default _default;
@@ -18,7 +18,7 @@ var _has2 = _interopRequireDefault(require("lodash/has"));
18
18
  var _validationError = _interopRequireDefault(require("../validationError"));
19
19
 
20
20
  var _default = (value, params) => {
21
- if (!value) {
21
+ if (!value || !params) {
22
22
  return;
23
23
  }
24
24
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["minLength.ts"],"names":["value","params","lengthOfValue","length","ValidationError"],"mappings":";;;;;;;;;;;;;;;;;AACA;;eAEe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AAED,MAAIC,aAAa,GAAG,IAApB;;AACA,MAAI,mBAAMF,KAAN,EAAa,QAAb,CAAJ,EAA4B;AACxBE,IAAAA,aAAa,GAAGF,KAAK,CAACG,MAAtB;AACH,GAFD,MAEO,IAAI,wBAAWH,KAAX,CAAJ,EAAuB;AAC1BE,IAAAA,aAAa,GAAG,oBAAOF,KAAP,EAAcG,MAA9B;AACH;;AAED,MAAID,aAAa,KAAK,IAAlB,IAA0BA,aAAa,IAAID,MAAM,CAAC,CAAD,CAArD,EAA0D;AACtD;AACH;;AAED,MAAI,wBAAWD,KAAX,CAAJ,EAAuB;AACnB,UAAM,IAAII,wBAAJ,CAAoB,6BAA6BH,MAAM,CAAC,CAAD,CAAnC,GAAyC,cAA7D,CAAN;AACH;;AACD,QAAM,IAAIG,wBAAJ,CAAoB,6BAA6BH,MAAM,CAAC,CAAD,CAAnC,GAAyC,SAA7D,CAAN;AACH,C","sourcesContent":["import _ from \"lodash\";\nimport ValidationError from \"~/validationError\";\n\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n\n let lengthOfValue = null;\n if (_.has(value, \"length\")) {\n lengthOfValue = value.length;\n } else if (_.isObject(value)) {\n lengthOfValue = _.keys(value).length;\n }\n\n if (lengthOfValue === null || lengthOfValue >= params[0]) {\n return;\n }\n\n if (_.isString(value)) {\n throw new ValidationError(\"Value requires at least \" + params[0] + \" characters.\");\n }\n throw new ValidationError(\"Value requires at least \" + params[0] + \" items.\");\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["number.ts"],"names":["value","ValidationError"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;eACgBA,KAAD,IAAgB;AAC3B,MAAI,CAACA,KAAD,IAAU,CAAC,qBAAQA,KAAR,CAAf,EAA+B;AAC3B;AACH;;AAED,MAAI,wBAAWA,KAAX,KAAqB,CAAC,qBAAQA,KAAR,CAA1B,EAA0C;AACtC;AACH;;AAED,QAAM,IAAIC,wBAAJ,CAAoB,6BAApB,CAAN;AACH,C","sourcesContent":["import _ from \"lodash\";\nimport ValidationError from \"~/validationError\";\n\n/**\n * @function number\n * @description This validator checks of the given value is a number\n * @param {any} value\n * @return {boolean}\n */\nexport default (value: any) => {\n if (!value && !_.isNaN(value)) {\n return;\n }\n\n if (_.isNumber(value) && !_.isNaN(value)) {\n return;\n }\n\n throw new ValidationError(\"Value needs to be a number.\");\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["numeric.ts"],"names":["value","isNaN","ValidationError"],"mappings":";;;;;;;;;AAAA;;AAKA;;AAJA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;eACgBA,KAAD,IAAgB;AAC3B;AACA,MAAI,OAAOA,KAAP,KAAiB,WAAjB,IAAgCA,KAAK,KAAK,CAA1C,IAA+CA,KAAK,KAAK,GAA7D,EAAkE;AAC9D;AACH;;AAED,MAAI,CAACA,KAAD,IAAU,CAACC,KAAK,CAACD,KAAD,CAApB,EAA6B;AACzB;AACH;;AAED,MAAI,wBAAUA,KAAV,CAAJ,EAAsB;AAClB;AACH;;AAED,QAAM,IAAIE,wBAAJ,CAAoB,4BAApB,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n/**\n * Package isnumeric does not have types so we ignore it.\n */\n// @ts-ignore\nimport isNumeric from \"isnumeric\";\n\n/**\n * @function number\n * @description This validator checks if the given value is numeric\n * @param {any} value\n * @return {boolean}\n */\nexport default (value: any) => {\n // Eliminate edge cases\n if (typeof value === \"undefined\" || value === 0 || value === \"0\") {\n return;\n }\n\n if (!value && !isNaN(value)) {\n return;\n }\n\n if (isNumeric(value)) {\n return;\n }\n\n throw new ValidationError(\"Value needs to be numeric.\");\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, params?: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  export default _default;
@@ -9,13 +9,13 @@ exports.default = void 0;
9
9
 
10
10
  var _validationError = _interopRequireDefault(require("../validationError"));
11
11
 
12
- var _default = (value, params = []) => {
12
+ var _default = (value, params) => {
13
13
  if (!value) {
14
14
  return;
15
15
  }
16
16
 
17
17
  value = value + "";
18
- const length = params[0] || 6;
18
+ const length = params ? params[0] || 6 : 6;
19
19
  const test = value.match(new RegExp(`^.{${length},}$`));
20
20
 
21
21
  if (test === null) {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["password.ts"],"names":["value","params","length","test","match","RegExp","ValidationError"],"mappings":";;;;;;;;;AAAA;;eAEe,CAACA,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAL,EAAY;AACR;AACH;;AACDA,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;AAEA,QAAME,MAAM,GAAGD,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAN,IAAa,CAAhB,GAAoB,CAAzC;AACA,QAAME,IAAI,GAAGH,KAAK,CAACI,KAAN,CAAY,IAAIC,MAAJ,CAAY,MAAKH,MAAO,KAAxB,CAAZ,CAAb;;AACA,MAAIC,IAAI,KAAK,IAAb,EAAmB;AACf,UAAM,IAAIG,wBAAJ,CAAqB,kCAAiCJ,MAAO,aAA7D,CAAN;AACH;AACJ,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\nexport default (value: any, params?: string[]) => {\n if (!value) {\n return;\n }\n value = value + \"\";\n\n const length = params ? params[0] || 6 : 6;\n const test = value.match(new RegExp(`^.{${length},}$`));\n if (test === null) {\n throw new ValidationError(`Password must contain at least ${length} characters`);\n }\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["phone.ts"],"names":["value","match","ValidationError"],"mappings":";;;;;;;;;AAAA;;eAEgBA,KAAD,IAAgB;AAC3B,MAAI,CAACA,KAAL,EAAY;AACR;AACH;;AACDA,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;;AAEA,MAAIA,KAAK,CAACC,KAAN,CAAY,iBAAZ,CAAJ,EAAoC;AAChC;AACH;;AACD,QAAM,IAAIC,wBAAJ,CAAoB,qCAApB,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\nexport default (value: any) => {\n if (!value) {\n return;\n }\n value = value + \"\";\n\n if (value.match(/^[-+0-9()/\\s]+$/)) {\n return;\n }\n throw new ValidationError(\"Value must be a valid phone number.\");\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["required.ts"],"names":["throwError","ValidationError","value","undefined"],"mappings":";;;;;;;;;AAAA;;AAEA,MAAMA,UAAU,GAAG,MAAM;AACrB,QAAM,IAAIC,wBAAJ,CAAoB,oBAApB,CAAN;AACH,CAFD;;eAIgBC,KAAD,IAAgB;AAC3B,MAAIA,KAAK,KAAK,EAAV,IAAgBA,KAAK,KAAK,IAA1B,IAAkCA,KAAK,KAAKC,SAAhD,EAA2D;AACvDH,IAAAA,UAAU;AACb;AACJ,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\nconst throwError = () => {\n throw new ValidationError(\"Value is required.\");\n};\n\nexport default (value: any) => {\n if (value === \"\" || value === null || value === undefined) {\n throwError();\n }\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["parseTime","value","parsed","split","map","Number","length","ValidationError","hours","minutes","seconds","compareTime","time","compareTo","timeHours","timeMinutes","timeSeconds","compareToHours","compareToMinutes","compareToSeconds"],"mappings":";;;;;;;;;AAAA;;AAOA,MAAMA,SAAS,GAAIC,KAAD,IAAqC;AACnD,QAAMC,MAAM,GAAGD,KAAK,CAACE,KAAN,CAAY,GAAZ,EAAiBC,GAAjB,CAAqBC,MAArB,CAAf;;AACA,MAAIH,MAAM,CAACI,MAAP,GAAgB,CAApB,EAAuB;AACnB,UAAM,IAAIC,wBAAJ,CAAqB,UAASN,KAAM,4BAApC,CAAN;AACH;;AACD,QAAM,CAACO,KAAD,EAAQC,OAAR,EAAiBC,OAAO,GAAG,CAA3B,IAAgCR,MAAtC;;AACA,MAAIM,KAAK,IAAI,EAAb,EAAiB;AACb,UAAM,IAAID,wBAAJ,CACD,wDAAuDN,KAAM,IAD5D,CAAN;AAGH,GAJD,MAIO,IAAIO,KAAK,GAAG,CAAZ,EAAe;AAClB,UAAM,IAAID,wBAAJ,CAAqB,mDAAkDN,KAAM,IAA7E,CAAN;AACH,GAFM,MAEA,IAAIQ,OAAO,IAAI,EAAf,EAAmB;AACtB,UAAM,IAAIF,wBAAJ,CACD,0DAAyDN,KAAM,IAD9D,CAAN;AAGH,GAJM,MAIA,IAAIQ,OAAO,GAAG,CAAd,EAAiB;AACpB,UAAM,IAAIF,wBAAJ,CAAqB,qDAAoDN,KAAM,IAA/E,CAAN;AACH,GAFM,MAEA,IAAIS,OAAO,IAAI,EAAf,EAAmB;AACtB,UAAM,IAAIH,wBAAJ,CACD,0DAAyDN,KAAM,IAD9D,CAAN;AAGH,GAJM,MAIA,IAAIS,OAAO,GAAG,CAAd,EAAiB;AACpB,UAAM,IAAIH,wBAAJ,CAAqB,qDAAoDN,KAAM,IAA/E,CAAN;AACH;;AACD,SAAO;AACHO,IAAAA,KADG;AAEHC,IAAAA,OAFG;AAGHC,IAAAA;AAHG,GAAP;AAKH,CA9BD;AA+BA;AACA;AACA;AACA;AACA;;;AACO,MAAMC,WAAW,GAAG,CAACC,IAAD,EAAeC,SAAf,KAA6C;AACpE,QAAM;AAAEL,IAAAA,KAAK,EAAEM,SAAT;AAAoBL,IAAAA,OAAO,EAAEM,WAA7B;AAA0CL,IAAAA,OAAO,EAAEM;AAAnD,MAAmEhB,SAAS,CAACY,IAAD,CAAlF;AACA,QAAM;AACFJ,IAAAA,KAAK,EAAES,cADL;AAEFR,IAAAA,OAAO,EAAES,gBAFP;AAGFR,IAAAA,OAAO,EAAES;AAHP,MAIFnB,SAAS,CAACa,SAAD,CAJb;;AAKA,MAAIC,SAAS,GAAGG,cAAhB,EAAgC;AAC5B,WAAO,CAAP;AACH;;AACD,MAAIH,SAAS,KAAKG,cAAlB,EAAkC;AAC9B,QAAIF,WAAW,GAAGG,gBAAlB,EAAoC;AAChC,aAAO,CAAP;AACH,KAFD,MAEO,IAAIH,WAAW,KAAKG,gBAApB,EAAsC;AACzC,UAAIF,WAAW,GAAGG,gBAAlB,EAAoC;AAChC,eAAO,CAAP;AACH,OAFD,MAEO,IAAIH,WAAW,KAAKG,gBAApB,EAAsC;AACzC,eAAO,CAAP;AACH;AACJ;AACJ;;AACD,SAAO,CAAC,CAAR;AACH,CAtBM","sourcesContent":["import ValidationError from \"~/validationError\";\n\ninterface ParsedTimeResult {\n hours: number;\n minutes: number;\n seconds: number;\n}\nconst parseTime = (value: string): ParsedTimeResult => {\n const parsed = value.split(\":\").map(Number);\n if (parsed.length < 2) {\n throw new ValidationError(`Value \"${value}\" does not look like time.`);\n }\n const [hours, minutes, seconds = 0] = parsed;\n if (hours >= 24) {\n throw new ValidationError(\n `There cannot be more than 24 hours. Value parsed is \"${value}\".`\n );\n } else if (hours < 0) {\n throw new ValidationError(`Hours cannot go into negative. Value parsed is \"${value}\".`);\n } else if (minutes >= 60) {\n throw new ValidationError(\n `There cannot be more than 59 minutes. Value parsed is \"${value}\".`\n );\n } else if (minutes < 0) {\n throw new ValidationError(`Minutes cannot go into negative. Value parsed is \"${value}\".`);\n } else if (seconds >= 60) {\n throw new ValidationError(\n `There cannot be more than 59 seconds. Value parsed is \"${value}\".`\n );\n } else if (seconds < 0) {\n throw new ValidationError(`Seconds cannot go into negative. Value parsed is \"${value}\".`);\n }\n return {\n hours,\n minutes,\n seconds\n };\n};\n/**\n * returns 1 if time is greater than compareTo\n * returns 0 if they are equal\n * returns -1 if compareTo is greater than time\n */\nexport const compareTime = (time: string, compareTo: string): number => {\n const { hours: timeHours, minutes: timeMinutes, seconds: timeSeconds } = parseTime(time);\n const {\n hours: compareToHours,\n minutes: compareToMinutes,\n seconds: compareToSeconds\n } = parseTime(compareTo);\n if (timeHours > compareToHours) {\n return 1;\n }\n if (timeHours === compareToHours) {\n if (timeMinutes > compareToMinutes) {\n return 1;\n } else if (timeMinutes === compareToMinutes) {\n if (timeSeconds > compareToSeconds) {\n return 1;\n } else if (timeSeconds === compareToSeconds) {\n return 0;\n }\n }\n }\n return -1;\n};\n"]}
@@ -1,4 +1,4 @@
1
- declare const _default: (value: string, params: string[]) => void;
1
+ declare const _default: (value: string, params?: string[] | undefined) => void;
2
2
  /**
3
3
  * Validates that given value is a greater or equal to a gteValue
4
4
  */
@@ -15,7 +15,7 @@ var _time = require("./time");
15
15
  * Validates that given value is a greater or equal to a gteValue
16
16
  */
17
17
  var _default = (value, params) => {
18
- if (!value) {
18
+ if (!value || !params) {
19
19
  return;
20
20
  } // we need to join because validation params are being split by :
21
21
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["timeGte.ts"],"names":["value","params","gteValue","join","compare","ValidationError"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;eACe,CAACA,KAAD,EAAgBC,MAAhB,KAAsC;AACjD,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH,GAHgD,CAIjD;;;AACA,QAAMC,QAAQ,GAAGD,MAAM,CAACE,IAAP,CAAY,GAAZ,CAAjB;;AACA,MAAI,CAACD,QAAL,EAAe;AACX;AACH;;AAED,QAAME,OAAO,GAAG,uBAAYJ,KAAZ,EAAmBE,QAAnB,CAAhB;;AAEA,MAAIE,OAAO,IAAI,CAAf,EAAkB;AACd;AACH;;AACD,QAAM,IAAIC,wBAAJ,CAAqB,+CAA8CH,QAAS,IAA5E,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\nimport { compareTime } from \"./time\";\n\n/**\n * Validates that given value is a greater or equal to a gteValue\n */\nexport default (value: string, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n // we need to join because validation params are being split by :\n const gteValue = params.join(\":\");\n if (!gteValue) {\n return;\n }\n\n const compare = compareTime(value, gteValue);\n\n if (compare >= 0) {\n return;\n }\n throw new ValidationError(`Value needs to be greater than or equal to \"${gteValue}\".`);\n};\n"]}
@@ -1,4 +1,4 @@
1
- declare const _default: (value: string, params: string[]) => void;
1
+ declare const _default: (value: string, params?: string[] | undefined) => void;
2
2
  /**
3
3
  * Validates that given value is a leaser or equal to a lteValue
4
4
  */
@@ -15,7 +15,7 @@ var _time = require("./time");
15
15
  * Validates that given value is a leaser or equal to a lteValue
16
16
  */
17
17
  var _default = (value, params) => {
18
- if (!value) {
18
+ if (!value || !params) {
19
19
  return;
20
20
  } // we need to join because validation params are being split by :
21
21
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["timeLte.ts"],"names":["value","params","lteValue","join","compare","ValidationError"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;eACe,CAACA,KAAD,EAAgBC,MAAhB,KAAsC;AACjD,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH,GAHgD,CAIjD;;;AACA,QAAMC,QAAQ,GAAGD,MAAM,CAACE,IAAP,CAAY,GAAZ,CAAjB;;AACA,MAAI,CAACD,QAAL,EAAe;AACX;AACH;;AAED,QAAME,OAAO,GAAG,uBAAYJ,KAAZ,EAAmBE,QAAnB,CAAhB;;AACA,MAAIE,OAAO,IAAI,CAAf,EAAkB;AACd;AACH;;AACD,QAAM,IAAIC,wBAAJ,CAAqB,8CAA6CH,QAAS,IAA3E,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\nimport { compareTime } from \"./time\";\n\n/**\n * Validates that given value is a leaser or equal to a lteValue\n */\nexport default (value: string, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n // we need to join because validation params are being split by :\n const lteValue = params.join(\":\");\n if (!lteValue) {\n return;\n }\n\n const compare = compareTime(value, lteValue);\n if (compare <= 0) {\n return;\n }\n throw new ValidationError(`Value needs to be lesser than or equal to \"${lteValue}\".`);\n};\n"]}
@@ -1,2 +1,2 @@
1
- declare const _default: (value: any, params: Array<string>) => void;
1
+ declare const _default: (value: any, params?: string[] | undefined) => void;
2
2
  export default _default;
package/validators/url.js CHANGED
@@ -21,7 +21,7 @@ const regex = {
21
21
  };
22
22
 
23
23
  var _default = (value, params) => {
24
- if (!value) {
24
+ if (!value || !params) {
25
25
  return;
26
26
  }
27
27
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["url.ts"],"names":["regex","base","RegExp","ip","relative","href","value","params","startsWith","replace","test","includes","ValidationError"],"mappings":";;;;;;;;;AAAA;;AAEA,MAAMA,KAAK,GAAG;AACVC,EAAAA,IAAI,EAAE,IAAIC,MAAJ,EACF;AACA,yJAFE,CADI;AAKVC,EAAAA,EAAE,EAAE,IAAID,MAAJ,EACA;AACA,iLAFA,CALM;AASVE,EAAAA,QAAQ,EAAE,IAAIF,MAAJ,EACN;AACA,UAFM,CATA;AAaVG,EAAAA,IAAI,EAAE,IAAIH,MAAJ,EACF;AACA,yBAFE;AAbI,CAAd;;eAmBe,CAACI,KAAD,EAAaC,MAAb,KAAmC;AAC9C,MAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB;AACnB;AACH;;AACDD,EAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;;AAEA,MAAIA,KAAK,CAACE,UAAN,CAAiB,kBAAjB,KAAwCF,KAAK,CAACE,UAAN,CAAiB,mBAAjB,CAA5C,EAAmF;AAC/EF,IAAAA,KAAK,GAAGA,KAAK,CAACG,OAAN,CAAc,aAAd,EAA6B,iBAA7B,CAAR;AACH;;AAED,MAAIT,KAAK,CAACC,IAAN,CAAWS,IAAX,CAAgBJ,KAAhB,CAAJ,EAA4B;AACxB,QAAI,CAACC,MAAM,CAACI,QAAP,CAAgB,MAAhB,CAAL,EAA8B;AAC1B;AACH;;AAED,QAAI,CAACX,KAAK,CAACG,EAAN,CAASO,IAAT,CAAcJ,KAAd,CAAL,EAA2B;AACvB;AACH;AACJ;;AAED,MAAIC,MAAM,CAACI,QAAP,CAAgB,eAAhB,CAAJ,EAAsC;AAClC,QAAIX,KAAK,CAACI,QAAN,CAAeM,IAAf,CAAoBJ,KAApB,CAAJ,EAAgC;AAC5B;AACH;AACJ;;AAED,MAAIC,MAAM,CAACI,QAAP,CAAgB,WAAhB,CAAJ,EAAkC;AAC9B,QAAIX,KAAK,CAACK,IAAN,CAAWK,IAAX,CAAgBJ,KAAhB,CAAJ,EAA4B;AACxB;AACH;AACJ;;AAED,QAAM,IAAIM,wBAAJ,CAAoB,4BAApB,CAAN;AACH,C","sourcesContent":["import ValidationError from \"~/validationError\";\n\nconst regex = {\n base: new RegExp(\n // eslint-disable-next-line\n /^(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\n ),\n ip: new RegExp(\n // eslint-disable-next-line\n /^(https?:\\/\\/)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/\n ),\n relative: new RegExp(\n // eslint-disable-next-line\n /^\\/.*$/\n ),\n href: new RegExp(\n // eslint-disable-next-line\n /^(#|mailto:|tel:)\\S*$/\n )\n};\n\nexport default (value: any, params?: string[]) => {\n if (!value || !params) {\n return;\n }\n value = value + \"\";\n\n if (value.startsWith(\"http://localhost\") || value.startsWith(\"https://localhost\")) {\n value = value.replace(\"//localhost\", \"//localhost.com\");\n }\n\n if (regex.base.test(value)) {\n if (!params.includes(\"noIp\")) {\n return;\n }\n\n if (!regex.ip.test(value)) {\n return;\n }\n }\n\n if (params.includes(\"allowRelative\")) {\n if (regex.relative.test(value)) {\n return;\n }\n }\n\n if (params.includes(\"allowHref\")) {\n if (regex.href.test(value)) {\n return;\n }\n }\n\n throw new ValidationError(\"Value must be a valid URL.\");\n};\n"]}