async-reactivity 1.0.2 → 2.0.0

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/lib/computed.js CHANGED
@@ -1,9 +1,4 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const tracker_1 = __importDefault(require("./tracker"));
1
+ import Tracker from "./tracker.js";
7
2
  var ComputedState;
8
3
  (function (ComputedState) {
9
4
  ComputedState[ComputedState["Invalid"] = 0] = "Invalid";
@@ -14,7 +9,7 @@ var ComputedState;
14
9
  ;
15
10
  class CircularDependencyError extends Error {
16
11
  }
17
- class Computed extends tracker_1.default {
12
+ export default class Computed extends Tracker {
18
13
  constructor(getter) {
19
14
  super();
20
15
  this.state = ComputedState.Invalid;
@@ -103,9 +98,9 @@ class Computed extends tracker_1.default {
103
98
  }
104
99
  invalidate() {
105
100
  if (this.state === ComputedState.Computing) {
106
- setImmediate(this.compute.bind(this));
101
+ setTimeout(this.compute.bind(this));
107
102
  }
108
- if (this.state !== ComputedState.Uncertain) {
103
+ else if (this.state === ComputedState.Valid) {
109
104
  this.state = ComputedState.Uncertain;
110
105
  super.invalidate();
111
106
  }
@@ -126,4 +121,3 @@ class Computed extends tracker_1.default {
126
121
  this.prepareComputePromise();
127
122
  }
128
123
  }
129
- exports.default = Computed;
package/lib/dependency.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/lib/dependent.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/lib/index.js CHANGED
@@ -1,12 +1,3 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Watcher = exports.Ref = exports.Computed = void 0;
7
- var computed_1 = require("./computed");
8
- Object.defineProperty(exports, "Computed", { enumerable: true, get: function () { return __importDefault(computed_1).default; } });
9
- var ref_1 = require("./ref");
10
- Object.defineProperty(exports, "Ref", { enumerable: true, get: function () { return __importDefault(ref_1).default; } });
11
- var watcher_1 = require("./watcher");
12
- Object.defineProperty(exports, "Watcher", { enumerable: true, get: function () { return __importDefault(watcher_1).default; } });
1
+ export { default as Computed } from './computed.js';
2
+ export { default as Ref } from './ref.js';
3
+ export { default as Watcher } from './watcher.js';
package/lib/index.test.js CHANGED
@@ -1,27 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31,17 +7,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
8
  });
33
9
  };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- const _1 = require("./");
36
- const assert = __importStar(require("assert"));
10
+ import 'mocha';
11
+ import assert from 'assert';
12
+ import { Computed, Ref, Watcher } from './index.js';
37
13
  describe('async reactivity', function () {
38
14
  describe('ref', function () {
39
15
  it('getter', function () {
40
- const a = new _1.Ref(5);
16
+ const a = new Ref(5);
41
17
  assert.strictEqual(a.value, 5);
42
18
  });
43
19
  it('setter', function () {
44
- const a = new _1.Ref(5);
20
+ const a = new Ref(5);
45
21
  a.value = 4;
46
22
  assert.strictEqual(a.value, 4);
47
23
  });
@@ -49,7 +25,7 @@ describe('async reactivity', function () {
49
25
  describe('computed', function () {
50
26
  it('lazy compute', function () {
51
27
  let gate = false;
52
- const a = new _1.Computed(() => {
28
+ const a = new Computed(() => {
53
29
  gate = true;
54
30
  return 5;
55
31
  });
@@ -59,7 +35,7 @@ describe('async reactivity', function () {
59
35
  });
60
36
  it('cache', function () {
61
37
  let gate = false;
62
- const a = new _1.Computed(() => {
38
+ const a = new Computed(() => {
63
39
  gate = true;
64
40
  return 5;
65
41
  });
@@ -69,8 +45,8 @@ describe('async reactivity', function () {
69
45
  assert.strictEqual(gate, false);
70
46
  });
71
47
  it('invalidate dependents', function () {
72
- const a = new _1.Ref(5);
73
- const b = new _1.Computed((value) => {
48
+ const a = new Ref(5);
49
+ const b = new Computed((value) => {
74
50
  return value(a) + 4;
75
51
  });
76
52
  assert.strictEqual(b.value, 9);
@@ -78,10 +54,10 @@ describe('async reactivity', function () {
78
54
  assert.strictEqual(b.value, 10);
79
55
  });
80
56
  it('dependents up-to-date', function () {
81
- const a = new _1.Ref(5);
82
- const b = new _1.Ref(10);
57
+ const a = new Ref(5);
58
+ const b = new Ref(10);
83
59
  let gate;
84
- const c = new _1.Computed((value) => {
60
+ const c = new Computed((value) => {
85
61
  gate = true;
86
62
  return value(a) < 10 ? value(b) : 0;
87
63
  });
@@ -95,11 +71,11 @@ describe('async reactivity', function () {
95
71
  });
96
72
  it('detect circular dependency', function () {
97
73
  // @ts-expect-error
98
- const a = new _1.Computed((value) => {
74
+ const a = new Computed((value) => {
99
75
  return value(b);
100
76
  });
101
77
  // @ts-expect-error
102
- const b = new _1.Computed((value) => {
78
+ const b = new Computed((value) => {
103
79
  return value(a);
104
80
  });
105
81
  assert.throws(() => a.value);
@@ -109,15 +85,15 @@ describe('async reactivity', function () {
109
85
  assert.fail('not implemented');
110
86
  });
111
87
  it('throw error', function () {
112
- const a = new _1.Computed(() => {
88
+ const a = new Computed(() => {
113
89
  throw new Error();
114
90
  });
115
91
  assert.throws(() => a.value);
116
92
  });
117
93
  it('ignore same ref value', function () {
118
94
  let gate = 0;
119
- const a = new _1.Ref(5);
120
- const b = new _1.Computed((value) => {
95
+ const a = new Ref(5);
96
+ const b = new Computed((value) => {
121
97
  gate++;
122
98
  return value(a);
123
99
  });
@@ -128,11 +104,11 @@ describe('async reactivity', function () {
128
104
  });
129
105
  it('ignore same computed value', function () {
130
106
  let gate = 0;
131
- const a = new _1.Ref(5);
132
- const b = new _1.Computed((value) => {
107
+ const a = new Ref(5);
108
+ const b = new Computed((value) => {
133
109
  return value(a) % 2;
134
110
  });
135
- const c = new _1.Computed((value) => {
111
+ const c = new Computed((value) => {
136
112
  gate++;
137
113
  return value(b) + 5;
138
114
  });
@@ -145,7 +121,7 @@ describe('async reactivity', function () {
145
121
  describe('async computed', function () {
146
122
  it('getter', function () {
147
123
  return __awaiter(this, void 0, void 0, function* () {
148
- const a = new _1.Computed(() => __awaiter(this, void 0, void 0, function* () {
124
+ const a = new Computed(() => __awaiter(this, void 0, void 0, function* () {
149
125
  yield new Promise(resolve => setTimeout(resolve));
150
126
  return 5;
151
127
  }));
@@ -154,8 +130,8 @@ describe('async reactivity', function () {
154
130
  });
155
131
  it('tracks async dependencies', function () {
156
132
  return __awaiter(this, void 0, void 0, function* () {
157
- const a = new _1.Ref(5);
158
- const b = new _1.Computed((value) => __awaiter(this, void 0, void 0, function* () {
133
+ const a = new Ref(5);
134
+ const b = new Computed((value) => __awaiter(this, void 0, void 0, function* () {
159
135
  yield new Promise(resolve => setTimeout(resolve));
160
136
  return value(a) + 5;
161
137
  }));
@@ -166,7 +142,7 @@ describe('async reactivity', function () {
166
142
  });
167
143
  it('get value while computing', function () {
168
144
  return __awaiter(this, void 0, void 0, function* () {
169
- const a = new _1.Computed(() => __awaiter(this, void 0, void 0, function* () {
145
+ const a = new Computed(() => __awaiter(this, void 0, void 0, function* () {
170
146
  yield new Promise(resolve => setTimeout(resolve));
171
147
  return 5;
172
148
  }));
@@ -177,12 +153,12 @@ describe('async reactivity', function () {
177
153
  it('detect circular dependency', function () {
178
154
  return __awaiter(this, void 0, void 0, function* () {
179
155
  // @ts-expect-error
180
- const a = new _1.Computed((value) => __awaiter(this, void 0, void 0, function* () {
156
+ const a = new Computed((value) => __awaiter(this, void 0, void 0, function* () {
181
157
  yield new Promise(resolve => setTimeout(resolve));
182
158
  return value(b);
183
159
  }));
184
160
  // @ts-expect-error
185
- const b = new _1.Computed((value) => __awaiter(this, void 0, void 0, function* () {
161
+ const b = new Computed((value) => __awaiter(this, void 0, void 0, function* () {
186
162
  yield new Promise(resolve => setTimeout(resolve));
187
163
  return value(a);
188
164
  }));
@@ -192,8 +168,8 @@ describe('async reactivity', function () {
192
168
  it('old dependency changed while computing', function () {
193
169
  return __awaiter(this, void 0, void 0, function* () {
194
170
  let gate = 0;
195
- const a = new _1.Ref(5);
196
- const b = new _1.Computed((value) => __awaiter(this, void 0, void 0, function* () {
171
+ const a = new Ref(5);
172
+ const b = new Computed((value) => __awaiter(this, void 0, void 0, function* () {
197
173
  gate++;
198
174
  yield new Promise(resolve => setTimeout(resolve));
199
175
  return value(a) + 2;
@@ -209,9 +185,9 @@ describe('async reactivity', function () {
209
185
  it('new dependency changed while computing', function () {
210
186
  return __awaiter(this, void 0, void 0, function* () {
211
187
  let gate = 0;
212
- const a = new _1.Ref(5);
213
- const b = new _1.Ref(10);
214
- const c = new _1.Computed((value) => __awaiter(this, void 0, void 0, function* () {
188
+ const a = new Ref(5);
189
+ const b = new Ref(10);
190
+ const c = new Computed((value) => __awaiter(this, void 0, void 0, function* () {
215
191
  gate++;
216
192
  yield new Promise(resolve => setTimeout(resolve, 50));
217
193
  let sum = value(a);
@@ -230,9 +206,9 @@ describe('async reactivity', function () {
230
206
  });
231
207
  it('fallback to primitive while computing', function () {
232
208
  return __awaiter(this, void 0, void 0, function* () {
233
- const a = new _1.Ref(5);
234
- const b = new _1.Ref(10);
235
- const c = new _1.Computed((value) => __awaiter(this, void 0, void 0, function* () {
209
+ const a = new Ref(5);
210
+ const b = new Ref(10);
211
+ const c = new Computed((value) => __awaiter(this, void 0, void 0, function* () {
236
212
  if (value(a) < 10) {
237
213
  yield new Promise(resolve => setTimeout(resolve, 50));
238
214
  return value(b) + 5;
@@ -247,7 +223,7 @@ describe('async reactivity', function () {
247
223
  });
248
224
  it('throw error', function () {
249
225
  return __awaiter(this, void 0, void 0, function* () {
250
- const a = new _1.Computed(() => __awaiter(this, void 0, void 0, function* () {
226
+ const a = new Computed(() => __awaiter(this, void 0, void 0, function* () {
251
227
  yield new Promise(resolve => setTimeout(resolve));
252
228
  throw new Error();
253
229
  }));
@@ -256,25 +232,24 @@ describe('async reactivity', function () {
256
232
  });
257
233
  it('dispose computed', function () {
258
234
  return __awaiter(this, void 0, void 0, function* () {
259
- const a = new _1.Ref(5);
235
+ const a = new Ref(5);
260
236
  let gate = 0;
261
- const b = new _1.Computed(value => {
237
+ const b = new Computed(value => {
262
238
  gate++;
263
239
  return value(a) + 2;
264
240
  });
265
241
  b.value;
266
242
  assert.strictEqual(gate, 1);
267
243
  b.dispose();
268
- a.value = 6;
269
244
  b.value;
270
- assert.strictEqual(gate, 1);
245
+ assert.strictEqual(gate, 2);
271
246
  });
272
247
  });
273
248
  });
274
249
  describe('watcher', function () {
275
250
  it('sync', function () {
276
- const a = new _1.Ref(5);
277
- new _1.Watcher(a, (newValue, oldValue) => {
251
+ const a = new Ref(5);
252
+ new Watcher(a, (newValue, oldValue) => {
278
253
  assert.strictEqual(oldValue, 5);
279
254
  assert.strictEqual(newValue, 6);
280
255
  }, false);
@@ -282,22 +257,22 @@ describe('async reactivity', function () {
282
257
  });
283
258
  it('async', function () {
284
259
  return __awaiter(this, void 0, void 0, function* () {
285
- const a = new _1.Computed(() => __awaiter(this, void 0, void 0, function* () {
260
+ const a = new Computed(() => __awaiter(this, void 0, void 0, function* () {
286
261
  yield new Promise(resolve => setTimeout(resolve));
287
262
  return 10;
288
263
  }));
289
- const result = yield new Promise(resolve => new _1.Watcher(a, resolve));
264
+ const result = yield new Promise(resolve => new Watcher(a, resolve));
290
265
  assert.strictEqual(result, 10);
291
266
  });
292
267
  });
293
268
  it('sync cancel', function () {
294
269
  return __awaiter(this, void 0, void 0, function* () {
295
- const a = new _1.Ref(5);
296
- const b = new _1.Computed((value) => {
270
+ const a = new Ref(5);
271
+ const b = new Computed((value) => {
297
272
  return value(a) % 2;
298
273
  });
299
274
  let gate = 0;
300
- new _1.Watcher(b, () => {
275
+ new Watcher(b, () => {
301
276
  gate++;
302
277
  }, false);
303
278
  a.value = 6;
@@ -310,13 +285,13 @@ describe('async reactivity', function () {
310
285
  });
311
286
  it('async sync cancel', function () {
312
287
  return __awaiter(this, void 0, void 0, function* () {
313
- const a = new _1.Ref(5);
314
- const b = new _1.Computed((value) => __awaiter(this, void 0, void 0, function* () {
288
+ const a = new Ref(5);
289
+ const b = new Computed((value) => __awaiter(this, void 0, void 0, function* () {
315
290
  new Promise(resolve => setTimeout(resolve));
316
291
  return value(a) % 2;
317
292
  }));
318
293
  let gate = 0;
319
- new _1.Watcher(b, () => {
294
+ new Watcher(b, () => {
320
295
  gate++;
321
296
  }, false);
322
297
  yield new Promise(resolve => setTimeout(resolve, 10));
package/lib/ref.js CHANGED
@@ -1,10 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const tracker_1 = __importDefault(require("./tracker"));
7
- class Ref extends tracker_1.default {
1
+ import Tracker from "./tracker.js";
2
+ export default class Ref extends Tracker {
8
3
  constructor(_value) {
9
4
  super();
10
5
  this._value = _value;
@@ -20,4 +15,3 @@ class Ref extends tracker_1.default {
20
15
  return super.value;
21
16
  }
22
17
  }
23
- exports.default = Ref;
package/lib/tracker.js CHANGED
@@ -1,6 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class Tracker {
1
+ export default class Tracker {
4
2
  constructor() {
5
3
  this.dependents = new Set();
6
4
  }
@@ -19,4 +17,3 @@ class Tracker {
19
17
  return this._value;
20
18
  }
21
19
  }
22
- exports.default = Tracker;
package/lib/watcher.js CHANGED
@@ -1,16 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const tracker_1 = __importDefault(require("./tracker"));
1
+ import Tracker from "./tracker.js";
7
2
  var WatchState;
8
3
  (function (WatchState) {
9
4
  WatchState[WatchState["Uncertain"] = 0] = "Uncertain";
10
5
  WatchState[WatchState["Valid"] = 1] = "Valid";
11
6
  })(WatchState || (WatchState = {}));
12
7
  ;
13
- class Watcher extends tracker_1.default {
8
+ export default class Watcher extends Tracker {
14
9
  constructor(dependency, onChange, immediate = true) {
15
10
  super();
16
11
  this.state = WatchState.Valid;
@@ -38,4 +33,3 @@ class Watcher extends tracker_1.default {
38
33
  this.dependency.removeDependent(this);
39
34
  }
40
35
  }
41
- exports.default = Watcher;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "async-reactivity",
3
- "version": "1.0.2",
3
+ "version": "2.0.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",
@@ -9,9 +9,10 @@
9
9
  "src",
10
10
  "types"
11
11
  ],
12
+ "type": "module",
12
13
  "scripts": {
13
14
  "dev": "npx tsc -w -p src",
14
- "test-dev": "mocha --watch \"./{,!(node_modules)/**/}*.test.js\""
15
+ "test": "mocha \"./{,!(node_modules)/**/}*.test.js\""
15
16
  },
16
17
  "author": "Donatas Lučiūnas",
17
18
  "license": "ISC",
package/src/computed.ts CHANGED
@@ -1,6 +1,6 @@
1
- import Dependency from "./dependency";
2
- import Dependent from "./dependent";
3
- import Tracker from "./tracker";
1
+ import Dependency from "./dependency.js";
2
+ import Dependent from "./dependent.js";
3
+ import Tracker from "./tracker.js";
4
4
 
5
5
  declare type TrackValue = <T>(dependency: Dependency<T>) => T;
6
6
  export declare type ComputeFunc<T> = (value: TrackValue) => T;
@@ -121,8 +121,8 @@ export default class Computed<T> extends Tracker<T> implements Dependent, Depend
121
121
 
122
122
  public invalidate() {
123
123
  if (this.state === ComputedState.Computing) {
124
- setImmediate(this.compute.bind(this));
125
- } if (this.state !== ComputedState.Uncertain) {
124
+ setTimeout(this.compute.bind(this));
125
+ } else if (this.state === ComputedState.Valid) {
126
126
  this.state = ComputedState.Uncertain;
127
127
  super.invalidate();
128
128
  }
package/src/dependency.ts CHANGED
@@ -1,4 +1,4 @@
1
- import Dependent from "./dependent";
1
+ import Dependent from "./dependent.js";
2
2
 
3
3
  export default interface Dependency<T> {
4
4
  get value(): T;
package/src/dependent.ts CHANGED
@@ -1,4 +1,4 @@
1
- import Dependency from "./dependency";
1
+ import Dependency from "./dependency.js";
2
2
 
3
3
  export default interface Dependent {
4
4
  invalidate(): void;
package/src/index.test.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { Computed, Ref, Watcher } from './';
2
- import * as assert from 'assert';
1
+ import 'mocha';
2
+ import assert from 'assert';
3
+ import { Computed, Ref, Watcher } from './index.js';
3
4
 
4
5
  describe('async reactivity', function () {
5
6
  describe('ref', function () {
@@ -243,9 +244,8 @@ describe('async reactivity', function () {
243
244
  b.value;
244
245
  assert.strictEqual(gate, 1);
245
246
  b.dispose();
246
- a.value = 6;
247
247
  b.value;
248
- assert.strictEqual(gate, 1);
248
+ assert.strictEqual(gate, 2);
249
249
  });
250
250
  });
251
251
 
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { default as Computed, ComputeFunc, ComputeFuncScoped } from './computed';
2
- export { default as Ref } from './ref';
3
- export { default as Watcher } from './watcher';
4
- export { default as Dependency } from './dependency';
5
- export { default as Dependent } from './dependent';
1
+ export { default as Computed, ComputeFunc, ComputeFuncScoped } from './computed.js';
2
+ export { default as Ref } from './ref.js';
3
+ export { default as Watcher } from './watcher.js';
4
+ export { default as Dependency } from './dependency.js';
5
+ export { default as Dependent } from './dependent.js';
package/src/ref.ts CHANGED
@@ -1,5 +1,5 @@
1
- import Dependency from "./dependency";
2
- import Tracker from "./tracker";
1
+ import Dependency from "./dependency.js";
2
+ import Tracker from "./tracker.js";
3
3
 
4
4
  export default class Ref<T> extends Tracker<T> implements Dependency<T> {
5
5
 
package/src/tracker.ts CHANGED
@@ -1,5 +1,5 @@
1
- import Computed from "./computed";
2
- import Watcher from "./watcher";
1
+ import Computed from "./computed.js";
2
+ import Watcher from "./watcher.js";
3
3
 
4
4
  type Dependent = Computed<any> | Watcher<any>;
5
5
 
package/src/tsconfig.json CHANGED
@@ -22,9 +22,9 @@
22
22
  // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
23
23
  // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
24
24
  /* Modules */
25
- "module": "commonjs", /* Specify what module code is generated. */
25
+ "module": "ES2022", /* Specify what module code is generated. */
26
26
  // "rootDir": "./", /* Specify the root folder within your source files. */
27
- // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
27
+ "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
28
28
  // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
29
29
  // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
30
30
  // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
package/src/watcher.ts CHANGED
@@ -1,6 +1,6 @@
1
- import Dependency from "./dependency";
2
- import Dependent from "./dependent";
3
- import Tracker from "./tracker";
1
+ import Dependency from "./dependency.js";
2
+ import Dependent from "./dependent.js";
3
+ import Tracker from "./tracker.js";
4
4
 
5
5
  enum WatchState {
6
6
  Uncertain,
@@ -1,6 +1,6 @@
1
- import Dependency from "./dependency";
2
- import Dependent from "./dependent";
3
- import Tracker from "./tracker";
1
+ import Dependency from "./dependency.js";
2
+ import Dependent from "./dependent.js";
3
+ import Tracker from "./tracker.js";
4
4
  declare type TrackValue = <T>(dependency: Dependency<T>) => T;
5
5
  export declare type ComputeFunc<T> = (value: TrackValue) => T;
6
6
  export declare type ComputeFuncScoped<T1, T2> = (value: TrackValue, scope: T1) => T2;
@@ -1 +1 @@
1
- {"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../src/computed.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,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,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;IAMlC,OAAO,CAAC,qBAAqB;IAS7B,IAAW,KAAK,IAAI,CAAC,CAMpB;IAED,OAAO,CAAC,OAAO;IAmCf,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;IASV,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;AAEnC,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,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;IAMlC,OAAO,CAAC,qBAAqB;IAS7B,IAAW,KAAK,IAAI,CAAC,CAMpB;IAED,OAAO,CAAC,OAAO;IAmCf,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;IASV,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC;IAI3C,OAAO,CAAC,kBAAkB;IAMnB,OAAO;CAOjB"}
@@ -1,4 +1,4 @@
1
- import Dependent from "./dependent";
1
+ import Dependent from "./dependent.js";
2
2
  export default interface Dependency<T> {
3
3
  get value(): T;
4
4
  addDependent(dependent: Dependent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"dependency.d.ts","sourceRoot":"","sources":["../src/dependency.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC,CAAC;IACf,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC/C"}
1
+ {"version":3,"file":"dependency.d.ts","sourceRoot":"","sources":["../src/dependency.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC,CAAC;IACf,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC/C"}
@@ -1,4 +1,4 @@
1
- import Dependency from "./dependency";
1
+ import Dependency from "./dependency.js";
2
2
  export default interface Dependent {
3
3
  invalidate(): void;
4
4
  validate(dependency: Dependency<any>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"dependent.d.ts","sourceRoot":"","sources":["../src/dependent.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,WAAW,SAAS;IAC9B,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACnB"}
1
+ {"version":3,"file":"dependent.d.ts","sourceRoot":"","sources":["../src/dependent.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,OAAO,WAAW,SAAS;IAC9B,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC;CACnB"}
package/types/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { default as Computed, ComputeFunc, ComputeFuncScoped } from './computed';
2
- export { default as Ref } from './ref';
3
- export { default as Watcher } from './watcher';
4
- export { default as Dependency } from './dependency';
5
- export { default as Dependent } from './dependent';
1
+ export { default as Computed, ComputeFunc, ComputeFuncScoped } from './computed.js';
2
+ export { default as Ref } from './ref.js';
3
+ export { default as Watcher } from './watcher.js';
4
+ export { default as Dependency } from './dependency.js';
5
+ export { default as Dependent } from './dependent.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,2 +1,2 @@
1
- export {};
1
+ import 'mocha';
2
2
  //# sourceMappingURL=index.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,CAAC"}
package/types/ref.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import Dependency from "./dependency";
2
- import Tracker from "./tracker";
1
+ import Dependency from "./dependency.js";
2
+ import Tracker from "./tracker.js";
3
3
  export default class Ref<T> extends Tracker<T> implements Dependency<T> {
4
4
  constructor(_value: T);
5
5
  set value(_value: T);
@@ -1 +1 @@
1
- {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,GAAG,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;gBAEvD,MAAM,EAAE,CAAC;IAKrB,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;AAEnC,MAAM,CAAC,OAAO,OAAO,GAAG,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;gBAEvD,MAAM,EAAE,CAAC;IAKrB,IAAW,KAAK,CAAC,MAAM,EAAE,CAAC,EAMzB;IAED,IAAW,KAAK,IAAI,CAAC,CAEpB;CACJ"}
@@ -1,6 +1,6 @@
1
- import Computed from "./computed";
2
- import Watcher from "./watcher";
3
- declare type Dependent = Computed<any> | Watcher<any>;
1
+ import Computed from "./computed.js";
2
+ import Watcher from "./watcher.js";
3
+ type Dependent = Computed<any> | Watcher<any>;
4
4
  export default class Tracker<T> {
5
5
  protected dependents: Set<Dependent>;
6
6
  protected _value?: T;
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,aAAK,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,CAAC;IAC1B,SAAS,CAAC,UAAU,iBAAwB;IAC5C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEd,YAAY,CAAC,SAAS,EAAE,SAAS;IAIjC,eAAe,CAAC,SAAS,EAAE,SAAS;IAIpC,UAAU,IAAI,IAAI;IAMzB,IAAW,KAAK,kBAEf;CACJ"}
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,KAAK,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,CAAC;IAC1B,SAAS,CAAC,UAAU,iBAAwB;IAC5C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEd,YAAY,CAAC,SAAS,EAAE,SAAS;IAIjC,eAAe,CAAC,SAAS,EAAE,SAAS;IAIpC,UAAU,IAAI,IAAI;IAMzB,IAAW,KAAK,kBAEf;CACJ"}
@@ -1,7 +1,7 @@
1
- import Dependency from "./dependency";
2
- import Dependent from "./dependent";
3
- import Tracker from "./tracker";
4
- declare type onChangeFunc<T> = (newValue: T, oldValue?: T) => void;
1
+ import Dependency from "./dependency.js";
2
+ import Dependent from "./dependent.js";
3
+ import Tracker from "./tracker.js";
4
+ type onChangeFunc<T> = (newValue: T, oldValue?: T) => void;
5
5
  export default class Watcher<T> extends Tracker<T> implements Dependent {
6
6
  private onChange;
7
7
  private dependency;
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,OAAO,MAAM,WAAW,CAAC;AAOhC,aAAK,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,SAAS;IAEnE,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,KAAK,CAAoB;gBAErB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,OAAc;IAYpF,UAAU;IAUV,QAAQ;IAIR,OAAO;CAGjB"}
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,OAAO,MAAM,cAAc,CAAC;AAOnC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAE,YAAW,SAAS;IAEnE,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,KAAK,CAAoB;gBAErB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,OAAc;IAYpF,UAAU;IAUV,QAAQ;IAIR,OAAO;CAGjB"}