@trayio/commons 4.82.0 → 4.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codec/PartialRedactionCodec.d.ts.map +1 -1
- package/dist/codec/PartialRedactionCodec.js +5 -0
- package/dist/codec/PartialRedactionCodec.test.js +6 -0
- package/dist/dynamictype/DynamicType.d.ts +1 -0
- package/dist/dynamictype/DynamicType.d.ts.map +1 -1
- package/dist/dynamictype/DynamicType.js +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PartialRedactionCodec.d.ts","sourceRoot":"","sources":["../../src/codec/PartialRedactionCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,qBAAsB,YAAW,KAAK,CAAC,OAAO,CAAC;IAC3D,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAA+B;IAE9D,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;IAIhD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"PartialRedactionCodec.d.ts","sourceRoot":"","sources":["../../src/codec/PartialRedactionCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,qBAAsB,YAAW,KAAK,CAAC,OAAO,CAAC;IAC3D,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAA+B;IAE9D,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;IAIhD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,6BAA6B;IAcrC,OAAO,CAAC,wBAAwB,CAM9B;CACF"}
|
|
@@ -47,6 +47,11 @@ class PartialRedactionCodec {
|
|
|
47
47
|
if (Array.isArray(value)) {
|
|
48
48
|
return this.removeNullFromArrayIfPresent(value);
|
|
49
49
|
}
|
|
50
|
+
if (typeof value === 'string' ||
|
|
51
|
+
typeof value === 'number' ||
|
|
52
|
+
typeof value === 'boolean') {
|
|
53
|
+
return this.partiallyRedactPrimitive(value);
|
|
54
|
+
}
|
|
50
55
|
return value;
|
|
51
56
|
}
|
|
52
57
|
removeNullFromArrayIfPresent(value) {
|
|
@@ -24,6 +24,12 @@ describe('PartialRedactionCodec', () => {
|
|
|
24
24
|
};
|
|
25
25
|
expect(actualValue).toStrictEqual(expectedValue);
|
|
26
26
|
});
|
|
27
|
+
it('should redact primitive data', () => {
|
|
28
|
+
const value = 'password';
|
|
29
|
+
const actualValue = PartialRedactionCodec_1.PartialRedactionCodec.instance.encode(value);
|
|
30
|
+
const expectedValue = 'pass.....';
|
|
31
|
+
expect(actualValue).toStrictEqual(expectedValue);
|
|
32
|
+
});
|
|
27
33
|
it('should redact sensitive typed data in nested arrays', () => {
|
|
28
34
|
const value = {
|
|
29
35
|
users: [{ password: 'password', username: 'username' }],
|
|
@@ -11,6 +11,7 @@ export type DynamicArray = Array<DynamicType>;
|
|
|
11
11
|
export interface DynamicObjectInterface {
|
|
12
12
|
fromBase64String: (base64Str: string) => E.Either<Error, DynamicObject>;
|
|
13
13
|
removeNullValues: (value: DynamicObject) => DynamicObject;
|
|
14
|
+
isDynamicObject: (value: unknown) => value is DynamicObject;
|
|
14
15
|
getTypedProperty: <T>(dynamicObject: DynamicObject, name: string, codec: Codec<T>) => O.Option<T>;
|
|
15
16
|
getObjectProperty: (dynamicObject: DynamicObject, name: string) => O.Option<DynamicObject>;
|
|
16
17
|
getStringProperty: (dynamicObject: DynamicObject, name: string) => O.Option<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicType.d.ts","sourceRoot":"","sources":["../../src/dynamictype/DynamicType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAK3B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,MAAM,MAAM,WAAW,GACpB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,aAAa,GACb,YAAY,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAM9C,MAAM,WAAW,sBAAsB;IACtC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxE,gBAAgB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC;IAC1D,gBAAgB,EAAE,CAAC,CAAC,EACnB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KACX,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7B,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,kBAAkB,EAAE,CACnB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"DynamicType.d.ts","sourceRoot":"","sources":["../../src/dynamictype/DynamicType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAK3B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,MAAM,MAAM,WAAW,GACpB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,aAAa,GACb,YAAY,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;AAM9C,MAAM,WAAW,sBAAsB;IACtC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxE,gBAAgB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC;IAC1D,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,aAAa,CAAC;IAC5D,gBAAgB,EAAE,CAAC,CAAC,EACnB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KACX,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjB,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7B,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,kBAAkB,EAAE,CACnB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,sBAgE3B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9E,gBAAgB,EAAE,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,KACd,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,EACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KACX,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxB,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,iBAAiB,EAAE,CAClB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,kBAAkB,EAAE,CACnB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,MAAM,KACR,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,EAAE,oBAqDzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAWrD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAG7D,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAG3D,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAClC,OAAO,MAAM,EAAE,GAAG,CAAC,KACtB,WAUF,CAAC"}
|
|
@@ -41,6 +41,7 @@ const testRemoveNullValuesCodec = RemoveNullValuesCodec_1.RemoveNullValuesCodec.
|
|
|
41
41
|
exports.DynamicObject = {
|
|
42
42
|
fromBase64String: (base64Str) => (0, function_1.pipe)(Base64_1.Base64.fromBase64String(base64Str), E.map((base64) => Base64_1.Base64.decodeBinary(base64)), E.chain((decoded) => serializer.deserialize(decoded)), E.map((decoded) => decoded)),
|
|
43
43
|
removeNullValues: (value) => testRemoveNullValuesCodec.encode(value),
|
|
44
|
+
isDynamicObject: (value) => exports.dynamicObjectTypeDescriptor.is(value),
|
|
44
45
|
getTypedProperty: (dynamicObject, name, codec) => (0, function_1.pipe)((0, function_1.pipe)(O.fromNullable(dynamicObject[name]), O.chain((property) => O.fromEither(exports.DynamicType.safeCast(property, codec))))),
|
|
45
46
|
getObjectProperty: (dynamicObject, name) => exports.DynamicObject.getTypedProperty(dynamicObject, name, TypeCodec_1.TypeCodec.fromDescriptor(exports.dynamicObjectTypeDescriptor)),
|
|
46
47
|
getStringProperty: (dynamicObject, name) => (0, function_1.pipe)(O.fromNullable(dynamicObject[name]), O.chain((property) => typeof property === 'string' ? O.some(property) : O.none)),
|