@livestore/utils 0.0.55-dev.0 → 0.0.55-dev.2

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.
@@ -0,0 +1,18 @@
1
+ import type { ParseResult } from '@effect/schema';
2
+ import type { Scope } from 'effect';
3
+ import { Effect, Stream } from 'effect';
4
+ import * as Schema from './Schema/index.js';
5
+ export type BrowserChannel<A> = {
6
+ send: (a: A) => Effect.Effect<void, ParseResult.ParseError>;
7
+ listen: Stream.Stream<A, ParseResult.ParseError>;
8
+ };
9
+ export declare const broadcastChannel: <A>({ channelName, schema, }: {
10
+ channelName: string;
11
+ schema: Schema.Schema<A>;
12
+ }) => Effect.Effect<BrowserChannel<A>, never, Scope.Scope>;
13
+ export declare const windowChannel: <A>({ window, targetOrigin, schema, }: {
14
+ window: Window;
15
+ targetOrigin?: string;
16
+ schema: Schema.Schema<A>;
17
+ }) => Effect.Effect<BrowserChannel<A>, never, Scope.Scope>;
18
+ //# sourceMappingURL=Browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../src/effect/Browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,4BAG/B;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CACzB,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAkBsB,CAAA;AAE7E,eAAO,MAAM,aAAa,GAAI,CAAC,qCAI5B;IACD,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CACzB,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAa4B,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { Effect, Stream } from 'effect';
2
+ import * as Schema from './Schema/index.js';
3
+ export const broadcastChannel = ({ channelName, schema, }) => Effect.gen(function* () {
4
+ const channel = new BroadcastChannel(channelName);
5
+ yield* Effect.addFinalizer(() => Effect.try(() => channel.close()).pipe(Effect.ignoreLogged));
6
+ const send = (message) => Effect.gen(function* () {
7
+ const messageEncoded = yield* Schema.encode(schema)(message);
8
+ channel.postMessage(messageEncoded);
9
+ });
10
+ // TODO also listen to `messageerror` in parallel
11
+ const listen = Stream.fromEventListener(channel, 'message').pipe(Stream.mapEffect((_) => Schema.decode(schema)(_.data)));
12
+ return { send, listen };
13
+ }).pipe(Effect.withSpan(`BrowserChannel:broadcastChannel(${channelName})`));
14
+ export const windowChannel = ({ window, targetOrigin = '*', schema, }) => Effect.gen(function* () {
15
+ const send = (message) => Effect.gen(function* () {
16
+ const [messageEncoded, transferables] = yield* Schema.encodeWithTransferables(schema)(message);
17
+ window.postMessage(messageEncoded, targetOrigin, transferables);
18
+ });
19
+ const listen = Stream.fromEventListener(window, 'message').pipe(Stream.mapEffect((_) => Schema.decode(schema)(_.data)));
20
+ return { send, listen };
21
+ }).pipe(Effect.withSpan(`BrowserChannel:windowChannel(${window.location.href})`));
22
+ //# sourceMappingURL=Browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../src/effect/Browser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAO3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,EAClC,WAAW,EACX,MAAM,GAIP,EAAwD,EAAE,CACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAEjD,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAE7F,MAAM,IAAI,GAAG,CAAC,OAAU,EAAE,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;QAC5D,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEJ,iDAAiD;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAe,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAC5E,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACvD,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,WAAW,GAAG,CAAC,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,EAC/B,MAAM,EACN,YAAY,GAAG,GAAG,EAClB,MAAM,GAKP,EAAwD,EAAE,CACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,CAAC,OAAU,EAAE,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;QAC9F,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAe,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAC3E,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACvD,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gCAAgC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import type { ParseResult } from '@effect/schema';
2
+ import type { Either, Scope } from 'effect';
3
+ import { Effect, Stream } from 'effect';
4
+ import * as Schema from './Schema/index.js';
5
+ export type BrowserChannel<MsgIn, MsgOut> = {
6
+ send: (a: MsgOut) => Effect.Effect<void, ParseResult.ParseError>;
7
+ listen: Stream.Stream<Either.Either<MsgIn, ParseResult.ParseError>>;
8
+ };
9
+ export declare const broadcastChannel: <MsgIn, MsgOut, MsgInEncoded, MsgOutEncoded>({ channelName, listenSchema, sendSchema, }: {
10
+ channelName: string;
11
+ listenSchema: Schema.Schema<MsgIn, MsgInEncoded>;
12
+ sendSchema: Schema.Schema<MsgOut, MsgOutEncoded>;
13
+ }) => Effect.Effect<BrowserChannel<MsgIn, MsgOut>, never, Scope.Scope>;
14
+ export declare const windowChannel: <MsgIn, MsgOut, MsgInEncoded, MsgOutEncoded>({ window, targetOrigin, listenSchema, sendSchema, }: {
15
+ window: Window;
16
+ targetOrigin?: string;
17
+ listenSchema: Schema.Schema<MsgIn, MsgInEncoded>;
18
+ sendSchema: Schema.Schema<MsgOut, MsgOutEncoded>;
19
+ }) => Effect.Effect<BrowserChannel<MsgIn, MsgOut>, never, Scope.Scope>;
20
+ export declare const messagePortChannel: <MsgIn, MsgOut, MsgInEncoded, MsgOutEncoded>({ port, listenSchema, sendSchema, }: {
21
+ port: MessagePort;
22
+ listenSchema: Schema.Schema<MsgIn, MsgInEncoded>;
23
+ sendSchema: Schema.Schema<MsgOut, MsgOutEncoded>;
24
+ }) => Effect.Effect<BrowserChannel<MsgIn, MsgOut>, never, Scope.Scope>;
25
+ //# sourceMappingURL=BrowserChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserChannel.d.ts","sourceRoot":"","sources":["../../src/effect/BrowserChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,IAAI;IAC1C,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IAChE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,8CAIxE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CACjD,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAkBU,CAAA;AAE7E,eAAO,MAAM,aAAa,GAAI,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,uDAKrE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CACjD,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAaT,CAAA;AAE1D,eAAO,MAAM,kBAAkB,GAAI,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,uCAI1E;IACD,IAAI,EAAE,WAAW,CAAA;IACjB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CACjD,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAiBJ,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { Effect, Stream } from 'effect';
2
+ import * as Schema from './Schema/index.js';
3
+ export const broadcastChannel = ({ channelName, listenSchema, sendSchema, }) => Effect.gen(function* () {
4
+ const channel = new BroadcastChannel(channelName);
5
+ yield* Effect.addFinalizer(() => Effect.try(() => channel.close()).pipe(Effect.ignoreLogged));
6
+ const send = (message) => Effect.gen(function* () {
7
+ const messageEncoded = yield* Schema.encode(sendSchema)(message);
8
+ channel.postMessage(messageEncoded);
9
+ });
10
+ // TODO also listen to `messageerror` in parallel
11
+ const listen = Stream.fromEventListener(channel, 'message').pipe(Stream.map((_) => Schema.decodeEither(listenSchema)(_.data)));
12
+ return { send, listen };
13
+ }).pipe(Effect.withSpan(`BrowserChannel:broadcastChannel(${channelName})`));
14
+ export const windowChannel = ({ window, targetOrigin = '*', listenSchema, sendSchema, }) => Effect.gen(function* () {
15
+ const send = (message) => Effect.gen(function* () {
16
+ const [messageEncoded, transferables] = yield* Schema.encodeWithTransferables(sendSchema)(message);
17
+ window.postMessage(messageEncoded, targetOrigin, transferables);
18
+ });
19
+ const listen = Stream.fromEventListener(window, 'message').pipe(Stream.map((_) => Schema.decodeEither(listenSchema)(_.data)));
20
+ return { send, listen };
21
+ }).pipe(Effect.withSpan(`BrowserChannel:windowChannel`));
22
+ export const messagePortChannel = ({ port, listenSchema, sendSchema, }) => Effect.gen(function* () {
23
+ const send = (message) => Effect.gen(function* () {
24
+ const [messageEncoded, transferables] = yield* Schema.encodeWithTransferables(sendSchema)(message);
25
+ port.postMessage(messageEncoded, transferables);
26
+ });
27
+ const listen = Stream.fromEventListener(port, 'message').pipe(Stream.map((_) => Schema.decodeEither(listenSchema)(_.data)));
28
+ port.start();
29
+ yield* Effect.addFinalizer(() => Effect.try(() => port.close()).pipe(Effect.ignoreLogged));
30
+ return { send, listen };
31
+ }).pipe(Effect.withSpan(`BrowserChannel:messagePortChannel`));
32
+ //# sourceMappingURL=BrowserChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserChannel.js","sourceRoot":"","sources":["../../src/effect/BrowserChannel.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,7 @@ import { Deferred, Effect } from 'effect';
3
3
  import type { UnknownException } from 'effect/Cause';
4
4
  import type { LazyArg } from 'effect/Function';
5
5
  export * from 'effect/Effect';
6
- export declare const tryAll: {
7
- <A, E, R>(fn: () => Effect.Effect<A, E, R>): Effect.Effect<A, E | UnknownException, R>;
8
- <A>(fn: () => Promise<A>): Effect.Effect<A, UnknownException, never>;
9
- <A>(fn: () => A): Effect.Effect<A, UnknownException, never>;
10
- };
6
+ export declare const tryAll: <Res>(fn: () => Res) => Res extends Effect.Effect<infer A, infer E, never> ? Effect.Effect<A, E | UnknownException, never> : Res extends Promise<infer A> ? Effect.Effect<A, UnknownException, never> : Effect.Effect<Res, UnknownException, never>;
11
7
  /** Logs both on errors and defects */
12
8
  export declare const tapCauseLogPretty: <R, E, A>(eff: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
13
9
  export declare const logWarnIfTakesLongerThan: ({ label, duration }: {
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/effect/Effect.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Chunk } from 'effect';
3
3
  import { Effect, Stream } from 'effect';
4
4
  export declare const tapLog: <R, E, A>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>;
5
5
  export declare const tapSync: <A>(tapFn: (a: A) => unknown) => <R, E>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>;
6
+ export declare const tapLogWithLabel: (label: string) => <R, E, A>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>;
6
7
  export declare const tapChunk: <R1, E1, A, Z>(f: (a: Chunk.Chunk<A>) => Effect.Effect<Z, E1, R1>) => <R, E>(self: Stream.Stream<A, E, R>) => Stream.Stream<A, E1 | E, R1 | R>;
7
8
  export declare const skipRepeated: <A>(isEqual?: (prevEl: A, newEl: A) => boolean) => <R, E>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>;
8
9
  export declare const skipRepeated_: <R, E, A>(stream: Stream.Stream<A, E, R>, isEqual?: (prevEl: A, newEl: A) => boolean) => Stream.Stream<A, E, R>;
@@ -1 +1 @@
1
- {"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../src/effect/Stream.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAE7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,EAAqB,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE1D,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACU,CAAA;AAEhG,eAAO,MAAM,OAAO,GACjB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,MAC3B,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACL,CAAA;AAE1D,eAAO,MAAM,QAAQ,GAClB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAChE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAMlE,CAAA;AAIL,eAAO,MAAM,YAAY,GACtB,CAAC,YAAW,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,MAC5C,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC7B,CAAA;AAElC,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YACrB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,KACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAwBrB,CAAA"}
1
+ {"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../src/effect/Stream.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAE7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,EAAqB,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE1D,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACU,CAAA;AAEhG,eAAO,MAAM,OAAO,GACjB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,MAC3B,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACL,CAAA;AAE1D,eAAO,MAAM,eAAe,UAClB,MAAM,MACb,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACuC,CAAA;AAEzG,eAAO,MAAM,QAAQ,GAClB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,MAChE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAMlE,CAAA;AAIL,eAAO,MAAM,YAAY,GACtB,CAAC,YAAW,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,MAC5C,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC7B,CAAA;AAElC,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YACrB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,KACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAwBrB,CAAA"}
@@ -2,6 +2,7 @@ export * from 'effect/Stream';
2
2
  import { Effect, Option, pipe, Ref, Stream } from 'effect';
3
3
  export const tapLog = (stream) => tapChunk(Effect.forEach((_) => Effect.succeed(console.log(_))))(stream);
4
4
  export const tapSync = (tapFn) => (stream) => Stream.tap(stream, (a) => Effect.sync(() => tapFn(a)));
5
+ export const tapLogWithLabel = (label) => (stream) => tapChunk(Effect.forEach((_) => Effect.succeed(console.log(label, _))))(stream);
5
6
  export const tapChunk = (f) => (self) => Stream.mapChunksEffect(self, (chunks) => pipe(f(chunks), Effect.map(() => chunks)));
6
7
  const isIdentity = (a1, a2) => a1 === a2;
7
8
  export const skipRepeated = (isEqual = isIdentity) => (stream) => skipRepeated_(stream, isEqual);
@@ -1 +1 @@
1
- {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../src/effect/Stream.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE1D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAU,MAA8B,EAA0B,EAAE,CACxF,QAAQ,CAAwB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,OAAO,GAClB,CAAI,KAAwB,EAAE,EAAE,CAChC,CAAO,MAA8B,EAA0B,EAAE,CAC/D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAe,CAAkD,EAAE,EAAE,CACrE,CAAO,IAA4B,EAAoC,EAAE,CACvE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACtC,IAAI,CACF,CAAC,CAAC,MAAM,CAAC,EACT,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CACzB,CACF,CAAA;AAEL,MAAM,UAAU,GAAG,CAAI,EAAK,EAAE,EAAK,EAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA;AAE1D,MAAM,CAAC,MAAM,YAAY,GACvB,CAAI,UAA4C,UAAU,EAAE,EAAE,CAC9D,CAAO,MAA8B,EAA0B,EAAE,CAC/D,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAA8B,EAC9B,UAA4C,UAAU,EAC9B,EAAE,CAC1B,IAAI,CACF,GAAG,CAAC,IAAI,CAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,IAAI,CACF,MAAM,EACN,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,CACzB,IAAI,CACF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EACZ,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IACxB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;QAClE,OAAO,IAAI,CACT,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACvB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC,CAAC,CACH,CACF,CACF,CACF,CACF,CAAA"}
1
+ {"version":3,"file":"Stream.js","sourceRoot":"","sources":["../../src/effect/Stream.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE1D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAU,MAA8B,EAA0B,EAAE,CACxF,QAAQ,CAAwB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,OAAO,GAClB,CAAI,KAAwB,EAAE,EAAE,CAChC,CAAO,MAA8B,EAA0B,EAAE,CAC/D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,KAAa,EAAE,EAAE,CAClB,CAAU,MAA8B,EAA0B,EAAE,CAClE,QAAQ,CAAwB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzG,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAe,CAAkD,EAAE,EAAE,CACrE,CAAO,IAA4B,EAAoC,EAAE,CACvE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CACtC,IAAI,CACF,CAAC,CAAC,MAAM,CAAC,EACT,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CACzB,CACF,CAAA;AAEL,MAAM,UAAU,GAAG,CAAI,EAAK,EAAE,EAAK,EAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA;AAE1D,MAAM,CAAC,MAAM,YAAY,GACvB,CAAI,UAA4C,UAAU,EAAE,EAAE,CAC9D,CAAO,MAA8B,EAA0B,EAAE,CAC/D,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAA8B,EAC9B,UAA4C,UAAU,EAC9B,EAAE,CAC1B,IAAI,CACF,GAAG,CAAC,IAAI,CAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,EACzC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,IAAI,CACF,MAAM,EACN,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,CACzB,IAAI,CACF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EACZ,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IACxB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;QAClE,OAAO,IAAI,CACT,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACvB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC,CAAC,CACH,CACF,CACF,CACF,CACF,CAAA"}
@@ -3,6 +3,7 @@ export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, FiberSet, FiberMap,
3
3
  export { dual } from 'effect/Function';
4
4
  export * as Stream from './Stream.js';
5
5
  export * as SubscriptionRef from './SubscriptionRef.js';
6
+ export * as BrowserChannel from './BrowserChannel.js';
6
7
  export { TreeFormatter, AST as SchemaAST, Pretty as SchemaPretty, Equivalence as SchemaEquivalence, Serializable, JSONSchema, ParseResult, } from '@effect/schema';
7
8
  export * as Schema from './Schema/index.js';
8
9
  export * as OtelTracer from '@effect/opentelemetry/Tracer';
@@ -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,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,WAAW,IAAI,iBAAiB,EAChC,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAI1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAElF,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,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,WAAW,IAAI,iBAAiB,EAChC,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAI1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAElF,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"}
@@ -3,6 +3,7 @@ export { Scope, Ref, SynchronizedRef, Queue, Fiber, FiberId, FiberSet, FiberMap,
3
3
  export { dual } from 'effect/Function';
4
4
  export * as Stream from './Stream.js';
5
5
  export * as SubscriptionRef from './SubscriptionRef.js';
6
+ export * as BrowserChannel from './BrowserChannel.js';
6
7
  export { TreeFormatter, AST as SchemaAST, Pretty as SchemaPretty, Equivalence as SchemaEquivalence, Serializable, JSONSchema, ParseResult, } from '@effect/schema';
7
8
  export * as Schema from './Schema/index.js';
8
9
  export * as OtelTracer from '@effect/opentelemetry/Tracer';
@@ -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,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,WAAW,IAAI,iBAAiB,EAChC,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,uHAAuH;AACvH,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAElF,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,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD,OAAO,EACL,aAAa,EACb,GAAG,IAAI,SAAS,EAChB,MAAM,IAAI,YAAY,EACtB,WAAW,IAAI,iBAAiB,EAChC,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D,uHAAuH;AACvH,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,6CAA6C,CAAA;AAElF,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/utils",
3
- "version": "0.0.55-dev.0",
3
+ "version": "0.0.55-dev.2",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -35,7 +35,7 @@
35
35
  "date-fns": "^3.6.0",
36
36
  "otel-websocket-exporter": "^0.0.29",
37
37
  "pretty-bytes": "^6.1.1",
38
- "effect-db-schema": "0.0.55-dev.0"
38
+ "effect-db-schema": "0.0.55-dev.2"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@effect/experimental": "^0.20.3",
@@ -53,8 +53,8 @@
53
53
  "@effect/platform-browser": "0.39.2",
54
54
  "@effect/schema": "0.69.2",
55
55
  "@opentelemetry/api": "^1.9.0",
56
- "@types/node": "^20.14.12",
57
- "@types/web": "^0.0.151",
56
+ "@types/node": "^22.0.0",
57
+ "@types/web": "^0.0.152",
58
58
  "effect": "3.5.8",
59
59
  "vitest": "^2.0.4"
60
60
  },
@@ -0,0 +1,90 @@
1
+ import type { ParseResult } from '@effect/schema'
2
+ import type { Either, Scope } from 'effect'
3
+ import { Effect, Stream } from 'effect'
4
+
5
+ import * as Schema from './Schema/index.js'
6
+
7
+ export type BrowserChannel<MsgIn, MsgOut> = {
8
+ send: (a: MsgOut) => Effect.Effect<void, ParseResult.ParseError>
9
+ listen: Stream.Stream<Either.Either<MsgIn, ParseResult.ParseError>>
10
+ }
11
+
12
+ export const broadcastChannel = <MsgIn, MsgOut, MsgInEncoded, MsgOutEncoded>({
13
+ channelName,
14
+ listenSchema,
15
+ sendSchema,
16
+ }: {
17
+ channelName: string
18
+ listenSchema: Schema.Schema<MsgIn, MsgInEncoded>
19
+ sendSchema: Schema.Schema<MsgOut, MsgOutEncoded>
20
+ }): Effect.Effect<BrowserChannel<MsgIn, MsgOut>, never, Scope.Scope> =>
21
+ Effect.gen(function* () {
22
+ const channel = new BroadcastChannel(channelName)
23
+
24
+ yield* Effect.addFinalizer(() => Effect.try(() => channel.close()).pipe(Effect.ignoreLogged))
25
+
26
+ const send = (message: MsgOut) =>
27
+ Effect.gen(function* () {
28
+ const messageEncoded = yield* Schema.encode(sendSchema)(message)
29
+ channel.postMessage(messageEncoded)
30
+ })
31
+
32
+ // TODO also listen to `messageerror` in parallel
33
+ const listen = Stream.fromEventListener<MessageEvent>(channel, 'message').pipe(
34
+ Stream.map((_) => Schema.decodeEither(listenSchema)(_.data)),
35
+ )
36
+
37
+ return { send, listen }
38
+ }).pipe(Effect.withSpan(`BrowserChannel:broadcastChannel(${channelName})`))
39
+
40
+ export const windowChannel = <MsgIn, MsgOut, MsgInEncoded, MsgOutEncoded>({
41
+ window,
42
+ targetOrigin = '*',
43
+ listenSchema,
44
+ sendSchema,
45
+ }: {
46
+ window: Window
47
+ targetOrigin?: string
48
+ listenSchema: Schema.Schema<MsgIn, MsgInEncoded>
49
+ sendSchema: Schema.Schema<MsgOut, MsgOutEncoded>
50
+ }): Effect.Effect<BrowserChannel<MsgIn, MsgOut>, never, Scope.Scope> =>
51
+ Effect.gen(function* () {
52
+ const send = (message: MsgOut) =>
53
+ Effect.gen(function* () {
54
+ const [messageEncoded, transferables] = yield* Schema.encodeWithTransferables(sendSchema)(message)
55
+ window.postMessage(messageEncoded, targetOrigin, transferables)
56
+ })
57
+
58
+ const listen = Stream.fromEventListener<MessageEvent>(window, 'message').pipe(
59
+ Stream.map((_) => Schema.decodeEither(listenSchema)(_.data)),
60
+ )
61
+
62
+ return { send, listen }
63
+ }).pipe(Effect.withSpan(`BrowserChannel:windowChannel`))
64
+
65
+ export const messagePortChannel = <MsgIn, MsgOut, MsgInEncoded, MsgOutEncoded>({
66
+ port,
67
+ listenSchema,
68
+ sendSchema,
69
+ }: {
70
+ port: MessagePort
71
+ listenSchema: Schema.Schema<MsgIn, MsgInEncoded>
72
+ sendSchema: Schema.Schema<MsgOut, MsgOutEncoded>
73
+ }): Effect.Effect<BrowserChannel<MsgIn, MsgOut>, never, Scope.Scope> =>
74
+ Effect.gen(function* () {
75
+ const send = (message: MsgOut) =>
76
+ Effect.gen(function* () {
77
+ const [messageEncoded, transferables] = yield* Schema.encodeWithTransferables(sendSchema)(message)
78
+ port.postMessage(messageEncoded, transferables)
79
+ })
80
+
81
+ const listen = Stream.fromEventListener<MessageEvent>(port, 'message').pipe(
82
+ Stream.map((_) => Schema.decodeEither(listenSchema)(_.data)),
83
+ )
84
+
85
+ port.start()
86
+
87
+ yield* Effect.addFinalizer(() => Effect.try(() => port.close()).pipe(Effect.ignoreLogged))
88
+
89
+ return { send, listen }
90
+ }).pipe(Effect.withSpan(`BrowserChannel:messagePortChannel`))
@@ -25,15 +25,17 @@ export * from 'effect/Effect'
25
25
  // console.error(message, ...rest)
26
26
  // })
27
27
 
28
- export const tryAll: {
29
- <A, E, R>(fn: () => Effect.Effect<A, E, R>): Effect.Effect<A, E | UnknownException, R>
30
- <A>(fn: () => Promise<A>): Effect.Effect<A, UnknownException, never>
31
- <A>(fn: () => A): Effect.Effect<A, UnknownException, never>
32
- } = <A, E = never, R = never>(fn: () => A | Promise<A> | Effect.Effect<A, E, R>) =>
28
+ export const tryAll = <Res>(
29
+ fn: () => Res,
30
+ ): Res extends Effect.Effect<infer A, infer E, never>
31
+ ? Effect.Effect<A, E | UnknownException, never>
32
+ : Res extends Promise<infer A>
33
+ ? Effect.Effect<A, UnknownException, never>
34
+ : Effect.Effect<Res, UnknownException, never> =>
33
35
  Effect.try(() => fn()).pipe(
34
36
  Effect.andThen((fnRes) =>
35
37
  Effect.isEffect(fnRes)
36
- ? (fnRes as any as Effect.Effect<A, E, R>)
38
+ ? (fnRes as any as Effect.Effect<any>)
37
39
  : isPromise(fnRes)
38
40
  ? Effect.promise(() => fnRes)
39
41
  : Effect.succeed(fnRes),
@@ -11,6 +11,11 @@ export const tapSync =
11
11
  <R, E>(stream: Stream.Stream<A, E, R>): Stream.Stream<A, E, R> =>
12
12
  Stream.tap(stream, (a) => Effect.sync(() => tapFn(a)))
13
13
 
14
+ export const tapLogWithLabel =
15
+ (label: string) =>
16
+ <R, E, A>(stream: Stream.Stream<A, E, R>): Stream.Stream<A, E, R> =>
17
+ tapChunk<never, never, A, void>(Effect.forEach((_) => Effect.succeed(console.log(label, _))))(stream)
18
+
14
19
  export const tapChunk =
15
20
  <R1, E1, A, Z>(f: (a: Chunk.Chunk<A>) => Effect.Effect<Z, E1, R1>) =>
16
21
  <R, E>(self: Stream.Stream<A, E, R>): Stream.Stream<A, E1 | E, R1 | R> =>
@@ -56,6 +56,8 @@ export * as Stream from './Stream.js'
56
56
 
57
57
  export * as SubscriptionRef from './SubscriptionRef.js'
58
58
 
59
+ export * as BrowserChannel from './BrowserChannel.js'
60
+
59
61
  export {
60
62
  TreeFormatter,
61
63
  AST as SchemaAST,
@@ -1,4 +0,0 @@
1
- import type { Schema } from '@effect/schema';
2
- export * from '@effect/schema/Schema';
3
- export declare const hash: (schema: Schema.Schema<any>) => number;
4
- //# sourceMappingURL=Schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/effect/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAG5C,cAAc,uBAAuB,CAAA;AAKrC,eAAO,MAAM,IAAI,WAAY,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAS9C,CAAA"}
@@ -1,15 +0,0 @@
1
- import { Hash } from 'effect';
2
- export * from '@effect/schema/Schema';
3
- // NOTE this is a temporary workaround until Effect schema has a better way to hash schemas
4
- // https://github.com/Effect-TS/effect/issues/2719
5
- // TODO remove this once the issue is resolved
6
- export const hash = (schema) => {
7
- try {
8
- return Hash.string(JSON.stringify(schema.ast, null, 2));
9
- }
10
- catch {
11
- console.warn(`Schema hashing failed, falling back to hashing the shortend schema AST string. This is less reliable and may cause false positives.`);
12
- return Hash.hash(schema.ast.toString());
13
- }
14
- };
15
- //# sourceMappingURL=Schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/effect/Schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,cAAc,uBAAuB,CAAA;AAErC,2FAA2F;AAC3F,kDAAkD;AAClD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAA0B,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CACV,qIAAqI,CACtI,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzC,CAAC;AACH,CAAC,CAAA"}