effect-app 2.13.2 → 2.14.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/CHANGELOG.md +13 -0
- package/_cjs/client/apiClient.cjs +24 -0
- package/_cjs/client/apiClient.cjs.map +1 -0
- package/_cjs/client/clientFor.cjs +19 -24
- package/_cjs/client/clientFor.cjs.map +1 -1
- package/_cjs/client.cjs +8 -8
- package/_cjs/client.cjs.map +1 -1
- package/_cjs/internal/lib.cjs +20 -27
- package/_cjs/internal/lib.cjs.map +1 -1
- package/_cjs/utils.cjs +2 -3
- package/_cjs/utils.cjs.map +1 -1
- package/dist/client/apiClient.d.ts +33 -0
- package/dist/client/apiClient.d.ts.map +1 -0
- package/dist/client/apiClient.js +19 -0
- package/dist/client/clientFor.d.ts +4 -6
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +21 -29
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -2
- package/dist/internal/Prelude.d.ts +4 -8
- package/dist/internal/lib.d.ts +2 -15
- package/dist/internal/lib.d.ts.map +1 -1
- package/dist/internal/lib.js +3 -11
- package/dist/utils.d.ts +3 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +4 -5
- package/package.json +16 -36
- package/src/client/apiClient.ts +36 -0
- package/src/client/clientFor.ts +82 -97
- package/src/client.ts +1 -1
- package/src/internal/Prelude.d.ts +4 -8
- package/src/internal/lib.ts +2 -53
- package/src/utils.ts +7 -5
- package/_cjs/Dictionary.cjs +0 -522
- package/_cjs/Dictionary.cjs.map +0 -1
- package/_cjs/Object.cjs +0 -24
- package/_cjs/Object.cjs.map +0 -1
- package/_cjs/client/config.cjs +0 -17
- package/_cjs/client/config.cjs.map +0 -1
- package/dist/Dictionary.d.ts +0 -260
- package/dist/Dictionary.d.ts.map +0 -1
- package/dist/Dictionary.js +0 -448
- package/dist/Object.d.ts +0 -7
- package/dist/Object.d.ts.map +0 -1
- package/dist/Object.js +0 -7
- package/dist/client/config.d.ts +0 -12
- package/dist/client/config.d.ts.map +0 -1
- package/dist/client/config.js +0 -9
- package/src/Dictionary.ts +0 -669
- package/src/Object.ts +0 -19
- package/src/client/config.ts +0 -15
package/dist/Dictionary.js
DELETED
|
@@ -1,448 +0,0 @@
|
|
|
1
|
-
// ets_tracing: off
|
|
2
|
-
import * as A from "./Array.js";
|
|
3
|
-
import { pipe, tuple } from "./Function.js";
|
|
4
|
-
import * as O from "./Option.js";
|
|
5
|
-
// /**
|
|
6
|
-
// * Build a readonly record from a mutable version
|
|
7
|
-
// */
|
|
8
|
-
// export function fromMutable<A>(r: MutableRecord<string, A>): Dictionary<A> {
|
|
9
|
-
// return Object.assign({}, r)
|
|
10
|
-
// }
|
|
11
|
-
// /**
|
|
12
|
-
// * Converts the record to a mutable version
|
|
13
|
-
// */
|
|
14
|
-
// export function toMutable<A>(r: Dictionary<A>): MutableRecord<string, A> {
|
|
15
|
-
// return Object.assign({}, r)
|
|
16
|
-
// }
|
|
17
|
-
/**
|
|
18
|
-
* Calculate the number of key/value pairs in a record
|
|
19
|
-
*/
|
|
20
|
-
export function size(r) {
|
|
21
|
-
return Object.keys(r).length;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Test whether a record is empty
|
|
25
|
-
*/
|
|
26
|
-
export function isEmpty(r) {
|
|
27
|
-
return Object.keys(r).length === 0;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Extract record keys
|
|
31
|
-
*/
|
|
32
|
-
export function keys(r) {
|
|
33
|
-
return Object.keys(r).sort();
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Extract record values
|
|
37
|
-
*/
|
|
38
|
-
export function values(r) {
|
|
39
|
-
return Object
|
|
40
|
-
.keys(r)
|
|
41
|
-
.sort()
|
|
42
|
-
.map((s) => r[s]);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Map a record into an array
|
|
46
|
-
*/
|
|
47
|
-
export function collect(f) {
|
|
48
|
-
return (r) => collect_(r, f);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Map a record into an array
|
|
52
|
-
*/
|
|
53
|
-
export function collect_(r, f) {
|
|
54
|
-
const out = [];
|
|
55
|
-
for (const key of keys(r)) {
|
|
56
|
-
out.push(f(key, r[key]));
|
|
57
|
-
}
|
|
58
|
-
return out;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Insert or replace a key/value pair in a record
|
|
62
|
-
*/
|
|
63
|
-
export function insertAt(k, a) {
|
|
64
|
-
return (r) => insertAt_(r, k, a);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Insert or replace a key/value pair in a record
|
|
68
|
-
*/
|
|
69
|
-
export function insertAt_(r, k, a) {
|
|
70
|
-
if (r[k] === a) {
|
|
71
|
-
return r;
|
|
72
|
-
}
|
|
73
|
-
const out = Object.assign({}, r);
|
|
74
|
-
out[k] = a;
|
|
75
|
-
return out;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Check if k is a key
|
|
79
|
-
*/
|
|
80
|
-
export function hasOwnProperty(r, k) {
|
|
81
|
-
return Object.prototype.hasOwnProperty.call(r, k);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Delete a key
|
|
85
|
-
*/
|
|
86
|
-
export function deleteAt(k) {
|
|
87
|
-
return (r) => deleteAt_(r, k);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Delete a key
|
|
91
|
-
*/
|
|
92
|
-
export function deleteAt_(r, k) {
|
|
93
|
-
if (!Object.prototype.hasOwnProperty.call(r, k)) {
|
|
94
|
-
return r;
|
|
95
|
-
}
|
|
96
|
-
const out = Object.assign({}, r);
|
|
97
|
-
delete out[k];
|
|
98
|
-
return out;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Update a key value pair
|
|
102
|
-
*/
|
|
103
|
-
export function updateAt(k, a) {
|
|
104
|
-
return (r) => updateAt_(r, k, a);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Update a key value pair
|
|
108
|
-
*/
|
|
109
|
-
export function updateAt_(r, k, a) {
|
|
110
|
-
if (!hasOwnProperty(r, k)) {
|
|
111
|
-
return O.none();
|
|
112
|
-
}
|
|
113
|
-
if (r[k] === a) {
|
|
114
|
-
return O.some(r);
|
|
115
|
-
}
|
|
116
|
-
const out = Object.assign({}, r);
|
|
117
|
-
out[k] = a;
|
|
118
|
-
return O.some(out);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Modify the value at key k with f
|
|
122
|
-
*/
|
|
123
|
-
export function modifyAt(k, f) {
|
|
124
|
-
return (r) => modifyAt_(r, k, f);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Modify the value at key k with f
|
|
128
|
-
*/
|
|
129
|
-
export function modifyAt_(r, k, f) {
|
|
130
|
-
if (!hasOwnProperty(r, k)) {
|
|
131
|
-
return O.none();
|
|
132
|
-
}
|
|
133
|
-
const out = Object.assign({}, r);
|
|
134
|
-
out[k] = f(r[k]);
|
|
135
|
-
return O.some(out);
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Delete a key and value from a map, returning the value as well as the subsequent map
|
|
139
|
-
*/
|
|
140
|
-
export function pop(k) {
|
|
141
|
-
return (r) => pop_(r, k);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Delete a key and value from a map, returning the value as well as the subsequent map
|
|
145
|
-
*/
|
|
146
|
-
export function pop_(r, k) {
|
|
147
|
-
const deleteAtk = deleteAt(k);
|
|
148
|
-
const oa = lookup_(r, k);
|
|
149
|
-
return O.isNone(oa) ? O.none() : O.some(tuple(oa.value, deleteAtk(r)));
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Lookup the value for a key in a record
|
|
153
|
-
*/
|
|
154
|
-
export function lookup_(r, k) {
|
|
155
|
-
return Object.prototype.hasOwnProperty.call(r, k) ? O.some(r[k]) : O.none();
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Lookup the value for a key in a record
|
|
159
|
-
*/
|
|
160
|
-
export function lookup(k) {
|
|
161
|
-
return (r) => (Object.prototype.hasOwnProperty.call(r, k) ? O.some(r[k]) : O.none());
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Empty record
|
|
165
|
-
*/
|
|
166
|
-
export const empty = {};
|
|
167
|
-
/**
|
|
168
|
-
* Map a record passing the keys to the iterating function
|
|
169
|
-
*/
|
|
170
|
-
export function mapWithIndex(f) {
|
|
171
|
-
return (fa) => mapWithIndex_(fa, f);
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Map a record passing the keys to the iterating function
|
|
175
|
-
*/
|
|
176
|
-
export function mapWithIndex_(fa, f) {
|
|
177
|
-
const out = {};
|
|
178
|
-
const keys = Object.keys(fa);
|
|
179
|
-
for (const key of keys) {
|
|
180
|
-
out[key] = f(key, fa[key]);
|
|
181
|
-
}
|
|
182
|
-
return out;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Map a record passing the values to the iterating function
|
|
186
|
-
*/
|
|
187
|
-
export function map(f) {
|
|
188
|
-
return (fa) => map_(fa, f);
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Map a record passing the values to the iterating function
|
|
192
|
-
*/
|
|
193
|
-
export function map_(fa, f) {
|
|
194
|
-
return mapWithIndex_(fa, (_, a) => f(a));
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Reduce the record passing the index toghether with the value to f
|
|
198
|
-
*/
|
|
199
|
-
export function reduceWithIndex(b, f) {
|
|
200
|
-
return (fa) => reduceWithIndex_(fa, b, f);
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Reduce the record passing the index toghether with the value to f
|
|
204
|
-
*/
|
|
205
|
-
export function reduceWithIndex_(fa, b, f) {
|
|
206
|
-
let out = b;
|
|
207
|
-
const keys = Object.keys(fa).sort();
|
|
208
|
-
const len = keys.length;
|
|
209
|
-
for (let i = 0; i < len; i++) {
|
|
210
|
-
const k = keys[i];
|
|
211
|
-
out = f(k, out, fa[k]);
|
|
212
|
-
}
|
|
213
|
-
return out;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Reduce the record passing the index toghether with the value to f
|
|
217
|
-
*
|
|
218
|
-
* Inverted order
|
|
219
|
-
*/
|
|
220
|
-
export function reduceRightWithIndex(b, f) {
|
|
221
|
-
return (fa) => reduceRightWithIndex_(fa, b, f);
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Reduce the record passing the index toghether with the value to f
|
|
225
|
-
*
|
|
226
|
-
* Inverted order
|
|
227
|
-
*/
|
|
228
|
-
export function reduceRightWithIndex_(fa, b, f) {
|
|
229
|
-
let out = b;
|
|
230
|
-
const keys = Object.keys(fa).sort();
|
|
231
|
-
const len = keys.length;
|
|
232
|
-
for (let i = len - 1; i >= 0; i--) {
|
|
233
|
-
const k = keys[i];
|
|
234
|
-
out = f(k, fa[k], out);
|
|
235
|
-
}
|
|
236
|
-
return out;
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Create a record with one key/value pair
|
|
240
|
-
*/
|
|
241
|
-
export function singleton(k, a) {
|
|
242
|
-
return { [k]: a };
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Partition a record using f that also consumes the entry key
|
|
246
|
-
*/
|
|
247
|
-
export function partitionMapWithIndex(f) {
|
|
248
|
-
return (fa) => partitionMapWithIndex_(fa, f);
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Partition a record using f that also consumes the entry key
|
|
252
|
-
*/
|
|
253
|
-
export function partitionMapWithIndex_(fa, f) {
|
|
254
|
-
const left = {};
|
|
255
|
-
const right = {};
|
|
256
|
-
const keys = Object.keys(fa);
|
|
257
|
-
for (const key of keys) {
|
|
258
|
-
const e = f(key, fa[key]);
|
|
259
|
-
switch (e._tag) {
|
|
260
|
-
case "Left":
|
|
261
|
-
left[key] = e.left;
|
|
262
|
-
break;
|
|
263
|
-
case "Right":
|
|
264
|
-
right[key] = e.right;
|
|
265
|
-
break;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
return tuple(left, right);
|
|
269
|
-
}
|
|
270
|
-
export function partitionWithIndex(predicateWithIndex) {
|
|
271
|
-
return (fa) => partitionWithIndex_(fa, predicateWithIndex);
|
|
272
|
-
}
|
|
273
|
-
export function partitionWithIndex_(fa, predicateWithIndex) {
|
|
274
|
-
const left = {};
|
|
275
|
-
const right = {};
|
|
276
|
-
const keys = Object.keys(fa);
|
|
277
|
-
for (const key of keys) {
|
|
278
|
-
const a = fa[key];
|
|
279
|
-
if (predicateWithIndex(key, a)) {
|
|
280
|
-
right[key] = a;
|
|
281
|
-
}
|
|
282
|
-
else {
|
|
283
|
-
left[key] = a;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
return tuple(left, right);
|
|
287
|
-
}
|
|
288
|
-
export function filterMapWithIndex(f) {
|
|
289
|
-
return (fa) => filterMapWithIndex_(fa, f);
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Filter & map the record entries with f that consumes also the entry index
|
|
293
|
-
*/
|
|
294
|
-
export function filterMapWithIndex_(fa, f) {
|
|
295
|
-
const r = {};
|
|
296
|
-
const keys = Object.keys(fa);
|
|
297
|
-
for (const key of keys) {
|
|
298
|
-
const optionB = f(key, fa[key]);
|
|
299
|
-
if (O.isSome(optionB)) {
|
|
300
|
-
r[key] = optionB.value;
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
return r;
|
|
304
|
-
}
|
|
305
|
-
export function filterWithIndex(predicateWithIndex) {
|
|
306
|
-
return (fa) => filterWithIndex_(fa, predicateWithIndex);
|
|
307
|
-
}
|
|
308
|
-
export function filterWithIndex_(fa, predicateWithIndex) {
|
|
309
|
-
const out = {};
|
|
310
|
-
let changed = false;
|
|
311
|
-
for (const key in fa) {
|
|
312
|
-
if (Object.prototype.hasOwnProperty.call(fa, key)) {
|
|
313
|
-
const a = fa[key];
|
|
314
|
-
if (predicateWithIndex(key, a)) {
|
|
315
|
-
out[key] = a;
|
|
316
|
-
}
|
|
317
|
-
else {
|
|
318
|
-
changed = true;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
return changed ? out : fa;
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Checks a predicate against all the record entries
|
|
326
|
-
*/
|
|
327
|
-
export function every(predicate) {
|
|
328
|
-
return (r) => every_(r, predicate);
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* Checks a predicate against all the record entries
|
|
332
|
-
*/
|
|
333
|
-
export function every_(r, predicate) {
|
|
334
|
-
for (const k in r) {
|
|
335
|
-
if (!predicate(r[k])) {
|
|
336
|
-
return false;
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
return true;
|
|
340
|
-
}
|
|
341
|
-
/**
|
|
342
|
-
* Checks a predicate against some of the record entries
|
|
343
|
-
*/
|
|
344
|
-
export function some(predicate) {
|
|
345
|
-
return (r) => some_(r, predicate);
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Checks a predicate against some of the record entries
|
|
349
|
-
*/
|
|
350
|
-
export function some_(r, predicate) {
|
|
351
|
-
for (const k in r) {
|
|
352
|
-
if (predicate(r[k])) {
|
|
353
|
-
return true;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
return false;
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Drop the None entries
|
|
360
|
-
*/
|
|
361
|
-
export const compact = (fa) => {
|
|
362
|
-
const r = {};
|
|
363
|
-
const keys = Object.keys(fa);
|
|
364
|
-
for (const key of keys) {
|
|
365
|
-
const optionA = fa[key];
|
|
366
|
-
if (O.isSome(optionA)) {
|
|
367
|
-
r[key] = optionA.value;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
return r;
|
|
371
|
-
};
|
|
372
|
-
/**
|
|
373
|
-
* Separate the record entries
|
|
374
|
-
*/
|
|
375
|
-
export const separate = (fa) => {
|
|
376
|
-
const left = {};
|
|
377
|
-
const right = {};
|
|
378
|
-
const keys = Object.keys(fa);
|
|
379
|
-
for (const key of keys) {
|
|
380
|
-
const e = fa[key];
|
|
381
|
-
switch (e._tag) {
|
|
382
|
-
case "Left":
|
|
383
|
-
left[key] = e.left;
|
|
384
|
-
break;
|
|
385
|
-
case "Right":
|
|
386
|
-
right[key] = e.right;
|
|
387
|
-
break;
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
return tuple(left, right);
|
|
391
|
-
};
|
|
392
|
-
/**
|
|
393
|
-
* Filter record entries according to a predicate
|
|
394
|
-
*/
|
|
395
|
-
export const filter = (predicate) => (fa) => filter_(fa, predicate);
|
|
396
|
-
/**
|
|
397
|
-
* Filter record entries according to a predicate
|
|
398
|
-
*/
|
|
399
|
-
export const filter_ = (fa, predicate) => filterWithIndex_(fa, (_, a) => predicate(a));
|
|
400
|
-
/**
|
|
401
|
-
* Filter & map record entries according to a predicate
|
|
402
|
-
*/
|
|
403
|
-
export const filterMap = (f) => (fa) => filterMap_(fa, f);
|
|
404
|
-
/**
|
|
405
|
-
* Filter & map record entries according to a predicate
|
|
406
|
-
*/
|
|
407
|
-
export const filterMap_ = (fa, f) => filterMapWithIndex_(fa, (_, a) => f(a));
|
|
408
|
-
/**
|
|
409
|
-
* Partition record entries according to a predicate
|
|
410
|
-
*/
|
|
411
|
-
export const partition = (predicate) => (fa) => partition_(fa, predicate);
|
|
412
|
-
/**
|
|
413
|
-
* Partition record entries according to a predicate
|
|
414
|
-
*/
|
|
415
|
-
export const partition_ = (fa, predicate) => partitionWithIndex_(fa, (_, a) => predicate(a));
|
|
416
|
-
/**
|
|
417
|
-
* Partition & map record entries
|
|
418
|
-
*/
|
|
419
|
-
export const partitionMap = (f) => (fa) => partitionMap_(fa, f);
|
|
420
|
-
/**
|
|
421
|
-
* Partition & map record entries
|
|
422
|
-
*/
|
|
423
|
-
export const partitionMap_ = (fa, f) => partitionMapWithIndex_(fa, (_, a) => f(a));
|
|
424
|
-
/**
|
|
425
|
-
* Reduce record entries
|
|
426
|
-
*/
|
|
427
|
-
export const reduce = (b, f) => (fa) => reduce_(fa, b, f);
|
|
428
|
-
/**
|
|
429
|
-
* Reduce record entries
|
|
430
|
-
*/
|
|
431
|
-
export const reduce_ = (fa, b, f) => reduceWithIndex_(fa, b, (_, b, a) => f(b, a));
|
|
432
|
-
/**
|
|
433
|
-
* Reduce record entries in inverted order
|
|
434
|
-
*/
|
|
435
|
-
export const reduceRight = (b, f) => (fa) => reduceRight_(fa, b, f);
|
|
436
|
-
/**
|
|
437
|
-
* Reduce record entries in inverted order
|
|
438
|
-
*/
|
|
439
|
-
export const reduceRight_ = (fa, b, f) => reduceRightWithIndex_(fa, b, (_, a, b) => f(a, b));
|
|
440
|
-
/**
|
|
441
|
-
* Converts a record into an array of [key, value]
|
|
442
|
-
*/
|
|
443
|
-
export const toArray = collect(tuple);
|
|
444
|
-
/**
|
|
445
|
-
* Converts an array of [key, value] into a record
|
|
446
|
-
*/
|
|
447
|
-
export const fromArray = (_) => pipe(_, A.reduce({}, (b, [k, v]) => Object.assign(b, { [k]: v })));
|
|
448
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9EaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUduQixPQUFPLEtBQUssQ0FBQyxNQUFNLFlBQVksQ0FBQTtBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFtQyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxLQUFLLENBQUMsTUFBTSxhQUFhLENBQUE7QUFXaEMsTUFBTTtBQUNOLG9EQUFvRDtBQUNwRCxNQUFNO0FBQ04sK0VBQStFO0FBQy9FLGdDQUFnQztBQUNoQyxJQUFJO0FBRUosTUFBTTtBQUNOLDhDQUE4QztBQUM5QyxNQUFNO0FBQ04sNkVBQTZFO0FBQzdFLGdDQUFnQztBQUNoQyxJQUFJO0FBRUo7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFDLENBQXNCO0lBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7QUFDOUIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxDQUFzQjtJQUM1QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtBQUNwQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFDLENBQXNCO0lBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQVMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLENBQWdCO0lBQ3hDLE9BQU8sTUFBTTtTQUNWLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDUCxJQUFJLEVBQUU7U0FDTixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFBO0FBQ3RC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
|
package/dist/Object.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as D from "./Dictionary.js";
|
|
2
|
-
export declare const collect: typeof D.collect, collect_: typeof D.collect_;
|
|
3
|
-
export declare const map_: <TIn, TOut, T extends D.Dictionary<TIn>>(fa: T & D.Dictionary<TIn>, f: (a: TIn) => TOut) => { [P in keyof T]: TOut; };
|
|
4
|
-
export declare const mapWithIndex_: <TIn, TOut, T extends D.Dictionary<TIn>>(fa: T & D.Dictionary<TIn>, f: (i: keyof T, a: TIn) => TOut) => { [P in keyof T]: TOut; };
|
|
5
|
-
export declare const map: <TIn, TOut, T extends D.Dictionary<TIn>>(f: (a: TIn) => TOut) => (fa: T & D.Dictionary<TIn>) => { [P in keyof T]: TOut; };
|
|
6
|
-
export declare const mapWithIndex: <TIn, TOut, T extends D.Dictionary<TIn>>(f: (i: keyof T, a: TIn) => TOut) => (fa: T & D.Dictionary<TIn>) => { [P in keyof T]: TOut; };
|
|
7
|
-
//# sourceMappingURL=Object.d.ts.map
|
package/dist/Object.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../src/Object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AAEpC,eAAO,MAAQ,OAAO,oBAAE,QAAQ,mBAAM,CAAA;AAEtC,eAAO,MAAM,IAAI,GAAI,GAAG,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MACrD,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KACtB,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,KACC,GAAG,CAAY,IAAP,MAAM,CAAC,GAAG,IAAI,GAAE,CAAA;AAC9C,eAAO,MAAM,aAAa,GAAI,GAAG,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAC9D,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KACtB,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,IAAI,KACF,GAAG,CAAY,IAAP,MAAM,CAAC,GAAG,IAAI,GAAE,CAAA;AAEvD,eAAO,MAAM,GAAG,GAAI,GAAG,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,QANrF,CAAC,qBAOC,CAAA;AAE3B,eAAO,MAAM,YAAY,GACtB,GAAG,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,QANvE,CAAC,qBAOG,CAAA"}
|
package/dist/Object.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as D from "./Dictionary.js";
|
|
2
|
-
export const { collect, collect_ } = D;
|
|
3
|
-
export const map_ = (fa, f) => D.map_(fa, f);
|
|
4
|
-
export const mapWithIndex_ = (fa, f) => D.mapWithIndex_(fa, f);
|
|
5
|
-
export const map = (f) => (fa) => map_(fa, f);
|
|
6
|
-
export const mapWithIndex = (f) => (fa) => mapWithIndex_(fa, f);
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL09iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLGlCQUFpQixDQUFBO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FDbEIsRUFBeUIsRUFDekIsQ0FBbUIsRUFDbkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBNkIsQ0FBQTtBQUM5QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsRUFBeUIsRUFDekIsQ0FBK0IsRUFDL0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBNkIsQ0FBQTtBQUV2RCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBeUMsQ0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUF5QixFQUFFLEVBQUUsQ0FDaEgsSUFBSSxDQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUUzQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQ3ZCLENBQXlDLENBQStCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBeUIsRUFBRSxFQUFFLENBQ3pHLGFBQWEsQ0FBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUEifQ==
|
package/dist/client/config.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Context, Effect, type HashMap, Layer, type Option } from "../internal/lib.js";
|
|
2
|
-
export interface ApiConfig {
|
|
3
|
-
apiUrl: string;
|
|
4
|
-
headers: Option<HashMap<string, string>>;
|
|
5
|
-
}
|
|
6
|
-
export declare const layer: (config: ApiConfig) => Layer.Layer<ApiConfig, never, never>;
|
|
7
|
-
export declare const ApiConfig: {
|
|
8
|
-
Tag: Context.Tag<ApiConfig, ApiConfig>;
|
|
9
|
-
layer: (config: ApiConfig) => Layer.Layer<ApiConfig, never, never>;
|
|
10
|
-
};
|
|
11
|
-
export declare const getConfig: <R, E, A>(self: (cfg: ApiConfig) => Effect<A, E, R>) => Effect.Effect<A, E, ApiConfig | R>;
|
|
12
|
-
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEtF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACzC;AAGD,eAAO,MAAM,KAAK,WAAY,SAAS,yCAA+B,CAAA;AACtE,eAAO,MAAM,SAAS;;oBADQ,SAAS;CAItC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,uCAA8B,CAAA"}
|
package/dist/client/config.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Context, Effect, Layer } from "../internal/lib.js";
|
|
2
|
-
const tag = Context.GenericTag("@services/tag");
|
|
3
|
-
export const layer = (config) => Layer.succeed(tag, config);
|
|
4
|
-
export const ApiConfig = {
|
|
5
|
-
Tag: tag,
|
|
6
|
-
layer
|
|
7
|
-
};
|
|
8
|
-
export const getConfig = (self) => Effect.flatMap(tag, self);
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQWdCLEtBQUssRUFBZSxNQUFNLG9CQUFvQixDQUFBO0FBT3RGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQVksZUFBZSxDQUFDLENBQUE7QUFDMUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDdEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSztDQUNOLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBVSxJQUF5QyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQSJ9
|