@livestore/utils 0.3.0-dev.10 → 0.3.0-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.
- package/dist/.tsbuildinfo.json +1 -1
- package/dist/effect/BucketQueue.d.ts +1 -2
- package/dist/effect/BucketQueue.d.ts.map +1 -1
- package/dist/effect/BucketQueue.js +0 -1
- package/dist/effect/BucketQueue.js.map +1 -1
- package/dist/effect/WebChannel.d.ts +0 -1
- package/dist/effect/WebChannel.d.ts.map +1 -1
- package/dist/effect/WebChannel.js +0 -13
- package/dist/effect/WebChannel.js.map +1 -1
- package/dist/effect/index.d.ts +1 -2
- package/dist/effect/index.d.ts.map +1 -1
- package/dist/effect/index.js +1 -4
- package/dist/effect/index.js.map +1 -1
- package/dist/node/mod.d.ts +1 -2
- package/dist/node/mod.d.ts.map +1 -1
- package/dist/node/mod.js +0 -7
- package/dist/node/mod.js.map +1 -1
- package/package.json +37 -37
- package/src/effect/BucketQueue.ts +1 -7
- package/src/effect/WebChannel.ts +0 -15
- package/src/effect/index.ts +0 -3
- package/src/node/mod.ts +1 -12
- package/dist/effect/Subscribable.d.ts +0 -73
- package/dist/effect/Subscribable.d.ts.map +0 -1
- package/dist/effect/Subscribable.js +0 -75
- package/dist/effect/Subscribable.js.map +0 -1
- package/src/effect/Subscribable.ts +0 -143
|
@@ -1,143 +0,0 @@
|
|
|
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
|
-
})
|