@effect-atom/atom 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 (65) hide show
  1. package/Atom/package.json +6 -0
  2. package/AtomRef/package.json +6 -0
  3. package/Hydration/package.json +6 -0
  4. package/LICENSE +21 -0
  5. package/README.md +3 -0
  6. package/Registry/package.json +6 -0
  7. package/Result/package.json +6 -0
  8. package/dist/cjs/Atom.js +1079 -0
  9. package/dist/cjs/Atom.js.map +1 -0
  10. package/dist/cjs/AtomRef.js +261 -0
  11. package/dist/cjs/AtomRef.js.map +1 -0
  12. package/dist/cjs/Hydration.js +100 -0
  13. package/dist/cjs/Hydration.js.map +1 -0
  14. package/dist/cjs/Registry.js +128 -0
  15. package/dist/cjs/Registry.js.map +1 -0
  16. package/dist/cjs/Result.js +454 -0
  17. package/dist/cjs/Result.js.map +1 -0
  18. package/dist/cjs/index.js +37 -0
  19. package/dist/cjs/index.js.map +1 -0
  20. package/dist/cjs/internal/registry.js +701 -0
  21. package/dist/cjs/internal/registry.js.map +1 -0
  22. package/dist/cjs/internal/runtime.js +92 -0
  23. package/dist/cjs/internal/runtime.js.map +1 -0
  24. package/dist/dts/Atom.d.ts +597 -0
  25. package/dist/dts/Atom.d.ts.map +1 -0
  26. package/dist/dts/AtomRef.d.ts +55 -0
  27. package/dist/dts/AtomRef.d.ts.map +1 -0
  28. package/dist/dts/Hydration.d.ts +27 -0
  29. package/dist/dts/Hydration.d.ts.map +1 -0
  30. package/dist/dts/Registry.d.ts +115 -0
  31. package/dist/dts/Registry.d.ts.map +1 -0
  32. package/dist/dts/Result.d.ts +351 -0
  33. package/dist/dts/Result.d.ts.map +1 -0
  34. package/dist/dts/index.d.ts +21 -0
  35. package/dist/dts/index.d.ts.map +1 -0
  36. package/dist/dts/internal/registry.d.ts +2 -0
  37. package/dist/dts/internal/registry.d.ts.map +1 -0
  38. package/dist/dts/internal/runtime.d.ts +2 -0
  39. package/dist/dts/internal/runtime.d.ts.map +1 -0
  40. package/dist/esm/Atom.js +1029 -0
  41. package/dist/esm/Atom.js.map +1 -0
  42. package/dist/esm/AtomRef.js +232 -0
  43. package/dist/esm/AtomRef.js.map +1 -0
  44. package/dist/esm/Hydration.js +71 -0
  45. package/dist/esm/Hydration.js.map +1 -0
  46. package/dist/esm/Registry.js +98 -0
  47. package/dist/esm/Registry.js.map +1 -0
  48. package/dist/esm/Result.js +403 -0
  49. package/dist/esm/Result.js.map +1 -0
  50. package/dist/esm/index.js +21 -0
  51. package/dist/esm/index.js.map +1 -0
  52. package/dist/esm/internal/registry.js +672 -0
  53. package/dist/esm/internal/registry.js.map +1 -0
  54. package/dist/esm/internal/runtime.js +64 -0
  55. package/dist/esm/internal/runtime.js.map +1 -0
  56. package/dist/esm/package.json +4 -0
  57. package/package.json +72 -0
  58. package/src/Atom.ts +1865 -0
  59. package/src/AtomRef.ts +282 -0
  60. package/src/Hydration.ts +98 -0
  61. package/src/Registry.ts +204 -0
  62. package/src/Result.ts +767 -0
  63. package/src/index.ts +24 -0
  64. package/src/internal/registry.ts +810 -0
  65. package/src/internal/runtime.ts +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Atom.js","names":["KeyValueStore","_interopRequireWildcard","require","Arr","_Cause","Cause","Channel","Chunk","EffectContext","Duration","Effect","Either","Exit","Fiber","FiberRef","_Function","_GlobalValue","Inspectable","Layer","MutableHashMap","Option","_Pipeable","Runtime","Schema","Scope","Stream","Subscribable","SubscriptionRef","internalRegistry","_runtime","_Registry","Registry","Result","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","WritableTypeId","AtomProto","pipe","pipeArguments","arguments","toJSON","_id","keepAlive","lazy","label","toString","format","NodeInspectSymbol","RuntimeProto","atom","arg","options","read","makeRead","readable","previous","self","runtimeResult","_tag","replacePrevious","value","fn","length","makeFnRuntime","pull","pullSignal","state","pullAtom","makeEffect","makeStreamPullEffect","initial","makeStreamPull","subscriptionRef","ref","makeSubRef","SubscriptionRefTypeId","runtime","getOrThrow","readSubscribable","subscribable","makeSubscribable","isSubscribable","write","argAtom","makeResultFn","writable","WritableProto","isWritable","refresh","create","constSetSelf","ctx","setSelf","make","readOrAtom","isDataType","u","providedRuntime","EffectTypeId","effect","StreamTypeId","stream","initialValue","_get","undefined","success","uninterruptible","defaultRuntime","scope","runSync","addFinalizer","runFork","close","void","contextMap","Map","context","unsafeMap","key","AtomRegistry","registry","scopedRuntime","unsafeMake","fiberRefs","runtimeFlags","syncResult","isAsync","cancel","runCallbackSync","exit","fromExitWithPrevious","waitingFrom","waiting","globalLayer","factory","layerAtom","provideMerge","layer","build","flatMap","buildWithMemoMap","memoMap","provide","addGlobalLayer","defaultMemoMap","globalValue","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","NoSuchElementException","onSome","a","registryRuntime","add","runDrain","pipeTo","toChannel","constVoid","sub","changes","runForEach","runCallback","refAtom","isSuccess","subAtom","fnSync","args","makeFnSync","hasInitialValue","isFn","counter","none","some","batch","refreshSelf","Reset","Symbol","for","makeFn","toPull","pullChunk","semaphore","unsafeMakeSemaphore","fiber","getCurrentFiber","currentContext","acc","empty","locally","onLeft","items","toReadonlyArray","isNonEmptyArray","fail","succeed","done","onRight","chunk","disableAccumulation","appendAll","arr","pullWithSemaphore","withPermits","getFiberRefs","cancels","Set","once","subscribe","delete","result","pending","size","_","family","WeakRef","FinalizationRegistry","atoms","atomEntry","newAtom","remove","flatMapNullable","deref","register","withFallback","dual","fallback","assign","getPrototypeOf","autoDispose","setLazy","withLabel","name","Error","stack","split","setIdleTTL","duration","idleTTL","toMillis","transform","map","mapResult","debounce","millis","timeout","update","clearTimeout","val","setTimeout","optimistic","writeAtom","lastValue","isResult","current","getOrUndefined","timestamp","transitions","isFailure","immediate","clear","optimisticFn","transition","reducer","onExit","suspendOnWaiting","fromExit","as","windowFocusSignal","count","document","visibilityState","window","addEventListener","removeEventListener","makeRefreshOnSignal","signal","refreshOnWindowFocus","kvs","setAtom","fnUntraced","store","forSchema","schema","resultAtom","flatten","mount","getOrElse","defaultValue","searchParam","decode","decodeEither","encode","encodeEither","handleUpdate","searchParamState","updating","searchParams","URLSearchParams","location","search","newValue","getRight","encoded","v","updates","zipRight","updateSearchParams","entries","newUrl","pathname","history","pushState","toStream","unwrap","toStreamResult","modify","getResult","SerializableTypeId","isSerializable","serializable","encodeSync","decodeSync","ServerValueTypeId","withServerValue","withServerValueInitial","constant","getServerValue"],"sources":["../../src/Atom.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.collection = exports.TypeId = void 0;
7
+ var Equal = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Equal"));
8
+ var _GlobalValue = /*#__PURE__*/require("effect/GlobalValue");
9
+ var Hash = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Hash"));
10
+ function _interopRequireWildcard(e, t) {
11
+ if ("function" == typeof WeakMap) var r = new WeakMap(),
12
+ n = new WeakMap();
13
+ return (_interopRequireWildcard = function (e, t) {
14
+ if (!t && e && e.__esModule) return e;
15
+ var o,
16
+ i,
17
+ f = {
18
+ __proto__: null,
19
+ default: e
20
+ };
21
+ if (null === e || "object" != typeof e && "function" != typeof e) return f;
22
+ if (o = t ? n : r) {
23
+ if (o.has(e)) return o.get(e);
24
+ o.set(e, f);
25
+ }
26
+ for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
27
+ return f;
28
+ })(e, t);
29
+ }
30
+ /**
31
+ * @since 1.0.0
32
+ */
33
+
34
+ /**
35
+ * @since 1.0.0
36
+ * @category type ids
37
+ */
38
+ const TypeId = exports.TypeId = "~effect-atom/atom/AtomRef";
39
+ /**
40
+ * @since 1.0.0
41
+ * @category constructors
42
+ */
43
+ const make = value => new AtomRefImpl(value);
44
+ /**
45
+ * @since 1.0.0
46
+ * @category constructors
47
+ */
48
+ exports.make = make;
49
+ const collection = items => new CollectionImpl(items);
50
+ exports.collection = collection;
51
+ const keyState = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect-atom/atom/AtomRef/keyState", () => ({
52
+ count: 0,
53
+ generate() {
54
+ return `AtomRef-${this.count++}`;
55
+ }
56
+ }));
57
+ class ReadonlyRefImpl {
58
+ value;
59
+ [TypeId];
60
+ key = /*#__PURE__*/keyState.generate();
61
+ constructor(value) {
62
+ this.value = value;
63
+ this[TypeId] = TypeId;
64
+ }
65
+ [Equal.symbol](that) {
66
+ return Equal.equals(this.value, that.value);
67
+ }
68
+ [Hash.symbol]() {
69
+ return Hash.hash(this.value);
70
+ }
71
+ listeners = [];
72
+ listenerCount = 0;
73
+ notify(a) {
74
+ for (let i = 0; i < this.listenerCount; i++) {
75
+ this.listeners[i](a);
76
+ }
77
+ }
78
+ subscribe(f) {
79
+ this.listeners.push(f);
80
+ this.listenerCount++;
81
+ return () => {
82
+ const index = this.listeners.indexOf(f);
83
+ if (index !== -1) {
84
+ this.listeners[index] = this.listeners[this.listenerCount - 1];
85
+ this.listeners.pop();
86
+ this.listenerCount--;
87
+ }
88
+ };
89
+ }
90
+ map(f) {
91
+ return new MapRefImpl(this, f);
92
+ }
93
+ }
94
+ class AtomRefImpl extends ReadonlyRefImpl {
95
+ prop(prop) {
96
+ return new PropRefImpl(this, prop);
97
+ }
98
+ set(value) {
99
+ if (Equal.equals(value, this.value)) {
100
+ return this;
101
+ }
102
+ this.value = value;
103
+ this.notify(value);
104
+ return this;
105
+ }
106
+ update(f) {
107
+ return this.set(f(this.value));
108
+ }
109
+ }
110
+ class MapRefImpl {
111
+ parent;
112
+ transform;
113
+ [TypeId];
114
+ key = /*#__PURE__*/keyState.generate();
115
+ constructor(parent, transform) {
116
+ this.parent = parent;
117
+ this.transform = transform;
118
+ this[TypeId] = TypeId;
119
+ }
120
+ [Equal.symbol](that) {
121
+ return Equal.equals(this.value, that.value);
122
+ }
123
+ [Hash.symbol]() {
124
+ return Hash.hash(this.value);
125
+ }
126
+ get value() {
127
+ return this.transform(this.parent.value);
128
+ }
129
+ subscribe(f) {
130
+ let previous = this.transform(this.parent.value);
131
+ return this.parent.subscribe(a => {
132
+ const next = this.transform(a);
133
+ if (Equal.equals(next, previous)) {
134
+ return;
135
+ }
136
+ previous = next;
137
+ f(next);
138
+ });
139
+ }
140
+ map(f) {
141
+ return new MapRefImpl(this, f);
142
+ }
143
+ }
144
+ class PropRefImpl {
145
+ parent;
146
+ _prop;
147
+ [TypeId];
148
+ key = /*#__PURE__*/keyState.generate();
149
+ previous;
150
+ constructor(parent, _prop) {
151
+ this.parent = parent;
152
+ this._prop = _prop;
153
+ this[TypeId] = TypeId;
154
+ this.previous = parent.value[_prop];
155
+ }
156
+ [Equal.symbol](that) {
157
+ return Equal.equals(this.value, that.value);
158
+ }
159
+ [Hash.symbol]() {
160
+ return Hash.hash(this.value);
161
+ }
162
+ get value() {
163
+ if (this.parent.value && this._prop in this.parent.value) {
164
+ this.previous = this.parent.value[this._prop];
165
+ }
166
+ return this.previous;
167
+ }
168
+ subscribe(f) {
169
+ let previous = this.value;
170
+ return this.parent.subscribe(a => {
171
+ if (!a || !(this._prop in a)) {
172
+ return;
173
+ }
174
+ const next = a[this._prop];
175
+ if (Equal.equals(next, previous)) {
176
+ return;
177
+ }
178
+ previous = next;
179
+ f(next);
180
+ });
181
+ }
182
+ map(f) {
183
+ return new MapRefImpl(this, f);
184
+ }
185
+ prop(prop) {
186
+ return new PropRefImpl(this, prop);
187
+ }
188
+ set(value) {
189
+ if (Array.isArray(this.parent.value)) {
190
+ const newArray = this.parent.value.slice();
191
+ newArray[this._prop] = value;
192
+ this.parent.set(newArray);
193
+ } else {
194
+ this.parent.set({
195
+ ...this.parent.value,
196
+ [this._prop]: value
197
+ });
198
+ }
199
+ return this;
200
+ }
201
+ update(f) {
202
+ if (Array.isArray(this.parent.value)) {
203
+ const newArray = this.parent.value.slice();
204
+ newArray[this._prop] = f(this.parent.value[this._prop]);
205
+ this.parent.set(newArray);
206
+ } else {
207
+ this.parent.set({
208
+ ...this.parent.value,
209
+ [this._prop]: f(this.parent.value[this._prop])
210
+ });
211
+ }
212
+ return this;
213
+ }
214
+ }
215
+ class CollectionImpl extends ReadonlyRefImpl {
216
+ constructor(items) {
217
+ super([]);
218
+ for (const item of items) {
219
+ this.value.push(this.makeRef(item));
220
+ }
221
+ }
222
+ makeRef(value) {
223
+ const ref = new AtomRefImpl(value);
224
+ const notify = value => {
225
+ ref.notify(value);
226
+ this.notify(this.value);
227
+ };
228
+ return new Proxy(ref, {
229
+ get(target, p, _receiver) {
230
+ if (p === "notify") {
231
+ return notify;
232
+ }
233
+ return target[p];
234
+ }
235
+ });
236
+ }
237
+ push(item) {
238
+ const ref = this.makeRef(item);
239
+ this.value.push(ref);
240
+ this.notify(this.value);
241
+ return this;
242
+ }
243
+ insertAt(index, item) {
244
+ const ref = this.makeRef(item);
245
+ this.value.splice(index, 0, ref);
246
+ this.notify(this.value);
247
+ return this;
248
+ }
249
+ remove(ref) {
250
+ const index = this.value.indexOf(ref);
251
+ if (index !== -1) {
252
+ this.value.splice(index, 1);
253
+ this.notify(this.value);
254
+ }
255
+ return this;
256
+ }
257
+ toArray() {
258
+ return this.value.map(ref => ref.value);
259
+ }
260
+ }
261
+ //# sourceMappingURL=AtomRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomRef.js","names":["Equal","_interopRequireWildcard","require","_GlobalValue","Hash","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","make","value","AtomRefImpl","collection","items","CollectionImpl","keyState","globalValue","count","generate","ReadonlyRefImpl","key","constructor","symbol","that","equals","hash","listeners","listenerCount","notify","a","subscribe","push","index","indexOf","pop","map","MapRefImpl","prop","PropRefImpl","update","parent","transform","previous","next","_prop","Array","isArray","newArray","slice","item","makeRef","ref","Proxy","target","p","_receiver","insertAt","splice","remove","toArray"],"sources":["../../src/AtomRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.hydrate = exports.dehydrate = void 0;
7
+ var Arr = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
8
+ var Atom = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Atom.js"));
9
+ var Result = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Result.js"));
10
+ function _interopRequireWildcard(e, t) {
11
+ if ("function" == typeof WeakMap) var r = new WeakMap(),
12
+ n = new WeakMap();
13
+ return (_interopRequireWildcard = function (e, t) {
14
+ if (!t && e && e.__esModule) return e;
15
+ var o,
16
+ i,
17
+ f = {
18
+ __proto__: null,
19
+ default: e
20
+ };
21
+ if (null === e || "object" != typeof e && "function" != typeof e) return f;
22
+ if (o = t ? n : r) {
23
+ if (o.has(e)) return o.get(e);
24
+ o.set(e, f);
25
+ }
26
+ for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
27
+ return f;
28
+ })(e, t);
29
+ }
30
+ /**
31
+ * @since 1.0.0
32
+ */
33
+
34
+ /**
35
+ * @since 1.0.0
36
+ * @category dehydration
37
+ */
38
+ const dehydrate = (registry, options) => {
39
+ const encodeInitialResultMode = options?.encodeInitialAs ?? "ignore";
40
+ const arr = Arr.empty();
41
+ const now = Date.now();
42
+ registry.getNodes().forEach((node, key) => {
43
+ if (!Atom.isSerializable(node.atom)) return;
44
+ const atom = node.atom;
45
+ const value = node.value();
46
+ const isInitial = Result.isResult(value) && Result.isInitial(value);
47
+ if (encodeInitialResultMode === "ignore" && isInitial) return;
48
+ const encodedValue = atom[Atom.SerializableTypeId].encode(value);
49
+ // Create a promise that resolves when the atom moves out of Initial state
50
+ let resultPromise;
51
+ if (encodeInitialResultMode === "promise" && isInitial) {
52
+ resultPromise = new Promise(resolve => {
53
+ const unsubscribe = registry.subscribe(atom, newValue => {
54
+ if (Result.isResult(newValue) && !Result.isInitial(newValue)) {
55
+ resolve(atom[Atom.SerializableTypeId].encode(newValue));
56
+ unsubscribe();
57
+ }
58
+ });
59
+ });
60
+ }
61
+ arr.push({
62
+ key: key,
63
+ value: encodedValue,
64
+ dehydratedAt: now,
65
+ resultPromise
66
+ });
67
+ });
68
+ return arr;
69
+ };
70
+ /**
71
+ * @since 1.0.0
72
+ * @category hydration
73
+ */
74
+ exports.dehydrate = dehydrate;
75
+ const hydrate = (registry, dehydratedState) => {
76
+ for (const datom of dehydratedState) {
77
+ registry.setSerializable(datom.key, datom.value);
78
+ // If there's a resultPromise, it means this was in Initial state when dehydrated
79
+ // and we should wait for it to resolve to a non-Initial state, then update the registry
80
+ if (!datom.resultPromise) continue;
81
+ datom.resultPromise.then(resolvedValue => {
82
+ // Try to update the existing node directly instead of using setSerializable
83
+ const nodes = registry.getNodes();
84
+ const node = nodes.get(datom.key);
85
+ if (node) {
86
+ // Decode the resolved value using the node's atom serializable decoder
87
+ const atom = node.atom;
88
+ if (atom[Atom.SerializableTypeId]) {
89
+ const decoded = atom[Atom.SerializableTypeId].decode(resolvedValue);
90
+ node.setValue(decoded);
91
+ }
92
+ } else {
93
+ // Fallback to setSerializable if node doesn't exist yet
94
+ registry.setSerializable(datom.key, resolvedValue);
95
+ }
96
+ });
97
+ }
98
+ };
99
+ exports.hydrate = hydrate;
100
+ //# sourceMappingURL=Hydration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hydration.js","names":["Arr","_interopRequireWildcard","require","Atom","Result","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","dehydrate","registry","options","encodeInitialResultMode","encodeInitialAs","arr","empty","now","Date","getNodes","forEach","node","key","isSerializable","atom","value","isInitial","isResult","encodedValue","SerializableTypeId","encode","resultPromise","Promise","resolve","unsubscribe","subscribe","newValue","push","dehydratedAt","exports","hydrate","dehydratedState","datom","setSerializable","then","resolvedValue","nodes","decoded","decode","setValue"],"sources":["../../src/Hydration.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.toStreamResult = exports.toStream = exports.make = exports.layerOptions = exports.layer = exports.isRegistry = exports.getResult = exports.TypeId = exports.AtomRegistry = void 0;
7
+ var Context = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Context"));
8
+ var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
9
+ var FiberRef = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/FiberRef"));
10
+ var _Function = /*#__PURE__*/require("effect/Function");
11
+ var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
12
+ var Mailbox = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Mailbox"));
13
+ var _Predicate = /*#__PURE__*/require("effect/Predicate");
14
+ var Scope = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Scope"));
15
+ var Stream = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Stream"));
16
+ var internal = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./internal/registry.js"));
17
+ var Result = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Result.js"));
18
+ function _interopRequireWildcard(e, t) {
19
+ if ("function" == typeof WeakMap) var r = new WeakMap(),
20
+ n = new WeakMap();
21
+ return (_interopRequireWildcard = function (e, t) {
22
+ if (!t && e && e.__esModule) return e;
23
+ var o,
24
+ i,
25
+ f = {
26
+ __proto__: null,
27
+ default: e
28
+ };
29
+ if (null === e || "object" != typeof e && "function" != typeof e) return f;
30
+ if (o = t ? n : r) {
31
+ if (o.has(e)) return o.get(e);
32
+ o.set(e, f);
33
+ }
34
+ for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
35
+ return f;
36
+ })(e, t);
37
+ }
38
+ /**
39
+ * @since 1.0.0
40
+ */
41
+
42
+ /**
43
+ * @since 1.0.0
44
+ * @category type ids
45
+ */
46
+ const TypeId = exports.TypeId = "~effect-atom/atom/Registry";
47
+ /**
48
+ * @since 1.0.0
49
+ * @category guards
50
+ */
51
+ const isRegistry = u => (0, _Predicate.hasProperty)(u, TypeId);
52
+ /**
53
+ * @since 1.0.0
54
+ * @category constructors
55
+ */
56
+ exports.isRegistry = isRegistry;
57
+ const make = exports.make = internal.make;
58
+ /**
59
+ * @since 1.0.0
60
+ * @category Tags
61
+ */
62
+ class AtomRegistry extends /*#__PURE__*/Context.Tag("@effect/atom/Registry/CurrentRegistry")() {}
63
+ /**
64
+ * @since 1.0.0
65
+ * @category Layers
66
+ */
67
+ exports.AtomRegistry = AtomRegistry;
68
+ const layerOptions = options => Layer.scoped(AtomRegistry, Effect.gen(function* () {
69
+ const scope = yield* Effect.scope;
70
+ const scheduler = yield* FiberRef.get(FiberRef.currentScheduler);
71
+ const registry = internal.make({
72
+ ...options,
73
+ scheduleTask: options?.scheduleTask ?? (f => scheduler.scheduleTask(f, 0))
74
+ });
75
+ yield* Scope.addFinalizer(scope, Effect.sync(() => registry.dispose()));
76
+ return registry;
77
+ }));
78
+ /**
79
+ * @since 1.0.0
80
+ * @category Layers
81
+ */
82
+ exports.layerOptions = layerOptions;
83
+ const layer = exports.layer = /*#__PURE__*/layerOptions();
84
+ // -----------------------------------------------------------------------------
85
+ // conversions
86
+ // -----------------------------------------------------------------------------
87
+ /**
88
+ * @since 1.0.0
89
+ * @category Conversions
90
+ */
91
+ const toStream = exports.toStream = /*#__PURE__*/(0, _Function.dual)(2, (self, atom) => Stream.unwrapScoped(Effect.contextWithEffect(context => {
92
+ const scope = Context.get(context, Scope.Scope);
93
+ return Mailbox.make().pipe(Effect.tap(mailbox => {
94
+ const cancel = self.subscribe(atom, value => mailbox.unsafeOffer(value), {
95
+ immediate: true
96
+ });
97
+ return Scope.addFinalizer(scope, Effect.suspend(() => {
98
+ cancel();
99
+ return mailbox.shutdown;
100
+ }));
101
+ }), Effect.uninterruptible, Effect.map(mailbox => Mailbox.toStream(mailbox)));
102
+ })));
103
+ /**
104
+ * @since 1.0.0
105
+ * @category Conversions
106
+ */
107
+ const toStreamResult = exports.toStreamResult = /*#__PURE__*/(0, _Function.dual)(2, (self, atom) => toStream(self, atom).pipe(Stream.filter(Result.isNotInitial), Stream.mapEffect(result => result._tag === "Success" ? Effect.succeed(result.value) : Effect.failCause(result.cause))));
108
+ /**
109
+ * @since 1.0.0
110
+ * @category Conversions
111
+ */
112
+ const getResult = exports.getResult = /*#__PURE__*/(0, _Function.dual)(args => isRegistry(args[0]), (self, atom, options) => {
113
+ const suspendOnWaiting = options?.suspendOnWaiting ?? false;
114
+ return Effect.async(resume => {
115
+ const result = self.get(atom);
116
+ if (result._tag !== "Initial" && !(suspendOnWaiting && result.waiting)) {
117
+ return resume(Result.toExit(result));
118
+ }
119
+ const cancel = self.subscribe(atom, value => {
120
+ if (value._tag !== "Initial" && !(suspendOnWaiting && value.waiting)) {
121
+ resume(Result.toExit(value));
122
+ cancel();
123
+ }
124
+ });
125
+ return Effect.sync(cancel);
126
+ });
127
+ });
128
+ //# sourceMappingURL=Registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Registry.js","names":["Context","_interopRequireWildcard","require","Effect","FiberRef","_Function","Layer","Mailbox","_Predicate","Scope","Stream","internal","Result","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","isRegistry","u","hasProperty","make","AtomRegistry","Tag","layerOptions","options","scoped","gen","scope","scheduler","currentScheduler","registry","scheduleTask","addFinalizer","sync","dispose","layer","toStream","dual","self","atom","unwrapScoped","contextWithEffect","context","pipe","tap","mailbox","cancel","subscribe","value","unsafeOffer","immediate","suspend","shutdown","uninterruptible","map","toStreamResult","filter","isNotInitial","mapEffect","result","_tag","succeed","failCause","cause","getResult","args","suspendOnWaiting","async","resume","waiting","toExit"],"sources":["../../src/Registry.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}