field-redactor 1.2.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/.github/workflows/ci.yml +38 -0
  2. package/CHANGELOG.md +156 -0
  3. package/README.md +64 -670
  4. package/dist/configValidator.d.ts +10 -0
  5. package/dist/configValidator.d.ts.map +1 -0
  6. package/dist/configValidator.js +94 -0
  7. package/dist/configValidator.js.map +1 -0
  8. package/dist/copyOnWriteHelpers.d.ts +20 -0
  9. package/dist/copyOnWriteHelpers.d.ts.map +1 -0
  10. package/dist/copyOnWriteHelpers.js +58 -0
  11. package/dist/copyOnWriteHelpers.js.map +1 -0
  12. package/dist/customObjectManager.d.ts +13 -7
  13. package/dist/customObjectManager.d.ts.map +1 -1
  14. package/dist/customObjectManager.js +30 -29
  15. package/dist/customObjectManager.js.map +1 -1
  16. package/dist/dryRun.d.ts +8 -0
  17. package/dist/dryRun.d.ts.map +1 -0
  18. package/dist/dryRun.js +75 -0
  19. package/dist/dryRun.js.map +1 -0
  20. package/dist/dryRunAttribution.d.ts +8 -0
  21. package/dist/dryRunAttribution.d.ts.map +1 -0
  22. package/dist/dryRunAttribution.js +106 -0
  23. package/dist/dryRunAttribution.js.map +1 -0
  24. package/dist/fieldRedactor.d.ts +43 -5
  25. package/dist/fieldRedactor.d.ts.map +1 -1
  26. package/dist/fieldRedactor.js +124 -24
  27. package/dist/fieldRedactor.js.map +1 -1
  28. package/dist/fieldRedactorConfigBuilder.d.ts +49 -0
  29. package/dist/fieldRedactorConfigBuilder.d.ts.map +1 -0
  30. package/dist/fieldRedactorConfigBuilder.js +98 -0
  31. package/dist/fieldRedactorConfigBuilder.js.map +1 -0
  32. package/dist/fieldRedactorDeps.d.ts +17 -0
  33. package/dist/fieldRedactorDeps.d.ts.map +1 -0
  34. package/dist/fieldRedactorDeps.js +41 -0
  35. package/dist/fieldRedactorDeps.js.map +1 -0
  36. package/dist/index.d.ts +7 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +14 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/jsonWalk.d.ts +11 -0
  41. package/dist/jsonWalk.d.ts.map +1 -0
  42. package/dist/jsonWalk.js +86 -0
  43. package/dist/jsonWalk.js.map +1 -0
  44. package/dist/objectRedactor.d.ts +9 -34
  45. package/dist/objectRedactor.d.ts.map +1 -1
  46. package/dist/objectRedactor.js +11 -298
  47. package/dist/objectRedactor.js.map +1 -1
  48. package/dist/objectRedactorCow.d.ts +35 -0
  49. package/dist/objectRedactorCow.d.ts.map +1 -0
  50. package/dist/objectRedactorCow.js +300 -0
  51. package/dist/objectRedactorCow.js.map +1 -0
  52. package/dist/objectRedactorCustomObject.d.ts +49 -0
  53. package/dist/objectRedactorCustomObject.d.ts.map +1 -0
  54. package/dist/objectRedactorCustomObject.js +138 -0
  55. package/dist/objectRedactorCustomObject.js.map +1 -0
  56. package/dist/objectRedactorHelpers.d.ts +9 -0
  57. package/dist/objectRedactorHelpers.d.ts.map +1 -0
  58. package/dist/objectRedactorHelpers.js +58 -0
  59. package/dist/objectRedactorHelpers.js.map +1 -0
  60. package/dist/objectRedactorMutation.d.ts +10 -0
  61. package/dist/objectRedactorMutation.d.ts.map +1 -0
  62. package/dist/objectRedactorMutation.js +89 -0
  63. package/dist/objectRedactorMutation.js.map +1 -0
  64. package/dist/objectRedactorSync.d.ts +2 -0
  65. package/dist/objectRedactorSync.d.ts.map +1 -0
  66. package/dist/objectRedactorSync.js +7 -0
  67. package/dist/objectRedactorSync.js.map +1 -0
  68. package/dist/objectRedactorTraversal.d.ts +57 -0
  69. package/dist/objectRedactorTraversal.d.ts.map +1 -0
  70. package/dist/objectRedactorTraversal.js +576 -0
  71. package/dist/objectRedactorTraversal.js.map +1 -0
  72. package/dist/presets.d.ts +22 -0
  73. package/dist/presets.d.ts.map +1 -0
  74. package/dist/presets.js +50 -0
  75. package/dist/presets.js.map +1 -0
  76. package/dist/primitiveRedactor.d.ts +13 -8
  77. package/dist/primitiveRedactor.d.ts.map +1 -1
  78. package/dist/primitiveRedactor.js +32 -27
  79. package/dist/primitiveRedactor.js.map +1 -1
  80. package/dist/redactionRules.d.ts +23 -0
  81. package/dist/redactionRules.d.ts.map +1 -0
  82. package/dist/redactionRules.js +76 -0
  83. package/dist/redactionRules.js.map +1 -0
  84. package/dist/regexUtils.d.ts +3 -0
  85. package/dist/regexUtils.d.ts.map +1 -0
  86. package/dist/regexUtils.js +8 -0
  87. package/dist/regexUtils.js.map +1 -0
  88. package/dist/secretManager.d.ts +12 -6
  89. package/dist/secretManager.d.ts.map +1 -1
  90. package/dist/secretManager.js +40 -14
  91. package/dist/secretManager.js.map +1 -1
  92. package/dist/types.d.ts +103 -2
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/types.js +7 -1
  95. package/dist/types.js.map +1 -1
  96. package/dist/valuePatternMatcher.d.ts +15 -0
  97. package/dist/valuePatternMatcher.d.ts.map +1 -0
  98. package/dist/valuePatternMatcher.js +30 -0
  99. package/dist/valuePatternMatcher.js.map +1 -0
  100. package/docs/guides/anti-patterns.md +107 -0
  101. package/docs/guides/metadata-redaction.md +112 -0
  102. package/docs/guides/migration-1.2-to-1.5.md +106 -0
  103. package/docs/guides/secret-key-modes.md +108 -0
  104. package/docs/guides/value-pattern-redaction.md +58 -0
  105. package/docs/reference/config.md +135 -0
  106. package/docs/release-notes/2.0.0.md +19 -0
  107. package/docs/release-notes/2.1.0.md +17 -0
  108. package/docs/release-notes/2.2.0.md +16 -0
  109. package/docs/release-notes/2.3.0.md +17 -0
  110. package/docs/release-notes/2.3.1.md +17 -0
  111. package/docs/release-notes/2.4.0.md +30 -0
  112. package/docs/release-notes/2.5.0.md +33 -0
  113. package/docs/release-notes/2.5.1.md +17 -0
  114. package/docs/release-notes/README.md +30 -0
  115. package/docs/release-notes/v1.0.0.md +17 -0
  116. package/docs/release-notes/v1.1.0.md +18 -0
  117. package/docs/release-notes/v1.2.0.md +18 -0
  118. package/docs/release-notes/v1.2.1.md +16 -0
  119. package/docs/release-notes/v1.2.2.md +19 -0
  120. package/docs/release-notes/v1.3.0.md +112 -0
  121. package/docs/release-notes/v1.5.0.md +88 -0
  122. package/jest.config.js +4 -1
  123. package/package.json +3 -3
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectRedactorCowTraversal = void 0;
4
+ const types_1 = require("./types");
5
+ const copyOnWriteHelpers_1 = require("./copyOnWriteHelpers");
6
+ const objectRedactorHelpers_1 = require("./objectRedactorHelpers");
7
+ /**
8
+ * Copy-on-write JSON traversal: clones only branches that are mutated so unredacted
9
+ * subtrees are shared with the input.
10
+ */
11
+ class ObjectRedactorCowTraversal {
12
+ constructor(primitiveRedactor, secretManager, customObjManager) {
13
+ this.primitiveRedactor = primitiveRedactor;
14
+ this.secretManager = secretManager;
15
+ this.customObjManager = customObjManager;
16
+ }
17
+ redactCopyOnWrite(value) {
18
+ const customObject = this.customObjManager.getMatchingCustomObject(value);
19
+ if (customObject && (0, types_1.isJsonObject)(value)) {
20
+ return this.handleCustomObject(value, customObject);
21
+ }
22
+ return this.redactSecretObjectFields(value);
23
+ }
24
+ redactSecretObjectFields(object, forceDeepRedaction = false) {
25
+ if (Array.isArray(object)) {
26
+ return this.redactSecretArrayRecord(object, forceDeepRedaction);
27
+ }
28
+ return this.redactSecretObjectRecord(object, forceDeepRedaction);
29
+ }
30
+ redactSecretArrayRecord(array, forceDeepRedaction) {
31
+ const state = (0, copyOnWriteHelpers_1.createArrayCopyState)(array);
32
+ for (const key of Object.keys(array)) {
33
+ const index = Number(key);
34
+ const value = array[index];
35
+ const customObject = (0, types_1.isJsonObject)(value) ? this.customObjManager.getMatchingCustomObject(value) : undefined;
36
+ if (customObject && (0, types_1.isJsonObject)(value)) {
37
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.handleCustomObject(value, customObject));
38
+ }
39
+ else if (this.secretManager.isDeleteSecretKey(key)) {
40
+ (0, copyOnWriteHelpers_1.deleteArrayIndex)(state, index);
41
+ }
42
+ else if (this.secretManager.isFullSecretKey(key)) {
43
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactPrimitive((0, objectRedactorHelpers_1.getStringValue)(value)));
44
+ }
45
+ else if (Array.isArray(value)) {
46
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactArrayInObject(value, key, forceDeepRedaction));
47
+ }
48
+ else if ((0, types_1.isJsonObject)(value)) {
49
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactNestedObject(value, key, forceDeepRedaction));
50
+ }
51
+ else {
52
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactPrimitiveValueIfSecret(key, value, forceDeepRedaction));
53
+ }
54
+ }
55
+ return (0, copyOnWriteHelpers_1.finishArrayCopy)(state);
56
+ }
57
+ redactSecretObjectRecord(object, forceDeepRedaction) {
58
+ const state = (0, copyOnWriteHelpers_1.createObjectCopyState)(object);
59
+ for (const key of Object.keys(object)) {
60
+ const value = object[key];
61
+ const customObject = (0, types_1.isJsonObject)(value) ? this.customObjManager.getMatchingCustomObject(value) : undefined;
62
+ if (customObject && (0, types_1.isJsonObject)(value)) {
63
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.handleCustomObject(value, customObject));
64
+ }
65
+ else if (this.secretManager.isDeleteSecretKey(key)) {
66
+ (0, copyOnWriteHelpers_1.deleteObjectKey)(state, key);
67
+ }
68
+ else if (this.secretManager.isFullSecretKey(key)) {
69
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitive((0, objectRedactorHelpers_1.getStringValue)(value)));
70
+ }
71
+ else if (Array.isArray(value)) {
72
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactArrayInObject(value, key, forceDeepRedaction));
73
+ }
74
+ else if ((0, types_1.isJsonObject)(value)) {
75
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactNestedObject(value, key, forceDeepRedaction));
76
+ }
77
+ else {
78
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitiveValueIfSecret(key, value, forceDeepRedaction));
79
+ }
80
+ }
81
+ return (0, copyOnWriteHelpers_1.finishObjectCopy)(state);
82
+ }
83
+ redactArrayInObject(array, key, forceDeepRedaction) {
84
+ const deepSecretKey = this.secretManager.isDeepSecretKey(key);
85
+ if (this.secretManager.isSecretKey(key) || deepSecretKey || forceDeepRedaction) {
86
+ return this.redactAllArrayValues(array, forceDeepRedaction || deepSecretKey);
87
+ }
88
+ return this.redactObjectsInArray(array);
89
+ }
90
+ redactObjectsInArray(array) {
91
+ const state = (0, copyOnWriteHelpers_1.createArrayCopyState)(array);
92
+ for (let index = 0; index < array.length; index++) {
93
+ const value = array[index];
94
+ if ((0, types_1.isJsonObject)(value)) {
95
+ const customObject = this.customObjManager.getMatchingCustomObject(value);
96
+ if (customObject) {
97
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.handleCustomObject(value, customObject));
98
+ }
99
+ else {
100
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactSecretObjectRecord(value, false));
101
+ }
102
+ }
103
+ }
104
+ return (0, copyOnWriteHelpers_1.finishArrayCopy)(state);
105
+ }
106
+ redactAllArrayValues(array, forceDeepRedaction) {
107
+ const state = (0, copyOnWriteHelpers_1.createArrayCopyState)(array);
108
+ for (let index = 0; index < array.length; index++) {
109
+ const value = array[index];
110
+ if (Array.isArray(value)) {
111
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactAllArrayValues(value, forceDeepRedaction));
112
+ }
113
+ else if (!(0, types_1.isJsonObject)(value)) {
114
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactPrimitive((0, objectRedactorHelpers_1.toRedactablePrimitive)(value)));
115
+ }
116
+ else {
117
+ const customObject = this.customObjManager.getMatchingCustomObject(value);
118
+ if (customObject) {
119
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.handleCustomObject(value, customObject));
120
+ }
121
+ else {
122
+ (0, copyOnWriteHelpers_1.setArrayIndex)(state, index, this.redactSecretObjectRecord(value, forceDeepRedaction));
123
+ }
124
+ }
125
+ }
126
+ return (0, copyOnWriteHelpers_1.finishArrayCopy)(state);
127
+ }
128
+ redactNestedObject(value, key, forceDeepRedaction) {
129
+ const customObject = this.customObjManager.getMatchingCustomObject(value);
130
+ if (customObject) {
131
+ return this.handleCustomObject(value, customObject);
132
+ }
133
+ return this.redactSecretObjectRecord(value, forceDeepRedaction || this.secretManager.isDeepSecretKey(key));
134
+ }
135
+ handleCustomObject(value, customObject) {
136
+ const state = (0, copyOnWriteHelpers_1.createObjectCopyState)(value);
137
+ for (const key of Object.keys(customObject)) {
138
+ const fieldValue = value[key];
139
+ if (Array.isArray(fieldValue)) {
140
+ this.handleCustomObjectValueIfArray(state, key, customObject);
141
+ }
142
+ else if ((0, types_1.isJsonObject)(fieldValue)) {
143
+ this.handleCustomObjectValueIfObject(state, key, customObject);
144
+ }
145
+ else {
146
+ this.handleCustomObjectValueIfPrimitive(state, customObject, key);
147
+ }
148
+ }
149
+ return (0, copyOnWriteHelpers_1.finishObjectCopy)(state);
150
+ }
151
+ handleCustomObjectValueIfArray(state, key, customObject) {
152
+ const stringKey = (0, objectRedactorHelpers_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists)(state.source, customObject, key);
153
+ if (stringKey !== undefined) {
154
+ this.handleCustomObjectArrayValueIfStringKeySpecified(state, key, stringKey);
155
+ }
156
+ else {
157
+ this.handleCustomObjectArrayValueIfMatchTypeSpecified(state, key, customObject[key]);
158
+ }
159
+ }
160
+ handleCustomObjectArrayValueIfStringKeySpecified(state, key, stringKey) {
161
+ const fieldValue = state.source[key];
162
+ if (!Array.isArray(fieldValue)) {
163
+ return;
164
+ }
165
+ if (this.secretManager.isDeleteSecretKey(stringKey)) {
166
+ (0, copyOnWriteHelpers_1.deleteObjectKey)(state, key);
167
+ }
168
+ else if (this.secretManager.isFullSecretKey(stringKey)) {
169
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitive((0, objectRedactorHelpers_1.getStringValue)(fieldValue)));
170
+ }
171
+ else {
172
+ const isDeepSecretKey = this.secretManager.isDeepSecretKey(stringKey);
173
+ if (isDeepSecretKey || this.secretManager.isSecretKey(stringKey)) {
174
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactAllArrayValues(fieldValue, isDeepSecretKey));
175
+ }
176
+ }
177
+ }
178
+ handleCustomObjectArrayValueIfMatchTypeSpecified(state, key, matchType) {
179
+ const fieldValue = state.source[key];
180
+ if (!Array.isArray(fieldValue)) {
181
+ return;
182
+ }
183
+ switch (matchType) {
184
+ case types_1.CustomObjectMatchType.Delete:
185
+ (0, copyOnWriteHelpers_1.deleteObjectKey)(state, key);
186
+ return;
187
+ case types_1.CustomObjectMatchType.Full:
188
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitive((0, objectRedactorHelpers_1.getStringValue)(fieldValue)));
189
+ return;
190
+ case types_1.CustomObjectMatchType.Deep:
191
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactAllArrayValues(fieldValue, true));
192
+ return;
193
+ case types_1.CustomObjectMatchType.Shallow:
194
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactAllArrayValues(fieldValue, false));
195
+ return;
196
+ case types_1.CustomObjectMatchType.Pass:
197
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactArrayInObject(fieldValue, key, false));
198
+ default:
199
+ return;
200
+ }
201
+ }
202
+ handleCustomObjectValueIfObject(state, key, customObject) {
203
+ const stringKey = (0, objectRedactorHelpers_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists)(state.source, customObject, key);
204
+ if (stringKey !== undefined) {
205
+ this.handleCustomObjectObjectValueIfStringKeySpecified(state, key, stringKey);
206
+ }
207
+ else {
208
+ this.handleCustomObjectObjectValueIfMatchTypeSpecified(state, key, customObject[key]);
209
+ }
210
+ }
211
+ handleCustomObjectObjectValueIfStringKeySpecified(state, key, stringKey) {
212
+ const fieldValue = state.source[key];
213
+ if (!(0, types_1.isJsonObject)(fieldValue)) {
214
+ return;
215
+ }
216
+ const customObject = this.customObjManager.getMatchingCustomObject(fieldValue);
217
+ if (customObject) {
218
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.handleCustomObject(fieldValue, customObject));
219
+ }
220
+ else if (this.secretManager.isDeleteSecretKey(stringKey)) {
221
+ (0, copyOnWriteHelpers_1.deleteObjectKey)(state, key);
222
+ }
223
+ else if (this.secretManager.isFullSecretKey(stringKey)) {
224
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitive((0, objectRedactorHelpers_1.getStringValue)(fieldValue)));
225
+ }
226
+ else if (this.secretManager.isDeepSecretKey(stringKey)) {
227
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactSecretObjectRecord(fieldValue, true));
228
+ }
229
+ else if (this.secretManager.isSecretKey(stringKey)) {
230
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactSecretObjectRecord(fieldValue, false));
231
+ }
232
+ }
233
+ handleCustomObjectObjectValueIfMatchTypeSpecified(state, key, matchType) {
234
+ const fieldValue = state.source[key];
235
+ if (!(0, types_1.isJsonObject)(fieldValue)) {
236
+ return;
237
+ }
238
+ switch (matchType) {
239
+ case types_1.CustomObjectMatchType.Delete:
240
+ (0, copyOnWriteHelpers_1.deleteObjectKey)(state, key);
241
+ return;
242
+ case types_1.CustomObjectMatchType.Full:
243
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitive((0, objectRedactorHelpers_1.getStringValue)(fieldValue)));
244
+ return;
245
+ case types_1.CustomObjectMatchType.Deep:
246
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactSecretObjectRecord(fieldValue, true));
247
+ return;
248
+ case types_1.CustomObjectMatchType.Shallow:
249
+ case types_1.CustomObjectMatchType.Pass:
250
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactSecretObjectRecord(fieldValue, false));
251
+ return;
252
+ case types_1.CustomObjectMatchType.Ignore:
253
+ return;
254
+ }
255
+ }
256
+ handleCustomObjectValueIfPrimitive(state, customObject, key) {
257
+ if (typeof customObject[key] === 'number') {
258
+ this.handleCustomObjectPrimitiveValueIfMatchTypeSpecified(state, key, customObject[key]);
259
+ return;
260
+ }
261
+ const secretKey = (0, objectRedactorHelpers_1.getStringSpecifiedCustomObjectSecretKeyValueIfExists)(state.source, customObject, key);
262
+ if (secretKey === undefined) {
263
+ return;
264
+ }
265
+ this.handleCustomObjectPrimitiveValueIfStringKeySpecified(state, secretKey, key);
266
+ }
267
+ handleCustomObjectPrimitiveValueIfMatchTypeSpecified(state, key, matchValue) {
268
+ switch (matchValue) {
269
+ case types_1.CustomObjectMatchType.Delete:
270
+ (0, copyOnWriteHelpers_1.deleteObjectKey)(state, key);
271
+ return;
272
+ case types_1.CustomObjectMatchType.Full:
273
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitive((0, objectRedactorHelpers_1.getStringValue)(state.source[key])));
274
+ return;
275
+ case types_1.CustomObjectMatchType.Deep:
276
+ case types_1.CustomObjectMatchType.Shallow:
277
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitive(state.source[key]));
278
+ return;
279
+ case types_1.CustomObjectMatchType.Pass:
280
+ default:
281
+ return;
282
+ }
283
+ }
284
+ handleCustomObjectPrimitiveValueIfStringKeySpecified(state, secretKey, key) {
285
+ if (this.secretManager.isDeleteSecretKey(secretKey)) {
286
+ (0, copyOnWriteHelpers_1.deleteObjectKey)(state, key);
287
+ }
288
+ else {
289
+ (0, copyOnWriteHelpers_1.setObjectKey)(state, key, this.redactPrimitiveValueIfSecret(secretKey, state.source[key], false));
290
+ }
291
+ }
292
+ redactPrimitiveValueIfSecret(key, value, forceDeepRedaction) {
293
+ return (0, objectRedactorHelpers_1.redactPrimitiveValueIfSecret)(this.secretManager, (primitive) => this.redactPrimitive(primitive), key, value, forceDeepRedaction);
294
+ }
295
+ redactPrimitive(value) {
296
+ return this.primitiveRedactor.redactValueSync(value);
297
+ }
298
+ }
299
+ exports.ObjectRedactorCowTraversal = ObjectRedactorCowTraversal;
300
+ //# sourceMappingURL=objectRedactorCow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectRedactorCow.js","sourceRoot":"","sources":["../src/objectRedactorCow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { CustomObjectMatchType } from './types';
2
+ type CustomObjectArrayHandlers = {
3
+ deleteKey(): void;
4
+ redactFull(): void;
5
+ redactDeep(): void;
6
+ redactShallow(): void;
7
+ passThrough(): void;
8
+ };
9
+ type CustomObjectObjectHandlers = {
10
+ deleteKey(): void;
11
+ redactFull(): void;
12
+ redactDeep(): void;
13
+ redactShallowOrPass(): void;
14
+ ignore(): void;
15
+ };
16
+ type CustomObjectPrimitiveHandlers = {
17
+ deleteKey(): void;
18
+ redactFull(): void;
19
+ redactScalar(): void;
20
+ passThrough(): void;
21
+ };
22
+ type AsyncCustomObjectArrayHandlers = {
23
+ deleteKey(): Promise<void>;
24
+ redactFull(): Promise<void>;
25
+ redactDeep(): Promise<void>;
26
+ redactShallow(): Promise<void>;
27
+ passThrough(): Promise<void>;
28
+ };
29
+ type AsyncCustomObjectObjectHandlers = {
30
+ deleteKey(): Promise<void>;
31
+ redactFull(): Promise<void>;
32
+ redactDeep(): Promise<void>;
33
+ redactShallowOrPass(): Promise<void>;
34
+ ignore(): Promise<void>;
35
+ };
36
+ type AsyncCustomObjectPrimitiveHandlers = {
37
+ deleteKey(): Promise<void>;
38
+ redactFull(): Promise<void>;
39
+ redactScalar(): Promise<void>;
40
+ passThrough(): Promise<void>;
41
+ };
42
+ export declare const applyCustomObjectArrayMatchType: (matchType: CustomObjectMatchType, handlers: CustomObjectArrayHandlers) => void;
43
+ export declare const applyCustomObjectObjectMatchType: (matchType: CustomObjectMatchType, handlers: CustomObjectObjectHandlers) => void;
44
+ export declare const applyCustomObjectPrimitiveMatchType: (matchType: CustomObjectMatchType, handlers: CustomObjectPrimitiveHandlers) => void;
45
+ export declare const applyCustomObjectArrayMatchTypeAsync: (matchType: CustomObjectMatchType, handlers: AsyncCustomObjectArrayHandlers) => Promise<void>;
46
+ export declare const applyCustomObjectObjectMatchTypeAsync: (matchType: CustomObjectMatchType, handlers: AsyncCustomObjectObjectHandlers) => Promise<void>;
47
+ export declare const applyCustomObjectPrimitiveMatchTypeAsync: (matchType: CustomObjectMatchType, handlers: AsyncCustomObjectPrimitiveHandlers) => Promise<void>;
48
+ export {};
49
+ //# sourceMappingURL=objectRedactorCustomObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectRedactorCustomObject.d.ts","sourceRoot":"","sources":["../src/objectRedactorCustomObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,KAAK,yBAAyB,GAAG;IAC/B,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,IAAI,CAAC;IACnB,aAAa,IAAI,IAAI,CAAC;IACtB,WAAW,IAAI,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,IAAI,CAAC;IACnB,mBAAmB,IAAI,IAAI,CAAC;IAC5B,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,SAAS,IAAI,IAAI,CAAC;IAClB,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,IAAI,CAAC;IACrB,WAAW,IAAI,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,+BAA+B,GAAG;IACrC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,+BAA+B,cAC/B,qBAAqB,YACtB,yBAAyB,KAClC,IAoBF,CAAC;AAEF,eAAO,MAAM,gCAAgC,cAChC,qBAAqB,YACtB,0BAA0B,KACnC,IAmBF,CAAC;AAEF,eAAO,MAAM,mCAAmC,cACnC,qBAAqB,YACtB,6BAA6B,KACtC,IAiBF,CAAC;AAEF,eAAO,MAAM,oCAAoC,cACpC,qBAAqB,YACtB,8BAA8B,KACvC,OAAO,CAAC,IAAI,CAoBd,CAAC;AAEF,eAAO,MAAM,qCAAqC,cACrC,qBAAqB,YACtB,+BAA+B,KACxC,OAAO,CAAC,IAAI,CAmBd,CAAC;AAEF,eAAO,MAAM,wCAAwC,cACxC,qBAAqB,YACtB,kCAAkC,KAC3C,OAAO,CAAC,IAAI,CAiBd,CAAC"}
@@ -0,0 +1,138 @@
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.applyCustomObjectPrimitiveMatchTypeAsync = exports.applyCustomObjectObjectMatchTypeAsync = exports.applyCustomObjectArrayMatchTypeAsync = exports.applyCustomObjectPrimitiveMatchType = exports.applyCustomObjectObjectMatchType = exports.applyCustomObjectArrayMatchType = void 0;
13
+ const types_1 = require("./types");
14
+ const applyCustomObjectArrayMatchType = (matchType, handlers) => {
15
+ switch (matchType) {
16
+ case types_1.CustomObjectMatchType.Delete:
17
+ handlers.deleteKey();
18
+ return;
19
+ case types_1.CustomObjectMatchType.Full:
20
+ handlers.redactFull();
21
+ return;
22
+ case types_1.CustomObjectMatchType.Deep:
23
+ handlers.redactDeep();
24
+ return;
25
+ case types_1.CustomObjectMatchType.Shallow:
26
+ handlers.redactShallow();
27
+ return;
28
+ case types_1.CustomObjectMatchType.Pass:
29
+ handlers.passThrough();
30
+ return;
31
+ default:
32
+ return;
33
+ }
34
+ };
35
+ exports.applyCustomObjectArrayMatchType = applyCustomObjectArrayMatchType;
36
+ const applyCustomObjectObjectMatchType = (matchType, handlers) => {
37
+ switch (matchType) {
38
+ case types_1.CustomObjectMatchType.Delete:
39
+ handlers.deleteKey();
40
+ return;
41
+ case types_1.CustomObjectMatchType.Full:
42
+ handlers.redactFull();
43
+ return;
44
+ case types_1.CustomObjectMatchType.Deep:
45
+ handlers.redactDeep();
46
+ return;
47
+ case types_1.CustomObjectMatchType.Shallow:
48
+ case types_1.CustomObjectMatchType.Pass:
49
+ handlers.redactShallowOrPass();
50
+ return;
51
+ case types_1.CustomObjectMatchType.Ignore:
52
+ handlers.ignore();
53
+ return;
54
+ }
55
+ };
56
+ exports.applyCustomObjectObjectMatchType = applyCustomObjectObjectMatchType;
57
+ const applyCustomObjectPrimitiveMatchType = (matchType, handlers) => {
58
+ switch (matchType) {
59
+ case types_1.CustomObjectMatchType.Delete:
60
+ handlers.deleteKey();
61
+ return;
62
+ case types_1.CustomObjectMatchType.Full:
63
+ handlers.redactFull();
64
+ return;
65
+ case types_1.CustomObjectMatchType.Deep:
66
+ case types_1.CustomObjectMatchType.Shallow:
67
+ handlers.redactScalar();
68
+ return;
69
+ case types_1.CustomObjectMatchType.Pass:
70
+ default:
71
+ handlers.passThrough();
72
+ return;
73
+ }
74
+ };
75
+ exports.applyCustomObjectPrimitiveMatchType = applyCustomObjectPrimitiveMatchType;
76
+ const applyCustomObjectArrayMatchTypeAsync = (matchType, handlers) => __awaiter(void 0, void 0, void 0, function* () {
77
+ switch (matchType) {
78
+ case types_1.CustomObjectMatchType.Delete:
79
+ yield handlers.deleteKey();
80
+ return;
81
+ case types_1.CustomObjectMatchType.Full:
82
+ yield handlers.redactFull();
83
+ return;
84
+ case types_1.CustomObjectMatchType.Deep:
85
+ yield handlers.redactDeep();
86
+ return;
87
+ case types_1.CustomObjectMatchType.Shallow:
88
+ yield handlers.redactShallow();
89
+ return;
90
+ case types_1.CustomObjectMatchType.Pass:
91
+ yield handlers.passThrough();
92
+ return;
93
+ default:
94
+ return;
95
+ }
96
+ });
97
+ exports.applyCustomObjectArrayMatchTypeAsync = applyCustomObjectArrayMatchTypeAsync;
98
+ const applyCustomObjectObjectMatchTypeAsync = (matchType, handlers) => __awaiter(void 0, void 0, void 0, function* () {
99
+ switch (matchType) {
100
+ case types_1.CustomObjectMatchType.Delete:
101
+ yield handlers.deleteKey();
102
+ return;
103
+ case types_1.CustomObjectMatchType.Full:
104
+ yield handlers.redactFull();
105
+ return;
106
+ case types_1.CustomObjectMatchType.Deep:
107
+ yield handlers.redactDeep();
108
+ return;
109
+ case types_1.CustomObjectMatchType.Shallow:
110
+ case types_1.CustomObjectMatchType.Pass:
111
+ yield handlers.redactShallowOrPass();
112
+ return;
113
+ case types_1.CustomObjectMatchType.Ignore:
114
+ yield handlers.ignore();
115
+ return;
116
+ }
117
+ });
118
+ exports.applyCustomObjectObjectMatchTypeAsync = applyCustomObjectObjectMatchTypeAsync;
119
+ const applyCustomObjectPrimitiveMatchTypeAsync = (matchType, handlers) => __awaiter(void 0, void 0, void 0, function* () {
120
+ switch (matchType) {
121
+ case types_1.CustomObjectMatchType.Delete:
122
+ yield handlers.deleteKey();
123
+ return;
124
+ case types_1.CustomObjectMatchType.Full:
125
+ yield handlers.redactFull();
126
+ return;
127
+ case types_1.CustomObjectMatchType.Deep:
128
+ case types_1.CustomObjectMatchType.Shallow:
129
+ yield handlers.redactScalar();
130
+ return;
131
+ case types_1.CustomObjectMatchType.Pass:
132
+ default:
133
+ yield handlers.passThrough();
134
+ return;
135
+ }
136
+ });
137
+ exports.applyCustomObjectPrimitiveMatchTypeAsync = applyCustomObjectPrimitiveMatchTypeAsync;
138
+ //# sourceMappingURL=objectRedactorCustomObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectRedactorCustomObject.js","sourceRoot":"","sources":["../src/objectRedactorCustomObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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,CA2B3B"}
@@ -0,0 +1,58 @@
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
+ return redact(value);
52
+ }
53
+ if (valuePatternMatcher.findMatching(toRedactablePrimitive(value))) {
54
+ return redact(value);
55
+ }
56
+ return value;
57
+ }
58
+ //# sourceMappingURL=objectRedactorHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectRedactorHelpers.js","sourceRoot":"","sources":["../src/objectRedactorHelpers.ts"],"names":[],"mappings":";;AAcA,sDAMC;AAED,wCAUC;AAED,oHAoBC;AAED,oEAkCC;AA1FD,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,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"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}