@typed/async-data 0.12.0 → 0.13.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 (75) hide show
  1. package/.nvmrc +1 -0
  2. package/biome.json +36 -0
  3. package/dist/AsyncData.d.ts +196 -0
  4. package/dist/AsyncData.js +285 -0
  5. package/dist/AsyncData.js.map +1 -0
  6. package/dist/LazyRef.d.ts +21 -0
  7. package/dist/LazyRef.js +27 -0
  8. package/dist/LazyRef.js.map +1 -0
  9. package/dist/Progress.d.ts +25 -0
  10. package/dist/Progress.js +21 -0
  11. package/dist/Progress.js.map +1 -0
  12. package/dist/{dts/TypeId.d.ts → TypeId.d.ts} +0 -1
  13. package/dist/TypeId.js +8 -0
  14. package/dist/TypeId.js.map +1 -0
  15. package/dist/_internal.d.ts +16 -0
  16. package/dist/_internal.js +53 -0
  17. package/dist/_internal.js.map +1 -0
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.js +5 -0
  20. package/dist/index.js.map +1 -0
  21. package/package.json +31 -49
  22. package/readme.md +218 -0
  23. package/src/AsyncData.test.ts +89 -0
  24. package/src/AsyncData.ts +555 -595
  25. package/src/LazyRef.ts +87 -0
  26. package/src/Progress.ts +18 -65
  27. package/src/TypeId.ts +1 -1
  28. package/src/_internal.ts +114 -0
  29. package/src/index.ts +4 -0
  30. package/tsconfig.json +27 -0
  31. package/AsyncData/package.json +0 -6
  32. package/LICENSE +0 -21
  33. package/Progress/package.json +0 -6
  34. package/README.md +0 -5
  35. package/Schema/package.json +0 -6
  36. package/TypeId/package.json +0 -6
  37. package/dist/cjs/AsyncData.js +0 -399
  38. package/dist/cjs/AsyncData.js.map +0 -1
  39. package/dist/cjs/Progress.js +0 -62
  40. package/dist/cjs/Progress.js.map +0 -1
  41. package/dist/cjs/Schema.js +0 -539
  42. package/dist/cjs/Schema.js.map +0 -1
  43. package/dist/cjs/TypeId.js +0 -14
  44. package/dist/cjs/TypeId.js.map +0 -1
  45. package/dist/cjs/internal/async-data.js +0 -94
  46. package/dist/cjs/internal/async-data.js.map +0 -1
  47. package/dist/cjs/internal/tag.js +0 -12
  48. package/dist/cjs/internal/tag.js.map +0 -1
  49. package/dist/dts/AsyncData.d.ts +0 -386
  50. package/dist/dts/AsyncData.d.ts.map +0 -1
  51. package/dist/dts/Progress.d.ts +0 -43
  52. package/dist/dts/Progress.d.ts.map +0 -1
  53. package/dist/dts/Schema.d.ts +0 -78
  54. package/dist/dts/Schema.d.ts.map +0 -1
  55. package/dist/dts/TypeId.d.ts.map +0 -1
  56. package/dist/dts/internal/async-data.d.ts +0 -43
  57. package/dist/dts/internal/async-data.d.ts.map +0 -1
  58. package/dist/dts/internal/tag.d.ts +0 -6
  59. package/dist/dts/internal/tag.d.ts.map +0 -1
  60. package/dist/esm/AsyncData.js +0 -372
  61. package/dist/esm/AsyncData.js.map +0 -1
  62. package/dist/esm/Progress.js +0 -49
  63. package/dist/esm/Progress.js.map +0 -1
  64. package/dist/esm/Schema.js +0 -500
  65. package/dist/esm/Schema.js.map +0 -1
  66. package/dist/esm/TypeId.js +0 -8
  67. package/dist/esm/TypeId.js.map +0 -1
  68. package/dist/esm/internal/async-data.js +0 -91
  69. package/dist/esm/internal/async-data.js.map +0 -1
  70. package/dist/esm/internal/tag.js +0 -6
  71. package/dist/esm/internal/tag.js.map +0 -1
  72. package/dist/esm/package.json +0 -4
  73. package/src/Schema.ts +0 -754
  74. package/src/internal/async-data.ts +0 -114
  75. package/src/internal/tag.ts +0 -9
@@ -1,500 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Arbitrary from "@effect/schema/Arbitrary";
5
- import * as AST from "@effect/schema/AST";
6
- import * as Eq from "@effect/schema/Equivalence";
7
- import * as ParseResult from "@effect/schema/ParseResult";
8
- import * as Pretty from "@effect/schema/Pretty";
9
- import * as Schema from "@effect/schema/Schema";
10
- import * as Cause from "effect/Cause";
11
- import * as Data from "effect/Data";
12
- import * as Effect from "effect/Effect";
13
- import * as Equal from "effect/Equal";
14
- import * as FiberId from "effect/FiberId";
15
- import * as Option from "effect/Option";
16
- import { hasProperty } from "effect/Predicate";
17
- import * as _AsyncData from "./AsyncData.js";
18
- import * as P from "./Progress.js";
19
- const NO_DATA_PRETTY = "AsyncData.NoData";
20
- const LOADING_PRETTY = (loading) => Option.match(loading.progress, {
21
- onNone: () => `AsyncData.Loading(timestamp=${loading.timestamp})`,
22
- onSome: (progress) => `AsyncData.Loading(timestamp=${loading.timestamp}, progress=${P.pretty(progress)})`
23
- });
24
- const FAILURE_PRETTY = (print) => (failure) => Option.match(failure.refreshing, {
25
- onNone: () => `AsyncData.Failure(timestamp=${failure.timestamp}, cause=${print(failure.cause)})`,
26
- onSome: () => `AsyncData.Failure(timestamp=${failure.timestamp}, refreshing=true, cause=${print(failure.cause)})`
27
- });
28
- const SUCCESS_PRETTY = (print) => (success) => Option.match(success.refreshing, {
29
- onNone: () => `AsyncData.Success(timestamp=${success.timestamp}, value=${print(success.value)})`,
30
- onSome: () => `AsyncData.Success(timestamp=${success.timestamp}, refreshing=true, value=${print(success.value)})`
31
- });
32
- const OPTIMISTIC_PRETTY = (printValue, printError) => (optimistic) => `AsyncData.Optimistic(timestamp=${optimistic.timestamp}, value=${printValue(optimistic.value)}, previous=${asyncDataPretty(printValue, printError)(optimistic.previous)})`;
33
- const ProgressSchemaJson = Schema.Struct({
34
- loaded: Schema.BigInt,
35
- total: Schema.optional(Schema.BigInt)
36
- });
37
- const ProgressSchema = Schema.Data(Schema.Struct({
38
- loaded: Schema.BigIntFromSelf,
39
- total: Schema.OptionFromSelf(Schema.BigIntFromSelf)
40
- }));
41
- const progressArbitrary = (fc) => fc.bigInt().chain((loaded) => fc.option(fc.bigInt({ min: loaded })).map((total) => P.make(loaded, total)));
42
- /**
43
- * @since 1.0.0
44
- */
45
- export const Progress = ProgressSchemaJson.pipe(Schema.transform(ProgressSchema, {
46
- decode: (json) => P.make(json.loaded, json.total),
47
- encode: (progress) => ({
48
- loaded: progress.loaded,
49
- total: Option.getOrUndefined(progress.total)
50
- })
51
- }), Schema.annotations({
52
- [AST.IdentifierAnnotationId]: "Progress",
53
- [Pretty.PrettyHookId]: () => "Progress",
54
- [Arbitrary.ArbitraryHookId]: () => progressArbitrary,
55
- [Eq.EquivalenceHookId]: () => Equal.equals
56
- }));
57
- const loadingArbitrary = (fc) => fc.option(progressArbitrary(fc)).map((progress) => _AsyncData.loading({
58
- timestamp: Date.now(),
59
- progress: progress || undefined
60
- }));
61
- const failureArbitrary = (cause) => (fc) => fc.option(loadingArbitrary(fc)).chain((refreshing) => cause(fc).chain((cause) => fc.date().map((date) => _AsyncData.failCause(cause, {
62
- timestamp: date.getTime(),
63
- refreshing: refreshing || undefined
64
- }))));
65
- const FailureFrom = (cause, timestamp, refreshing) => {
66
- const base = {
67
- _tag: "Failure",
68
- cause,
69
- timestamp
70
- };
71
- if (refreshing !== undefined) {
72
- return { ...base, refreshing };
73
- }
74
- return base;
75
- };
76
- const successArbitrary = (value) => (fc) => fc.option(loadingArbitrary(fc)).chain((refreshing) => value(fc).chain((a) => fc.date().map((date) => _AsyncData.success(a, {
77
- timestamp: date.getTime(),
78
- refreshing: refreshing || undefined
79
- }))));
80
- const SuccessFrom = (value, timestamp, refreshing) => {
81
- const base = {
82
- _tag: "Success",
83
- value,
84
- timestamp
85
- };
86
- if (refreshing !== undefined) {
87
- return { ...base, refreshing };
88
- }
89
- return base;
90
- };
91
- const OptimisticFrom = (value, timestamp, previous) => ({
92
- _tag: "Optimistic",
93
- value,
94
- timestamp,
95
- previous
96
- });
97
- const optimisticArbitrary = (valueArb, causeArb) => (fc) => asyncDataArbitrary(valueArb, causeArb)(fc).chain((previous) => valueArb(fc).chain((value) => fc.date().map((date) => _AsyncData.optimistic(previous, value, { timestamp: date.getTime() }))));
98
- const fromEq = (a, b) => {
99
- if (a._tag !== b._tag)
100
- return false;
101
- switch (a._tag) {
102
- case "NoData":
103
- return true;
104
- case "Loading": {
105
- const loadingB = b;
106
- if (a.timestamp !== loadingB.timestamp)
107
- return false;
108
- if (a.progress === undefined && loadingB.progress === undefined)
109
- return true;
110
- if (a.progress === undefined || loadingB.progress === undefined)
111
- return false;
112
- return Equal.equals(Data.struct(a.progress), Data.struct(loadingB.progress));
113
- }
114
- case "Failure": {
115
- const failureB = b;
116
- if (!(Equal.equals(Data.struct(a.cause), Data.struct(failureB.cause)) && a.timestamp === failureB.timestamp))
117
- return false;
118
- if (a.refreshing === undefined && failureB.refreshing === undefined)
119
- return true;
120
- if (a.refreshing === undefined || failureB.refreshing === undefined)
121
- return false;
122
- return Equal.equals(Data.struct(a.refreshing), Data.struct(failureB.refreshing));
123
- }
124
- case "Success": {
125
- const successB = b;
126
- return Equal.equals(a.value, successB.value) &&
127
- a.timestamp === successB.timestamp &&
128
- Equal.equals(a.refreshing, successB.refreshing);
129
- }
130
- case "Optimistic": {
131
- const optimisticB = b;
132
- return Equal.equals(a.value, optimisticB.value) &&
133
- a.timestamp === optimisticB.timestamp &&
134
- fromEq(a.previous, optimisticB.previous);
135
- }
136
- }
137
- };
138
- function isNoDataFrom(value) {
139
- return hasProperty(value, "_tag") && value._tag === "NoData";
140
- }
141
- function isProgressFrom(value) {
142
- if (!(hasProperty(value, "loaded") && typeof value.loaded === "string"))
143
- return false;
144
- if (hasProperty(value, "total")) {
145
- if (typeof value.total !== "string")
146
- return false;
147
- }
148
- return true;
149
- }
150
- function isLoadingFrom(value) {
151
- return hasProperty(value, "_tag")
152
- && value._tag === "Loading"
153
- && hasProperty(value, "timestamp")
154
- && typeof value.timestamp === "number"
155
- && (hasProperty(value, "progress") ? isProgressFrom(value.progress) : true);
156
- }
157
- const isCauseEncoded = Schema.is(Schema.encodedSchema(Schema.Cause({ defect: Schema.Unknown, error: Schema.Unknown })));
158
- function isFailureFrom(value) {
159
- return hasProperty(value, "_tag")
160
- && value._tag === "Failure"
161
- && hasProperty(value, "cause")
162
- && isCauseEncoded(value.cause)
163
- && hasProperty(value, "timestamp")
164
- && typeof value.timestamp === "number"
165
- && (hasProperty(value, "refreshing") ? value.refreshing === undefined || isLoadingFrom(value.refreshing) : true);
166
- }
167
- function isSuccessFrom(value) {
168
- return hasProperty(value, "_tag")
169
- && value._tag === "Success"
170
- && hasProperty(value, "value")
171
- && hasProperty(value, "timestamp")
172
- && typeof value.timestamp === "number"
173
- && (hasProperty(value, "refreshing") ? value.refreshing === undefined || isLoadingFrom(value.refreshing) : true);
174
- }
175
- function isOptimisticFrom(value) {
176
- return hasProperty(value, "_tag")
177
- && value._tag === "Optimistic"
178
- && hasProperty(value, "value")
179
- && hasProperty(value, "previous")
180
- && isAsyncDataFrom(value.previous)
181
- && hasProperty(value, "timestamp")
182
- && typeof value.timestamp === "number";
183
- }
184
- function isAsyncDataFrom(value) {
185
- return isNoDataFrom(value)
186
- || isLoadingFrom(value)
187
- || isFailureFrom(value)
188
- || isSuccessFrom(value)
189
- || isOptimisticFrom(value);
190
- }
191
- /**
192
- * @since 1.0.0
193
- */
194
- export const asyncDataFromJson = (value, error) => {
195
- const schema = Schema.declare([value, Schema.Cause({ error, defect: Schema.Unknown })], {
196
- decode: (valueSchema, causeSchema) => {
197
- const parseCause = ParseResult.decode(causeSchema);
198
- const parseValue = ParseResult.decode(valueSchema);
199
- const parseAsyncData = (input, options) => {
200
- return Effect.gen(function* () {
201
- if (!isAsyncDataFrom(input)) {
202
- return yield* Effect.fail(new ParseResult.Forbidden(schema.ast, input));
203
- }
204
- switch (input._tag) {
205
- case "NoData":
206
- case "Loading":
207
- return input;
208
- case "Failure": {
209
- const cause = yield* parseCause(input.cause, options);
210
- return FailureFrom(cause, input.timestamp, input.refreshing);
211
- }
212
- case "Success": {
213
- const a = yield* parseValue(input.value, options);
214
- return SuccessFrom(a, input.timestamp, input.refreshing);
215
- }
216
- case "Optimistic": {
217
- const previous = yield* parseAsyncData(input.previous, options);
218
- const value = yield* parseValue(input.value, options);
219
- return OptimisticFrom(value, input.timestamp, previous);
220
- }
221
- }
222
- });
223
- };
224
- return parseAsyncData;
225
- },
226
- encode: (valueSchema, causeSchema) => {
227
- const parseCause = ParseResult.encode(causeSchema);
228
- const parseValue = ParseResult.encode(valueSchema);
229
- const parseAsyncData = (input, options) => {
230
- return Effect.gen(function* () {
231
- if (!isAsyncDataFrom(input)) {
232
- return yield* Effect.fail(new ParseResult.Forbidden(schema.ast, input));
233
- }
234
- switch (input._tag) {
235
- case "NoData":
236
- case "Loading":
237
- return input;
238
- case "Failure": {
239
- const cause = yield* parseCause(causeFromToCause(input.cause), options);
240
- return FailureFrom(cause, input.timestamp, input.refreshing);
241
- }
242
- case "Success": {
243
- const a = yield* parseValue(input.value, options);
244
- return SuccessFrom(a, input.timestamp, input.refreshing);
245
- }
246
- case "Optimistic": {
247
- const previous = yield* parseAsyncData(input.previous, options);
248
- const value = yield* parseValue(input.value, options);
249
- return OptimisticFrom(value, input.timestamp, previous);
250
- }
251
- }
252
- });
253
- };
254
- return parseAsyncData;
255
- }
256
- }, {
257
- title: "AsyncDataFrom",
258
- equivalence: () => fromEq,
259
- arbitrary: (valueArb, causeArb) => (fc) => asyncDataArbitrary(valueArb, causeArb)(fc).map(asyncDataToAsyncDataFrom),
260
- pretty: (valuePretty, causePretty) => (from) => asyncDataPretty(valuePretty, causePretty)(asyncDataFromToAsyncData(from))
261
- });
262
- return schema;
263
- };
264
- /**
265
- * @since 1.0.0
266
- */
267
- export const AsyncData = (valueSchema, errorSchema) => {
268
- const from = asyncDataFromJson(valueSchema, errorSchema);
269
- const to = AsyncDataFromSelf(Schema.typeSchema(valueSchema), Schema.typeSchema(errorSchema));
270
- return from
271
- .pipe(Schema.transform(to, {
272
- decode: asyncDataFromToAsyncData,
273
- encode: asyncDataToAsyncDataFrom
274
- }));
275
- };
276
- /**
277
- * @since 1.0.0
278
- */
279
- export const AsyncDataFromSelf = (value, error) => {
280
- const schema = Schema.declare([value, Schema.CauseFromSelf({ error, defect: Schema.Unknown })], {
281
- decode: (valueSchema, causeSchema) => {
282
- const parseCause = ParseResult.decode(causeSchema);
283
- const parseValue = ParseResult.decode(valueSchema);
284
- const parseAsyncData = (input, options) => {
285
- return Effect.gen(function* () {
286
- if (!_AsyncData.isAsyncData(input)) {
287
- return yield* Effect.fail(new ParseResult.Forbidden(schema.ast, input));
288
- }
289
- switch (input._tag) {
290
- case "NoData":
291
- case "Loading":
292
- return input;
293
- case "Failure": {
294
- const cause = yield* parseCause(input.cause, options);
295
- return _AsyncData.failCause(cause, {
296
- timestamp: input.timestamp,
297
- refreshing: Option.getOrUndefined(input.refreshing)
298
- });
299
- }
300
- case "Success": {
301
- const a = yield* parseValue(input.value, options);
302
- return _AsyncData.success(a, {
303
- timestamp: input.timestamp,
304
- refreshing: Option.getOrUndefined(input.refreshing)
305
- });
306
- }
307
- case "Optimistic": {
308
- const previous = yield* parseAsyncData(input.previous, options);
309
- const value = yield* parseValue(input.value, options);
310
- return _AsyncData.optimistic(previous, value, {
311
- timestamp: input.timestamp
312
- });
313
- }
314
- }
315
- });
316
- };
317
- return parseAsyncData;
318
- },
319
- encode: (valueSchema, causeSchema) => {
320
- const parseCause = ParseResult.encode(causeSchema);
321
- const parseValue = ParseResult.encode(valueSchema);
322
- const parseAsyncData = (input, options) => {
323
- return Effect.gen(function* () {
324
- if (!_AsyncData.isAsyncData(input)) {
325
- return yield* Effect.fail(new ParseResult.Forbidden(schema.ast, input));
326
- }
327
- switch (input._tag) {
328
- case "NoData":
329
- case "Loading":
330
- return input;
331
- case "Failure": {
332
- const cause = yield* parseCause(input.cause, options);
333
- return _AsyncData.failCause(cause, {
334
- timestamp: input.timestamp,
335
- refreshing: Option.getOrUndefined(input.refreshing)
336
- });
337
- }
338
- case "Success": {
339
- const a = yield* parseValue(input.value, options);
340
- return _AsyncData.success(a, {
341
- timestamp: input.timestamp,
342
- refreshing: Option.getOrUndefined(input.refreshing)
343
- });
344
- }
345
- case "Optimistic": {
346
- const previous = yield* parseAsyncData(input.previous, options);
347
- const value = yield* parseValue(input.value, options);
348
- return _AsyncData.optimistic(previous, value, {
349
- timestamp: input.timestamp
350
- });
351
- }
352
- }
353
- });
354
- };
355
- return parseAsyncData;
356
- }
357
- }, {
358
- title: "AsyncData",
359
- pretty: asyncDataPretty,
360
- arbitrary: asyncDataArbitrary,
361
- equivalence: () => Equal.equals
362
- });
363
- return schema;
364
- };
365
- function asyncDataPretty(A, E) {
366
- return _AsyncData.match({
367
- NoData: () => NO_DATA_PRETTY,
368
- Loading: LOADING_PRETTY,
369
- Failure: (_, data) => FAILURE_PRETTY(E)(data),
370
- Success: (_, data) => SUCCESS_PRETTY(A)(data),
371
- Optimistic: (_, data) => OPTIMISTIC_PRETTY(A, E)(data)
372
- });
373
- }
374
- function asyncDataArbitrary(A, E) {
375
- const failureArb = failureArbitrary(E);
376
- const successArb = successArbitrary(A);
377
- const optimisticArb = optimisticArbitrary(A, E);
378
- return (fc) => fc.oneof(fc.constant(_AsyncData.noData()), fc.constant(_AsyncData.loading()), failureArb(fc), successArb(fc), optimisticArb(fc));
379
- }
380
- function progressFromJson(json) {
381
- if (json === undefined)
382
- return Option.none();
383
- return Option.some(P.make(BigInt(json.loaded), json.total === undefined ? undefined : BigInt(json.total)));
384
- }
385
- function progressToJson(progres) {
386
- if (Option.isNone(progres))
387
- return;
388
- return {
389
- loaded: progres.value.loaded.toString(),
390
- total: Option.getOrUndefined(progres.value.total)?.toString()
391
- };
392
- }
393
- function loadingFromJson(json) {
394
- if (json === undefined)
395
- return;
396
- return _AsyncData.loading({
397
- timestamp: json.timestamp,
398
- progress: Option.getOrUndefined(progressFromJson(json.progress))
399
- });
400
- }
401
- function loadingToJson(loading) {
402
- const from = {
403
- _tag: "Loading",
404
- timestamp: loading.timestamp
405
- };
406
- if (Option.isSome(loading.progress)) {
407
- return { ...from, progress: progressToJson(loading.progress) };
408
- }
409
- return from;
410
- }
411
- function causeFromToCause(from) {
412
- switch (from._tag) {
413
- case "Die":
414
- return Cause.die(from.defect);
415
- case "Empty":
416
- return Cause.empty;
417
- case "Fail":
418
- return Cause.fail(from.error);
419
- case "Interrupt":
420
- return Cause.interrupt(fiberIdFromToFiberId(from.fiberId));
421
- case "Parallel":
422
- return Cause.parallel(causeFromToCause(from.left), causeFromToCause(from.right));
423
- case "Sequential":
424
- return Cause.sequential(causeFromToCause(from.left), causeFromToCause(from.right));
425
- }
426
- }
427
- function fiberIdFromToFiberId(id) {
428
- switch (id._tag) {
429
- case "None":
430
- return FiberId.none;
431
- case "Runtime":
432
- return FiberId.runtime(id.id, id.startTimeMillis);
433
- case "Composite":
434
- return FiberId.composite(fiberIdFromToFiberId(id.left), fiberIdFromToFiberId(id.right));
435
- }
436
- }
437
- function causeToCauseEncoded(cause) {
438
- switch (cause._tag) {
439
- case "Die":
440
- return { _tag: "Die", defect: cause.defect };
441
- case "Empty":
442
- return { _tag: "Empty" };
443
- case "Fail":
444
- return { _tag: "Fail", error: cause.error };
445
- case "Interrupt":
446
- return { _tag: "Interrupt", fiberId: fiberIdToFiberIdFrom(cause.fiberId) };
447
- case "Parallel":
448
- return { _tag: "Parallel", left: causeToCauseEncoded(cause.left), right: causeToCauseEncoded(cause.right) };
449
- case "Sequential":
450
- return { _tag: "Sequential", left: causeToCauseEncoded(cause.left), right: causeToCauseEncoded(cause.right) };
451
- }
452
- }
453
- function fiberIdToFiberIdFrom(id) {
454
- switch (id._tag) {
455
- case "None":
456
- return { _tag: "None" };
457
- case "Runtime":
458
- return { _tag: "Runtime", id: id.id, startTimeMillis: id.startTimeMillis };
459
- case "Composite":
460
- return { _tag: "Composite", left: fiberIdToFiberIdFrom(id.left), right: fiberIdToFiberIdFrom(id.right) };
461
- }
462
- }
463
- const NO_DATA_FROM = { _tag: "NoData" };
464
- function asyncDataToAsyncDataFrom(data) {
465
- switch (data._tag) {
466
- case "NoData":
467
- return NO_DATA_FROM;
468
- case "Loading":
469
- return loadingToJson(data);
470
- case "Failure":
471
- return FailureFrom(causeToCauseEncoded(data.cause), data.timestamp, Option.getOrUndefined(Option.map(data.refreshing, loadingToJson)));
472
- case "Success":
473
- return SuccessFrom(data.value, data.timestamp, Option.getOrUndefined(Option.map(data.refreshing, loadingToJson)));
474
- case "Optimistic":
475
- return OptimisticFrom(data.value, data.timestamp, asyncDataToAsyncDataFrom(data.previous));
476
- }
477
- }
478
- function asyncDataFromToAsyncData(data) {
479
- switch (data._tag) {
480
- case "NoData":
481
- return _AsyncData.noData();
482
- case "Loading":
483
- return loadingFromJson(data);
484
- case "Failure":
485
- return _AsyncData.failCause(causeFromToCause(data.cause), {
486
- timestamp: data.timestamp,
487
- refreshing: loadingFromJson(data.refreshing)
488
- });
489
- case "Success":
490
- return _AsyncData.success(data.value, {
491
- timestamp: data.timestamp,
492
- refreshing: loadingFromJson(data.refreshing)
493
- });
494
- case "Optimistic":
495
- return _AsyncData.optimistic(asyncDataFromToAsyncData(data.previous), data.value, {
496
- timestamp: data.timestamp
497
- });
498
- }
499
- }
500
- //# sourceMappingURL=Schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- /**
5
- * @since 1.0.0
6
- */
7
- export const AsyncDataTypeId = Symbol.for("@typed/async-data/AsyncData");
8
- //# sourceMappingURL=TypeId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeId.js","sourceRoot":"","sources":["../../src/TypeId.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA"}
@@ -1,91 +0,0 @@
1
- // Internal
2
- import * as Effect from "effect/Effect";
3
- import * as Effectable from "effect/Effectable";
4
- import * as Equal from "effect/Equal";
5
- import { constant, pipe } from "effect/Function";
6
- import * as Hash from "effect/Hash";
7
- import { hasProperty } from "effect/Predicate";
8
- import { AsyncDataTypeId } from "../TypeId.js";
9
- import { FAILURE_TAG, OPTIMISTIC_TAG, SUCCESS_TAG } from "./tag.js";
10
- // @ts-expect-error
11
- export class FailureImpl extends Effectable.Class {
12
- cause;
13
- timestamp;
14
- refreshing;
15
- [AsyncDataTypeId] = AsyncDataTypeId;
16
- _tag = FAILURE_TAG;
17
- commit;
18
- constructor(cause, timestamp, refreshing) {
19
- super();
20
- this.cause = cause;
21
- this.timestamp = timestamp;
22
- this.refreshing = refreshing;
23
- this.commit = constant(Effect.failCause(cause));
24
- }
25
- [Equal.symbol](that) {
26
- if (this === that)
27
- return true;
28
- if (!isAsyncData(that) || that._tag !== FAILURE_TAG)
29
- return false;
30
- return Equal.equals(this.cause, that.cause)
31
- && this.timestamp === that.timestamp
32
- && Equal.equals(this.refreshing, that.refreshing);
33
- }
34
- [Hash.symbol]() {
35
- return pipe(Hash.string(this._tag), Hash.combine(Hash.hash(this.cause)), Hash.combine(Hash.hash(this.timestamp)), Hash.combine(Hash.hash(this.refreshing)));
36
- }
37
- }
38
- // @ts-expect-error
39
- export class SuccessImpl extends Effectable.Class {
40
- value;
41
- timestamp;
42
- refreshing;
43
- [AsyncDataTypeId] = AsyncDataTypeId;
44
- _tag = SUCCESS_TAG;
45
- commit;
46
- constructor(value, timestamp, refreshing) {
47
- super();
48
- this.value = value;
49
- this.timestamp = timestamp;
50
- this.refreshing = refreshing;
51
- this.commit = constant(Effect.succeed(value));
52
- }
53
- [Equal.symbol](that) {
54
- return isAsyncData(that) && that._tag === SUCCESS_TAG
55
- && Equal.equals(this.value, that.value)
56
- && Equal.equals(this.timestamp, that.timestamp)
57
- && Equal.equals(this.refreshing, that.refreshing);
58
- }
59
- [Hash.symbol]() {
60
- return pipe(Hash.string(this._tag), Hash.combine(Hash.hash(this.value)), Hash.combine(Hash.hash(this.timestamp)), Hash.combine(Hash.hash(this.refreshing)));
61
- }
62
- }
63
- // @ts-expect-error
64
- export class OptimisticImpl extends Effectable.Class {
65
- value;
66
- timestamp;
67
- previous;
68
- [AsyncDataTypeId] = AsyncDataTypeId;
69
- _tag = OPTIMISTIC_TAG;
70
- commit;
71
- constructor(value, timestamp, previous) {
72
- super();
73
- this.value = value;
74
- this.timestamp = timestamp;
75
- this.previous = previous;
76
- this.commit = constant(Effect.succeed(value));
77
- }
78
- [Equal.symbol](that) {
79
- return isAsyncData(that) && that._tag === OPTIMISTIC_TAG
80
- && Equal.equals(this.value, that.value)
81
- && Equal.equals(this.timestamp, that.timestamp)
82
- && Equal.equals(this.previous, that.previous);
83
- }
84
- [Hash.symbol]() {
85
- return pipe(Hash.string(this._tag), Hash.combine(Hash.hash(this.value)), Hash.combine(Hash.hash(this.timestamp)), Hash.combine(Hash.hash(this.previous)));
86
- }
87
- }
88
- export function isAsyncData(u) {
89
- return hasProperty(u, AsyncDataTypeId);
90
- }
91
- //# sourceMappingURL=async-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-data.js","sourceRoot":"","sources":["../../../src/internal/async-data.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export const NO_DATA_TAG = "NoData";
2
- export const LOADING_TAG = "Loading";
3
- export const FAILURE_TAG = "Failure";
4
- export const SUCCESS_TAG = "Success";
5
- export const OPTIMISTIC_TAG = "Optimistic";
6
- //# sourceMappingURL=tag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/internal/tag.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,QAAiB,CAAA;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,SAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,SAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG,SAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,YAAqB,CAAA"}