@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.
- package/dist/base64/Base64.d.ts +10 -5
- package/dist/base64/Base64.d.ts.map +1 -1
- package/dist/base64/Base64.js +40 -8
- package/dist/base64/Base64.unit.test.js +27 -4
- package/dist/buffer/BufferExtensions.d.ts +4 -4
- package/dist/buffer/BufferExtensions.d.ts.map +1 -1
- package/dist/buffer/BufferExtensions.js +38 -25
- package/dist/buffer/BufferExtensions.unit.test.js +45 -22
- package/dist/callsite/CallSite.js +7 -17
- package/dist/codec/CamelCasePropertyNameCodec.d.ts +2 -2
- package/dist/codec/CamelCasePropertyNameCodec.d.ts.map +1 -1
- package/dist/codec/CamelCasePropertyNameCodec.js +25 -2
- 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 +31 -5
- 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 +26 -2
- package/dist/codec/PartialRedactionCodec.d.ts +2 -2
- package/dist/codec/PartialRedactionCodec.d.ts.map +1 -1
- package/dist/codec/PartialRedactionCodec.js +25 -2
- package/dist/codec/RemoveNullValuesCodec.d.ts +2 -2
- package/dist/codec/RemoveNullValuesCodec.d.ts.map +1 -1
- package/dist/codec/RemoveNullValuesCodec.js +25 -2
- package/dist/codec/RemoveTopLevelTagCodec.d.ts +2 -2
- package/dist/codec/RemoveTopLevelTagCodec.d.ts.map +1 -1
- package/dist/codec/RemoveTopLevelTagCodec.js +25 -2
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.d.ts +2 -2
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.d.ts.map +1 -1
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.js +25 -2
- package/dist/codec/SensitiveRemoveTagAndRedactCodec.unit.test.js +38 -15
- package/dist/codec/SnakeCasePropertyNameCodec.d.ts +2 -2
- package/dist/codec/SnakeCasePropertyNameCodec.d.ts.map +1 -1
- package/dist/codec/SnakeCasePropertyNameCodec.js +25 -2
- package/dist/codec/TypeCodec.d.ts +8 -24
- package/dist/codec/TypeCodec.d.ts.map +1 -1
- package/dist/codec/TypeCodec.js +48 -40
- package/dist/codec/TypeCodec.unit.test.js +38 -12
- package/dist/dynamicschema/DynamicSchema.d.ts +12 -6
- package/dist/dynamicschema/DynamicSchema.d.ts.map +1 -1
- package/dist/dynamicschema/DynamicSchema.js +41 -18
- package/dist/dynamicschema/DynamicSchema.unit.test.js +75 -51
- package/dist/dynamictype/DynamicType.d.ts +20 -17
- package/dist/dynamictype/DynamicType.d.ts.map +1 -1
- package/dist/dynamictype/DynamicType.js +35 -48
- package/dist/file/FakeFileStorage.d.ts +8 -8
- package/dist/file/FakeFileStorage.d.ts.map +1 -1
- package/dist/file/FakeFileStorage.js +40 -16
- package/dist/file/File.d.ts +14 -10
- package/dist/file/File.d.ts.map +1 -1
- package/dist/file/File.js +24 -31
- package/dist/file/FileStorage.abstract.test.d.ts.map +1 -1
- package/dist/file/FileStorage.abstract.test.js +41 -18
- package/dist/file/NodeFsFileStorage.d.ts +11 -9
- package/dist/file/NodeFsFileStorage.d.ts.map +1 -1
- package/dist/file/NodeFsFileStorage.integration.test.js +45 -21
- package/dist/file/NodeFsFileStorage.js +29 -37
- package/dist/http/Http.d.ts +13 -11
- package/dist/http/Http.d.ts.map +1 -1
- package/dist/http/Http.js +22 -30
- package/dist/http/Http.unit.test.js +26 -3
- package/dist/http/HttpClient.abstract.test.d.ts.map +1 -1
- package/dist/http/HttpClient.abstract.test.js +108 -104
- package/dist/http/HttpClient.d.ts +2 -2
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpController.d.ts +3 -2
- package/dist/http/HttpController.d.ts.map +1 -1
- package/dist/http/HttpTypeDescriptors.d.ts +11 -0
- package/dist/http/HttpTypeDescriptors.d.ts.map +1 -0
- package/dist/http/HttpTypeDescriptors.js +59 -0
- package/dist/http/MultipartHttpRequestBody.integration.test.js +20 -31
- package/dist/http/MultipartHttpRequestBody.unit.test.js +53 -70
- package/dist/record/Record.d.ts +3 -3
- package/dist/record/Record.d.ts.map +1 -1
- package/dist/record/Record.js +30 -9
- package/dist/result/Result.d.ts +3 -3
- package/dist/result/Result.d.ts.map +1 -1
- package/dist/result/Result.js +26 -9
- package/dist/schema/JsonSchemaIntrospector.js +7 -17
- package/dist/sensitive/Sensitive.d.ts +3 -7
- package/dist/sensitive/Sensitive.d.ts.map +1 -1
- package/dist/sensitive/Sensitive.js +39 -23
- 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 +46 -20
- package/dist/serialization/FormUrlEncodedSerialization.d.ts +2 -2
- package/dist/serialization/FormUrlEncodedSerialization.d.ts.map +1 -1
- package/dist/serialization/FormUrlEncodedSerialization.js +28 -5
- package/dist/serialization/JsonSerialization.d.ts +2 -2
- package/dist/serialization/JsonSerialization.d.ts.map +1 -1
- package/dist/serialization/JsonSerialization.js +28 -5
- package/dist/serialization/Serialization.abstract.test.d.ts.map +1 -1
- package/dist/serialization/Serialization.abstract.test.js +32 -6
- package/dist/serialization/Serialization.d.ts +2 -2
- package/dist/serialization/Serialization.d.ts.map +1 -1
- package/dist/task/Task.d.ts +19 -0
- package/dist/task/Task.d.ts.map +1 -0
- package/dist/task/Task.js +74 -0
- package/dist/task/Task.unit.test.d.ts +2 -0
- package/dist/task/Task.unit.test.d.ts.map +1 -0
- package/dist/task/Task.unit.test.js +46 -0
- package/dist/try/Try.d.ts +2 -2
- package/dist/try/Try.d.ts.map +1 -1
- package/dist/try/Try.js +32 -2
- package/dist/uuid/Uuid.d.ts +10 -11
- package/dist/uuid/Uuid.d.ts.map +1 -1
- package/dist/uuid/Uuid.js +39 -13
- package/dist/uuid/Uuid.unit.test.js +27 -4
- package/dist/zod/SchemaParser.abstract.test.d.ts.map +1 -1
- package/dist/zod/SchemaParser.abstract.test.js +31 -6
- package/dist/zod/SchemaParser.d.ts +2 -2
- package/dist/zod/SchemaParser.d.ts.map +1 -1
- package/dist/zod/ZodSchemaParser.d.ts +4 -3
- package/dist/zod/ZodSchemaParser.d.ts.map +1 -1
- package/dist/zod/ZodSchemaParser.js +28 -4
- package/dist/zod/ZodSchemaParser.unit.test.js +25 -2
- package/package.json +9 -4
- package/dist/effect/EffectExtensions.d.ts +0 -29
- package/dist/effect/EffectExtensions.d.ts.map +0 -1
- package/dist/effect/EffectExtensions.js +0 -30
- package/dist/effect/EffectExtensions.unit.test.d.ts +0 -2
- package/dist/effect/EffectExtensions.unit.test.d.ts.map +0 -1
- package/dist/effect/EffectExtensions.unit.test.js +0 -59
- package/dist/effect/Interop.d.ts +0 -53
- package/dist/effect/Interop.d.ts.map +0 -1
- package/dist/effect/Interop.js +0 -56
- package/dist/effect/Interop.unit.test.d.ts +0 -2
- package/dist/effect/Interop.unit.test.d.ts.map +0 -1
- package/dist/effect/Interop.unit.test.js +0 -134
- package/dist/effect/SchemaExtensions.d.ts +0 -11
- package/dist/effect/SchemaExtensions.d.ts.map +0 -1
- package/dist/effect/SchemaExtensions.js +0 -7
- package/dist/effect/SchemaExtensions.unit.test.d.ts +0 -2
- package/dist/effect/SchemaExtensions.unit.test.d.ts.map +0 -1
- package/dist/effect/SchemaExtensions.unit.test.js +0 -29
- package/dist/http/HttpSchemas.d.ts +0 -13
- package/dist/http/HttpSchemas.d.ts.map +0 -1
- package/dist/http/HttpSchemas.js +0 -23
- package/dist/schema/DateFromUnixTime.d.ts +0 -4
- package/dist/schema/DateFromUnixTime.d.ts.map +0 -1
- package/dist/schema/DateFromUnixTime.js +0 -10
- package/dist/schema/DateFromUnixTime.unit.test.d.ts +0 -2
- package/dist/schema/DateFromUnixTime.unit.test.d.ts.map +0 -1
- package/dist/schema/DateFromUnixTime.unit.test.js +0 -11
|
@@ -15,28 +15,17 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
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
|
+
};
|
|
35
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
27
|
};
|
|
38
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const effect_1 = require("effect");
|
|
40
29
|
const stream_1 = require("stream");
|
|
41
30
|
const http_1 = require("http");
|
|
42
31
|
const formidable_1 = __importDefault(require("formidable"));
|
|
@@ -159,10 +148,10 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
159
148
|
},
|
|
160
149
|
};
|
|
161
150
|
// Write file to client storage
|
|
162
|
-
const writeResult = await
|
|
151
|
+
const writeResult = await clientStorage.write({
|
|
163
152
|
reference: fileDescriptor,
|
|
164
153
|
content: stream_1.Readable.from(originalContent),
|
|
165
|
-
}, undefined))
|
|
154
|
+
}, undefined)();
|
|
166
155
|
expect(writeResult._tag).toBe('Right');
|
|
167
156
|
// 2. Create multipart body with NESTED FileDescriptor
|
|
168
157
|
const bodyWithNestedFile = {
|
|
@@ -172,7 +161,7 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
172
161
|
reference: fileDescriptor, // NESTED structure
|
|
173
162
|
},
|
|
174
163
|
};
|
|
175
|
-
const multipartResult = await
|
|
164
|
+
const multipartResult = await Http_1.MultipartHttpRequestBody.create(bodyWithNestedFile, clientStorage)();
|
|
176
165
|
expect(multipartResult._tag).toBe('Right');
|
|
177
166
|
if (multipartResult._tag === 'Left') {
|
|
178
167
|
throw new Error(`Failed to create multipart body: ${multipartResult.left.message}`);
|
|
@@ -269,11 +258,11 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
269
258
|
},
|
|
270
259
|
};
|
|
271
260
|
// Write files to client storage
|
|
272
|
-
await
|
|
273
|
-
await
|
|
261
|
+
await clientStorage.write({ reference: fileDescriptor1, content: stream_1.Readable.from(content1) }, undefined)();
|
|
262
|
+
await clientStorage.write({ reference: fileDescriptor2, content: stream_1.Readable.from(content2) }, undefined)();
|
|
274
263
|
// Create body with multiple nested FileDescriptors
|
|
275
264
|
const bodyWithMultipleFiles = {
|
|
276
|
-
rootFile: fileDescriptor1,
|
|
265
|
+
rootFile: fileDescriptor1,
|
|
277
266
|
nested: {
|
|
278
267
|
deepFile: {
|
|
279
268
|
reference: fileDescriptor2, // Nested level
|
|
@@ -281,7 +270,7 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
281
270
|
},
|
|
282
271
|
description: 'Multiple files test',
|
|
283
272
|
};
|
|
284
|
-
const multipartResult = await
|
|
273
|
+
const multipartResult = await Http_1.MultipartHttpRequestBody.create(bodyWithMultipleFiles, clientStorage)();
|
|
285
274
|
expect(multipartResult._tag).toBe('Right');
|
|
286
275
|
if (multipartResult._tag === 'Left') {
|
|
287
276
|
throw new Error(`Failed to create multipart body: ${multipartResult.left.message}`);
|
|
@@ -354,10 +343,10 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
354
343
|
key: 'test-doc',
|
|
355
344
|
metadata: { name: 'doc.txt', size: 100, contentType: 'text/plain' },
|
|
356
345
|
};
|
|
357
|
-
await
|
|
346
|
+
await clientStorage.write({
|
|
358
347
|
reference: fileDescriptor,
|
|
359
348
|
content: stream_1.Readable.from('document content'),
|
|
360
|
-
}, undefined))
|
|
349
|
+
}, undefined)();
|
|
361
350
|
// Create request body with nested structures AND a file
|
|
362
351
|
const bodyWithNestedStructure = {
|
|
363
352
|
title: 'Test Document',
|
|
@@ -372,7 +361,7 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
372
361
|
},
|
|
373
362
|
document: fileDescriptor,
|
|
374
363
|
};
|
|
375
|
-
const multipartResult = await
|
|
364
|
+
const multipartResult = await Http_1.MultipartHttpRequestBody.create(bodyWithNestedStructure, clientStorage)();
|
|
376
365
|
expect(multipartResult._tag).toBe('Right');
|
|
377
366
|
if (multipartResult._tag === 'Left') {
|
|
378
367
|
throw new Error(`Failed: ${multipartResult.left.message}`);
|
|
@@ -445,10 +434,10 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
445
434
|
key: 'asset-123',
|
|
446
435
|
metadata: { name: 'logo.png', size: 2048, contentType: 'image/png' },
|
|
447
436
|
};
|
|
448
|
-
await
|
|
437
|
+
await clientStorage.write({
|
|
449
438
|
reference: fileDescriptor,
|
|
450
439
|
content: stream_1.Readable.from('image data'),
|
|
451
|
-
}, undefined))
|
|
440
|
+
}, undefined)();
|
|
452
441
|
const bodyLikeLibraryService = {
|
|
453
442
|
fileName: 'logo.png',
|
|
454
443
|
overrideIfPresent: true,
|
|
@@ -462,7 +451,7 @@ describe('MultipartHttpRequestBody - E2E', () => {
|
|
|
462
451
|
},
|
|
463
452
|
imageContent: fileDescriptor,
|
|
464
453
|
};
|
|
465
|
-
const multipartResult = await
|
|
454
|
+
const multipartResult = await Http_1.MultipartHttpRequestBody.create(bodyLikeLibraryService, clientStorage)();
|
|
466
455
|
expect(multipartResult._tag).toBe('Right');
|
|
467
456
|
if (multipartResult._tag === 'Left') {
|
|
468
457
|
throw new Error(`Failed: ${multipartResult.left.message}`);
|
|
@@ -15,25 +15,14 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
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
|
+
};
|
|
35
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const effect_1 = require("effect");
|
|
37
26
|
const stream_1 = require("stream");
|
|
38
27
|
const NodeFsFileStorage_1 = require("../file/NodeFsFileStorage");
|
|
39
28
|
const Http_1 = require("./Http");
|
|
@@ -66,8 +55,8 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
66
55
|
key: 'root-file',
|
|
67
56
|
metadata: { name: 'file.txt', size: 100, contentType: 'text/plain' },
|
|
68
57
|
};
|
|
69
|
-
await
|
|
70
|
-
const result = await
|
|
58
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('content') }, undefined)();
|
|
59
|
+
const result = await Http_1.MultipartHttpRequestBody.create({ file: fileDescriptor }, clientStorage)();
|
|
71
60
|
expect(result._tag).toBe('Right');
|
|
72
61
|
if (result._tag === 'Right') {
|
|
73
62
|
// Files are now keyed by object path, not storage key
|
|
@@ -80,12 +69,12 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
80
69
|
key: 'nested-file',
|
|
81
70
|
metadata: { name: 'file.txt', size: 100, contentType: 'text/plain' },
|
|
82
71
|
};
|
|
83
|
-
await
|
|
84
|
-
const result = await
|
|
72
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('content') }, undefined)();
|
|
73
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
85
74
|
data: {
|
|
86
75
|
file: fileDescriptor,
|
|
87
76
|
},
|
|
88
|
-
}, clientStorage))
|
|
77
|
+
}, clientStorage)();
|
|
89
78
|
expect(result._tag).toBe('Right');
|
|
90
79
|
if (result._tag === 'Right') {
|
|
91
80
|
// Files are now keyed by object path, not storage key
|
|
@@ -98,8 +87,8 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
98
87
|
key: 'deep-file',
|
|
99
88
|
metadata: { name: 'file.txt', size: 100, contentType: 'text/plain' },
|
|
100
89
|
};
|
|
101
|
-
await
|
|
102
|
-
const result = await
|
|
90
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('content') }, undefined)();
|
|
91
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
103
92
|
level1: {
|
|
104
93
|
level2: {
|
|
105
94
|
level3: {
|
|
@@ -107,7 +96,7 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
107
96
|
},
|
|
108
97
|
},
|
|
109
98
|
},
|
|
110
|
-
}, clientStorage))
|
|
99
|
+
}, clientStorage)();
|
|
111
100
|
expect(result._tag).toBe('Right');
|
|
112
101
|
if (result._tag === 'Right') {
|
|
113
102
|
// Files are now keyed by object path, not storage key
|
|
@@ -125,14 +114,14 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
125
114
|
key: 'file-2',
|
|
126
115
|
metadata: { name: 'file2.txt', size: 100, contentType: 'text/plain' },
|
|
127
116
|
};
|
|
128
|
-
await
|
|
129
|
-
await
|
|
130
|
-
const result = await
|
|
117
|
+
await clientStorage.write({ reference: file1, content: stream_1.Readable.from('content1') }, undefined)();
|
|
118
|
+
await clientStorage.write({ reference: file2, content: stream_1.Readable.from('content2') }, undefined)();
|
|
119
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
131
120
|
rootFile: file1,
|
|
132
121
|
nested: {
|
|
133
122
|
deepFile: file2,
|
|
134
123
|
},
|
|
135
|
-
}, clientStorage))
|
|
124
|
+
}, clientStorage)();
|
|
136
125
|
expect(result._tag).toBe('Right');
|
|
137
126
|
if (result._tag === 'Right') {
|
|
138
127
|
expect(Object.keys(result.right.files)).toHaveLength(2);
|
|
@@ -144,13 +133,13 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
144
133
|
});
|
|
145
134
|
describe('Field Flattening', () => {
|
|
146
135
|
it('should flatten nested fields with dot notation', async () => {
|
|
147
|
-
const result = await
|
|
136
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
148
137
|
title: 'Test',
|
|
149
138
|
metadata: {
|
|
150
139
|
author: 'John',
|
|
151
140
|
version: '1.0',
|
|
152
141
|
},
|
|
153
|
-
}, clientStorage))
|
|
142
|
+
}, clientStorage)();
|
|
154
143
|
expect(result._tag).toBe('Right');
|
|
155
144
|
if (result._tag === 'Right') {
|
|
156
145
|
expect(result.right.fields.title).toBe('Test');
|
|
@@ -159,7 +148,7 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
159
148
|
}
|
|
160
149
|
});
|
|
161
150
|
it('should flatten deeply nested fields', async () => {
|
|
162
|
-
const result = await
|
|
151
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
163
152
|
level1: {
|
|
164
153
|
level2: {
|
|
165
154
|
level3: {
|
|
@@ -167,19 +156,19 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
167
156
|
},
|
|
168
157
|
},
|
|
169
158
|
},
|
|
170
|
-
}, clientStorage))
|
|
159
|
+
}, clientStorage)();
|
|
171
160
|
expect(result._tag).toBe('Right');
|
|
172
161
|
if (result._tag === 'Right') {
|
|
173
162
|
expect(result.right.fields['level1.level2.level3.value']).toBe('deep');
|
|
174
163
|
}
|
|
175
164
|
});
|
|
176
165
|
it('should handle primitive values at root level', async () => {
|
|
177
|
-
const result = await
|
|
166
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
178
167
|
string: 'text',
|
|
179
168
|
number: 123,
|
|
180
169
|
boolean: true,
|
|
181
170
|
null: null,
|
|
182
|
-
}, clientStorage))
|
|
171
|
+
}, clientStorage)();
|
|
183
172
|
expect(result._tag).toBe('Right');
|
|
184
173
|
if (result._tag === 'Right') {
|
|
185
174
|
expect(result.right.fields.string).toBe('text');
|
|
@@ -191,13 +180,13 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
191
180
|
});
|
|
192
181
|
describe('Array Support', () => {
|
|
193
182
|
it('should serialize arrays as comma-separated strings', async () => {
|
|
194
|
-
const result = await
|
|
183
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
195
184
|
title: 'Test',
|
|
196
185
|
tags: ['tag1', 'tag2', 'tag3'],
|
|
197
186
|
nested: {
|
|
198
187
|
items: ['a', 'b', 'c'],
|
|
199
188
|
},
|
|
200
|
-
}, clientStorage))
|
|
189
|
+
}, clientStorage)();
|
|
201
190
|
expect(result._tag).toBe('Right');
|
|
202
191
|
if (result._tag === 'Right') {
|
|
203
192
|
expect(result.right.fields.title).toBe('Test');
|
|
@@ -206,10 +195,10 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
206
195
|
}
|
|
207
196
|
});
|
|
208
197
|
it('should handle empty arrays', async () => {
|
|
209
|
-
const result = await
|
|
198
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
210
199
|
title: 'Test',
|
|
211
200
|
tags: [],
|
|
212
|
-
}, clientStorage))
|
|
201
|
+
}, clientStorage)();
|
|
213
202
|
expect(result._tag).toBe('Right');
|
|
214
203
|
if (result._tag === 'Right') {
|
|
215
204
|
expect(result.right.fields.title).toBe('Test');
|
|
@@ -217,9 +206,9 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
217
206
|
}
|
|
218
207
|
});
|
|
219
208
|
it('should handle arrays with mixed types', async () => {
|
|
220
|
-
const result = await
|
|
209
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
221
210
|
values: [1, 'text', true, null],
|
|
222
|
-
}, clientStorage))
|
|
211
|
+
}, clientStorage)();
|
|
223
212
|
expect(result._tag).toBe('Right');
|
|
224
213
|
if (result._tag === 'Right') {
|
|
225
214
|
// All values converted to strings and joined
|
|
@@ -238,8 +227,8 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
238
227
|
contentType: 'image/png',
|
|
239
228
|
},
|
|
240
229
|
};
|
|
241
|
-
await
|
|
242
|
-
const result = await
|
|
230
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('data') }, undefined)();
|
|
231
|
+
const result = await Http_1.MultipartHttpRequestBody.create({ file: fileDescriptor }, clientStorage)();
|
|
243
232
|
expect(result._tag).toBe('Right');
|
|
244
233
|
if (result._tag === 'Right') {
|
|
245
234
|
// Files are now keyed by object path, not storage key
|
|
@@ -260,8 +249,8 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
260
249
|
contentType: 'application/pdf',
|
|
261
250
|
},
|
|
262
251
|
};
|
|
263
|
-
await
|
|
264
|
-
const result = await
|
|
252
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('pdf data') }, undefined)();
|
|
253
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
265
254
|
title: 'Document',
|
|
266
255
|
category: 'report',
|
|
267
256
|
metadata: {
|
|
@@ -269,7 +258,7 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
269
258
|
tags: ['important', 'confidential'],
|
|
270
259
|
},
|
|
271
260
|
document: fileDescriptor,
|
|
272
|
-
}, clientStorage))
|
|
261
|
+
}, clientStorage)();
|
|
273
262
|
expect(result._tag).toBe('Right');
|
|
274
263
|
if (result._tag === 'Right') {
|
|
275
264
|
// Check fields
|
|
@@ -294,13 +283,10 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
294
283
|
contentType: 'application/pdf',
|
|
295
284
|
},
|
|
296
285
|
};
|
|
297
|
-
await
|
|
298
|
-
|
|
299
|
-
content: stream_1.Readable.from('file content'),
|
|
300
|
-
}, undefined)));
|
|
301
|
-
const result = await effect_1.Effect.runPromise(effect_1.Effect.either(Http_1.MultipartHttpRequestBody.create({
|
|
286
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('file content') }, undefined)();
|
|
287
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
302
288
|
file: fileDescriptor,
|
|
303
|
-
}, clientStorage))
|
|
289
|
+
}, clientStorage)();
|
|
304
290
|
expect(result._tag).toBe('Right');
|
|
305
291
|
if (result._tag === 'Right') {
|
|
306
292
|
// The file should be keyed by the object path 'file', not the storage key
|
|
@@ -318,12 +304,12 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
318
304
|
contentType: 'image/png',
|
|
319
305
|
},
|
|
320
306
|
};
|
|
321
|
-
await
|
|
322
|
-
const result = await
|
|
307
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('image data') }, undefined)();
|
|
308
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
323
309
|
data: {
|
|
324
310
|
attachment: fileDescriptor,
|
|
325
311
|
},
|
|
326
|
-
}, clientStorage))
|
|
312
|
+
}, clientStorage)();
|
|
327
313
|
expect(result._tag).toBe('Right');
|
|
328
314
|
if (result._tag === 'Right') {
|
|
329
315
|
// The file should be keyed by 'data.attachment', not the storage key
|
|
@@ -341,11 +327,8 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
341
327
|
contentType: 'application/pdf',
|
|
342
328
|
},
|
|
343
329
|
};
|
|
344
|
-
await
|
|
345
|
-
|
|
346
|
-
content: stream_1.Readable.from('report content'),
|
|
347
|
-
}, undefined)));
|
|
348
|
-
const result = await effect_1.Effect.runPromise(effect_1.Effect.either(Http_1.MultipartHttpRequestBody.create({
|
|
330
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('report content') }, undefined)();
|
|
331
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
349
332
|
project: {
|
|
350
333
|
documents: {
|
|
351
334
|
reports: {
|
|
@@ -353,7 +336,7 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
353
336
|
},
|
|
354
337
|
},
|
|
355
338
|
},
|
|
356
|
-
}, clientStorage))
|
|
339
|
+
}, clientStorage)();
|
|
357
340
|
expect(result._tag).toBe('Right');
|
|
358
341
|
if (result._tag === 'Right') {
|
|
359
342
|
// The file should be keyed by the full object path
|
|
@@ -389,10 +372,10 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
389
372
|
contentType: 'text/plain',
|
|
390
373
|
},
|
|
391
374
|
};
|
|
392
|
-
await
|
|
393
|
-
await
|
|
394
|
-
await
|
|
395
|
-
const result = await
|
|
375
|
+
await clientStorage.write({ reference: file1, content: stream_1.Readable.from('content1') }, undefined)();
|
|
376
|
+
await clientStorage.write({ reference: file2, content: stream_1.Readable.from('content2') }, undefined)();
|
|
377
|
+
await clientStorage.write({ reference: file3, content: stream_1.Readable.from('content3') }, undefined)();
|
|
378
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
396
379
|
avatar: file1,
|
|
397
380
|
data: {
|
|
398
381
|
document: file2,
|
|
@@ -400,7 +383,7 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
400
383
|
attachment: file3,
|
|
401
384
|
},
|
|
402
385
|
},
|
|
403
|
-
}, clientStorage))
|
|
386
|
+
}, clientStorage)();
|
|
404
387
|
expect(result._tag).toBe('Right');
|
|
405
388
|
if (result._tag === 'Right') {
|
|
406
389
|
// Each file should be keyed by its object path, not its storage key
|
|
@@ -424,12 +407,12 @@ describe('MultipartHttpRequestBody.create', () => {
|
|
|
424
407
|
contentType: 'application/pdf',
|
|
425
408
|
},
|
|
426
409
|
};
|
|
427
|
-
await
|
|
428
|
-
const result = await
|
|
410
|
+
await clientStorage.write({ reference: fileDescriptor, content: stream_1.Readable.from('pdf data') }, undefined)();
|
|
411
|
+
const result = await Http_1.MultipartHttpRequestBody.create({
|
|
429
412
|
nested: {
|
|
430
413
|
file: fileDescriptor,
|
|
431
414
|
},
|
|
432
|
-
}, clientStorage))
|
|
415
|
+
}, clientStorage)();
|
|
433
416
|
expect(result._tag).toBe('Right');
|
|
434
417
|
if (result._tag === 'Right') {
|
|
435
418
|
const file = result.right.files['nested.file'];
|
package/dist/record/Record.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare const addValueToRecordIfPresent: <K extends
|
|
3
|
-
export declare const addValuesToRecordIfPresent: <K extends
|
|
1
|
+
import * as O from 'fp-ts/Option';
|
|
2
|
+
export declare const addValueToRecordIfPresent: <K extends string | number | symbol, V>(record: Record<K, V>, key: K, valueOpt: O.Option<V>) => Record<K, V>;
|
|
3
|
+
export declare const addValuesToRecordIfPresent: <K extends string | number | symbol, V>(record: Record<K, V>, valuesToAdd: Record<K, O.Option<V>>) => Record<K, V>;
|
|
4
4
|
//# sourceMappingURL=Record.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Record.d.ts","sourceRoot":"","sources":["../../src/record/Record.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Record.d.ts","sourceRoot":"","sources":["../../src/record/Record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,eAAO,MAAM,yBAAyB,8GAUpC,CAAC;AAEH,eAAO,MAAM,0BAA0B,oHAMC,CAAC"}
|
package/dist/record/Record.js
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
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.addValuesToRecordIfPresent = exports.addValueToRecordIfPresent = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
},
|
|
11
|
-
});
|
|
27
|
+
const O = __importStar(require("fp-ts/Option"));
|
|
28
|
+
const A = __importStar(require("fp-ts/Array"));
|
|
29
|
+
const addValueToRecordIfPresent = (record, key, valueOpt) => O.getOrElse(() => record)(O.map((value) => {
|
|
30
|
+
record[key] = value;
|
|
31
|
+
return record;
|
|
32
|
+
})(valueOpt));
|
|
12
33
|
exports.addValueToRecordIfPresent = addValueToRecordIfPresent;
|
|
13
|
-
const addValuesToRecordIfPresent = (record, valuesToAdd) =>
|
|
34
|
+
const addValuesToRecordIfPresent = (record, valuesToAdd) => A.reduce(record, (acc, key) => (0, exports.addValueToRecordIfPresent)(acc, key, valuesToAdd[key]))(Object.keys(valuesToAdd));
|
|
14
35
|
exports.addValuesToRecordIfPresent = addValuesToRecordIfPresent;
|
package/dist/result/Result.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as E from 'fp-ts/Either';
|
|
2
2
|
export type Failure<E> = {
|
|
3
3
|
readonly _tag: 'Failure';
|
|
4
4
|
readonly isSuccess: false;
|
|
@@ -24,8 +24,8 @@ export interface ResultInterface {
|
|
|
24
24
|
}
|
|
25
25
|
export declare const Result: ResultInterface;
|
|
26
26
|
export interface ResultInternalInterface {
|
|
27
|
-
fromEitherWithSimpleError: <T>(either:
|
|
28
|
-
fromEitherWithSimpleErrorAndUnknown: <T>(either:
|
|
27
|
+
fromEitherWithSimpleError: <T>(either: E.Either<Error, T>) => Result<Error, T>;
|
|
28
|
+
fromEitherWithSimpleErrorAndUnknown: <T>(either: E.Either<Error, unknown>) => Result<Error, T>;
|
|
29
29
|
}
|
|
30
30
|
export declare const ResultInternal: ResultInternalInterface;
|
|
31
31
|
//# sourceMappingURL=Result.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../src/result/Result.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../src/result/Result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEnD,qBAAa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,KAAK;IAC5B,YAAY,EAAE,CAAC;gBAAf,YAAY,EAAE,CAAC;CAOlC;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,wBAAwB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5D,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACZ,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KACpB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAClB;AAED,eAAO,MAAM,MAAM,EAAE,eAgCpB,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACvC,yBAAyB,EAAE,CAAC,CAAC,EAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KACtB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtB,mCAAmC,EAAE,CAAC,CAAC,EACtC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAC5B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,uBAgB5B,CAAC"}
|
package/dist/result/Result.js
CHANGED
|
@@ -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.ResultInternal = exports.Result = exports.ResultFailureError = void 0;
|
|
4
|
-
const
|
|
27
|
+
const E = __importStar(require("fp-ts/Either"));
|
|
5
28
|
class ResultFailureError extends Error {
|
|
6
29
|
failureCause;
|
|
7
30
|
constructor(failureCause) {
|
|
@@ -41,12 +64,6 @@ exports.Result = {
|
|
|
41
64
|
},
|
|
42
65
|
};
|
|
43
66
|
exports.ResultInternal = {
|
|
44
|
-
fromEitherWithSimpleError: (either) =>
|
|
45
|
-
|
|
46
|
-
onRight: (value) => exports.Result.success(value),
|
|
47
|
-
}),
|
|
48
|
-
fromEitherWithSimpleErrorAndUnknown: (either) => effect_1.Either.match(either, {
|
|
49
|
-
onLeft: (error) => exports.Result.failure(error),
|
|
50
|
-
onRight: (value) => exports.Result.success(value),
|
|
51
|
-
}),
|
|
67
|
+
fromEitherWithSimpleError: (either) => E.match((error) => exports.Result.failure(error), (value) => exports.Result.success(value))(either),
|
|
68
|
+
fromEitherWithSimpleErrorAndUnknown: (either) => E.match((error) => exports.Result.failure(error), (value) => exports.Result.success(value))(either),
|
|
52
69
|
};
|
|
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
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
|
+
};
|
|
35
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
26
|
exports.JsonSchemaIntrospector = void 0;
|
|
37
27
|
const generateSchema = __importStar(require("generate-schema"));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
2
|
import { Codec } from '../codec/Codec';
|
|
3
3
|
export type Sensitive<T> = {
|
|
4
4
|
value: T;
|
|
@@ -6,12 +6,8 @@ export type Sensitive<T> = {
|
|
|
6
6
|
};
|
|
7
7
|
export interface SensitiveInterface {
|
|
8
8
|
fromValue: <T>(value: T) => Sensitive<T>;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* to `{ _tag: 'Sensitive', value }` so the outer codec can strip the tag or redact the value.
|
|
12
|
-
*/
|
|
13
|
-
schema: <A, I = unknown>(inner: Schema.Schema<A, I>) => Schema.Schema<Sensitive<A>, unknown>;
|
|
14
|
-
typeCodec: <A, I = unknown>(inner: Schema.Schema<A, I>) => Codec<Sensitive<A>>;
|
|
9
|
+
typeDescriptor: <T>(descriptor: t.Type<T, unknown>) => t.Type<Sensitive<T>, Sensitive<unknown>>;
|
|
10
|
+
typeCodec: <T>(descriptor: t.Type<T, unknown>) => Codec<Sensitive<T>>;
|
|
15
11
|
}
|
|
16
12
|
export declare const Sensitive: SensitiveInterface;
|
|
17
13
|
//# sourceMappingURL=Sensitive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sensitive.d.ts","sourceRoot":"","sources":["../../src/sensitive/Sensitive.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Sensitive.d.ts","sourceRoot":"","sources":["../../src/sensitive/Sensitive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;IACzC,cAAc,EAAE,CAAC,CAAC,EACjB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,KAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACtE;AAyBD,eAAO,MAAM,SAAS,EAAE,kBAQvB,CAAC"}
|