@valentin30/signal 0.0.7 → 0.0.8
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 +14 -7
- package/dist/index.d.ts +14 -7
- package/dist/index.js +6 -0
- package/dist/index.mjs +6 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -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 Function, type Ignore, type Maybe, type
|
|
201
|
+
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 Function, 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
|
@@ -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 Function, type Ignore, type Maybe, type
|
|
201
|
+
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 Function, 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
|
@@ -160,6 +160,9 @@ var Computed = class {
|
|
|
160
160
|
}
|
|
161
161
|
read() {
|
|
162
162
|
this.#collector.add(this);
|
|
163
|
+
return this.peek();
|
|
164
|
+
}
|
|
165
|
+
peek() {
|
|
163
166
|
if (!this.#empty && !this.#values.some(([dep, value]) => !dep.equals(value))) return this.#value;
|
|
164
167
|
const current = this.#dependencies;
|
|
165
168
|
const next = this.#collector.collect(() => this.#value = this.#compute());
|
|
@@ -282,6 +285,9 @@ var Signal = class {
|
|
|
282
285
|
}
|
|
283
286
|
read() {
|
|
284
287
|
this.#collector.add(this);
|
|
288
|
+
return this.peek();
|
|
289
|
+
}
|
|
290
|
+
peek() {
|
|
285
291
|
return this.#value;
|
|
286
292
|
}
|
|
287
293
|
write(value) {
|
package/dist/index.mjs
CHANGED
|
@@ -131,6 +131,9 @@ var Computed = class {
|
|
|
131
131
|
}
|
|
132
132
|
read() {
|
|
133
133
|
this.#collector.add(this);
|
|
134
|
+
return this.peek();
|
|
135
|
+
}
|
|
136
|
+
peek() {
|
|
134
137
|
if (!this.#empty && !this.#values.some(([dep, value]) => !dep.equals(value))) return this.#value;
|
|
135
138
|
const current = this.#dependencies;
|
|
136
139
|
const next = this.#collector.collect(() => this.#value = this.#compute());
|
|
@@ -253,6 +256,9 @@ var Signal = class {
|
|
|
253
256
|
}
|
|
254
257
|
read() {
|
|
255
258
|
this.#collector.add(this);
|
|
259
|
+
return this.peek();
|
|
260
|
+
}
|
|
261
|
+
peek() {
|
|
256
262
|
return this.#value;
|
|
257
263
|
}
|
|
258
264
|
write(value) {
|
package/package.json
CHANGED