@typed/async-data 0.1.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 (39) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/cjs/AsyncData.js +225 -0
  4. package/dist/cjs/AsyncData.js.map +1 -0
  5. package/dist/cjs/Progress.js +47 -0
  6. package/dist/cjs/Progress.js.map +1 -0
  7. package/dist/cjs/Schema.js +104 -0
  8. package/dist/cjs/Schema.js.map +1 -0
  9. package/dist/cjs/internal/async-data.js +91 -0
  10. package/dist/cjs/internal/async-data.js.map +1 -0
  11. package/dist/cjs/internal/tag.js +11 -0
  12. package/dist/cjs/internal/tag.js.map +1 -0
  13. package/dist/dts/AsyncData.d.ts +288 -0
  14. package/dist/dts/AsyncData.d.ts.map +1 -0
  15. package/dist/dts/Progress.d.ts +38 -0
  16. package/dist/dts/Progress.d.ts.map +1 -0
  17. package/dist/dts/Schema.d.ts +15 -0
  18. package/dist/dts/Schema.d.ts.map +1 -0
  19. package/dist/dts/internal/async-data.d.ts +34 -0
  20. package/dist/dts/internal/async-data.d.ts.map +1 -0
  21. package/dist/dts/internal/tag.d.ts +5 -0
  22. package/dist/dts/internal/tag.d.ts.map +1 -0
  23. package/dist/esm/AsyncData.js +203 -0
  24. package/dist/esm/AsyncData.js.map +1 -0
  25. package/dist/esm/Progress.js +38 -0
  26. package/dist/esm/Progress.js.map +1 -0
  27. package/dist/esm/Schema.js +93 -0
  28. package/dist/esm/Schema.js.map +1 -0
  29. package/dist/esm/internal/async-data.js +85 -0
  30. package/dist/esm/internal/async-data.js.map +1 -0
  31. package/dist/esm/internal/tag.js +5 -0
  32. package/dist/esm/internal/tag.js.map +1 -0
  33. package/dist/esm/package.json +4 -0
  34. package/package.json +48 -0
  35. package/src/AsyncData.ts +434 -0
  36. package/src/Progress.ts +65 -0
  37. package/src/Schema.ts +166 -0
  38. package/src/internal/async-data.ts +101 -0
  39. package/src/internal/tag.ts +7 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023-present The Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # @typed/async-data
2
+
3
+ > WIP
4
+
5
+ Docs: https://tylors.github.io/typed/docs/async-data
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.success = exports.stopLoading = exports.startLoading = exports.noData = exports.match = exports.map = exports.loading = exports.isSuccess = exports.isRefreshing = exports.isNoData = exports.isLoadingOrRefreshing = exports.isLoading = exports.isFailure = exports.isAsyncData = exports.getSuccess = exports.getFailure = exports.getEquivalence = exports.flatMap = exports.failCause = exports.fail = exports.done = exports.NoData = exports.Loading = void 0;
7
+ var _effect = /*#__PURE__*/require("effect");
8
+ var _Function = /*#__PURE__*/require("effect/Function");
9
+ var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./internal/async-data"));
10
+ var _tag = /*#__PURE__*/require("./internal/tag");
11
+ var Progress = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Progress"));
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ /**
15
+ * AsyncData represents a piece of data which is acquired asynchronously with loading, failure, and progress states
16
+ * in addition to Option-like states of NoData and Success.
17
+ *
18
+ * @since 1.0.0
19
+ */
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ class NoData extends _effect.Data.TaggedError(_tag.NO_DATA_TAG) {
25
+ /**
26
+ * @since 1.0.0
27
+ */
28
+ [_effect.Unify.typeSymbol];
29
+ /**
30
+ * @since 1.0.0
31
+ */
32
+ [_effect.Unify.unifySymbol];
33
+ /**
34
+ * @since 1.0.0
35
+ */
36
+ [_effect.Unify.ignoreSymbol];
37
+ }
38
+ /**
39
+ * @since 1.0.0
40
+ */
41
+ exports.NoData = NoData;
42
+ const noData = () => new NoData();
43
+ /**
44
+ * @since 1.0.0
45
+ */
46
+ exports.noData = noData;
47
+ class Loading extends _effect.Data.TaggedError(_tag.LOADING_TAG) {
48
+ /**
49
+ * @since 1.0.0
50
+ */
51
+ [_effect.Unify.typeSymbol];
52
+ /**
53
+ * @since 1.0.0
54
+ */
55
+ [_effect.Unify.unifySymbol];
56
+ /**
57
+ * @since 1.0.0
58
+ */
59
+ [_effect.Unify.ignoreSymbol];
60
+ }
61
+ /**
62
+ * @since 1.0.0
63
+ */
64
+ exports.Loading = Loading;
65
+ const loading = options => new Loading({
66
+ progress: _effect.Option.fromNullable(options?.progress)
67
+ });
68
+ /**
69
+ * @since 1.0.0
70
+ */
71
+ exports.loading = loading;
72
+ const failCause = (cause, options) => new internal.FailureImpl(cause, _effect.Option.fromNullable(options?.refreshing));
73
+ /**
74
+ * @since 1.0.0
75
+ */
76
+ exports.failCause = failCause;
77
+ const fail = (error, options) => failCause(_effect.Cause.fail(error), options);
78
+ /**
79
+ * @since 1.0.0
80
+ */
81
+ exports.fail = fail;
82
+ const success = (value, options) => new internal.SuccessImpl(value, _effect.Option.fromNullable(options?.refreshing));
83
+ /**
84
+ * @since 1.0.0
85
+ */
86
+ exports.success = success;
87
+ const isSuccess = data => data._tag === _tag.SUCCESS_TAG;
88
+ /**
89
+ * @since 1.0.0
90
+ */
91
+ exports.isSuccess = isSuccess;
92
+ const isFailure = data => data._tag === _tag.FAILURE_TAG;
93
+ /**
94
+ * @since 1.0.0
95
+ */
96
+ exports.isFailure = isFailure;
97
+ const isLoading = data => data._tag === _tag.LOADING_TAG;
98
+ /**
99
+ * @since 1.0.0
100
+ */
101
+ exports.isLoading = isLoading;
102
+ const isNoData = data => data._tag === _tag.NO_DATA_TAG;
103
+ /**
104
+ * @since 1.0.0
105
+ */
106
+ exports.isNoData = isNoData;
107
+ const isRefreshing = data => isSuccess(data) || isFailure(data) ? _effect.Option.isSome(data.refreshing) : false;
108
+ /**
109
+ * @since 1.0.0
110
+ */
111
+ exports.isRefreshing = isRefreshing;
112
+ const isLoadingOrRefreshing = data => isLoading(data) || isRefreshing(data);
113
+ /**
114
+ * @since 1.0.0
115
+ */
116
+ exports.isLoadingOrRefreshing = isLoadingOrRefreshing;
117
+ const match = exports.match = /*#__PURE__*/(0, _Function.dual)(2, (data, matchers) => {
118
+ if (isSuccess(data)) {
119
+ return matchers.Success(data.value, data);
120
+ } else if (isFailure(data)) {
121
+ return matchers.Failure(data.cause, data);
122
+ } else if (isLoading(data)) {
123
+ return matchers.Loading(data);
124
+ } else {
125
+ return matchers.NoData(data);
126
+ }
127
+ });
128
+ /**
129
+ * @since 1.0.0
130
+ */
131
+ const map = exports.map = /*#__PURE__*/(0, _Function.dual)(2, function (data, f) {
132
+ return isSuccess(data) ? success(f(data.value), {
133
+ refreshing: _effect.Option.getOrUndefined(data.refreshing)
134
+ }) : data;
135
+ });
136
+ /**
137
+ * @since 1.0.0
138
+ */
139
+ const flatMap = exports.flatMap = /*#__PURE__*/(0, _Function.dual)(2, function (data, f) {
140
+ return isSuccess(data) ? f(data.value, data) : data;
141
+ });
142
+ /**
143
+ * @since 1.0.0
144
+ */
145
+ const startLoading = data => {
146
+ if (isSuccess(data)) {
147
+ return _effect.Option.isSome(data.refreshing) ? data : success(data.value, {
148
+ ...data,
149
+ refreshing: loading()
150
+ });
151
+ } else if (isFailure(data)) {
152
+ return _effect.Option.isSome(data.refreshing) ? data : failCause(data.cause, {
153
+ ...data,
154
+ refreshing: loading()
155
+ });
156
+ } else {
157
+ return loading();
158
+ }
159
+ };
160
+ /**
161
+ * @since 1.0.0
162
+ */
163
+ exports.startLoading = startLoading;
164
+ const stopLoading = data => {
165
+ if (isSuccess(data)) {
166
+ return _effect.Option.isSome(data.refreshing) ? success(data.value) : data;
167
+ } else if (isFailure(data)) {
168
+ return _effect.Option.isSome(data.refreshing) ? failCause(data.cause) : data;
169
+ } else {
170
+ return noData();
171
+ }
172
+ };
173
+ /**
174
+ * @since 1.0.0
175
+ */
176
+ exports.stopLoading = stopLoading;
177
+ const isAsyncData = exports.isAsyncData = internal.isAsyncData;
178
+ /**
179
+ * @since 1.0.0
180
+ */
181
+ const done = exit => _effect.Exit.match(exit, {
182
+ onFailure: cause => failCause(cause),
183
+ onSuccess: value => success(value)
184
+ });
185
+ /**
186
+ * @since 1.0.0
187
+ */
188
+ exports.done = done;
189
+ const getFailure = data => isFailure(data) ? _effect.Cause.failureOption(data.cause) : _effect.Option.none();
190
+ /**
191
+ * @since 1.0.0
192
+ */
193
+ exports.getFailure = getFailure;
194
+ const getSuccess = data => isSuccess(data) ? _effect.Option.some(data.value) : _effect.Option.none();
195
+ exports.getSuccess = getSuccess;
196
+ const optionProgressEq = /*#__PURE__*/_effect.Option.getEquivalence(Progress.equals);
197
+ const loadingEquivalence = /*#__PURE__*/_effect.Equivalence.struct({
198
+ _tag: _effect.Equivalence.string,
199
+ progress: optionProgressEq
200
+ });
201
+ const optionLoadingEq = /*#__PURE__*/_effect.Option.getEquivalence(loadingEquivalence);
202
+ const failureEquivalence = /*#__PURE__*/_effect.Equivalence.struct({
203
+ _tag: _effect.Equivalence.string,
204
+ cause: _effect.Equal.equals,
205
+ refreshing: optionLoadingEq
206
+ });
207
+ const successEquivalence = valueEq => _effect.Equivalence.struct({
208
+ _tag: _effect.Equivalence.string,
209
+ value: valueEq,
210
+ refreshing: optionLoadingEq
211
+ });
212
+ /**
213
+ * @since 1.0.0
214
+ */
215
+ const getEquivalence = (valueEq = _effect.Equal.equals) => (a, b) => {
216
+ if (a === b) return true;
217
+ return match(a, {
218
+ NoData: () => isNoData(b),
219
+ Loading: l1 => isLoading(b) ? loadingEquivalence(l1, b) : false,
220
+ Failure: (_, f1) => isFailure(b) ? failureEquivalence(f1, b) : false,
221
+ Success: (_, s1) => isSuccess(b) ? successEquivalence(valueEq)(s1, b) : false
222
+ });
223
+ };
224
+ exports.getEquivalence = getEquivalence;
225
+ //# sourceMappingURL=AsyncData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncData.js","names":["_effect","require","_Function","internal","_interopRequireWildcard","_tag","Progress","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","NoData","Data","TaggedError","NO_DATA_TAG","Unify","typeSymbol","unifySymbol","ignoreSymbol","exports","noData","Loading","LOADING_TAG","loading","options","progress","Option","fromNullable","failCause","cause","FailureImpl","refreshing","fail","error","Cause","success","value","SuccessImpl","isSuccess","data","SUCCESS_TAG","isFailure","FAILURE_TAG","isLoading","isNoData","isRefreshing","isSome","isLoadingOrRefreshing","match","dual","matchers","Success","Failure","map","f","getOrUndefined","flatMap","startLoading","stopLoading","isAsyncData","done","exit","Exit","onFailure","onSuccess","getFailure","failureOption","none","getSuccess","some","optionProgressEq","getEquivalence","equals","loadingEquivalence","Equivalence","struct","string","optionLoadingEq","failureEquivalence","Equal","successEquivalence","valueEq","b","l1","_","f1","s1"],"sources":["../../src/AsyncData.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Progress = Progress;
7
+ exports.setTotal = exports.setLoaded = exports.make = exports.equals = void 0;
8
+ var _effect = /*#__PURE__*/require("effect");
9
+ var _Function = /*#__PURE__*/require("effect/Function");
10
+ /**
11
+ * @since 1.0.0
12
+ */
13
+
14
+ /**
15
+ * @since 1.0.0
16
+ */
17
+ function Progress(loaded, total = _effect.Option.none()) {
18
+ return {
19
+ loaded,
20
+ total
21
+ };
22
+ }
23
+ /**
24
+ * @since 1.0.0
25
+ */
26
+ const make = (loaded, total) => Progress(loaded, _effect.Option.fromNullable(total));
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ exports.make = make;
31
+ const setLoaded = exports.setLoaded = /*#__PURE__*/(0, _Function.dual)(2, function setLoaded(progress, loaded) {
32
+ return Progress(loaded, progress.total);
33
+ });
34
+ /**
35
+ * @since 1.0.0
36
+ */
37
+ const setTotal = exports.setTotal = /*#__PURE__*/(0, _Function.dual)(2, function setTotal(progress, total) {
38
+ return Progress(progress.loaded, _effect.Option.some(total));
39
+ });
40
+ /**
41
+ * @since 1.0.0
42
+ */
43
+ const equals = exports.equals = /*#__PURE__*/_effect.Equivalence.struct({
44
+ loaded: _effect.Equivalence.bigint,
45
+ total: /*#__PURE__*/_effect.Option.getEquivalence(_effect.Equivalence.bigint)
46
+ });
47
+ //# sourceMappingURL=Progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.js","names":["_effect","require","_Function","Progress","loaded","total","Option","none","make","fromNullable","exports","setLoaded","dual","progress","setTotal","some","equals","Equivalence","struct","bigint","getEquivalence"],"sources":["../../src/Progress.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAIA,IAAAA,OAAA,gBAAAC,OAAA;AACA,IAAAC,SAAA,gBAAAD,OAAA;AALA;;;;AAeA;;;AAGM,SAAUE,QAAQA,CAACC,MAAc,EAAEC,KAAA,GAA+BC,cAAM,CAACC,IAAI,EAAE;EACnF,OAAO;IACLH,MAAM;IACNC;GACD;AACH;AAEA;;;AAGO,MAAMG,IAAI,GAAGA,CAACJ,MAAc,EAAEC,KAAqB,KAAeF,QAAQ,CAACC,MAAM,EAAEE,cAAM,CAACG,YAAY,CAACJ,KAAK,CAAC,CAAC;AAErH;;;AAAAK,OAAA,CAAAF,IAAA,GAAAA,IAAA;AAGO,MAAMG,SAAS,GAAAD,OAAA,CAAAC,SAAA,gBAGlB,IAAAC,cAAI,EAAC,CAAC,EAAE,SAASD,SAASA,CAACE,QAAkB,EAAET,MAAc;EAC/D,OAAOD,QAAQ,CACbC,MAAM,EACNS,QAAQ,CAACR,KAAK,CACf;AACH,CAAC,CAAC;AAEF;;;AAGO,MAAMS,QAAQ,GAAAJ,OAAA,CAAAI,QAAA,gBAGjB,IAAAF,cAAI,EAAC,CAAC,EAAE,SAASE,QAAQA,CAACD,QAAkB,EAAER,KAAa;EAC7D,OAAOF,QAAQ,CACbU,QAAQ,CAACT,MAAM,EACfE,cAAM,CAACS,IAAI,CAACV,KAAK,CAAC,CACnB;AACH,CAAC,CAAC;AAEF;;;AAGO,MAAMW,MAAM,GAAAN,OAAA,CAAAM,MAAA,gBAAsCC,mBAAW,CAACC,MAAM,CAEzE;EACAd,MAAM,EAAEa,mBAAW,CAACE,MAAM;EAC1Bd,KAAK,eAAEC,cAAM,CAACc,cAAc,CAACH,mBAAW,CAACE,MAAM;CAChD,CAAC"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cause = exports.asyncData = void 0;
7
+ var Arbitrary = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/Arbitrary"));
8
+ var AST = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/AST"));
9
+ var ParseResult = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/ParseResult"));
10
+ var Pretty = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/Pretty"));
11
+ var Schema = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/schema/Schema"));
12
+ var AsyncData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@typed/async-data/AsyncData"));
13
+ var _effect = /*#__PURE__*/require("effect");
14
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ /**
18
+ * @since 1.0.0
19
+ */
20
+
21
+ const fiberIdArbitrary = fc => fc.oneof(fc.constant(_effect.FiberId.none), fc.integer().chain(i => fc.date().map(date => _effect.FiberId.make(i, date.getTime() / 1000))));
22
+ const causeFromItems = (items, join) => {
23
+ if (items.length === 0) return _effect.Cause.empty;
24
+ if (items.length === 1) return _effect.Cause.fail(items[0]);
25
+ return items.map(_effect.Cause.fail).reduce(join);
26
+ };
27
+ const causeArbitrary = item => fc => fc.oneof(fc.constant(_effect.Cause.empty), fc.anything().map(_effect.Cause.die), fiberIdArbitrary(fc).map(id => _effect.Cause.interrupt(id)), fc.array(item(fc)).chain(items => fc.integer({
28
+ min: 0,
29
+ max: 1
30
+ }).map(i => causeFromItems(items, i > 0.5 ? _effect.Cause.sequential : _effect.Cause.parallel))));
31
+ const causePretty = () => _effect.Cause.pretty;
32
+ /**
33
+ * @since 1.0.0
34
+ */
35
+ const cause = error => {
36
+ const parseE = Schema.parse(Schema.chunkFromSelf(error));
37
+ const self = Schema.lazy(() => Schema.declare([error], Schema.struct({}), () => (input, options) => _effect.Effect.gen(function* (_) {
38
+ if (!_effect.Cause.isCause(input)) return yield* _(ParseResult.failure(ParseResult.unexpected(input)));
39
+ let output = _effect.Cause.empty;
40
+ for (const cause of _effect.Cause.linearize(input)) {
41
+ const parrallelCauses = _effect.Cause.linearize(cause);
42
+ if (_effect.HashSet.size(parrallelCauses) === 1) {
43
+ const failures = _effect.Cause.failures(cause);
44
+ output = _effect.Cause.parallel(output, _effect.Chunk.isEmpty(failures) ? cause : _effect.Chunk.reduce(yield* _(parseE(failures, options)), _effect.Cause.empty, (cause, e) => _effect.Cause.sequential(cause, _effect.Cause.fail(e))));
45
+ } else {
46
+ output = _effect.Cause.parallel(output, yield* _(Schema.parse(self)(cause, options)));
47
+ }
48
+ }
49
+ return output;
50
+ }), {
51
+ [AST.IdentifierAnnotationId]: "Cause",
52
+ [Arbitrary.ArbitraryHookId]: causePretty,
53
+ [Pretty.PrettyHookId]: causeArbitrary
54
+ }));
55
+ return self;
56
+ };
57
+ exports.cause = cause;
58
+ const asyncDataPretty = (prettyCause, prettyValue) => AsyncData.match({
59
+ NoData: () => `AsyncData.NoData`,
60
+ Loading: () => `AsyncData.Loading`,
61
+ Failure: (cause, data) => `AsyncData.Failure(refreshing=${Option.isSome(data.refreshing)}, cause=${prettyCause(cause)})`,
62
+ Success: (value, data) => `AsyncData.Success(refreshing=${Option.isSome(data.refreshing)}, value=${prettyValue(value)})`
63
+ });
64
+ const asyncDataArbitrary = (causeArbitrary, valueArbitrary) => fc => fc.oneof(fc.constant(AsyncData.noData()), fc.constant(AsyncData.loading()), causeArbitrary(fc).map(cause => AsyncData.failCause(cause)), valueArbitrary(fc).map(a => AsyncData.success(a)));
65
+ /**
66
+ * @since 1.0.0
67
+ */
68
+ const asyncData = (error, value) => {
69
+ return Schema.declare([cause(error), value], Schema.struct({}), (_, ...params) => {
70
+ const [causeSchema, valueSchema] = params;
71
+ const parseCause = Schema.parse(causeSchema);
72
+ const parseValue = Schema.parse(valueSchema);
73
+ return (input, options) => {
74
+ return _effect.Effect.gen(function* (_) {
75
+ if (!AsyncData.isAsyncData(input)) return yield* _(ParseResult.failure(ParseResult.unexpected(input)));
76
+ switch (input._tag) {
77
+ case "NoData":
78
+ case "Loading":
79
+ return input;
80
+ case "Failure":
81
+ {
82
+ const cause = yield* _(parseCause(input.cause, options));
83
+ return AsyncData.failCause(cause, {
84
+ refreshing: Option.getOrUndefined(input.refreshing)
85
+ });
86
+ }
87
+ case "Success":
88
+ {
89
+ const a = yield* _(parseValue(input.value, options));
90
+ return AsyncData.success(a, {
91
+ refreshing: Option.getOrUndefined(input.refreshing)
92
+ });
93
+ }
94
+ }
95
+ });
96
+ };
97
+ }, {
98
+ [AST.IdentifierAnnotationId]: "AsyncData",
99
+ [Arbitrary.ArbitraryHookId]: asyncDataPretty,
100
+ [Pretty.PrettyHookId]: asyncDataArbitrary
101
+ });
102
+ };
103
+ exports.asyncData = asyncData;
104
+ //# sourceMappingURL=Schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.js","names":["Arbitrary","_interopRequireWildcard","require","AST","ParseResult","Pretty","Schema","AsyncData","_effect","Option","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","fiberIdArbitrary","fc","oneof","constant","FiberId","none","integer","chain","date","map","make","getTime","causeFromItems","items","join","length","Cause","empty","fail","reduce","causeArbitrary","item","anything","die","id","interrupt","array","min","max","sequential","parallel","causePretty","pretty","cause","error","parseE","parse","chunkFromSelf","self","lazy","declare","struct","input","options","Effect","gen","_","isCause","failure","unexpected","output","linearize","parrallelCauses","HashSet","size","failures","Chunk","isEmpty","IdentifierAnnotationId","ArbitraryHookId","PrettyHookId","exports","asyncDataPretty","prettyCause","prettyValue","match","NoData","Loading","Failure","data","isSome","refreshing","Success","value","asyncDataArbitrary","valueArbitrary","noData","loading","failCause","success","asyncData","params","causeSchema","valueSchema","parseCause","parseValue","isAsyncData","_tag","getOrUndefined"],"sources":["../../src/Schema.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SuccessImpl = exports.FailureImpl = void 0;
7
+ exports.hasDataOptions = hasDataOptions;
8
+ exports.hasEquality = hasEquality;
9
+ exports.isAsyncData = isAsyncData;
10
+ exports.isRecord = isRecord;
11
+ exports.isTaggedRecord = isTaggedRecord;
12
+ var _effect = /*#__PURE__*/require("effect");
13
+ var _Function = /*#__PURE__*/require("effect/Function");
14
+ var _tag = /*#__PURE__*/require("./tag");
15
+ // Internal
16
+
17
+ class FailureImpl extends _effect.Effectable.Class {
18
+ cause;
19
+ refreshing;
20
+ _tag = "Failure";
21
+ commit;
22
+ [_effect.Unify.typeSymbol];
23
+ [_effect.Unify.unifySymbol];
24
+ [_effect.Unify.ignoreSymbol];
25
+ constructor(cause, refreshing) {
26
+ super();
27
+ this.cause = cause;
28
+ this.refreshing = refreshing;
29
+ this.commit = (0, _Function.constant)(_effect.Effect.failCause(cause));
30
+ }
31
+ [_effect.Equal.symbol] = that => {
32
+ return isAsyncData(that) && that._tag === "Failure" && _effect.Equal.equals(this.cause, that.cause) && _effect.Equal.equals(this.refreshing, that.refreshing);
33
+ };
34
+ [_effect.Hash.symbol] = () => {
35
+ return (0, _effect.pipe)(_effect.Hash.string(this._tag), _effect.Hash.combine(_effect.Hash.hash(this.cause)), _effect.Hash.combine(_effect.Hash.hash(this.refreshing)));
36
+ };
37
+ }
38
+ exports.FailureImpl = FailureImpl;
39
+ class SuccessImpl extends _effect.Effectable.Class {
40
+ value;
41
+ refreshing;
42
+ _tag = "Success";
43
+ commit;
44
+ [_effect.Unify.typeSymbol];
45
+ [_effect.Unify.unifySymbol];
46
+ [_effect.Unify.ignoreSymbol];
47
+ constructor(value, refreshing) {
48
+ super();
49
+ this.value = value;
50
+ this.refreshing = refreshing;
51
+ this.commit = (0, _Function.constant)(_effect.Effect.succeed(value));
52
+ }
53
+ [_effect.Equal.symbol] = that => {
54
+ return isAsyncData(that) && that._tag === "Success" && _effect.Equal.equals(this.value, that.value) && _effect.Equal.equals(this.refreshing, that.refreshing);
55
+ };
56
+ [_effect.Hash.symbol] = () => {
57
+ return (0, _effect.pipe)(_effect.Hash.string(this._tag), _effect.Hash.combine(_effect.Hash.hash(this.value)), _effect.Hash.combine(_effect.Hash.hash(this.refreshing)));
58
+ };
59
+ }
60
+ exports.SuccessImpl = SuccessImpl;
61
+ function hasDataOptions(u) {
62
+ if ("timestamp" in u && "refreshing" in u) {
63
+ return typeof u.timestamp === "bigint" && _effect.Option.isOption(u.refreshing);
64
+ } else return false;
65
+ }
66
+ function hasEquality(u) {
67
+ return _effect.Equal.symbol in u && _effect.Hash.symbol in u;
68
+ }
69
+ function isTaggedRecord(u) {
70
+ return isRecord(u) && "_tag" in u;
71
+ }
72
+ function isRecord(u) {
73
+ return typeof u === "object" && u !== null && !Array.isArray(u);
74
+ }
75
+ function isAsyncData(u) {
76
+ if (isTaggedRecord(u) && hasEquality(u)) {
77
+ switch (u._tag) {
78
+ case _tag.NO_DATA_TAG:
79
+ return "timstamp" in u && typeof u.timestamp === "bigint";
80
+ case _tag.LOADING_TAG:
81
+ return "progress" in u && _effect.Option.isOption(u.progress);
82
+ case _tag.FAILURE_TAG:
83
+ return hasDataOptions(u) && "cause" in u && _effect.Cause.isCause(u.cause);
84
+ case _tag.SUCCESS_TAG:
85
+ return hasDataOptions(u) && "value" in u;
86
+ default:
87
+ return false;
88
+ }
89
+ } else return false;
90
+ }
91
+ //# sourceMappingURL=async-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-data.js","names":["_effect","require","_Function","_tag","FailureImpl","Effectable","Class","cause","refreshing","commit","Unify","typeSymbol","unifySymbol","ignoreSymbol","constructor","constant","Effect","failCause","Equal","symbol","that","isAsyncData","equals","Hash","pipe","string","combine","hash","exports","SuccessImpl","value","succeed","hasDataOptions","u","timestamp","Option","isOption","hasEquality","isTaggedRecord","isRecord","Array","isArray","NO_DATA_TAG","LOADING_TAG","progress","FAILURE_TAG","Cause","isCause","SUCCESS_TAG"],"sources":["../../../src/internal/async-data.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SUCCESS_TAG = exports.NO_DATA_TAG = exports.LOADING_TAG = exports.FAILURE_TAG = void 0;
7
+ const NO_DATA_TAG = exports.NO_DATA_TAG = "NoData";
8
+ const LOADING_TAG = exports.LOADING_TAG = "Loading";
9
+ const FAILURE_TAG = exports.FAILURE_TAG = "Failure";
10
+ const SUCCESS_TAG = exports.SUCCESS_TAG = "Success";
11
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","names":["NO_DATA_TAG","exports","LOADING_TAG","FAILURE_TAG","SUCCESS_TAG"],"sources":["../../../src/internal/tag.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,QAAiB;AAErC,MAAME,WAAW,GAAAD,OAAA,CAAAC,WAAA,GAAG,SAAkB;AAEtC,MAAMC,WAAW,GAAAF,OAAA,CAAAE,WAAA,GAAG,SAAkB;AAEtC,MAAMC,WAAW,GAAAH,OAAA,CAAAG,WAAA,GAAG,SAAkB"}