@esportsplus/reactivity 0.16.5 → 0.16.7
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/build/reactive/array.d.ts +17 -17
- package/build/reactive/index.d.ts +3 -3
- package/build/reactive/object.d.ts +1 -1
- package/package.json +1 -1
- package/src/reactive/array.ts +10 -10
- package/src/reactive/index.ts +5 -5
- package/src/reactive/object.ts +2 -2
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Prettify } from '@esportsplus/utilities';
|
|
2
|
-
type ReactiveArray<T
|
|
2
|
+
type ReactiveArray<T> = Prettify<T[] & {
|
|
3
3
|
clear: () => void;
|
|
4
4
|
dispose: () => void;
|
|
5
|
-
dispatch: <K extends keyof Events<T
|
|
6
|
-
map: <R>(fn: (this: ReactiveArray<T>, value: T
|
|
7
|
-
on: <K extends keyof Events<T
|
|
8
|
-
once: <K extends keyof Events<T
|
|
5
|
+
dispatch: <K extends keyof Events<T>, V>(event: K, value?: V) => void;
|
|
6
|
+
map: <R>(fn: (this: ReactiveArray<T>, value: T, i: number) => R) => R[];
|
|
7
|
+
on: <K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
8
|
+
once: <K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
9
9
|
}>;
|
|
10
10
|
type Events<T> = {
|
|
11
11
|
clear: undefined;
|
|
@@ -58,10 +58,10 @@ declare const _default: <T>(data: T[]) => {
|
|
|
58
58
|
sort: (compareFn?: ((a: T, b: T) => number) | undefined) => T[] & {
|
|
59
59
|
clear: () => void;
|
|
60
60
|
dispose: () => void;
|
|
61
|
-
dispatch: <K extends keyof Events<T_1
|
|
61
|
+
dispatch: <K extends keyof Events<T_1>, V>(event: K, value?: V | undefined) => void;
|
|
62
62
|
map: <R>(fn: (this: any, value: T, i: number) => R) => R[];
|
|
63
|
-
on: <K extends keyof Events<T_1
|
|
64
|
-
once: <K extends keyof Events<T_1
|
|
63
|
+
on: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
64
|
+
once: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
65
65
|
};
|
|
66
66
|
splice: {
|
|
67
67
|
(start: number, deleteCount?: number): T[];
|
|
@@ -99,18 +99,18 @@ declare const _default: <T>(data: T[]) => {
|
|
|
99
99
|
fill: (value: T, start?: number, end?: number) => T[] & {
|
|
100
100
|
clear: () => void;
|
|
101
101
|
dispose: () => void;
|
|
102
|
-
dispatch: <K extends keyof Events<T_1
|
|
102
|
+
dispatch: <K extends keyof Events<T_1>, V>(event: K, value?: V | undefined) => void;
|
|
103
103
|
map: <R>(fn: (this: any, value: T, i: number) => R) => R[];
|
|
104
|
-
on: <K extends keyof Events<T_1
|
|
105
|
-
once: <K extends keyof Events<T_1
|
|
104
|
+
on: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
105
|
+
once: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
106
106
|
};
|
|
107
107
|
copyWithin: (target: number, start: number, end?: number) => T[] & {
|
|
108
108
|
clear: () => void;
|
|
109
109
|
dispose: () => void;
|
|
110
|
-
dispatch: <K extends keyof Events<T_1
|
|
110
|
+
dispatch: <K extends keyof Events<T_1>, V>(event: K, value?: V | undefined) => void;
|
|
111
111
|
map: <R>(fn: (this: any, value: T, i: number) => R) => R[];
|
|
112
|
-
on: <K extends keyof Events<T_1
|
|
113
|
-
once: <K extends keyof Events<T_1
|
|
112
|
+
on: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
113
|
+
once: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
114
114
|
};
|
|
115
115
|
entries: () => ArrayIterator<[number, T]>;
|
|
116
116
|
keys: () => ArrayIterator<number>;
|
|
@@ -178,9 +178,9 @@ declare const _default: <T>(data: T[]) => {
|
|
|
178
178
|
};
|
|
179
179
|
clear: () => void;
|
|
180
180
|
dispose: () => void;
|
|
181
|
-
dispatch: <K extends keyof Events<T_1
|
|
182
|
-
on: <K extends keyof Events<T_1
|
|
183
|
-
once: <K extends keyof Events<T_1
|
|
181
|
+
dispatch: <K extends keyof Events<T_1>, V>(event: K, value?: V | undefined) => void;
|
|
182
|
+
on: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
183
|
+
once: <K extends keyof Events<T_1>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
184
184
|
};
|
|
185
185
|
export default _default;
|
|
186
186
|
export type { ReactiveArray };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
type API<T> = T extends Record<PropertyKey, unknown> ?
|
|
1
|
+
import { ReactiveArray } from './array.js';
|
|
2
|
+
import { ReactiveObject } from './object.js';
|
|
3
|
+
type API<T> = T extends Record<PropertyKey, unknown> ? ReactiveObject<T> : T extends (infer U)[] ? ReactiveArray<U> : never;
|
|
4
4
|
declare const _default: <T extends Record<PropertyKey, any> | unknown[]>(input: T extends {
|
|
5
5
|
dispose: any;
|
|
6
6
|
} ? {
|
|
@@ -6,7 +6,7 @@ type API<T> = Prettify<{
|
|
|
6
6
|
} & {
|
|
7
7
|
dispose: VoidFunction;
|
|
8
8
|
}>;
|
|
9
|
-
type Infer<T> = T extends (...args: unknown[]) => Promise<infer R> ? R | undefined : T extends (...args: any[]) => infer R ? R : T extends
|
|
9
|
+
type Infer<T> = T extends (...args: unknown[]) => Promise<infer R> ? R | undefined : T extends (...args: any[]) => infer R ? R : T extends (infer U)[] ? ReactiveArray<U> : T extends ReactiveObject<any> ? T : T extends Record<PropertyKey, unknown> ? {
|
|
10
10
|
[K in keyof T]: T[K];
|
|
11
11
|
} : T;
|
|
12
12
|
declare class ReactiveObject<T extends Record<PropertyKey, unknown>> {
|
package/package.json
CHANGED
package/src/reactive/array.ts
CHANGED
|
@@ -3,14 +3,14 @@ import { REACTIVE_ARRAY } from '~/constants';
|
|
|
3
3
|
import { isReactiveObject } from './object';
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
type ReactiveArray<T
|
|
7
|
-
T & {
|
|
6
|
+
type ReactiveArray<T> = Prettify<
|
|
7
|
+
T[] & {
|
|
8
8
|
clear: () => void;
|
|
9
9
|
dispose: () => void;
|
|
10
|
-
dispatch: <K extends keyof Events<T
|
|
11
|
-
map: <R>(fn: (this: ReactiveArray<T>, value: T
|
|
12
|
-
on: <K extends keyof Events<T
|
|
13
|
-
once: <K extends keyof Events<T
|
|
10
|
+
dispatch: <K extends keyof Events<T>, V>(event: K, value?: V) => void;
|
|
11
|
+
map: <R>(fn: (this: ReactiveArray<T>, value: T, i: number) => R) => R[];
|
|
12
|
+
on: <K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
13
|
+
once: <K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>) => void;
|
|
14
14
|
}
|
|
15
15
|
>;
|
|
16
16
|
|
|
@@ -97,8 +97,8 @@ function dispose<T>(data: T[]) {
|
|
|
97
97
|
|
|
98
98
|
function map<T, R>(
|
|
99
99
|
data: T[],
|
|
100
|
-
proxy: ReactiveArray<
|
|
101
|
-
fn: (this: ReactiveArray<
|
|
100
|
+
proxy: ReactiveArray<T>,
|
|
101
|
+
fn: (this: ReactiveArray<T>, value: T, i: number) => R
|
|
102
102
|
) {
|
|
103
103
|
let n = data.length,
|
|
104
104
|
values: R[] = new Array(n);
|
|
@@ -242,7 +242,7 @@ export default <T>(data: T[]) => {
|
|
|
242
242
|
|
|
243
243
|
return true;
|
|
244
244
|
}
|
|
245
|
-
}) as ReactiveArray<
|
|
245
|
+
}) as ReactiveArray<T>,
|
|
246
246
|
wrapper = {
|
|
247
247
|
[REACTIVE_ARRAY]: true,
|
|
248
248
|
at: (i: number) => data[i],
|
|
@@ -258,7 +258,7 @@ export default <T>(data: T[]) => {
|
|
|
258
258
|
dispose(data);
|
|
259
259
|
return proxy;
|
|
260
260
|
},
|
|
261
|
-
map: <R>(fn: (this: ReactiveArray<
|
|
261
|
+
map: <R>(fn: (this: ReactiveArray<T>, value: T, i: number) => R) => {
|
|
262
262
|
return map(data, proxy, fn);
|
|
263
263
|
},
|
|
264
264
|
on: <K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>) => {
|
package/src/reactive/index.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { isArray, isObject } from '@esportsplus/utilities';
|
|
2
2
|
import { onCleanup, root } from '~/system';
|
|
3
|
-
import array from './array';
|
|
4
|
-
import object from './object';
|
|
3
|
+
import array, { ReactiveArray } from './array';
|
|
4
|
+
import object, { ReactiveObject } from './object';
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
type API<T> =
|
|
8
8
|
T extends Record<PropertyKey, unknown>
|
|
9
|
-
?
|
|
10
|
-
: T extends
|
|
11
|
-
?
|
|
9
|
+
? ReactiveObject<T>
|
|
10
|
+
: T extends (infer U)[]
|
|
11
|
+
? ReactiveArray<U>
|
|
12
12
|
: never;
|
|
13
13
|
|
|
14
14
|
|
package/src/reactive/object.ts
CHANGED
|
@@ -12,8 +12,8 @@ type Infer<T> =
|
|
|
12
12
|
? R | undefined
|
|
13
13
|
: T extends (...args: any[]) => infer R
|
|
14
14
|
? R
|
|
15
|
-
: T extends
|
|
16
|
-
? ReactiveArray<
|
|
15
|
+
: T extends (infer U)[]
|
|
16
|
+
? ReactiveArray<U>
|
|
17
17
|
: T extends ReactiveObject<any>
|
|
18
18
|
? T
|
|
19
19
|
: T extends Record<PropertyKey, unknown>
|