field-redactor 1.6.0 → 1.6.1
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/CHANGELOG.md +18 -0
- package/dist/api/fieldRedactor.d.ts +0 -2
- package/dist/api/fieldRedactor.d.ts.map +1 -1
- package/dist/api/fieldRedactor.js +0 -4
- package/dist/api/fieldRedactor.js.map +1 -1
- package/dist/config/redactionRules.d.ts +3 -2
- package/dist/config/redactionRules.d.ts.map +1 -1
- package/dist/config/redactionRules.js +5 -6
- package/dist/config/redactionRules.js.map +1 -1
- package/dist/dryrun/dryRun.d.ts.map +1 -1
- package/dist/dryrun/dryRun.js +2 -2
- package/dist/dryrun/dryRun.js.map +1 -1
- package/dist/engine/arrayRedaction.js +1 -1
- package/dist/engine/arrayRedaction.js.map +1 -1
- package/dist/engine/customObjectFieldHandler.d.ts +4 -9
- package/dist/engine/customObjectFieldHandler.d.ts.map +1 -1
- package/dist/engine/customObjectFieldHandler.js +90 -108
- package/dist/engine/customObjectFieldHandler.js.map +1 -1
- package/dist/engine/objectRedactorCustomObject.d.ts +8 -23
- package/dist/engine/objectRedactorCustomObject.d.ts.map +1 -1
- package/dist/engine/objectRedactorCustomObject.js +8 -40
- package/dist/engine/objectRedactorCustomObject.js.map +1 -1
- package/dist/engine/objectRedactorHelpers.d.ts +3 -4
- package/dist/engine/objectRedactorHelpers.d.ts.map +1 -1
- package/dist/engine/objectRedactorHelpers.js +10 -36
- package/dist/engine/objectRedactorHelpers.js.map +1 -1
- package/dist/engine/objectRedactorTraversal.js +1 -1
- package/dist/engine/objectRedactorTraversal.js.map +1 -1
- package/dist/rules/ruleResolver.d.ts +3 -5
- package/dist/rules/ruleResolver.d.ts.map +1 -1
- package/dist/rules/ruleResolver.js +15 -21
- package/dist/rules/ruleResolver.js.map +1 -1
- package/dist/rules/schemaSiblingKey.d.ts +4 -0
- package/dist/rules/schemaSiblingKey.d.ts.map +1 -0
- package/dist/rules/schemaSiblingKey.js +19 -0
- package/dist/rules/schemaSiblingKey.js.map +1 -0
- package/dist/rules/secretManager.d.ts +1 -2
- package/dist/rules/secretManager.d.ts.map +1 -1
- package/dist/util/maybeAsync.d.ts +0 -1
- package/dist/util/maybeAsync.d.ts.map +1 -1
- package/dist/util/maybeAsync.js +1 -3
- package/dist/util/maybeAsync.js.map +1 -1
- package/dist/util/primitiveCoercion.d.ts +4 -0
- package/dist/util/primitiveCoercion.d.ts.map +1 -0
- package/dist/util/primitiveCoercion.js +21 -0
- package/dist/util/primitiveCoercion.js.map +1 -0
- package/docs/guides/migration-1.5-to-1.6.md +5 -4
- package/docs/release-notes/README.md +2 -1
- package/docs/release-notes/v1.6.1.md +24 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,23 @@ All notable changes to this project are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.6.1] - 2026-07-22
|
|
9
|
+
|
|
10
|
+
Internal simplification and layering cleanup with no intended public API changes for typical consumers. See [docs/release-notes/v1.6.1.md](docs/release-notes/v1.6.1.md).
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Unified custom-object field handling into a single `handleField` path and one match-type dispatcher.
|
|
15
|
+
- Sibling-key and primitive coercion helpers moved out of the engine layer (`schemaSiblingKey`, `primitiveCoercion`) so rules no longer import engine.
|
|
16
|
+
- Config construction normalizes aliases once; `resolveSecretKeys` assumes already-normalized input.
|
|
17
|
+
- Path-rule disposition uses a mode map; identical force-deep helpers merged into `forceDeepForKey`.
|
|
18
|
+
- Dry-run attribution builds `RuleResolver` directly (removed unused attribution shim).
|
|
19
|
+
|
|
20
|
+
### Removed
|
|
21
|
+
|
|
22
|
+
- Dead internal re-exports (`fieldDisposition`, unused dry-run attribution wrappers, `awaitMaybe`).
|
|
23
|
+
- Unused public convenience alias `FieldRedactor.fromConfig()` (equivalent to `new FieldRedactor(config)`).
|
|
24
|
+
|
|
8
25
|
## [1.6.0] - 2026-07-21
|
|
9
26
|
|
|
10
27
|
Path rules, pass-key allowlists, Opaque/Remove naming aliases, and architecture cleanup. See [docs/release-notes/v1.6.0.md](docs/release-notes/v1.6.0.md) and [docs/guides/migration-1.5-to-1.6.md](docs/guides/migration-1.5-to-1.6.md).
|
|
@@ -166,6 +183,7 @@ Development tags `2.0.0`–`2.3.1` track incremental work toward `1.3.0`. See [d
|
|
|
166
183
|
|
|
167
184
|
- Initial public release: regex key rules, custom object schemas with sibling-key indirection, async `redact()` / `redactInPlace()`, and configurable redactor functions.
|
|
168
185
|
|
|
186
|
+
[1.6.1]: https://github.com/mologna/field-redactor/compare/v1.6.0...v1.6.1
|
|
169
187
|
[1.6.0]: https://github.com/mologna/field-redactor/compare/v1.5.0...v1.6.0
|
|
170
188
|
[1.5.0]: https://github.com/mologna/field-redactor/releases/tag/v1.5.0
|
|
171
189
|
[2.5.1]: https://github.com/mologna/field-redactor/compare/2.5.0...2.5.1
|
|
@@ -19,8 +19,6 @@ export declare class FieldRedactor {
|
|
|
19
19
|
* Unlike `new FieldRedactor()`, omitting all rules does not default to redacting every value.
|
|
20
20
|
*/
|
|
21
21
|
static createSafe(config: FieldRedactorConfig): FieldRedactor;
|
|
22
|
-
/** Convenience alias for `new FieldRedactor(config)`. */
|
|
23
|
-
static fromConfig(config?: FieldRedactorConfig): FieldRedactor;
|
|
24
22
|
/** Redacts a copy of the input and returns an audit report of affected paths without mutating the original. */
|
|
25
23
|
dryRun<T extends RedactableInput>(value: T): Promise<DryRunResult<T>>;
|
|
26
24
|
/** Synchronous {@link FieldRedactor.dryRun} without per-field Promise overhead. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactor.d.ts","sourceRoot":"","sources":["../../src/api/fieldRedactor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,mBAAmB,EAInB,eAAe,EAEhB,MAAM,UAAU,CAAC;AAKlB;;;;;;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
|
|
1
|
+
{"version":3,"file":"fieldRedactor.d.ts","sourceRoot":"","sources":["../../src/api/fieldRedactor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,mBAAmB,EAInB,eAAe,EAEhB,MAAM,UAAU,CAAC;AAKlB;;;;;;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"}
|
|
@@ -47,10 +47,6 @@ class FieldRedactor {
|
|
|
47
47
|
}
|
|
48
48
|
return new FieldRedactor(config);
|
|
49
49
|
}
|
|
50
|
-
/** Convenience alias for `new FieldRedactor(config)`. */
|
|
51
|
-
static fromConfig(config) {
|
|
52
|
-
return new FieldRedactor(config);
|
|
53
|
-
}
|
|
54
50
|
/** Redacts a copy of the input and returns an audit report of affected paths without mutating the original. */
|
|
55
51
|
dryRun(value) {
|
|
56
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldRedactor.js","sourceRoot":"","sources":["../../src/api/fieldRedactor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sCAAgF;AAChF,2DAAgF;AAUhF,6CAA2E;AAC3E,gDAAwB;AACxB,+DAAmG;AAEnG;;;;;;GAMG;AACH,MAAa,aAAa;IAOxB,YAAY,MAA4B;;QANvB,aAAQ,GAAG,IAAA,cAAI,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAO/D,IAAI,CAAC,cAAc,GAAG,IAAA,6CAA2B,EAAC,MAAM,CAAC,CAAC;QAC1D,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,uDAAG,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAA,0CAAsB,EAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,UAAU,CAAC,MAA2B;QAClD,IAAI,CAAC,IAAA,2CAAyB,EAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,wCAA+B,CACvC,uPAAuP,CACxP,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"fieldRedactor.js","sourceRoot":"","sources":["../../src/api/fieldRedactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,9 @@ export declare const hasExplicitRedactionRules: (config?: FieldRedactorConfig) =
|
|
|
11
11
|
/** Merge preferred Opaque/Remove aliases into legacy full/delete fields. */
|
|
12
12
|
export declare const normalizeFieldRedactorConfig: (config?: FieldRedactorConfig) => FieldRedactorConfig | undefined;
|
|
13
13
|
/**
|
|
14
|
-
* When only value patterns are configured, shallow key matching must be disabled
|
|
15
|
-
* so the legacy default does not redact every field.
|
|
14
|
+
* When only value patterns / path rules are configured, shallow key matching must be disabled
|
|
15
|
+
* (`secretKeys: []`) so the legacy default does not redact every field.
|
|
16
|
+
* Expects an already-normalized config (aliases merged).
|
|
16
17
|
*/
|
|
17
18
|
export declare const resolveSecretKeys: (config?: FieldRedactorConfig) => RegExp[] | undefined;
|
|
18
19
|
export declare const appendRegExpArray: <F extends RegexArrayConfigField>(config: FieldRedactorConfig, field: F, patterns: RegExp[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redactionRules.d.ts","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,mBAAmB,iFAAkF,CAAC;AAEnH,eAAO,MAAM,yBAAyB,mDAAoD,CAAC;AAE3F,eAAO,MAAM,oBAAoB,4BAA6B,CAAC;AAE/D,eAAO,MAAM,eAAe,uBAAwB,CAAC;AAErD,eAAO,MAAM,yBAAyB,sJAK5B,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,eAAO,MAAM,gBAAgB,uKAA2D,CAAC;AAIzF,eAAO,MAAM,yBAAyB,YAAa,mBAAmB,KAAG,OAEpC,CAAC;AAEtC,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,YAAa,mBAAmB,KAAG,mBAAmB,GAAG,SAiBjG,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"redactionRules.d.ts","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,mBAAmB,iFAAkF,CAAC;AAEnH,eAAO,MAAM,yBAAyB,mDAAoD,CAAC;AAE3F,eAAO,MAAM,oBAAoB,4BAA6B,CAAC;AAE/D,eAAO,MAAM,eAAe,uBAAwB,CAAC;AAErD,eAAO,MAAM,yBAAyB,sJAK5B,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,eAAO,MAAM,gBAAgB,uKAA2D,CAAC;AAIzF,eAAO,MAAM,yBAAyB,YAAa,mBAAmB,KAAG,OAEpC,CAAC;AAEtC,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,YAAa,mBAAmB,KAAG,mBAAmB,GAAG,SAiBjG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YAAY,mBAAmB,KAAQ,MAAM,EAAE,GAAG,SAmB/E,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,qBAAqB,UACvD,mBAAmB,SACpB,CAAC,YACE,MAAM,EAAE,KACjB,IAEF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,yBAAyB,YAC3B,gBAAgB,EAAE,KAC1B,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,aAAa,CAS3D,CAAC;AAqBF,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,WAClB,gBAAgB,EAAE,WAClB,OAAO,CAAC,mBAAmB,CAAC,KACpC,IASF,CAAC"}
|
|
@@ -43,13 +43,12 @@ const normalizeFieldRedactorConfig = (config) => {
|
|
|
43
43
|
};
|
|
44
44
|
exports.normalizeFieldRedactorConfig = normalizeFieldRedactorConfig;
|
|
45
45
|
/**
|
|
46
|
-
* When only value patterns are configured, shallow key matching must be disabled
|
|
47
|
-
* so the legacy default does not redact every field.
|
|
46
|
+
* When only value patterns / path rules are configured, shallow key matching must be disabled
|
|
47
|
+
* (`secretKeys: []`) so the legacy default does not redact every field.
|
|
48
|
+
* Expects an already-normalized config (aliases merged).
|
|
48
49
|
*/
|
|
49
|
-
const resolveSecretKeys = (config) => {
|
|
50
|
-
|
|
51
|
-
const normalized = (_a = (0, exports.normalizeFieldRedactorConfig)(config)) !== null && _a !== void 0 ? _a : {};
|
|
52
|
-
const { secretKeys, deepSecretKeys, fullSecretKeys, deleteSecretKeys, customObjects, valuePatterns, pathRules } = normalized;
|
|
50
|
+
const resolveSecretKeys = (config = {}) => {
|
|
51
|
+
const { secretKeys, deepSecretKeys, fullSecretKeys, deleteSecretKeys, customObjects, valuePatterns, pathRules } = config;
|
|
53
52
|
if (secretKeys !== undefined) {
|
|
54
53
|
return secretKeys;
|
|
55
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redactionRules.js","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEa,QAAA,mBAAmB,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,CAAU,CAAC;AAEtG,QAAA,yBAAyB,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAU,CAAC;AAE9E,QAAA,oBAAoB,GAAG,CAAC,eAAe,CAAU,CAAC;AAElD,QAAA,eAAe,GAAG,CAAC,UAAU,CAAU,CAAC;AAExC,QAAA,yBAAyB,GAAG;IACvC,GAAG,2BAAmB;IACtB,GAAG,iCAAyB;IAC5B,GAAG,4BAAoB;IACvB,GAAG,uBAAe;CACV,CAAC;AAKE,QAAA,gBAAgB,GAAG,CAAC,GAAG,iCAAyB,EAAE,eAAe,CAAU,CAAC;AAEzF,MAAM,gBAAgB,GAAG,CAAI,KAAsB,EAAgB,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAEvG,MAAM,yBAAyB,GAAG,CAAC,MAA4B,EAAW,EAAE,CACjF,wBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,KAAK,CAA0B,CAAC,CAAC;IAC5F,gBAAgB,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,CAAC;AAFzB,QAAA,yBAAyB,6BAEA;AAEtC,4EAA4E;AACrE,MAAM,4BAA4B,GAAG,CAAC,MAA4B,EAAmC,EAAE;;IAC5G,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACjD,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAA,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,KAAc,MAAM,EAAf,IAAI,UAAK,MAAM,EAA1E,wCAAiE,CAAS,CAAC;IACjF,uCACK,IAAI,KACP,cAAc,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,cAAc,mCAAI,EAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,CAAC,EAC/E,gBAAgB,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,gBAAgB,mCAAI,EAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,CAAC,IACnF;AACJ,CAAC,CAAC;AAjBW,QAAA,4BAA4B,gCAiBvC;AAEF
|
|
1
|
+
{"version":3,"file":"redactionRules.js","sourceRoot":"","sources":["../../src/config/redactionRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dryRun.d.ts","sourceRoot":"","sources":["../../src/dryrun/dryRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAgB,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjE,eAAO,MAAM,uBAAuB,QAAO,YAKzC,CAAC;AAEH,eAAO,MAAM,oBAAoB,EAAE,YAAwC,CAAC;AA0E5E,eAAO,MAAM,iBAAiB,WACpB,SAAS,GAAG,SAAS,SACtB,SAAS,GAAG,SAAS,WACnB,mBAAmB,iBACb,aAAa,uBACP,mBAAmB,mBACvB,eAAe,KAC/B,
|
|
1
|
+
{"version":3,"file":"dryRun.d.ts","sourceRoot":"","sources":["../../src/dryrun/dryRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAgB,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjE,eAAO,MAAM,uBAAuB,QAAO,YAKzC,CAAC;AAEH,eAAO,MAAM,oBAAoB,EAAE,YAAwC,CAAC;AA0E5E,eAAO,MAAM,iBAAiB,WACpB,SAAS,GAAG,SAAS,SACtB,SAAS,GAAG,SAAS,WACnB,mBAAmB,iBACb,aAAa,uBACP,mBAAmB,mBACvB,eAAe,KAC/B,YAeF,CAAC"}
|
package/dist/dryrun/dryRun.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildDryRunReport = exports.EMPTY_DRY_RUN_REPORT = exports.createEmptyDryRunReport = void 0;
|
|
4
|
-
const
|
|
4
|
+
const ruleResolver_1 = require("../rules/ruleResolver");
|
|
5
5
|
const jsonWalk_1 = require("../util/jsonWalk");
|
|
6
6
|
const types_1 = require("../types");
|
|
7
7
|
const createEmptyDryRunReport = () => ({
|
|
@@ -67,7 +67,7 @@ const buildDryRunReport = (before, after, manager, secretManager, valuePatternMa
|
|
|
67
67
|
if (before !== undefined) {
|
|
68
68
|
diffRedaction(before, after, '', report);
|
|
69
69
|
collectMatchedSchemas(before, manager, '', report);
|
|
70
|
-
report.pathRules = (0,
|
|
70
|
+
report.pathRules = (0, ruleResolver_1.buildPathRules)(before, report.redactedPaths, report.deletedPaths, new ruleResolver_1.RuleResolver(secretManager, pathRuleMatcher, valuePatternMatcher, manager));
|
|
71
71
|
}
|
|
72
72
|
return report;
|
|
73
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dryRun.js","sourceRoot":"","sources":["../../src/dryrun/dryRun.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"dryRun.js","sourceRoot":"","sources":["../../src/dryrun/dryRun.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ class ArrayRedactor {
|
|
|
11
11
|
}
|
|
12
12
|
redactArrayInObject(array, key, forceDeepRedaction, parent, pathSegments) {
|
|
13
13
|
const redacted = this.services.ruleResolver.shouldTraverseContainerByKey(key, forceDeepRedaction)
|
|
14
|
-
? this.redactAllArrayValues(array, this.services.ruleResolver.
|
|
14
|
+
? this.redactAllArrayValues(array, this.services.ruleResolver.forceDeepForKey(key, forceDeepRedaction), parent.copyOnWrite, pathSegments)
|
|
15
15
|
: this.redactObjectsInArray(array, parent.copyOnWrite, pathSegments);
|
|
16
16
|
if (redacted instanceof Promise) {
|
|
17
17
|
return redacted.then((result) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrayRedaction.js","sourceRoot":"","sources":["../../src/engine/arrayRedaction.ts"],"names":[],"mappings":";;;AAAA,oCAA+D;AAC/D,qEAAsF;AACtF,mDAAmF;AACnF,mEAAgE;AAGhE,MAAa,aAAa;IACxB,YAA6B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,mBAAmB,CACjB,KAAgB,EAChB,GAAW,EACX,kBAA2B,EAC3B,MAAiD,EACjD,YAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,CAAC;YAC/F,CAAC,CAAC,IAAI,CAAC,oBAAoB,CACvB,KAAK,EACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"arrayRedaction.js","sourceRoot":"","sources":["../../src/engine/arrayRedaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,17 +19,12 @@ export declare class CustomObjectFieldHandler {
|
|
|
19
19
|
private readonly services;
|
|
20
20
|
constructor(services: TraversalServices);
|
|
21
21
|
handleCustomObject(container: ContainerMutation<JsonObject>, customObject: CustomObject): MaybeAsync<void>;
|
|
22
|
-
private
|
|
23
|
-
private
|
|
24
|
-
private
|
|
22
|
+
private handleField;
|
|
23
|
+
private applyStringKeyRule;
|
|
24
|
+
private applyContainerStringKeyAction;
|
|
25
|
+
private applyMatchTypeRule;
|
|
25
26
|
private setRedactedArray;
|
|
26
|
-
private handleCustomObjectValueIfObject;
|
|
27
|
-
private handleCustomObjectObjectValueIfStringKeySpecified;
|
|
28
|
-
private handleCustomObjectObjectValueIfMatchTypeSpecified;
|
|
29
27
|
private setRedactedObject;
|
|
30
|
-
private handleCustomObjectValueIfPrimitive;
|
|
31
|
-
private handleCustomObjectPrimitiveValueIfMatchTypeSpecified;
|
|
32
|
-
private handleCustomObjectPrimitiveValueIfStringKeySpecified;
|
|
33
28
|
}
|
|
34
29
|
export {};
|
|
35
30
|
//# sourceMappingURL=customObjectFieldHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customObjectFieldHandler.d.ts","sourceRoot":"","sources":["../../src/engine/customObjectFieldHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,UAAU,
|
|
1
|
+
{"version":3,"file":"customObjectFieldHandler.d.ts","sourceRoot":"","sources":["../../src/engine/customObjectFieldHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,UAAU,EAGV,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAA2B,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAAsB,UAAU,EAAoC,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,KAAK,eAAe,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAIrB,6EAA6E;AAC7E,eAAO,MAAM,kCAAkC,kBAC9B,aAAa,aACjB,oBAAoB,KAC9B,eAcF,CAAC;AAYF,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,iBAAiB;IAExD,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;IAQ1G,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,6BAA6B;IAwBrC,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;CAe1B"}
|
|
@@ -4,51 +4,80 @@ exports.CustomObjectFieldHandler = exports.resolveCustomObjectStringKeyAction =
|
|
|
4
4
|
const types_1 = require("../types");
|
|
5
5
|
const objectRedactorMutation_1 = require("./objectRedactorMutation");
|
|
6
6
|
const objectRedactorCustomObject_1 = require("./objectRedactorCustomObject");
|
|
7
|
-
const
|
|
7
|
+
const schemaSiblingKey_1 = require("../rules/schemaSiblingKey");
|
|
8
8
|
const maybeAsync_1 = require("../util/maybeAsync");
|
|
9
9
|
/** Shared delete/opaque/deep/shallow ladder for schema sibling-key rules. */
|
|
10
10
|
const resolveCustomObjectStringKeyAction = (secretManager, stringKey) => {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
switch (secretManager.classifyKeyRule(stringKey)) {
|
|
12
|
+
case 'remove':
|
|
13
|
+
return { type: 'remove' };
|
|
14
|
+
case 'opaque':
|
|
15
|
+
return { type: 'opaque' };
|
|
16
|
+
case 'deep':
|
|
17
|
+
return { type: 'traverse', forceDeep: true };
|
|
18
|
+
case 'shallow':
|
|
19
|
+
case 'default':
|
|
20
|
+
return { type: 'traverse', forceDeep: false };
|
|
21
|
+
default:
|
|
22
|
+
return { type: 'none' };
|
|
13
23
|
}
|
|
14
|
-
|
|
15
|
-
|
|
24
|
+
};
|
|
25
|
+
exports.resolveCustomObjectStringKeyAction = resolveCustomObjectStringKeyAction;
|
|
26
|
+
const shapeOf = (value) => {
|
|
27
|
+
if (Array.isArray(value)) {
|
|
28
|
+
return 'array';
|
|
16
29
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return { type: 'traverse', forceDeep };
|
|
30
|
+
if ((0, types_1.isJsonObject)(value)) {
|
|
31
|
+
return 'object';
|
|
20
32
|
}
|
|
21
|
-
return
|
|
33
|
+
return 'primitive';
|
|
22
34
|
};
|
|
23
|
-
exports.resolveCustomObjectStringKeyAction = resolveCustomObjectStringKeyAction;
|
|
24
35
|
class CustomObjectFieldHandler {
|
|
25
36
|
constructor(services) {
|
|
26
37
|
this.services = services;
|
|
27
38
|
}
|
|
28
39
|
handleCustomObject(container, customObject) {
|
|
29
|
-
return (0, maybeAsync_1.runSequential)(Object.keys(customObject), (key) =>
|
|
40
|
+
return (0, maybeAsync_1.runSequential)(Object.keys(customObject), (key) => this.handleField(container, key, customObject), this.services.asyncMode);
|
|
41
|
+
}
|
|
42
|
+
handleField(container, key, customObject) {
|
|
43
|
+
const fieldValue = container.source[key];
|
|
44
|
+
const shape = shapeOf(fieldValue);
|
|
45
|
+
const stringKey = (0, schemaSiblingKey_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists)(container.source, customObject, key);
|
|
46
|
+
if (stringKey !== undefined) {
|
|
47
|
+
return this.applyStringKeyRule(container, key, stringKey, shape);
|
|
48
|
+
}
|
|
49
|
+
if (typeof customObject[key] === 'number') {
|
|
50
|
+
return this.applyMatchTypeRule(container, key, customObject[key], shape);
|
|
51
|
+
}
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
applyStringKeyRule(container, key, stringKey, shape) {
|
|
55
|
+
if (shape === 'primitive') {
|
|
56
|
+
const action = (0, exports.resolveCustomObjectStringKeyAction)(this.services.secretManager, stringKey);
|
|
57
|
+
if (action.type === 'remove') {
|
|
58
|
+
container.remove(key);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
// Opaque/shallow/deep scalar handling stays in setPrimitiveValueIfSecret for value-pattern fallthrough.
|
|
62
|
+
return this.services.setPrimitiveValueIfSecret(container, key, stringKey, container.source[key], false);
|
|
63
|
+
}
|
|
64
|
+
if (shape === 'object') {
|
|
30
65
|
const fieldValue = container.source[key];
|
|
31
|
-
if (
|
|
32
|
-
return
|
|
66
|
+
if (!(0, types_1.isJsonObject)(fieldValue)) {
|
|
67
|
+
return;
|
|
33
68
|
}
|
|
34
|
-
|
|
35
|
-
|
|
69
|
+
const nestedSchema = this.services.ruleResolver.getMatchingSchema(fieldValue);
|
|
70
|
+
if (nestedSchema) {
|
|
71
|
+
const child = (0, objectRedactorMutation_1.createContainerMutation)(fieldValue, container.copyOnWrite);
|
|
72
|
+
return (0, maybeAsync_1.finalizeMaybeAsync)(this.handleCustomObject(child, nestedSchema), () => {
|
|
73
|
+
container.set(key, child.result());
|
|
74
|
+
}, this.services.asyncMode);
|
|
36
75
|
}
|
|
37
|
-
return this.handleCustomObjectValueIfPrimitive(container, customObject, key);
|
|
38
|
-
}, this.services.asyncMode);
|
|
39
|
-
}
|
|
40
|
-
handleCustomObjectValueIfArray(container, key, customObject) {
|
|
41
|
-
const stringKey = (0, objectRedactorHelpers_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists)(container.source, customObject, key);
|
|
42
|
-
if (stringKey !== undefined) {
|
|
43
|
-
return this.handleCustomObjectArrayValueIfStringKeySpecified(container, key, stringKey);
|
|
44
76
|
}
|
|
45
|
-
return this.
|
|
77
|
+
return this.applyContainerStringKeyAction(container, key, stringKey, shape);
|
|
46
78
|
}
|
|
47
|
-
|
|
79
|
+
applyContainerStringKeyAction(container, key, stringKey, shape) {
|
|
48
80
|
const fieldValue = container.source[key];
|
|
49
|
-
if (!Array.isArray(fieldValue)) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
81
|
const action = (0, exports.resolveCustomObjectStringKeyAction)(this.services.secretManager, stringKey);
|
|
53
82
|
switch (action.type) {
|
|
54
83
|
case 'remove':
|
|
@@ -57,22 +86,47 @@ class CustomObjectFieldHandler {
|
|
|
57
86
|
case 'opaque':
|
|
58
87
|
return this.services.setPrimitiveFromValue(container, key, fieldValue);
|
|
59
88
|
case 'traverse':
|
|
60
|
-
return
|
|
89
|
+
return shape === 'array'
|
|
90
|
+
? this.setRedactedArray(container, key, fieldValue, action.forceDeep)
|
|
91
|
+
: this.setRedactedObject(container, key, fieldValue, action.forceDeep);
|
|
61
92
|
case 'none':
|
|
62
93
|
return;
|
|
63
94
|
}
|
|
64
95
|
}
|
|
65
|
-
|
|
96
|
+
applyMatchTypeRule(container, key, matchType, shape) {
|
|
66
97
|
const fieldValue = container.source[key];
|
|
67
|
-
if (
|
|
98
|
+
if (shape === 'primitive') {
|
|
99
|
+
return (0, maybeAsync_1.resolveMaybeAsync)((0, objectRedactorCustomObject_1.applyCustomObjectMatchType)(matchType, {
|
|
100
|
+
remove: () => container.remove(key),
|
|
101
|
+
opaque: () => this.services.setPrimitiveFromValue(container, key, fieldValue),
|
|
102
|
+
deep: () => this.services.setPrimitive(container, key, fieldValue),
|
|
103
|
+
shallow: () => this.services.setPrimitive(container, key, fieldValue),
|
|
104
|
+
pass: () => undefined
|
|
105
|
+
}), this.services.asyncMode);
|
|
106
|
+
}
|
|
107
|
+
if (shape === 'array') {
|
|
108
|
+
if (!Array.isArray(fieldValue)) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
return (0, maybeAsync_1.resolveMaybeAsync)((0, objectRedactorCustomObject_1.applyCustomObjectMatchType)(matchType, {
|
|
112
|
+
remove: () => container.remove(key),
|
|
113
|
+
opaque: () => this.services.setPrimitiveFromValue(container, key, fieldValue),
|
|
114
|
+
deep: () => this.setRedactedArray(container, key, fieldValue, true),
|
|
115
|
+
shallow: () => this.setRedactedArray(container, key, fieldValue, false),
|
|
116
|
+
pass: () => this.services.redactArrayInObject(fieldValue, key, false, container, [])
|
|
117
|
+
}), this.services.asyncMode);
|
|
118
|
+
}
|
|
119
|
+
if (!(0, types_1.isJsonObject)(fieldValue)) {
|
|
68
120
|
return;
|
|
69
121
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
122
|
+
const traverseShallow = () => this.setRedactedObject(container, key, fieldValue, false);
|
|
123
|
+
return (0, maybeAsync_1.resolveMaybeAsync)((0, objectRedactorCustomObject_1.applyCustomObjectMatchType)(matchType, {
|
|
124
|
+
remove: () => container.remove(key),
|
|
125
|
+
opaque: () => this.services.setPrimitiveFromValue(container, key, fieldValue),
|
|
126
|
+
deep: () => this.setRedactedObject(container, key, fieldValue, true),
|
|
127
|
+
shallow: traverseShallow,
|
|
128
|
+
// Object Pass ≈ shallow traverse (walk nested secrets, keep structure).
|
|
129
|
+
pass: traverseShallow
|
|
76
130
|
}), this.services.asyncMode);
|
|
77
131
|
}
|
|
78
132
|
setRedactedArray(container, key, fieldValue, forceDeepRedaction) {
|
|
@@ -84,84 +138,12 @@ class CustomObjectFieldHandler {
|
|
|
84
138
|
}
|
|
85
139
|
container.set(key, redacted);
|
|
86
140
|
}
|
|
87
|
-
handleCustomObjectValueIfObject(container, key, customObject) {
|
|
88
|
-
const stringKey = (0, objectRedactorHelpers_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists)(container.source, customObject, key);
|
|
89
|
-
if (stringKey !== undefined) {
|
|
90
|
-
return this.handleCustomObjectObjectValueIfStringKeySpecified(container, key, stringKey);
|
|
91
|
-
}
|
|
92
|
-
return this.handleCustomObjectObjectValueIfMatchTypeSpecified(container, key, customObject[key]);
|
|
93
|
-
}
|
|
94
|
-
handleCustomObjectObjectValueIfStringKeySpecified(container, key, stringKey) {
|
|
95
|
-
const fieldValue = container.source[key];
|
|
96
|
-
if (!(0, types_1.isJsonObject)(fieldValue)) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
const nestedSchema = this.services.ruleResolver.getMatchingSchema(fieldValue);
|
|
100
|
-
if (nestedSchema) {
|
|
101
|
-
const child = (0, objectRedactorMutation_1.createContainerMutation)(fieldValue, container.copyOnWrite);
|
|
102
|
-
return (0, maybeAsync_1.finalizeMaybeAsync)(this.handleCustomObject(child, nestedSchema), () => {
|
|
103
|
-
container.set(key, child.result());
|
|
104
|
-
}, this.services.asyncMode);
|
|
105
|
-
}
|
|
106
|
-
const action = (0, exports.resolveCustomObjectStringKeyAction)(this.services.secretManager, stringKey);
|
|
107
|
-
switch (action.type) {
|
|
108
|
-
case 'remove':
|
|
109
|
-
container.remove(key);
|
|
110
|
-
return;
|
|
111
|
-
case 'opaque':
|
|
112
|
-
return this.services.setPrimitiveFromValue(container, key, fieldValue);
|
|
113
|
-
case 'traverse':
|
|
114
|
-
return this.setRedactedObject(container, key, fieldValue, action.forceDeep);
|
|
115
|
-
case 'none':
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
handleCustomObjectObjectValueIfMatchTypeSpecified(container, key, matchType) {
|
|
120
|
-
const fieldValue = container.source[key];
|
|
121
|
-
if (!(0, types_1.isJsonObject)(fieldValue)) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
return (0, maybeAsync_1.resolveMaybeAsync)((0, objectRedactorCustomObject_1.applyCustomObjectObjectMatchType)(matchType, {
|
|
125
|
-
deleteKey: () => container.remove(key),
|
|
126
|
-
redactFull: () => this.services.setPrimitiveFromValue(container, key, fieldValue),
|
|
127
|
-
redactDeep: () => this.setRedactedObject(container, key, fieldValue, true),
|
|
128
|
-
redactShallowOrPass: () => this.setRedactedObject(container, key, fieldValue, false),
|
|
129
|
-
ignore: () => undefined
|
|
130
|
-
}), this.services.asyncMode);
|
|
131
|
-
}
|
|
132
141
|
setRedactedObject(container, key, fieldValue, forceDeepRedaction) {
|
|
133
142
|
const child = (0, objectRedactorMutation_1.createContainerMutation)(fieldValue, container.copyOnWrite);
|
|
134
143
|
return (0, maybeAsync_1.finalizeMaybeAsync)(this.services.redactSecretFields(child, forceDeepRedaction, []), () => {
|
|
135
144
|
container.set(key, child.result());
|
|
136
145
|
}, this.services.asyncMode);
|
|
137
146
|
}
|
|
138
|
-
handleCustomObjectValueIfPrimitive(container, customObject, key) {
|
|
139
|
-
if (typeof customObject[key] === 'number') {
|
|
140
|
-
return this.handleCustomObjectPrimitiveValueIfMatchTypeSpecified(container, key, customObject[key]);
|
|
141
|
-
}
|
|
142
|
-
const secretKey = (0, objectRedactorHelpers_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists)(container.source, customObject, key);
|
|
143
|
-
if (secretKey === undefined) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
return this.handleCustomObjectPrimitiveValueIfStringKeySpecified(container, secretKey, key);
|
|
147
|
-
}
|
|
148
|
-
handleCustomObjectPrimitiveValueIfMatchTypeSpecified(container, key, matchValue) {
|
|
149
|
-
return (0, maybeAsync_1.resolveMaybeAsync)((0, objectRedactorCustomObject_1.applyCustomObjectPrimitiveMatchType)(matchValue, {
|
|
150
|
-
deleteKey: () => container.remove(key),
|
|
151
|
-
redactFull: () => this.services.setPrimitiveFromValue(container, key, container.source[key]),
|
|
152
|
-
redactScalar: () => this.services.setPrimitive(container, key, container.source[key]),
|
|
153
|
-
passThrough: () => undefined
|
|
154
|
-
}), this.services.asyncMode);
|
|
155
|
-
}
|
|
156
|
-
handleCustomObjectPrimitiveValueIfStringKeySpecified(container, secretKey, key) {
|
|
157
|
-
const action = (0, exports.resolveCustomObjectStringKeyAction)(this.services.secretManager, secretKey);
|
|
158
|
-
if (action.type === 'remove') {
|
|
159
|
-
container.remove(key);
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
// Opaque/shallow/deep scalar handling stays in setPrimitiveValueIfSecret for value-pattern fallthrough.
|
|
163
|
-
return this.services.setPrimitiveValueIfSecret(container, key, secretKey, container.source[key], false);
|
|
164
|
-
}
|
|
165
147
|
}
|
|
166
148
|
exports.CustomObjectFieldHandler = CustomObjectFieldHandler;
|
|
167
149
|
//# sourceMappingURL=customObjectFieldHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customObjectFieldHandler.js","sourceRoot":"","sources":["../../src/engine/customObjectFieldHandler.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"customObjectFieldHandler.js","sourceRoot":"","sources":["../../src/engine/customObjectFieldHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,12 @@
|
|
|
1
1
|
import { CustomObjectMatchType } from '../types';
|
|
2
2
|
import { MaybeAsync } from '../util/maybeAsync';
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
/** Shape-agnostic match-type handlers; callers map Pass/Deep/Shallow to the right effect. */
|
|
4
|
+
export type CustomObjectMatchHandlers = {
|
|
5
|
+
remove(): MaybeAsync<void>;
|
|
6
|
+
opaque(): MaybeAsync<void>;
|
|
7
|
+
deep(): MaybeAsync<void>;
|
|
8
|
+
shallow(): MaybeAsync<void>;
|
|
9
|
+
pass(): MaybeAsync<void>;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
deleteKey(): MaybeAsync<void>;
|
|
12
|
-
redactFull(): MaybeAsync<void>;
|
|
13
|
-
redactDeep(): MaybeAsync<void>;
|
|
14
|
-
redactShallowOrPass(): MaybeAsync<void>;
|
|
15
|
-
ignore(): MaybeAsync<void>;
|
|
16
|
-
};
|
|
17
|
-
type CustomObjectPrimitiveHandlers = {
|
|
18
|
-
deleteKey(): MaybeAsync<void>;
|
|
19
|
-
redactFull(): MaybeAsync<void>;
|
|
20
|
-
redactScalar(): MaybeAsync<void>;
|
|
21
|
-
passThrough(): MaybeAsync<void>;
|
|
22
|
-
};
|
|
23
|
-
export declare const applyCustomObjectArrayMatchType: (matchType: CustomObjectMatchType, handlers: CustomObjectArrayHandlers) => MaybeAsync<void>;
|
|
24
|
-
export declare const applyCustomObjectObjectMatchType: (matchType: CustomObjectMatchType, handlers: CustomObjectObjectHandlers) => MaybeAsync<void>;
|
|
25
|
-
export declare const applyCustomObjectPrimitiveMatchType: (matchType: CustomObjectMatchType, handlers: CustomObjectPrimitiveHandlers) => MaybeAsync<void>;
|
|
26
|
-
export {};
|
|
11
|
+
export declare const applyCustomObjectMatchType: (matchType: CustomObjectMatchType, handlers: CustomObjectMatchHandlers) => MaybeAsync<void>;
|
|
27
12
|
//# sourceMappingURL=objectRedactorCustomObject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectRedactorCustomObject.d.ts","sourceRoot":"","sources":["../../src/engine/objectRedactorCustomObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"objectRedactorCustomObject.d.ts","sourceRoot":"","sources":["../../src/engine/objectRedactorCustomObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,6FAA6F;AAC7F,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,0BAA0B,cAC1B,qBAAqB,YACtB,yBAAyB,KAClC,UAAU,CAAC,IAAI,CAejB,CAAC"}
|