@typed/fx 1.22.2 → 1.23.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 (112) hide show
  1. package/dist/cjs/Form.js.map +1 -1
  2. package/dist/cjs/Fx.js.map +1 -1
  3. package/dist/cjs/Idle.js.map +1 -1
  4. package/dist/cjs/Match.js.map +1 -1
  5. package/dist/cjs/Pull.js.map +1 -1
  6. package/dist/cjs/Subject.js.map +1 -1
  7. package/dist/cjs/internal/core.js.map +1 -1
  8. package/dist/cjs/internal/helpers.js.map +1 -1
  9. package/dist/cjs/internal/keyed.js +1 -1
  10. package/dist/cjs/internal/keyed.js.map +1 -1
  11. package/dist/cjs/internal/share.js.map +1 -1
  12. package/dist/cjs/internal/sync-producer.js.map +1 -1
  13. package/dist/dts/AsyncData.d.ts +33 -33
  14. package/dist/dts/AsyncData.d.ts.map +1 -1
  15. package/dist/dts/Emitter.d.ts +6 -6
  16. package/dist/dts/Emitter.d.ts.map +1 -1
  17. package/dist/dts/Form.d.ts +12 -12
  18. package/dist/dts/Form.d.ts.map +1 -1
  19. package/dist/dts/FormEntry.d.ts +9 -9
  20. package/dist/dts/FormEntry.d.ts.map +1 -1
  21. package/dist/dts/Fx.d.ts +113 -113
  22. package/dist/dts/Fx.d.ts.map +1 -1
  23. package/dist/dts/Guard.d.ts +5 -5
  24. package/dist/dts/Guard.d.ts.map +1 -1
  25. package/dist/dts/Idle.d.ts +12 -12
  26. package/dist/dts/Idle.d.ts.map +1 -1
  27. package/dist/dts/Pull.d.ts +5 -5
  28. package/dist/dts/Pull.d.ts.map +1 -1
  29. package/dist/dts/Push.d.ts +20 -20
  30. package/dist/dts/Push.d.ts.map +1 -1
  31. package/dist/dts/RefArray.d.ts +33 -33
  32. package/dist/dts/RefArray.d.ts.map +1 -1
  33. package/dist/dts/RefChunk.d.ts +27 -27
  34. package/dist/dts/RefChunk.d.ts.map +1 -1
  35. package/dist/dts/RefHashMap.d.ts +17 -17
  36. package/dist/dts/RefHashMap.d.ts.map +1 -1
  37. package/dist/dts/RefHashSet.d.ts +5 -5
  38. package/dist/dts/RefHashSet.d.ts.map +1 -1
  39. package/dist/dts/RefSubject.d.ts +53 -53
  40. package/dist/dts/RefSubject.d.ts.map +1 -1
  41. package/dist/dts/Sink.d.ts +31 -31
  42. package/dist/dts/Sink.d.ts.map +1 -1
  43. package/dist/dts/Stream.d.ts +11 -11
  44. package/dist/dts/Stream.d.ts.map +1 -1
  45. package/dist/dts/Subject.d.ts +5 -5
  46. package/dist/dts/Subject.d.ts.map +1 -1
  47. package/dist/dts/Versioned.d.ts +11 -11
  48. package/dist/dts/Versioned.d.ts.map +1 -1
  49. package/dist/dts/internal/DeferredRef.d.ts +7 -7
  50. package/dist/dts/internal/core.d.ts +51 -51
  51. package/dist/dts/internal/core.d.ts.map +1 -1
  52. package/dist/dts/internal/effect-loop-operator.d.ts +4 -4
  53. package/dist/dts/internal/effect-loop-operator.d.ts.map +1 -1
  54. package/dist/dts/internal/effect-operator.d.ts +11 -11
  55. package/dist/dts/internal/effect-operator.d.ts.map +1 -1
  56. package/dist/dts/internal/effect-producer.d.ts +9 -9
  57. package/dist/dts/internal/effect-producer.d.ts.map +1 -1
  58. package/dist/dts/internal/helpers.d.ts +25 -25
  59. package/dist/dts/internal/helpers.d.ts.map +1 -1
  60. package/dist/dts/internal/protos.d.ts +9 -9
  61. package/dist/dts/internal/protos.d.ts.map +1 -1
  62. package/dist/dts/internal/provide.d.ts +10 -10
  63. package/dist/dts/internal/provide.d.ts.map +1 -1
  64. package/dist/dts/internal/share.d.ts +2 -2
  65. package/dist/dts/internal/share.d.ts.map +1 -1
  66. package/dist/dts/internal/sync-producer.d.ts +6 -6
  67. package/dist/dts/internal/sync-producer.d.ts.map +1 -1
  68. package/dist/esm/Form.js.map +1 -1
  69. package/dist/esm/FormEntry.js.map +1 -1
  70. package/dist/esm/Fx.js.map +1 -1
  71. package/dist/esm/Idle.js.map +1 -1
  72. package/dist/esm/Match.js.map +1 -1
  73. package/dist/esm/Pull.js.map +1 -1
  74. package/dist/esm/RefSubject.js.map +1 -1
  75. package/dist/esm/Subject.js.map +1 -1
  76. package/dist/esm/internal/core.js.map +1 -1
  77. package/dist/esm/internal/helpers.js.map +1 -1
  78. package/dist/esm/internal/keyed.js +1 -1
  79. package/dist/esm/internal/keyed.js.map +1 -1
  80. package/dist/esm/internal/share.js.map +1 -1
  81. package/dist/esm/internal/sync-producer.js.map +1 -1
  82. package/package.json +6 -6
  83. package/src/AsyncData.ts +86 -86
  84. package/src/Emitter.ts +9 -9
  85. package/src/Form.ts +39 -39
  86. package/src/FormEntry.ts +25 -25
  87. package/src/Fx.ts +122 -124
  88. package/src/Guard.ts +7 -7
  89. package/src/Idle.ts +23 -23
  90. package/src/Match.ts +3 -3
  91. package/src/Pull.ts +10 -10
  92. package/src/Push.ts +33 -33
  93. package/src/RefArray.ts +36 -36
  94. package/src/RefChunk.ts +30 -30
  95. package/src/RefHashMap.ts +24 -24
  96. package/src/RefHashSet.ts +6 -6
  97. package/src/RefSubject.ts +184 -184
  98. package/src/Sink.ts +91 -91
  99. package/src/Stream.ts +19 -19
  100. package/src/Subject.ts +21 -21
  101. package/src/Versioned.ts +23 -23
  102. package/src/internal/DeferredRef.ts +6 -6
  103. package/src/internal/core.ts +132 -132
  104. package/src/internal/effect-loop-operator.ts +4 -4
  105. package/src/internal/effect-operator.ts +13 -13
  106. package/src/internal/effect-producer.ts +14 -14
  107. package/src/internal/helpers.ts +36 -36
  108. package/src/internal/keyed.ts +3 -3
  109. package/src/internal/protos.ts +12 -12
  110. package/src/internal/provide.ts +10 -10
  111. package/src/internal/share.ts +4 -4
  112. package/src/internal/sync-producer.ts +12 -12
package/src/FormEntry.ts CHANGED
@@ -18,7 +18,7 @@ import { ComputedTypeId, RefSubjectTypeId } from "./TypeId.js"
18
18
  */
19
19
  export interface FormEntry<out R, in out E, in out I, in out O> extends RefSubject.RefSubject<R, E | ParseError, I> {
20
20
  readonly name: PropertyKey
21
- readonly schema: Schema.Schema<R, I, O>
21
+ readonly schema: Schema.Schema<O, I, R>
22
22
  readonly decoded: RefSubject.Computed<R, E | ParseError, O>
23
23
  }
24
24
 
@@ -30,7 +30,7 @@ export namespace FormEntry {
30
30
  * @since 1.18.0
31
31
  */
32
32
  export interface Derived<R, R2, E, I, O> extends FormEntry<R, E, I, O> {
33
- readonly persist: Effect.Effect<R2, E | ParseError, O>
33
+ readonly persist: Effect.Effect<O, E | ParseError, R2>
34
34
  }
35
35
  }
36
36
 
@@ -39,7 +39,7 @@ export namespace FormEntry {
39
39
  */
40
40
  export interface FormEntryOptions<R, I, O> {
41
41
  readonly name: PropertyKey
42
- readonly schema: Schema.Schema<R, I, O>
42
+ readonly schema: Schema.Schema<O, I, R>
43
43
  }
44
44
 
45
45
  /**
@@ -52,9 +52,9 @@ export interface FormEntryOptions<R, I, O> {
52
52
  export type MakeFormEntry<R0, I, O> = {
53
53
  <R, E>(
54
54
  ref: RefSubject.RefSubject<R, E, O>
55
- ): Effect.Effect<R0 | R | Scope.Scope, never, FormEntry.Derived<never, R, E, I, O>>
56
- <R, E>(fx: Fx.Fx<R, E, O>): Effect.Effect<R0 | R | Scope.Scope, never, FormEntry<never, E, I, O>>
57
- <R, E>(effect: Effect.Effect<R, E, O>): Effect.Effect<R0 | R | Scope.Scope, never, FormEntry<never, E, I, O>>
55
+ ): Effect.Effect<FormEntry.Derived<never, R, E, I, O>, never, R0 | R | Scope.Scope>
56
+ <R, E>(fx: Fx.Fx<R, E, O>): Effect.Effect<FormEntry<never, E, I, O>, never, R0 | R | Scope.Scope>
57
+ <R, E>(effect: Effect.Effect<O, E, R>): Effect.Effect<FormEntry<never, E, I, O>, never, R0 | R | Scope.Scope>
58
58
  }
59
59
 
60
60
  /**
@@ -64,9 +64,9 @@ export type MakeFormEntry<R0, I, O> = {
64
64
  export type MakeInputFormEntry<R0, I, O> = {
65
65
  <R, E>(
66
66
  ref: RefSubject.RefSubject<R, E, I>
67
- ): Effect.Effect<R | Scope.Scope, never, FormEntry.Derived<R0, R, E, I, O>>
68
- <R, E>(fx: Fx.Fx<R, E, I>): Effect.Effect<R | Scope.Scope, never, FormEntry<R0, E, I, O>>
69
- <R, E>(effect: Effect.Effect<R, E, I>): Effect.Effect<R | Scope.Scope, never, FormEntry<R0, E, I, O>>
67
+ ): Effect.Effect<FormEntry.Derived<R0, R, E, I, O>, never, R | Scope.Scope>
68
+ <R, E>(fx: Fx.Fx<R, E, I>): Effect.Effect<FormEntry<R0, E, I, O>, never, R | Scope.Scope>
69
+ <R, E>(effect: Effect.Effect<I, E, R>): Effect.Effect<FormEntry<R0, E, I, O>, never, R | Scope.Scope>
70
70
  }
71
71
 
72
72
  /**
@@ -75,7 +75,7 @@ export type MakeInputFormEntry<R0, I, O> = {
75
75
  export function derive<R, I, O>(options: FormEntryOptions<R, I, O>): MakeFormEntry<R, I, O> {
76
76
  const encode = Schema.encode(options.schema)
77
77
  const decode = Schema.decode(options.schema)
78
- const makeFormEntry = <R2, E>(input: RefSubject.RefSubject<R2, E, O> | Fx.Fx<R2, E, O> | Effect.Effect<R2, E, O>) => {
78
+ const makeFormEntry = <R2, E>(input: RefSubject.RefSubject<R2, E, O> | Fx.Fx<R2, E, O> | Effect.Effect<O, E, R2>) => {
79
79
  const initial = Fx.mapEffect(Effect.isEffect(input) ? Fx.fromEffect(input) : input, (o) => encode(o, parseOptions))
80
80
 
81
81
  return Effect.map(
@@ -84,7 +84,7 @@ export function derive<R, I, O>(options: FormEntryOptions<R, I, O>): MakeFormEnt
84
84
  }),
85
85
  (inputRef): FormEntry<R, E, I, O> | FormEntry.Derived<R, R2, E, I, O> => {
86
86
  if (RefSubject.isRefSubject<R2, E, O>(input)) {
87
- const persist: Effect.Effect<R | R2, ParseError | E, O> = Effect.flatMap(
87
+ const persist: Effect.Effect<O, ParseError | E, R | R2> = Effect.flatMap(
88
88
  Effect.flatMap(
89
89
  inputRef,
90
90
  (i) => decode(i, parseOptions)
@@ -113,14 +113,14 @@ export function derive<R, I, O>(options: FormEntryOptions<R, I, O>): MakeFormEnt
113
113
  */
114
114
  export function deriveInput<R, I, O>(options: FormEntryOptions<R, I, O>): MakeInputFormEntry<R, I, O> {
115
115
  const decode = Schema.decode(options.schema)
116
- const makeFormEntry = <R2, E>(input: RefSubject.RefSubject<R2, E, I> | Fx.Fx<R2, E, I> | Effect.Effect<R2, E, I>) => {
116
+ const makeFormEntry = <R2, E>(input: RefSubject.RefSubject<R2, E, I> | Fx.Fx<R2, E, I> | Effect.Effect<I, E, R2>) => {
117
117
  const initial: Fx.Fx<R2, E | ParseError, I> = Effect.isEffect(input) ? Fx.fromEffect(input) : input
118
118
 
119
119
  return Effect.map(
120
120
  RefSubject.make(initial, { eq: Equivalence.make(Schema.from(options.schema)) }),
121
121
  (inputRef): FormEntry<R, E, I, O> | FormEntry.Derived<R, R2, E, I, O> => {
122
122
  if (RefSubject.isRefSubject<R2, E, O>(input)) {
123
- const persist: Effect.Effect<R | R2, ParseError | E, O> = Effect.flatMap(
123
+ const persist: Effect.Effect<O, ParseError | E, R | R2> = Effect.flatMap(
124
124
  Effect.flatMap(
125
125
  inputRef,
126
126
  (i) => RefSubject.set(input as RefSubject.RefSubject<R2, E, I>, i)
@@ -156,14 +156,14 @@ class FromEntryImpl<R, E, I, O> extends FxEffectBase<R | Scope.Scope, E | ParseE
156
156
  readonly [RefSubjectTypeId]: RefSubjectTypeId = RefSubjectTypeId
157
157
 
158
158
  readonly decoded: RefSubject.Computed<R, ParseError | E, O>
159
- readonly version: Effect.Effect<never, ParseError | E, number>
160
- readonly subscriberCount: Effect.Effect<never, never, number>
161
- readonly interrupt: Effect.Effect<never, never, void>
159
+ readonly version: Effect.Effect<number, ParseError | E>
160
+ readonly subscriberCount: Effect.Effect<number>
161
+ readonly interrupt: Effect.Effect<void>
162
162
 
163
163
  constructor(
164
164
  readonly ref: RefSubject.RefSubject<never, E | ParseError, I>,
165
165
  readonly name: PropertyKey,
166
- readonly schema: Schema.Schema<R, I, O>
166
+ readonly schema: Schema.Schema<O, I, R>
167
167
  ) {
168
168
  super()
169
169
 
@@ -174,25 +174,25 @@ class FromEntryImpl<R, E, I, O> extends FxEffectBase<R | Scope.Scope, E | ParseE
174
174
  this.interrupt = ref.interrupt
175
175
  }
176
176
 
177
- run<R3>(sink: Sink.Sink<R3, E | ParseError, I>): Effect.Effect<R3 | Scope.Scope, never, unknown> {
177
+ run<R3>(sink: Sink.Sink<R3, E | ParseError, I>): Effect.Effect<unknown, never, R3 | Scope.Scope> {
178
178
  return this.ref.run(sink)
179
179
  }
180
180
 
181
- toEffect(): Effect.Effect<never, E | ParseError, I> {
181
+ toEffect(): Effect.Effect<I, E | ParseError> {
182
182
  return this.ref
183
183
  }
184
184
 
185
185
  runUpdates<R2, E2, B>(
186
- f: (ref: RefSubject.GetSetDelete<never, E | ParseError, I>) => Effect.Effect<R2, E2, B>
187
- ): Effect.Effect<R2, E2, B> {
186
+ f: (ref: RefSubject.GetSetDelete<never, E | ParseError, I>) => Effect.Effect<B, E2, R2>
187
+ ): Effect.Effect<B, E2, R2> {
188
188
  return this.ref.runUpdates(f)
189
189
  }
190
190
 
191
- onFailure(cause: Cause<E | ParseError>): Effect.Effect<never, never, unknown> {
191
+ onFailure(cause: Cause<E | ParseError>): Effect.Effect<unknown> {
192
192
  return this.ref.onFailure(cause)
193
193
  }
194
194
 
195
- onSuccess(value: I): Effect.Effect<never, never, unknown> {
195
+ onSuccess(value: I): Effect.Effect<unknown> {
196
196
  return this.ref.onSuccess(value)
197
197
  }
198
198
  }
@@ -203,8 +203,8 @@ class DerivedFormEntryImpl<R, R2, E, I, O> extends FromEntryImpl<R, E, I, O>
203
203
  constructor(
204
204
  ref: RefSubject.RefSubject<never, E | ParseError, I>,
205
205
  name: PropertyKey,
206
- schema: Schema.Schema<R, I, O>,
207
- readonly persist: Effect.Effect<R2, E | ParseError, O>
206
+ schema: Schema.Schema<O, I, R>,
207
+ readonly persist: Effect.Effect<O, E | ParseError, R2>
208
208
  ) {
209
209
  super(ref, name, schema)
210
210
  }