@livestore/utils 0.3.0-dev.7 → 0.3.0-dev.9

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.
@@ -4,4 +4,5 @@ export declare const make: <A>() => STM.STM<BucketQueue<A>>;
4
4
  export declare const offerAll: <A>(self: BucketQueue<A>, elements: ReadonlyArray<A>) => STM.STM<void, never, never>;
5
5
  export declare const clear: <A>(self: BucketQueue<A>) => STM.STM<void, never, never>;
6
6
  export declare const takeBetween: <A>(self: BucketQueue<A>, min: number, max: number) => STM.STM<A[], never, never>;
7
+ export declare const takeAll: <A>(self: BucketQueue<A>) => STM.STM<A[], never, never>;
7
8
  //# sourceMappingURL=BucketQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BucketQueue.d.ts","sourceRoot":"","sources":["../../src/effect/BucketQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,GAAG,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAEzC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;AAE3C,eAAO,MAAM,IAAI,GAAI,CAAC,OAAK,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAuB,CAAA;AAExE,eAAO,MAAM,QAAQ,GAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,gCACV,CAAA;AAElE,eAAO,MAAM,KAAK,GAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,gCAAuB,CAAA;AAEpE,eAAO,MAAM,WAAW,GAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,OAAO,MAAM,OAAO,MAAM,+BAUzE,CAAA"}
1
+ {"version":3,"file":"BucketQueue.d.ts","sourceRoot":"","sources":["../../src/effect/BucketQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,GAAG,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAEzC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;AAE3C,eAAO,MAAM,IAAI,GAAI,CAAC,OAAK,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAuB,CAAA;AAExE,eAAO,MAAM,QAAQ,GAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,gCACV,CAAA;AAElE,eAAO,MAAM,KAAK,GAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,gCAAuB,CAAA;AAEpE,eAAO,MAAM,WAAW,GAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,OAAO,MAAM,OAAO,MAAM,+BAUzE,CAAA;AAEJ,eAAO,MAAM,OAAO,GAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,CAAC,+BAAmB,CAAA"}
@@ -13,4 +13,5 @@ export const takeBetween = (self, min, max) => STM.gen(function* () {
13
13
  return elements;
14
14
  }
15
15
  });
16
+ export const takeAll = (self) => TRef.get(self);
16
17
  //# sourceMappingURL=BucketQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BucketQueue.js","sourceRoot":"","sources":["../../src/effect/BucketQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIzC,MAAM,CAAC,MAAM,IAAI,GAAG,GAA+B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAM,EAAE,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,IAAoB,EAAE,QAA0B,EAAE,EAAE,CAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAI,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,IAAoB,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAC/E,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;IACf,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACpC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/D,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7B,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"BucketQueue.js","sourceRoot":"","sources":["../../src/effect/BucketQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIzC,MAAM,CAAC,MAAM,IAAI,GAAG,GAA+B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAM,EAAE,CAAC,CAAA;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,IAAoB,EAAE,QAA0B,EAAE,EAAE,CAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAI,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,IAAoB,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAC/E,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;IACf,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACpC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/D,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7B,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import { Effect, Readable, Stream } from 'effect';
5
+ /**
6
+ * @since 2.0.0
7
+ * @category type ids
8
+ */
9
+ export declare const TypeId: unique symbol;
10
+ /**
11
+ * @since 2.0.0
12
+ * @category type ids
13
+ */
14
+ export type TypeId = typeof TypeId;
15
+ /**
16
+ * @since 2.0.0
17
+ * @category models
18
+ */
19
+ export interface Subscribable<A, E = never, R = never> extends Readable.Readable<A, E, R>, Effect.Effect<A, E, R> {
20
+ readonly [TypeId]: TypeId;
21
+ readonly changes: Stream.Stream<A, E, R>;
22
+ }
23
+ /**
24
+ * @since 2.0.0
25
+ * @category refinements
26
+ */
27
+ export declare const isSubscribable: (u: unknown) => u is Subscribable<unknown, unknown, unknown>;
28
+ /**
29
+ * @since 2.0.0
30
+ * @category constructors
31
+ */
32
+ export declare const make: <A, E, R>(options: {
33
+ readonly get: Effect.Effect<A, E, R>;
34
+ readonly changes: Stream.Stream<A, E, R>;
35
+ }) => Subscribable<A, E, R>;
36
+ /**
37
+ * @since 2.0.0
38
+ * @category combinators
39
+ */
40
+ export declare const map: {
41
+ /**
42
+ * @since 2.0.0
43
+ * @category combinators
44
+ */
45
+ <A, B>(f: (a: NoInfer<A>) => B): <E, R>(fa: Subscribable<A, E, R>) => Subscribable<B, E, R>;
46
+ /**
47
+ * @since 2.0.0
48
+ * @category combinators
49
+ */
50
+ <A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B): Subscribable<B, E, R>;
51
+ };
52
+ /**
53
+ * @since 2.0.0
54
+ * @category combinators
55
+ */
56
+ export declare const mapEffect: {
57
+ /**
58
+ * @since 2.0.0
59
+ * @category combinators
60
+ */
61
+ <A, B, E2, R2>(f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>): <E, R>(fa: Subscribable<A, E, R>) => Subscribable<B, E | E2, R | R2>;
62
+ /**
63
+ * @since 2.0.0
64
+ * @category combinators
65
+ */
66
+ <A, E, R, B, E2, R2>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>): Subscribable<B, E | E2, R | R2>;
67
+ };
68
+ /**
69
+ * @since 2.0.0
70
+ * @category constructors
71
+ */
72
+ export declare const unwrap: <A, E, R, E1, R1>(effect: Effect.Effect<Subscribable<A, E, R>, E1, R1>) => Subscribable<A, E | E1, R | R1>;
73
+ //# sourceMappingURL=Subscribable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Subscribable.d.ts","sourceRoot":"","sources":["../../src/effect/Subscribable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ // Fork of effect/Subscribable.ts which makes Subscribable yieldable
2
+ /**
3
+ * @since 2.0.0
4
+ */
5
+ import { Effect, Effectable, Readable, Stream } from 'effect';
6
+ import { dual } from 'effect/Function';
7
+ import { hasProperty } from 'effect/Predicate';
8
+ /**
9
+ * @since 2.0.0
10
+ * @category type ids
11
+ */
12
+ export const TypeId = Symbol.for('effect/Subscribable');
13
+ /**
14
+ * @since 2.0.0
15
+ * @category refinements
16
+ */
17
+ export const isSubscribable = (u) => hasProperty(u, TypeId);
18
+ // const Proto: Omit<Subscribable<any>, 'get' | 'changes'> = {
19
+ // [Readable.TypeId]: Readable.TypeId,
20
+ // [TypeId]: TypeId,
21
+ // pipe() {
22
+ // return pipeArguments(this, arguments)
23
+ // },
24
+ // }
25
+ class SubscribableImpl extends Effectable.Class {
26
+ get;
27
+ changes;
28
+ // @ts-expect-error type symbol
29
+ [TypeId] = TypeId;
30
+ // @ts-expect-error type symbol
31
+ [Readable.TypeId] = Readable.TypeId;
32
+ constructor(get, changes) {
33
+ super();
34
+ this.get = get;
35
+ this.changes = changes;
36
+ }
37
+ // eslint-disable-next-line prefer-arrow/prefer-arrow-functions
38
+ commit() {
39
+ return this.get;
40
+ }
41
+ }
42
+ /**
43
+ * @since 2.0.0
44
+ * @category constructors
45
+ */
46
+ // export const make = <A, E, R>(options: {
47
+ // readonly get: Effect.Effect<A, E, R>
48
+ // readonly changes: Stream.Stream<A, E, R>
49
+ // }): Subscribable<A, E, R> => Object.assign(Object.create(Proto), options)
50
+ export const make = (options) => new SubscribableImpl(options.get, options.changes);
51
+ /**
52
+ * @since 2.0.0
53
+ * @category combinators
54
+ */
55
+ export const map = dual(2, (self, f) => make({
56
+ get: Effect.map(self.get, f),
57
+ changes: Stream.map(self.changes, f),
58
+ }));
59
+ /**
60
+ * @since 2.0.0
61
+ * @category combinators
62
+ */
63
+ export const mapEffect = dual(2, (self, f) => make({
64
+ get: Effect.flatMap(self.get, f),
65
+ changes: Stream.mapEffect(self.changes, f),
66
+ }));
67
+ /**
68
+ * @since 2.0.0
69
+ * @category constructors
70
+ */
71
+ export const unwrap = (effect) => make({
72
+ get: Effect.flatMap(effect, (s) => s.get),
73
+ changes: Stream.unwrap(Effect.map(effect, (s) => s.changes)),
74
+ });
75
+ //# sourceMappingURL=Subscribable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Subscribable.js","sourceRoot":"","sources":["../../src/effect/Subscribable.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkB,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;AAiBtE;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAU,EAAgD,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAElH,8DAA8D;AAC9D,wCAAwC;AACxC,sBAAsB;AACtB,aAAa;AACb,4CAA4C;AAC5C,OAAO;AACP,IAAI;AAEJ,MAAM,gBAA2B,SAAQ,UAAU,CAAC,KAAQ;IAM/C;IACA;IANX,+BAA+B;IACtB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC1B,+BAA+B;IACtB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC5C,YACW,GAAqB,EACrB,OAAyB;QAElC,KAAK,EAAE,CAAA;QAHE,QAAG,GAAH,GAAG,CAAkB;QACrB,YAAO,GAAP,OAAO,CAAkB;IAGpC,CAAC;IACD,+DAA+D;IAC/D,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;CACF;AAED;;;GAGG;AACH,2CAA2C;AAC3C,yCAAyC;AACzC,6CAA6C;AAC7C,4EAA4E;AAE5E,MAAM,CAAC,MAAM,IAAI,GAAG,CAAU,OAG7B,EAAyB,EAAE,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAU,EAAE,OAAO,CAAC,OAAc,CAA0B,CAAA;AAEtH;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAWZ,IAAI,CACN,CAAC,EACD,CAAa,IAA2B,EAAE,CAAuB,EAAyB,EAAE,CAC1F,IAAI,CAAC;IACH,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;CACrC,CAAC,CACL,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAgBlB,IAAI,CACN,CAAC,EACD,CACE,IAA2B,EAC3B,CAA8C,EACb,EAAE,CACnC,IAAI,CAAC;IACH,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;CAC3C,CAAC,CACL,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,MAAoD,EACnB,EAAE,CACnC,IAAI,CAAC;IACH,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;CAC7D,CAAC,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import '../global.js';
2
- export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, FiberSet, FiberMap, FiberHandle, Inspectable, RuntimeFlags, PubSub, Exit, Cause, Runtime, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, Array as ReadonlyArray, Record as ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, MutableHashMap, TQueue, Option, LogLevel, Config, Layer, STM, TRef, Channel, Predicate, pipe, identity, GlobalValue, Match, TestServices, } from 'effect';
2
+ export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, FiberSet, FiberMap, FiberHandle, Inspectable, RuntimeFlags, PubSub, Exit, Cause, Runtime, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, Array as ReadonlyArray, Record as ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, MutableHashMap, TQueue, Option, LogLevel, Config, Layer, STM, TRef, Channel, Predicate, pipe, identity, GlobalValue, Match, TestServices, Mailbox, } from 'effect';
3
3
  export { dual } from 'effect/Function';
4
4
  export * as Stream from './Stream.js';
5
5
  export * as BucketQueue from './BucketQueue.js';
6
6
  export * as SubscriptionRef from './SubscriptionRef.js';
7
+ export * as Subscribable from './Subscribable.js';
7
8
  export * as Logger from './Logger.js';
8
9
  export * as WebChannel from './WebChannel.js';
9
10
  export * as WebSocket from './WebSocket.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EAER,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,GACb,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5C,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAI7E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EAER,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EAET,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,GACR,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5C,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAI7E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
@@ -1,11 +1,14 @@
1
1
  import '../global.js';
2
2
  export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, FiberSet, FiberMap, FiberHandle, Inspectable, RuntimeFlags, PubSub, Exit, Cause, Runtime, FiberRef, FiberRefs, FiberRefsPatch, Deferred, Metric, MetricState, Request, Tracer, Context, Data, Either, Brand, Hash, Equal, Chunk, Duration, Array as ReadonlyArray, Record as ReadonlyRecord, SortedMap, HashMap, HashSet, MutableHashSet, MutableHashMap, TQueue, Option, LogLevel,
3
3
  // Logger,
4
- Config, Layer, STM, TRef, Channel, Predicate, pipe, identity, GlobalValue, Match, TestServices, } from 'effect';
4
+ Config, Layer, STM, TRef, Channel, Predicate,
5
+ // Subscribable,
6
+ pipe, identity, GlobalValue, Match, TestServices, Mailbox, } from 'effect';
5
7
  export { dual } from 'effect/Function';
6
8
  export * as Stream from './Stream.js';
7
9
  export * as BucketQueue from './BucketQueue.js';
8
10
  export * as SubscriptionRef from './SubscriptionRef.js';
11
+ export * as Subscribable from './Subscribable.js';
9
12
  export * as Logger from './Logger.js';
10
13
  export * as WebChannel from './WebChannel.js';
11
14
  export * as WebSocket from './WebSocket.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ;AACR,UAAU;AACV,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,GACb,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,iEAAiE;AACjE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE7E,oEAAoE;AAEpE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAErB,OAAO,EACL,KAAK,EACL,GAAG,EACH,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,IAAI,aAAa,EACtB,MAAM,IAAI,cAAc,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ;AACR,UAAU;AACV,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS;AACT,gBAAgB;AAChB,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,GACR,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,iEAAiE;AACjE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,MAAM,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE7E,oEAAoE;AAEpE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type * as otel from '@opentelemetry/api';
2
2
  import { Effect, Layer } from 'effect';
3
3
  import type { ParentSpan } from 'effect/Tracer';
4
- import type { OtelTracer } from '../effect/index.js';
4
+ import { OtelTracer } from '../effect/index.js';
5
5
  export * as Cli from '@effect/cli';
6
6
  export * as PlatformBun from '@effect/platform-bun';
7
7
  export * as PlatformNode from '@effect/platform-node';
@@ -12,6 +12,7 @@ export { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
12
12
  export * as OtelNodeSdk from '@effect/opentelemetry/NodeSdk';
13
13
  export * as ChildProcessRunner from './ChildProcessRunner/ChildProcessRunner.js';
14
14
  export * as ChildProcessWorker from './ChildProcessRunner/ChildProcessWorker.js';
15
+ export declare const OtelLiveDummy: Layer.Layer<OtelTracer.OtelTracer>;
15
16
  export declare const OtelLiveHttp: ({ serviceName, rootSpanName, skipLogUrl, }?: {
16
17
  serviceName?: string;
17
18
  rootSpanName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAK/C,OAAO,EAAU,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAIpD,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,mCAAmC,CAAA;AACjE,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAE5D,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAOhF,eAAO,MAAM,YAAY,gDAItB;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,KAAK,CAAC,KAAK,CACzF,UAAU,CAAC,UAAU,GAAG,UAAU,EAClC,KAAK,EACL,KAAK,CAqC6B,CAAA;AAEpC,eAAO,MAAM,oBAAoB,cAAe,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,YAAY,IAAI,CAAC,IAAI,oDAazF,CAAA;AAEH,eAAO,MAAM,oBAAoB,SAAU,IAAI,CAAC,IAAI,oDAqBhD,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAK/C,OAAO,EAAU,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAK/C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,YAAY,MAAM,mCAAmC,CAAA;AACjE,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAE5D,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,4CAA4C,CAAA;AAOhF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAQ3D,CAAA;AAEF,eAAO,MAAM,YAAY,gDAItB;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,KAAK,CAAC,KAAK,CACzF,UAAU,CAAC,UAAU,GAAG,UAAU,EAClC,KAAK,EACL,KAAK,CAqC6B,CAAA;AAEpC,eAAO,MAAM,oBAAoB,cAAe,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,YAAY,IAAI,CAAC,IAAI,oDAazF,CAAA;AAEH,eAAO,MAAM,oBAAoB,SAAU,IAAI,CAAC,IAAI,oDAqBhD,CAAA"}
package/dist/node/mod.js CHANGED
@@ -5,6 +5,8 @@ import { PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
5
5
  import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
6
6
  import { Config, Effect, Layer } from 'effect';
7
7
  import { tapCauseLogPretty } from '../effect/Effect.js';
8
+ import { OtelTracer } from '../effect/index.js';
9
+ import { makeNoopTracer } from '../NoopTracer.js';
8
10
  // import { tapCauseLogPretty } from '../effect/Effect.js'
9
11
  export * as Cli from '@effect/cli';
10
12
  export * as PlatformBun from '@effect/platform-bun';
@@ -19,6 +21,11 @@ export * as ChildProcessWorker from './ChildProcessRunner/ChildProcessWorker.js'
19
21
  // Enable debug logging for OpenTelemetry
20
22
  // otel.diag.setLogger(new otel.DiagConsoleLogger(), otel.DiagLogLevel.ERROR)
21
23
  // export const OtelLiveHttp = (args: any): Layer.Layer<never> => Layer.empty
24
+ export const OtelLiveDummy = Layer.suspend(() => {
25
+ const OtelTracerLive = Layer.succeed(OtelTracer.OtelTracer, makeNoopTracer());
26
+ const TracingLive = Layer.unwrapEffect(Effect.map(OtelTracer.make, Layer.setTracer)).pipe(Layer.provideMerge(OtelTracerLive));
27
+ return TracingLive;
28
+ });
22
29
  export const OtelLiveHttp = ({ serviceName, rootSpanName, skipLogUrl, } = {}) => Effect.gen(function* () {
23
30
  const config = yield* Config.all({
24
31
  exporterUrlTracing: Config.string('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT'),
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/node/mod.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/utils",
3
- "version": "0.3.0-dev.7",
3
+ "version": "0.3.0-dev.9",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "./dist/global.js"
@@ -65,7 +65,7 @@
65
65
  "msgpackr": "1.11.2",
66
66
  "nanoid": "5.0.9",
67
67
  "pretty-bytes": "6.1.1",
68
- "@livestore/db-schema": "0.3.0-dev.7"
68
+ "@livestore/db-schema": "0.3.0-dev.9"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@effect/cli": "^0.54.1",
@@ -20,3 +20,5 @@ export const takeBetween = <A>(self: BucketQueue<A>, min: number, max: number) =
20
20
  return elements
21
21
  }
22
22
  })
23
+
24
+ export const takeAll = <A>(self: BucketQueue<A>) => TRef.get(self)
@@ -0,0 +1,143 @@
1
+ // Fork of effect/Subscribable.ts which makes Subscribable yieldable
2
+
3
+ /**
4
+ * @since 2.0.0
5
+ */
6
+
7
+ import { Effect, Effectable, Readable, Stream } from 'effect'
8
+ import { dual } from 'effect/Function'
9
+ import { hasProperty } from 'effect/Predicate'
10
+
11
+ /**
12
+ * @since 2.0.0
13
+ * @category type ids
14
+ */
15
+ export const TypeId: unique symbol = Symbol.for('effect/Subscribable')
16
+
17
+ /**
18
+ * @since 2.0.0
19
+ * @category type ids
20
+ */
21
+ export type TypeId = typeof TypeId
22
+
23
+ /**
24
+ * @since 2.0.0
25
+ * @category models
26
+ */
27
+ export interface Subscribable<A, E = never, R = never> extends Readable.Readable<A, E, R>, Effect.Effect<A, E, R> {
28
+ readonly [TypeId]: TypeId
29
+ readonly changes: Stream.Stream<A, E, R>
30
+ }
31
+
32
+ /**
33
+ * @since 2.0.0
34
+ * @category refinements
35
+ */
36
+ export const isSubscribable = (u: unknown): u is Subscribable<unknown, unknown, unknown> => hasProperty(u, TypeId)
37
+
38
+ // const Proto: Omit<Subscribable<any>, 'get' | 'changes'> = {
39
+ // [Readable.TypeId]: Readable.TypeId,
40
+ // [TypeId]: TypeId,
41
+ // pipe() {
42
+ // return pipeArguments(this, arguments)
43
+ // },
44
+ // }
45
+
46
+ class SubscribableImpl<in out A> extends Effectable.Class<A> implements Subscribable<A> {
47
+ // @ts-expect-error type symbol
48
+ readonly [TypeId] = TypeId
49
+ // @ts-expect-error type symbol
50
+ readonly [Readable.TypeId] = Readable.TypeId
51
+ constructor(
52
+ readonly get: Effect.Effect<A>,
53
+ readonly changes: Stream.Stream<A>,
54
+ ) {
55
+ super()
56
+ }
57
+ // eslint-disable-next-line prefer-arrow/prefer-arrow-functions
58
+ commit() {
59
+ return this.get
60
+ }
61
+ }
62
+
63
+ /**
64
+ * @since 2.0.0
65
+ * @category constructors
66
+ */
67
+ // export const make = <A, E, R>(options: {
68
+ // readonly get: Effect.Effect<A, E, R>
69
+ // readonly changes: Stream.Stream<A, E, R>
70
+ // }): Subscribable<A, E, R> => Object.assign(Object.create(Proto), options)
71
+
72
+ export const make = <A, E, R>(options: {
73
+ readonly get: Effect.Effect<A, E, R>
74
+ readonly changes: Stream.Stream<A, E, R>
75
+ }): Subscribable<A, E, R> => new SubscribableImpl(options.get as any, options.changes as any) as Subscribable<A, E, R>
76
+
77
+ /**
78
+ * @since 2.0.0
79
+ * @category combinators
80
+ */
81
+ export const map: {
82
+ /**
83
+ * @since 2.0.0
84
+ * @category combinators
85
+ */
86
+ <A, B>(f: (a: NoInfer<A>) => B): <E, R>(fa: Subscribable<A, E, R>) => Subscribable<B, E, R>
87
+ /**
88
+ * @since 2.0.0
89
+ * @category combinators
90
+ */
91
+ <A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B): Subscribable<B, E, R>
92
+ } = dual(
93
+ 2,
94
+ <A, E, R, B>(self: Subscribable<A, E, R>, f: (a: NoInfer<A>) => B): Subscribable<B, E, R> =>
95
+ make({
96
+ get: Effect.map(self.get, f),
97
+ changes: Stream.map(self.changes, f),
98
+ }),
99
+ )
100
+
101
+ /**
102
+ * @since 2.0.0
103
+ * @category combinators
104
+ */
105
+ export const mapEffect: {
106
+ /**
107
+ * @since 2.0.0
108
+ * @category combinators
109
+ */
110
+ <A, B, E2, R2>(
111
+ f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>,
112
+ ): <E, R>(fa: Subscribable<A, E, R>) => Subscribable<B, E | E2, R | R2>
113
+ /**
114
+ * @since 2.0.0
115
+ * @category combinators
116
+ */
117
+ <A, E, R, B, E2, R2>(
118
+ self: Subscribable<A, E, R>,
119
+ f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>,
120
+ ): Subscribable<B, E | E2, R | R2>
121
+ } = dual(
122
+ 2,
123
+ <A, E, R, B, E2, R2>(
124
+ self: Subscribable<A, E, R>,
125
+ f: (a: NoInfer<A>) => Effect.Effect<B, E2, R2>,
126
+ ): Subscribable<B, E | E2, R | R2> =>
127
+ make({
128
+ get: Effect.flatMap(self.get, f),
129
+ changes: Stream.mapEffect(self.changes, f),
130
+ }),
131
+ )
132
+
133
+ /**
134
+ * @since 2.0.0
135
+ * @category constructors
136
+ */
137
+ export const unwrap = <A, E, R, E1, R1>(
138
+ effect: Effect.Effect<Subscribable<A, E, R>, E1, R1>,
139
+ ): Subscribable<A, E | E1, R | R1> =>
140
+ make({
141
+ get: Effect.flatMap(effect, (s) => s.get),
142
+ changes: Stream.unwrap(Effect.map(effect, (s) => s.changes)),
143
+ })
@@ -49,11 +49,13 @@ export {
49
49
  TRef,
50
50
  Channel,
51
51
  Predicate,
52
+ // Subscribable,
52
53
  pipe,
53
54
  identity,
54
55
  GlobalValue,
55
56
  Match,
56
57
  TestServices,
58
+ Mailbox,
57
59
  } from 'effect'
58
60
 
59
61
  export { dual } from 'effect/Function'
@@ -63,6 +65,7 @@ export * as Stream from './Stream.js'
63
65
  export * as BucketQueue from './BucketQueue.js'
64
66
 
65
67
  export * as SubscriptionRef from './SubscriptionRef.js'
68
+ export * as Subscribable from './Subscribable.js'
66
69
 
67
70
  export * as Logger from './Logger.js'
68
71
 
package/src/node/mod.ts CHANGED
@@ -8,7 +8,8 @@ import { Config, Effect, Layer } from 'effect'
8
8
  import type { ParentSpan } from 'effect/Tracer'
9
9
 
10
10
  import { tapCauseLogPretty } from '../effect/Effect.js'
11
- import type { OtelTracer } from '../effect/index.js'
11
+ import { OtelTracer } from '../effect/index.js'
12
+ import { makeNoopTracer } from '../NoopTracer.js'
12
13
 
13
14
  // import { tapCauseLogPretty } from '../effect/Effect.js'
14
15
 
@@ -30,6 +31,16 @@ export * as ChildProcessWorker from './ChildProcessRunner/ChildProcessWorker.js'
30
31
 
31
32
  // export const OtelLiveHttp = (args: any): Layer.Layer<never> => Layer.empty
32
33
 
34
+ export const OtelLiveDummy: Layer.Layer<OtelTracer.OtelTracer> = Layer.suspend(() => {
35
+ const OtelTracerLive = Layer.succeed(OtelTracer.OtelTracer, makeNoopTracer())
36
+
37
+ const TracingLive = Layer.unwrapEffect(Effect.map(OtelTracer.make, Layer.setTracer)).pipe(
38
+ Layer.provideMerge(OtelTracerLive),
39
+ ) as any as Layer.Layer<OtelTracer.OtelTracer>
40
+
41
+ return TracingLive
42
+ })
43
+
33
44
  export const OtelLiveHttp = ({
34
45
  serviceName,
35
46
  rootSpanName,