@trayio/commons 5.35.0-unstable.fd7158a → 6.0.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 (146) hide show
  1. package/dist/base64/Base64.d.ts +10 -5
  2. package/dist/base64/Base64.d.ts.map +1 -1
  3. package/dist/base64/Base64.js +40 -8
  4. package/dist/base64/Base64.unit.test.js +27 -4
  5. package/dist/buffer/BufferExtensions.d.ts +4 -4
  6. package/dist/buffer/BufferExtensions.d.ts.map +1 -1
  7. package/dist/buffer/BufferExtensions.js +38 -25
  8. package/dist/buffer/BufferExtensions.unit.test.js +45 -22
  9. package/dist/callsite/CallSite.js +7 -17
  10. package/dist/codec/CamelCasePropertyNameCodec.d.ts +2 -2
  11. package/dist/codec/CamelCasePropertyNameCodec.d.ts.map +1 -1
  12. package/dist/codec/CamelCasePropertyNameCodec.js +25 -2
  13. package/dist/codec/Codec.abstract.test.d.ts +2 -2
  14. package/dist/codec/Codec.abstract.test.d.ts.map +1 -1
  15. package/dist/codec/Codec.abstract.test.js +31 -5
  16. package/dist/codec/Codec.d.ts +2 -2
  17. package/dist/codec/Codec.d.ts.map +1 -1
  18. package/dist/codec/CompositeCodec.d.ts +2 -2
  19. package/dist/codec/CompositeCodec.d.ts.map +1 -1
  20. package/dist/codec/CompositeCodec.js +26 -2
  21. package/dist/codec/PartialRedactionCodec.d.ts +2 -2
  22. package/dist/codec/PartialRedactionCodec.d.ts.map +1 -1
  23. package/dist/codec/PartialRedactionCodec.js +25 -2
  24. package/dist/codec/RemoveNullValuesCodec.d.ts +2 -2
  25. package/dist/codec/RemoveNullValuesCodec.d.ts.map +1 -1
  26. package/dist/codec/RemoveNullValuesCodec.js +25 -2
  27. package/dist/codec/RemoveTopLevelTagCodec.d.ts +2 -2
  28. package/dist/codec/RemoveTopLevelTagCodec.d.ts.map +1 -1
  29. package/dist/codec/RemoveTopLevelTagCodec.js +25 -2
  30. package/dist/codec/SensitiveRemoveTagAndRedactCodec.d.ts +2 -2
  31. package/dist/codec/SensitiveRemoveTagAndRedactCodec.d.ts.map +1 -1
  32. package/dist/codec/SensitiveRemoveTagAndRedactCodec.js +25 -2
  33. package/dist/codec/SensitiveRemoveTagAndRedactCodec.unit.test.js +38 -15
  34. package/dist/codec/SnakeCasePropertyNameCodec.d.ts +2 -2
  35. package/dist/codec/SnakeCasePropertyNameCodec.d.ts.map +1 -1
  36. package/dist/codec/SnakeCasePropertyNameCodec.js +25 -2
  37. package/dist/codec/TypeCodec.d.ts +8 -24
  38. package/dist/codec/TypeCodec.d.ts.map +1 -1
  39. package/dist/codec/TypeCodec.js +48 -40
  40. package/dist/codec/TypeCodec.unit.test.js +38 -12
  41. package/dist/dynamicschema/DynamicSchema.d.ts +12 -6
  42. package/dist/dynamicschema/DynamicSchema.d.ts.map +1 -1
  43. package/dist/dynamicschema/DynamicSchema.js +41 -18
  44. package/dist/dynamicschema/DynamicSchema.unit.test.js +75 -51
  45. package/dist/dynamictype/DynamicType.d.ts +20 -17
  46. package/dist/dynamictype/DynamicType.d.ts.map +1 -1
  47. package/dist/dynamictype/DynamicType.js +35 -48
  48. package/dist/file/FakeFileStorage.d.ts +8 -8
  49. package/dist/file/FakeFileStorage.d.ts.map +1 -1
  50. package/dist/file/FakeFileStorage.js +40 -16
  51. package/dist/file/File.d.ts +14 -10
  52. package/dist/file/File.d.ts.map +1 -1
  53. package/dist/file/File.js +24 -31
  54. package/dist/file/FileStorage.abstract.test.d.ts.map +1 -1
  55. package/dist/file/FileStorage.abstract.test.js +41 -18
  56. package/dist/file/NodeFsFileStorage.d.ts +11 -9
  57. package/dist/file/NodeFsFileStorage.d.ts.map +1 -1
  58. package/dist/file/NodeFsFileStorage.integration.test.js +45 -21
  59. package/dist/file/NodeFsFileStorage.js +29 -37
  60. package/dist/http/Http.d.ts +13 -11
  61. package/dist/http/Http.d.ts.map +1 -1
  62. package/dist/http/Http.js +22 -30
  63. package/dist/http/Http.unit.test.js +26 -3
  64. package/dist/http/HttpClient.abstract.test.d.ts.map +1 -1
  65. package/dist/http/HttpClient.abstract.test.js +108 -104
  66. package/dist/http/HttpClient.d.ts +2 -2
  67. package/dist/http/HttpClient.d.ts.map +1 -1
  68. package/dist/http/HttpController.d.ts +3 -2
  69. package/dist/http/HttpController.d.ts.map +1 -1
  70. package/dist/http/HttpTypeDescriptors.d.ts +11 -0
  71. package/dist/http/HttpTypeDescriptors.d.ts.map +1 -0
  72. package/dist/http/HttpTypeDescriptors.js +59 -0
  73. package/dist/http/MultipartHttpRequestBody.integration.test.js +20 -31
  74. package/dist/http/MultipartHttpRequestBody.unit.test.js +53 -70
  75. package/dist/record/Record.d.ts +3 -3
  76. package/dist/record/Record.d.ts.map +1 -1
  77. package/dist/record/Record.js +30 -9
  78. package/dist/result/Result.d.ts +3 -3
  79. package/dist/result/Result.d.ts.map +1 -1
  80. package/dist/result/Result.js +26 -9
  81. package/dist/schema/JsonSchemaIntrospector.js +7 -17
  82. package/dist/sensitive/Sensitive.d.ts +3 -7
  83. package/dist/sensitive/Sensitive.d.ts.map +1 -1
  84. package/dist/sensitive/Sensitive.js +39 -23
  85. package/dist/sensitive/Sensitive.unit.test.d.ts +4 -4
  86. package/dist/sensitive/Sensitive.unit.test.d.ts.map +1 -1
  87. package/dist/sensitive/Sensitive.unit.test.js +46 -20
  88. package/dist/serialization/FormUrlEncodedSerialization.d.ts +2 -2
  89. package/dist/serialization/FormUrlEncodedSerialization.d.ts.map +1 -1
  90. package/dist/serialization/FormUrlEncodedSerialization.js +28 -5
  91. package/dist/serialization/JsonSerialization.d.ts +2 -2
  92. package/dist/serialization/JsonSerialization.d.ts.map +1 -1
  93. package/dist/serialization/JsonSerialization.js +28 -5
  94. package/dist/serialization/Serialization.abstract.test.d.ts.map +1 -1
  95. package/dist/serialization/Serialization.abstract.test.js +32 -6
  96. package/dist/serialization/Serialization.d.ts +2 -2
  97. package/dist/serialization/Serialization.d.ts.map +1 -1
  98. package/dist/task/Task.d.ts +19 -0
  99. package/dist/task/Task.d.ts.map +1 -0
  100. package/dist/task/Task.js +74 -0
  101. package/dist/task/Task.unit.test.d.ts +2 -0
  102. package/dist/task/Task.unit.test.d.ts.map +1 -0
  103. package/dist/task/Task.unit.test.js +46 -0
  104. package/dist/try/Try.d.ts +2 -2
  105. package/dist/try/Try.d.ts.map +1 -1
  106. package/dist/try/Try.js +32 -2
  107. package/dist/uuid/Uuid.d.ts +10 -11
  108. package/dist/uuid/Uuid.d.ts.map +1 -1
  109. package/dist/uuid/Uuid.js +39 -13
  110. package/dist/uuid/Uuid.unit.test.js +27 -4
  111. package/dist/zod/SchemaParser.abstract.test.d.ts.map +1 -1
  112. package/dist/zod/SchemaParser.abstract.test.js +31 -6
  113. package/dist/zod/SchemaParser.d.ts +2 -2
  114. package/dist/zod/SchemaParser.d.ts.map +1 -1
  115. package/dist/zod/ZodSchemaParser.d.ts +4 -3
  116. package/dist/zod/ZodSchemaParser.d.ts.map +1 -1
  117. package/dist/zod/ZodSchemaParser.js +28 -4
  118. package/dist/zod/ZodSchemaParser.unit.test.js +25 -2
  119. package/package.json +9 -4
  120. package/dist/effect/EffectExtensions.d.ts +0 -29
  121. package/dist/effect/EffectExtensions.d.ts.map +0 -1
  122. package/dist/effect/EffectExtensions.js +0 -30
  123. package/dist/effect/EffectExtensions.unit.test.d.ts +0 -2
  124. package/dist/effect/EffectExtensions.unit.test.d.ts.map +0 -1
  125. package/dist/effect/EffectExtensions.unit.test.js +0 -59
  126. package/dist/effect/Interop.d.ts +0 -53
  127. package/dist/effect/Interop.d.ts.map +0 -1
  128. package/dist/effect/Interop.js +0 -56
  129. package/dist/effect/Interop.unit.test.d.ts +0 -2
  130. package/dist/effect/Interop.unit.test.d.ts.map +0 -1
  131. package/dist/effect/Interop.unit.test.js +0 -134
  132. package/dist/effect/SchemaExtensions.d.ts +0 -11
  133. package/dist/effect/SchemaExtensions.d.ts.map +0 -1
  134. package/dist/effect/SchemaExtensions.js +0 -7
  135. package/dist/effect/SchemaExtensions.unit.test.d.ts +0 -2
  136. package/dist/effect/SchemaExtensions.unit.test.d.ts.map +0 -1
  137. package/dist/effect/SchemaExtensions.unit.test.js +0 -29
  138. package/dist/http/HttpSchemas.d.ts +0 -13
  139. package/dist/http/HttpSchemas.d.ts.map +0 -1
  140. package/dist/http/HttpSchemas.js +0 -23
  141. package/dist/schema/DateFromUnixTime.d.ts +0 -4
  142. package/dist/schema/DateFromUnixTime.d.ts.map +0 -1
  143. package/dist/schema/DateFromUnixTime.js +0 -10
  144. package/dist/schema/DateFromUnixTime.unit.test.d.ts +0 -2
  145. package/dist/schema/DateFromUnixTime.unit.test.d.ts.map +0 -1
  146. package/dist/schema/DateFromUnixTime.unit.test.js +0 -11
@@ -1,7 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.PartialRedactionCodec = void 0;
4
- const effect_1 = require("effect");
27
+ const E = __importStar(require("fp-ts/lib/Either"));
5
28
  const lodash_1 = require("lodash");
6
29
  class PartialRedactionCodec {
7
30
  static instance = new PartialRedactionCodec();
@@ -9,7 +32,7 @@ class PartialRedactionCodec {
9
32
  return this.removeNullValuesIfPresent(value);
10
33
  }
11
34
  decode(value) {
12
- return effect_1.Either.right(value);
35
+ return E.right(value);
13
36
  }
14
37
  isObject(value) {
15
38
  return (0, lodash_1.isPlainObject)(value);
@@ -1,9 +1,9 @@
1
- import { Either } from 'effect';
1
+ import * as E from 'fp-ts/lib/Either';
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): Either.Either<unknown, Error>;
6
+ decode(value: unknown): E.Either<Error, unknown>;
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,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
+ {"version":3,"file":"RemoveNullValuesCodec.d.ts","sourceRoot":"","sources":["../../src/codec/RemoveNullValuesCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,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;IAajC,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,6BAA6B;CAgBrC"}
@@ -1,14 +1,37 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.RemoveNullValuesCodec = void 0;
4
- const effect_1 = require("effect");
27
+ const E = __importStar(require("fp-ts/lib/Either"));
5
28
  class RemoveNullValuesCodec {
6
29
  static instance = new RemoveNullValuesCodec();
7
30
  encode(value) {
8
31
  return this.removeNullValuesIfPresent(value);
9
32
  }
10
33
  decode(value) {
11
- return effect_1.Either.right(this.removeNullValuesIfPresent(value));
34
+ return E.right(this.removeNullValuesIfPresent(value));
12
35
  }
13
36
  isObject(value) {
14
37
  return typeof value === 'object' && !Array.isArray(value) && value !== null;
@@ -1,4 +1,4 @@
1
- import { Either } from 'effect';
1
+ import * as E from 'fp-ts/lib/Either';
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): Either.Either<unknown, Error>;
11
+ decode(value: unknown): E.Either<Error, unknown>;
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,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
+ {"version":3,"file":"RemoveTopLevelTagCodec.d.ts","sourceRoot":"","sources":["../../src/codec/RemoveTopLevelTagCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,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,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;IAIhD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,6BAA6B;CAQrC"}
@@ -1,7 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.RemoveTopLevelTagCodec = void 0;
4
- const effect_1 = require("effect");
27
+ const E = __importStar(require("fp-ts/lib/Either"));
5
28
  /**
6
29
  * Codec that removes the _tag property from the top level of the object.
7
30
  * We use this to expose RequestFailed on APIs as the _tag property is an implementation detail.
@@ -13,7 +36,7 @@ class RemoveTopLevelTagCodec {
13
36
  return this.removeTopLevelTagIfPresent(value);
14
37
  }
15
38
  decode(value) {
16
- return effect_1.Either.right(this.removeTopLevelTagIfPresent(value));
39
+ return E.right(this.removeTopLevelTagIfPresent(value));
17
40
  }
18
41
  isObject(value) {
19
42
  return typeof value === 'object' && !Array.isArray(value) && value !== null;
@@ -1,11 +1,11 @@
1
- import { Either } from 'effect';
1
+ import * as E from 'fp-ts/lib/Either';
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): Either.Either<unknown, Error>;
8
+ decode(value: unknown): E.Either<Error, unknown>;
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,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
+ {"version":3,"file":"SensitiveRemoveTagAndRedactCodec.d.ts","sourceRoot":"","sources":["../../src/codec/SensitiveRemoveTagAndRedactCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAEtC,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,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;IAIhD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,8BAA8B;IAStC,OAAO,CAAC,+BAA+B;CAyCvC"}
@@ -1,7 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.SensitiveRemoveTagAndRedactCodec = void 0;
4
- const effect_1 = require("effect");
27
+ const E = __importStar(require("fp-ts/lib/Either"));
5
28
  const lodash_1 = require("lodash");
6
29
  class SensitiveRemoveTagAndRedactCodec {
7
30
  redactValues;
@@ -15,7 +38,7 @@ class SensitiveRemoveTagAndRedactCodec {
15
38
  return this.stripTagAndRedactValue(value);
16
39
  }
17
40
  decode(value) {
18
- return effect_1.Either.right(value);
41
+ return E.right(value);
19
42
  }
20
43
  isObject(value) {
21
44
  return (0, lodash_1.isPlainObject)(value);
@@ -1,6 +1,29 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const effect_1 = require("effect");
26
+ const O = __importStar(require("fp-ts/Option"));
4
27
  const Sensitive_1 = require("../sensitive/Sensitive");
5
28
  const Sensitive_unit_test_1 = require("../sensitive/Sensitive.unit.test");
6
29
  const CompositeCodec_1 = require("./CompositeCodec");
@@ -80,7 +103,7 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
80
103
  const creationDate = new Date();
81
104
  const value = {
82
105
  user: {
83
- password: Sensitive_1.Sensitive.fromValue(effect_1.Option.some('test')),
106
+ password: Sensitive_1.Sensitive.fromValue(O.some('test')),
84
107
  username: 'username',
85
108
  dob: Sensitive_1.Sensitive.fromValue(dob),
86
109
  creationDate,
@@ -102,7 +125,7 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
102
125
  const creationDate = new Date();
103
126
  const value = {
104
127
  user: {
105
- password: Sensitive_1.Sensitive.fromValue(effect_1.Option.some('test')),
128
+ password: Sensitive_1.Sensitive.fromValue(O.some('test')),
106
129
  username: 'username',
107
130
  dob: Sensitive_1.Sensitive.fromValue(dob),
108
131
  creationDate,
@@ -111,7 +134,7 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
111
134
  const actualValue = SensitiveRemoveTagAndRedactCodec_1.SensitiveRemoveTagAndRedactCodec.instance(false).encode(value);
112
135
  const expectedValue = {
113
136
  user: {
114
- password: effect_1.Option.some('test'),
137
+ password: O.some('test'),
115
138
  username: 'username',
116
139
  dob,
117
140
  creationDate,
@@ -122,17 +145,17 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
122
145
  it('should redact sensitive typed data and type encode the value', () => {
123
146
  const testValueEncoded = {
124
147
  strField: 'str',
125
- intField: Sensitive_1.Sensitive.fromValue(effect_1.Option.some(123)),
148
+ intField: Sensitive_1.Sensitive.fromValue(O.some(123)),
126
149
  objectField: Sensitive_1.Sensitive.fromValue({
127
150
  str: 'test',
128
151
  int: 123,
129
- optionalObj: Sensitive_1.Sensitive.fromValue(effect_1.Option.some({
152
+ optionalObj: Sensitive_1.Sensitive.fromValue(O.some({
130
153
  test: 'test',
131
154
  test1: 'test1',
132
155
  testArray: Sensitive_1.Sensitive.fromValue([
133
- effect_1.Option.some('test1'),
134
- effect_1.Option.some('test2'),
135
- effect_1.Option.some('test3'),
156
+ O.some('test1'),
157
+ O.some('test2'),
158
+ O.some('test3'),
136
159
  ]),
137
160
  })),
138
161
  }),
@@ -149,18 +172,18 @@ describe('SensitiveRemoveTagAndRedactCodec', () => {
149
172
  it('should not redact sensitive typed data and type encode the value', () => {
150
173
  const testValueEncoded = {
151
174
  strField: 'str',
152
- intField: Sensitive_1.Sensitive.fromValue(effect_1.Option.some(123)),
175
+ intField: Sensitive_1.Sensitive.fromValue(O.some(123)),
153
176
  objectField: Sensitive_1.Sensitive.fromValue({
154
177
  str: 'test',
155
178
  int: 123,
156
- optionalObj: Sensitive_1.Sensitive.fromValue(effect_1.Option.some({
179
+ optionalObj: Sensitive_1.Sensitive.fromValue(O.some({
157
180
  test: 'test',
158
181
  test1: 'test1',
159
182
  testArray: Sensitive_1.Sensitive.fromValue([
160
- effect_1.Option.some('test'),
161
- effect_1.Option.some('test1'),
162
- effect_1.Option.some('test2'),
163
- effect_1.Option.some('test3'),
183
+ O.some('test'),
184
+ O.some('test1'),
185
+ O.some('test2'),
186
+ O.some('test3'),
164
187
  ]),
165
188
  })),
166
189
  }),
@@ -1,9 +1,9 @@
1
- import { Either } from 'effect';
1
+ import * as E from 'fp-ts/lib/Either';
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): Either.Either<unknown, Error>;
6
+ decode(value: unknown): E.Either<Error, unknown>;
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,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
+ {"version":3,"file":"SnakeCasePropertyNameCodec.d.ts","sourceRoot":"","sources":["../../src/codec/SnakeCasePropertyNameCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,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,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;IAIhD,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,uCAAuC;IAW/C,OAAO,CAAC,wCAAwC;CAehD"}
@@ -1,7 +1,30 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.SnakeCasePropertyNameCodec = void 0;
4
- const effect_1 = require("effect");
27
+ const E = __importStar(require("fp-ts/lib/Either"));
5
28
  const StringExtensions_1 = require("../string/StringExtensions");
6
29
  class SnakeCasePropertyNameCodec {
7
30
  static instance = new SnakeCasePropertyNameCodec();
@@ -9,7 +32,7 @@ class SnakeCasePropertyNameCodec {
9
32
  return this.snakeCasePropertyNameIfPresent(value);
10
33
  }
11
34
  decode(value) {
12
- return effect_1.Either.right(this.snakeCasePropertyNameIfPresent(value));
35
+ return E.right(this.snakeCasePropertyNameIfPresent(value));
13
36
  }
14
37
  isObject(value) {
15
38
  return typeof value === 'object' && !Array.isArray(value) && value !== null;
@@ -1,32 +1,16 @@
1
- import { Either, ParseResult, Schema } from 'effect';
1
+ import * as E from 'fp-ts/lib/Either';
2
+ import * as t from 'io-ts';
2
3
  import { Codec } from './Codec';
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>>;
4
+ export declare class TypeCodec<T> implements Codec<T> {
5
+ static fromDescriptor<T>(descriptor: t.Type<T, unknown>, redactValues?: boolean): Codec<T>;
12
6
  static undefined: Codec<undefined>;
13
7
  static unknown: Codec<unknown>;
14
8
  static emptyRecord: Codec<{}>;
15
9
  static stringRecord: Codec<Record<string, string>>;
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;
10
+ static partialRecord: <K extends Record<string, unknown>, G extends t.Any>(k: t.KeyofType<K>, type: G) => t.PartialC<Record<string, G>>;
11
+ private descriptor;
23
12
  private constructor();
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>;
13
+ encode(value: T): unknown;
14
+ decode(value: unknown): E.Either<Error, T>;
31
15
  }
32
16
  //# sourceMappingURL=TypeCodec.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"TypeCodec.d.ts","sourceRoot":"","sources":["../../src/codec/TypeCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAK3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,qBAAa,SAAS,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,cAAc,CAAC,CAAC,EACtB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAC9B,YAAY,GAAE,OAAe,GAC3B,KAAK,CAAC,CAAC,CAAC;IAOX,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAEhC;IAEF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAgD;IAC9E,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAA4C;IACzE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAElB;IAIhC,MAAM,CAAC,aAAa,oHAGoB;IAExC,OAAO,CAAC,UAAU,CAAqB;IAEvC,OAAO;IAIP,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO;IAIzB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;CAQ1C"}
@@ -1,53 +1,61 @@
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
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeCodec = exports.formatParseError = void 0;
4
- const effect_1 = require("effect");
29
+ exports.TypeCodec = void 0;
30
+ const E = __importStar(require("fp-ts/lib/Either"));
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");
5
35
  const CompositeCodec_1 = require("./CompositeCodec");
6
36
  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. */
15
37
  class TypeCodec {
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));
38
+ static fromDescriptor(descriptor, redactValues = false) {
39
+ return CompositeCodec_1.CompositeCodec.fromCodecs(new TypeCodec(descriptor), SensitiveRemoveTagAndRedactCodec_1.SensitiveRemoveTagAndRedactCodec.instance(redactValues));
22
40
  }
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);
41
+ static undefined = TypeCodec.fromDescriptor(t.undefined);
42
+ static unknown = TypeCodec.fromDescriptor(t.unknown);
43
+ static emptyRecord = TypeCodec.fromDescriptor(t.type({}));
44
+ static stringRecord = TypeCodec.fromDescriptor(t.record(t.string, t.string));
45
+ // Added support for partial records as IO-TS does not support them
46
+ // https://github.com/gcanti/io-ts/issues/429#issuecomment-862472408
47
+ static partialRecord = (k, type) => t.partial((0, Record_1.map)(() => type)(k.keys));
48
+ descriptor;
49
+ constructor(descriptor) {
50
+ this.descriptor = descriptor;
40
51
  }
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
- */
46
52
  encode(value) {
47
- return this.encodeValue(value);
53
+ return this.descriptor.encode(value);
48
54
  }
49
55
  decode(value) {
50
- return effect_1.Either.mapLeft(this.decodeUnknown(value), (error) => new Error((0, exports.formatParseError)(error)));
56
+ const result = this.descriptor.decode(value);
57
+ const report = io_ts_reporters_1.default.report(result);
58
+ return (0, function_1.pipe)(result, E.mapLeft((e) => new Error(report.join(', '))));
51
59
  }
52
60
  }
53
61
  exports.TypeCodec = TypeCodec;
@@ -1,18 +1,44 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const effect_1 = require("effect");
26
+ const E = __importStar(require("fp-ts/Either"));
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");
4
30
  const TypeCodec_1 = require("./TypeCodec");
5
31
  const Codec_abstract_test_1 = require("./Codec.abstract.test");
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),
32
+ const testTypeCodec = TypeCodec_1.TypeCodec.fromDescriptor(t.type({
33
+ strField: t.string,
34
+ intField: (0, io_ts_types_1.optionFromNullable)(t.number),
9
35
  }));
10
36
  (0, Codec_abstract_test_1.testCodec)(testTypeCodec);
11
37
  describe('Type Codec Test', () => {
12
38
  test('should encode option some without the extra layer', () => {
13
39
  const testValue = {
14
40
  strField: 'str',
15
- intField: effect_1.Option.some(123),
41
+ intField: O.some(123),
16
42
  };
17
43
  const result = testTypeCodec.encode(testValue);
18
44
  const expected = {
@@ -24,7 +50,7 @@ describe('Type Codec Test', () => {
24
50
  test('should encode option none without the extra layer', () => {
25
51
  const testValue = {
26
52
  strField: 'str',
27
- intField: effect_1.Option.none(),
53
+ intField: O.none,
28
54
  };
29
55
  const result = testTypeCodec.encode(testValue);
30
56
  const expected = {
@@ -39,9 +65,9 @@ describe('Type Codec Test', () => {
39
65
  intField: 123,
40
66
  };
41
67
  const result = testTypeCodec.decode(testValueEncoded);
42
- const expected = effect_1.Either.right({
68
+ const expected = E.right({
43
69
  strField: 'str',
44
- intField: effect_1.Option.some(123),
70
+ intField: O.some(123),
45
71
  });
46
72
  expect(result).toStrictEqual(expected);
47
73
  });
@@ -51,9 +77,9 @@ describe('Type Codec Test', () => {
51
77
  intField: null,
52
78
  };
53
79
  const result = testTypeCodec.decode(testValueEncoded);
54
- const expected = effect_1.Either.right({
80
+ const expected = E.right({
55
81
  strField: 'str',
56
- intField: effect_1.Option.none(),
82
+ intField: O.none,
57
83
  });
58
84
  expect(result).toStrictEqual(expected);
59
85
  });
@@ -62,9 +88,9 @@ describe('Type Codec Test', () => {
62
88
  strField: 'str',
63
89
  };
64
90
  const result = testTypeCodec.decode(testValueEncoded);
65
- const expected = effect_1.Either.right({
91
+ const expected = E.right({
66
92
  strField: 'str',
67
- intField: effect_1.Option.none(),
93
+ intField: O.none,
68
94
  });
69
95
  expect(result).toStrictEqual(expected);
70
96
  });