@golemio/validator 0.2.1-dev.522219464 → 0.2.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/dist/IValidator.d.ts +1 -0
- package/dist/JSONSchemaValidator.d.ts +3 -0
- package/dist/JSONSchemaValidator.js +6 -2
- package/dist/JSONSchemaValidator.js.map +1 -1
- package/dist/Logger.d.ts +1 -1
- package/dist/ObjectKeysValidator.js +1 -2
- package/dist/ObjectKeysValidator.js.map +1 -1
- package/dist/Validator.d.ts +3 -0
- package/dist/Validator.js +5 -1
- package/dist/Validator.js.map +1 -1
- package/package.json +1 -1
package/dist/IValidator.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Ajv from "ajv";
|
|
2
2
|
import { IValidator } from "./";
|
|
3
|
+
import { ILogger } from "./Logger";
|
|
3
4
|
/**
|
|
4
5
|
* JSON schema validator class. Validates data (object, array of objects, object with sub-objects)
|
|
5
6
|
* according to a given json schema.
|
|
@@ -12,6 +13,7 @@ export declare class JSONSchemaValidator implements IValidator {
|
|
|
12
13
|
/** The Ajv instance */
|
|
13
14
|
protected ajv: Ajv.Ajv;
|
|
14
15
|
protected strictValidator: JSONSchemaValidator | undefined;
|
|
16
|
+
protected logger: ILogger;
|
|
15
17
|
/**
|
|
16
18
|
* @param modelName Name of the model
|
|
17
19
|
* @param jsonSchema JSON Schema object by which to validate the input data
|
|
@@ -23,6 +25,7 @@ export declare class JSONSchemaValidator implements IValidator {
|
|
|
23
25
|
*
|
|
24
26
|
*/
|
|
25
27
|
Validate(data: any): Promise<boolean>;
|
|
28
|
+
setLogger(logger: any): void;
|
|
26
29
|
/**
|
|
27
30
|
* Data validation - validates input data exactly by json schema
|
|
28
31
|
*
|
|
@@ -32,6 +32,7 @@ class JSONSchemaValidator {
|
|
|
32
32
|
}
|
|
33
33
|
this.ajv = new Ajv(options);
|
|
34
34
|
this.ajv.addMetaSchema(require("ajv/lib/refs/json-schema-draft-04.json"));
|
|
35
|
+
this.logger = Logger_1.log;
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* Temporary wrapper to evaluate modules that are dependent on coerseType setting.
|
|
@@ -44,12 +45,15 @@ class JSONSchemaValidator {
|
|
|
44
45
|
return yield this.strictValidator.Validate(data);
|
|
45
46
|
}
|
|
46
47
|
catch (err) {
|
|
47
|
-
|
|
48
|
+
this.logger.warn(`Unable to finish strict validation for ${this.modelName}. Err message: ${err.message}`);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
return this.ValidateInternal(data);
|
|
51
52
|
});
|
|
52
53
|
}
|
|
54
|
+
setLogger(logger) {
|
|
55
|
+
this.logger = logger;
|
|
56
|
+
}
|
|
53
57
|
/**
|
|
54
58
|
* Data validation - validates input data exactly by json schema
|
|
55
59
|
*
|
|
@@ -64,7 +68,7 @@ class JSONSchemaValidator {
|
|
|
64
68
|
return true;
|
|
65
69
|
}
|
|
66
70
|
catch (error) {
|
|
67
|
-
|
|
71
|
+
this.logger.debug(error);
|
|
68
72
|
if (error instanceof Ajv.ValidationError) {
|
|
69
73
|
throw new Error(`${error.message} ${JSON.stringify(error.errors)}`);
|
|
70
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONSchemaValidator.js","sourceRoot":"","sources":["../src/JSONSchemaValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,2BAA2B;AAE3B,
|
|
1
|
+
{"version":3,"file":"JSONSchemaValidator.js","sourceRoot":"","sources":["../src/JSONSchemaValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,2BAA2B;AAE3B,qCAAwC;AAExC;;;GAGG;AACH,MAAa,mBAAmB;IAU5B;;;;OAIG;IACH,YAAY,SAAiB,EAAE,UAAkB,EAAE,MAAM,GAAG,KAAK;QAC7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,MAAM,OAAO,GAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAElD,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,CAAC,eAAe,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5E,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;SAC9B;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,YAAG,CAAC;IACtB,CAAC;IACD;;;OAGG;IACU,QAAQ,CAAC,IAAS;;YAC3B,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI;oBACA,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACpD;gBAAC,OAAO,GAAG,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,0CAA0C,IAAI,CAAC,SAAS,kBAAmB,GAAa,CAAC,OAAO,EAAE,CACrG,CAAC;iBACL;aACJ;YAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;KAAA;IAEM,SAAS,CAAC,MAAW;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACW,gBAAgB,CAAC,IAAS;;YACpC,IAAI;gBACA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,iBAC7B,MAAM,EAAE,IAAI,IACT,IAAI,CAAC,UAAU,EACpB,CAAC;gBACH,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAErB,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,KAAK,YAAY,GAAG,CAAC,eAAe,EAAE;oBACtC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACvE;qBAAM;oBACH,MAAM,KAAK,CAAC;iBACf;aACJ;QACL,CAAC;KAAA;CACJ;AA5ED,kDA4EC"}
|
package/dist/Logger.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ObjectKeysValidator = void 0;
|
|
13
13
|
const _1 = require("./");
|
|
14
|
-
const Logger_1 = require("./Logger");
|
|
15
14
|
/**
|
|
16
15
|
* Helper class for validation by mongoose model.
|
|
17
16
|
*/
|
|
@@ -37,7 +36,7 @@ class ObjectKeysValidator extends _1.Validator {
|
|
|
37
36
|
}
|
|
38
37
|
else {
|
|
39
38
|
const error = "data must be object";
|
|
40
|
-
|
|
39
|
+
this.logger.debug(error);
|
|
41
40
|
throw new Error(error);
|
|
42
41
|
}
|
|
43
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectKeysValidator.js","sourceRoot":"","sources":["../src/ObjectKeysValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAGb,yBAA2C;
|
|
1
|
+
{"version":3,"file":"ObjectKeysValidator.js","sourceRoot":"","sources":["../src/ObjectKeysValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAGb,yBAA2C;AAE3C;;GAEG;AACH,MAAa,mBAAoB,SAAQ,YAAS;IAC9C,YAAY,SAAiB,EAAE,YAA8B;QACzD,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACU,QAAQ,CAAC,IAAS;;YAC3B,IAAI,IAAI,YAAY,MAAM,EAAE;gBACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;aACf;iBAAM;gBACH,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;aAC1B;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACW,cAAc,CAAC,IAAS;;YAClC,IAAI,IAAI,YAAY,KAAK,EAAE;gBACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnB,OAAO,IAAI,CAAC;iBACf;qBAAM;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBAClC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;iBACf;aACJ;iBAAM;gBACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAC3C;QACL,CAAC;KAAA;CACJ;AA/CD,kDA+CC"}
|
package/dist/Validator.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Model, SchemaDefinition } from "mongoose";
|
|
2
2
|
import { IValidator } from "./";
|
|
3
|
+
import { ILogger } from "./Logger";
|
|
3
4
|
/**
|
|
4
5
|
* Mongoose validator class. Validates data (object, array of objects, object with sub-objects)
|
|
5
6
|
* according to a given schema (Mongoose Schema Definition)
|
|
@@ -9,11 +10,13 @@ export declare class Validator implements IValidator {
|
|
|
9
10
|
protected modelName: string;
|
|
10
11
|
/** Reference to mongoose model object, used for validation */
|
|
11
12
|
protected mongooseModel: Model<any>;
|
|
13
|
+
protected logger: ILogger;
|
|
12
14
|
/**
|
|
13
15
|
* @param modelName Name of the model
|
|
14
16
|
* @param schemaObject Mongoose SchemaDefinition object by which to validate the input data
|
|
15
17
|
*/
|
|
16
18
|
constructor(modelName: string, schemaObject: SchemaDefinition);
|
|
19
|
+
setLogger(logger: any): void;
|
|
17
20
|
/**
|
|
18
21
|
* Data validation - validates either an array of objects or a single object
|
|
19
22
|
*
|
package/dist/Validator.js
CHANGED
|
@@ -29,6 +29,10 @@ class Validator {
|
|
|
29
29
|
catch (error) {
|
|
30
30
|
this.mongooseModel = (0, mongoose_1.model)(this.modelName, new mongoose_1.Schema(schemaObject, { bufferCommands: false }));
|
|
31
31
|
}
|
|
32
|
+
this.logger = Logger_1.log;
|
|
33
|
+
}
|
|
34
|
+
setLogger(logger) {
|
|
35
|
+
this.logger = logger;
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
34
38
|
* Data validation - validates either an array of objects or a single object
|
|
@@ -69,7 +73,7 @@ class Validator {
|
|
|
69
73
|
return true;
|
|
70
74
|
}
|
|
71
75
|
catch (error) {
|
|
72
|
-
|
|
76
|
+
this.logger.debug(error);
|
|
73
77
|
throw error;
|
|
74
78
|
}
|
|
75
79
|
});
|
package/dist/Validator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,uCAAkE;AAElE,
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,uCAAkE;AAElE,qCAAwC;AAExC;;;GAGG;AACH,MAAa,SAAS;IAOlB;;;OAGG;IACH,YAAY,SAAiB,EAAE,YAA8B;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI;YACA,IAAI,CAAC,aAAa,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9C;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,aAAa,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,iBAAM,CAAC,YAAY,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SACnG;QACD,IAAI,CAAC,MAAM,GAAG,YAAG,CAAC;IACtB,CAAC;IAEM,SAAS,CAAC,MAAW;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACU,QAAQ,CAAC,IAAS;;YAC3B,IAAI,IAAI,YAAY,KAAK,EAAE;gBACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnB,OAAO,IAAI,CAAC;iBACf;qBAAM;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBAClC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;iBACf;aACJ;iBAAM;gBACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAC3C;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACa,eAAe,CAAC,IAAY;;YACxC,IAAI;gBACA,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM,KAAK,CAAC;aACf;QACL,CAAC;KAAA;CACJ;AA/DD,8BA+DC"}
|