field-redactor 1.0.0 → 1.1.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.
- package/README.md +4 -1
- package/dist/{customObjectChecker.d.ts → customObjectManager.d.ts} +3 -3
- package/dist/customObjectManager.d.ts.map +1 -0
- package/dist/{customObjectChecker.js → customObjectManager.js} +7 -20
- package/dist/customObjectManager.js.map +1 -0
- package/dist/errors.d.ts +0 -6
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -11
- package/dist/errors.js.map +1 -1
- package/dist/fieldRedactor.d.ts +6 -3
- package/dist/fieldRedactor.d.ts.map +1 -1
- package/dist/fieldRedactor.js +15 -10
- package/dist/fieldRedactor.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/objectRedactor.d.ts +8 -8
- package/dist/objectRedactor.d.ts.map +1 -1
- package/dist/objectRedactor.js +49 -49
- package/dist/objectRedactor.js.map +1 -1
- package/dist/primitiveRedactor.d.ts.map +1 -1
- package/dist/primitiveRedactor.js +2 -7
- package/dist/primitiveRedactor.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/customObjectChecker.d.ts.map +0 -1
- package/dist/customObjectChecker.js.map +0 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ In many instances, redaction of sensitive data from log output is fairly straigh
|
|
|
18
18
|
If this object is placed in a data set with many others, and only some of these objects contain PII, redaction becomes quite troublesome. One could redact all `value` fields from these objects - but this merely renders the log output useless for debugging or tracing, as all values are now redacted. The value of the `name` field determines whether or not the `value` field should be redacted. I often found myself writing custom logic to make this determination, which led to brittle code that was difficult to maintain. In the end I decided to write a new, highly configurable plug-and-play solution that could redact sensitive data in various manners while requiring only minor configuration tweaks. Enter FieldRedactor!
|
|
19
19
|
|
|
20
20
|
## Basic Usage
|
|
21
|
-
Basic usage of the FieldRedactor is straightforward but not recommended. Object redaction can be performed either in-place or return the redacted object
|
|
21
|
+
Basic usage of the FieldRedactor is straightforward but not recommended. Object redaction can be performed either in-place or return the redacted object. If redactor is given a string, primitive, Date, function, or null/undefined value then it returns the value without modification.
|
|
22
22
|
|
|
23
23
|
```typescript
|
|
24
24
|
import { FieldRedactor } from 'field-redactor';
|
|
@@ -27,14 +27,17 @@ const fieldRedactor = new FieldRedactor();
|
|
|
27
27
|
|
|
28
28
|
// return redacted result
|
|
29
29
|
const result = await fieldRedactor.redact(myJsonObject);
|
|
30
|
+
const primitiveResult = await fieldRedactor.redact("foobar");
|
|
30
31
|
console.log(myJsonObject); // { foo: "bar", fizz: null }
|
|
31
32
|
console.log(result); // { foo: "REDACTED", fizz: null }
|
|
33
|
+
console.log(primitiveResult); // "foobar"
|
|
32
34
|
|
|
33
35
|
// redact in place
|
|
34
36
|
await fieldRedactor.redactInPlace(myJsonObject);
|
|
35
37
|
console.log(myJsonObject); // { foo: "REDACTED", fizz: null }
|
|
36
38
|
```
|
|
37
39
|
> **Note:** `null` and `undefined` values are not redacted by default.
|
|
40
|
+
> **Note:** `null`, `undefined`, `string`, `Date`, `Function`, and primitive value inputs are completely ignored.
|
|
38
41
|
|
|
39
42
|
|
|
40
43
|
|
|
@@ -2,7 +2,7 @@ import { CustomObject } from './types';
|
|
|
2
2
|
/**
|
|
3
3
|
* Utility for determining if a given object matches a CustomObject schema.
|
|
4
4
|
*/
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class CustomObjectManager {
|
|
6
6
|
private customObjects;
|
|
7
7
|
/**
|
|
8
8
|
* Creates a CustomObjectChecker with the specified CustomObjects.
|
|
@@ -16,7 +16,7 @@ export declare class CustomObjectChecker {
|
|
|
16
16
|
*/
|
|
17
17
|
getMatchingCustomObject(value: any): CustomObject | undefined;
|
|
18
18
|
private isCustomObject;
|
|
19
|
-
private
|
|
19
|
+
private objectHasExtraKeys;
|
|
20
20
|
private validateCustomObjects;
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=customObjectManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customObjectManager.d.ts","sourceRoot":"","sources":["../src/customObjectManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAAsB;IAE3C;;;OAGG;gBACS,aAAa,CAAC,EAAE,YAAY,EAAE;IAK1C;;;;OAIG;IACI,uBAAuB,CAAC,KAAK,EAAE,GAAG,GAAG,YAAY,GAAG,SAAS;IASpE,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;CAoB9B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.CustomObjectManager = void 0;
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
5
|
/**
|
|
6
6
|
* Utility for determining if a given object matches a CustomObject schema.
|
|
7
7
|
*/
|
|
8
|
-
class
|
|
8
|
+
class CustomObjectManager {
|
|
9
9
|
/**
|
|
10
10
|
* Creates a CustomObjectChecker with the specified CustomObjects.
|
|
11
11
|
* @param customObjects The CustomObjects to check against.
|
|
@@ -32,23 +32,10 @@ class CustomObjectChecker {
|
|
|
32
32
|
if (typeof value !== 'object' || !value || Array.isArray(value)) {
|
|
33
33
|
return false;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
for (const key of Object.keys(value)) {
|
|
39
|
-
if (!customObject.hasOwnProperty(key)) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return true;
|
|
35
|
+
return !this.objectHasExtraKeys(customObject, value) && !this.objectHasExtraKeys(value, customObject);
|
|
44
36
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (!value.hasOwnProperty(key)) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return true;
|
|
37
|
+
objectHasExtraKeys(object, objectToCompareTo) {
|
|
38
|
+
return Object.keys(object).some((key) => !objectToCompareTo.hasOwnProperty(key));
|
|
52
39
|
}
|
|
53
40
|
validateCustomObjects(customObjects) {
|
|
54
41
|
if (!customObjects || customObjects.length <= 1) {
|
|
@@ -68,5 +55,5 @@ class CustomObjectChecker {
|
|
|
68
55
|
}
|
|
69
56
|
}
|
|
70
57
|
}
|
|
71
|
-
exports.
|
|
72
|
-
//# sourceMappingURL=
|
|
58
|
+
exports.CustomObjectManager = CustomObjectManager;
|
|
59
|
+
//# sourceMappingURL=customObjectManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customObjectManager.js","sourceRoot":"","sources":["../src/customObjectManager.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAG3D;;GAEG;AACH,MAAa,mBAAmB;IAG9B;;;OAGG;IACH,YAAY,aAA8B;QANlC,kBAAa,GAAmB,EAAE,CAAC;QAOzC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,uBAAuB,CAAC,KAAU;QACvC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC7C,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,KAAU,EAAE,YAA0B;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACxG,CAAC;IAEO,kBAAkB,CAAC,MAAW,EAAE,iBAAsB;QAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;IAEO,qBAAqB,CAAC,aAA8B;QAC1D,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,OAAO,GAAiB,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAiB,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjE,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBAChF,MAAM,IAAI,wCAA+B,CACvC,6BAA6B,CAAC,QAAQ,CAAC,gCAAgC,UAAU,EAAE,CACpF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA1DD,kDA0DC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -11,10 +11,4 @@ export declare class FieldRedactorError extends Error {
|
|
|
11
11
|
export declare class FieldRedactorConfigurationError extends FieldRedactorError {
|
|
12
12
|
constructor(message: string);
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Error thrown when the input value to the FieldRedactor fails validation, such as not being a JSON object.
|
|
16
|
-
*/
|
|
17
|
-
export declare class FieldRedactorValidationError extends FieldRedactorError {
|
|
18
|
-
constructor(message: string);
|
|
19
|
-
}
|
|
20
14
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,kBAAkB;gBACzD,OAAO,EAAE,MAAM;CAI5B
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,kBAAkB;gBACzD,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.FieldRedactorConfigurationError = exports.FieldRedactorError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Top-Level Field Redactor error thrown when there is an error redacting a JSON object.
|
|
6
6
|
*/
|
|
@@ -22,14 +22,4 @@ class FieldRedactorConfigurationError extends FieldRedactorError {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.FieldRedactorConfigurationError = FieldRedactorConfigurationError;
|
|
25
|
-
/**
|
|
26
|
-
* Error thrown when the input value to the FieldRedactor fails validation, such as not being a JSON object.
|
|
27
|
-
*/
|
|
28
|
-
class FieldRedactorValidationError extends FieldRedactorError {
|
|
29
|
-
constructor(message) {
|
|
30
|
-
super(message);
|
|
31
|
-
this.name = 'FieldRedactorValidationError';
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.FieldRedactorValidationError = FieldRedactorValidationError;
|
|
35
25
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;;GAGG;AACH,MAAa,+BAAgC,SAAQ,kBAAkB;IACrE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AALD,0EAKC
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;;GAGG;AACH,MAAa,+BAAgC,SAAQ,kBAAkB;IACrE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AALD,0EAKC"}
|
package/dist/fieldRedactor.d.ts
CHANGED
|
@@ -11,15 +11,18 @@ export declare class FieldRedactor {
|
|
|
11
11
|
/**
|
|
12
12
|
* Conditionally redacts fields in the JSON object based on the configuration provided in the constructor and returns the
|
|
13
13
|
* redacted result.
|
|
14
|
-
*
|
|
14
|
+
* If the value is a primitive, undefined, or date, returns the value as-is.
|
|
15
|
+
* @param value The JSON value to redact. If primitive it will be resolved as-is.
|
|
15
16
|
* @returns The redacted JSON object.
|
|
16
17
|
*/
|
|
17
18
|
redact(value: any): Promise<any>;
|
|
18
19
|
/**
|
|
19
20
|
* Conditionally redacts fields in the JSON object in place based on the configuration provided in the constructor.
|
|
20
|
-
*
|
|
21
|
+
* If the value is a primitive, undefined, or date, returns the value as-is.
|
|
22
|
+
* @param value The JSON value to redact in place. If primitive it will be resolved as-is.
|
|
23
|
+
* @returns The redacted JSON object.
|
|
21
24
|
*/
|
|
22
25
|
redactInPlace(value: any): Promise<void>;
|
|
23
|
-
private
|
|
26
|
+
private isPrimitiveOrUndefined;
|
|
24
27
|
}
|
|
25
28
|
//# sourceMappingURL=fieldRedactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactor.d.ts","sourceRoot":"","sources":["../src/fieldRedactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAO9C;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBACpC,MAAM,CAAC,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"fieldRedactor.d.ts","sourceRoot":"","sources":["../src/fieldRedactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAO9C;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBACpC,MAAM,CAAC,EAAE,mBAAmB;IAwBxC;;;;;;OAMG;IACU,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAK7C;;;;;OAKG;IACU,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,OAAO,CAAC,sBAAsB;CAG/B"}
|
package/dist/fieldRedactor.js
CHANGED
|
@@ -17,7 +17,7 @@ const rfdc_1 = __importDefault(require("rfdc"));
|
|
|
17
17
|
const objectRedactor_1 = require("./objectRedactor");
|
|
18
18
|
const primitiveRedactor_1 = require("./primitiveRedactor");
|
|
19
19
|
const secretManager_1 = require("./secretManager");
|
|
20
|
-
const
|
|
20
|
+
const customObjectManager_1 = require("./customObjectManager");
|
|
21
21
|
const errors_1 = require("./errors");
|
|
22
22
|
/**
|
|
23
23
|
* FieldRedactor is a highly customizable JSON object field redactor. It conditionally redacts fields based on
|
|
@@ -27,7 +27,9 @@ const errors_1 = require("./errors");
|
|
|
27
27
|
class FieldRedactor {
|
|
28
28
|
constructor(config) {
|
|
29
29
|
this.deepCopy = (0, rfdc_1.default)({ proto: true, circles: true });
|
|
30
|
-
const {
|
|
30
|
+
const { redactor, secretKeys, deepSecretKeys, fullSecretKeys, customObjects } = config || {};
|
|
31
|
+
const ignoreNullOrUndefined = typeof (config === null || config === void 0 ? void 0 : config.ignoreNullOrUndefined) === 'boolean' ? config.ignoreNullOrUndefined : true;
|
|
32
|
+
const ignoreBooleans = typeof (config === null || config === void 0 ? void 0 : config.ignoreBooleans) === 'boolean' ? config.ignoreBooleans : true;
|
|
31
33
|
const primitiveRedactor = new primitiveRedactor_1.PrimitiveRedactor({
|
|
32
34
|
ignoreBooleans,
|
|
33
35
|
ignoreNullOrUndefined,
|
|
@@ -38,13 +40,14 @@ class FieldRedactor {
|
|
|
38
40
|
deepSecretKeys,
|
|
39
41
|
fullSecretKeys
|
|
40
42
|
});
|
|
41
|
-
const customObjectChecker = new
|
|
43
|
+
const customObjectChecker = new customObjectManager_1.CustomObjectManager(customObjects);
|
|
42
44
|
this.objectRedactor = new objectRedactor_1.ObjectRedactor(primitiveRedactor, secretManager, customObjectChecker);
|
|
43
45
|
}
|
|
44
46
|
/**
|
|
45
47
|
* Conditionally redacts fields in the JSON object based on the configuration provided in the constructor and returns the
|
|
46
48
|
* redacted result.
|
|
47
|
-
*
|
|
49
|
+
* If the value is a primitive, undefined, or date, returns the value as-is.
|
|
50
|
+
* @param value The JSON value to redact. If primitive it will be resolved as-is.
|
|
48
51
|
* @returns The redacted JSON object.
|
|
49
52
|
*/
|
|
50
53
|
redact(value) {
|
|
@@ -55,11 +58,15 @@ class FieldRedactor {
|
|
|
55
58
|
}
|
|
56
59
|
/**
|
|
57
60
|
* Conditionally redacts fields in the JSON object in place based on the configuration provided in the constructor.
|
|
58
|
-
*
|
|
61
|
+
* If the value is a primitive, undefined, or date, returns the value as-is.
|
|
62
|
+
* @param value The JSON value to redact in place. If primitive it will be resolved as-is.
|
|
63
|
+
* @returns The redacted JSON object.
|
|
59
64
|
*/
|
|
60
65
|
redactInPlace(value) {
|
|
61
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
this.
|
|
67
|
+
if (this.isPrimitiveOrUndefined(value)) {
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
63
70
|
try {
|
|
64
71
|
return this.objectRedactor.redactInPlace(value);
|
|
65
72
|
}
|
|
@@ -68,10 +75,8 @@ class FieldRedactor {
|
|
|
68
75
|
}
|
|
69
76
|
});
|
|
70
77
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
throw new errors_1.FieldRedactorValidationError('Input value must be a JSON object');
|
|
74
|
-
}
|
|
78
|
+
isPrimitiveOrUndefined(value) {
|
|
79
|
+
return !value || typeof value !== 'object' || value instanceof Date;
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
exports.FieldRedactor = FieldRedactor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactor.js","sourceRoot":"","sources":["../src/fieldRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,qDAAkD;AAClD,2DAAwD;AACxD,mDAAgD;AAChD,+DAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"fieldRedactor.js","sourceRoot":"","sources":["../src/fieldRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,qDAAkD;AAClD,2DAAwD;AACxD,mDAAgD;AAChD,+DAA4D;AAC5D,qCAA8C;AAE9C;;;;GAIG;AACH,MAAa,aAAa;IAGxB,YAAY,MAA4B;QAFhC,aAAQ,GAAG,IAAA,cAAI,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAGtD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAE7F,MAAM,qBAAqB,GACzB,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,CAAA,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,MAAM,cAAc,GAAG,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,CAAA,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QAElG,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC;YAC9C,cAAc;YACd,qBAAqB;YACrB,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC;YACtC,UAAU;YACV,cAAc;YACd,cAAc;SACf,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,aAAa,CAAC,CAAC;QAEnE,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;OAMG;IACU,MAAM,CAAC,KAAU;;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;KAAA;IAED;;;;;OAKG;IACU,aAAa,CAAC,KAAU;;YACnC,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,2BAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KAAA;IAEO,sBAAsB,CAAC,KAAU;QACvC,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,CAAC;IACtE,CAAC;CACF;AA5DD,sCA4DC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,5 +5,4 @@ const fieldRedactor_1 = require("./fieldRedactor");
|
|
|
5
5
|
Object.defineProperty(exports, "FieldRedactor", { enumerable: true, get: function () { return fieldRedactor_1.FieldRedactor; } });
|
|
6
6
|
var types_1 = require("./types");
|
|
7
7
|
Object.defineProperty(exports, "CustomObjectMatchType", { enumerable: true, get: function () { return types_1.CustomObjectMatchType; } });
|
|
8
|
-
exports.default = fieldRedactor_1.FieldRedactor;
|
|
9
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEvC,8FAFA,6BAAa,OAEA;AADtB,iCAA6F;AAApF,8GAAA,qBAAqB,OAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEvC,8FAFA,6BAAa,OAEA;AADtB,iCAA6F;AAApF,8GAAA,qBAAqB,OAAA"}
|
package/dist/objectRedactor.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SecretManager } from './secretManager';
|
|
2
|
-
import {
|
|
2
|
+
import { CustomObjectManager } from './customObjectManager';
|
|
3
3
|
import { PrimitiveRedactor } from './primitiveRedactor';
|
|
4
4
|
/**
|
|
5
5
|
* Redacts fields in a JSON object using the secretManager, primitiveRedactor, and CustomObjectChecker provided in the
|
|
@@ -10,8 +10,8 @@ import { PrimitiveRedactor } from './primitiveRedactor';
|
|
|
10
10
|
export declare class ObjectRedactor {
|
|
11
11
|
private readonly primitiveRedactor;
|
|
12
12
|
private readonly secretManager;
|
|
13
|
-
private readonly
|
|
14
|
-
constructor(primitiveRedactor: PrimitiveRedactor, secretManager: SecretManager,
|
|
13
|
+
private readonly customObjManager;
|
|
14
|
+
constructor(primitiveRedactor: PrimitiveRedactor, secretManager: SecretManager, customObjManager: CustomObjectManager);
|
|
15
15
|
/**
|
|
16
16
|
* Conditionally redacts fields in the JSON object in place based on the configuration using the
|
|
17
17
|
* primitive redactor, custom object checker, and secret manager provided in the constructor.
|
|
@@ -19,23 +19,23 @@ export declare class ObjectRedactor {
|
|
|
19
19
|
* @returns The JSON value provided in the argument.
|
|
20
20
|
*/
|
|
21
21
|
redactInPlace(value: any): Promise<any>;
|
|
22
|
-
private
|
|
22
|
+
private redactSecretObjectFieldsInPlace;
|
|
23
23
|
private redactArrayInObject;
|
|
24
24
|
private redactObjectsInArray;
|
|
25
25
|
private redactAllArrayValues;
|
|
26
26
|
private redactObjectInObject;
|
|
27
|
-
private
|
|
28
|
-
private handlecustomObjectValueIfObject;
|
|
27
|
+
private handleCustomObjectInPlace;
|
|
29
28
|
private handleCustomObjectValueIfArray;
|
|
29
|
+
private getStringSpecifiedCustomObjectSecretKeyValueIfExists;
|
|
30
30
|
private handleCustomObjectArrayValueIfStringKeySpecified;
|
|
31
|
-
private getStringValue;
|
|
32
31
|
private handleCustomObjectArrayValueIfMatchTypeSpecified;
|
|
32
|
+
private handlecustomObjectValueIfObject;
|
|
33
33
|
private handleCustomObjectObjectValueIfStringKeySpecified;
|
|
34
34
|
private handleCustomObjectOjectValueIfMatchTypeSpecified;
|
|
35
35
|
private handleCustomObjectValueIfPrimitive;
|
|
36
36
|
private handleCustomObjectPrimitiveValueIfMatchTypeSpecified;
|
|
37
37
|
private handleCustomObjectPrimitiveValueIfStringKeySpecified;
|
|
38
|
-
private
|
|
38
|
+
private getStringValue;
|
|
39
39
|
private isObject;
|
|
40
40
|
private redactPrimitiveValueIfSecret;
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactor.d.ts","sourceRoot":"","sources":["../src/objectRedactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"objectRedactor.d.ts","sourceRoot":"","sources":["../src/objectRedactor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAFhB,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,mBAAmB;IAGxD;;;;;OAKG;IACU,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAWtC,+BAA+B;YAkB/B,mBAAmB;YASnB,oBAAoB;YAkBpB,oBAAoB;YAqBpB,oBAAoB;YAUpB,yBAAyB;YAYzB,8BAA8B;IAa5C,OAAO,CAAC,oDAAoD;YAS9C,gDAAgD;YAWhD,gDAAgD;YAsBhD,+BAA+B;YAa/B,iDAAiD;YAajD,gDAAgD;YAmBhD,kCAAkC;YAQlC,oDAAoD;YAgBpD,oDAAoD;IAalE,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,QAAQ;YAIF,4BAA4B;CAS3C"}
|
package/dist/objectRedactor.js
CHANGED
|
@@ -18,10 +18,10 @@ const types_1 = require("./types");
|
|
|
18
18
|
* assessed recursively unless otherwise configured by a CustomObject or deepSecretKey.
|
|
19
19
|
*/
|
|
20
20
|
class ObjectRedactor {
|
|
21
|
-
constructor(primitiveRedactor, secretManager,
|
|
21
|
+
constructor(primitiveRedactor, secretManager, customObjManager) {
|
|
22
22
|
this.primitiveRedactor = primitiveRedactor;
|
|
23
23
|
this.secretManager = secretManager;
|
|
24
|
-
this.
|
|
24
|
+
this.customObjManager = customObjManager;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Conditionally redacts fields in the JSON object in place based on the configuration using the
|
|
@@ -31,23 +31,23 @@ class ObjectRedactor {
|
|
|
31
31
|
*/
|
|
32
32
|
redactInPlace(value) {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
const customObject = this.
|
|
34
|
+
const customObject = this.customObjManager.getMatchingCustomObject(value);
|
|
35
35
|
if (customObject) {
|
|
36
|
-
yield this.
|
|
36
|
+
yield this.handleCustomObjectInPlace(value, customObject);
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
yield this.
|
|
39
|
+
yield this.redactSecretObjectFieldsInPlace(value);
|
|
40
40
|
}
|
|
41
41
|
return value;
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
redactSecretObjectFieldsInPlace(object_1) {
|
|
45
45
|
return __awaiter(this, arguments, void 0, function* (object, forceDeepRedaction = false) {
|
|
46
46
|
for (const key of Object.keys(object)) {
|
|
47
47
|
const value = object[key];
|
|
48
|
-
const customObject = this.
|
|
48
|
+
const customObject = this.customObjManager.getMatchingCustomObject(value);
|
|
49
49
|
if (customObject) {
|
|
50
|
-
yield this.
|
|
50
|
+
yield this.handleCustomObjectInPlace(value, customObject);
|
|
51
51
|
}
|
|
52
52
|
else if (this.secretManager.isFullSecretKey(key)) {
|
|
53
53
|
object[key] = yield this.primitiveRedactor.redactValue(this.getStringValue(value));
|
|
@@ -79,13 +79,13 @@ class ObjectRedactor {
|
|
|
79
79
|
return __awaiter(this, void 0, void 0, function* () {
|
|
80
80
|
const promises = array.map((value) => __awaiter(this, void 0, void 0, function* () {
|
|
81
81
|
if (this.isObject(value)) {
|
|
82
|
-
const customObject = this.
|
|
82
|
+
const customObject = this.customObjManager.getMatchingCustomObject(value);
|
|
83
83
|
if (customObject) {
|
|
84
|
-
yield this.
|
|
84
|
+
yield this.handleCustomObjectInPlace(value, customObject);
|
|
85
85
|
return value;
|
|
86
86
|
}
|
|
87
87
|
else {
|
|
88
|
-
yield this.
|
|
88
|
+
yield this.redactSecretObjectFieldsInPlace(value, false);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
return value;
|
|
@@ -103,13 +103,13 @@ class ObjectRedactor {
|
|
|
103
103
|
return this.primitiveRedactor.redactValue(value);
|
|
104
104
|
}
|
|
105
105
|
else {
|
|
106
|
-
const customObject = this.
|
|
106
|
+
const customObject = this.customObjManager.getMatchingCustomObject(value);
|
|
107
107
|
if (customObject) {
|
|
108
|
-
yield this.
|
|
108
|
+
yield this.handleCustomObjectInPlace(value, customObject);
|
|
109
109
|
return Promise.resolve(value);
|
|
110
110
|
}
|
|
111
111
|
else {
|
|
112
|
-
yield this.
|
|
112
|
+
yield this.redactSecretObjectFieldsInPlace(value, forceDeepRedaction);
|
|
113
113
|
return Promise.resolve(value);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -119,17 +119,17 @@ class ObjectRedactor {
|
|
|
119
119
|
}
|
|
120
120
|
redactObjectInObject(value, key, forceDeepRedaction) {
|
|
121
121
|
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
const customObject = this.
|
|
122
|
+
const customObject = this.customObjManager.getMatchingCustomObject(value);
|
|
123
123
|
if (customObject) {
|
|
124
|
-
yield this.
|
|
124
|
+
yield this.handleCustomObjectInPlace(value, customObject);
|
|
125
125
|
}
|
|
126
126
|
else {
|
|
127
127
|
const secretObject = forceDeepRedaction || this.secretManager.isDeepSecretKey(key);
|
|
128
|
-
yield this.
|
|
128
|
+
yield this.redactSecretObjectFieldsInPlace(value, secretObject);
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
|
-
|
|
132
|
+
handleCustomObjectInPlace(value, customObject) {
|
|
133
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
134
134
|
for (const key of Object.keys(customObject)) {
|
|
135
135
|
if (Array.isArray(value[key])) {
|
|
@@ -144,17 +144,6 @@ class ObjectRedactor {
|
|
|
144
144
|
}
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
-
handlecustomObjectValueIfObject(value, key, customObject) {
|
|
148
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
-
const stringKey = this.getStringSpecifiedCustomObjectSecretKeyValueIfExists(value, customObject, key);
|
|
150
|
-
if (stringKey) {
|
|
151
|
-
yield this.handleCustomObjectObjectValueIfStringKeySpecified(value, key, stringKey);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
yield this.handleCustomObjectOjectValueIfMatchTypeSpecified(value, key, customObject[key]);
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
147
|
handleCustomObjectValueIfArray(value, key, customObject) {
|
|
159
148
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
149
|
const stringKey = this.getStringSpecifiedCustomObjectSecretKeyValueIfExists(value, customObject, key);
|
|
@@ -166,6 +155,10 @@ class ObjectRedactor {
|
|
|
166
155
|
}
|
|
167
156
|
});
|
|
168
157
|
}
|
|
158
|
+
getStringSpecifiedCustomObjectSecretKeyValueIfExists(value, customObject, key) {
|
|
159
|
+
const hasSecretKey = typeof customObject[key] === 'string' && !!value[customObject[key]];
|
|
160
|
+
return hasSecretKey ? value[customObject[key]] : null;
|
|
161
|
+
}
|
|
169
162
|
handleCustomObjectArrayValueIfStringKeySpecified(value, key, stringKey) {
|
|
170
163
|
return __awaiter(this, void 0, void 0, function* () {
|
|
171
164
|
if (this.secretManager.isFullSecretKey(stringKey)) {
|
|
@@ -177,17 +170,6 @@ class ObjectRedactor {
|
|
|
177
170
|
}
|
|
178
171
|
});
|
|
179
172
|
}
|
|
180
|
-
getStringValue(val) {
|
|
181
|
-
if (this.isObject(val) || Array.isArray(val)) {
|
|
182
|
-
return JSON.stringify(val);
|
|
183
|
-
}
|
|
184
|
-
else if (val === null || val === undefined) {
|
|
185
|
-
return val;
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
return val.toString();
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
173
|
handleCustomObjectArrayValueIfMatchTypeSpecified(value, key, matchType) {
|
|
192
174
|
return __awaiter(this, void 0, void 0, function* () {
|
|
193
175
|
switch (matchType) {
|
|
@@ -207,20 +189,31 @@ class ObjectRedactor {
|
|
|
207
189
|
}
|
|
208
190
|
});
|
|
209
191
|
}
|
|
192
|
+
handlecustomObjectValueIfObject(value, key, customObject) {
|
|
193
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
+
const stringKey = this.getStringSpecifiedCustomObjectSecretKeyValueIfExists(value, customObject, key);
|
|
195
|
+
if (stringKey) {
|
|
196
|
+
yield this.handleCustomObjectObjectValueIfStringKeySpecified(value, key, stringKey);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
yield this.handleCustomObjectOjectValueIfMatchTypeSpecified(value, key, customObject[key]);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
210
203
|
handleCustomObjectObjectValueIfStringKeySpecified(value, key, stringKey) {
|
|
211
204
|
return __awaiter(this, void 0, void 0, function* () {
|
|
212
|
-
const customObject = this.
|
|
205
|
+
const customObject = this.customObjManager.getMatchingCustomObject(value[key]);
|
|
213
206
|
if (customObject) {
|
|
214
|
-
yield this.
|
|
207
|
+
yield this.handleCustomObjectInPlace(value[key], customObject);
|
|
215
208
|
}
|
|
216
209
|
else if (this.secretManager.isFullSecretKey(stringKey)) {
|
|
217
210
|
value[key] = yield this.primitiveRedactor.redactValue(this.getStringValue(value[key]));
|
|
218
211
|
}
|
|
219
212
|
else if (this.secretManager.isDeepSecretKey(stringKey)) {
|
|
220
|
-
yield this.
|
|
213
|
+
yield this.redactSecretObjectFieldsInPlace(value[key], true);
|
|
221
214
|
}
|
|
222
215
|
else if (this.secretManager.isSecretKey(stringKey)) {
|
|
223
|
-
yield this.
|
|
216
|
+
yield this.redactSecretObjectFieldsInPlace(value[key], false);
|
|
224
217
|
}
|
|
225
218
|
});
|
|
226
219
|
}
|
|
@@ -231,10 +224,10 @@ class ObjectRedactor {
|
|
|
231
224
|
value[key] = yield this.primitiveRedactor.redactValue(this.getStringValue(value[key]));
|
|
232
225
|
return Promise.resolve();
|
|
233
226
|
case types_1.CustomObjectMatchType.Deep:
|
|
234
|
-
return this.
|
|
227
|
+
return this.redactSecretObjectFieldsInPlace(value[key], true);
|
|
235
228
|
case types_1.CustomObjectMatchType.Shallow:
|
|
236
229
|
case types_1.CustomObjectMatchType.Pass:
|
|
237
|
-
return this.
|
|
230
|
+
return this.redactSecretObjectFieldsInPlace(value[key], false);
|
|
238
231
|
case types_1.CustomObjectMatchType.Ignore:
|
|
239
232
|
return Promise.resolve();
|
|
240
233
|
}
|
|
@@ -273,9 +266,16 @@ class ObjectRedactor {
|
|
|
273
266
|
return this.redactPrimitiveValueIfSecret(secretKey, value[key], false);
|
|
274
267
|
});
|
|
275
268
|
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
269
|
+
getStringValue(val) {
|
|
270
|
+
if (this.isObject(val) || Array.isArray(val)) {
|
|
271
|
+
return JSON.stringify(val);
|
|
272
|
+
}
|
|
273
|
+
else if (val === null || val === undefined) {
|
|
274
|
+
return val;
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
return val.toString();
|
|
278
|
+
}
|
|
279
279
|
}
|
|
280
280
|
isObject(value) {
|
|
281
281
|
return !!value && typeof value === 'object' && !(value instanceof Date) && !Array.isArray(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactor.js","sourceRoot":"","sources":["../src/objectRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA8D;AAK9D;;;;;GAKG;AACH,MAAa,cAAc;IACzB,YACmB,iBAAoC,EACpC,aAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"objectRedactor.js","sourceRoot":"","sources":["../src/objectRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA8D;AAK9D;;;;;GAKG;AACH,MAAa,cAAc;IACzB,YACmB,iBAAoC,EACpC,aAA4B,EAC5B,gBAAqC;QAFrC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAqB;IACrD,CAAC;IAEJ;;;;;OAKG;IACU,aAAa,CAAC,KAAU;;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEa,+BAA+B;6DAAC,MAAW,EAAE,qBAA8B,KAAK;YAC5F,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAC1E,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC5D,CAAC;qBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBAC/E,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEa,mBAAmB,CAAC,KAAY,EAAE,GAAW,EAAE,kBAA2B;;YACtF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,aAAa,IAAI,kBAAkB,EAAE,CAAC;gBAC/E,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,IAAI,aAAa,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;KAAA;IAEa,oBAAoB,CAAC,KAAY;;YAC7C,MAAM,QAAQ,GAAmB,KAAK,CAAC,GAAG,CAAC,CAAO,KAAU,EAAE,EAAE;gBAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;oBAC1E,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;wBAC1D,OAAO,KAAK,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAA,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;KAAA;IAEa,oBAAoB,CAAC,KAAY,EAAE,kBAA2B;;YAC1E,MAAM,QAAQ,GAAmB,KAAK,CAAC,GAAG,CAAC,CAAO,KAAU,EAAE,EAAE;gBAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBAC9D,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;oBAC1E,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;wBAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;wBACtE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;KAAA;IAEa,oBAAoB,CAAC,KAAU,EAAE,GAAW,EAAE,kBAA2B;;YACrF,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC1E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,kBAAkB,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;KAAA;IAEa,yBAAyB,CAAC,KAAU,EAAE,YAA0B;;YAC5E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;gBACtE,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,kCAAkC,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEa,8BAA8B,CAAC,KAAU,EAAE,GAAW,EAAE,YAA0B;;YAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,oDAAoD,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YACtG,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,gDAAgD,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,gDAAgD,CACzD,KAAK,EACL,GAAG,EACH,YAAY,CAAC,GAAG,CAA0B,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEO,oDAAoD,CAC1D,KAAU,EACV,YAA0B,EAC1B,GAAW;QAEX,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACzF,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAEa,gDAAgD,CAAC,KAAU,EAAE,GAAW,EAAE,SAAiB;;YACvG,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACtE,IAAI,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;KAAA;IAEa,gDAAgD,CAC5D,KAAU,EACV,GAAW,EACX,SAAgC;;YAEhC,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,6BAAqB,CAAC,IAAI;oBAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,6BAAqB,CAAC,IAAI;oBAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC/D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,6BAAqB,CAAC,OAAO;oBAChC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;oBAChE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,6BAAqB,CAAC,IAAI;oBAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACtE;oBACE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;KAAA;IAEa,+BAA+B,CAAC,KAAU,EAAE,GAAW,EAAE,YAA0B;;YAC/F,MAAM,SAAS,GAAG,IAAI,CAAC,oDAAoD,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YACtG,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,iDAAiD,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,gDAAgD,CACzD,KAAK,EACL,GAAG,EACH,YAAY,CAAC,GAAG,CAA0B,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEa,iDAAiD,CAAC,KAAU,EAAE,GAAW,EAAE,SAAiB;;YACxG,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;KAAA;IAEa,gDAAgD,CAC5D,KAAU,EACV,GAAW,EACX,SAAgC;;YAEhC,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,6BAAqB,CAAC,IAAI;oBAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACvF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,6BAAqB,CAAC,IAAI;oBAC7B,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;gBAChE,KAAK,6BAAqB,CAAC,OAAO,CAAC;gBACnC,KAAK,6BAAqB,CAAC,IAAI;oBAC7B,OAAO,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjE,KAAK,6BAAqB,CAAC,MAAM;oBAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;KAAA;IAEa,kCAAkC,CAAC,KAAU,EAAE,YAA0B,EAAE,GAAW;;YAClG,IAAI,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1C,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,oDAAoD,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9G,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,oDAAoD,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;KAAA;IAEa,oDAAoD,CAChE,KAAU,EACV,UAA2C;;YAE3C,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,6BAAqB,CAAC,IAAI;oBAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxE,KAAK,6BAAqB,CAAC,IAAI,CAAC;gBAChC,KAAK,6BAAqB,CAAC,OAAO;oBAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnD,KAAK,6BAAqB,CAAC,IAAI,CAAC;gBAChC;oBACE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;KAAA;IAEa,oDAAoD,CAChE,KAAU,EACV,YAA0B,EAC1B,GAAW;;YAEX,MAAM,SAAS,GAAG,IAAI,CAAC,oDAAoD,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YACtG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;KAAA;IAEO,cAAc,CAAC,GAAQ;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,KAAU;QACzB,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnG,CAAC;IAEa,4BAA4B,CAAC,GAAW,EAAE,KAAU,EAAE,kBAA2B;;YAC7F,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,kBAAkB,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChH,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KAAA;CACF;AAhRD,wCAgRC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitiveRedactor.d.ts","sourceRoot":"","sources":["../src/primitiveRedactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAY,MAAM,SAAS,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAc;IAClD,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAoF;IAEpG;;;;OAIG;gBACS,MAAM,EAAE,uBAAuB;
|
|
1
|
+
{"version":3,"file":"primitiveRedactor.d.ts","sourceRoot":"","sources":["../src/primitiveRedactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAY,MAAM,SAAS,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAc;IAClD,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAoF;IAEpG;;;;OAIG;gBACS,MAAM,EAAE,uBAAuB;IAQ3C;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAUpC,0BAA0B;YAQ1B,aAAa;YAIb,SAAS;CAGxB"}
|
|
@@ -26,13 +26,8 @@ class PrimitiveRedactor {
|
|
|
26
26
|
if (config.redactor) {
|
|
27
27
|
this.redactor = config.redactor;
|
|
28
28
|
}
|
|
29
|
-
this.ignoreBooleans =
|
|
30
|
-
|
|
31
|
-
this.ignoreNullOrUndefined = config.ignoreNullOrUndefined;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.ignoreNullOrUndefined = true;
|
|
35
|
-
}
|
|
29
|
+
this.ignoreBooleans = config.ignoreBooleans;
|
|
30
|
+
this.ignoreNullOrUndefined = config.ignoreNullOrUndefined;
|
|
36
31
|
}
|
|
37
32
|
/**
|
|
38
33
|
* Redacts the primitive value based on the configuration provided in the constructor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitiveRedactor.js","sourceRoot":"","sources":["../src/primitiveRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA;;;;GAIG;AACH,MAAa,iBAAiB;IAM5B;;;;OAIG;IACH,YAAY,MAA+B;QAPnC,aAAQ,GAAa,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAQlG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"primitiveRedactor.js","sourceRoot":"","sources":["../src/primitiveRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA;;;;GAIG;AACH,MAAa,iBAAiB;IAM5B;;;;OAIG;IACH,YAAY,MAA+B;QAPnC,aAAQ,GAAa,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAQlG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACU,WAAW,CAAC,KAAU;;YACjC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;KAAA;IAEa,0BAA0B,CAAC,KAAuB;;YAC9D,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC;KAAA;IAEa,aAAa,CAAC,KAAc;;YACxC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7E,CAAC;KAAA;IAEa,SAAS,CAAC,KAAU;;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;KAAA;;AAhDH,8CAiDC;AAhDgB,uCAAqB,GAAG,UAAU,AAAb,CAAc"}
|
package/dist/types.d.ts
CHANGED
|
@@ -11,15 +11,15 @@ export type CustomObject = {
|
|
|
11
11
|
};
|
|
12
12
|
export type PrimitiveRedactorConfig = {
|
|
13
13
|
redactor?: Redactor;
|
|
14
|
-
ignoreBooleans
|
|
15
|
-
ignoreNullOrUndefined
|
|
14
|
+
ignoreBooleans: boolean;
|
|
15
|
+
ignoreNullOrUndefined: boolean;
|
|
16
16
|
};
|
|
17
17
|
export type SecretManagerConfig = {
|
|
18
18
|
secretKeys?: RegExp[];
|
|
19
19
|
deepSecretKeys?: RegExp[];
|
|
20
20
|
fullSecretKeys?: RegExp[];
|
|
21
21
|
};
|
|
22
|
-
export type FieldRedactorConfig = PrimitiveRedactorConfig & SecretManagerConfig & {
|
|
22
|
+
export type FieldRedactorConfig = Partial<PrimitiveRedactorConfig> & SecretManagerConfig & {
|
|
23
23
|
redactor?: Redactor;
|
|
24
24
|
customObjects?: CustomObject[];
|
|
25
25
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvD,oBAAY,qBAAqB;IAC/B,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;CACP;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvD,oBAAY,qBAAqB;IAC/B,IAAI,IAAA;IACJ,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,MAAM,IAAA;CACP;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,uBAAuB,CAAC,GAChE,mBAAmB,GAAG;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customObjectChecker.d.ts","sourceRoot":"","sources":["../src/customObjectChecker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAAsB;IAE3C;;;OAGG;gBACS,aAAa,CAAC,EAAE,YAAY,EAAE;IAK1C;;;;OAIG;IACI,uBAAuB,CAAC,KAAK,EAAE,GAAG,GAAG,YAAY,GAAG,SAAS;IASpE,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,gCAAgC;IAUxC,OAAO,CAAC,qBAAqB;CAoB9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customObjectChecker.js","sourceRoot":"","sources":["../src/customObjectChecker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAG3D;;GAEG;AACH,MAAa,mBAAmB;IAG9B;;;OAGG;IACH,YAAY,aAA8B;QANlC,kBAAa,GAAmB,EAAE,CAAC;QAOzC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,uBAAuB,CAAC,KAAU;QACvC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC7C,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,KAAU,EAAE,YAA0B;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gCAAgC,CAAC,KAAU,EAAE,YAA0B;QAC7E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB,CAAC,aAA8B;QAC1D,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,OAAO,GAAiB,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAiB,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjE,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBAChF,MAAM,IAAI,wCAA+B,CACvC,6BAA6B,CAAC,QAAQ,CAAC,gCAAgC,UAAU,EAAE,CACpF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA1ED,kDA0EC"}
|