@valentin30/signal 0.0.7 → 0.0.9
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 +17 -10
- package/dist/index.d.ts +17 -10
- package/dist/index.js +12 -2
- package/dist/index.mjs +12 -2
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
type
|
|
1
|
+
type Callable = (...args: any[]) => any;
|
|
2
2
|
|
|
3
3
|
type Maybe<T> = T | null | undefined;
|
|
4
4
|
|
|
5
|
-
type Factory<Fn extends
|
|
5
|
+
type Factory<Fn extends Callable> = Fn & {
|
|
6
6
|
factory(factory: Maybe<Fn>): void;
|
|
7
7
|
default(factory: Maybe<Fn>): void;
|
|
8
8
|
configured(): boolean;
|
|
9
9
|
};
|
|
10
|
-
declare function factory<Fn extends
|
|
10
|
+
declare function factory<Fn extends Callable>(name: string): Factory<Fn>;
|
|
11
11
|
|
|
12
12
|
type Callback = () => void;
|
|
13
13
|
|
|
@@ -38,27 +38,32 @@ declare class Collector<T> implements Collector$1<T> {
|
|
|
38
38
|
ignore(callback: Callback): void;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
type Equals<T> = (value: T, other: T) => boolean;
|
|
42
41
|
interface Comparable<T> {
|
|
43
42
|
equals(other: T): boolean;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
interface
|
|
45
|
+
interface Readable<T> {
|
|
47
46
|
read(): T;
|
|
48
47
|
}
|
|
49
48
|
|
|
50
|
-
interface
|
|
49
|
+
interface Subscribable {
|
|
51
50
|
subscribe(callback: Callback): Callback;
|
|
52
51
|
unsubscribe(callback: Callback): void;
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
interface
|
|
54
|
+
interface Writable<T> {
|
|
56
55
|
write(value: T): void;
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
type Equals<T> = (value: T, other: T) => boolean;
|
|
59
|
+
|
|
60
|
+
interface Peekable<T> {
|
|
61
|
+
peek(): T;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
interface Signal$1<T> extends Readable<T>, Writable<T>, Peekable<T>, Comparable<T>, Subscribable {
|
|
60
65
|
}
|
|
61
|
-
interface ReadonlySignal<T> extends
|
|
66
|
+
interface ReadonlySignal<T> extends Readable<T>, Peekable<T>, Comparable<T>, Subscribable {
|
|
62
67
|
}
|
|
63
68
|
type SignalFactory = <T>(value: T, equals?: Equals<T>) => Signal$1<T>;
|
|
64
69
|
declare const signal$1: Factory<SignalFactory>;
|
|
@@ -72,6 +77,7 @@ declare class Computed<T> implements ReadonlySignal<T> {
|
|
|
72
77
|
#private;
|
|
73
78
|
constructor(empty: boolean, value: T | undefined, values: [ReadonlySignal<unknown>, unknown][], dependencies: Set<ReadonlySignal<unknown>>, listeners: Set<Callback>, collector: Collector$1<ReadonlySignal<unknown>>, compute: () => T, equals: Maybe<Equals<T>>);
|
|
74
79
|
read(): T;
|
|
80
|
+
peek(): T;
|
|
75
81
|
equals(other: T): boolean;
|
|
76
82
|
subscribe(callback: Callback): Callback;
|
|
77
83
|
unsubscribe(callback: Callback): void;
|
|
@@ -130,6 +136,7 @@ declare class Signal<T> implements Signal$1<T> {
|
|
|
130
136
|
#private;
|
|
131
137
|
constructor(value: T, equals: Maybe<Equals<T>>, listeners: Set<Callback>, batcher: Collector$1<Callback>, collector: Collector$1<ReadonlySignal<unknown>>);
|
|
132
138
|
read(): T;
|
|
139
|
+
peek(): T;
|
|
133
140
|
write(value: T): void;
|
|
134
141
|
equals(other: T): boolean;
|
|
135
142
|
subscribe(callback: Callback): Callback;
|
|
@@ -191,4 +198,4 @@ interface Config {
|
|
|
191
198
|
}
|
|
192
199
|
declare function config(config?: Config): void;
|
|
193
200
|
|
|
194
|
-
export { type Batch, type Callback, type Collector$1 as Collector, type CollectorFactory, type Comparable, type ComposedFactory, type ComputedFactory, type Config, type Effect, type EffectCallback, type EffectCleanup, type Equals, type Factory, type
|
|
201
|
+
export { type Batch, type Callable, type Callback, type Collector$1 as Collector, type CollectorFactory, type Comparable, type ComposedFactory, type ComputedFactory, type Config, type Effect, type EffectCallback, type EffectCleanup, type Equals, type Factory, type Ignore, type Maybe, type Peekable, type Readable, type ReadonlySignal, type Signal$1 as Signal, type SignalFactory, type Subscribable, type Writable, batch, collector$1 as collector, composed, computed, config, effect$1 as effect, factory, ignore, index as internal, signal$1 as signal };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
type
|
|
1
|
+
type Callable = (...args: any[]) => any;
|
|
2
2
|
|
|
3
3
|
type Maybe<T> = T | null | undefined;
|
|
4
4
|
|
|
5
|
-
type Factory<Fn extends
|
|
5
|
+
type Factory<Fn extends Callable> = Fn & {
|
|
6
6
|
factory(factory: Maybe<Fn>): void;
|
|
7
7
|
default(factory: Maybe<Fn>): void;
|
|
8
8
|
configured(): boolean;
|
|
9
9
|
};
|
|
10
|
-
declare function factory<Fn extends
|
|
10
|
+
declare function factory<Fn extends Callable>(name: string): Factory<Fn>;
|
|
11
11
|
|
|
12
12
|
type Callback = () => void;
|
|
13
13
|
|
|
@@ -38,27 +38,32 @@ declare class Collector<T> implements Collector$1<T> {
|
|
|
38
38
|
ignore(callback: Callback): void;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
type Equals<T> = (value: T, other: T) => boolean;
|
|
42
41
|
interface Comparable<T> {
|
|
43
42
|
equals(other: T): boolean;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
interface
|
|
45
|
+
interface Readable<T> {
|
|
47
46
|
read(): T;
|
|
48
47
|
}
|
|
49
48
|
|
|
50
|
-
interface
|
|
49
|
+
interface Subscribable {
|
|
51
50
|
subscribe(callback: Callback): Callback;
|
|
52
51
|
unsubscribe(callback: Callback): void;
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
interface
|
|
54
|
+
interface Writable<T> {
|
|
56
55
|
write(value: T): void;
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
type Equals<T> = (value: T, other: T) => boolean;
|
|
59
|
+
|
|
60
|
+
interface Peekable<T> {
|
|
61
|
+
peek(): T;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
interface Signal$1<T> extends Readable<T>, Writable<T>, Peekable<T>, Comparable<T>, Subscribable {
|
|
60
65
|
}
|
|
61
|
-
interface ReadonlySignal<T> extends
|
|
66
|
+
interface ReadonlySignal<T> extends Readable<T>, Peekable<T>, Comparable<T>, Subscribable {
|
|
62
67
|
}
|
|
63
68
|
type SignalFactory = <T>(value: T, equals?: Equals<T>) => Signal$1<T>;
|
|
64
69
|
declare const signal$1: Factory<SignalFactory>;
|
|
@@ -72,6 +77,7 @@ declare class Computed<T> implements ReadonlySignal<T> {
|
|
|
72
77
|
#private;
|
|
73
78
|
constructor(empty: boolean, value: T | undefined, values: [ReadonlySignal<unknown>, unknown][], dependencies: Set<ReadonlySignal<unknown>>, listeners: Set<Callback>, collector: Collector$1<ReadonlySignal<unknown>>, compute: () => T, equals: Maybe<Equals<T>>);
|
|
74
79
|
read(): T;
|
|
80
|
+
peek(): T;
|
|
75
81
|
equals(other: T): boolean;
|
|
76
82
|
subscribe(callback: Callback): Callback;
|
|
77
83
|
unsubscribe(callback: Callback): void;
|
|
@@ -130,6 +136,7 @@ declare class Signal<T> implements Signal$1<T> {
|
|
|
130
136
|
#private;
|
|
131
137
|
constructor(value: T, equals: Maybe<Equals<T>>, listeners: Set<Callback>, batcher: Collector$1<Callback>, collector: Collector$1<ReadonlySignal<unknown>>);
|
|
132
138
|
read(): T;
|
|
139
|
+
peek(): T;
|
|
133
140
|
write(value: T): void;
|
|
134
141
|
equals(other: T): boolean;
|
|
135
142
|
subscribe(callback: Callback): Callback;
|
|
@@ -191,4 +198,4 @@ interface Config {
|
|
|
191
198
|
}
|
|
192
199
|
declare function config(config?: Config): void;
|
|
193
200
|
|
|
194
|
-
export { type Batch, type Callback, type Collector$1 as Collector, type CollectorFactory, type Comparable, type ComposedFactory, type ComputedFactory, type Config, type Effect, type EffectCallback, type EffectCleanup, type Equals, type Factory, type
|
|
201
|
+
export { type Batch, type Callable, type Callback, type Collector$1 as Collector, type CollectorFactory, type Comparable, type ComposedFactory, type ComputedFactory, type Config, type Effect, type EffectCallback, type EffectCleanup, type Equals, type Factory, type Ignore, type Maybe, type Peekable, type Readable, type ReadonlySignal, type Signal$1 as Signal, type SignalFactory, type Subscribable, type Writable, batch, collector$1 as collector, composed, computed, config, effect$1 as effect, factory, ignore, index as internal, signal$1 as signal };
|
package/dist/index.js
CHANGED
|
@@ -42,9 +42,13 @@ function factory(name) {
|
|
|
42
42
|
if (__default__) return __default__(...args);
|
|
43
43
|
throw new Error(`${name}.factory() not configured!`);
|
|
44
44
|
}
|
|
45
|
-
object.default = (factory2) => __default__ = factory2;
|
|
46
|
-
object.factory = (factory2) => __factory__ = factory2;
|
|
47
45
|
object.configured = () => __default__ !== null || __factory__ !== null;
|
|
46
|
+
object.default = (factory2) => {
|
|
47
|
+
__default__ = factory2 ?? null;
|
|
48
|
+
};
|
|
49
|
+
object.factory = (factory2) => {
|
|
50
|
+
__factory__ = factory2 ?? null;
|
|
51
|
+
};
|
|
48
52
|
return object;
|
|
49
53
|
}
|
|
50
54
|
|
|
@@ -160,6 +164,9 @@ var Computed = class {
|
|
|
160
164
|
}
|
|
161
165
|
read() {
|
|
162
166
|
this.#collector.add(this);
|
|
167
|
+
return this.peek();
|
|
168
|
+
}
|
|
169
|
+
peek() {
|
|
163
170
|
if (!this.#empty && !this.#values.some(([dep, value]) => !dep.equals(value))) return this.#value;
|
|
164
171
|
const current = this.#dependencies;
|
|
165
172
|
const next = this.#collector.collect(() => this.#value = this.#compute());
|
|
@@ -282,6 +289,9 @@ var Signal = class {
|
|
|
282
289
|
}
|
|
283
290
|
read() {
|
|
284
291
|
this.#collector.add(this);
|
|
292
|
+
return this.peek();
|
|
293
|
+
}
|
|
294
|
+
peek() {
|
|
285
295
|
return this.#value;
|
|
286
296
|
}
|
|
287
297
|
write(value) {
|
package/dist/index.mjs
CHANGED
|
@@ -13,9 +13,13 @@ function factory(name) {
|
|
|
13
13
|
if (__default__) return __default__(...args);
|
|
14
14
|
throw new Error(`${name}.factory() not configured!`);
|
|
15
15
|
}
|
|
16
|
-
object.default = (factory2) => __default__ = factory2;
|
|
17
|
-
object.factory = (factory2) => __factory__ = factory2;
|
|
18
16
|
object.configured = () => __default__ !== null || __factory__ !== null;
|
|
17
|
+
object.default = (factory2) => {
|
|
18
|
+
__default__ = factory2 ?? null;
|
|
19
|
+
};
|
|
20
|
+
object.factory = (factory2) => {
|
|
21
|
+
__factory__ = factory2 ?? null;
|
|
22
|
+
};
|
|
19
23
|
return object;
|
|
20
24
|
}
|
|
21
25
|
|
|
@@ -131,6 +135,9 @@ var Computed = class {
|
|
|
131
135
|
}
|
|
132
136
|
read() {
|
|
133
137
|
this.#collector.add(this);
|
|
138
|
+
return this.peek();
|
|
139
|
+
}
|
|
140
|
+
peek() {
|
|
134
141
|
if (!this.#empty && !this.#values.some(([dep, value]) => !dep.equals(value))) return this.#value;
|
|
135
142
|
const current = this.#dependencies;
|
|
136
143
|
const next = this.#collector.collect(() => this.#value = this.#compute());
|
|
@@ -253,6 +260,9 @@ var Signal = class {
|
|
|
253
260
|
}
|
|
254
261
|
read() {
|
|
255
262
|
this.#collector.add(this);
|
|
263
|
+
return this.peek();
|
|
264
|
+
}
|
|
265
|
+
peek() {
|
|
256
266
|
return this.#value;
|
|
257
267
|
}
|
|
258
268
|
write(value) {
|
package/package.json
CHANGED