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.
Files changed (162) hide show
  1. package/.github/workflows/publish.yml +55 -0
  2. package/CHANGELOG.md +17 -0
  3. package/CONTRIBUTING.md +23 -2
  4. package/README.md +1 -0
  5. package/dist/api/fieldRedactor.d.ts +3 -3
  6. package/dist/api/fieldRedactor.js +4 -4
  7. package/dist/api/fieldRedactor.js.map +1 -1
  8. package/dist/config/configValidator.d.ts.map +1 -1
  9. package/dist/config/configValidator.js +16 -0
  10. package/dist/config/configValidator.js.map +1 -1
  11. package/dist/types.d.ts +27 -9
  12. package/dist/types.d.ts.map +1 -1
  13. package/dist/types.js.map +1 -1
  14. package/docs/guides/migration-1.5-to-1.6.md +4 -3
  15. package/docs/release-notes/README.md +4 -1
  16. package/docs/release-notes/v1.6.3.md +25 -0
  17. package/examples/README.md +14 -0
  18. package/examples/dry-run.ts +21 -0
  19. package/examples/logging-metadata.ts +18 -0
  20. package/examples/path-rules.ts +23 -0
  21. package/examples/value-patterns.ts +16 -0
  22. package/package.json +1 -1
  23. package/dist/arrayRedaction.d.ts +0 -12
  24. package/dist/arrayRedaction.d.ts.map +0 -1
  25. package/dist/arrayRedaction.js +0 -70
  26. package/dist/arrayRedaction.js.map +0 -1
  27. package/dist/configValidator.d.ts +0 -9
  28. package/dist/configValidator.d.ts.map +0 -1
  29. package/dist/configValidator.js +0 -77
  30. package/dist/configValidator.js.map +0 -1
  31. package/dist/copyOnWriteHelpers.d.ts +0 -20
  32. package/dist/copyOnWriteHelpers.d.ts.map +0 -1
  33. package/dist/copyOnWriteHelpers.js +0 -58
  34. package/dist/copyOnWriteHelpers.js.map +0 -1
  35. package/dist/customObjectFieldHandler.d.ts +0 -21
  36. package/dist/customObjectFieldHandler.d.ts.map +0 -1
  37. package/dist/customObjectFieldHandler.js +0 -159
  38. package/dist/customObjectFieldHandler.js.map +0 -1
  39. package/dist/customObjectManager.d.ts +0 -28
  40. package/dist/customObjectManager.d.ts.map +0 -1
  41. package/dist/customObjectManager.js +0 -60
  42. package/dist/customObjectManager.js.map +0 -1
  43. package/dist/customObjectSchemas.d.ts +0 -7
  44. package/dist/customObjectSchemas.d.ts.map +0 -1
  45. package/dist/customObjectSchemas.js +0 -35
  46. package/dist/customObjectSchemas.js.map +0 -1
  47. package/dist/dryRun.d.ts +0 -9
  48. package/dist/dryRun.d.ts.map +0 -1
  49. package/dist/dryRun.js +0 -75
  50. package/dist/dryRun.js.map +0 -1
  51. package/dist/dryRunAttribution.d.ts +0 -10
  52. package/dist/dryRunAttribution.d.ts.map +0 -1
  53. package/dist/dryRunAttribution.js +0 -14
  54. package/dist/dryRunAttribution.js.map +0 -1
  55. package/dist/dryrun/dryRunAttribution.d.ts +0 -10
  56. package/dist/dryrun/dryRunAttribution.d.ts.map +0 -1
  57. package/dist/dryrun/dryRunAttribution.js +0 -14
  58. package/dist/dryrun/dryRunAttribution.js.map +0 -1
  59. package/dist/engine/objectRedactor.d.ts +0 -18
  60. package/dist/engine/objectRedactor.d.ts.map +0 -1
  61. package/dist/engine/objectRedactor.js +0 -38
  62. package/dist/engine/objectRedactor.js.map +0 -1
  63. package/dist/engine/objectRedactorSync.d.ts +0 -2
  64. package/dist/engine/objectRedactorSync.d.ts.map +0 -1
  65. package/dist/engine/objectRedactorSync.js +0 -7
  66. package/dist/engine/objectRedactorSync.js.map +0 -1
  67. package/dist/fieldDisposition.d.ts +0 -3
  68. package/dist/fieldDisposition.d.ts.map +0 -1
  69. package/dist/fieldDisposition.js +0 -6
  70. package/dist/fieldDisposition.js.map +0 -1
  71. package/dist/fieldRedactor.d.ts +0 -51
  72. package/dist/fieldRedactor.d.ts.map +0 -1
  73. package/dist/fieldRedactor.js +0 -165
  74. package/dist/fieldRedactor.js.map +0 -1
  75. package/dist/fieldRedactorConfigBuilder.d.ts +0 -55
  76. package/dist/fieldRedactorConfigBuilder.d.ts.map +0 -1
  77. package/dist/fieldRedactorConfigBuilder.js +0 -111
  78. package/dist/fieldRedactorConfigBuilder.js.map +0 -1
  79. package/dist/fieldRedactorDeps.d.ts +0 -19
  80. package/dist/fieldRedactorDeps.d.ts.map +0 -1
  81. package/dist/fieldRedactorDeps.js +0 -43
  82. package/dist/fieldRedactorDeps.js.map +0 -1
  83. package/dist/jsonWalk.d.ts +0 -11
  84. package/dist/jsonWalk.d.ts.map +0 -1
  85. package/dist/jsonWalk.js +0 -55
  86. package/dist/jsonWalk.js.map +0 -1
  87. package/dist/maybeAsync.d.ts +0 -7
  88. package/dist/maybeAsync.d.ts.map +0 -1
  89. package/dist/maybeAsync.js +0 -56
  90. package/dist/maybeAsync.js.map +0 -1
  91. package/dist/objectRedactor.d.ts +0 -18
  92. package/dist/objectRedactor.d.ts.map +0 -1
  93. package/dist/objectRedactor.js +0 -38
  94. package/dist/objectRedactor.js.map +0 -1
  95. package/dist/objectRedactorCow.d.ts +0 -35
  96. package/dist/objectRedactorCow.d.ts.map +0 -1
  97. package/dist/objectRedactorCow.js +0 -300
  98. package/dist/objectRedactorCow.js.map +0 -1
  99. package/dist/objectRedactorCustomObject.d.ts +0 -28
  100. package/dist/objectRedactorCustomObject.d.ts.map +0 -1
  101. package/dist/objectRedactorCustomObject.js +0 -57
  102. package/dist/objectRedactorCustomObject.js.map +0 -1
  103. package/dist/objectRedactorHelpers.d.ts +0 -9
  104. package/dist/objectRedactorHelpers.d.ts.map +0 -1
  105. package/dist/objectRedactorHelpers.js +0 -61
  106. package/dist/objectRedactorHelpers.js.map +0 -1
  107. package/dist/objectRedactorMutation.d.ts +0 -10
  108. package/dist/objectRedactorMutation.d.ts.map +0 -1
  109. package/dist/objectRedactorMutation.js +0 -89
  110. package/dist/objectRedactorMutation.js.map +0 -1
  111. package/dist/objectRedactorSync.d.ts +0 -2
  112. package/dist/objectRedactorSync.d.ts.map +0 -1
  113. package/dist/objectRedactorSync.js +0 -7
  114. package/dist/objectRedactorSync.js.map +0 -1
  115. package/dist/objectRedactorTraversal.d.ts +0 -41
  116. package/dist/objectRedactorTraversal.d.ts.map +0 -1
  117. package/dist/objectRedactorTraversal.js +0 -201
  118. package/dist/objectRedactorTraversal.js.map +0 -1
  119. package/dist/pathParsing.d.ts +0 -11
  120. package/dist/pathParsing.d.ts.map +0 -1
  121. package/dist/pathParsing.js +0 -53
  122. package/dist/pathParsing.js.map +0 -1
  123. package/dist/pathRuleMatcher.d.ts +0 -19
  124. package/dist/pathRuleMatcher.d.ts.map +0 -1
  125. package/dist/pathRuleMatcher.js +0 -42
  126. package/dist/pathRuleMatcher.js.map +0 -1
  127. package/dist/presets.d.ts +0 -22
  128. package/dist/presets.d.ts.map +0 -1
  129. package/dist/presets.js +0 -50
  130. package/dist/presets.js.map +0 -1
  131. package/dist/primitiveRedactor.d.ts +0 -33
  132. package/dist/primitiveRedactor.d.ts.map +0 -1
  133. package/dist/primitiveRedactor.js +0 -75
  134. package/dist/primitiveRedactor.js.map +0 -1
  135. package/dist/redactionRules.d.ts +0 -22
  136. package/dist/redactionRules.d.ts.map +0 -1
  137. package/dist/redactionRules.js +0 -74
  138. package/dist/redactionRules.js.map +0 -1
  139. package/dist/regexUtils.d.ts +0 -3
  140. package/dist/regexUtils.d.ts.map +0 -1
  141. package/dist/regexUtils.js +0 -8
  142. package/dist/regexUtils.js.map +0 -1
  143. package/dist/ruleResolver.d.ts +0 -65
  144. package/dist/ruleResolver.d.ts.map +0 -1
  145. package/dist/ruleResolver.js +0 -193
  146. package/dist/ruleResolver.js.map +0 -1
  147. package/dist/rules/fieldDisposition.d.ts +0 -3
  148. package/dist/rules/fieldDisposition.d.ts.map +0 -1
  149. package/dist/rules/fieldDisposition.js +0 -6
  150. package/dist/rules/fieldDisposition.js.map +0 -1
  151. package/dist/secretManager.d.ts +0 -32
  152. package/dist/secretManager.d.ts.map +0 -1
  153. package/dist/secretManager.js +0 -85
  154. package/dist/secretManager.js.map +0 -1
  155. package/dist/traversalServices.d.ts +0 -21
  156. package/dist/traversalServices.d.ts.map +0 -1
  157. package/dist/traversalServices.js +0 -3
  158. package/dist/traversalServices.js.map +0 -1
  159. package/dist/valuePatternMatcher.d.ts +0 -15
  160. package/dist/valuePatternMatcher.d.ts.map +0 -1
  161. package/dist/valuePatternMatcher.js +0 -30
  162. package/dist/valuePatternMatcher.js.map +0 -1
@@ -1,28 +0,0 @@
1
- import { CustomObjectMatchType } from './types';
2
- import { MaybeAsync } from './maybeAsync';
3
- type CustomObjectArrayHandlers = {
4
- deleteKey(): MaybeAsync<void>;
5
- redactFull(): MaybeAsync<void>;
6
- redactDeep(): MaybeAsync<void>;
7
- redactShallow(): MaybeAsync<void>;
8
- passThrough(): MaybeAsync<void>;
9
- };
10
- type CustomObjectObjectHandlers = {
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 declare const awaitCustomObjectMatchType: (result: MaybeAsync<void>, asyncMode?: boolean) => MaybeAsync<void>;
27
- export {};
28
- //# sourceMappingURL=objectRedactorCustomObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorCustomObject.d.ts","sourceRoot":"","sources":["../src/objectRedactorCustomObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAI7D,KAAK,yBAAyB,GAAG;IAC/B,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,mBAAmB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,+BAA+B,cAC/B,qBAAqB,YACtB,yBAAyB,KAClC,UAAU,CAAC,IAAI,CAejB,CAAC;AAEF,eAAO,MAAM,gCAAgC,cAChC,qBAAqB,YACtB,0BAA0B,KACnC,UAAU,CAAC,IAAI,CAcjB,CAAC;AAEF,eAAO,MAAM,mCAAmC,cACnC,qBAAqB,YACtB,6BAA6B,KACtC,UAAU,CAAC,IAAI,CAajB,CAAC;AAEF,eAAO,MAAM,0BAA0B,WAAY,UAAU,CAAC,IAAI,CAAC,0BAAqB,UAAU,CAAC,IAAI,CACjE,CAAC"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.awaitCustomObjectMatchType = exports.applyCustomObjectPrimitiveMatchType = exports.applyCustomObjectObjectMatchType = exports.applyCustomObjectArrayMatchType = void 0;
4
- const types_1 = require("./types");
5
- const maybeAsync_1 = require("./maybeAsync");
6
- const run = (handler) => handler();
7
- const applyCustomObjectArrayMatchType = (matchType, handlers) => {
8
- switch (matchType) {
9
- case types_1.CustomObjectMatchType.Delete:
10
- return run(handlers.deleteKey);
11
- case types_1.CustomObjectMatchType.Full:
12
- return run(handlers.redactFull);
13
- case types_1.CustomObjectMatchType.Deep:
14
- return run(handlers.redactDeep);
15
- case types_1.CustomObjectMatchType.Shallow:
16
- return run(handlers.redactShallow);
17
- case types_1.CustomObjectMatchType.Pass:
18
- return run(handlers.passThrough);
19
- default:
20
- return undefined;
21
- }
22
- };
23
- exports.applyCustomObjectArrayMatchType = applyCustomObjectArrayMatchType;
24
- const applyCustomObjectObjectMatchType = (matchType, handlers) => {
25
- switch (matchType) {
26
- case types_1.CustomObjectMatchType.Delete:
27
- return run(handlers.deleteKey);
28
- case types_1.CustomObjectMatchType.Full:
29
- return run(handlers.redactFull);
30
- case types_1.CustomObjectMatchType.Deep:
31
- return run(handlers.redactDeep);
32
- case types_1.CustomObjectMatchType.Shallow:
33
- case types_1.CustomObjectMatchType.Pass:
34
- return run(handlers.redactShallowOrPass);
35
- case types_1.CustomObjectMatchType.Ignore:
36
- return run(handlers.ignore);
37
- }
38
- };
39
- exports.applyCustomObjectObjectMatchType = applyCustomObjectObjectMatchType;
40
- const applyCustomObjectPrimitiveMatchType = (matchType, handlers) => {
41
- switch (matchType) {
42
- case types_1.CustomObjectMatchType.Delete:
43
- return run(handlers.deleteKey);
44
- case types_1.CustomObjectMatchType.Full:
45
- return run(handlers.redactFull);
46
- case types_1.CustomObjectMatchType.Deep:
47
- case types_1.CustomObjectMatchType.Shallow:
48
- return run(handlers.redactScalar);
49
- case types_1.CustomObjectMatchType.Pass:
50
- default:
51
- return run(handlers.passThrough);
52
- }
53
- };
54
- exports.applyCustomObjectPrimitiveMatchType = applyCustomObjectPrimitiveMatchType;
55
- const awaitCustomObjectMatchType = (result, asyncMode = true) => (0, maybeAsync_1.resolveMaybeAsync)(result, asyncMode);
56
- exports.awaitCustomObjectMatchType = awaitCustomObjectMatchType;
57
- //# sourceMappingURL=objectRedactorCustomObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorCustomObject.js","sourceRoot":"","sources":["../src/objectRedactorCustomObject.ts"],"names":[],"mappings":";;;AAAA,mCAAgD;AAChD,6CAA6D;AAE7D,MAAM,GAAG,GAAG,CAAI,OAA4B,EAAiB,EAAE,CAAC,OAAO,EAAE,CAAC;AAyBnE,MAAM,+BAA+B,GAAG,CAC7C,SAAgC,EAChC,QAAmC,EACjB,EAAE;IACpB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,6BAAqB,CAAC,MAAM;YAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClC,KAAK,6BAAqB,CAAC,OAAO;YAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACrC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAlBW,QAAA,+BAA+B,mCAkB1C;AAEK,MAAM,gCAAgC,GAAG,CAC9C,SAAgC,EAChC,QAAoC,EAClB,EAAE;IACpB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,6BAAqB,CAAC,MAAM;YAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClC,KAAK,6BAAqB,CAAC,OAAO,CAAC;QACnC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3C,KAAK,6BAAqB,CAAC,MAAM;YAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,gCAAgC,oCAiB3C;AAEK,MAAM,mCAAmC,GAAG,CACjD,SAAgC,EAChC,QAAuC,EACrB,EAAE;IACpB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,6BAAqB,CAAC,MAAM;YAC/B,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,6BAAqB,CAAC,IAAI;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClC,KAAK,6BAAqB,CAAC,IAAI,CAAC;QAChC,KAAK,6BAAqB,CAAC,OAAO;YAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpC,KAAK,6BAAqB,CAAC,IAAI,CAAC;QAChC;YACE,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,mCAAmC,uCAgB9C;AAEK,MAAM,0BAA0B,GAAG,CAAC,MAAwB,EAAE,SAAS,GAAG,IAAI,EAAoB,EAAE,CACzG,IAAA,8BAAiB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAD1B,QAAA,0BAA0B,8BACA"}
@@ -1,9 +0,0 @@
1
- import { CustomObject, JsonLeafValue, JsonObject, JsonValue, RedactablePrimitive, SecretSpecifierValue } from './types';
2
- import { SecretManager } from './secretManager';
3
- import { ValuePatternMatcher } from './valuePatternMatcher';
4
- export type RedactPrimitiveFn<T> = (value: RedactablePrimitive) => T;
5
- export declare function toRedactablePrimitive(value: JsonLeafValue | undefined): RedactablePrimitive;
6
- export declare function getStringValue(val: JsonValue | undefined): RedactablePrimitive;
7
- export declare function getStringSpecifiedCustomObjectSecretKeyValueIfExists(value: JsonObject, customObject: CustomObject, key: string): SecretSpecifierValue | undefined;
8
- export declare function redactPrimitiveValueIfSecret<T>(secretManager: SecretManager, valuePatternMatcher: ValuePatternMatcher, redact: RedactPrimitiveFn<T>, key: SecretSpecifierValue, value: JsonLeafValue | undefined, forceDeepRedaction: boolean): JsonValue | undefined | T;
9
- //# sourceMappingURL=objectRedactorHelpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorHelpers.d.ts","sourceRoot":"","sources":["../src/objectRedactorHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,aAAa,EACb,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,KAAK,CAAC,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,mBAAmB,CAM3F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,mBAAmB,CAU9E;AAED,wBAAgB,oDAAoD,CAClE,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,GACV,oBAAoB,GAAG,SAAS,CAgBlC;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAC5C,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,GAAG,EAAE,oBAAoB,EACzB,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,kBAAkB,EAAE,OAAO,GAC1B,SAAS,GAAG,SAAS,GAAG,CAAC,CA+B3B"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toRedactablePrimitive = toRedactablePrimitive;
4
- exports.getStringValue = getStringValue;
5
- exports.getStringSpecifiedCustomObjectSecretKeyValueIfExists = getStringSpecifiedCustomObjectSecretKeyValueIfExists;
6
- exports.redactPrimitiveValueIfSecret = redactPrimitiveValueIfSecret;
7
- const types_1 = require("./types");
8
- function toRedactablePrimitive(value) {
9
- if (value instanceof Date || typeof value === 'function') {
10
- return getStringValue(value);
11
- }
12
- return value;
13
- }
14
- function getStringValue(val) {
15
- if ((0, types_1.isJsonObject)(val) || Array.isArray(val)) {
16
- return JSON.stringify(val);
17
- }
18
- if (val instanceof Date || typeof val === 'function') {
19
- return val.toString();
20
- }
21
- return val;
22
- }
23
- function getStringSpecifiedCustomObjectSecretKeyValueIfExists(value, customObject, key) {
24
- const siblingKeyName = customObject[key];
25
- if (typeof siblingKeyName !== 'string') {
26
- return undefined;
27
- }
28
- if (!Object.prototype.hasOwnProperty.call(value, siblingKeyName)) {
29
- return undefined;
30
- }
31
- const siblingValue = value[siblingKeyName];
32
- if (typeof siblingValue === 'string' || typeof siblingValue === 'number' || typeof siblingValue === 'boolean') {
33
- return siblingValue;
34
- }
35
- return undefined;
36
- }
37
- function redactPrimitiveValueIfSecret(secretManager, valuePatternMatcher, redact, key, value, forceDeepRedaction) {
38
- if (value instanceof Date || typeof value === 'function') {
39
- if (secretManager.isFullSecretKey(key) ||
40
- forceDeepRedaction ||
41
- secretManager.isSecretKey(key) ||
42
- secretManager.isDeepSecretKey(key)) {
43
- return redact(getStringValue(value));
44
- }
45
- return value;
46
- }
47
- if (secretManager.isFullSecretKey(key)) {
48
- return redact(getStringValue(value));
49
- }
50
- if (forceDeepRedaction || secretManager.isSecretKey(key) || secretManager.isDeepSecretKey(key)) {
51
- if (secretManager.isPassKey(key)) {
52
- return value;
53
- }
54
- return redact(value);
55
- }
56
- if (valuePatternMatcher.findMatching(toRedactablePrimitive(value))) {
57
- return redact(value);
58
- }
59
- return value;
60
- }
61
- //# sourceMappingURL=objectRedactorHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorHelpers.js","sourceRoot":"","sources":["../src/objectRedactorHelpers.ts"],"names":[],"mappings":";;AAcA,sDAMC;AAED,wCAUC;AAED,oHAoBC;AAED,oEAsCC;AA9FD,mCAQiB;AAMjB,SAAgB,qBAAqB,CAAC,KAAgC;IACpE,IAAI,KAAK,YAAY,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,cAAc,CAAC,GAA0B;IACvD,IAAI,IAAA,oBAAY,EAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,YAAY,IAAI,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QACrD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,oDAAoD,CAClE,KAAiB,EACjB,YAA0B,EAC1B,GAAW;IAEX,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9G,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,4BAA4B,CAC1C,aAA4B,EAC5B,mBAAwC,EACxC,MAA4B,EAC5B,GAAyB,EACzB,KAAgC,EAChC,kBAA2B;IAE3B,IAAI,KAAK,YAAY,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACzD,IACE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC;YAClC,kBAAkB;YAClB,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC;YAC9B,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAClC,CAAC;YACD,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,kBAAkB,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/F,IAAI,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,KAA4B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,mBAAmB,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,MAAM,CAAC,KAA4B,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,10 +0,0 @@
1
- import { JsonArray, JsonObject, JsonValue } from './types';
2
- export type ContainerMutation<T extends JsonObject | JsonArray> = {
3
- readonly copyOnWrite: boolean;
4
- readonly source: T;
5
- set(key: string, value: JsonValue | undefined): void;
6
- remove(key: string): void;
7
- result(): T;
8
- };
9
- export declare const createContainerMutation: <T extends JsonObject | JsonArray>(source: T, copyOnWrite: boolean) => ContainerMutation<T>;
10
- //# sourceMappingURL=objectRedactorMutation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorMutation.d.ts","sourceRoot":"","sources":["../src/objectRedactorMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,SAAS,EAAE,MAAM,SAAS,CAAC;AAcvE,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,IAAI;IAChE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACrD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,IAAI,CAAC,CAAC;CACb,CAAC;AAsCF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,UAAU,GAAG,SAAS,UAC9D,CAAC,eACI,OAAO,KACnB,iBAAiB,CAAC,CAAC,CA2DrB,CAAC"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createContainerMutation = void 0;
4
- const createObjectCopyState = (source) => ({
5
- source,
6
- current: source,
7
- copied: false
8
- });
9
- const createArrayCopyState = (source) => ({
10
- source,
11
- current: source,
12
- copied: false
13
- });
14
- const finishObjectCopy = (state) => state.copied ? state.current : state.source;
15
- const finishArrayCopy = (state) => state.copied ? state.current : state.source;
16
- const ensureObjectCopy = (state) => {
17
- if (!state.copied) {
18
- state.current = Object.assign({}, state.source);
19
- state.copied = true;
20
- }
21
- return state.current;
22
- };
23
- const ensureArrayCopy = (state) => {
24
- if (!state.copied) {
25
- state.current = state.source.slice();
26
- state.copied = true;
27
- }
28
- return state.current;
29
- };
30
- const createContainerMutation = (source, copyOnWrite) => {
31
- if (!copyOnWrite) {
32
- const record = source;
33
- return {
34
- copyOnWrite: false,
35
- source,
36
- set(key, value) {
37
- record[key] = value;
38
- },
39
- remove(key) {
40
- delete record[key];
41
- },
42
- result() {
43
- return source;
44
- }
45
- };
46
- }
47
- if (Array.isArray(source)) {
48
- const state = createArrayCopyState(source);
49
- return {
50
- copyOnWrite: true,
51
- source,
52
- set(key, value) {
53
- const index = Number(key);
54
- if (source[index] !== value) {
55
- ensureArrayCopy(state)[index] = value;
56
- }
57
- },
58
- remove(key) {
59
- const index = Number(key);
60
- if (index < source.length) {
61
- delete ensureArrayCopy(state)[index];
62
- }
63
- },
64
- result() {
65
- return finishArrayCopy(state);
66
- }
67
- };
68
- }
69
- const state = createObjectCopyState(source);
70
- return {
71
- copyOnWrite: true,
72
- source,
73
- set(key, value) {
74
- if (source[key] !== value) {
75
- ensureObjectCopy(state)[key] = value;
76
- }
77
- },
78
- remove(key) {
79
- if (Object.prototype.hasOwnProperty.call(source, key)) {
80
- delete ensureObjectCopy(state)[key];
81
- }
82
- },
83
- result() {
84
- return finishObjectCopy(state);
85
- }
86
- };
87
- };
88
- exports.createContainerMutation = createContainerMutation;
89
- //# sourceMappingURL=objectRedactorMutation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorMutation.js","sourceRoot":"","sources":["../src/objectRedactorMutation.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { ObjectRedactorTraversal, ObjectRedactorTraversal as ObjectRedactorSyncTraversal } from './objectRedactorTraversal';
2
- //# sourceMappingURL=objectRedactorSync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorSync.d.ts","sourceRoot":"","sources":["../src/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/objectRedactorSync.ts"],"names":[],"mappings":";;;AAAA,qEAA4H;AAAnH,kIAAA,uBAAuB,OAAA;AAAE,sIAAA,uBAAuB,OAA+B"}
@@ -1,41 +0,0 @@
1
- import { TraversableJson } from './types';
2
- import { SecretManager } from './secretManager';
3
- import { CustomObjectManager } from './customObjectManager';
4
- import { PrimitiveRedactor } from './primitiveRedactor';
5
- import { ValuePatternMatcher } from './valuePatternMatcher';
6
- import { PathRuleMatcher } from './pathRuleMatcher';
7
- /**
8
- * Unified JSON traversal for in-place and copy-on-write redaction.
9
- * Sync and async paths share one implementation; async mode propagates Promises only when configured.
10
- */
11
- export declare class ObjectRedactorTraversal {
12
- private readonly primitiveRedactor;
13
- private readonly secretManager;
14
- private readonly valuePatternMatcher;
15
- private readonly ruleResolver;
16
- private readonly arrayRedactor;
17
- private readonly customObjectHandler;
18
- private readonly services;
19
- constructor(primitiveRedactor: PrimitiveRedactor, secretManager: SecretManager, customObjManager: CustomObjectManager, valuePatternMatcher: ValuePatternMatcher, pathRuleMatcher: PathRuleMatcher);
20
- usesAsyncRedactor(): boolean;
21
- redactInPlace<T extends TraversableJson>(value: T): T;
22
- redactCopyOnWrite<T extends TraversableJson>(value: T): T;
23
- redactInPlaceAsync<T extends TraversableJson>(value: T): Promise<T>;
24
- private get asyncMode();
25
- private traverseRedact;
26
- private handleCustomObject;
27
- private redactArrayInObject;
28
- private redactAllArrayValues;
29
- private redactPrimitive;
30
- private setPrimitive;
31
- private setPrimitiveFromValue;
32
- private chainHandled;
33
- private applyFieldDisposition;
34
- private redactFieldValue;
35
- private redactSecretFields;
36
- private processSecretField;
37
- private applyDefaultSecretRules;
38
- private redactNestedObject;
39
- private setPrimitiveValueIfSecret;
40
- }
41
- //# sourceMappingURL=objectRedactorTraversal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorTraversal.d.ts","sourceRoot":"","sources":["../src/objectRedactorTraversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,eAAe,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYpD;;;GAGG;AACH,qBAAa,uBAAuB;IAOhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAG1B,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC7C,gBAAgB,EAAE,mBAAmB,EACpB,mBAAmB,EAAE,mBAAmB,EACzD,eAAe,EAAE,eAAe;IAiClC,iBAAiB,IAAI,OAAO;IAI5B,aAAa,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IASrD,iBAAiB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IASzD,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAInE,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,yBAAyB;CAwBlC"}
@@ -1,201 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectRedactorTraversal = void 0;
4
- const types_1 = require("./types");
5
- const objectRedactorMutation_1 = require("./objectRedactorMutation");
6
- const objectRedactorHelpers_1 = require("./objectRedactorHelpers");
7
- const ruleResolver_1 = require("./ruleResolver");
8
- const maybeAsync_1 = require("./maybeAsync");
9
- const arrayRedaction_1 = require("./arrayRedaction");
10
- const customObjectFieldHandler_1 = require("./customObjectFieldHandler");
11
- /**
12
- * Unified JSON traversal for in-place and copy-on-write redaction.
13
- * Sync and async paths share one implementation; async mode propagates Promises only when configured.
14
- */
15
- class ObjectRedactorTraversal {
16
- constructor(primitiveRedactor, secretManager, customObjManager, valuePatternMatcher, pathRuleMatcher) {
17
- this.primitiveRedactor = primitiveRedactor;
18
- this.secretManager = secretManager;
19
- this.valuePatternMatcher = valuePatternMatcher;
20
- this.ruleResolver = new ruleResolver_1.RuleResolver(secretManager, pathRuleMatcher, valuePatternMatcher, customObjManager);
21
- this.services = {
22
- get asyncMode() {
23
- return primitiveRedactor.usesAsyncRedactor();
24
- },
25
- ruleResolver: this.ruleResolver,
26
- secretManager,
27
- valuePatternMatcher,
28
- setPrimitive: (container, key, primitive) => this.setPrimitive(container, key, primitive),
29
- setPrimitiveFromValue: (container, key, value) => this.setPrimitiveFromValue(container, key, value),
30
- setPrimitiveValueIfSecret: (container, key, secretKey, value, forceDeepRedaction) => this.setPrimitiveValueIfSecret(container, key, secretKey, value, forceDeepRedaction),
31
- redactSecretFields: (container, forceDeepRedaction, pathSegments) => this.redactSecretFields(container, forceDeepRedaction, pathSegments),
32
- handleCustomObject: (container, customObject) => this.handleCustomObject(container, customObject),
33
- redactArrayInObject: (array, key, forceDeepRedaction, parent, pathSegments) => this.redactArrayInObject(array, key, forceDeepRedaction, parent, pathSegments),
34
- redactAllArrayValues: (array, forceDeepRedaction, copyOnWrite, pathSegments) => this.redactAllArrayValues(array, forceDeepRedaction, copyOnWrite, pathSegments)
35
- };
36
- this.arrayRedactor = new arrayRedaction_1.ArrayRedactor(this.services);
37
- this.customObjectHandler = new customObjectFieldHandler_1.CustomObjectFieldHandler(this.services);
38
- }
39
- usesAsyncRedactor() {
40
- return this.primitiveRedactor.usesAsyncRedactor();
41
- }
42
- redactInPlace(value) {
43
- const result = this.traverseRedact(value, false);
44
- if (result instanceof Promise) {
45
- throw new Error('Unexpected async work on sync traversal path');
46
- }
47
- return result;
48
- }
49
- redactCopyOnWrite(value) {
50
- const result = this.traverseRedact(value, true);
51
- if (result instanceof Promise) {
52
- throw new Error('Unexpected async work on sync traversal path');
53
- }
54
- return result;
55
- }
56
- redactInPlaceAsync(value) {
57
- return Promise.resolve(this.traverseRedact(value, false));
58
- }
59
- get asyncMode() {
60
- return this.primitiveRedactor.usesAsyncRedactor();
61
- }
62
- traverseRedact(value, copyOnWrite) {
63
- const container = (0, objectRedactorMutation_1.createContainerMutation)(value, copyOnWrite);
64
- const customObject = this.ruleResolver.getMatchingSchema(value);
65
- const work = customObject && (0, types_1.isJsonObject)(value)
66
- ? this.handleCustomObject(container, customObject)
67
- : this.redactSecretFields(container, false, []);
68
- return (0, maybeAsync_1.finalizeMaybeAsync)(work, () => (copyOnWrite ? container.result() : value), this.asyncMode);
69
- }
70
- handleCustomObject(container, customObject) {
71
- return this.customObjectHandler.handleCustomObject(container, customObject);
72
- }
73
- redactArrayInObject(array, key, forceDeepRedaction, parent, pathSegments) {
74
- return this.arrayRedactor.redactArrayInObject(array, key, forceDeepRedaction, parent, pathSegments);
75
- }
76
- redactAllArrayValues(array, forceDeepRedaction, copyOnWrite, pathSegments) {
77
- return this.arrayRedactor.redactAllArrayValues(array, forceDeepRedaction, copyOnWrite, pathSegments);
78
- }
79
- redactPrimitive(value) {
80
- return this.asyncMode ? this.primitiveRedactor.redactValue(value) : this.primitiveRedactor.redactValueSync(value);
81
- }
82
- setPrimitive(container, key, primitive) {
83
- const redacted = this.redactPrimitive(primitive);
84
- if (redacted instanceof Promise) {
85
- return redacted.then((result) => {
86
- container.set(key, result);
87
- });
88
- }
89
- container.set(key, redacted);
90
- }
91
- setPrimitiveFromValue(container, key, value) {
92
- return this.setPrimitive(container, key, (0, objectRedactorHelpers_1.getStringValue)(value));
93
- }
94
- chainHandled(work) {
95
- if (work instanceof Promise) {
96
- return work.then(() => 'handled');
97
- }
98
- return 'handled';
99
- }
100
- applyFieldDisposition(disposition, value, key, fieldPath, container) {
101
- switch (disposition.action) {
102
- case 'skip':
103
- return 'handled';
104
- case 'remove':
105
- container.remove(key);
106
- return 'handled';
107
- case 'opaque':
108
- return this.chainHandled(this.setPrimitiveFromValue(container, key, value));
109
- case 'deep':
110
- return this.chainHandled(this.redactFieldValue(value, key, true, container, fieldPath));
111
- case 'shallow':
112
- if (Array.isArray(value) || (0, types_1.isJsonObject)(value)) {
113
- return this.chainHandled(this.redactFieldValue(value, key, false, container, fieldPath));
114
- }
115
- return this.chainHandled(this.setPrimitive(container, key, (0, objectRedactorHelpers_1.toRedactablePrimitive)(value)));
116
- case 'pass-key-recurse':
117
- if (Array.isArray(value) || (0, types_1.isJsonObject)(value)) {
118
- return this.chainHandled(this.redactFieldValue(value, key, false, container, fieldPath));
119
- }
120
- return 'handled';
121
- default:
122
- return 'default';
123
- }
124
- }
125
- redactFieldValue(value, key, forceDeepRedaction, container, fieldPath) {
126
- if (Array.isArray(value)) {
127
- return this.redactArrayInObject(value, key, forceDeepRedaction, container, fieldPath);
128
- }
129
- if ((0, types_1.isJsonObject)(value)) {
130
- return this.redactNestedObject(value, key, forceDeepRedaction, container, fieldPath);
131
- }
132
- return this.setPrimitiveValueIfSecret(container, key, key, value, forceDeepRedaction);
133
- }
134
- redactSecretFields(container, forceDeepRedaction, pathSegments) {
135
- const record = container.source;
136
- return (0, maybeAsync_1.runSequential)(Object.keys(record), (key) => this.processSecretField(record, key, forceDeepRedaction, pathSegments, container), this.asyncMode);
137
- }
138
- processSecretField(record, key, forceDeepRedaction, pathSegments, container) {
139
- const fieldValue = record[key];
140
- const fieldPath = [...pathSegments, key];
141
- const customObject = (0, types_1.isJsonObject)(fieldValue) ? this.ruleResolver.getMatchingSchema(fieldValue) : undefined;
142
- if (customObject && (0, types_1.isJsonObject)(fieldValue)) {
143
- const child = (0, objectRedactorMutation_1.createContainerMutation)(fieldValue, container.copyOnWrite);
144
- return (0, maybeAsync_1.finalizeMaybeAsync)(this.handleCustomObject(child, customObject), () => {
145
- if (container.copyOnWrite) {
146
- container.set(key, child.result());
147
- }
148
- }, this.asyncMode);
149
- }
150
- const disposition = this.ruleResolver.resolvePathDisposition(pathSegments, key, forceDeepRedaction);
151
- const dispositionResult = this.applyFieldDisposition(disposition, fieldValue, key, fieldPath, container);
152
- if (dispositionResult instanceof Promise) {
153
- return dispositionResult.then((handled) => handled === 'handled'
154
- ? undefined
155
- : this.applyDefaultSecretRules(fieldValue, key, forceDeepRedaction, container, fieldPath));
156
- }
157
- if (dispositionResult === 'handled') {
158
- return;
159
- }
160
- return this.applyDefaultSecretRules(fieldValue, key, forceDeepRedaction, container, fieldPath);
161
- }
162
- applyDefaultSecretRules(fieldValue, key, forceDeepRedaction, container, fieldPath) {
163
- if (this.ruleResolver.shouldRemoveByKey(key)) {
164
- container.remove(key);
165
- return;
166
- }
167
- if (this.ruleResolver.shouldOpaqueByKey(key)) {
168
- return this.setPrimitiveFromValue(container, key, fieldValue);
169
- }
170
- if (Array.isArray(fieldValue)) {
171
- return this.redactArrayInObject(fieldValue, key, forceDeepRedaction, container, fieldPath);
172
- }
173
- if ((0, types_1.isJsonObject)(fieldValue)) {
174
- return this.redactNestedObject(fieldValue, key, forceDeepRedaction, container, fieldPath);
175
- }
176
- return this.setPrimitiveValueIfSecret(container, key, key, fieldValue, forceDeepRedaction);
177
- }
178
- redactNestedObject(value, key, forceDeepRedaction, parent, pathSegments) {
179
- const child = (0, objectRedactorMutation_1.createContainerMutation)(value, parent.copyOnWrite);
180
- const customObject = this.ruleResolver.getMatchingSchema(value);
181
- const work = customObject
182
- ? this.handleCustomObject(child, customObject)
183
- : this.redactSecretFields(child, this.ruleResolver.nestedObjectForceDeepRedaction(key, forceDeepRedaction), pathSegments);
184
- return (0, maybeAsync_1.finalizeMaybeAsync)(work, () => {
185
- if (parent.copyOnWrite) {
186
- parent.set(key, child.result());
187
- }
188
- }, this.asyncMode);
189
- }
190
- setPrimitiveValueIfSecret(container, key, secretKey, value, forceDeepRedaction) {
191
- const redacted = (0, objectRedactorHelpers_1.redactPrimitiveValueIfSecret)(this.secretManager, this.valuePatternMatcher, (primitive) => this.redactPrimitive(primitive), secretKey, value, forceDeepRedaction);
192
- if (redacted instanceof Promise) {
193
- return redacted.then((result) => {
194
- container.set(key, result);
195
- });
196
- }
197
- container.set(key, redacted);
198
- }
199
- }
200
- exports.ObjectRedactorTraversal = ObjectRedactorTraversal;
201
- //# sourceMappingURL=objectRedactorTraversal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectRedactorTraversal.js","sourceRoot":"","sources":["../src/objectRedactorTraversal.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export type JsonPathSegment = string | number;
2
- export type PathPatternSegment = string | number | '*';
3
- export type ParsePathOptions = {
4
- allowWildcard?: boolean;
5
- coerceNumericSegments?: boolean;
6
- };
7
- /** Parse dot/bracket path syntax shared by JSON paths and path-rule patterns. */
8
- export declare const parsePathSegments: (path: string, options?: ParsePathOptions) => PathPatternSegment[];
9
- export declare const parseJsonPath: (path: string) => JsonPathSegment[];
10
- export declare const parsePathRulePattern: (pattern: string) => PathPatternSegment[];
11
- //# sourceMappingURL=pathParsing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pathParsing.d.ts","sourceRoot":"","sources":["../src/pathParsing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAmBF,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,SAAU,MAAM,YAAW,gBAAgB,KAAQ,kBAAkB,EAuClG,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,eAAe,EACoB,CAAC;AAEjF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,kBAAkB,EACS,CAAC"}