@esportsplus/reactivity 0.6.1 → 0.6.2

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.
@@ -27,12 +27,12 @@ type Events<T> = {
27
27
  items: Item<T>[];
28
28
  };
29
29
  };
30
- type Item<T> = Computed<T> | ReactiveArray<T> | ReactiveObject<T extends Record<PropertyKey, unknown> ? T : never> | T;
30
+ type Item<T> = Computed<T> | API<T> | ReactiveObject<T extends Record<PropertyKey, unknown> ? T : never> | T;
31
31
  type Listener<V> = {
32
32
  once?: boolean;
33
33
  (value: V): void;
34
34
  };
35
- type Value<T> = T extends Record<PropertyKey, unknown> ? ReactiveObject<T> : T extends Array<infer U> ? ReactiveArray<U> : T;
35
+ type Value<T> = T extends Record<PropertyKey, unknown> ? ReactiveObject<T> : T extends Array<infer U> ? API<U> : T;
36
36
  declare class ReactiveArray<T> extends Disposable {
37
37
  private data;
38
38
  private listeners;
@@ -40,12 +40,12 @@ declare class ReactiveArray<T> extends Disposable {
40
40
  constructor(data: Item<T>[], proxy: API<T>);
41
41
  get length(): number;
42
42
  set length(n: number);
43
- at(i: number): ReactiveArray<T> | T | ReactiveObject<T extends Record<PropertyKey, unknown> ? T : never>;
44
- dispatch<D>(event: keyof Events<T>, value?: D): void;
43
+ at(i: number): T | API<T> | ReactiveObject<T extends Record<PropertyKey, unknown> ? T : never>;
44
+ dispatch<K extends keyof Events<T>, V>(event: K, value?: V): void;
45
45
  dispose(): void;
46
46
  map<R>(fn: (this: API<T>, value: Value<T>, i: number) => R, i?: number, n?: number): R[];
47
- on<T>(event: keyof Events<T>, listener: Listener<T>): void;
48
- once<T>(event: keyof Events<T>, listener: Listener<T>): void;
47
+ on<K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>): void;
48
+ once<K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>): void;
49
49
  pop(): Item<T> | undefined;
50
50
  push(...input: T[]): number;
51
51
  reverse(): this;
@@ -55,4 +55,4 @@ declare class ReactiveArray<T> extends Disposable {
55
55
  unshift(...input: T[]): number;
56
56
  }
57
57
  export default function array<T>(input: T[]): API<T>;
58
- export { ReactiveArray };
58
+ export type { API as ReactiveArray };
@@ -213,4 +213,3 @@ export default function array(input) {
213
213
  return proxy;
214
214
  }
215
215
  ;
216
- export { ReactiveArray };
@@ -10,4 +10,4 @@ declare class ReactiveObject<T extends Record<PropertyKey, unknown>> extends Dis
10
10
  dispose(): void;
11
11
  }
12
12
  export default function object<T extends Record<PropertyKey, unknown>>(input: T): API<T>;
13
- export { ReactiveObject };
13
+ export type { API as ReactiveObject };
@@ -91,4 +91,3 @@ export default function object(input) {
91
91
  return new ReactiveObject(input);
92
92
  }
93
93
  ;
94
- export { ReactiveObject };
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "private": false,
13
13
  "type": "module",
14
14
  "types": "build/index.d.ts",
15
- "version": "0.6.1",
15
+ "version": "0.6.2",
16
16
  "scripts": {
17
17
  "build": "tsc && tsc-alias",
18
18
  "-": "-"
@@ -33,7 +33,7 @@ type Events<T> = {
33
33
  };
34
34
  };
35
35
 
36
- type Item<T> = Computed<T> | ReactiveArray<T> | ReactiveObject<T extends Record<PropertyKey, unknown> ? T : never> | T;
36
+ type Item<T> = Computed<T> | API<T> | ReactiveObject<T extends Record<PropertyKey, unknown> ? T : never> | T;
37
37
 
38
38
  type Listener<V> = {
39
39
  once?: boolean;
@@ -44,7 +44,7 @@ type Value<T> =
44
44
  T extends Record<PropertyKey, unknown>
45
45
  ? ReactiveObject<T>
46
46
  : T extends Array<infer U>
47
- ? ReactiveArray<U>
47
+ ? API<U>
48
48
  : T;
49
49
 
50
50
 
@@ -85,7 +85,7 @@ class ReactiveArray<T> extends Disposable {
85
85
  return value;
86
86
  }
87
87
 
88
- dispatch<D>(event: keyof Events<T>, value?: D) {
88
+ dispatch<K extends keyof Events<T>, V>(event: K, value?: V) {
89
89
  if (this.listeners === null || this.listeners[event] === undefined) {
90
90
  return;
91
91
  }
@@ -162,7 +162,7 @@ class ReactiveArray<T> extends Disposable {
162
162
  return values;
163
163
  }
164
164
 
165
- on<T>(event: keyof Events<T>, listener: Listener<T>) {
165
+ on<K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>) {
166
166
  if (this.listeners === null) {
167
167
  this.listeners = { [event]: [listener] };
168
168
  }
@@ -185,7 +185,7 @@ class ReactiveArray<T> extends Disposable {
185
185
  }
186
186
  }
187
187
 
188
- once<T>(event: keyof Events<T>, listener: Listener<T>) {
188
+ once<K extends keyof Events<T>>(event: K, listener: Listener<Events<T>[K]>) {
189
189
  listener.once = true;
190
190
  this.on(event, listener);
191
191
  }
@@ -291,7 +291,7 @@ function factory<T>(input: T[]) {
291
291
  items[i] = computed(value as Computed<T>['fn']);
292
292
  }
293
293
  else if (isObject(value)) {
294
- items[i] = object(value);
294
+ items[i] = object(value) as Item<T>;
295
295
  }
296
296
  else {
297
297
  items[i] = value;
@@ -346,4 +346,4 @@ export default function array<T>(input: T[]) {
346
346
 
347
347
  return proxy;
348
348
  };
349
- export { ReactiveArray };
349
+ export type { API as ReactiveArray };
@@ -121,4 +121,4 @@ class ReactiveObject<T extends Record<PropertyKey, unknown>> extends Disposable
121
121
  export default function object<T extends Record<PropertyKey, unknown>>(input: T) {
122
122
  return new ReactiveObject(input) as API<T>;
123
123
  };
124
- export { ReactiveObject };
124
+ export type { API as ReactiveObject };