1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | class ActionSubscription {
|
4 | constructor(action) {
|
5 | this.isUnsubscribed = false;
|
6 | this._action = action;
|
7 | }
|
8 | unsubscribe() {
|
9 | if (!this.isUnsubscribed) {
|
10 | this.isUnsubscribed = true;
|
11 | this._action();
|
12 | }
|
13 | }
|
14 | }
|
15 | class DefaultScheduler {
|
16 | get now() {
|
17 | return Date.now();
|
18 | }
|
19 | delay(dueTime) {
|
20 | return new Promise(res => setTimeout(res, dueTime));
|
21 | }
|
22 | schedule(action, dueTime) {
|
23 | const id = setTimeout(() => action(), dueTime);
|
24 | return new ActionSubscription(() => clearTimeout(id));
|
25 | }
|
26 | }
|
27 | exports.DefaultScheduler = DefaultScheduler;
|
28 |
|
29 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjaGVkdWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBO0lBSUUsWUFBWSxNQUFrQjtRQUh2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUk1QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRDtJQUNFLElBQUksR0FBRztRQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFlO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWtCLEVBQUUsT0FBZTtRQUMxQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxDQUFDLElBQUksa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGO0FBYkQsNENBYUMiLCJmaWxlIjoic2NoZWR1bGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9zdWJzY3JpcHRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlciB7XG4gIHJlYWRvbmx5IG5vdzogbnVtYmVyO1xuICBkZWxheSh0aW1lOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+O1xuICBzY2hlZHVsZShhY3Rpb246ICgpID0+IHZvaWQsIGR1ZVRpbWU6IG51bWJlcik6IFN1YnNjcmlwdGlvbjtcbn1cblxuY2xhc3MgQWN0aW9uU3Vic2NyaXB0aW9uIGltcGxlbWVudHMgU3Vic2NyaXB0aW9uIHtcbiAgcHVibGljIGlzVW5zdWJzY3JpYmVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2FjdGlvbjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihhY3Rpb246ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLl9hY3Rpb24gPSBhY3Rpb247XG4gIH1cblxuICB1bnN1YnNjcmliZSgpIHtcbiAgICBpZiAoIXRoaXMuaXNVbnN1YnNjcmliZWQpIHtcbiAgICAgIHRoaXMuaXNVbnN1YnNjcmliZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fYWN0aW9uKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0U2NoZWR1bGVyIGltcGxlbWVudHMgU2NoZWR1bGVyIHtcbiAgZ2V0IG5vdygpIHtcbiAgICByZXR1cm4gRGF0ZS5ub3coKTtcbiAgfVxuXG4gIGRlbGF5KGR1ZVRpbWU6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXMgPT4gc2V0VGltZW91dChyZXMsIGR1ZVRpbWUpKTtcbiAgfVxuXG4gIHNjaGVkdWxlKGFjdGlvbjogKCkgPT4gdm9pZCwgZHVlVGltZTogbnVtYmVyKTogU3Vic2NyaXB0aW9uIHtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gYWN0aW9uKCksIGR1ZVRpbWUpO1xuICAgIHJldHVybiBuZXcgQWN0aW9uU3Vic2NyaXB0aW9uKCgpID0+IGNsZWFyVGltZW91dChpZCkpO1xuICB9XG59XG4iXX0=
|