field-redactor 1.6.2 → 1.6.3
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/.github/workflows/publish.yml +55 -0
- package/CHANGELOG.md +17 -0
- package/CONTRIBUTING.md +23 -2
- package/README.md +1 -0
- package/dist/api/fieldRedactor.d.ts +3 -3
- package/dist/api/fieldRedactor.js +4 -4
- package/dist/api/fieldRedactor.js.map +1 -1
- package/dist/config/configValidator.d.ts.map +1 -1
- package/dist/config/configValidator.js +16 -0
- package/dist/config/configValidator.js.map +1 -1
- package/dist/types.d.ts +27 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/guides/migration-1.5-to-1.6.md +4 -3
- package/docs/release-notes/README.md +4 -1
- package/docs/release-notes/v1.6.3.md +25 -0
- package/examples/README.md +14 -0
- package/examples/dry-run.ts +21 -0
- package/examples/logging-metadata.ts +18 -0
- package/examples/path-rules.ts +23 -0
- package/examples/value-patterns.ts +16 -0
- package/package.json +1 -1
- package/dist/arrayRedaction.d.ts +0 -12
- package/dist/arrayRedaction.d.ts.map +0 -1
- package/dist/arrayRedaction.js +0 -70
- package/dist/arrayRedaction.js.map +0 -1
- package/dist/configValidator.d.ts +0 -9
- package/dist/configValidator.d.ts.map +0 -1
- package/dist/configValidator.js +0 -77
- package/dist/configValidator.js.map +0 -1
- package/dist/copyOnWriteHelpers.d.ts +0 -20
- package/dist/copyOnWriteHelpers.d.ts.map +0 -1
- package/dist/copyOnWriteHelpers.js +0 -58
- package/dist/copyOnWriteHelpers.js.map +0 -1
- package/dist/customObjectFieldHandler.d.ts +0 -21
- package/dist/customObjectFieldHandler.d.ts.map +0 -1
- package/dist/customObjectFieldHandler.js +0 -159
- package/dist/customObjectFieldHandler.js.map +0 -1
- package/dist/customObjectManager.d.ts +0 -28
- package/dist/customObjectManager.d.ts.map +0 -1
- package/dist/customObjectManager.js +0 -60
- package/dist/customObjectManager.js.map +0 -1
- package/dist/customObjectSchemas.d.ts +0 -7
- package/dist/customObjectSchemas.d.ts.map +0 -1
- package/dist/customObjectSchemas.js +0 -35
- package/dist/customObjectSchemas.js.map +0 -1
- package/dist/dryRun.d.ts +0 -9
- package/dist/dryRun.d.ts.map +0 -1
- package/dist/dryRun.js +0 -75
- package/dist/dryRun.js.map +0 -1
- package/dist/dryRunAttribution.d.ts +0 -10
- package/dist/dryRunAttribution.d.ts.map +0 -1
- package/dist/dryRunAttribution.js +0 -14
- package/dist/dryRunAttribution.js.map +0 -1
- package/dist/dryrun/dryRunAttribution.d.ts +0 -10
- package/dist/dryrun/dryRunAttribution.d.ts.map +0 -1
- package/dist/dryrun/dryRunAttribution.js +0 -14
- package/dist/dryrun/dryRunAttribution.js.map +0 -1
- package/dist/engine/objectRedactor.d.ts +0 -18
- package/dist/engine/objectRedactor.d.ts.map +0 -1
- package/dist/engine/objectRedactor.js +0 -38
- package/dist/engine/objectRedactor.js.map +0 -1
- package/dist/engine/objectRedactorSync.d.ts +0 -2
- package/dist/engine/objectRedactorSync.d.ts.map +0 -1
- package/dist/engine/objectRedactorSync.js +0 -7
- package/dist/engine/objectRedactorSync.js.map +0 -1
- package/dist/fieldDisposition.d.ts +0 -3
- package/dist/fieldDisposition.d.ts.map +0 -1
- package/dist/fieldDisposition.js +0 -6
- package/dist/fieldDisposition.js.map +0 -1
- package/dist/fieldRedactor.d.ts +0 -51
- package/dist/fieldRedactor.d.ts.map +0 -1
- package/dist/fieldRedactor.js +0 -165
- package/dist/fieldRedactor.js.map +0 -1
- package/dist/fieldRedactorConfigBuilder.d.ts +0 -55
- package/dist/fieldRedactorConfigBuilder.d.ts.map +0 -1
- package/dist/fieldRedactorConfigBuilder.js +0 -111
- package/dist/fieldRedactorConfigBuilder.js.map +0 -1
- package/dist/fieldRedactorDeps.d.ts +0 -19
- package/dist/fieldRedactorDeps.d.ts.map +0 -1
- package/dist/fieldRedactorDeps.js +0 -43
- package/dist/fieldRedactorDeps.js.map +0 -1
- package/dist/jsonWalk.d.ts +0 -11
- package/dist/jsonWalk.d.ts.map +0 -1
- package/dist/jsonWalk.js +0 -55
- package/dist/jsonWalk.js.map +0 -1
- package/dist/maybeAsync.d.ts +0 -7
- package/dist/maybeAsync.d.ts.map +0 -1
- package/dist/maybeAsync.js +0 -56
- package/dist/maybeAsync.js.map +0 -1
- package/dist/objectRedactor.d.ts +0 -18
- package/dist/objectRedactor.d.ts.map +0 -1
- package/dist/objectRedactor.js +0 -38
- package/dist/objectRedactor.js.map +0 -1
- package/dist/objectRedactorCow.d.ts +0 -35
- package/dist/objectRedactorCow.d.ts.map +0 -1
- package/dist/objectRedactorCow.js +0 -300
- package/dist/objectRedactorCow.js.map +0 -1
- package/dist/objectRedactorCustomObject.d.ts +0 -28
- package/dist/objectRedactorCustomObject.d.ts.map +0 -1
- package/dist/objectRedactorCustomObject.js +0 -57
- package/dist/objectRedactorCustomObject.js.map +0 -1
- package/dist/objectRedactorHelpers.d.ts +0 -9
- package/dist/objectRedactorHelpers.d.ts.map +0 -1
- package/dist/objectRedactorHelpers.js +0 -61
- package/dist/objectRedactorHelpers.js.map +0 -1
- package/dist/objectRedactorMutation.d.ts +0 -10
- package/dist/objectRedactorMutation.d.ts.map +0 -1
- package/dist/objectRedactorMutation.js +0 -89
- package/dist/objectRedactorMutation.js.map +0 -1
- package/dist/objectRedactorSync.d.ts +0 -2
- package/dist/objectRedactorSync.d.ts.map +0 -1
- package/dist/objectRedactorSync.js +0 -7
- package/dist/objectRedactorSync.js.map +0 -1
- package/dist/objectRedactorTraversal.d.ts +0 -41
- package/dist/objectRedactorTraversal.d.ts.map +0 -1
- package/dist/objectRedactorTraversal.js +0 -201
- package/dist/objectRedactorTraversal.js.map +0 -1
- package/dist/pathParsing.d.ts +0 -11
- package/dist/pathParsing.d.ts.map +0 -1
- package/dist/pathParsing.js +0 -53
- package/dist/pathParsing.js.map +0 -1
- package/dist/pathRuleMatcher.d.ts +0 -19
- package/dist/pathRuleMatcher.d.ts.map +0 -1
- package/dist/pathRuleMatcher.js +0 -42
- package/dist/pathRuleMatcher.js.map +0 -1
- package/dist/presets.d.ts +0 -22
- package/dist/presets.d.ts.map +0 -1
- package/dist/presets.js +0 -50
- package/dist/presets.js.map +0 -1
- package/dist/primitiveRedactor.d.ts +0 -33
- package/dist/primitiveRedactor.d.ts.map +0 -1
- package/dist/primitiveRedactor.js +0 -75
- package/dist/primitiveRedactor.js.map +0 -1
- package/dist/redactionRules.d.ts +0 -22
- package/dist/redactionRules.d.ts.map +0 -1
- package/dist/redactionRules.js +0 -74
- package/dist/redactionRules.js.map +0 -1
- package/dist/regexUtils.d.ts +0 -3
- package/dist/regexUtils.d.ts.map +0 -1
- package/dist/regexUtils.js +0 -8
- package/dist/regexUtils.js.map +0 -1
- package/dist/ruleResolver.d.ts +0 -65
- package/dist/ruleResolver.d.ts.map +0 -1
- package/dist/ruleResolver.js +0 -193
- package/dist/ruleResolver.js.map +0 -1
- package/dist/rules/fieldDisposition.d.ts +0 -3
- package/dist/rules/fieldDisposition.d.ts.map +0 -1
- package/dist/rules/fieldDisposition.js +0 -6
- package/dist/rules/fieldDisposition.js.map +0 -1
- package/dist/secretManager.d.ts +0 -32
- package/dist/secretManager.d.ts.map +0 -1
- package/dist/secretManager.js +0 -85
- package/dist/secretManager.js.map +0 -1
- package/dist/traversalServices.d.ts +0 -21
- package/dist/traversalServices.d.ts.map +0 -1
- package/dist/traversalServices.js +0 -3
- package/dist/traversalServices.js.map +0 -1
- package/dist/valuePatternMatcher.d.ts +0 -15
- package/dist/valuePatternMatcher.d.ts.map +0 -1
- package/dist/valuePatternMatcher.js +0 -30
- package/dist/valuePatternMatcher.js.map +0 -1
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { CustomObjectManager } from './customObjectManager';
|
|
2
|
-
import { PathRuleMatcher } from './pathRuleMatcher';
|
|
3
|
-
import { SecretManager } from './secretManager';
|
|
4
|
-
import { ValuePatternMatcher } from './valuePatternMatcher';
|
|
5
|
-
import { DryRunPathRule, JsonValue } from './types';
|
|
6
|
-
export { RuleResolver } from './ruleResolver';
|
|
7
|
-
export declare const buildPathRules: (before: JsonValue | undefined, redactedPaths: readonly string[], deletedPaths: readonly string[], secretManager: SecretManager, manager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher, pathRuleMatcher: PathRuleMatcher) => DryRunPathRule[];
|
|
8
|
-
export declare const attributeDeletePathRule: (before: JsonValue | undefined, path: string, secretManager: SecretManager, pathRuleMatcher: PathRuleMatcher, manager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher) => DryRunPathRule;
|
|
9
|
-
export declare const attributeRedactPathRule: (before: JsonValue | undefined, path: string, secretManager: SecretManager, manager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher, pathRuleMatcher: PathRuleMatcher) => DryRunPathRule;
|
|
10
|
-
//# sourceMappingURL=dryRunAttribution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dryRunAttribution.d.ts","sourceRoot":"","sources":["../src/dryRunAttribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C,eAAO,MAAM,cAAc,WACjB,SAAS,GAAG,SAAS,iBACd,SAAS,MAAM,EAAE,gBAClB,SAAS,MAAM,EAAE,iBAChB,aAAa,WACnB,mBAAmB,uBACP,mBAAmB,mBACvB,eAAe,KAC/B,cAAc,EAMd,CAAC;AAEJ,eAAO,MAAM,uBAAuB,WAC1B,SAAS,GAAG,SAAS,QACvB,MAAM,iBACG,aAAa,mBACX,eAAe,WACvB,mBAAmB,uBACP,mBAAmB,KACvC,cAC6G,CAAC;AAEjH,eAAO,MAAM,uBAAuB,WAC1B,SAAS,GAAG,SAAS,QACvB,MAAM,iBACG,aAAa,WACnB,mBAAmB,uBACP,mBAAmB,mBACvB,eAAe,KAC/B,cAC6G,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.attributeRedactPathRule = exports.attributeDeletePathRule = exports.buildPathRules = exports.RuleResolver = void 0;
|
|
4
|
-
const ruleResolver_1 = require("./ruleResolver");
|
|
5
|
-
var ruleResolver_2 = require("./ruleResolver");
|
|
6
|
-
Object.defineProperty(exports, "RuleResolver", { enumerable: true, get: function () { return ruleResolver_2.RuleResolver; } });
|
|
7
|
-
const createResolver = (secretManager, pathRuleMatcher, valuePatternMatcher, manager) => new ruleResolver_1.RuleResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager);
|
|
8
|
-
const buildPathRules = (before, redactedPaths, deletedPaths, secretManager, manager, valuePatternMatcher, pathRuleMatcher) => (0, ruleResolver_1.buildPathRules)(before, redactedPaths, deletedPaths, createResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager));
|
|
9
|
-
exports.buildPathRules = buildPathRules;
|
|
10
|
-
const attributeDeletePathRule = (before, path, secretManager, pathRuleMatcher, manager, valuePatternMatcher) => createResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager).attributeDeletePath(before, path);
|
|
11
|
-
exports.attributeDeletePathRule = attributeDeletePathRule;
|
|
12
|
-
const attributeRedactPathRule = (before, path, secretManager, manager, valuePatternMatcher, pathRuleMatcher) => createResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager).attributeRedactPath(before, path);
|
|
13
|
-
exports.attributeRedactPathRule = attributeRedactPathRule;
|
|
14
|
-
//# sourceMappingURL=dryRunAttribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dryRunAttribution.js","sourceRoot":"","sources":["../src/dryRunAttribution.ts"],"names":[],"mappings":";;;AAEA,iDAA4F;AAK5F,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,MAAM,cAAc,GAAG,CACrB,aAA4B,EAC5B,eAAgC,EAChC,mBAAwC,EACxC,OAA4B,EACd,EAAE,CAAC,IAAI,2BAAY,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;AAE3F,MAAM,cAAc,GAAG,CAC5B,MAA6B,EAC7B,aAAgC,EAChC,YAA+B,EAC/B,aAA4B,EAC5B,OAA4B,EAC5B,mBAAwC,EACxC,eAAgC,EACd,EAAE,CACpB,IAAA,6BAA0B,EACxB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,cAAc,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAC7E,CAAC;AAdS,QAAA,cAAc,kBAcvB;AAEG,MAAM,uBAAuB,GAAG,CACrC,MAA6B,EAC7B,IAAY,EACZ,aAA4B,EAC5B,eAAgC,EAChC,OAA4B,EAC5B,mBAAwC,EACxB,EAAE,CAClB,cAAc,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AARpG,QAAA,uBAAuB,2BAQ6E;AAE1G,MAAM,uBAAuB,GAAG,CACrC,MAA6B,EAC7B,IAAY,EACZ,aAA4B,EAC5B,OAA4B,EAC5B,mBAAwC,EACxC,eAAgC,EAChB,EAAE,CAClB,cAAc,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AARpG,QAAA,uBAAuB,2BAQ6E"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { CustomObjectManager } from '../rules/customObjectManager';
|
|
2
|
-
import { PathRuleMatcher } from '../rules/pathRuleMatcher';
|
|
3
|
-
import { SecretManager } from '../rules/secretManager';
|
|
4
|
-
import { ValuePatternMatcher } from '../rules/valuePatternMatcher';
|
|
5
|
-
import { DryRunPathRule, JsonValue } from '../types';
|
|
6
|
-
export { RuleResolver } from '../rules/ruleResolver';
|
|
7
|
-
export declare const buildPathRules: (before: JsonValue | undefined, redactedPaths: readonly string[], deletedPaths: readonly string[], secretManager: SecretManager, manager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher, pathRuleMatcher: PathRuleMatcher) => DryRunPathRule[];
|
|
8
|
-
export declare const attributeDeletePathRule: (before: JsonValue | undefined, path: string, secretManager: SecretManager, pathRuleMatcher: PathRuleMatcher, manager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher) => DryRunPathRule;
|
|
9
|
-
export declare const attributeRedactPathRule: (before: JsonValue | undefined, path: string, secretManager: SecretManager, manager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher, pathRuleMatcher: PathRuleMatcher) => DryRunPathRule;
|
|
10
|
-
//# sourceMappingURL=dryRunAttribution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dryRunAttribution.d.ts","sourceRoot":"","sources":["../../src/dryrun/dryRunAttribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AASrD,eAAO,MAAM,cAAc,WACjB,SAAS,GAAG,SAAS,iBACd,SAAS,MAAM,EAAE,gBAClB,SAAS,MAAM,EAAE,iBAChB,aAAa,WACnB,mBAAmB,uBACP,mBAAmB,mBACvB,eAAe,KAC/B,cAAc,EAMd,CAAC;AAEJ,eAAO,MAAM,uBAAuB,WAC1B,SAAS,GAAG,SAAS,QACvB,MAAM,iBACG,aAAa,mBACX,eAAe,WACvB,mBAAmB,uBACP,mBAAmB,KACvC,cAC6G,CAAC;AAEjH,eAAO,MAAM,uBAAuB,WAC1B,SAAS,GAAG,SAAS,QACvB,MAAM,iBACG,aAAa,WACnB,mBAAmB,uBACP,mBAAmB,mBACvB,eAAe,KAC/B,cAC6G,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.attributeRedactPathRule = exports.attributeDeletePathRule = exports.buildPathRules = exports.RuleResolver = void 0;
|
|
4
|
-
const ruleResolver_1 = require("../rules/ruleResolver");
|
|
5
|
-
var ruleResolver_2 = require("../rules/ruleResolver");
|
|
6
|
-
Object.defineProperty(exports, "RuleResolver", { enumerable: true, get: function () { return ruleResolver_2.RuleResolver; } });
|
|
7
|
-
const createResolver = (secretManager, pathRuleMatcher, valuePatternMatcher, manager) => new ruleResolver_1.RuleResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager);
|
|
8
|
-
const buildPathRules = (before, redactedPaths, deletedPaths, secretManager, manager, valuePatternMatcher, pathRuleMatcher) => (0, ruleResolver_1.buildPathRules)(before, redactedPaths, deletedPaths, createResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager));
|
|
9
|
-
exports.buildPathRules = buildPathRules;
|
|
10
|
-
const attributeDeletePathRule = (before, path, secretManager, pathRuleMatcher, manager, valuePatternMatcher) => createResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager).attributeDeletePath(before, path);
|
|
11
|
-
exports.attributeDeletePathRule = attributeDeletePathRule;
|
|
12
|
-
const attributeRedactPathRule = (before, path, secretManager, manager, valuePatternMatcher, pathRuleMatcher) => createResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager).attributeRedactPath(before, path);
|
|
13
|
-
exports.attributeRedactPathRule = attributeRedactPathRule;
|
|
14
|
-
//# sourceMappingURL=dryRunAttribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dryRunAttribution.js","sourceRoot":"","sources":["../../src/dryrun/dryRunAttribution.ts"],"names":[],"mappings":";;;AAEA,wDAAmG;AAKnG,sDAAqD;AAA5C,4GAAA,YAAY,OAAA;AAErB,MAAM,cAAc,GAAG,CACrB,aAA4B,EAC5B,eAAgC,EAChC,mBAAwC,EACxC,OAA4B,EACd,EAAE,CAAC,IAAI,2BAAY,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;AAE3F,MAAM,cAAc,GAAG,CAC5B,MAA6B,EAC7B,aAAgC,EAChC,YAA+B,EAC/B,aAA4B,EAC5B,OAA4B,EAC5B,mBAAwC,EACxC,eAAgC,EACd,EAAE,CACpB,IAAA,6BAA0B,EACxB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,cAAc,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAC7E,CAAC;AAdS,QAAA,cAAc,kBAcvB;AAEG,MAAM,uBAAuB,GAAG,CACrC,MAA6B,EAC7B,IAAY,EACZ,aAA4B,EAC5B,eAAgC,EAChC,OAA4B,EAC5B,mBAAwC,EACxB,EAAE,CAClB,cAAc,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AARpG,QAAA,uBAAuB,2BAQ6E;AAE1G,MAAM,uBAAuB,GAAG,CACrC,MAA6B,EAC7B,IAAY,EACZ,aAA4B,EAC5B,OAA4B,EAC5B,mBAAwC,EACxC,eAAgC,EAChB,EAAE,CAClB,cAAc,CAAC,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AARpG,QAAA,uBAAuB,2BAQ6E"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { TraversableJson } from '../types';
|
|
2
|
-
import { CustomObjectManager } from '../rules/customObjectManager';
|
|
3
|
-
import { PrimitiveRedactor } from './primitiveRedactor';
|
|
4
|
-
import { SecretManager } from '../rules/secretManager';
|
|
5
|
-
import { ValuePatternMatcher } from '../rules/valuePatternMatcher';
|
|
6
|
-
import { PathRuleMatcher } from '../rules/pathRuleMatcher';
|
|
7
|
-
/**
|
|
8
|
-
* Redacts fields in a JSON object using the secretManager, primitiveRedactor, and CustomObjectManager provided in the
|
|
9
|
-
* constructor. CustomObjects take highest precedence, followed by opaque (`fullSecretKeys`), then deep, then shallow.
|
|
10
|
-
*/
|
|
11
|
-
export declare class ObjectRedactor {
|
|
12
|
-
private readonly traversal;
|
|
13
|
-
constructor(primitiveRedactor: PrimitiveRedactor, secretManager: SecretManager, customObjManager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher, pathRuleMatcher: PathRuleMatcher);
|
|
14
|
-
redactInPlace<T extends TraversableJson>(value: T): Promise<T>;
|
|
15
|
-
redactInPlaceSync<T extends TraversableJson>(value: T): T;
|
|
16
|
-
redactCopyOnWrite<T extends TraversableJson>(value: T): T;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=objectRedactor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactor.d.ts","sourceRoot":"","sources":["../../src/engine/objectRedactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;gBAGlD,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,mBAAmB,EACrC,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe;IAWrB,aAAa,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQpE,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAIzD,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;CAGjE"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ObjectRedactor = void 0;
|
|
13
|
-
const objectRedactorTraversal_1 = require("./objectRedactorTraversal");
|
|
14
|
-
/**
|
|
15
|
-
* Redacts fields in a JSON object using the secretManager, primitiveRedactor, and CustomObjectManager provided in the
|
|
16
|
-
* constructor. CustomObjects take highest precedence, followed by opaque (`fullSecretKeys`), then deep, then shallow.
|
|
17
|
-
*/
|
|
18
|
-
class ObjectRedactor {
|
|
19
|
-
constructor(primitiveRedactor, secretManager, customObjManager, valuePatternMatcher, pathRuleMatcher) {
|
|
20
|
-
this.traversal = new objectRedactorTraversal_1.ObjectRedactorTraversal(primitiveRedactor, secretManager, customObjManager, valuePatternMatcher, pathRuleMatcher);
|
|
21
|
-
}
|
|
22
|
-
redactInPlace(value) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
if (!this.traversal.usesAsyncRedactor()) {
|
|
25
|
-
return Promise.resolve(this.redactInPlaceSync(value));
|
|
26
|
-
}
|
|
27
|
-
return this.traversal.redactInPlaceAsync(value);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
redactInPlaceSync(value) {
|
|
31
|
-
return this.traversal.redactInPlace(value);
|
|
32
|
-
}
|
|
33
|
-
redactCopyOnWrite(value) {
|
|
34
|
-
return this.traversal.redactCopyOnWrite(value);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.ObjectRedactor = ObjectRedactor;
|
|
38
|
-
//# sourceMappingURL=objectRedactor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactor.js","sourceRoot":"","sources":["../../src/engine/objectRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,uEAAoE;AAEpE;;;GAGG;AACH,MAAa,cAAc;IAGzB,YACE,iBAAoC,EACpC,aAA4B,EAC5B,gBAAqC,EACrC,mBAAwC,EACxC,eAAgC;QAEhC,IAAI,CAAC,SAAS,GAAG,IAAI,iDAAuB,CAC1C,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEY,aAAa,CAA4B,KAAQ;;YAC5D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACxC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;KAAA;IAEM,iBAAiB,CAA4B,KAAQ;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEM,iBAAiB,CAA4B,KAAQ;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CACF;AAlCD,wCAkCC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactorSync.d.ts","sourceRoot":"","sources":["../../src/engine/objectRedactorSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ObjectRedactorSyncTraversal = exports.ObjectRedactorTraversal = void 0;
|
|
4
|
-
var objectRedactorTraversal_1 = require("./objectRedactorTraversal");
|
|
5
|
-
Object.defineProperty(exports, "ObjectRedactorTraversal", { enumerable: true, get: function () { return objectRedactorTraversal_1.ObjectRedactorTraversal; } });
|
|
6
|
-
Object.defineProperty(exports, "ObjectRedactorSyncTraversal", { enumerable: true, get: function () { return objectRedactorTraversal_1.ObjectRedactorTraversal; } });
|
|
7
|
-
//# sourceMappingURL=objectRedactorSync.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactorSync.js","sourceRoot":"","sources":["../../src/engine/objectRedactorSync.ts"],"names":[],"mappings":";;;AAAA,qEAA4H;AAAnH,kIAAA,uBAAuB,OAAA;AAAE,sIAAA,uBAAuB,OAA+B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldDisposition.d.ts","sourceRoot":"","sources":["../src/fieldDisposition.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,sBAAsB,IAAI,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/fieldDisposition.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveFieldDisposition = void 0;
|
|
4
|
-
var ruleResolver_1 = require("./ruleResolver");
|
|
5
|
-
Object.defineProperty(exports, "resolveFieldDisposition", { enumerable: true, get: function () { return ruleResolver_1.resolvePathDisposition; } });
|
|
6
|
-
//# sourceMappingURL=fieldDisposition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldDisposition.js","sourceRoot":"","sources":["../src/fieldDisposition.ts"],"names":[],"mappings":";;;AACA,+CAAmF;AAA1E,uHAAA,sBAAsB,OAA2B"}
|
package/dist/fieldRedactor.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { DryRunResult, FieldRedactorConfig, RedactableInput } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* FieldRedactor is a highly customizable JSON object field redactor. It conditionally redacts fields based on
|
|
4
|
-
* the secrets, deepSecrets, fullSecrets, and custom objects provided in the configuration. Refer to the README.md
|
|
5
|
-
* for more details.
|
|
6
|
-
*
|
|
7
|
-
* Defaults: `ignoreNullOrUndefined` is `true`, `ignoreBooleans` is `false`, `cloneInput` is `true`.
|
|
8
|
-
*/
|
|
9
|
-
export declare class FieldRedactor {
|
|
10
|
-
private readonly deepCopy;
|
|
11
|
-
private readonly deps;
|
|
12
|
-
/** Non-fatal configuration warnings from the last construction (empty when `strict` threw). */
|
|
13
|
-
readonly configWarnings: readonly string[];
|
|
14
|
-
constructor(config?: FieldRedactorConfig);
|
|
15
|
-
/**
|
|
16
|
-
* Creates a FieldRedactor that requires at least one explicit redaction rule: Shallow (`secretKeys`),
|
|
17
|
-
* Deep (`deepSecretKeys`), Opaque (`fullSecretKeys`), Remove (`deleteSecretKeys`), Schema (`customObjects`),
|
|
18
|
-
* or Value-pattern (`valuePatterns`).
|
|
19
|
-
* Unlike `new FieldRedactor()`, omitting all rules does not default to redacting every value.
|
|
20
|
-
*/
|
|
21
|
-
static createSafe(config: FieldRedactorConfig): FieldRedactor;
|
|
22
|
-
/** Redacts a copy of the input and returns an audit report of affected paths without mutating the original. */
|
|
23
|
-
dryRun<T extends RedactableInput>(value: T): Promise<DryRunResult<T>>;
|
|
24
|
-
/** Synchronous {@link FieldRedactor.dryRun} without per-field Promise overhead. */
|
|
25
|
-
dryRunSync<T extends RedactableInput>(value: T): DryRunResult<T>;
|
|
26
|
-
private runDryRun;
|
|
27
|
-
private emptyDryRunResult;
|
|
28
|
-
private toDryRunResult;
|
|
29
|
-
/**
|
|
30
|
-
* Conditionally redacts fields in the JSON object based on the configuration provided in the constructor and returns the
|
|
31
|
-
* redacted result.
|
|
32
|
-
* If the value is a primitive, undefined, or date, returns the value as-is.
|
|
33
|
-
*/
|
|
34
|
-
redact<T extends RedactableInput>(value: T): Promise<T>;
|
|
35
|
-
/**
|
|
36
|
-
* Synchronously redacts fields and returns a copy without per-field Promise overhead.
|
|
37
|
-
* Uses copy-on-write structural sharing by default so only mutated branches are cloned.
|
|
38
|
-
*/
|
|
39
|
-
redactSync<T extends RedactableInput>(value: T): T;
|
|
40
|
-
/** Conditionally redacts fields in the JSON object in place based on the configuration provided in the constructor. */
|
|
41
|
-
redactInPlace<T extends RedactableInput>(value: T): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Synchronously redacts fields in the JSON object in place without per-field Promise overhead.
|
|
44
|
-
* Requires a `syncRedactor` or the default redactor; throws when only an async `redactor` is configured.
|
|
45
|
-
*/
|
|
46
|
-
redactInPlaceSync<T extends RedactableInput>(value: T): void;
|
|
47
|
-
private runTraversableRedaction;
|
|
48
|
-
private toFieldRedactorError;
|
|
49
|
-
private isPrimitiveOrUndefined;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=fieldRedactor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactor.d.ts","sourceRoot":"","sources":["../src/fieldRedactor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,mBAAmB,EAInB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAKjB;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,+FAA+F;IAC/F,SAAgB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEtC,MAAM,CAAC,EAAE,mBAAmB;IASxC;;;;;OAKG;WACW,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa;IAUpE,+GAA+G;IAClG,MAAM,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAIlF,mFAAmF;IAC5E,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IASvE,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACU,MAAM,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmBpE;;;OAGG;IACI,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAazD,uHAAuH;IAC1G,aAAa,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E;;;OAGG;IACI,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAQnE,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,sBAAsB;CAG/B"}
|
package/dist/fieldRedactor.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.FieldRedactor = void 0;
|
|
16
|
-
const errors_1 = require("./errors");
|
|
17
|
-
const fieldRedactorDeps_1 = require("./fieldRedactorDeps");
|
|
18
|
-
const dryRun_1 = require("./dryRun");
|
|
19
|
-
const rfdc_1 = __importDefault(require("rfdc"));
|
|
20
|
-
const configValidator_1 = require("./configValidator");
|
|
21
|
-
/**
|
|
22
|
-
* FieldRedactor is a highly customizable JSON object field redactor. It conditionally redacts fields based on
|
|
23
|
-
* the secrets, deepSecrets, fullSecrets, and custom objects provided in the configuration. Refer to the README.md
|
|
24
|
-
* for more details.
|
|
25
|
-
*
|
|
26
|
-
* Defaults: `ignoreNullOrUndefined` is `true`, `ignoreBooleans` is `false`, `cloneInput` is `true`.
|
|
27
|
-
*/
|
|
28
|
-
class FieldRedactor {
|
|
29
|
-
constructor(config) {
|
|
30
|
-
var _a;
|
|
31
|
-
this.deepCopy = (0, rfdc_1.default)({ proto: true, circles: true });
|
|
32
|
-
this.configWarnings = (0, configValidator_1.validateFieldRedactorConfig)(config);
|
|
33
|
-
for (const warning of this.configWarnings) {
|
|
34
|
-
(_a = config === null || config === void 0 ? void 0 : config.onConfigWarning) === null || _a === void 0 ? void 0 : _a.call(config, warning);
|
|
35
|
-
}
|
|
36
|
-
this.deps = (0, fieldRedactorDeps_1.buildFieldRedactorDeps)(config);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Creates a FieldRedactor that requires at least one explicit redaction rule: Shallow (`secretKeys`),
|
|
40
|
-
* Deep (`deepSecretKeys`), Opaque (`fullSecretKeys`), Remove (`deleteSecretKeys`), Schema (`customObjects`),
|
|
41
|
-
* or Value-pattern (`valuePatterns`).
|
|
42
|
-
* Unlike `new FieldRedactor()`, omitting all rules does not default to redacting every value.
|
|
43
|
-
*/
|
|
44
|
-
static createSafe(config) {
|
|
45
|
-
if (!(0, configValidator_1.hasExplicitRedactionRules)(config)) {
|
|
46
|
-
throw new errors_1.FieldRedactorConfigurationError('FieldRedactor.createSafe() requires at least one non-empty secretKeys, deepSecretKeys, fullSecretKeys, deleteSecretKeys, customObjects, or valuePatterns entry. Without explicit rules, new FieldRedactor() redacts all values by default.');
|
|
47
|
-
}
|
|
48
|
-
return new FieldRedactor(config);
|
|
49
|
-
}
|
|
50
|
-
/** Redacts a copy of the input and returns an audit report of affected paths without mutating the original. */
|
|
51
|
-
dryRun(value) {
|
|
52
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
return this.runDryRun(value, (input) => this.redact(input));
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
/** Synchronous {@link FieldRedactor.dryRun} without per-field Promise overhead. */
|
|
57
|
-
dryRunSync(value) {
|
|
58
|
-
if (this.isPrimitiveOrUndefined(value)) {
|
|
59
|
-
return this.emptyDryRunResult(value);
|
|
60
|
-
}
|
|
61
|
-
const snapshot = this.deepCopy(value);
|
|
62
|
-
return this.toDryRunResult(snapshot, this.redactSync(value));
|
|
63
|
-
}
|
|
64
|
-
runDryRun(value, redact) {
|
|
65
|
-
if (this.isPrimitiveOrUndefined(value)) {
|
|
66
|
-
return this.emptyDryRunResult(value);
|
|
67
|
-
}
|
|
68
|
-
const snapshot = this.deepCopy(value);
|
|
69
|
-
const result = redact(value);
|
|
70
|
-
if (result instanceof Promise) {
|
|
71
|
-
return result.then((redacted) => this.toDryRunResult(snapshot, redacted));
|
|
72
|
-
}
|
|
73
|
-
return this.toDryRunResult(snapshot, result);
|
|
74
|
-
}
|
|
75
|
-
emptyDryRunResult(value) {
|
|
76
|
-
return { result: value, report: dryRun_1.EMPTY_DRY_RUN_REPORT };
|
|
77
|
-
}
|
|
78
|
-
toDryRunResult(snapshot, result) {
|
|
79
|
-
return {
|
|
80
|
-
result,
|
|
81
|
-
report: (0, dryRun_1.buildDryRunReport)(snapshot, result, this.deps.customObjectManager, this.deps.secretManager, this.deps.valuePatternMatcher, this.deps.pathRuleMatcher)
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Conditionally redacts fields in the JSON object based on the configuration provided in the constructor and returns the
|
|
86
|
-
* redacted result.
|
|
87
|
-
* If the value is a primitive, undefined, or date, returns the value as-is.
|
|
88
|
-
*/
|
|
89
|
-
redact(value) {
|
|
90
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
if (this.isPrimitiveOrUndefined(value)) {
|
|
92
|
-
return value;
|
|
93
|
-
}
|
|
94
|
-
if (!this.deps.cloneInput) {
|
|
95
|
-
yield this.redactInPlace(value);
|
|
96
|
-
return value;
|
|
97
|
-
}
|
|
98
|
-
if (!this.deps.usesAsyncRedactor) {
|
|
99
|
-
return Promise.resolve(this.redactSync(value));
|
|
100
|
-
}
|
|
101
|
-
const copy = this.deepCopy(value);
|
|
102
|
-
yield this.redactInPlace(copy);
|
|
103
|
-
return copy;
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Synchronously redacts fields and returns a copy without per-field Promise overhead.
|
|
108
|
-
* Uses copy-on-write structural sharing by default so only mutated branches are cloned.
|
|
109
|
-
*/
|
|
110
|
-
redactSync(value) {
|
|
111
|
-
if (this.isPrimitiveOrUndefined(value)) {
|
|
112
|
-
return value;
|
|
113
|
-
}
|
|
114
|
-
if (!this.deps.cloneInput) {
|
|
115
|
-
this.redactInPlaceSync(value);
|
|
116
|
-
return value;
|
|
117
|
-
}
|
|
118
|
-
return this.deps.objectRedactor.redactCopyOnWrite(value);
|
|
119
|
-
}
|
|
120
|
-
/** Conditionally redacts fields in the JSON object in place based on the configuration provided in the constructor. */
|
|
121
|
-
redactInPlace(value) {
|
|
122
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
if (!this.deps.usesAsyncRedactor) {
|
|
124
|
-
this.redactInPlaceSync(value);
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
yield this.runTraversableRedaction(value, () => this.deps.objectRedactor.redactInPlace(value));
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Synchronously redacts fields in the JSON object in place without per-field Promise overhead.
|
|
132
|
-
* Requires a `syncRedactor` or the default redactor; throws when only an async `redactor` is configured.
|
|
133
|
-
*/
|
|
134
|
-
redactInPlaceSync(value) {
|
|
135
|
-
if (this.deps.usesAsyncRedactor) {
|
|
136
|
-
throw new errors_1.FieldRedactorError('redactInPlaceSync requires syncRedactor configuration or the default redactor');
|
|
137
|
-
}
|
|
138
|
-
this.runTraversableRedaction(value, () => this.deps.objectRedactor.redactInPlaceSync(value));
|
|
139
|
-
}
|
|
140
|
-
runTraversableRedaction(value, redact) {
|
|
141
|
-
if (this.isPrimitiveOrUndefined(value)) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
try {
|
|
145
|
-
const result = redact();
|
|
146
|
-
if (result instanceof Promise) {
|
|
147
|
-
return result.catch((error) => {
|
|
148
|
-
throw this.toFieldRedactorError(error);
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
catch (error) {
|
|
153
|
-
throw this.toFieldRedactorError(error);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
toFieldRedactorError(error) {
|
|
157
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
158
|
-
return new errors_1.FieldRedactorError(message);
|
|
159
|
-
}
|
|
160
|
-
isPrimitiveOrUndefined(value) {
|
|
161
|
-
return !value || typeof value !== 'object' || value instanceof Date;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
exports.FieldRedactor = FieldRedactor;
|
|
165
|
-
//# sourceMappingURL=fieldRedactor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactor.js","sourceRoot":"","sources":["../src/fieldRedactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { FieldRedactor } from './fieldRedactor';
|
|
2
|
-
import { CustomObject, FieldRedactorConfig, PathRuleMode, Redactor, SyncRedactor } from './types';
|
|
3
|
-
export type SchemaOptions = {
|
|
4
|
-
/** Optional label surfaced in {@link FieldRedactor.dryRun} `matchedSchemas` reports. */
|
|
5
|
-
name?: string;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Fluent builder for {@link FieldRedactorConfig} using doc labels (Shallow, Deep, Opaque, Remove, Schema).
|
|
9
|
-
*/
|
|
10
|
-
export declare class FieldRedactorConfigBuilder {
|
|
11
|
-
private config;
|
|
12
|
-
private schemas;
|
|
13
|
-
static create(): FieldRedactorConfigBuilder;
|
|
14
|
-
/** Shallow — redact matching keys' scalar values (`secretKeys`). */
|
|
15
|
-
shallow(...patterns: RegExp[]): this;
|
|
16
|
-
/** Deep — redact matching keys and descendants (`deepSecretKeys`). */
|
|
17
|
-
deep(...patterns: RegExp[]): this;
|
|
18
|
-
/** Opaque — stringify entire values at matching keys (`fullSecretKeys`). */
|
|
19
|
-
opaque(...patterns: RegExp[]): this;
|
|
20
|
-
/** Remove — delete matching keys from output (`deleteSecretKeys`). */
|
|
21
|
-
remove(...patterns: RegExp[]): this;
|
|
22
|
-
/** Alias for {@link FieldRedactorConfigBuilder.remove}. */
|
|
23
|
-
delete(...patterns: RegExp[]): this;
|
|
24
|
-
/** Register an object schema (`customObjects`). */
|
|
25
|
-
schema(customObject: CustomObject, options?: SchemaOptions): this;
|
|
26
|
-
/**
|
|
27
|
-
* Value-pattern — redact scalar fields whose string form matches a pattern, regardless of key name (`valuePatterns`).
|
|
28
|
-
* Lowest precedence; opt-in defense in depth beyond key-name rules.
|
|
29
|
-
*/
|
|
30
|
-
valuePattern(...patterns: RegExp[]): this;
|
|
31
|
-
/**
|
|
32
|
-
* Path rule — apply a redaction mode at a JSON path (`metadata.*.value`, `accountInfo.id`).
|
|
33
|
-
*/
|
|
34
|
-
pathRule(path: string, mode: PathRuleMode): this;
|
|
35
|
-
/** Allowlist — matching key names are never redacted under deep parents (`passKeys`). */
|
|
36
|
-
passKey(...patterns: RegExp[]): this;
|
|
37
|
-
/**
|
|
38
|
-
* Merge a {@link presets} return value (or any partial config) into the builder.
|
|
39
|
-
* Regex arrays and schemas accumulate; scalar options apply only when not already set.
|
|
40
|
-
*/
|
|
41
|
-
usePreset(preset: Partial<FieldRedactorConfig>): this;
|
|
42
|
-
redactor(fn: Redactor): this;
|
|
43
|
-
syncRedactor(fn: SyncRedactor): this;
|
|
44
|
-
ignoreBooleans(value: boolean): this;
|
|
45
|
-
ignoreNullOrUndefined(value: boolean): this;
|
|
46
|
-
cloneInput(value: boolean): this;
|
|
47
|
-
strict(value?: boolean): this;
|
|
48
|
-
onConfigWarning(handler: (message: string) => void): this;
|
|
49
|
-
build(): FieldRedactorConfig;
|
|
50
|
-
buildRedactor(): FieldRedactor;
|
|
51
|
-
buildSafeRedactor(): FieldRedactor;
|
|
52
|
-
private appendRegex;
|
|
53
|
-
private set;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=fieldRedactorConfigBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactorConfigBuilder.d.ts","sourceRoot":"","sources":["../src/fieldRedactorConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElG,MAAM,MAAM,aAAa,GAAG;IAC1B,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAA0B;IAEzC,MAAM,CAAC,MAAM,IAAI,0BAA0B;IAI3C,oEAAoE;IACpE,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpC,sEAAsE;IACtE,IAAI,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIjC,4EAA4E;IAC5E,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,sEAAsE;IACtE,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,2DAA2D;IAC3D,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,mDAAmD;IACnD,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAKjE;;;OAGG;IACH,YAAY,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IAKhD,yFAAyF;IACzF,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKpC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAKrD,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI;IAI5B,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAIpC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIpC,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI3C,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIhC,MAAM,CAAC,KAAK,UAAO,GAAG,IAAI;IAI1B,eAAe,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIzD,KAAK,IAAI,mBAAmB;IAI5B,aAAa,IAAI,aAAa;IAI9B,iBAAiB,IAAI,aAAa;IAIlC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,GAAG;CAIZ"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FieldRedactorConfigBuilder = void 0;
|
|
4
|
-
const fieldRedactor_1 = require("./fieldRedactor");
|
|
5
|
-
const redactionRules_1 = require("./redactionRules");
|
|
6
|
-
/**
|
|
7
|
-
* Fluent builder for {@link FieldRedactorConfig} using doc labels (Shallow, Deep, Opaque, Remove, Schema).
|
|
8
|
-
*/
|
|
9
|
-
class FieldRedactorConfigBuilder {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.config = {};
|
|
12
|
-
this.schemas = [];
|
|
13
|
-
}
|
|
14
|
-
static create() {
|
|
15
|
-
return new FieldRedactorConfigBuilder();
|
|
16
|
-
}
|
|
17
|
-
/** Shallow — redact matching keys' scalar values (`secretKeys`). */
|
|
18
|
-
shallow(...patterns) {
|
|
19
|
-
return this.appendRegex('secretKeys', patterns);
|
|
20
|
-
}
|
|
21
|
-
/** Deep — redact matching keys and descendants (`deepSecretKeys`). */
|
|
22
|
-
deep(...patterns) {
|
|
23
|
-
return this.appendRegex('deepSecretKeys', patterns);
|
|
24
|
-
}
|
|
25
|
-
/** Opaque — stringify entire values at matching keys (`fullSecretKeys`). */
|
|
26
|
-
opaque(...patterns) {
|
|
27
|
-
return this.appendRegex('fullSecretKeys', patterns);
|
|
28
|
-
}
|
|
29
|
-
/** Remove — delete matching keys from output (`deleteSecretKeys`). */
|
|
30
|
-
remove(...patterns) {
|
|
31
|
-
return this.appendRegex('deleteSecretKeys', patterns);
|
|
32
|
-
}
|
|
33
|
-
/** Alias for {@link FieldRedactorConfigBuilder.remove}. */
|
|
34
|
-
delete(...patterns) {
|
|
35
|
-
return this.remove(...patterns);
|
|
36
|
-
}
|
|
37
|
-
/** Register an object schema (`customObjects`). */
|
|
38
|
-
schema(customObject, options) {
|
|
39
|
-
this.schemas.push({ object: customObject, name: options === null || options === void 0 ? void 0 : options.name });
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Value-pattern — redact scalar fields whose string form matches a pattern, regardless of key name (`valuePatterns`).
|
|
44
|
-
* Lowest precedence; opt-in defense in depth beyond key-name rules.
|
|
45
|
-
*/
|
|
46
|
-
valuePattern(...patterns) {
|
|
47
|
-
(0, redactionRules_1.appendRegExpArray)(this.config, 'valuePatterns', patterns);
|
|
48
|
-
return this;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Path rule — apply a redaction mode at a JSON path (`metadata.*.value`, `accountInfo.id`).
|
|
52
|
-
*/
|
|
53
|
-
pathRule(path, mode) {
|
|
54
|
-
var _a;
|
|
55
|
-
this.config.pathRules = [...((_a = this.config.pathRules) !== null && _a !== void 0 ? _a : []), { path, mode }];
|
|
56
|
-
return this;
|
|
57
|
-
}
|
|
58
|
-
/** Allowlist — matching key names are never redacted under deep parents (`passKeys`). */
|
|
59
|
-
passKey(...patterns) {
|
|
60
|
-
(0, redactionRules_1.appendRegExpArray)(this.config, 'passKeys', patterns);
|
|
61
|
-
return this;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Merge a {@link presets} return value (or any partial config) into the builder.
|
|
65
|
-
* Regex arrays and schemas accumulate; scalar options apply only when not already set.
|
|
66
|
-
*/
|
|
67
|
-
usePreset(preset) {
|
|
68
|
-
(0, redactionRules_1.mergePartialConfig)(this.config, this.schemas, preset);
|
|
69
|
-
return this;
|
|
70
|
-
}
|
|
71
|
-
redactor(fn) {
|
|
72
|
-
return this.set('redactor', fn);
|
|
73
|
-
}
|
|
74
|
-
syncRedactor(fn) {
|
|
75
|
-
return this.set('syncRedactor', fn);
|
|
76
|
-
}
|
|
77
|
-
ignoreBooleans(value) {
|
|
78
|
-
return this.set('ignoreBooleans', value);
|
|
79
|
-
}
|
|
80
|
-
ignoreNullOrUndefined(value) {
|
|
81
|
-
return this.set('ignoreNullOrUndefined', value);
|
|
82
|
-
}
|
|
83
|
-
cloneInput(value) {
|
|
84
|
-
return this.set('cloneInput', value);
|
|
85
|
-
}
|
|
86
|
-
strict(value = true) {
|
|
87
|
-
return this.set('strict', value);
|
|
88
|
-
}
|
|
89
|
-
onConfigWarning(handler) {
|
|
90
|
-
return this.set('onConfigWarning', handler);
|
|
91
|
-
}
|
|
92
|
-
build() {
|
|
93
|
-
return Object.assign(Object.assign({}, this.config), (0, redactionRules_1.finalizeRegisteredSchemas)(this.schemas));
|
|
94
|
-
}
|
|
95
|
-
buildRedactor() {
|
|
96
|
-
return new fieldRedactor_1.FieldRedactor(this.build());
|
|
97
|
-
}
|
|
98
|
-
buildSafeRedactor() {
|
|
99
|
-
return fieldRedactor_1.FieldRedactor.createSafe(this.build());
|
|
100
|
-
}
|
|
101
|
-
appendRegex(field, patterns) {
|
|
102
|
-
(0, redactionRules_1.appendRegExpArray)(this.config, field, patterns);
|
|
103
|
-
return this;
|
|
104
|
-
}
|
|
105
|
-
set(key, value) {
|
|
106
|
-
this.config[key] = value;
|
|
107
|
-
return this;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
exports.FieldRedactorConfigBuilder = FieldRedactorConfigBuilder;
|
|
111
|
-
//# sourceMappingURL=fieldRedactorConfigBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactorConfigBuilder.js","sourceRoot":"","sources":["../src/fieldRedactorConfigBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { CustomObjectManager } from './customObjectManager';
|
|
2
|
-
import { ObjectRedactor } from './objectRedactor';
|
|
3
|
-
import { PrimitiveRedactor } from './primitiveRedactor';
|
|
4
|
-
import { SecretManager } from './secretManager';
|
|
5
|
-
import { FieldRedactorConfig } from './types';
|
|
6
|
-
import { PathRuleMatcher } from './pathRuleMatcher';
|
|
7
|
-
import { ValuePatternMatcher } from './valuePatternMatcher';
|
|
8
|
-
export type FieldRedactorDeps = {
|
|
9
|
-
primitiveRedactor: PrimitiveRedactor;
|
|
10
|
-
secretManager: SecretManager;
|
|
11
|
-
valuePatternMatcher: ValuePatternMatcher;
|
|
12
|
-
pathRuleMatcher: PathRuleMatcher;
|
|
13
|
-
customObjectManager: CustomObjectManager;
|
|
14
|
-
objectRedactor: ObjectRedactor;
|
|
15
|
-
usesAsyncRedactor: boolean;
|
|
16
|
-
cloneInput: boolean;
|
|
17
|
-
};
|
|
18
|
-
export declare const buildFieldRedactorDeps: (config?: FieldRedactorConfig) => FieldRedactorDeps;
|
|
19
|
-
//# sourceMappingURL=fieldRedactorDeps.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactorDeps.d.ts","sourceRoot":"","sources":["../src/fieldRedactorDeps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAA2B,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAA+B,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAKF,eAAO,MAAM,sBAAsB,YAAa,mBAAmB,KAAG,iBAgDrE,CAAC"}
|