@mrpelz/observable 3.0.2 → 3.1.1
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/dist/timer.d.ts +2 -2
- package/dist/timer.d.ts.map +1 -1
- package/dist/timer.js +12 -4
- package/dist/timer.js.map +1 -1
- package/package.json +1 -1
package/dist/timer.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AnyReadOnlyObservable, ReadOnlyProxyObservable } from './main.js';
|
|
1
|
+
import { AnyReadOnlyObservable, Observable, ReadOnlyProxyObservable } from './main.js';
|
|
2
2
|
import { BooleanState, NullState } from './state.js';
|
|
3
3
|
export declare class Timer extends NullState {
|
|
4
|
-
private readonly _time;
|
|
5
4
|
private _timeout;
|
|
6
5
|
private readonly _triggerTime;
|
|
7
6
|
readonly isEnabled: BooleanState;
|
|
8
7
|
readonly runoutTime: ReadOnlyProxyObservable<number | null>;
|
|
8
|
+
readonly time: Observable<number>;
|
|
9
9
|
constructor(time?: number, enableFromStart?: boolean);
|
|
10
10
|
get isActive(): AnyReadOnlyObservable<boolean>;
|
|
11
11
|
get triggerTime(): AnyReadOnlyObservable<number | null>;
|
package/dist/timer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../src/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../src/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,UAAU,EAEV,uBAAuB,EACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAErD,qBAAa,KAAM,SAAQ,SAAS;IAClC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAEpE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAEtB,IAAI,SAAI,EAAE,eAAe,UAAO;IAyB5C,IAAI,QAAQ,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAE7C;IAED,IAAI,WAAW,IAAI,qBAAqB,CAAC,MAAM,GAAG,IAAI,CAAC,CAEtD;IAED,OAAO,CAAC,WAAW;IAKnB,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;IAId,KAAK,CAAC,OAAO,UAAO,GAAG,IAAI;IAW3B,IAAI,IAAI,IAAI;CAOb"}
|
package/dist/timer.js
CHANGED
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
import { Observable, ReadOnlyObservable, ReadOnlyProxyObservable, } from './main.js';
|
|
2
2
|
import { BooleanState, NullState } from './state.js';
|
|
3
3
|
export class Timer extends NullState {
|
|
4
|
-
_time;
|
|
5
4
|
_timeout;
|
|
6
5
|
_triggerTime = new Observable(null);
|
|
7
6
|
isEnabled;
|
|
8
7
|
runoutTime;
|
|
8
|
+
time;
|
|
9
9
|
constructor(time = 0, enableFromStart = true) {
|
|
10
10
|
super();
|
|
11
|
-
this._time = time;
|
|
12
11
|
this.isEnabled = new BooleanState(enableFromStart, (enabled) => {
|
|
13
12
|
if (enabled)
|
|
14
13
|
return;
|
|
15
14
|
this.stop();
|
|
16
15
|
});
|
|
16
|
+
this.time = new Observable(time, (_, changed) => {
|
|
17
|
+
if (!changed)
|
|
18
|
+
return;
|
|
19
|
+
if (!this.isActive.value)
|
|
20
|
+
return;
|
|
21
|
+
this.start();
|
|
22
|
+
});
|
|
17
23
|
this.runoutTime = new ReadOnlyProxyObservable(this._triggerTime, (value) => {
|
|
18
24
|
if (value === null)
|
|
19
25
|
return null;
|
|
20
|
-
return value + this.
|
|
26
|
+
return value + this.time.value;
|
|
21
27
|
});
|
|
22
28
|
}
|
|
23
29
|
get isActive() {
|
|
@@ -37,12 +43,14 @@ export class Timer extends NullState {
|
|
|
37
43
|
this.isEnabled.value = true;
|
|
38
44
|
}
|
|
39
45
|
start(restart = true) {
|
|
46
|
+
if (!this.time.value)
|
|
47
|
+
return;
|
|
40
48
|
if (!this.isEnabled.value)
|
|
41
49
|
return;
|
|
42
50
|
if (this._timeout && !restart)
|
|
43
51
|
return;
|
|
44
52
|
this.stop();
|
|
45
|
-
this._timeout = setTimeout(() => this._handleFire(), this.
|
|
53
|
+
this._timeout = setTimeout(() => this._handleFire(), this.time.value);
|
|
46
54
|
this._triggerTime.value = Date.now();
|
|
47
55
|
}
|
|
48
56
|
stop() {
|
package/dist/timer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../src/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,OAAO,KAAM,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../src/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,OAAO,KAAM,SAAQ,SAAS;IAC1B,QAAQ,CAAwB;IACvB,YAAY,GAAG,IAAI,UAAU,CAAgB,IAAI,CAAC,CAAC;IAE3D,SAAS,CAAe;IACxB,UAAU,CAAyC;IACnD,IAAI,CAAqB;IAElC,YAAY,IAAI,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI;QAC1C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7D,IAAI,OAAO;gBAAE,OAAO;YAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAAE,OAAO;YAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAuB,CAC3C,IAAI,CAAC,YAAY,EACjB,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAChC,OAAO,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,GAAG,IAAI;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAAE,OAAO;QAClC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,OAAO;QAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;IACjC,CAAC;CACF"}
|