@esportsplus/reactivity 0.1.29 → 0.1.30
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.
|
@@ -28,11 +28,10 @@ declare class ReactiveArray<T> extends Array<T> {
|
|
|
28
28
|
private signal;
|
|
29
29
|
constructor(data: T[]);
|
|
30
30
|
set length(n: number);
|
|
31
|
-
private trigger;
|
|
32
31
|
dispatch<E extends keyof Events<T>>(event: E, data?: Events<T>[E]): void;
|
|
33
32
|
dispose(): void;
|
|
34
33
|
fill(value: T, start?: number, end?: number): this;
|
|
35
|
-
map<U>(fn: (value: T, i: number, values: this) => U): U[];
|
|
34
|
+
map<U>(fn: (this: ReactiveArray<T>, value: T, i: number, values: this) => U): U[];
|
|
36
35
|
on<E extends keyof Events<T>>(event: E, listener: Listener<Events<T>[E]>): void;
|
|
37
36
|
once<E extends keyof Events<T>>(event: E, listener: Listener<Events<T>[E]>): void;
|
|
38
37
|
pop(): T | undefined;
|
|
@@ -41,7 +40,8 @@ declare class ReactiveArray<T> extends Array<T> {
|
|
|
41
40
|
shift(): T | undefined;
|
|
42
41
|
sort(): this;
|
|
43
42
|
splice(start: number, deleteCount?: number, ...items: T[]): T[];
|
|
44
|
-
track():
|
|
43
|
+
track(index?: number): T | undefined;
|
|
44
|
+
trigger(): void;
|
|
45
45
|
unshift(...items: T[]): number;
|
|
46
46
|
}
|
|
47
47
|
declare class ReactiveObjectArray<T extends Object> extends ReactiveArray<ReactiveObject<T>> {
|
package/build/reactive/array.js
CHANGED
|
@@ -13,7 +13,7 @@ function unsupported(method) {
|
|
|
13
13
|
class ReactiveArray extends Array {
|
|
14
14
|
signal;
|
|
15
15
|
constructor(data) {
|
|
16
|
-
super(data);
|
|
16
|
+
super(...data);
|
|
17
17
|
this.signal = signal(false);
|
|
18
18
|
}
|
|
19
19
|
set length(n) {
|
|
@@ -22,9 +22,6 @@ class ReactiveArray extends Array {
|
|
|
22
22
|
}
|
|
23
23
|
this.splice(n);
|
|
24
24
|
}
|
|
25
|
-
trigger() {
|
|
26
|
-
this.signal.set(!this.signal.value);
|
|
27
|
-
}
|
|
28
25
|
dispatch(event, data) {
|
|
29
26
|
this.signal.dispatch(event, data);
|
|
30
27
|
}
|
|
@@ -40,7 +37,7 @@ class ReactiveArray extends Array {
|
|
|
40
37
|
map(fn) {
|
|
41
38
|
let values = [];
|
|
42
39
|
for (let i = 0, n = this.length; i < n; i++) {
|
|
43
|
-
values.push(fn(this[i], i, this));
|
|
40
|
+
values.push(fn.call(this, this[i], i, this));
|
|
44
41
|
}
|
|
45
42
|
return values;
|
|
46
43
|
}
|
|
@@ -96,8 +93,12 @@ class ReactiveArray extends Array {
|
|
|
96
93
|
}
|
|
97
94
|
return removed;
|
|
98
95
|
}
|
|
99
|
-
track() {
|
|
96
|
+
track(index) {
|
|
100
97
|
this.signal.get();
|
|
98
|
+
return index === undefined ? undefined : this[index];
|
|
99
|
+
}
|
|
100
|
+
trigger() {
|
|
101
|
+
this.signal.set(!this.signal.value);
|
|
101
102
|
}
|
|
102
103
|
unshift(...items) {
|
|
103
104
|
let length = super.unshift(...items);
|
|
@@ -4,11 +4,11 @@ import { ReactiveObject } from './object';
|
|
|
4
4
|
type Guard<T> = T extends Object ? {
|
|
5
5
|
[K in keyof T]: Never<K, Guard<T[K]>>;
|
|
6
6
|
} : T extends unknown[] ? Guard<T[number]>[] : T;
|
|
7
|
-
type Infer<T> = T extends (...args: unknown[]) => unknown ? ReturnType<T> : T extends unknown[] ?
|
|
7
|
+
type Infer<T> = T extends (...args: unknown[]) => unknown ? ReturnType<T> : T extends unknown[] ? T extends Object[] ? ReactiveObjectArray<T[0]> : ReactiveArray<T[0]> : T extends Object ? {
|
|
8
8
|
[K in keyof T]: T[K];
|
|
9
9
|
} : T;
|
|
10
10
|
type Never<K, V> = K extends keyof ReactiveObject<Object> ? never : V;
|
|
11
|
-
type Nodes<T> = T extends (...args: unknown[]) => unknown ? Computed<T> : T extends unknown[] ? T extends Object[] ? ReactiveObjectArray<T[0]> : ReactiveArray<T> : Signal<T>;
|
|
11
|
+
type Nodes<T> = T extends (...args: unknown[]) => unknown ? Computed<T> : T extends unknown[] ? T extends Object[] ? ReactiveObjectArray<T[0]> : ReactiveArray<T[0]> : Signal<T>;
|
|
12
12
|
type Signals<T extends Object> = {
|
|
13
13
|
[K in keyof T]: Nodes<T[K]>;
|
|
14
14
|
};
|
package/package.json
CHANGED
package/src/reactive/array.ts
CHANGED
|
@@ -35,8 +35,7 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
constructor(data: T[]) {
|
|
38
|
-
|
|
39
|
-
super(data);
|
|
38
|
+
super(...data);
|
|
40
39
|
this.signal = signal(false);
|
|
41
40
|
}
|
|
42
41
|
|
|
@@ -50,11 +49,6 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
|
|
53
|
-
private trigger() {
|
|
54
|
-
this.signal.set(!this.signal.value);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
52
|
dispatch<E extends keyof Events<T>>(event: E, data?: Events<T>[E]) {
|
|
59
53
|
this.signal.dispatch(event, data);
|
|
60
54
|
}
|
|
@@ -72,11 +66,11 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
72
66
|
return this;
|
|
73
67
|
}
|
|
74
68
|
|
|
75
|
-
map<U>(fn: (value: T, i: number, values: this) => U) {
|
|
69
|
+
map<U>(fn: (this: ReactiveArray<T>, value: T, i: number, values: this) => U) {
|
|
76
70
|
let values: U[] = [];
|
|
77
71
|
|
|
78
72
|
for (let i = 0, n = this.length; i < n; i++) {
|
|
79
|
-
values.push( fn(this[i], i, this) );
|
|
73
|
+
values.push( fn.call(this, this[i], i, this) );
|
|
80
74
|
}
|
|
81
75
|
|
|
82
76
|
return values;
|
|
@@ -154,8 +148,13 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
154
148
|
return removed;
|
|
155
149
|
}
|
|
156
150
|
|
|
157
|
-
track() {
|
|
151
|
+
track(index?: number) {
|
|
158
152
|
this.signal.get();
|
|
153
|
+
return index === undefined ? undefined : this[index];
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
trigger() {
|
|
157
|
+
this.signal.set(!this.signal.value);
|
|
159
158
|
}
|
|
160
159
|
|
|
161
160
|
unshift(...items: T[]) {
|
package/src/reactive/index.ts
CHANGED
|
@@ -14,7 +14,7 @@ type Infer<T> =
|
|
|
14
14
|
T extends (...args: unknown[]) => unknown
|
|
15
15
|
? ReturnType<T>
|
|
16
16
|
: T extends unknown[]
|
|
17
|
-
?
|
|
17
|
+
? T extends Object[] ? ReactiveObjectArray<T[0]> : ReactiveArray<T[0]>
|
|
18
18
|
: T extends Object
|
|
19
19
|
? { [K in keyof T]: T[K] }
|
|
20
20
|
: T;
|
|
@@ -25,7 +25,7 @@ type Nodes<T> =
|
|
|
25
25
|
T extends (...args: unknown[]) => unknown
|
|
26
26
|
? Computed<T>
|
|
27
27
|
: T extends unknown[]
|
|
28
|
-
? T extends Object[] ? ReactiveObjectArray<T[0]> : ReactiveArray<T>
|
|
28
|
+
? T extends Object[] ? ReactiveObjectArray<T[0]> : ReactiveArray<T[0]>
|
|
29
29
|
: Signal<T>;
|
|
30
30
|
|
|
31
31
|
type Signals<T extends Object> = {
|