rps-jsonvalidator 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # general-libs-json-object-validator
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test general-libs-json-object-validator` to execute the unit tests via [Jest](https://jestjs.io).
8
+
9
+ ## Running lint
10
+
11
+ Run `nx lint general-libs-json-object-validator` to execute the lint via [ESLint](https://eslint.org/).
package/package.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "rps-jsonvalidator",
3
+ "version": "1.0.0",
4
+ "main": "./src/index.js",
5
+ "typings": "./src/index.d.ts",
6
+ "dependencies": {},
7
+ "peerDependencies": {
8
+ "tslib": "^2.3.0"
9
+ }
10
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './lib/general-libs-json-object-validator';
package/src/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/general-libs-json-object-validator"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/general-libs/json-object-validator/src/index.ts"],"names":[],"mappings":";;;AAAA,mFAAyD"}
@@ -0,0 +1,12 @@
1
+ export interface JSONObjectKeyAndTypeValidator {
2
+ key: string;
3
+ required: boolean;
4
+ default?: any;
5
+ trim?: boolean;
6
+ custom_validator?: (value: any) => boolean;
7
+ type: 'string' | 'number' | 'boolean' | 'function' | 'object' | 'symbol' | 'symbol' | 'any' | 'bigint';
8
+ regex?: RegExp;
9
+ error?: any;
10
+ Extra?: JSONObjectKeyAndTypeValidator[];
11
+ }
12
+ export declare function ValidateJSONObject(data: any, Validator: JSONObjectKeyAndTypeValidator[]): boolean | any;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidateJSONObject = void 0;
4
+ function ValidateJSONObject(data, Validator) {
5
+ const temp = {};
6
+ Validator.forEach((a) => {
7
+ if (a.required ||
8
+ (typeof data[a.key] !== 'undefined' && data[a.key] !== null)) {
9
+ try {
10
+ if (a.type === 'number' && isNaN(+data[a.key]) === true) {
11
+ throw a.error || 'Type Mismatch';
12
+ }
13
+ else if (typeof data[a.key] !== a.type && a.type !== 'any') {
14
+ throw a.error || 'Type Mismatch';
15
+ }
16
+ if (a.type === 'number') {
17
+ data[a.key] = +data[a.key];
18
+ }
19
+ }
20
+ catch (error) {
21
+ if (typeof a.default !== 'undefined') {
22
+ data[a.key] = a.default;
23
+ return;
24
+ }
25
+ else {
26
+ throw error;
27
+ }
28
+ }
29
+ if (a.regex) {
30
+ let dataCC = data[a.key];
31
+ if (typeof dataCC !== 'string') {
32
+ dataCC = String(dataCC);
33
+ }
34
+ if (a.regex.test(dataCC) === false) {
35
+ throw a.error || `${a.key} Regexp MisMAtch`;
36
+ }
37
+ }
38
+ if (a.custom_validator) {
39
+ const dd = a.custom_validator(data[a.key]);
40
+ if (!!dd === false) {
41
+ throw a.error || 'Custom Validator Error';
42
+ }
43
+ }
44
+ if (a.Extra && Array.isArray(a.Extra)) {
45
+ temp[a.key] = ValidateJSONObject(data[a.key], a.Extra);
46
+ }
47
+ else {
48
+ temp[a.key] = data[a.key];
49
+ }
50
+ }
51
+ });
52
+ return temp;
53
+ }
54
+ exports.ValidateJSONObject = ValidateJSONObject;
55
+ //# sourceMappingURL=general-libs-json-object-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general-libs-json-object-validator.js","sourceRoot":"","sources":["../../../../../../packages/general-libs/json-object-validator/src/lib/general-libs-json-object-validator.ts"],"names":[],"mappings":";;;AAqBA,SAAgB,kBAAkB,CAChC,IAAS,EACT,SAA0C;IAE1C,MAAM,IAAI,GAAQ,EAAE,CAAC;IACrB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IACE,CAAC,CAAC,QAAQ;YACV,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAC5D;YACA,IAAI;gBACF,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;oBACvD,MAAM,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC;iBAClC;qBAAM,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE;oBAC5D,MAAM,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC;iBAClC;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACvB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC5B;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE;oBACpC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;oBACxB,OAAO;iBACR;qBAAM;oBACL,MAAM,KAAK,CAAC;iBACb;aACF;YACD,IAAI,CAAC,CAAC,KAAK,EAAE;gBACX,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;iBACzB;gBACD,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;oBAClC,MAAM,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC;iBAC7C;aACF;YACD,IAAI,CAAC,CAAC,gBAAgB,EAAE;gBACtB,MAAM,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,EAAE;oBAClB,MAAM,CAAC,CAAC,KAAK,IAAI,wBAAwB,CAAC;iBAC3C;aACF;YACD,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBACrC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACxD;iBAAM;gBACL,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC3B;SACF;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAlDD,gDAkDC"}