async-reactivity 2.0.9 → 2.0.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "async-reactivity",
3
- "version": "2.0.9",
3
+ "version": "2.0.11",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",
package/src/computed.ts CHANGED
@@ -16,16 +16,16 @@ enum ComputedState {
16
16
 
17
17
  class CircularDependencyError extends Error { }
18
18
 
19
- export default class Computed<T> extends Tracker<T> implements Dependent, Dependency<T> {
19
+ export default class Computed<T extends TBase, TBase = T> extends Tracker<T> implements Dependent, Dependency<T> {
20
20
  getter: ComputeFunc<T>;
21
- isEqual: typeof defaultIsEqual<T>;
21
+ isEqual: typeof defaultIsEqual<TBase>;
22
22
  private state = ComputedState.Invalid;
23
23
  private dependencies = new Map<Dependency<any>, boolean>();
24
24
  private computePromise?: T;
25
25
  private computePromiseActions?: { resolve: Function, reject: Function };
26
26
  private lastComputeAttemptPromise?: Promise<void>;
27
27
 
28
- constructor(getter: ComputeFunc<T>, isEqual = defaultIsEqual<T>) {
28
+ constructor(getter: ComputeFunc<T>, isEqual = defaultIsEqual<TBase>) {
29
29
  super();
30
30
  this.getter = getter;
31
31
  this.isEqual = isEqual;
@@ -112,7 +112,7 @@ export default class Computed<T> extends Tracker<T> implements Dependent, Depend
112
112
  }
113
113
  }
114
114
 
115
- private innerTrackDependency(this: Computed<T>, dependency: Dependency<any>) {
115
+ private innerTrackDependency(this: Computed<T, TBase>, dependency: Dependency<any>) {
116
116
  if (this.dependents.has(dependency as any)) {
117
117
  throw new CircularDependencyError();
118
118
  }
package/src/ref.ts CHANGED
@@ -2,10 +2,10 @@ import Dependency from "./dependency.js";
2
2
  import Tracker from "./tracker.js";
3
3
  import defaultIsEqual from "./defaultIsEqual.js";
4
4
 
5
- export default class Ref<T> extends Tracker<T> implements Dependency<T> {
6
- private isEqual: typeof defaultIsEqual<T>;
5
+ export default class Ref<T extends TBase, TBase = T> extends Tracker<T> implements Dependency<T> {
6
+ private isEqual: typeof defaultIsEqual<TBase>;
7
7
 
8
- constructor(_value: T, isEqual = defaultIsEqual<T>) {
8
+ constructor(_value: T, isEqual = defaultIsEqual<TBase>) {
9
9
  super();
10
10
  this._value = _value;
11
11
  this.isEqual = isEqual;
@@ -5,15 +5,15 @@ import defaultIsEqual from "./defaultIsEqual.js";
5
5
  declare type TrackValue = <T>(dependency: Dependency<T>) => T;
6
6
  export declare type ComputeFunc<T> = (value: TrackValue) => T;
7
7
  export declare type ComputeFuncScoped<T1, T2> = (value: TrackValue, scope: T1) => T2;
8
- export default class Computed<T> extends Tracker<T> implements Dependent, Dependency<T> {
8
+ export default class Computed<T extends TBase, TBase = T> extends Tracker<T> implements Dependent, Dependency<T> {
9
9
  getter: ComputeFunc<T>;
10
- isEqual: typeof defaultIsEqual<T>;
10
+ isEqual: typeof defaultIsEqual<TBase>;
11
11
  private state;
12
12
  private dependencies;
13
13
  private computePromise?;
14
14
  private computePromiseActions?;
15
15
  private lastComputeAttemptPromise?;
16
- constructor(getter: ComputeFunc<T>, isEqual?: (v1: T, v2: T) => boolean);
16
+ constructor(getter: ComputeFunc<T>, isEqual?: (v1: TBase, v2: TBase) => boolean);
17
17
  private prepareComputePromise;
18
18
  get value(): T;
19
19
  private compute;
@@ -1 +1 @@
1
- {"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../src/computed.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9D,MAAM,CAAC,OAAO,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK,CAAC,CAAC;AAC9D,MAAM,CAAC,OAAO,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;AAWrF,MAAM,CAAC,OAAO,OAAO,QAAQ,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IACnF,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,cAAc,CAAC,CAAI;IAC3B,OAAO,CAAC,qBAAqB,CAAC,CAA0C;IACxE,OAAO,CAAC,yBAAyB,CAAC,CAAgB;gBAEtC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,4BAAoB;IAO/D,OAAO,CAAC,qBAAqB;IAS7B,IAAW,KAAK,IAAI,CAAC,CAMpB;IAED,OAAO,CAAC,OAAO;IA0Cf,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe,CAAwC;IAE/D,OAAO,CAAC,iBAAiB;IAMlB,UAAU;IAUV,eAAe;IAKf,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC;IAI3C,OAAO,CAAC,kBAAkB;IAMnB,OAAO;CAOjB"}
1
+ {"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../src/computed.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9D,MAAM,CAAC,OAAO,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK,CAAC,CAAC;AAC9D,MAAM,CAAC,OAAO,MAAM,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;AAWrF,MAAM,CAAC,OAAO,OAAO,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,GAAG,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5G,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,cAAc,CAAC,CAAI;IAC3B,OAAO,CAAC,qBAAqB,CAAC,CAA0C;IACxE,OAAO,CAAC,yBAAyB,CAAC,CAAgB;gBAEtC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,oCAAwB;IAOnE,OAAO,CAAC,qBAAqB;IAS7B,IAAW,KAAK,IAAI,CAAC,CAMpB;IAED,OAAO,CAAC,OAAO;IA0Cf,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe,CAAwC;IAE/D,OAAO,CAAC,iBAAiB;IAMlB,UAAU;IAUV,eAAe;IAKf,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC;IAI3C,OAAO,CAAC,kBAAkB;IAMnB,OAAO;CAOjB"}
package/types/ref.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import Dependency from "./dependency.js";
2
2
  import Tracker from "./tracker.js";
3
- export default class Ref<T> extends Tracker<T> implements Dependency<T> {
3
+ export default class Ref<T extends TBase, TBase = T> extends Tracker<T> implements Dependency<T> {
4
4
  private isEqual;
5
- constructor(_value: T, isEqual?: (v1: T, v2: T) => boolean);
5
+ constructor(_value: T, isEqual?: (v1: TBase, v2: TBase) => boolean);
6
6
  set value(_value: T);
7
7
  get value(): T;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,OAAO,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,OAAO,OAAO,GAAG,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,OAAO,CAA2B;gBAE9B,MAAM,EAAE,CAAC,EAAE,OAAO,4BAAoB;IAMlD,IAAW,KAAK,CAAC,MAAM,EAAE,CAAC,EAMzB;IAED,IAAW,KAAK,IAAI,CAAC,CAEpB;CACJ"}
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,OAAO,MAAM,cAAc,CAAC;AAGnC,MAAM,CAAC,OAAO,OAAO,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,GAAG,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,OAAO,CAA+B;gBAElC,MAAM,EAAE,CAAC,EAAE,OAAO,oCAAwB;IAMtD,IAAW,KAAK,CAAC,MAAM,EAAE,CAAC,EAMzB;IAED,IAAW,KAAK,IAAI,CAAC,CAEpB;CACJ"}