@local901/validator 0.2.13 → 0.3.0
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.
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import type { ErrorValue } from "./ErrorType";
|
|
2
|
-
type
|
|
3
|
-
type ArrayError<T extends ReadonlyArray<unknown>> = T extends [infer _ITEM, ...infer _ARR] ? TupleError<T> : T extends ReadonlyArray<infer ARR> ? Record<number, ValidationError<ARR> | null> : never;
|
|
4
|
-
export type ErrorFields<T> = (T extends object ? T extends readonly unknown[] ? ArrayError<T> : {
|
|
2
|
+
export type ErrorFields<T> = (T extends object ? T extends ReadonlyArray<infer I> ? Record<number, ValidationError<I>> : {
|
|
5
3
|
[K in keyof T]: ValidationError<T[K]> | undefined;
|
|
6
4
|
} : never) | Record<number, ValidationError<T>>;
|
|
7
|
-
type
|
|
8
|
-
type ArrayErrorJson<T extends ReadonlyArray<unknown>> = T extends [infer _ITEM, ...infer _ARR] ? TupleErrorJson<T> : T extends ReadonlyArray<infer ARR> ? Record<number, ValidationJson<ARR> | null> : never;
|
|
9
|
-
export type ErrorJsonFields<T> = (T extends object ? T extends readonly unknown[] ? ArrayErrorJson<T> : {
|
|
5
|
+
export type ErrorJsonFields<T> = (T extends object ? T extends ReadonlyArray<infer I> ? Record<number, ValidationJson<I>> : {
|
|
10
6
|
[K in keyof T]: ValidationJson<T[K]> | undefined;
|
|
11
7
|
} : never) | Record<number, ValidationJson<T>>;
|
|
12
8
|
export type ValidationJson<T> = {
|
|
13
9
|
type: string;
|
|
14
10
|
error: ErrorValue;
|
|
15
11
|
message: string;
|
|
16
|
-
fields?: ErrorJsonFields<T
|
|
12
|
+
fields?: Record<string | number, ErrorJsonFields<T>>;
|
|
17
13
|
};
|
|
18
14
|
export declare class ValidationError<T extends unknown = unknown> extends Error {
|
|
19
15
|
private readonly _message;
|
|
@@ -23,4 +19,3 @@ export declare class ValidationError<T extends unknown = unknown> extends Error
|
|
|
23
19
|
constructor(type: string, error: ErrorValue, message: string, fields?: ErrorFields<T>);
|
|
24
20
|
toJson(): ValidationJson<T>;
|
|
25
21
|
}
|
|
26
|
-
export {};
|
|
@@ -18,12 +18,7 @@ class ValidationError extends Error {
|
|
|
18
18
|
toJson() {
|
|
19
19
|
let fields;
|
|
20
20
|
if (this.fields) {
|
|
21
|
-
|
|
22
|
-
fields = this.fields.map((error) => error?.toJson() ?? null);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
fields = Object.fromEntries(Object.entries(this.fields).map(([key, error]) => [key, error.toJson()]));
|
|
26
|
-
}
|
|
21
|
+
fields = Object.fromEntries(Object.entries(this.fields).map(([key, error]) => [key, error.toJson()]));
|
|
27
22
|
}
|
|
28
23
|
return {
|
|
29
24
|
message: this._message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../../src/errors/ValidationError.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../../src/errors/ValidationError.ts"],"names":[],"mappings":";;;AAyBA,MAAa,eAEX,SAAQ,KAAK;IACM,QAAQ,CAAS;IAClB,IAAI,CAAS;IACb,KAAK,CAAa;IAClB,MAAM,CAAkB;IAExC,YAAmB,IAAY,EAAE,KAAiB,EAAE,OAAe,EAAE,MAAuB;QACxF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAEM,MAAM;QACT,IAAI,MAAsC,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1G,CAAC;QAED,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM;SACT,CAAA;IACL,CAAC;CACJ;AAhCD,0CAgCC"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayValidator.js","sourceRoot":"","sources":["../../../src/types/object/ArrayValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAAkE;AASlE,MAAa,cAAkB,SAAQ,qBAAc;IAI7B;
|
|
1
|
+
{"version":3,"file":"ArrayValidator.js","sourceRoot":"","sources":["../../../src/types/object/ArrayValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAAkE;AASlE,MAAa,cAAkB,SAAQ,qBAAc;IAI7B;IACC;IAJL,IAAI,GAAG,OAAO,CAAC;IAE/B,YACoB,IAAkB,EACjB,UAAiC,EAAE;QAEpD,KAAK,EAAE,CAAC;QAHQ,SAAI,GAAJ,IAAI,CAAc;QACjB,YAAO,GAAP,OAAO,CAA4B;IAGxD,CAAC;IAED,kBAAkB;IACF,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;QAC7E,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QAC1G,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,WAAW,EAAE,mCAAmC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAA;QAC1G,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAqB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,GAAG,IAAI,CAAC,OAAO;YACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;SAC/B,CAAC;IACN,CAAC;CACJ;AAlDD,wCAkDC"}
|
|
@@ -23,13 +23,13 @@ class TupleValidator extends Validator_1.Validator {
|
|
|
23
23
|
}
|
|
24
24
|
// Check items
|
|
25
25
|
let hasError = false;
|
|
26
|
-
const fields = this.validators.map((validator, index) => {
|
|
26
|
+
const fields = Object.fromEntries(this.validators.map((validator, index) => {
|
|
27
27
|
const result = validator.validateReturn(input[index]);
|
|
28
28
|
if (result) {
|
|
29
29
|
hasError = true;
|
|
30
30
|
}
|
|
31
|
-
return result;
|
|
32
|
-
});
|
|
31
|
+
return [index, result];
|
|
32
|
+
}).filter(([, v]) => !!v));
|
|
33
33
|
if (hasError) {
|
|
34
34
|
return this.createError(ErrorType_1.ErrorType.INCORRECT_TYPE, "One or more items are incorrect.", fields);
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TupleValidator.js","sourceRoot":"","sources":["../../../src/types/object/TupleValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAAkE;AAMlE,MAAa,cAAyC,SAAQ,qBAAY;IAGnC;IAFnB,IAAI,GAAG,OAAO,CAAC;IAE/B,YAAmC,UAA8B;QAC7D,KAAK,EAAE,CAAC;QADuB,eAAU,GAAV,UAAU,CAAoB;IAEjE,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QAED,eAAe;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,WAAW,CACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;gBACjC,CAAC,CAAC,qBAAS,CAAC,WAAW;gBACvB,CAAC,CAAC,qBAAS,CAAC,UAAU,EAC1B,yBAAyB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CACrD,CAAC;QACN,CAAC;QAED,cAAc;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"TupleValidator.js","sourceRoot":"","sources":["../../../src/types/object/TupleValidator.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,+CAAkE;AAMlE,MAAa,cAAyC,SAAQ,qBAAY;IAGnC;IAFnB,IAAI,GAAG,OAAO,CAAC;IAE/B,YAAmC,UAA8B;QAC7D,KAAK,EAAE,CAAC;QADuB,eAAU,GAAV,UAAU,CAAoB;IAEjE,CAAC;IAEe,cAAc,CAAC,KAAc;QACzC,aAAa;QACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QAED,eAAe;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,WAAW,CACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;gBACjC,CAAC,CAAC,qBAAS,CAAC,WAAW;gBACvB,CAAC,CAAC,qBAAS,CAAC,UAAU,EAC1B,yBAAyB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CACrD,CAAC;QACN,CAAC;QAED,cAAc;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACvE,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,MAAM,EAAE,CAAC;gBACT,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAS,CAAC,cAAc,EAAE,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IACC,MAAM;QACrB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;SACnE,CAAC;IACN,CAAC;CACJ;AA7CD,wCA6CC"}
|