@trayio/commons 5.33.0 → 5.35.0-unstable.fd7158a
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/base64/Base64.d.ts +5 -10
- package/dist/base64/Base64.d.ts.map +1 -1
- package/dist/base64/Base64.js +8 -40
- package/dist/base64/Base64.unit.test.js +4 -27
- package/dist/buffer/BufferExtensions.d.ts +4 -4
- package/dist/buffer/BufferExtensions.d.ts.map +1 -1
- package/dist/buffer/BufferExtensions.js +25 -38
- package/dist/buffer/BufferExtensions.unit.test.js +22 -45
- package/dist/callsite/CallSite.js +17 -7
- package/dist/codec/CamelCasePropertyNameCodec.d.ts +2 -2
- package/dist/codec/CamelCasePropertyNameCodec.d.ts.map +1 -1
- package/dist/codec/CamelCasePropertyNameCodec.js +2 -25
- package/dist/codec/Codec.abstract.test.d.ts +2 -2
- package/dist/codec/Codec.abstract.test.d.ts.map +1 -1
- package/dist/codec/Codec.abstract.test.js +5 -31
- package/dist/codec/Codec.d.ts +2 -2
- package/dist/codec/Codec.d.ts.map +1 -1
- package/dist/codec/CompositeCodec.d.ts +2 -2
- package/dist/codec/CompositeCodec.d.ts.map +1 -1
- package/dist/codec/CompositeCodec.js +2 -26
- package/dist/codec/PartialRedactionCodec.d.ts +2 -2
- package/dist/codec/PartialRedactionCodec.d.ts.map +1 -1
- package/dist/codec/PartialRedactionCodec.js +2 -25
- package/dist/codec/RemoveNullValuesCodec.d.ts +2 -2
- package/dist/codec/RemoveNullValuesCodec.d.ts.map +1 -1
- package/dist/codec/RemoveNullValuesCodec.js +2 -25
- package/dist/codec/RemoveTopLevelTagCodec.d.ts +2 -2
- package/dist/codec/RemoveTopLevelTagCodec.d.ts.map +1 -1
- package/dist/codec/RemoveTopLevelTagCodec.js +2 -25
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.d.ts +2 -2
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.d.ts.map +1 -1
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.js +2 -25
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.unit.test.js +15 -38
- package/dist/codec/SnakeCasePropertyNameCodec.d.ts +2 -2
- package/dist/codec/SnakeCasePropertyNameCodec.d.ts.map +1 -1
- package/dist/codec/SnakeCasePropertyNameCodec.js +2 -25
- package/dist/codec/TypeCodec.d.ts +24 -8
- package/dist/codec/TypeCodec.d.ts.map +1 -1
- package/dist/codec/TypeCodec.js +40 -48
- package/dist/codec/TypeCodec.unit.test.js +12 -38
- package/dist/dynamicschema/DynamicSchema.d.ts +6 -12
- package/dist/dynamicschema/DynamicSchema.d.ts.map +1 -1
- package/dist/dynamicschema/DynamicSchema.js +18 -41
- package/dist/dynamicschema/DynamicSchema.unit.test.js +51 -75
- package/dist/dynamictype/DynamicType.d.ts +17 -20
- package/dist/dynamictype/DynamicType.d.ts.map +1 -1
- package/dist/dynamictype/DynamicType.js +48 -35
- package/dist/effect/EffectExtensions.d.ts +29 -0
- package/dist/effect/EffectExtensions.d.ts.map +1 -0
- package/dist/effect/EffectExtensions.js +30 -0
- package/dist/effect/EffectExtensions.unit.test.d.ts +2 -0
- package/dist/effect/EffectExtensions.unit.test.d.ts.map +1 -0
- package/dist/effect/EffectExtensions.unit.test.js +59 -0
- package/dist/effect/Interop.d.ts +53 -0
- package/dist/effect/Interop.d.ts.map +1 -0
- package/dist/effect/Interop.js +56 -0
- package/dist/effect/Interop.unit.test.d.ts +2 -0
- package/dist/effect/Interop.unit.test.d.ts.map +1 -0
- package/dist/effect/Interop.unit.test.js +134 -0
- package/dist/effect/SchemaExtensions.d.ts +11 -0
- package/dist/effect/SchemaExtensions.d.ts.map +1 -0
- package/dist/effect/SchemaExtensions.js +7 -0
- package/dist/effect/SchemaExtensions.unit.test.d.ts +2 -0
- package/dist/effect/SchemaExtensions.unit.test.d.ts.map +1 -0
- package/dist/effect/SchemaExtensions.unit.test.js +29 -0
- package/dist/file/FakeFileStorage.d.ts +8 -8
- package/dist/file/FakeFileStorage.d.ts.map +1 -1
- package/dist/file/FakeFileStorage.js +16 -40
- package/dist/file/File.d.ts +10 -14
- package/dist/file/File.d.ts.map +1 -1
- package/dist/file/File.js +31 -24
- package/dist/file/FileStorage.abstract.test.d.ts.map +1 -1
- package/dist/file/FileStorage.abstract.test.js +18 -41
- package/dist/file/NodeFsFileStorage.d.ts +9 -11
- package/dist/file/NodeFsFileStorage.d.ts.map +1 -1
- package/dist/file/NodeFsFileStorage.integration.test.js +21 -45
- package/dist/file/NodeFsFileStorage.js +37 -29
- package/dist/http/Http.d.ts +11 -13
- package/dist/http/Http.d.ts.map +1 -1
- package/dist/http/Http.js +30 -22
- package/dist/http/Http.unit.test.js +3 -26
- package/dist/http/HttpClient.abstract.test.d.ts.map +1 -1
- package/dist/http/HttpClient.abstract.test.js +104 -108
- package/dist/http/HttpClient.d.ts +2 -2
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpController.d.ts +2 -3
- package/dist/http/HttpController.d.ts.map +1 -1
- package/dist/http/HttpSchemas.d.ts +13 -0
- package/dist/http/HttpSchemas.d.ts.map +1 -0
- package/dist/http/HttpSchemas.js +23 -0
- package/dist/http/MultipartHttpRequestBody.integration.test.js +31 -20
- package/dist/http/MultipartHttpRequestBody.unit.test.js +70 -53
- package/dist/record/Record.d.ts +3 -3
- package/dist/record/Record.d.ts.map +1 -1
- package/dist/record/Record.js +9 -30
- package/dist/result/Result.d.ts +3 -3
- package/dist/result/Result.d.ts.map +1 -1
- package/dist/result/Result.js +9 -26
- package/dist/schema/DateFromUnixTime.d.ts +4 -0
- package/dist/schema/DateFromUnixTime.d.ts.map +1 -0
- package/dist/schema/DateFromUnixTime.js +10 -0
- package/dist/schema/DateFromUnixTime.unit.test.d.ts +2 -0
- package/dist/schema/DateFromUnixTime.unit.test.d.ts.map +1 -0
- package/dist/schema/DateFromUnixTime.unit.test.js +11 -0
- package/dist/schema/JsonSchemaIntrospector.js +17 -7
- package/dist/sensitive/Sensitive.d.ts +7 -3
- package/dist/sensitive/Sensitive.d.ts.map +1 -1
- package/dist/sensitive/Sensitive.js +23 -39
- package/dist/sensitive/Sensitive.unit.test.d.ts +4 -4
- package/dist/sensitive/Sensitive.unit.test.d.ts.map +1 -1
- package/dist/sensitive/Sensitive.unit.test.js +20 -46
- package/dist/serialization/FormUrlEncodedSerialization.d.ts +2 -2
- package/dist/serialization/FormUrlEncodedSerialization.d.ts.map +1 -1
- package/dist/serialization/FormUrlEncodedSerialization.js +5 -28
- package/dist/serialization/JsonSerialization.d.ts +2 -2
- package/dist/serialization/JsonSerialization.d.ts.map +1 -1
- package/dist/serialization/JsonSerialization.js +5 -28
- package/dist/serialization/Serialization.abstract.test.d.ts.map +1 -1
- package/dist/serialization/Serialization.abstract.test.js +6 -32
- package/dist/serialization/Serialization.d.ts +2 -2
- package/dist/serialization/Serialization.d.ts.map +1 -1
- package/dist/try/Try.d.ts +2 -2
- package/dist/try/Try.d.ts.map +1 -1
- package/dist/try/Try.js +2 -32
- package/dist/uuid/Uuid.d.ts +11 -10
- package/dist/uuid/Uuid.d.ts.map +1 -1
- package/dist/uuid/Uuid.js +13 -39
- package/dist/uuid/Uuid.unit.test.js +4 -27
- package/dist/zod/SchemaParser.abstract.test.d.ts.map +1 -1
- package/dist/zod/SchemaParser.abstract.test.js +6 -31
- package/dist/zod/SchemaParser.d.ts +2 -2
- package/dist/zod/SchemaParser.d.ts.map +1 -1
- package/dist/zod/ZodSchemaParser.d.ts +3 -4
- package/dist/zod/ZodSchemaParser.d.ts.map +1 -1
- package/dist/zod/ZodSchemaParser.js +4 -28
- package/dist/zod/ZodSchemaParser.unit.test.js +2 -25
- package/package.json +3 -8
- package/dist/http/HttpTypeDescriptors.d.ts +0 -11
- package/dist/http/HttpTypeDescriptors.d.ts.map +0 -1
- package/dist/http/HttpTypeDescriptors.js +0 -59
- package/dist/task/Task.d.ts +0 -19
- package/dist/task/Task.d.ts.map +0 -1
- package/dist/task/Task.js +0 -74
- package/dist/task/Task.unit.test.d.ts +0 -2
- package/dist/task/Task.unit.test.d.ts.map +0 -1
- package/dist/task/Task.unit.test.js +0 -46
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.PartialRedactionCodec = void 0;
|
|
27
|
-
const
|
|
4
|
+
const effect_1 = require("effect");
|
|
28
5
|
const lodash_1 = require("lodash");
|
|
29
6
|
class PartialRedactionCodec {
|
|
30
7
|
static instance = new PartialRedactionCodec();
|
|
@@ -32,7 +9,7 @@ class PartialRedactionCodec {
|
|
|
32
9
|
return this.removeNullValuesIfPresent(value);
|
|
33
10
|
}
|
|
34
11
|
decode(value) {
|
|
35
|
-
return
|
|
12
|
+
return effect_1.Either.right(value);
|
|
36
13
|
}
|
|
37
14
|
isObject(value) {
|
|
38
15
|
return (0, lodash_1.isPlainObject)(value);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Either } from 'effect';
|
|
2
2
|
import { Codec } from './Codec';
|
|
3
3
|
export declare class RemoveNullValuesCodec implements Codec<unknown> {
|
|
4
4
|
static instance: Codec<unknown>;
|
|
5
5
|
encode(value: unknown): unknown;
|
|
6
|
-
decode(value: unknown):
|
|
6
|
+
decode(value: unknown): Either.Either<unknown, Error>;
|
|
7
7
|
private isObject;
|
|
8
8
|
private removeNullValuesIfPresent;
|
|
9
9
|
private removeNullFromArrayIfPresent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveNullValuesCodec.d.ts","sourceRoot":"","sources":["../../src/codec/RemoveNullValuesCodec.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RemoveNullValuesCodec.d.ts","sourceRoot":"","sources":["../../src/codec/RemoveNullValuesCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,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,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;IAIrD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,6BAA6B;CAgBrC"}
|
|
@@ -1,37 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.RemoveNullValuesCodec = void 0;
|
|
27
|
-
const
|
|
4
|
+
const effect_1 = require("effect");
|
|
28
5
|
class RemoveNullValuesCodec {
|
|
29
6
|
static instance = new RemoveNullValuesCodec();
|
|
30
7
|
encode(value) {
|
|
31
8
|
return this.removeNullValuesIfPresent(value);
|
|
32
9
|
}
|
|
33
10
|
decode(value) {
|
|
34
|
-
return
|
|
11
|
+
return effect_1.Either.right(this.removeNullValuesIfPresent(value));
|
|
35
12
|
}
|
|
36
13
|
isObject(value) {
|
|
37
14
|
return typeof value === 'object' && !Array.isArray(value) && value !== null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Either } from 'effect';
|
|
2
2
|
import { Codec } from './Codec';
|
|
3
3
|
/**
|
|
4
4
|
* Codec that removes the _tag property from the top level of the object.
|
|
@@ -8,7 +8,7 @@ import { Codec } from './Codec';
|
|
|
8
8
|
export declare class RemoveTopLevelTagCodec implements Codec<unknown> {
|
|
9
9
|
static instance: Codec<unknown>;
|
|
10
10
|
encode(value: unknown): unknown;
|
|
11
|
-
decode(value: unknown):
|
|
11
|
+
decode(value: unknown): Either.Either<unknown, Error>;
|
|
12
12
|
private isObject;
|
|
13
13
|
private removeTopLevelTagIfPresent;
|
|
14
14
|
private removeNullFromObjectIfPresent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveTopLevelTagCodec.d.ts","sourceRoot":"","sources":["../../src/codec/RemoveTopLevelTagCodec.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RemoveTopLevelTagCodec.d.ts","sourceRoot":"","sources":["../../src/codec/RemoveTopLevelTagCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,KAAK,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAgC;IAE/D,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;IAIrD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,6BAA6B;CAQrC"}
|
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.RemoveTopLevelTagCodec = void 0;
|
|
27
|
-
const
|
|
4
|
+
const effect_1 = require("effect");
|
|
28
5
|
/**
|
|
29
6
|
* Codec that removes the _tag property from the top level of the object.
|
|
30
7
|
* We use this to expose RequestFailed on APIs as the _tag property is an implementation detail.
|
|
@@ -36,7 +13,7 @@ class RemoveTopLevelTagCodec {
|
|
|
36
13
|
return this.removeTopLevelTagIfPresent(value);
|
|
37
14
|
}
|
|
38
15
|
decode(value) {
|
|
39
|
-
return
|
|
16
|
+
return effect_1.Either.right(this.removeTopLevelTagIfPresent(value));
|
|
40
17
|
}
|
|
41
18
|
isObject(value) {
|
|
42
19
|
return typeof value === 'object' && !Array.isArray(value) && value !== null;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Either } from 'effect';
|
|
2
2
|
import { Codec } from './Codec';
|
|
3
3
|
export declare class SensitiveRemoveTagAndRedactCodec implements Codec<unknown> {
|
|
4
4
|
private redactValues;
|
|
5
5
|
constructor(redactValues?: boolean);
|
|
6
6
|
static instance(redactValues?: boolean): Codec<unknown>;
|
|
7
7
|
encode(value: unknown): unknown;
|
|
8
|
-
decode(value: unknown):
|
|
8
|
+
decode(value: unknown): Either.Either<unknown, Error>;
|
|
9
9
|
private isObject;
|
|
10
10
|
private stripTagAndRedactValue;
|
|
11
11
|
private redactValuesFromArrayIfPresent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SensitiveRemoveTagAndRedactCodec.d.ts","sourceRoot":"","sources":["../../src/codec/SensitiveRemoveTagAndRedactCodec.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SensitiveRemoveTagAndRedactCodec.d.ts","sourceRoot":"","sources":["../../src/codec/SensitiveRemoveTagAndRedactCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,gCAAiC,YAAW,KAAK,CAAC,OAAO,CAAC;IAC1D,OAAO,CAAC,YAAY;gBAAZ,YAAY,GAAE,OAAe;IAEjD,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;IAIrD,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;IAIrD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,8BAA8B;IAStC,OAAO,CAAC,+BAA+B;CAyCvC"}
|
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.SensitiveRemoveTagAndRedactCodec = void 0;
|
|
27
|
-
const
|
|
4
|
+
const effect_1 = require("effect");
|
|
28
5
|
const lodash_1 = require("lodash");
|
|
29
6
|
class SensitiveRemoveTagAndRedactCodec {
|
|
30
7
|
redactValues;
|
|
@@ -38,7 +15,7 @@ class SensitiveRemoveTagAndRedactCodec {
|
|
|
38
15
|
return this.stripTagAndRedactValue(value);
|
|
39
16
|
}
|
|
40
17
|
decode(value) {
|
|
41
|
-
return
|
|
18
|
+
return effect_1.Either.right(value);
|
|
42
19
|
}
|
|
43
20
|
isObject(value) {
|
|
44
21
|
return (0, lodash_1.isPlainObject)(value);
|
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const
|
|
3
|
+
const effect_1 = require("effect");
|
|
27
4
|
const Sensitive_1 = require("../sensitive/Sensitive");
|
|
28
5
|
const Sensitive_unit_test_1 = require("../sensitive/Sensitive.unit.test");
|
|
29
6
|
const CompositeCodec_1 = require("./CompositeCodec");
|
|
@@ -103,7 +80,7 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
|
|
|
103
80
|
const creationDate = new Date();
|
|
104
81
|
const value = {
|
|
105
82
|
user: {
|
|
106
|
-
password: Sensitive_1.Sensitive.fromValue(
|
|
83
|
+
password: Sensitive_1.Sensitive.fromValue(effect_1.Option.some('test')),
|
|
107
84
|
username: 'username',
|
|
108
85
|
dob: Sensitive_1.Sensitive.fromValue(dob),
|
|
109
86
|
creationDate,
|
|
@@ -125,7 +102,7 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
|
|
|
125
102
|
const creationDate = new Date();
|
|
126
103
|
const value = {
|
|
127
104
|
user: {
|
|
128
|
-
password: Sensitive_1.Sensitive.fromValue(
|
|
105
|
+
password: Sensitive_1.Sensitive.fromValue(effect_1.Option.some('test')),
|
|
129
106
|
username: 'username',
|
|
130
107
|
dob: Sensitive_1.Sensitive.fromValue(dob),
|
|
131
108
|
creationDate,
|
|
@@ -134,7 +111,7 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
|
|
|
134
111
|
const actualValue = SensitiveRemoveTagAndRedactCodec_1.SensitiveRemoveTagAndRedactCodec.instance(false).encode(value);
|
|
135
112
|
const expectedValue = {
|
|
136
113
|
user: {
|
|
137
|
-
password:
|
|
114
|
+
password: effect_1.Option.some('test'),
|
|
138
115
|
username: 'username',
|
|
139
116
|
dob,
|
|
140
117
|
creationDate,
|
|
@@ -145,17 +122,17 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
|
|
|
145
122
|
it('should redact sensitive typed data and type encode the value', () => {
|
|
146
123
|
const testValueEncoded = {
|
|
147
124
|
strField: 'str',
|
|
148
|
-
intField: Sensitive_1.Sensitive.fromValue(
|
|
125
|
+
intField: Sensitive_1.Sensitive.fromValue(effect_1.Option.some(123)),
|
|
149
126
|
objectField: Sensitive_1.Sensitive.fromValue({
|
|
150
127
|
str: 'test',
|
|
151
128
|
int: 123,
|
|
152
|
-
optionalObj: Sensitive_1.Sensitive.fromValue(
|
|
129
|
+
optionalObj: Sensitive_1.Sensitive.fromValue(effect_1.Option.some({
|
|
153
130
|
test: 'test',
|
|
154
131
|
test1: 'test1',
|
|
155
132
|
testArray: Sensitive_1.Sensitive.fromValue([
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
133
|
+
effect_1.Option.some('test1'),
|
|
134
|
+
effect_1.Option.some('test2'),
|
|
135
|
+
effect_1.Option.some('test3'),
|
|
159
136
|
]),
|
|
160
137
|
})),
|
|
161
138
|
}),
|
|
@@ -172,18 +149,18 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
|
|
|
172
149
|
it('should not redact sensitive typed data and type encode the value', () => {
|
|
173
150
|
const testValueEncoded = {
|
|
174
151
|
strField: 'str',
|
|
175
|
-
intField: Sensitive_1.Sensitive.fromValue(
|
|
152
|
+
intField: Sensitive_1.Sensitive.fromValue(effect_1.Option.some(123)),
|
|
176
153
|
objectField: Sensitive_1.Sensitive.fromValue({
|
|
177
154
|
str: 'test',
|
|
178
155
|
int: 123,
|
|
179
|
-
optionalObj: Sensitive_1.Sensitive.fromValue(
|
|
156
|
+
optionalObj: Sensitive_1.Sensitive.fromValue(effect_1.Option.some({
|
|
180
157
|
test: 'test',
|
|
181
158
|
test1: 'test1',
|
|
182
159
|
testArray: Sensitive_1.Sensitive.fromValue([
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
160
|
+
effect_1.Option.some('test'),
|
|
161
|
+
effect_1.Option.some('test1'),
|
|
162
|
+
effect_1.Option.some('test2'),
|
|
163
|
+
effect_1.Option.some('test3'),
|
|
187
164
|
]),
|
|
188
165
|
})),
|
|
189
166
|
}),
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Either } from 'effect';
|
|
2
2
|
import { Codec } from './Codec';
|
|
3
3
|
export declare class SnakeCasePropertyNameCodec implements Codec<unknown> {
|
|
4
4
|
static instance: Codec<unknown>;
|
|
5
5
|
encode(value: unknown): unknown;
|
|
6
|
-
decode(value: unknown):
|
|
6
|
+
decode(value: unknown): Either.Either<unknown, Error>;
|
|
7
7
|
private isObject;
|
|
8
8
|
private snakeCasePropertyNameIfPresent;
|
|
9
9
|
private snakeCasePropertyNameFromArrayIfPresent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnakeCasePropertyNameCodec.d.ts","sourceRoot":"","sources":["../../src/codec/SnakeCasePropertyNameCodec.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SnakeCasePropertyNameCodec.d.ts","sourceRoot":"","sources":["../../src/codec/SnakeCasePropertyNameCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,qBAAa,0BAA2B,YAAW,KAAK,CAAC,OAAO,CAAC;IAChE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAoC;IAEnE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;IAIrD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,uCAAuC;IAW/C,OAAO,CAAC,wCAAwC;CAehD"}
|
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.SnakeCasePropertyNameCodec = void 0;
|
|
27
|
-
const
|
|
4
|
+
const effect_1 = require("effect");
|
|
28
5
|
const StringExtensions_1 = require("../string/StringExtensions");
|
|
29
6
|
class SnakeCasePropertyNameCodec {
|
|
30
7
|
static instance = new SnakeCasePropertyNameCodec();
|
|
@@ -32,7 +9,7 @@ class SnakeCasePropertyNameCodec {
|
|
|
32
9
|
return this.snakeCasePropertyNameIfPresent(value);
|
|
33
10
|
}
|
|
34
11
|
decode(value) {
|
|
35
|
-
return
|
|
12
|
+
return effect_1.Either.right(this.snakeCasePropertyNameIfPresent(value));
|
|
36
13
|
}
|
|
37
14
|
isObject(value) {
|
|
38
15
|
return typeof value === 'object' && !Array.isArray(value) && value !== null;
|
|
@@ -1,16 +1,32 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as t from 'io-ts';
|
|
1
|
+
import { Either, ParseResult, Schema } from 'effect';
|
|
3
2
|
import { Codec } from './Codec';
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
/** Formats a decode failure the way io-ts-reporters used to: one `path: message` per issue, comma separated. */
|
|
4
|
+
export declare const formatParseError: (error: ParseResult.ParseError) => string;
|
|
5
|
+
/** A Codec backed by an Effect Schema. Decoding reports every issue; encoding strips the Sensitive tag. */
|
|
6
|
+
export declare class TypeCodec<A, I = unknown> implements Codec<A> {
|
|
7
|
+
/**
|
|
8
|
+
* The decoded type is taken from the schema; do not pass type arguments. Schemas are invariant in their
|
|
9
|
+
* type parameters, so an explicit `Codec<T>` annotation on the receiving variable is the place to name `T`.
|
|
10
|
+
*/
|
|
11
|
+
static fromSchema<S extends Schema.Schema.All>(schema: S, redactValues?: boolean): Codec<Schema.Schema.Type<S>>;
|
|
6
12
|
static undefined: Codec<undefined>;
|
|
7
13
|
static unknown: Codec<unknown>;
|
|
8
14
|
static emptyRecord: Codec<{}>;
|
|
9
15
|
static stringRecord: Codec<Record<string, string>>;
|
|
10
|
-
|
|
11
|
-
private
|
|
16
|
+
private readonly decodeUnknown;
|
|
17
|
+
private readonly encodeValue;
|
|
18
|
+
/**
|
|
19
|
+
* `onExcessProperty: 'preserve'` keeps io-ts `t.type` semantics: properties the schema does not declare pass
|
|
20
|
+
* through decode and encode untouched instead of being stripped (Effect's default).
|
|
21
|
+
*/
|
|
22
|
+
private static readonly parseOptions;
|
|
12
23
|
private constructor();
|
|
13
|
-
|
|
14
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Encodes through the schema, which validates the value on the way out: a value that does not match the
|
|
26
|
+
* schema throws a `ParseError`. io-ts `encode` never validated, so callers ported from it should not pass
|
|
27
|
+
* placeholders such as `{}` for an absent input; pass `undefined` with `TypeCodec.undefined` instead.
|
|
28
|
+
*/
|
|
29
|
+
encode(value: A): unknown;
|
|
30
|
+
decode(value: unknown): Either.Either<A, Error>;
|
|
15
31
|
}
|
|
16
32
|
//# sourceMappingURL=TypeCodec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeCodec.d.ts","sourceRoot":"","sources":["../../src/codec/TypeCodec.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TypeCodec.d.ts","sourceRoot":"","sources":["../../src/codec/TypeCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,gHAAgH;AAChH,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,CAAC,UAAU,KAAG,MAOpD,CAAC;AAEd,2GAA2G;AAC3G,qBAAa,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IACzD;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC5C,MAAM,EAAE,CAAC,EACT,YAAY,GAAE,OAAe,GAC3B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAY/B,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAA0C;IAE5E,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAwC;IAEtE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAA2C;IAExE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEhD;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEgB;IAE9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAE9C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAGzB;IAEX,OAAO;IAQP;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO;IAIzB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;CAM/C"}
|
package/dist/codec/TypeCodec.js
CHANGED
|
@@ -1,61 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.TypeCodec = void 0;
|
|
30
|
-
const
|
|
31
|
-
const t = __importStar(require("io-ts"));
|
|
32
|
-
const io_ts_reporters_1 = __importDefault(require("io-ts-reporters"));
|
|
33
|
-
const Record_1 = require("fp-ts/Record");
|
|
34
|
-
const function_1 = require("fp-ts/function");
|
|
3
|
+
exports.TypeCodec = exports.formatParseError = void 0;
|
|
4
|
+
const effect_1 = require("effect");
|
|
35
5
|
const CompositeCodec_1 = require("./CompositeCodec");
|
|
36
6
|
const SensitiveRemoveTagAndRedactCodec_1 = require("./SensitiveRemoveTagAndRedactCodec");
|
|
7
|
+
/** Formats a decode failure the way io-ts-reporters used to: one `path: message` per issue, comma separated. */
|
|
8
|
+
const formatParseError = (error) => effect_1.ParseResult.ArrayFormatter.formatErrorSync(error)
|
|
9
|
+
.map((issue) => issue.path.length > 0
|
|
10
|
+
? `${issue.path.join('.')}: ${issue.message}`
|
|
11
|
+
: issue.message)
|
|
12
|
+
.join(', ');
|
|
13
|
+
exports.formatParseError = formatParseError;
|
|
14
|
+
/** A Codec backed by an Effect Schema. Decoding reports every issue; encoding strips the Sensitive tag. */
|
|
37
15
|
class TypeCodec {
|
|
38
|
-
|
|
39
|
-
|
|
16
|
+
/**
|
|
17
|
+
* The decoded type is taken from the schema; do not pass type arguments. Schemas are invariant in their
|
|
18
|
+
* type parameters, so an explicit `Codec<T>` annotation on the receiving variable is the place to name `T`.
|
|
19
|
+
*/
|
|
20
|
+
static fromSchema(schema, redactValues = false) {
|
|
21
|
+
return CompositeCodec_1.CompositeCodec.fromCodecs(new TypeCodec(schema), SensitiveRemoveTagAndRedactCodec_1.SensitiveRemoveTagAndRedactCodec.instance(redactValues));
|
|
40
22
|
}
|
|
41
|
-
static undefined = TypeCodec.
|
|
42
|
-
static unknown = TypeCodec.
|
|
43
|
-
static emptyRecord = TypeCodec.
|
|
44
|
-
static stringRecord = TypeCodec.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
23
|
+
static undefined = TypeCodec.fromSchema(effect_1.Schema.Undefined);
|
|
24
|
+
static unknown = TypeCodec.fromSchema(effect_1.Schema.Unknown);
|
|
25
|
+
static emptyRecord = TypeCodec.fromSchema(effect_1.Schema.Struct({}));
|
|
26
|
+
static stringRecord = TypeCodec.fromSchema(effect_1.Schema.mutable(effect_1.Schema.Record({ key: effect_1.Schema.String, value: effect_1.Schema.String })));
|
|
27
|
+
decodeUnknown;
|
|
28
|
+
encodeValue;
|
|
29
|
+
/**
|
|
30
|
+
* `onExcessProperty: 'preserve'` keeps io-ts `t.type` semantics: properties the schema does not declare pass
|
|
31
|
+
* through decode and encode untouched instead of being stripped (Effect's default).
|
|
32
|
+
*/
|
|
33
|
+
static parseOptions = {
|
|
34
|
+
errors: 'all',
|
|
35
|
+
onExcessProperty: 'preserve',
|
|
36
|
+
};
|
|
37
|
+
constructor(schema) {
|
|
38
|
+
this.decodeUnknown = effect_1.Schema.decodeUnknownEither(schema, TypeCodec.parseOptions);
|
|
39
|
+
this.encodeValue = effect_1.Schema.encodeSync(schema, TypeCodec.parseOptions);
|
|
51
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Encodes through the schema, which validates the value on the way out: a value that does not match the
|
|
43
|
+
* schema throws a `ParseError`. io-ts `encode` never validated, so callers ported from it should not pass
|
|
44
|
+
* placeholders such as `{}` for an absent input; pass `undefined` with `TypeCodec.undefined` instead.
|
|
45
|
+
*/
|
|
52
46
|
encode(value) {
|
|
53
|
-
return this.
|
|
47
|
+
return this.encodeValue(value);
|
|
54
48
|
}
|
|
55
49
|
decode(value) {
|
|
56
|
-
|
|
57
|
-
const report = io_ts_reporters_1.default.report(result);
|
|
58
|
-
return (0, function_1.pipe)(result, E.mapLeft((e) => new Error(report.join(', '))));
|
|
50
|
+
return effect_1.Either.mapLeft(this.decodeUnknown(value), (error) => new Error((0, exports.formatParseError)(error)));
|
|
59
51
|
}
|
|
60
52
|
}
|
|
61
53
|
exports.TypeCodec = TypeCodec;
|
|
@@ -1,44 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const
|
|
27
|
-
const O = __importStar(require("fp-ts/Option"));
|
|
28
|
-
const t = __importStar(require("io-ts"));
|
|
29
|
-
const io_ts_types_1 = require("io-ts-types");
|
|
3
|
+
const effect_1 = require("effect");
|
|
30
4
|
const TypeCodec_1 = require("./TypeCodec");
|
|
31
5
|
const Codec_abstract_test_1 = require("./Codec.abstract.test");
|
|
32
|
-
const testTypeCodec = TypeCodec_1.TypeCodec.
|
|
33
|
-
strField:
|
|
34
|
-
intField: (
|
|
6
|
+
const testTypeCodec = TypeCodec_1.TypeCodec.fromSchema(effect_1.Schema.Struct({
|
|
7
|
+
strField: effect_1.Schema.String,
|
|
8
|
+
intField: effect_1.Schema.OptionFromNullishOr(effect_1.Schema.Number, null),
|
|
35
9
|
}));
|
|
36
10
|
(0, Codec_abstract_test_1.testCodec)(testTypeCodec);
|
|
37
11
|
describe('Type Codec Test', () => {
|
|
38
12
|
test('should encode option some without the extra layer', () => {
|
|
39
13
|
const testValue = {
|
|
40
14
|
strField: 'str',
|
|
41
|
-
intField:
|
|
15
|
+
intField: effect_1.Option.some(123),
|
|
42
16
|
};
|
|
43
17
|
const result = testTypeCodec.encode(testValue);
|
|
44
18
|
const expected = {
|
|
@@ -50,7 +24,7 @@ describe('Type Codec Test', () => {
|
|
|
50
24
|
test('should encode option none without the extra layer', () => {
|
|
51
25
|
const testValue = {
|
|
52
26
|
strField: 'str',
|
|
53
|
-
intField:
|
|
27
|
+
intField: effect_1.Option.none(),
|
|
54
28
|
};
|
|
55
29
|
const result = testTypeCodec.encode(testValue);
|
|
56
30
|
const expected = {
|
|
@@ -65,9 +39,9 @@ describe('Type Codec Test', () => {
|
|
|
65
39
|
intField: 123,
|
|
66
40
|
};
|
|
67
41
|
const result = testTypeCodec.decode(testValueEncoded);
|
|
68
|
-
const expected =
|
|
42
|
+
const expected = effect_1.Either.right({
|
|
69
43
|
strField: 'str',
|
|
70
|
-
intField:
|
|
44
|
+
intField: effect_1.Option.some(123),
|
|
71
45
|
});
|
|
72
46
|
expect(result).toStrictEqual(expected);
|
|
73
47
|
});
|
|
@@ -77,9 +51,9 @@ describe('Type Codec Test', () => {
|
|
|
77
51
|
intField: null,
|
|
78
52
|
};
|
|
79
53
|
const result = testTypeCodec.decode(testValueEncoded);
|
|
80
|
-
const expected =
|
|
54
|
+
const expected = effect_1.Either.right({
|
|
81
55
|
strField: 'str',
|
|
82
|
-
intField:
|
|
56
|
+
intField: effect_1.Option.none(),
|
|
83
57
|
});
|
|
84
58
|
expect(result).toStrictEqual(expected);
|
|
85
59
|
});
|
|
@@ -88,9 +62,9 @@ describe('Type Codec Test', () => {
|
|
|
88
62
|
strField: 'str',
|
|
89
63
|
};
|
|
90
64
|
const result = testTypeCodec.decode(testValueEncoded);
|
|
91
|
-
const expected =
|
|
65
|
+
const expected = effect_1.Either.right({
|
|
92
66
|
strField: 'str',
|
|
93
|
-
intField:
|
|
67
|
+
intField: effect_1.Option.none(),
|
|
94
68
|
});
|
|
95
69
|
expect(result).toStrictEqual(expected);
|
|
96
70
|
});
|