@zajno/common 2.1.0 → 2.1.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.
- package/package.json +1 -1
- package/validation/ValidationErrors.d.ts +16 -14
- package/validation/ValidationErrors.d.ts.map +1 -1
- package/validation/ValidationErrors.js +19 -14
- package/validation/ValidationErrors.js.map +1 -1
- package/validation/helpers.d.ts +5 -1
- package/validation/helpers.d.ts.map +1 -1
- package/validation/helpers.js +43 -1
- package/validation/helpers.js.map +1 -1
- package/validation/throwers.d.ts +14 -0
- package/validation/throwers.d.ts.map +1 -0
- package/validation/throwers.js +29 -0
- package/validation/throwers.js.map +1 -0
- package/validation/types.d.ts +4 -0
- package/validation/types.d.ts.map +1 -1
- package/validation/validators.d.ts +1 -0
- package/validation/validators.d.ts.map +1 -1
- package/validation/validators.js +1 -0
- package/validation/validators.js.map +1 -1
package/package.json
CHANGED
|
@@ -3,20 +3,22 @@ export declare enum ValidationErrors {
|
|
|
3
3
|
None = 0,
|
|
4
4
|
ShouldBeNonEmpty = 1,
|
|
5
5
|
ShouldBeEqualTo = 2,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
InvalidFormat = 3,
|
|
7
|
+
Inconsistent = 4,
|
|
8
|
+
InvalidNameFormat = 5,
|
|
9
|
+
InvalidEmailFormat = 6,
|
|
10
|
+
InvalidPasswordFormat = 7,
|
|
11
|
+
OnlyEnglishLetters = 8,
|
|
12
|
+
InvalidPhoneFormat = 9,
|
|
13
|
+
InvalidCreditCardFormat = 10,
|
|
14
|
+
InvalidCreditCardExpiryDateFormat = 11,
|
|
15
|
+
InvalidCreditCardCvvFormat = 12,
|
|
16
|
+
OnlyDigit = 13,
|
|
17
|
+
EmailIsInUse = 14,
|
|
18
|
+
FirstName = 15,
|
|
19
|
+
LastName = 16,
|
|
20
|
+
Website = 17,
|
|
21
|
+
Linkedin = 18
|
|
20
22
|
}
|
|
21
23
|
export declare namespace ValidationErrors {
|
|
22
24
|
const Helper: EnumHelper<ValidationErrors>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationErrors.d.ts","sourceRoot":"","sources":["../../src/validation/ValidationErrors.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,4BAA4B,CAAC;AAEpD,oBAAY,gBAAgB;IACxB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"ValidationErrors.d.ts","sourceRoot":"","sources":["../../src/validation/ValidationErrors.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,4BAA4B,CAAC;AAEpD,oBAAY,gBAAgB;IACxB,IAAI,IAAI;IAGR,gBAAgB,IAAA;IAChB,eAAe,IAAA;IACf,aAAa,IAAA;IACb,YAAY,IAAA;IAGZ,iBAAiB,IAAA;IACjB,kBAAkB,IAAA;IAClB,qBAAqB,IAAA;IACrB,kBAAkB,IAAA;IAClB,kBAAkB,IAAA;IAClB,uBAAuB,KAAA;IACvB,iCAAiC,KAAA;IACjC,0BAA0B,KAAA;IAC1B,SAAS,KAAA;IAGT,YAAY,KAAA;IACZ,SAAS,KAAA;IACT,QAAQ,KAAA;IACR,OAAO,KAAA;IACP,QAAQ,KAAA;CACX;AAED,yBAAiB,gBAAgB,CAAC;IACvB,MAAM,MAAM,8BAAqD,CAAC;CAC5E"}
|
|
@@ -6,22 +6,27 @@ const enum_1 = tslib_1.__importDefault(require("../structures/helpers/enum"));
|
|
|
6
6
|
var ValidationErrors;
|
|
7
7
|
(function (ValidationErrors) {
|
|
8
8
|
ValidationErrors[ValidationErrors["None"] = 0] = "None";
|
|
9
|
+
// generic
|
|
9
10
|
ValidationErrors[ValidationErrors["ShouldBeNonEmpty"] = 1] = "ShouldBeNonEmpty";
|
|
10
11
|
ValidationErrors[ValidationErrors["ShouldBeEqualTo"] = 2] = "ShouldBeEqualTo";
|
|
11
|
-
ValidationErrors[ValidationErrors["
|
|
12
|
-
ValidationErrors[ValidationErrors["
|
|
13
|
-
|
|
14
|
-
ValidationErrors[ValidationErrors["
|
|
15
|
-
ValidationErrors[ValidationErrors["
|
|
16
|
-
ValidationErrors[ValidationErrors["
|
|
17
|
-
ValidationErrors[ValidationErrors["
|
|
18
|
-
ValidationErrors[ValidationErrors["
|
|
19
|
-
ValidationErrors[ValidationErrors["
|
|
20
|
-
ValidationErrors[ValidationErrors["
|
|
21
|
-
ValidationErrors[ValidationErrors["
|
|
22
|
-
ValidationErrors[ValidationErrors["
|
|
23
|
-
|
|
24
|
-
ValidationErrors[ValidationErrors["
|
|
12
|
+
ValidationErrors[ValidationErrors["InvalidFormat"] = 3] = "InvalidFormat";
|
|
13
|
+
ValidationErrors[ValidationErrors["Inconsistent"] = 4] = "Inconsistent";
|
|
14
|
+
// specific to fields & data
|
|
15
|
+
ValidationErrors[ValidationErrors["InvalidNameFormat"] = 5] = "InvalidNameFormat";
|
|
16
|
+
ValidationErrors[ValidationErrors["InvalidEmailFormat"] = 6] = "InvalidEmailFormat";
|
|
17
|
+
ValidationErrors[ValidationErrors["InvalidPasswordFormat"] = 7] = "InvalidPasswordFormat";
|
|
18
|
+
ValidationErrors[ValidationErrors["OnlyEnglishLetters"] = 8] = "OnlyEnglishLetters";
|
|
19
|
+
ValidationErrors[ValidationErrors["InvalidPhoneFormat"] = 9] = "InvalidPhoneFormat";
|
|
20
|
+
ValidationErrors[ValidationErrors["InvalidCreditCardFormat"] = 10] = "InvalidCreditCardFormat";
|
|
21
|
+
ValidationErrors[ValidationErrors["InvalidCreditCardExpiryDateFormat"] = 11] = "InvalidCreditCardExpiryDateFormat";
|
|
22
|
+
ValidationErrors[ValidationErrors["InvalidCreditCardCvvFormat"] = 12] = "InvalidCreditCardCvvFormat";
|
|
23
|
+
ValidationErrors[ValidationErrors["OnlyDigit"] = 13] = "OnlyDigit";
|
|
24
|
+
// business logic
|
|
25
|
+
ValidationErrors[ValidationErrors["EmailIsInUse"] = 14] = "EmailIsInUse";
|
|
26
|
+
ValidationErrors[ValidationErrors["FirstName"] = 15] = "FirstName";
|
|
27
|
+
ValidationErrors[ValidationErrors["LastName"] = 16] = "LastName";
|
|
28
|
+
ValidationErrors[ValidationErrors["Website"] = 17] = "Website";
|
|
29
|
+
ValidationErrors[ValidationErrors["Linkedin"] = 18] = "Linkedin";
|
|
25
30
|
})(ValidationErrors || (exports.ValidationErrors = ValidationErrors = {}));
|
|
26
31
|
(function (ValidationErrors) {
|
|
27
32
|
ValidationErrors.Helper = new enum_1.default(ValidationErrors);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationErrors.js","sourceRoot":"","sources":["../../src/validation/ValidationErrors.ts"],"names":[],"mappings":";;;;AAAA,8EAAoD;AAEpD,IAAY,
|
|
1
|
+
{"version":3,"file":"ValidationErrors.js","sourceRoot":"","sources":["../../src/validation/ValidationErrors.ts"],"names":[],"mappings":";;;;AAAA,8EAAoD;AAEpD,IAAY,gBA0BX;AA1BD,WAAY,gBAAgB;IACxB,uDAAQ,CAAA;IAER,UAAU;IACV,+EAAgB,CAAA;IAChB,6EAAe,CAAA;IACf,yEAAa,CAAA;IACb,uEAAY,CAAA;IAEZ,4BAA4B;IAC5B,iFAAiB,CAAA;IACjB,mFAAkB,CAAA;IAClB,yFAAqB,CAAA;IACrB,mFAAkB,CAAA;IAClB,mFAAkB,CAAA;IAClB,8FAAuB,CAAA;IACvB,kHAAiC,CAAA;IACjC,oGAA0B,CAAA;IAC1B,kEAAS,CAAA;IAET,iBAAiB;IACjB,wEAAY,CAAA;IACZ,kEAAS,CAAA;IACT,gEAAQ,CAAA;IACR,8DAAO,CAAA;IACP,gEAAQ,CAAA;AACZ,CAAC,EA1BW,gBAAgB,gCAAhB,gBAAgB,QA0B3B;AAED,WAAiB,gBAAgB;IAChB,uBAAM,GAAG,IAAI,cAAU,CAAmB,gBAAgB,CAAC,CAAC;AAC7E,CAAC,EAFgB,gBAAgB,gCAAhB,gBAAgB,QAEhC"}
|
package/validation/helpers.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { ValidationErrors } from './ValidationErrors';
|
|
2
|
-
import { ValidationConfig, ValidationResults, ValidatorFunction } from './types';
|
|
2
|
+
import { ValidationConfig, ValidationResults, ValidationVoid, ValidatorFunction, ValidatorFunctionAsync } from './types';
|
|
3
3
|
export declare function createShouldBeEqualTo<T = string>(getter: () => T): ValidatorFunction<T>;
|
|
4
4
|
export declare function throwNotOk(result: ValidationErrors, message?: string): void;
|
|
5
5
|
export declare function validateObject<T, TErrors = ValidationErrors>(obj: T, validators: ValidationConfig<T, TErrors>, onlyTruethy?: boolean, context?: T): ValidationResults<T, TErrors>;
|
|
6
|
+
export declare function combineValidators<T = string, TErrors = ValidationErrors, TContext = any>(...validators: ValidatorFunction<T, TErrors, TContext>[]): (val: T, ctx?: TContext) => ValidationErrors.None | TErrors;
|
|
7
|
+
export declare function combineValidatorsAsync<T = string, TErrors = ValidationErrors, TContext = any>(...validators: ValidatorFunctionAsync<T, TErrors, TContext>[]): Promise<(val: T, ctx?: TContext) => Promise<ValidationErrors.None | TErrors>>;
|
|
8
|
+
export declare function IsSomeInvalid(validatables: ReadonlyArray<ValidationVoid>, stopOnFail?: boolean): Promise<boolean>;
|
|
9
|
+
export declare function getFirstValidationError(...validatables: ValidationVoid[]): Promise<string>;
|
|
6
10
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,gBAAgB,EAEhB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAEvF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,SAAqB,QAIhF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,EACxD,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EACxC,WAAW,UAAQ,EACnB,OAAO,CAAC,EAAE,CAAC,GACZ,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAuB/B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SACjI,CAAC,QAAQ,QAAQ,qCAUjC;AAED,wBAAsB,sBAAsB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,UAAU,EAAE,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAC3I,CAAC,QAAQ,QAAQ,+CAUvC;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,UAAU,UAAO,oBAOjG;AAED,wBAAsB,uBAAuB,CAAC,GAAG,YAAY,EAAE,cAAc,EAAE,mBAO9E"}
|
package/validation/helpers.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateObject = exports.throwNotOk = exports.createShouldBeEqualTo = void 0;
|
|
3
|
+
exports.getFirstValidationError = exports.IsSomeInvalid = exports.combineValidatorsAsync = exports.combineValidators = exports.validateObject = exports.throwNotOk = exports.createShouldBeEqualTo = void 0;
|
|
4
|
+
const arrays_1 = require("../async/arrays");
|
|
4
5
|
const ValidationErrors_1 = require("./ValidationErrors");
|
|
5
6
|
const types_1 = require("./types");
|
|
6
7
|
function createShouldBeEqualTo(getter) {
|
|
@@ -33,4 +34,45 @@ function validateObject(obj, validators, onlyTruethy = false, context) {
|
|
|
33
34
|
return res;
|
|
34
35
|
}
|
|
35
36
|
exports.validateObject = validateObject;
|
|
37
|
+
function combineValidators(...validators) {
|
|
38
|
+
return (val, ctx) => {
|
|
39
|
+
for (const validator of validators) {
|
|
40
|
+
const err = validator(val, ctx);
|
|
41
|
+
if (err) {
|
|
42
|
+
return err;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return ValidationErrors_1.ValidationErrors.None;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.combineValidators = combineValidators;
|
|
49
|
+
async function combineValidatorsAsync(...validators) {
|
|
50
|
+
return async (val, ctx) => {
|
|
51
|
+
for (const validator of validators) {
|
|
52
|
+
const err = await validator(val, ctx);
|
|
53
|
+
if (err) {
|
|
54
|
+
return err;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return ValidationErrors_1.ValidationErrors.None;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
exports.combineValidatorsAsync = combineValidatorsAsync;
|
|
61
|
+
async function IsSomeInvalid(validatables, stopOnFail = true) {
|
|
62
|
+
if (stopOnFail) {
|
|
63
|
+
return (0, arrays_1.someAsync)(validatables, async (v) => !(await v.validate()));
|
|
64
|
+
}
|
|
65
|
+
const results = await Promise.all(validatables.map(v => v.validate()));
|
|
66
|
+
return results.some(r => !r);
|
|
67
|
+
}
|
|
68
|
+
exports.IsSomeInvalid = IsSomeInvalid;
|
|
69
|
+
async function getFirstValidationError(...validatables) {
|
|
70
|
+
for (const v of validatables) {
|
|
71
|
+
if (!(await v.validate())) {
|
|
72
|
+
return v.error;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
exports.getFirstValidationError = getFirstValidationError;
|
|
36
78
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,yDAAsD;AACtD,mCAOiB;AAEjB,SAAgB,qBAAqB,CAAa,MAAe;IAC7D,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,mCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAgB,CAAC,eAAe,CAAC;AACnG,CAAC;AAFD,sDAEC;AAED,SAAgB,UAAU,CAAC,MAAwB,EAAE,OAAO,GAAG,kBAAkB;IAC7E,IAAI,MAAM,EAAE;QACR,MAAM,IAAI,uBAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC9C;AACL,CAAC;AAJD,gCAIC;AAED,SAAgB,cAAc,CAC1B,GAAM,EACN,UAAwC,EACxC,WAAW,GAAG,KAAK,EACnB,OAAW;IAGX,MAAM,GAAG,GAAkC,EAAG,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACzB,MAAM,EAAE,GAAG,CAAY,CAAC;QACxB,MAAM,SAAS,GAAgD,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,CAAY,CAAC,CAAC;QAC5B,IAAI,WAAW,IAAI,CAAC,CAAC,EAAE;YACnB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QACzC,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;SACjB;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC;AA5BD,wCA4BC;AAED,SAAgB,iBAAiB,CAAyD,GAAG,UAAqD;IAC9I,OAAO,CAAC,GAAM,EAAE,GAAc,EAAE,EAAE;QAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,IAAI,GAAG,EAAE;gBACL,OAAO,GAAG,CAAC;aACd;SACJ;QAED,OAAO,mCAAgB,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC;AACN,CAAC;AAXD,8CAWC;AAEM,KAAK,UAAU,sBAAsB,CAAyD,GAAG,UAA0D;IAC9J,OAAO,KAAK,EAAE,GAAM,EAAE,GAAc,EAAE,EAAE;QACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtC,IAAI,GAAG,EAAE;gBACL,OAAO,GAAG,CAAC;aACd;SACJ;QAED,OAAO,mCAAgB,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC;AACN,CAAC;AAXD,wDAWC;AAEM,KAAK,UAAU,aAAa,CAAC,YAA2C,EAAE,UAAU,GAAG,IAAI;IAC9F,IAAI,UAAU,EAAE;QACZ,OAAO,IAAA,kBAAS,EAAC,YAAY,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KACpE;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAPD,sCAOC;AAEM,KAAK,UAAU,uBAAuB,CAAC,GAAG,YAA8B;IAC3E,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;QAC1B,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE;YACvB,OAAO,CAAC,CAAC,KAAK,CAAC;SAClB;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAPD,0DAOC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** A validation method that is not tied to ValidationErrors but instead should just throw an Error with error messages */
|
|
2
|
+
export type ValidationThrower<T> = (value: T) => Promise<void> | void;
|
|
3
|
+
export declare namespace ValidationThrower {
|
|
4
|
+
function isValid<T>(value: T, validator: ValidationThrower<T>): Promise<boolean>;
|
|
5
|
+
}
|
|
6
|
+
export interface ValidationGenericLike<T> {
|
|
7
|
+
validate(value: T): Promise<unknown>;
|
|
8
|
+
}
|
|
9
|
+
export type ValidatorsSchema = Record<string, ValidationGenericLike<any>>;
|
|
10
|
+
export type ValidatorThrowers<T extends ValidatorsSchema> = {
|
|
11
|
+
[P in (string & keyof T)]: T[P] extends ValidationGenericLike<infer K> ? ValidationThrower<K> : never;
|
|
12
|
+
};
|
|
13
|
+
export declare function createThrowers<T extends ValidatorsSchema>(validators: T): ValidatorThrowers<T>;
|
|
14
|
+
//# sourceMappingURL=throwers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throwers.d.ts","sourceRoot":"","sources":["../../src/validation/throwers.ts"],"names":[],"mappings":"AAEA,0HAA0H;AAC1H,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEtE,yBAAiB,iBAAiB,CAAC;IAC/B,SAAsB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5F;CACJ;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1E,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,IAAI;KACvD,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK;CACxG,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,SAAS,gBAAgB,EAAE,UAAU,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAW9F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createThrowers = exports.ValidationThrower = void 0;
|
|
4
|
+
var ValidationThrower;
|
|
5
|
+
(function (ValidationThrower) {
|
|
6
|
+
async function isValid(value, validator) {
|
|
7
|
+
try {
|
|
8
|
+
await validator(value);
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
catch (e) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
ValidationThrower.isValid = isValid;
|
|
16
|
+
})(ValidationThrower || (exports.ValidationThrower = ValidationThrower = {}));
|
|
17
|
+
function createThrowers(validators) {
|
|
18
|
+
return Object.entries(validators).reduce((acc, [key, validator]) => {
|
|
19
|
+
const kk = key;
|
|
20
|
+
if ('validate' in validator) {
|
|
21
|
+
acc[kk] = (async (v) => {
|
|
22
|
+
await validator.validate(v);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return acc;
|
|
26
|
+
}, {});
|
|
27
|
+
}
|
|
28
|
+
exports.createThrowers = createThrowers;
|
|
29
|
+
//# sourceMappingURL=throwers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throwers.js","sourceRoot":"","sources":["../../src/validation/throwers.ts"],"names":[],"mappings":";;;AAKA,IAAiB,iBAAiB,CASjC;AATD,WAAiB,iBAAiB;IACvB,KAAK,UAAU,OAAO,CAAI,KAAQ,EAAE,SAA+B;QACtE,IAAI;YACA,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAPqB,yBAAO,UAO5B,CAAA;AACL,CAAC,EATgB,iBAAiB,iCAAjB,iBAAiB,QASjC;AAYD,SAAgB,cAAc,CAA6B,UAAa;IACpE,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;QAC/D,MAAM,EAAE,GAAG,GAAyB,CAAC;QACrC,IAAI,UAAU,IAAI,SAAS,EAAE;YACzB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;gBACjB,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAQ,CAAC;SACb;QAED,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA0B,CAAC,CAAC;AACnC,CAAC;AAXD,wCAWC"}
|
package/validation/types.d.ts
CHANGED
|
@@ -12,4 +12,8 @@ export declare class ValidationError<TErrors = ValidationErrors> extends Error {
|
|
|
12
12
|
readonly code: TErrors;
|
|
13
13
|
constructor(message: string, code: TErrors);
|
|
14
14
|
}
|
|
15
|
+
export interface ValidationVoid {
|
|
16
|
+
readonly error?: string;
|
|
17
|
+
validate(): Promise<boolean>;
|
|
18
|
+
}
|
|
15
19
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,EAAE,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC;AAC5H,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,EAAE,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE1I,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,OAAO,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;CAAE,CAAC;AACpG,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,OAAO,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;AAE5E,qBAAa,eAAe,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,KAAK;IAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAQ;gBAElB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAI7C"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,EAAE,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC;AAC5H,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,EAAE,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE1I,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,OAAO,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;CAAE,CAAC;AACpG,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,OAAO,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;AAE5E,qBAAa,eAAe,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,KAAK;IAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAQ;gBAElB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAI7C;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAChC"}
|
|
@@ -26,5 +26,6 @@ export declare const Validators: {
|
|
|
26
26
|
creditCardCvv: (val: string) => ValidationErrors.None | ValidationErrors.InvalidCreditCardCvvFormat;
|
|
27
27
|
website: (val: string) => ValidationErrors.None | ValidationErrors.Website;
|
|
28
28
|
linkedin: (val: string) => ValidationErrors.None | ValidationErrors.Linkedin;
|
|
29
|
+
regex: (regex: RegExp) => (val: string) => ValidationErrors.None | ValidationErrors.InvalidFormat;
|
|
29
30
|
};
|
|
30
31
|
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAuB7B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;oBAOH,MAAM;uBACH,MAAM;iBACZ,MAAM;oBACH,MAAM;qBACL,MAAM;4BACC,MAAM;gCAKF,MAAM;yBAKb,MAAM;mBAEZ,MAAM;oBACL,MAAM;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAuB7B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;oBAOH,MAAM;uBACH,MAAM;iBACZ,MAAM;oBACH,MAAM;qBACL,MAAM;4BACC,MAAM;gCAKF,MAAM;yBAKb,MAAM;mBAEZ,MAAM;oBACL,MAAM;mBAEP,MAAM,WAAY,MAAM;CAC1C,CAAC"}
|
package/validation/validators.js
CHANGED
|
@@ -47,5 +47,6 @@ exports.Validators = {
|
|
|
47
47
|
creditCardCvv: (val) => (exports.ValidatorsRegExps.cvv.test(val) && val.length >= 3 && val.length <= 4) ? ValidationErrors_1.ValidationErrors.None : ValidationErrors_1.ValidationErrors.InvalidCreditCardCvvFormat,
|
|
48
48
|
website: (val) => exports.ValidatorsRegExps.website.test(val) ? ValidationErrors_1.ValidationErrors.None : ValidationErrors_1.ValidationErrors.Website,
|
|
49
49
|
linkedin: (val) => exports.ValidatorsRegExps.linkedin.test(val) ? ValidationErrors_1.ValidationErrors.None : ValidationErrors_1.ValidationErrors.Linkedin,
|
|
50
|
+
regex: (regex) => ((val) => regex.test(val) ? ValidationErrors_1.ValidationErrors.None : ValidationErrors_1.ValidationErrors.InvalidFormat),
|
|
50
51
|
};
|
|
51
52
|
//# sourceMappingURL=validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"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"}
|