@typed/fx 2.0.0-beta.2 → 2.0.0-beta.4

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 (66) hide show
  1. package/dist/Fx/Fx.d.ts +2 -2
  2. package/dist/Fx/Fx.d.ts.map +1 -1
  3. package/dist/Fx/Fx.js +5 -5
  4. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  5. package/dist/Fx/combinators/keyed.js +4 -4
  6. package/dist/Fx/combinators/provide.d.ts +9 -9
  7. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  8. package/dist/Fx/combinators/provide.js +5 -5
  9. package/dist/Fx/combinators/scan.js +2 -2
  10. package/dist/Fx/combinators/switchMap.js +4 -4
  11. package/dist/Fx/combinators/unwrap.d.ts +1 -1
  12. package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
  13. package/dist/Fx/constructors/make.js +2 -2
  14. package/dist/Fx/run/observe.d.ts.map +1 -1
  15. package/dist/Fx/run/observe.js +4 -4
  16. package/dist/Push/Push.d.ts +6 -6
  17. package/dist/Push/Push.d.ts.map +1 -1
  18. package/dist/Push/Push.js +3 -3
  19. package/dist/RefSubject/RefArray.d.ts.map +1 -1
  20. package/dist/RefSubject/RefArray.js +3 -6
  21. package/dist/RefSubject/RefChunk.d.ts.map +1 -1
  22. package/dist/RefSubject/RefChunk.js +3 -2
  23. package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
  24. package/dist/RefSubject/RefDateTime.js +1 -1
  25. package/dist/RefSubject/RefGraph.d.ts.map +1 -1
  26. package/dist/RefSubject/RefGraph.js +3 -4
  27. package/dist/RefSubject/RefHashMap.js +2 -2
  28. package/dist/RefSubject/RefRecord.d.ts.map +1 -1
  29. package/dist/RefSubject/RefRecord.js +4 -7
  30. package/dist/RefSubject/RefSubject.d.ts +3 -3
  31. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  32. package/dist/RefSubject/RefSubject.js +8 -8
  33. package/dist/Sink/Sink.d.ts +4 -4
  34. package/dist/Sink/Sink.d.ts.map +1 -1
  35. package/dist/Sink/Sink.js +4 -4
  36. package/dist/Sink/combinators.js +1 -1
  37. package/dist/Subject/Subject.d.ts +3 -3
  38. package/dist/Subject/Subject.d.ts.map +1 -1
  39. package/dist/Subject/Subject.js +3 -3
  40. package/dist/Versioned/Versioned.d.ts +2 -2
  41. package/dist/Versioned/Versioned.d.ts.map +1 -1
  42. package/dist/Versioned/Versioned.js +4 -4
  43. package/package.json +13 -13
  44. package/src/Fx/Fx.ts +6 -6
  45. package/src/Fx/combinators/catch.ts +20 -25
  46. package/src/Fx/combinators/keyed.ts +4 -4
  47. package/src/Fx/combinators/provide.ts +15 -15
  48. package/src/Fx/combinators/scan.ts +2 -2
  49. package/src/Fx/combinators/switchMap.ts +4 -4
  50. package/src/Fx/combinators/unwrap.ts +1 -1
  51. package/src/Fx/constructors/make.ts +2 -2
  52. package/src/Fx/run/observe.ts +5 -5
  53. package/src/Fx.provide-combinators.test.ts +2 -2
  54. package/src/Push/Push.ts +34 -13
  55. package/src/RefSubject/RefArray.ts +8 -7
  56. package/src/RefSubject/RefChunk.ts +7 -2
  57. package/src/RefSubject/RefDateTime.test.ts +3 -3
  58. package/src/RefSubject/RefDateTime.ts +2 -5
  59. package/src/RefSubject/RefGraph.ts +3 -4
  60. package/src/RefSubject/RefHashMap.ts +2 -2
  61. package/src/RefSubject/RefRecord.ts +8 -6
  62. package/src/RefSubject/RefSubject.ts +12 -14
  63. package/src/Sink/Sink.ts +7 -7
  64. package/src/Sink/combinators.ts +1 -1
  65. package/src/Subject/Subject.ts +8 -9
  66. package/src/Versioned/Versioned.ts +6 -8
@@ -8,7 +8,7 @@ import * as MutableRef from "effect/MutableRef";
8
8
  import * as Option from "effect/Option";
9
9
  import { pipeArguments } from "effect/Pipeable";
10
10
  import * as Scope from "effect/Scope";
11
- import * as ServiceMap from "effect/ServiceMap";
11
+ import * as Context from "effect/Context";
12
12
  import type * as Fx from "../Fx/index.js";
13
13
  import { RingBuffer } from "../Fx/internal/ring-buffer.js";
14
14
  import { awaitScopeClose, withExtendedScope } from "../Fx/internal/scope.js";
@@ -37,7 +37,7 @@ export interface Subject<A, E = never, R = never>
37
37
  export declare namespace Subject {
38
38
  export interface Service<Self, Id extends string, A, E> extends Subject<A, E, Self> {
39
39
  readonly id: Id;
40
- readonly service: ServiceMap.Service<Self, Subject<A, E>>;
40
+ readonly service: Context.Service<Self, Subject<A, E>>;
41
41
  readonly make: (replay?: number) => Layer.Layer<Self, never, Scope.Scope>;
42
42
  }
43
43
 
@@ -191,9 +191,8 @@ const DISCARD = { discard: true } as const;
191
191
  */
192
192
  export class SubjectImpl<A, E> implements Subject<A, E> {
193
193
  readonly [FxTypeId]: Fx.Fx.Variance<A, E, Scope.Scope> = VARIANCE;
194
- protected sinks: Set<
195
- readonly [Sink.Sink<A, E, any>, ServiceMap.ServiceMap<any>, Scope.Closeable]
196
- > = new Set();
194
+ protected sinks: Set<readonly [Sink.Sink<A, E, any>, Context.Context<any>, Scope.Closeable]> =
195
+ new Set();
197
196
 
198
197
  constructor() {
199
198
  this.onFailure = this.onFailure.bind(this);
@@ -232,7 +231,7 @@ export class SubjectImpl<A, E> implements Subject<A, E> {
232
231
  ): Effect.Effect<B, never, R2 | Scope.Scope> {
233
232
  return withExtendedScope(
234
233
  (innerScope) =>
235
- Effect.servicesWith((ctx) => {
234
+ Effect.contextWith((ctx) => {
236
235
  const entry = [sink, ctx, innerScope] as const;
237
236
  this.sinks.add(entry);
238
237
  const remove = Effect.sync(() => this.sinks.delete(entry));
@@ -272,7 +271,7 @@ export class SubjectImpl<A, E> implements Subject<A, E> {
272
271
 
273
272
  function runSinkEvent<A, E>(
274
273
  sink: Sink.Sink<A, E, any>,
275
- ctx: ServiceMap.ServiceMap<any>,
274
+ ctx: Context.Context<any>,
276
275
  a: A,
277
276
  ): Effect.Effect<void, never, never> {
278
277
  return Effect.provide(Effect.catchCause(sink.onSuccess(a), sink.onFailure), ctx);
@@ -280,7 +279,7 @@ function runSinkEvent<A, E>(
280
279
 
281
280
  function runSinkCause<A, E>(
282
281
  sink: Sink.Sink<A, E, any>,
283
- ctx: ServiceMap.ServiceMap<any>,
282
+ ctx: Context.Context<any>,
284
283
  scope: Scope.Closeable,
285
284
  cause: Cause.Cause<E>,
286
285
  ): Effect.Effect<void, never, never> {
@@ -398,7 +397,7 @@ export function make<A, E = never>(
398
397
 
399
398
  export function Service<Self, A, E = never>() {
400
399
  return <const Id extends string>(id: Id): Subject.Class<Self, Id, A, E> => {
401
- const service = ServiceMap.Service<Self, Subject<A, E>>(id);
400
+ const service = Context.Service<Self, Subject<A, E>>(id);
402
401
 
403
402
  // eslint-disable-next-line @typescript-eslint/no-extraneous-class
404
403
  return class SubjectService {
@@ -16,14 +16,14 @@ import { sum } from "effect/Number";
16
16
  import * as Option from "effect/Option";
17
17
  import { pipeArguments } from "effect/Pipeable";
18
18
  import type * as Scope from "effect/Scope";
19
- import * as ServiceMap from "effect/ServiceMap";
19
+ import * as Context from "effect/Context";
20
20
  import { filterMap as fxFilterMap } from "../Fx/combinators/filterMap.js";
21
21
  import { filterMapEffect as fxFilterMapEffect } from "../Fx/combinators/filterMapEffect.js";
22
22
  import { map as fxMap } from "../Fx/combinators/map.js";
23
23
  import { mapEffect as fxMapEffect } from "../Fx/combinators/mapEffect.js";
24
24
  import {
25
25
  provide as fxProvide,
26
- provideServices as fxProvideServices,
26
+ provideContext as fxprovideContext,
27
27
  } from "../Fx/combinators/provide.js";
28
28
  import { struct as fxStruct, tuple as fxTuple } from "../Fx/combinators/tuple.js";
29
29
  import { succeed as fxSucceed } from "../Fx/constructors/succeed.js";
@@ -92,7 +92,7 @@ export namespace Versioned {
92
92
  Self
93
93
  > {
94
94
  readonly id: Id;
95
- readonly service: ServiceMap.Service<Self, Versioned<never, E1, A2, E2, never, A3, E3, never>>;
95
+ readonly service: Context.Service<Self, Versioned<never, E1, A2, E2, never, A3, E3, never>>;
96
96
  readonly make: <R1 = never, R2 = never, R3 = never>(
97
97
  version: Effect.Effect<number, E1, R1>,
98
98
  fx: Fx.Fx<A2, E2, R2>,
@@ -545,9 +545,7 @@ const VARIANCE = {
545
545
 
546
546
  export function Service<Self, E1 = never, A2 = never, E2 = never, A3 = never, E3 = never>() {
547
547
  return <const Id extends string>(id: Id): Versioned.Class<Self, Id, E1, A2, E2, A3, E3> => {
548
- const service = ServiceMap.Service<Self, Versioned<never, E1, A2, E2, never, A3, E3, never>>(
549
- id,
550
- );
548
+ const service = Context.Service<Self, Versioned<never, E1, A2, E2, never, A3, E3, never>>(id);
551
549
 
552
550
  // eslint-disable-next-line @typescript-eslint/no-extraneous-class
553
551
  return class VersionedService {
@@ -561,11 +559,11 @@ export function Service<Self, E1 = never, A2 = never, E2 = never, A3 = never, E3
561
559
  ): Layer.Layer<Self, never, Exclude<R1 | R2 | R3, Scope.Scope>> =>
562
560
  Layer.effect(
563
561
  service,
564
- Effect.services<R1 | R2 | R3>().pipe(
562
+ Effect.context<R1 | R2 | R3>().pipe(
565
563
  Effect.map((context) =>
566
564
  make(
567
565
  Effect.provide(version, context),
568
- fxProvideServices(fx, context),
566
+ fxprovideContext(fx, context),
569
567
  Effect.provide(effect.asEffect(), context),
570
568
  ),
571
569
  ),