@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,43 +0,0 @@
1
- import type * as Cause from "effect/Cause";
2
- import * as Effect from "effect/Effect";
3
- import * as Effectable from "effect/Effectable";
4
- import * as Equal from "effect/Equal";
5
- import * as Hash from "effect/Hash";
6
- import type * as Option from "effect/Option";
7
- import type { AsyncData, Failure, Loading, Optimistic, Success } from "../AsyncData.js";
8
- import { AsyncDataTypeId } from "../TypeId.js";
9
- export declare class FailureImpl<E> extends Effectable.Class<never, E, never> implements Failure<E> {
10
- readonly cause: Cause.Cause<E>;
11
- readonly timestamp: number;
12
- readonly refreshing: Option.Option<Loading>;
13
- readonly [AsyncDataTypeId]: AsyncDataTypeId;
14
- readonly _tag: "Failure";
15
- commit: () => Effect.Effect<never, E, never>;
16
- constructor(cause: Cause.Cause<E>, timestamp: number, refreshing: Option.Option<Loading>);
17
- [Equal.symbol](that: unknown): boolean;
18
- [Hash.symbol](): number;
19
- }
20
- export declare class SuccessImpl<A> extends Effectable.Class<A> implements Success<A> {
21
- readonly value: A;
22
- readonly timestamp: number;
23
- readonly refreshing: Option.Option<Loading>;
24
- readonly [AsyncDataTypeId]: AsyncDataTypeId;
25
- readonly _tag: "Success";
26
- commit: () => Effect.Effect<A>;
27
- constructor(value: A, timestamp: number, refreshing: Option.Option<Loading>);
28
- [Equal.symbol](that: unknown): boolean;
29
- [Hash.symbol](): number;
30
- }
31
- export declare class OptimisticImpl<A, E> extends Effectable.Class<A> implements Optimistic<A, E> {
32
- readonly value: A;
33
- readonly timestamp: number;
34
- readonly previous: AsyncData<A, E>;
35
- readonly [AsyncDataTypeId]: AsyncDataTypeId;
36
- readonly _tag: "Optimistic";
37
- commit: () => Effect.Effect<A>;
38
- constructor(value: A, timestamp: number, previous: AsyncData<A, E>);
39
- [Equal.symbol](that: unknown): boolean;
40
- [Hash.symbol](): number;
41
- }
42
- export declare function isAsyncData<E, A>(u: unknown): u is AsyncData<E, A>;
43
- //# sourceMappingURL=async-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-data.d.ts","sourceRoot":"","sources":["../../../src/internal/async-data.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export declare const NO_DATA_TAG: "NoData";
2
- export declare const LOADING_TAG: "Loading";
3
- export declare const FAILURE_TAG: "Failure";
4
- export declare const SUCCESS_TAG: "Success";
5
- export declare const OPTIMISTIC_TAG: "Optimistic";
6
- //# sourceMappingURL=tag.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/internal/tag.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAAoB,CAAA;AAE5C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,cAAc,cAAwB,CAAA"}
@@ -1,372 +0,0 @@
1
- /**
2
- * AsyncData represents a piece of data which is acquired asynchronously with loading, failure, and progress states
3
- * in addition to Option-like states of NoData and Success.
4
- *
5
- * @since 1.0.0
6
- */
7
- import * as Cause from "effect/Cause";
8
- import * as Data from "effect/Data";
9
- import * as Duration from "effect/Duration";
10
- import * as Either from "effect/Either";
11
- import * as Equal from "effect/Equal";
12
- import * as Equivalence from "effect/Equivalence";
13
- import * as Exit from "effect/Exit";
14
- import { dual } from "effect/Function";
15
- import * as Option from "effect/Option";
16
- import * as Unify from "effect/Unify";
17
- import * as internal from "./internal/async-data.js";
18
- import { FAILURE_TAG, LOADING_TAG, NO_DATA_TAG, OPTIMISTIC_TAG, SUCCESS_TAG } from "./internal/tag.js";
19
- import * as Progress from "./Progress.js";
20
- import { AsyncDataTypeId } from "./TypeId.js";
21
- const getCurrentTimestamp = () => Date.now();
22
- /**
23
- * @since 1.0.0
24
- */
25
- export class NoData extends Data.TaggedError(NO_DATA_TAG) {
26
- /**
27
- * @since 1.0.0
28
- */
29
- [AsyncDataTypeId] = AsyncDataTypeId;
30
- /**
31
- * @since 1.0.0
32
- */
33
- [Unify.typeSymbol];
34
- /**
35
- * @since 1.0.0
36
- */
37
- [Unify.unifySymbol];
38
- /**
39
- * @since 1.0.0
40
- */
41
- [Unify.ignoreSymbol];
42
- }
43
- /**
44
- * @since 1.0.0
45
- */
46
- export const noData = () => new NoData();
47
- /**
48
- * @since 1.0.0
49
- */
50
- export class Loading extends Data.TaggedError(LOADING_TAG) {
51
- /**
52
- * @since 1.0.0
53
- */
54
- [AsyncDataTypeId] = AsyncDataTypeId;
55
- /**
56
- * @since 1.0.0
57
- */
58
- [Unify.typeSymbol];
59
- /**
60
- * @since 1.0.0
61
- */
62
- [Unify.unifySymbol];
63
- /**
64
- * @since 1.0.0
65
- */
66
- [Unify.ignoreSymbol];
67
- }
68
- /**
69
- * @since 1.0.0
70
- */
71
- export const loading = (options) => new Loading({
72
- [AsyncDataTypeId]: AsyncDataTypeId,
73
- timestamp: options?.timestamp ?? getCurrentTimestamp(),
74
- progress: Option.fromNullable(options?.progress)
75
- });
76
- /**
77
- * @since 1.0.0
78
- */
79
- export const failCause = (cause, options) => new internal.FailureImpl(cause, options?.timestamp ?? getCurrentTimestamp(), Option.fromNullable(options?.refreshing));
80
- /**
81
- * @since 1.0.0
82
- */
83
- export const fail = (error, options) => failCause(Cause.fail(error), options);
84
- /**
85
- * @since 1.0.0
86
- */
87
- export const success = (value, options) => new internal.SuccessImpl(value, options?.timestamp ?? getCurrentTimestamp(), Option.fromNullable(options?.refreshing));
88
- const isAsyncDataFirst = (args) => isAsyncData(args[0]);
89
- /**
90
- * @since 1.0.0
91
- */
92
- export const optimistic = dual((args) => args.length === 3 || isAsyncDataFirst(args), (previous, value, options) => new internal.OptimisticImpl(value, options?.timestamp ?? getCurrentTimestamp(),
93
- // We don't want to nest Optimistic values, so we unwrap the previous value if it's already optimistic
94
- previous._tag === "Optimistic" ? previous.previous : previous));
95
- /**
96
- * @since 1.0.0
97
- */
98
- export const isSuccess = (data) => data._tag === SUCCESS_TAG;
99
- /**
100
- * @since 1.0.0
101
- */
102
- export const isOptimistic = (data) => data._tag === OPTIMISTIC_TAG;
103
- /**
104
- * @since 1.0.0
105
- */
106
- export const isFailure = (data) => data._tag === FAILURE_TAG;
107
- /**
108
- * @since 1.0.0
109
- */
110
- export const isLoading = (data) => data._tag === LOADING_TAG;
111
- /**
112
- * @since 1.0.0
113
- */
114
- export const isNoData = (data) => data._tag === NO_DATA_TAG;
115
- /**
116
- * @since 1.0.0
117
- */
118
- export const isRefreshing = (data) => isSuccess(data) || isFailure(data)
119
- ? Option.isSome(data.refreshing)
120
- : isOptimistic(data)
121
- ? isRefreshing(data.previous)
122
- : false;
123
- /**
124
- * @since 1.0.0
125
- */
126
- export const isLoadingOrRefreshing = (data) => isLoading(data) || isRefreshing(data) || (isOptimistic(data) && isLoadingOrRefreshing(data.previous));
127
- /**
128
- * @since 1.0.0
129
- */
130
- export const match = dual(2, (data, matchers) => {
131
- if (isSuccess(data)) {
132
- return matchers.Success(data.value, data);
133
- }
134
- else if (isFailure(data)) {
135
- return matchers.Failure(data.cause, data);
136
- }
137
- else if (isLoading(data)) {
138
- return matchers.Loading(data);
139
- }
140
- else if (isNoData(data)) {
141
- return matchers.NoData(data);
142
- }
143
- else {
144
- return matchers.Optimistic(data.value, data);
145
- }
146
- });
147
- /**
148
- * @since 1.0.0
149
- */
150
- export const map = dual(2, function map(data, f) {
151
- if (isSuccess(data)) {
152
- return success(f(data.value), {
153
- timestamp: data.timestamp,
154
- refreshing: Option.getOrUndefined(data.refreshing)
155
- });
156
- }
157
- else if (isOptimistic(data)) {
158
- return optimistic(map(data.previous, f), f(data.value), { timestamp: data.timestamp });
159
- }
160
- else {
161
- return data;
162
- }
163
- });
164
- /**
165
- * @since 1.0.0
166
- */
167
- export const flatMap = dual(2, function (data, f) {
168
- if (isSuccess(data) || isOptimistic(data)) {
169
- return f(data.value, data);
170
- }
171
- else {
172
- return data;
173
- }
174
- });
175
- /**
176
- * @since 1.0.0
177
- */
178
- export const startLoading = (data, options) => {
179
- if (isSuccess(data)) {
180
- return Option.isSome(data.refreshing) ? data : success(data.value, { ...data, refreshing: loading(options) });
181
- }
182
- else if (isFailure(data)) {
183
- return Option.isSome(data.refreshing)
184
- ? data
185
- : failCause(data.cause, { ...data, refreshing: loading(options) });
186
- }
187
- else if (isOptimistic(data)) {
188
- return optimistic(startLoading(data.previous, options), data.value, data);
189
- }
190
- else {
191
- return loading(options);
192
- }
193
- };
194
- /**
195
- * @since 1.0.0
196
- */
197
- export const stopLoading = (data) => {
198
- if (isSuccess(data)) {
199
- return Option.isSome(data.refreshing) ? success(data.value, { timestamp: data.timestamp }) : data;
200
- }
201
- else if (isFailure(data)) {
202
- return Option.isSome(data.refreshing) ? failCause(data.cause, { timestamp: data.timestamp }) : data;
203
- }
204
- else if (isOptimistic(data)) {
205
- return optimistic(stopLoading(data.previous), data.value, data);
206
- }
207
- else {
208
- return noData();
209
- }
210
- };
211
- /**
212
- * @since 1.0.0
213
- */
214
- export const isAsyncData = internal.isAsyncData;
215
- /**
216
- * @since 1.0.0
217
- */
218
- export const done = (exit) => Exit.match(exit, {
219
- onFailure: (cause) => failCause(cause),
220
- onSuccess: (value) => success(value)
221
- });
222
- /**
223
- * @since 1.0.0
224
- */
225
- export const getFailure = (data) => isFailure(data) ? Cause.failureOption(data.cause) : Option.none();
226
- /**
227
- * @since 1.0.0
228
- */
229
- export const getSuccess = (data) => isSuccess(data) || isOptimistic(data) ? Option.some(data.value) : Option.none();
230
- const optionProgressEq = Option.getEquivalence(Progress.equals);
231
- const loadingEquivalence = Equivalence.struct({
232
- _tag: Equivalence.string,
233
- timestamp: Equivalence.number,
234
- progress: optionProgressEq
235
- });
236
- const optionLoadingEq = Option.getEquivalence(loadingEquivalence);
237
- const failureEquivalence = Equivalence.struct({
238
- _tag: Equivalence.string,
239
- cause: Equal.equals,
240
- timestamp: Equivalence.number,
241
- refreshing: optionLoadingEq
242
- });
243
- const successEquivalence = (valueEq) => Equivalence.struct({
244
- _tag: Equivalence.string,
245
- value: valueEq,
246
- timestamp: Equivalence.number,
247
- refreshing: optionLoadingEq
248
- });
249
- const optimisticEquivalence = (valueEq) => {
250
- let previousEq;
251
- const get = () => {
252
- if (previousEq === undefined) {
253
- previousEq = getEquivalence(valueEq);
254
- }
255
- return previousEq;
256
- };
257
- return Equivalence.struct({
258
- _tag: Equivalence.string,
259
- value: valueEq,
260
- timestamp: Equivalence.number,
261
- previous: (a, b) => get()(a, b)
262
- });
263
- };
264
- /**
265
- * @since 1.0.0
266
- */
267
- export const getEquivalence = (valueEq = Equal.equals) => {
268
- const successEq_ = successEquivalence(valueEq);
269
- const optimisticEq_ = optimisticEquivalence(valueEq);
270
- return (a, b) => {
271
- if (a === b)
272
- return true;
273
- return match(a, {
274
- NoData: () => isNoData(b),
275
- Loading: (l1) => isLoading(b) ? loadingEquivalence(l1, b) : false,
276
- Failure: (_, f1) => isFailure(b) ? failureEquivalence(f1, b) : false,
277
- Success: (_, s1) => isSuccess(b) ? successEq_(s1, b) : false,
278
- Optimistic: (_, o1) => isOptimistic(b) ? optimisticEq_(o1, b) : false
279
- });
280
- };
281
- };
282
- /**
283
- * @since 1.0.0
284
- */
285
- export function fromExit(exit) {
286
- return Exit.match(exit, {
287
- onFailure: (cause) => failCause(cause),
288
- onSuccess: (value) => success(value)
289
- });
290
- }
291
- /**
292
- * @since 1.0.0
293
- */
294
- export function fromEither(either) {
295
- return Either.match(either, {
296
- onLeft: (e) => fail(e),
297
- onRight: (a) => success(a)
298
- });
299
- }
300
- /**
301
- * @since 1.0.0
302
- */
303
- export const isExpired = dual(isAsyncDataFirst, function isExpired(data, ttl, now = getCurrentTimestamp()) {
304
- return match(data, {
305
- NoData: () => true,
306
- Loading: ({ timestamp }) => isPastTTL(timestamp, ttl, now),
307
- Failure: (_, f) => Option.isNone(f.refreshing)
308
- ? isPastTTL(f.timestamp, ttl, now)
309
- : isPastTTL(f.refreshing.value.timestamp, ttl, now),
310
- Success: (_, s) => Option.isNone(s.refreshing)
311
- ? isPastTTL(s.timestamp, ttl, now) :
312
- isPastTTL(s.refreshing.value.timestamp, ttl, now),
313
- Optimistic: (_, o) => isPastTTL(o.timestamp, ttl, now) || (o.previous._tag === NO_DATA_TAG ? false : isExpired(o.previous, ttl, now))
314
- });
315
- });
316
- function isPastTTL(timestamp, ttl, now) {
317
- const millis = Duration.toMillis(ttl);
318
- return now - timestamp >= millis;
319
- }
320
- const optionDataEqual = Option.getEquivalence(dataEqual);
321
- /**
322
- * Checks if two AsyncData are equal, disregarding the timestamps associated with them. Useful for testing
323
- * without needing to manage timestamps.
324
- *
325
- * @since 1.0.0
326
- */
327
- export function dataEqual(first, second) {
328
- return match(first, {
329
- NoData: () => isNoData(second),
330
- Loading: (l) => isLoading(second) && Equal.equals(l.progress, second.progress),
331
- Failure: (_, f1) => isFailure(second) && Equal.equals(f1.cause, second.cause) && optionDataEqual(f1.refreshing, second.refreshing),
332
- Success: (_, s1) => isSuccess(second) && Equal.equals(s1.value, second.value) && optionDataEqual(s1.refreshing, second.refreshing),
333
- Optimistic: (_, o1) => isOptimistic(second) && Equal.equals(o1.value, second.value) && dataEqual(o1.previous, second.previous)
334
- });
335
- }
336
- /**
337
- * @since 1.0.0
338
- */
339
- export function toOption(data) {
340
- return match(data, {
341
- NoData: Option.none,
342
- Loading: Option.none,
343
- Failure: Option.none,
344
- Success: Option.some,
345
- Optimistic: Option.some
346
- });
347
- }
348
- /**
349
- * @since 1.0.0
350
- */
351
- export function toOptionCause(data) {
352
- return match(data, {
353
- NoData: Option.none,
354
- Loading: Option.none,
355
- Failure: Option.some,
356
- Success: Option.none,
357
- Optimistic: Option.none
358
- });
359
- }
360
- /**
361
- * @since 1.0.0
362
- */
363
- export function toOptionError(data) {
364
- return match(data, {
365
- NoData: Option.none,
366
- Loading: Option.none,
367
- Failure: Cause.failureOption,
368
- Success: Option.none,
369
- Optimistic: Option.none
370
- });
371
- }
372
- //# sourceMappingURL=AsyncData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsyncData.js","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Data from "effect/Data";
5
- import * as Equivalence from "effect/Equivalence";
6
- import { dual } from "effect/Function";
7
- import * as Option from "effect/Option";
8
- /**
9
- * @since 1.0.0
10
- */
11
- export function Progress(loaded, total = Option.none()) {
12
- return Data.struct({
13
- loaded,
14
- total
15
- });
16
- }
17
- /**
18
- * @since 1.0.0
19
- */
20
- export const make = (loaded, total) => Progress(loaded, Option.fromNullable(total));
21
- /**
22
- * @since 1.0.0
23
- */
24
- export const setLoaded = dual(2, function setLoaded(progress, loaded) {
25
- return Progress(loaded, progress.total);
26
- });
27
- /**
28
- * @since 1.0.0
29
- */
30
- export const setTotal = dual(2, function setTotal(progress, total) {
31
- return Progress(progress.loaded, Option.some(total));
32
- });
33
- /**
34
- * @since 1.0.0
35
- */
36
- export const equals = Equivalence.struct({
37
- loaded: Equivalence.bigint,
38
- total: Option.getEquivalence(Equivalence.bigint)
39
- });
40
- /**
41
- * @since 1.0.0
42
- */
43
- export function pretty(progress) {
44
- return `${progress.loaded}${Option.match(progress.total, {
45
- onNone: () => "",
46
- onSome: (total) => `/${total}`
47
- })}`;
48
- }
49
- //# sourceMappingURL=Progress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../src/Progress.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAUvC;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,QAA+B,MAAM,CAAC,IAAI,EAAE;IACnF,OAAO,IAAI,CAAC,MAAM,CAAC;QACjB,MAAM;QACN,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,KAAqB,EAAY,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;AAErH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAGlB,IAAI,CAAC,CAAC,EAAE,SAAS,SAAS,CAAC,QAAkB,EAAE,MAAc;IAC/D,OAAO,QAAQ,CACb,MAAM,EACN,QAAQ,CAAC,KAAK,CACf,CAAA;AACH,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,IAAI,CAAC,CAAC,EAAE,SAAS,QAAQ,CAAC,QAAkB,EAAE,KAAa;IAC7D,OAAO,QAAQ,CACb,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACnB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsC,WAAW,CAAC,MAAM,CAAC;IAC1E,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC;CACjD,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,QAAkB;IACvC,OAAO,GAAG,QAAQ,CAAC,MAAM,GACvB,MAAM,CAAC,KAAK,CACV,QAAQ,CAAC,KAAK,EACd;QACE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;QAChB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE;KAC/B,CAEL,EAAE,CAAA;AACJ,CAAC"}