@esportsplus/reactivity 0.1.29 → 0.1.31
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
|
|
34
|
+
map<U>(fn: (this: ReactiveArray<T>, value: T, i: number) => 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
|
|
40
|
+
values.push(fn.call(this, this[i], i));
|
|
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,12 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
72
66
|
return this;
|
|
73
67
|
}
|
|
74
68
|
|
|
75
|
-
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
map<U>(fn: (this: ReactiveArray<T>, value: T, i: number) => U) {
|
|
76
71
|
let values: U[] = [];
|
|
77
72
|
|
|
78
73
|
for (let i = 0, n = this.length; i < n; i++) {
|
|
79
|
-
values.push( fn(this[i], i
|
|
74
|
+
values.push( fn.call(this, this[i], i) );
|
|
80
75
|
}
|
|
81
76
|
|
|
82
77
|
return values;
|
|
@@ -110,6 +105,7 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
110
105
|
return n;
|
|
111
106
|
}
|
|
112
107
|
|
|
108
|
+
// @ts-ignore
|
|
113
109
|
reverse() {
|
|
114
110
|
super.reverse();
|
|
115
111
|
|
|
@@ -130,6 +126,7 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
130
126
|
return item;
|
|
131
127
|
}
|
|
132
128
|
|
|
129
|
+
// @ts-ignore
|
|
133
130
|
sort() {
|
|
134
131
|
super.sort();
|
|
135
132
|
|
|
@@ -154,8 +151,13 @@ class ReactiveArray<T> extends Array<T> {
|
|
|
154
151
|
return removed;
|
|
155
152
|
}
|
|
156
153
|
|
|
157
|
-
track() {
|
|
154
|
+
track(index?: number) {
|
|
158
155
|
this.signal.get();
|
|
156
|
+
return index === undefined ? undefined : this[index];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
trigger() {
|
|
160
|
+
this.signal.set(!this.signal.value);
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
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> = {
|