@valentin30/signal 0.1.0 → 0.2.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.
- package/dist/index.d.mts +260 -167
- package/dist/index.d.ts +260 -167
- package/dist/index.js +422 -297
- package/dist/index.mjs +414 -291
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,194 +1,287 @@
|
|
|
1
|
-
type Callable = (...args:
|
|
1
|
+
type Callable<Args extends any[] = any[], ReturnType = any> = (...args: Args) => ReturnType;
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
interface Batcher {
|
|
4
|
+
batch<Value>(callback: () => Value): Value;
|
|
5
|
+
batch<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): Value;
|
|
6
|
+
}
|
|
7
|
+
declare function batch<Value>(callback: () => Value): Value;
|
|
8
|
+
declare function batch<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): Value;
|
|
4
9
|
|
|
5
|
-
type
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
type Write<T> = (value: T) => void | undefined | boolean;
|
|
11
|
+
interface Writable<T> {
|
|
12
|
+
write(value: T): boolean;
|
|
13
|
+
}
|
|
14
|
+
declare function writer<T>(write: Write<T>): Writable<T>;
|
|
15
|
+
|
|
16
|
+
interface Comparator<T> {
|
|
17
|
+
equals(value: T, other: T): boolean;
|
|
18
|
+
}
|
|
19
|
+
interface Comparable<T> extends Comparator<T> {
|
|
20
|
+
equals(other: T): boolean;
|
|
21
|
+
equals(value: T, other: T): boolean;
|
|
22
|
+
}
|
|
23
|
+
type Equals<T> = (value: T, other: T) => boolean;
|
|
24
|
+
declare namespace Equals {
|
|
25
|
+
function strict<T>(value: T, other: T): boolean;
|
|
26
|
+
}
|
|
27
|
+
declare function comparator<T>(equals?: Equals<T>): Comparator<T>;
|
|
28
|
+
|
|
29
|
+
interface Peekable<T> {
|
|
30
|
+
peek(): T;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
interface Readable<T> {
|
|
34
|
+
read(): T;
|
|
35
|
+
}
|
|
36
|
+
declare function reader<T>(read: () => T): Readable<T>;
|
|
11
37
|
|
|
12
38
|
type Callback = () => void;
|
|
13
39
|
|
|
14
|
-
interface
|
|
40
|
+
interface Subscribable {
|
|
41
|
+
subscribe(callback: Callback): Callback;
|
|
42
|
+
unsubscribe(callback: Callback): void;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
interface Signal<T> extends Readable<T>, Writable<T>, Comparable<T>, Peekable<T>, Subscribable {
|
|
46
|
+
}
|
|
47
|
+
interface ReadonlySignal<T> extends Readable<T>, Comparable<T>, Peekable<T>, Subscribable {
|
|
48
|
+
}
|
|
49
|
+
interface SignalFactory {
|
|
50
|
+
<T>(value: T, equals?: Equals<T>): Signal<T>;
|
|
51
|
+
}
|
|
52
|
+
declare function signal<T>(value: T, equals?: Equals<T>): Signal<T>;
|
|
53
|
+
|
|
54
|
+
interface ComposedFactory {
|
|
55
|
+
<T>(value: ReadonlySignal<T>, write: Write<T>): Signal<T>;
|
|
56
|
+
}
|
|
57
|
+
declare function composed<T>(value: ReadonlySignal<T>, write: Write<T>): Signal<T>;
|
|
58
|
+
|
|
59
|
+
interface ComputedFactory {
|
|
60
|
+
<T>(compute: () => T, equals?: Equals<T>): ReadonlySignal<T>;
|
|
61
|
+
}
|
|
62
|
+
declare function computed<T>(compute: () => T, equals?: Equals<T>): ReadonlySignal<T>;
|
|
63
|
+
|
|
64
|
+
interface Ignore {
|
|
65
|
+
ignore<Value>(callback: () => Value): Value;
|
|
66
|
+
ignore<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): Value;
|
|
67
|
+
}
|
|
68
|
+
declare function ignore<Value>(callback: () => Value): Value;
|
|
69
|
+
declare function ignore<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): Value;
|
|
70
|
+
|
|
71
|
+
interface CollectorState {
|
|
72
|
+
collecting(): boolean;
|
|
73
|
+
}
|
|
74
|
+
interface CollectorTarget<T> extends CollectorState {
|
|
15
75
|
add(value: T): void;
|
|
76
|
+
}
|
|
77
|
+
interface Collector<T> extends CollectorState {
|
|
78
|
+
collect<Value>(callback: () => Value): [Value, Readonly<Set<T>>];
|
|
79
|
+
collect<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): [Value, Readonly<Set<T>>];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface Tracker<T> {
|
|
83
|
+
track(value: T): void;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
interface DependencyState {
|
|
87
|
+
changed(): boolean;
|
|
88
|
+
}
|
|
89
|
+
interface DependencyObserver extends DependencyState, Tracker<Callback> {
|
|
90
|
+
}
|
|
91
|
+
interface DependencyTracker extends DependencyObserver, Subscribable {
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
interface Scheduler<T> {
|
|
95
|
+
schedule(...value: T[]): void;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
declare class CollectorBasedBatcher implements Batcher {
|
|
99
|
+
private readonly collector;
|
|
100
|
+
constructor(collector: Collector<Callback>);
|
|
101
|
+
batch<Value>(callback: () => Value): Value;
|
|
102
|
+
batch<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): Value;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
type Maybe<T> = T | null | undefined;
|
|
106
|
+
|
|
107
|
+
declare class CollectorController<T> implements Collector<T>, CollectorTarget<T>, CollectorState, Ignore, Tracker<T> {
|
|
108
|
+
private values;
|
|
109
|
+
constructor(values?: Maybe<Set<T>>);
|
|
16
110
|
collecting(): boolean;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
declare function internal_batch(callback: Callback): void;
|
|
24
|
-
declare function internal_batch(callback: Callback, collector: Collector<Callback>): void;
|
|
25
|
-
declare function internal_batch(callback: Callback, collector?: Collector<Callback>): void;
|
|
26
|
-
declare namespace internal_batch {
|
|
27
|
-
const collector: Factory<collector.Factory>;
|
|
28
|
-
namespace collector {
|
|
29
|
-
type Factory = () => Collector<Callback>;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
declare function internal_collector<T>(): Collector<T>;
|
|
34
|
-
declare namespace internal_collector {
|
|
35
|
-
class Constructor<T> implements Collector<T> {
|
|
36
|
-
#private;
|
|
37
|
-
constructor(values: Set<T> | null);
|
|
38
|
-
collecting(): boolean;
|
|
39
|
-
add(value: T): void;
|
|
40
|
-
collect(callback: Callback): Set<T>;
|
|
41
|
-
ignore(callback: Callback): void;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
interface Comparable<T> {
|
|
46
|
-
equals(other: T): boolean;
|
|
111
|
+
add(value: T): void;
|
|
112
|
+
track(value: T): void;
|
|
113
|
+
collect<Value>(callback: () => Value): [Value, Readonly<Set<T>>];
|
|
114
|
+
collect<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): [Value, Readonly<Set<T>>];
|
|
115
|
+
ignore<Value>(callback: () => Value): Value;
|
|
116
|
+
ignore<Value, Args extends any[]>(callback: Callable<Args, Value>, ...args: Args): Value;
|
|
47
117
|
}
|
|
48
118
|
|
|
49
|
-
|
|
119
|
+
declare class Composed<T> implements Signal<T> {
|
|
120
|
+
private readonly value;
|
|
121
|
+
private readonly writer;
|
|
122
|
+
constructor(value: ReadonlySignal<T>, writer: Writable<T>);
|
|
50
123
|
read(): T;
|
|
124
|
+
peek(): T;
|
|
125
|
+
write(value: T): boolean;
|
|
126
|
+
equals(other: T): boolean;
|
|
127
|
+
equals(value: T, other: T): boolean;
|
|
128
|
+
subscribe(callback: Callback): Callback;
|
|
129
|
+
unsubscribe(callback: Callback): void;
|
|
51
130
|
}
|
|
52
131
|
|
|
53
|
-
|
|
132
|
+
type Snapshot = [ReadonlySignal<unknown>, unknown];
|
|
133
|
+
declare namespace Snapshot {
|
|
134
|
+
function changed([value, snapshot]: Snapshot): boolean;
|
|
135
|
+
function from(values: Set<ReadonlySignal<unknown>>): Snapshot[];
|
|
136
|
+
}
|
|
137
|
+
declare class DependencyManager implements DependencyTracker {
|
|
138
|
+
private snapshot;
|
|
139
|
+
private dependencies;
|
|
140
|
+
private readonly collector;
|
|
141
|
+
private readonly listeners;
|
|
142
|
+
constructor(collector: Collector<ReadonlySignal<unknown>>, listeners?: Set<Callback>, dependencies?: Set<ReadonlySignal<unknown>>, snapshot?: Maybe<Snapshot[]>);
|
|
143
|
+
changed(): boolean;
|
|
144
|
+
track(callback: Callback): void;
|
|
54
145
|
subscribe(callback: Callback): Callback;
|
|
55
146
|
unsubscribe(callback: Callback): void;
|
|
147
|
+
private equals;
|
|
56
148
|
}
|
|
57
149
|
|
|
58
|
-
interface
|
|
59
|
-
|
|
150
|
+
interface Emitter {
|
|
151
|
+
emit(): void;
|
|
60
152
|
}
|
|
61
153
|
|
|
62
|
-
|
|
154
|
+
declare class ScheduledEmitter implements Emitter, Subscribable {
|
|
155
|
+
private readonly listeners;
|
|
156
|
+
private readonly scheduler;
|
|
157
|
+
constructor(scheduler: Scheduler<Callback>, listeners?: Set<Callback>);
|
|
158
|
+
emit(): void;
|
|
159
|
+
subscribe(callback: Callback): Callback;
|
|
160
|
+
unsubscribe(callback: Callback): void;
|
|
161
|
+
}
|
|
63
162
|
|
|
64
|
-
interface
|
|
163
|
+
interface Value<T> extends Readable<T>, Writable<T>, Comparable<T> {
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
declare class Reactive<T> implements Signal<T> {
|
|
167
|
+
private readonly value;
|
|
168
|
+
private readonly tracker;
|
|
169
|
+
private readonly subscription;
|
|
170
|
+
constructor(value: Value<T>, tracker: Tracker<ReadonlySignal<unknown>>, subscription: Subscribable);
|
|
171
|
+
read(): T;
|
|
65
172
|
peek(): T;
|
|
173
|
+
write(value: T): boolean;
|
|
174
|
+
equals(other: T): boolean;
|
|
175
|
+
equals(value: T, other: T): boolean;
|
|
176
|
+
subscribe(callback: Callback): Callback;
|
|
177
|
+
unsubscribe(callback: Callback): void;
|
|
66
178
|
}
|
|
67
179
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
declare function internal_computed<T>(compute: () => T, equals?: Equals<T>): internal_computed.Constructor<T>;
|
|
76
|
-
declare namespace internal_computed {
|
|
77
|
-
const collector: Factory<collector.Factory>;
|
|
78
|
-
namespace collector {
|
|
79
|
-
type Factory = () => Collector<ReadonlySignal<unknown>>;
|
|
80
|
-
}
|
|
81
|
-
class Constructor<T> implements ReadonlySignal<T> {
|
|
82
|
-
#private;
|
|
83
|
-
constructor(empty: boolean, value: T | undefined, values: [ReadonlySignal<unknown>, unknown][], dependencies: Set<ReadonlySignal<unknown>>, listeners: Set<Callback>, collector: Collector<ReadonlySignal<unknown>>, compute: () => T, equals: Maybe<Equals<T>>);
|
|
84
|
-
read(): T;
|
|
85
|
-
peek(): T;
|
|
86
|
-
equals(other: T): boolean;
|
|
87
|
-
subscribe(callback: Callback): Callback;
|
|
88
|
-
unsubscribe(callback: Callback): void;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
declare function internal_composed<T>(compute: () => T, write: (value: T) => void, equals?: Equals<T>): internal_composed.Constructor<T>;
|
|
93
|
-
declare namespace internal_composed {
|
|
94
|
-
const batcher: Factory<batcher.Factory>;
|
|
95
|
-
namespace batcher {
|
|
96
|
-
type Factory = () => Collector<Callback>;
|
|
97
|
-
}
|
|
98
|
-
const collector: Factory<collector.Factory>;
|
|
99
|
-
namespace collector {
|
|
100
|
-
type Factory = () => Collector<ReadonlySignal<unknown>>;
|
|
101
|
-
}
|
|
102
|
-
class Constructor<T> extends internal_computed.Constructor<T> implements Signal<T> {
|
|
103
|
-
#private;
|
|
104
|
-
constructor(empty: boolean, value: T | undefined, values: [ReadonlySignal<unknown>, unknown][], dependencies: Set<ReadonlySignal<unknown>>, listeners: Set<Callback>, batcher: Collector<Callback>, collector: Collector<ReadonlySignal<unknown>>, compute: () => T, write: (value: T) => void, equals: Maybe<Equals<T>>);
|
|
105
|
-
write(value: T): void;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
type Effect = (callback: EffectCallback) => Callback;
|
|
110
|
-
type EffectCallback = (init: boolean) => EffectCleanup | void;
|
|
111
|
-
type EffectCleanup = (destroy: boolean) => void;
|
|
112
|
-
declare const effect: Factory<Effect>;
|
|
113
|
-
|
|
114
|
-
declare function internal_effect(cb: EffectCallback): Callback;
|
|
115
|
-
declare namespace internal_effect {
|
|
116
|
-
const collector: Factory<collector.Factory>;
|
|
117
|
-
namespace collector {
|
|
118
|
-
type Factory = () => Collector<ReadonlySignal<unknown>>;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
declare function internal_ignore<Value>(value: ReadonlySignal<Value>): Value;
|
|
123
|
-
declare function internal_ignore<Value>(callback: () => Value): Value;
|
|
124
|
-
declare function internal_ignore<Value, Args extends any[]>(callback: (...args: Args) => Value, ...args: Args): Value;
|
|
125
|
-
declare namespace internal_ignore {
|
|
126
|
-
const collector: Factory<collector.Factory>;
|
|
127
|
-
namespace collector {
|
|
128
|
-
type Factory = () => Collector<ReadonlySignal<unknown>>;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
declare namespace internal_shared {
|
|
133
|
-
function batcher(): Collector<Callback>;
|
|
134
|
-
function collector(): Collector<ReadonlySignal<unknown>>;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
declare function internal_signal<T>(value: T, equals?: Equals<T>): Signal<T>;
|
|
138
|
-
declare namespace internal_signal {
|
|
139
|
-
const batcher: Factory<batcher.Factory>;
|
|
140
|
-
namespace batcher {
|
|
141
|
-
type Factory = () => Collector<Callback>;
|
|
142
|
-
}
|
|
143
|
-
const collector: Factory<collector.Factory>;
|
|
144
|
-
namespace collector {
|
|
145
|
-
type Factory = () => Collector<ReadonlySignal<unknown>>;
|
|
146
|
-
}
|
|
147
|
-
class Constructor<T> implements Signal<T> {
|
|
148
|
-
#private;
|
|
149
|
-
constructor(value: T, equals: Maybe<Equals<T>>, listeners: Set<Callback>, batcher: Collector<Callback>, collector: Collector<ReadonlySignal<unknown>>);
|
|
150
|
-
read(): T;
|
|
151
|
-
peek(): T;
|
|
152
|
-
write(value: T): void;
|
|
153
|
-
equals(other: T): boolean;
|
|
154
|
-
subscribe(callback: Callback): Callback;
|
|
155
|
-
unsubscribe(callback: Callback): void;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
declare namespace index {
|
|
160
|
-
export { internal_batch as batch, internal_collector as collector, internal_composed as composed, internal_computed as computed, internal_effect as effect, internal_ignore as ignore, internal_shared as shared, internal_signal as signal };
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
interface Batch {
|
|
164
|
-
(callback: Callback): void;
|
|
165
|
-
(callback: Callback, collector: Collector<Callback>): void;
|
|
166
|
-
(callback: Callback, collector?: Collector<Callback>): void;
|
|
167
|
-
}
|
|
168
|
-
declare const batch: Factory<Batch>;
|
|
169
|
-
|
|
170
|
-
type ComposedFactory = <T>(read: () => T, write: (value: T) => void, equals?: Equals<T>) => Signal<T>;
|
|
171
|
-
declare const composed: Factory<ComposedFactory>;
|
|
172
|
-
|
|
173
|
-
type ComputedFactory = <T>(read: () => T, equals?: Equals<T>) => ReadonlySignal<T>;
|
|
174
|
-
declare const computed: Factory<ComputedFactory>;
|
|
180
|
+
declare class CallbackScheduler implements Scheduler<Callback> {
|
|
181
|
+
private readonly collector;
|
|
182
|
+
private readonly add;
|
|
183
|
+
constructor(collector: CollectorTarget<Callback>);
|
|
184
|
+
schedule(...args: Callback[]): void;
|
|
185
|
+
}
|
|
175
186
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
187
|
+
declare class BasicValue<T> implements Value<T> {
|
|
188
|
+
private value;
|
|
189
|
+
private readonly comparator;
|
|
190
|
+
constructor(value: T, comparator: Comparator<T>);
|
|
191
|
+
read(): T;
|
|
192
|
+
write(value: T): boolean;
|
|
193
|
+
equals(other: T): boolean;
|
|
194
|
+
equals(value: T, other: T): boolean;
|
|
195
|
+
}
|
|
196
|
+
declare class EmittingValue<T> {
|
|
197
|
+
private readonly value;
|
|
198
|
+
private readonly emitter;
|
|
199
|
+
constructor(value: Value<T>, emitter: Emitter);
|
|
200
|
+
read(): T;
|
|
201
|
+
write(value: T): boolean;
|
|
202
|
+
equals(other: T): boolean;
|
|
203
|
+
equals(value: T, other: T): boolean;
|
|
204
|
+
}
|
|
205
|
+
declare class ComputedValue<T> implements Value<T> {
|
|
206
|
+
private readonly cache;
|
|
207
|
+
private readonly computation;
|
|
208
|
+
private readonly dependencies;
|
|
209
|
+
constructor(cache: Value<T>, computation: Readable<T>, dependencies: DependencyObserver);
|
|
210
|
+
read(): T;
|
|
211
|
+
private recompute;
|
|
212
|
+
write(_: T): boolean;
|
|
213
|
+
equals(other: T): boolean;
|
|
214
|
+
equals(value: T, other: T): boolean;
|
|
180
215
|
}
|
|
181
|
-
declare const ignore: Factory<Ignore>;
|
|
182
216
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
effect?: Maybe<Effect>;
|
|
189
|
-
batch?: Maybe<Batch>;
|
|
190
|
-
ignore?: Maybe<Ignore>;
|
|
217
|
+
declare class BatchWriter<T> implements Writable<T> {
|
|
218
|
+
private readonly writer;
|
|
219
|
+
private readonly batcher;
|
|
220
|
+
constructor(writer: Writable<T>, batcher: Batcher);
|
|
221
|
+
write(value: T): boolean;
|
|
191
222
|
}
|
|
192
|
-
declare function config(config?: Config): void;
|
|
193
223
|
|
|
194
|
-
|
|
224
|
+
type internal_BasicValue<T> = BasicValue<T>;
|
|
225
|
+
declare const internal_BasicValue: typeof BasicValue;
|
|
226
|
+
type internal_BatchWriter<T> = BatchWriter<T>;
|
|
227
|
+
declare const internal_BatchWriter: typeof BatchWriter;
|
|
228
|
+
type internal_CallbackScheduler = CallbackScheduler;
|
|
229
|
+
declare const internal_CallbackScheduler: typeof CallbackScheduler;
|
|
230
|
+
type internal_CollectorBasedBatcher = CollectorBasedBatcher;
|
|
231
|
+
declare const internal_CollectorBasedBatcher: typeof CollectorBasedBatcher;
|
|
232
|
+
type internal_CollectorController<T> = CollectorController<T>;
|
|
233
|
+
declare const internal_CollectorController: typeof CollectorController;
|
|
234
|
+
type internal_Composed<T> = Composed<T>;
|
|
235
|
+
declare const internal_Composed: typeof Composed;
|
|
236
|
+
type internal_ComputedValue<T> = ComputedValue<T>;
|
|
237
|
+
declare const internal_ComputedValue: typeof ComputedValue;
|
|
238
|
+
type internal_DependencyManager = DependencyManager;
|
|
239
|
+
declare const internal_DependencyManager: typeof DependencyManager;
|
|
240
|
+
type internal_EmittingValue<T> = EmittingValue<T>;
|
|
241
|
+
declare const internal_EmittingValue: typeof EmittingValue;
|
|
242
|
+
type internal_Reactive<T> = Reactive<T>;
|
|
243
|
+
declare const internal_Reactive: typeof Reactive;
|
|
244
|
+
type internal_ScheduledEmitter = ScheduledEmitter;
|
|
245
|
+
declare const internal_ScheduledEmitter: typeof ScheduledEmitter;
|
|
246
|
+
declare const internal_Snapshot: typeof Snapshot;
|
|
247
|
+
declare namespace internal {
|
|
248
|
+
export { internal_BasicValue as BasicValue, internal_BatchWriter as BatchWriter, internal_CallbackScheduler as CallbackScheduler, internal_CollectorBasedBatcher as CollectorBasedBatcher, internal_CollectorController as CollectorController, internal_Composed as Composed, internal_ComputedValue as ComputedValue, internal_DependencyManager as DependencyManager, internal_EmittingValue as EmittingValue, internal_Reactive as Reactive, internal_ScheduledEmitter as ScheduledEmitter, internal_Snapshot as Snapshot };
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
declare function call(callback: Callback): void;
|
|
252
|
+
|
|
253
|
+
type Factory<FactoryFunction extends Callable> = FactoryFunction & {
|
|
254
|
+
factory(factory: Maybe<FactoryFunction>): void;
|
|
255
|
+
default(factory: Maybe<FactoryFunction>): void;
|
|
256
|
+
configured(): boolean;
|
|
257
|
+
};
|
|
258
|
+
declare function factory<FactoryFunction extends Callable>(name: string): Factory<FactoryFunction>;
|
|
259
|
+
|
|
260
|
+
declare function singleton<T>(factory: () => T): {
|
|
261
|
+
(): T;
|
|
262
|
+
instance: T | undefined;
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
type utils_Factory<FactoryFunction extends Callable> = Factory<FactoryFunction>;
|
|
266
|
+
declare const utils_call: typeof call;
|
|
267
|
+
declare const utils_factory: typeof factory;
|
|
268
|
+
declare const utils_singleton: typeof singleton;
|
|
269
|
+
declare namespace utils {
|
|
270
|
+
export { type utils_Factory as Factory, utils_call as call, utils_factory as factory, utils_singleton as singleton };
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
declare function configuration(): {
|
|
274
|
+
signal: Factory<SignalFactory>;
|
|
275
|
+
computed: Factory<ComputedFactory>;
|
|
276
|
+
composed: Factory<ComposedFactory>;
|
|
277
|
+
batcher: Factory<() => Batcher>;
|
|
278
|
+
ignorer: Factory<() => Ignore>;
|
|
279
|
+
scheduler: Factory<() => Scheduler<Callback>>;
|
|
280
|
+
tracker: Factory<() => Tracker<ReadonlySignal<unknown>>>;
|
|
281
|
+
collector: Factory<() => Collector<ReadonlySignal<unknown>>>;
|
|
282
|
+
dependency_tracker: Factory<() => DependencyTracker>;
|
|
283
|
+
dependency_collector: Factory<() => CollectorController<ReadonlySignal<unknown>>>;
|
|
284
|
+
callback_collector: Factory<() => CollectorController<Callback>>;
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export { type Batcher, type Callable, type Callback, type Collector, type CollectorState, type CollectorTarget, type Comparable, type Comparator, type ComposedFactory, type ComputedFactory, type DependencyObserver, type DependencyState, type DependencyTracker, type Emitter, Equals, type Ignore, internal as Internal, type Maybe, type Peekable, type Readable, type ReadonlySignal, type Scheduler, type Signal, type SignalFactory, type Subscribable, type Tracker, type Value, type Writable, type Write, batch, comparator, composed, computed, configuration, ignore, reader, signal, utils, writer };
|