Big News: Socket Selected for OpenAI's Cybersecurity Grant Program.Details
Socket
Book a DemoSign in
Socket

@most/scheduler

Package Overview
Dependencies
Maintainers
4
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@most/scheduler - npm Package Compare versions

Comparing version
0.7.0
to
0.7.1
+12
-12
dist/index.es.js

@@ -373,9 +373,9 @@ /** @license MIT License (c) copyright 2010-2016 original author or authors */

var MillisecondClock = function MillisecondClock (now, origin) {
var RelativeClock = function RelativeClock (clock, origin) {
this.origin = origin;
this._now = now;
this.clock = clock;
};
MillisecondClock.prototype.now = function now () {
return this._now() - this.origin
RelativeClock.prototype.now = function now () {
return this.clock.now() - this.origin
};

@@ -385,15 +385,15 @@

this.origin = origin;
this._hrtime = hrtime;
this.hrtime = hrtime;
};
HRTimeClock.prototype.now = function now () {
var hrt = this._hrtime(this.origin);
var hrt = this.hrtime(this.origin);
return (hrt[0] * 1e9 + hrt[1]) / 1e6
};
var millisecondClockFromNow = function (now) { return new MillisecondClock(now, now()); };
var clockRelativeTo = function (clock) { return new RelativeClock(clock, clock.now()); };
var newPerformanceNowClock = function () { return millisecondClockFromNow(performance.now); };
var newPerformanceClock = function () { return clockRelativeTo(performance); };
var newDateNowClock = function () { return millisecondClockFromNow(Date.now); };
var newDateClock = function () { return clockRelativeTo(Date); };

@@ -404,3 +404,3 @@ var newHRTimeClock = function () { return new HRTimeClock(process.hrtime, process.hrtime()); };

if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
return newPerformanceNowClock()
return newPerformanceClock()
} else if (typeof process !== 'undefined' && typeof process.hrtime === 'function') {

@@ -410,3 +410,3 @@ return newHRTimeClock()

return newDateNowClock()
return newDateClock()
};

@@ -425,3 +425,3 @@

export { newScheduler, newDefaultScheduler, newDefaultTimer, newClockTimer, newTimeline, MillisecondClock, HRTimeClock, millisecondClockFromNow, newPerformanceNowClock, newDateNowClock, newHRTimeClock, newPlatformClock };
export { newScheduler, newDefaultScheduler, newDefaultTimer, newClockTimer, newTimeline, RelativeClock, HRTimeClock, clockRelativeTo, newPerformanceClock, newDateClock, newHRTimeClock, newPlatformClock };
//# sourceMappingURL=index.es.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.es.js","sources":["../node_modules/@most/prelude/dist/index.es.js","../src/ScheduledTask.js","../src/task.js","../src/Scheduler.js","../src/Timeline.js","../src/ClockTimer.js","../src/clock.js","../src/index.js"],"sourcesContent":["/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // Non-mutating array operations\n\n // cons :: a -> [a] -> [a]\n // a with x prepended\n function cons (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n b[0] = x\n for (var i = 0; i < l; ++i) {\n b[i + 1] = a[i]\n }\n return b\n }\n\n // append :: a -> [a] -> [a]\n // a with x appended\n function append (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n\n b[l] = x\n return b\n }\n\n // drop :: Int -> [a] -> [a]\n // drop first n elements\n function drop (n, a) { // eslint-disable-line complexity\n if (n < 0) {\n throw new TypeError('n must be >= 0')\n }\n\n var l = a.length\n if (n === 0 || l === 0) {\n return a\n }\n\n if (n >= l) {\n return []\n }\n\n return unsafeDrop(n, a, l - n)\n }\n\n // unsafeDrop :: Int -> [a] -> Int -> [a]\n // Internal helper for drop\n function unsafeDrop (n, a, l) {\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[n + i]\n }\n return b\n }\n\n // tail :: [a] -> [a]\n // drop head element\n function tail (a) {\n return drop(1, a)\n }\n\n // copy :: [a] -> [a]\n // duplicate a (shallow duplication)\n function copy (a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n return b\n }\n\n // map :: (a -> b) -> [a] -> [b]\n // transform each element with f\n function map (f, a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = f(a[i])\n }\n return b\n }\n\n // reduce :: (a -> b -> a) -> a -> [b] -> a\n // accumulate via left-fold\n function reduce (f, z, a) {\n var r = z\n for (var i = 0, l = a.length; i < l; ++i) {\n r = f(r, a[i], i)\n }\n return r\n }\n\n // replace :: a -> Int -> [a]\n // replace element at index\n function replace (x, i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n var b = new Array(l)\n for (var j = 0; j < l; ++j) {\n b[j] = i === j ? x : a[j]\n }\n return b\n }\n\n // remove :: Int -> [a] -> [a]\n // remove element at index\n function remove (i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n if (l === 0 || i >= l) { // exit early if index beyond end of array\n return a\n }\n\n if (l === 1) { // exit early if index in bounds and length === 1\n return []\n }\n\n return unsafeRemove(i, a, l - 1)\n }\n\n // unsafeRemove :: Int -> [a] -> Int -> [a]\n // Internal helper to remove element at index\n function unsafeRemove (i, a, l) {\n var b = new Array(l)\n var j\n for (j = 0; j < i; ++j) {\n b[j] = a[j]\n }\n for (j = i; j < l; ++j) {\n b[j] = a[j + 1]\n }\n\n return b\n }\n\n // removeAll :: (a -> boolean) -> [a] -> [a]\n // remove all elements matching a predicate\n function removeAll (f, a) {\n var l = a.length\n var b = new Array(l)\n var j = 0\n for (var x, i = 0; i < l; ++i) {\n x = a[i]\n if (!f(x)) {\n b[j] = x\n ++j\n }\n }\n\n b.length = j\n return b\n }\n\n // findIndex :: a -> [a] -> Int\n // find index of x in a, from the left\n function findIndex (x, a) {\n for (var i = 0, l = a.length; i < l; ++i) {\n if (x === a[i]) {\n return i\n }\n }\n return -1\n }\n\n // isArrayLike :: * -> boolean\n // Return true iff x is array-like\n function isArrayLike (x) {\n return x != null && typeof x.length === 'number' && typeof x !== 'function'\n }\n\n/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // id :: a -> a\n var id = function (x) { return x; }\n\n // compose :: (b -> c) -> (a -> b) -> (a -> c)\n var compose = function (f, g) { return function (x) { return f(g(x)); }; }\n\n // apply :: (a -> b) -> a -> b\n var apply = function (f, x) { return f(x); }\n\n // curry2 :: ((a, b) -> c) -> (a -> b -> c)\n function curry2 (f) {\n function curried (a, b) {\n switch (arguments.length) {\n case 0: return curried\n case 1: return function (b) { return f(a, b); }\n default: return f(a, b)\n }\n }\n return curried\n }\n\n // curry3 :: ((a, b, c) -> d) -> (a -> b -> c -> d)\n function curry3 (f) {\n function curried (a, b, c) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry2(function (b, c) { return f(a, b, c); })\n case 2: return function (c) { return f(a, b, c); }\n default:return f(a, b, c)\n }\n }\n return curried\n }\n\n // curry4 :: ((a, b, c, d) -> e) -> (a -> b -> c -> d -> e)\n function curry4 (f) {\n function curried (a, b, c, d) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry3(function (b, c, d) { return f(a, b, c, d); })\n case 2: return curry2(function (c, d) { return f(a, b, c, d); })\n case 3: return function (d) { return f(a, b, c, d); }\n default:return f(a, b, c, d)\n }\n }\n return curried\n }\n\nexport { cons, append, drop, tail, copy, map, reduce, replace, remove, removeAll, findIndex, isArrayLike, id, compose, apply, curry2, curry3, curry4 };\n//# sourceMappingURL=index.es.js.map\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport default function ScheduledTask (delay, period, task, scheduler) {\n this.time = delay\n this.period = period\n this.task = task\n this.scheduler = scheduler\n this.active = true\n}\n\nScheduledTask.prototype.run = function () {\n return this.task.run(this.time)\n}\n\nScheduledTask.prototype.error = function (e) {\n return this.task.error(this.time, e)\n}\n\nScheduledTask.prototype.dispose = function () {\n this.scheduler.cancel(this)\n return this.task.dispose()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport const defer = task =>\n Promise.resolve(task).then(runTask)\n\nexport function runTask (task) {\n try {\n return task.run()\n } catch (e) {\n return task.error(e)\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport ScheduledTask from './ScheduledTask'\nimport { runTask } from './task'\n\nexport default class Scheduler {\n constructor (timer, timeline) {\n this.timer = timer\n this.timeline = timeline\n\n this._timer = null\n this._nextArrival = Infinity\n\n this._runReadyTasksBound = () => this._runReadyTasks(this.now())\n }\n\n now () {\n return this.timer.now()\n }\n\n asap (task) {\n return this.schedule(0, -1, task)\n }\n\n delay (delay, task) {\n return this.schedule(delay, -1, task)\n }\n\n periodic (period, task) {\n return this.schedule(0, period, task)\n }\n\n schedule (delay, period, task) {\n const now = this.now()\n const st = new ScheduledTask(now + Math.max(0, delay), period, task, this)\n\n this.timeline.add(st)\n this._scheduleNextRun(now)\n return st\n }\n\n cancel (task) {\n task.active = false\n if (this.timeline.remove(task)) {\n this._reschedule()\n }\n }\n\n cancelAll (f) {\n this.timeline.removeAll(f)\n this._reschedule()\n }\n\n _reschedule () {\n if (this.timeline.isEmpty()) {\n this._unschedule()\n } else {\n this._scheduleNextRun(this.now())\n }\n }\n\n _unschedule () {\n this.timer.clearTimer(this._timer)\n this._timer = null\n }\n\n _scheduleNextRun (now) { // eslint-disable-line complexity\n if (this.timeline.isEmpty()) {\n return\n }\n\n const nextArrival = this.timeline.nextArrival()\n\n if (this._timer === null) {\n this._scheduleNextArrival(nextArrival, now)\n } else if (nextArrival < this._nextArrival) {\n this._unschedule()\n this._scheduleNextArrival(nextArrival, now)\n }\n }\n\n _scheduleNextArrival (nextArrival, now) {\n this._nextArrival = nextArrival\n const delay = Math.max(0, nextArrival - now)\n this._timer = this.timer.setTimer(this._runReadyTasksBound, delay)\n }\n\n _runReadyTasks (now) {\n this._timer = null\n this.timeline.runTasks(now, runTask)\n this._scheduleNextRun(this.now())\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { findIndex, removeAll } from '@most/prelude'\n\nexport default class Timeline {\n constructor () {\n this.tasks = []\n }\n\n nextArrival () {\n return this.isEmpty() ? Infinity : this.tasks[0].time\n }\n\n isEmpty () {\n return this.tasks.length === 0\n }\n\n add (st) {\n insertByTime(st, this.tasks)\n }\n\n remove (st) {\n const i = binarySearch(getTime(st), this.tasks)\n\n if (i >= 0 && i < this.tasks.length) {\n const at = findIndex(st, this.tasks[i].events)\n if (at >= 0) {\n this.tasks[i].events.splice(at, 1)\n return true\n }\n }\n\n return false\n }\n\n removeAll (f) {\n for (let i = 0; i < this.tasks.length; ++i) {\n removeAllFrom(f, this.tasks[i])\n }\n }\n\n runTasks (t, runTask) {\n const tasks = this.tasks\n const l = tasks.length\n let i = 0\n\n while (i < l && tasks[i].time <= t) {\n ++i\n }\n\n this.tasks = tasks.slice(i)\n\n // Run all ready tasks\n for (let j = 0; j < i; ++j) {\n this.tasks = runReadyTasks(runTask, tasks[j].events, this.tasks)\n }\n }\n}\n\nfunction runReadyTasks (runTask, events, tasks) { // eslint-disable-line complexity\n for (let i = 0; i < events.length; ++i) {\n const task = events[i]\n\n if (task.active) {\n runTask(task)\n\n // Reschedule periodic repeating tasks\n // Check active again, since a task may have canceled itself\n if (task.period >= 0 && task.active) {\n task.time = task.time + task.period\n insertByTime(task, tasks)\n }\n }\n }\n\n return tasks\n}\n\nfunction insertByTime (task, timeslots) {\n const l = timeslots.length\n const time = getTime(task)\n\n if (l === 0) {\n timeslots.push(newTimeslot(time, [task]))\n return\n }\n\n const i = binarySearch(time, timeslots)\n\n if (i >= l) {\n timeslots.push(newTimeslot(time, [task]))\n } else {\n insertAtTimeslot(task, timeslots, time, i)\n }\n}\n\nfunction insertAtTimeslot (task, timeslots, time, i) {\n const timeslot = timeslots[i]\n if (time === timeslot.time) {\n addEvent(task, timeslot.events, time)\n } else {\n timeslots.splice(i, 0, newTimeslot(time, [task]))\n }\n}\n\nfunction addEvent (task, events) {\n if (events.length === 0 || task.time >= events[events.length - 1].time) {\n events.push(task)\n } else {\n spliceEvent(task, events)\n }\n}\n\nfunction spliceEvent (task, events) {\n for (let j = 0; j < events.length; j++) {\n if (task.time < events[j].time) {\n events.splice(j, 0, task)\n break\n }\n }\n}\n\nfunction getTime (scheduledTask) {\n return Math.floor(scheduledTask.time)\n}\n\nfunction removeAllFrom (f, timeslot) {\n timeslot.events = removeAll(f, timeslot.events)\n}\n\nfunction binarySearch (t, sortedArray) { // eslint-disable-line complexity\n let lo = 0\n let hi = sortedArray.length\n let mid, y\n\n while (lo < hi) {\n mid = Math.floor((lo + hi) / 2)\n y = sortedArray[mid]\n\n if (t === y.time) {\n return mid\n } else if (t < y.time) {\n hi = mid\n } else {\n lo = mid + 1\n }\n }\n return hi\n}\n\nconst newTimeslot = (t, events) => ({ time: t, events: events })\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { defer } from './task'\n\n/*global setTimeout, clearTimeout*/\n\nexport default class ClockTimer {\n constructor (clock) {\n this._clock = clock\n }\n\n now () {\n return this._clock.now()\n }\n\n setTimer (f, dt) {\n return dt <= 0 ? runAsap(f) : setTimeout(f, dt)\n }\n\n clearTimer (t) {\n return t instanceof Asap ? t.cancel() : clearTimeout(t)\n }\n}\n\nclass Asap {\n constructor (f) {\n this.f = f\n this.active = true\n }\n\n run () {\n return this.active && this.f()\n }\n\n error (e) {\n throw e\n }\n\n cancel () {\n this.active = false\n }\n}\n\nfunction runAsap (f) {\n const task = new Asap(f)\n defer(task)\n return task\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\n/*global performance, process*/\n\nexport class MillisecondClock {\n constructor (now, origin) {\n this.origin = origin\n this._now = now\n }\n\n now () {\n return this._now() - this.origin\n }\n}\n\nexport class HRTimeClock {\n constructor (hrtime, origin) {\n this.origin = origin\n this._hrtime = hrtime\n }\n\n now () {\n const hrt = this._hrtime(this.origin)\n return (hrt[0] * 1e9 + hrt[1]) / 1e6\n }\n}\n\nexport const millisecondClockFromNow = now =>\n new MillisecondClock(now, now())\n\nexport const newPerformanceNowClock = () =>\n millisecondClockFromNow(performance.now)\n\nexport const newDateNowClock = () =>\n millisecondClockFromNow(Date.now)\n\nexport const newHRTimeClock = () =>\n new HRTimeClock(process.hrtime, process.hrtime())\n\nexport const newPlatformClock = () => {\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n return newPerformanceNowClock()\n } else if (typeof process !== 'undefined' && typeof process.hrtime === 'function') {\n return newHRTimeClock()\n }\n\n return newDateNowClock()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { curry2 } from '@most/prelude'\n\nimport Scheduler from './Scheduler'\nimport Timeline from './Timeline'\nimport ClockTimer from './ClockTimer'\nimport { newPlatformClock } from './clock'\n\nexport * from './clock'\n\nexport const newScheduler = curry2((timer, timeline) => new Scheduler(timer, timeline))\n\nexport const newDefaultScheduler = () => new Scheduler(newDefaultTimer(), new Timeline())\n\nexport const newDefaultTimer = () => new ClockTimer(newPlatformClock())\nexport const newClockTimer = clock => new ClockTimer(clock)\n\nexport const newTimeline = () => new Timeline()\n"],"names":["const","this","delay","let"],"mappings":"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"}
{"version":3,"file":"index.es.js","sources":["../../../node_modules/@most/prelude/dist/index.es.js","../src/ScheduledTask.js","../src/task.js","../src/Scheduler.js","../src/Timeline.js","../src/ClockTimer.js","../src/clock.js","../src/index.js"],"sourcesContent":["/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // Non-mutating array operations\n\n // cons :: a -> [a] -> [a]\n // a with x prepended\n function cons (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n b[0] = x\n for (var i = 0; i < l; ++i) {\n b[i + 1] = a[i]\n }\n return b\n }\n\n // append :: a -> [a] -> [a]\n // a with x appended\n function append (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n\n b[l] = x\n return b\n }\n\n // drop :: Int -> [a] -> [a]\n // drop first n elements\n function drop (n, a) { // eslint-disable-line complexity\n if (n < 0) {\n throw new TypeError('n must be >= 0')\n }\n\n var l = a.length\n if (n === 0 || l === 0) {\n return a\n }\n\n if (n >= l) {\n return []\n }\n\n return unsafeDrop(n, a, l - n)\n }\n\n // unsafeDrop :: Int -> [a] -> Int -> [a]\n // Internal helper for drop\n function unsafeDrop (n, a, l) {\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[n + i]\n }\n return b\n }\n\n // tail :: [a] -> [a]\n // drop head element\n function tail (a) {\n return drop(1, a)\n }\n\n // copy :: [a] -> [a]\n // duplicate a (shallow duplication)\n function copy (a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n return b\n }\n\n // map :: (a -> b) -> [a] -> [b]\n // transform each element with f\n function map (f, a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = f(a[i])\n }\n return b\n }\n\n // reduce :: (a -> b -> a) -> a -> [b] -> a\n // accumulate via left-fold\n function reduce (f, z, a) {\n var r = z\n for (var i = 0, l = a.length; i < l; ++i) {\n r = f(r, a[i], i)\n }\n return r\n }\n\n // replace :: a -> Int -> [a]\n // replace element at index\n function replace (x, i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n var b = new Array(l)\n for (var j = 0; j < l; ++j) {\n b[j] = i === j ? x : a[j]\n }\n return b\n }\n\n // remove :: Int -> [a] -> [a]\n // remove element at index\n function remove (i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n if (l === 0 || i >= l) { // exit early if index beyond end of array\n return a\n }\n\n if (l === 1) { // exit early if index in bounds and length === 1\n return []\n }\n\n return unsafeRemove(i, a, l - 1)\n }\n\n // unsafeRemove :: Int -> [a] -> Int -> [a]\n // Internal helper to remove element at index\n function unsafeRemove (i, a, l) {\n var b = new Array(l)\n var j\n for (j = 0; j < i; ++j) {\n b[j] = a[j]\n }\n for (j = i; j < l; ++j) {\n b[j] = a[j + 1]\n }\n\n return b\n }\n\n // removeAll :: (a -> boolean) -> [a] -> [a]\n // remove all elements matching a predicate\n function removeAll (f, a) {\n var l = a.length\n var b = new Array(l)\n var j = 0\n for (var x, i = 0; i < l; ++i) {\n x = a[i]\n if (!f(x)) {\n b[j] = x\n ++j\n }\n }\n\n b.length = j\n return b\n }\n\n // findIndex :: a -> [a] -> Int\n // find index of x in a, from the left\n function findIndex (x, a) {\n for (var i = 0, l = a.length; i < l; ++i) {\n if (x === a[i]) {\n return i\n }\n }\n return -1\n }\n\n // isArrayLike :: * -> boolean\n // Return true iff x is array-like\n function isArrayLike (x) {\n return x != null && typeof x.length === 'number' && typeof x !== 'function'\n }\n\n/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // id :: a -> a\n var id = function (x) { return x; }\n\n // compose :: (b -> c) -> (a -> b) -> (a -> c)\n var compose = function (f, g) { return function (x) { return f(g(x)); }; }\n\n // apply :: (a -> b) -> a -> b\n var apply = function (f, x) { return f(x); }\n\n // curry2 :: ((a, b) -> c) -> (a -> b -> c)\n function curry2 (f) {\n function curried (a, b) {\n switch (arguments.length) {\n case 0: return curried\n case 1: return function (b) { return f(a, b); }\n default: return f(a, b)\n }\n }\n return curried\n }\n\n // curry3 :: ((a, b, c) -> d) -> (a -> b -> c -> d)\n function curry3 (f) {\n function curried (a, b, c) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry2(function (b, c) { return f(a, b, c); })\n case 2: return function (c) { return f(a, b, c); }\n default:return f(a, b, c)\n }\n }\n return curried\n }\n\n // curry4 :: ((a, b, c, d) -> e) -> (a -> b -> c -> d -> e)\n function curry4 (f) {\n function curried (a, b, c, d) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry3(function (b, c, d) { return f(a, b, c, d); })\n case 2: return curry2(function (c, d) { return f(a, b, c, d); })\n case 3: return function (d) { return f(a, b, c, d); }\n default:return f(a, b, c, d)\n }\n }\n return curried\n }\n\nexport { cons, append, drop, tail, copy, map, reduce, replace, remove, removeAll, findIndex, isArrayLike, id, compose, apply, curry2, curry3, curry4 };\n//# sourceMappingURL=index.es.js.map\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport default function ScheduledTask (delay, period, task, scheduler) {\n this.time = delay\n this.period = period\n this.task = task\n this.scheduler = scheduler\n this.active = true\n}\n\nScheduledTask.prototype.run = function () {\n return this.task.run(this.time)\n}\n\nScheduledTask.prototype.error = function (e) {\n return this.task.error(this.time, e)\n}\n\nScheduledTask.prototype.dispose = function () {\n this.scheduler.cancel(this)\n return this.task.dispose()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport const defer = task =>\n Promise.resolve(task).then(runTask)\n\nexport function runTask (task) {\n try {\n return task.run()\n } catch (e) {\n return task.error(e)\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport ScheduledTask from './ScheduledTask'\nimport { runTask } from './task'\n\nexport default class Scheduler {\n constructor (timer, timeline) {\n this.timer = timer\n this.timeline = timeline\n\n this._timer = null\n this._nextArrival = Infinity\n\n this._runReadyTasksBound = () => this._runReadyTasks(this.now())\n }\n\n now () {\n return this.timer.now()\n }\n\n asap (task) {\n return this.schedule(0, -1, task)\n }\n\n delay (delay, task) {\n return this.schedule(delay, -1, task)\n }\n\n periodic (period, task) {\n return this.schedule(0, period, task)\n }\n\n schedule (delay, period, task) {\n const now = this.now()\n const st = new ScheduledTask(now + Math.max(0, delay), period, task, this)\n\n this.timeline.add(st)\n this._scheduleNextRun(now)\n return st\n }\n\n cancel (task) {\n task.active = false\n if (this.timeline.remove(task)) {\n this._reschedule()\n }\n }\n\n cancelAll (f) {\n this.timeline.removeAll(f)\n this._reschedule()\n }\n\n _reschedule () {\n if (this.timeline.isEmpty()) {\n this._unschedule()\n } else {\n this._scheduleNextRun(this.now())\n }\n }\n\n _unschedule () {\n this.timer.clearTimer(this._timer)\n this._timer = null\n }\n\n _scheduleNextRun (now) { // eslint-disable-line complexity\n if (this.timeline.isEmpty()) {\n return\n }\n\n const nextArrival = this.timeline.nextArrival()\n\n if (this._timer === null) {\n this._scheduleNextArrival(nextArrival, now)\n } else if (nextArrival < this._nextArrival) {\n this._unschedule()\n this._scheduleNextArrival(nextArrival, now)\n }\n }\n\n _scheduleNextArrival (nextArrival, now) {\n this._nextArrival = nextArrival\n const delay = Math.max(0, nextArrival - now)\n this._timer = this.timer.setTimer(this._runReadyTasksBound, delay)\n }\n\n _runReadyTasks (now) {\n this._timer = null\n this.timeline.runTasks(now, runTask)\n this._scheduleNextRun(this.now())\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { findIndex, removeAll } from '@most/prelude'\n\nexport default class Timeline {\n constructor () {\n this.tasks = []\n }\n\n nextArrival () {\n return this.isEmpty() ? Infinity : this.tasks[0].time\n }\n\n isEmpty () {\n return this.tasks.length === 0\n }\n\n add (st) {\n insertByTime(st, this.tasks)\n }\n\n remove (st) {\n const i = binarySearch(getTime(st), this.tasks)\n\n if (i >= 0 && i < this.tasks.length) {\n const at = findIndex(st, this.tasks[i].events)\n if (at >= 0) {\n this.tasks[i].events.splice(at, 1)\n return true\n }\n }\n\n return false\n }\n\n removeAll (f) {\n for (let i = 0; i < this.tasks.length; ++i) {\n removeAllFrom(f, this.tasks[i])\n }\n }\n\n runTasks (t, runTask) {\n const tasks = this.tasks\n const l = tasks.length\n let i = 0\n\n while (i < l && tasks[i].time <= t) {\n ++i\n }\n\n this.tasks = tasks.slice(i)\n\n // Run all ready tasks\n for (let j = 0; j < i; ++j) {\n this.tasks = runReadyTasks(runTask, tasks[j].events, this.tasks)\n }\n }\n}\n\nfunction runReadyTasks (runTask, events, tasks) { // eslint-disable-line complexity\n for (let i = 0; i < events.length; ++i) {\n const task = events[i]\n\n if (task.active) {\n runTask(task)\n\n // Reschedule periodic repeating tasks\n // Check active again, since a task may have canceled itself\n if (task.period >= 0 && task.active) {\n task.time = task.time + task.period\n insertByTime(task, tasks)\n }\n }\n }\n\n return tasks\n}\n\nfunction insertByTime (task, timeslots) {\n const l = timeslots.length\n const time = getTime(task)\n\n if (l === 0) {\n timeslots.push(newTimeslot(time, [task]))\n return\n }\n\n const i = binarySearch(time, timeslots)\n\n if (i >= l) {\n timeslots.push(newTimeslot(time, [task]))\n } else {\n insertAtTimeslot(task, timeslots, time, i)\n }\n}\n\nfunction insertAtTimeslot (task, timeslots, time, i) {\n const timeslot = timeslots[i]\n if (time === timeslot.time) {\n addEvent(task, timeslot.events, time)\n } else {\n timeslots.splice(i, 0, newTimeslot(time, [task]))\n }\n}\n\nfunction addEvent (task, events) {\n if (events.length === 0 || task.time >= events[events.length - 1].time) {\n events.push(task)\n } else {\n spliceEvent(task, events)\n }\n}\n\nfunction spliceEvent (task, events) {\n for (let j = 0; j < events.length; j++) {\n if (task.time < events[j].time) {\n events.splice(j, 0, task)\n break\n }\n }\n}\n\nfunction getTime (scheduledTask) {\n return Math.floor(scheduledTask.time)\n}\n\nfunction removeAllFrom (f, timeslot) {\n timeslot.events = removeAll(f, timeslot.events)\n}\n\nfunction binarySearch (t, sortedArray) { // eslint-disable-line complexity\n let lo = 0\n let hi = sortedArray.length\n let mid, y\n\n while (lo < hi) {\n mid = Math.floor((lo + hi) / 2)\n y = sortedArray[mid]\n\n if (t === y.time) {\n return mid\n } else if (t < y.time) {\n hi = mid\n } else {\n lo = mid + 1\n }\n }\n return hi\n}\n\nconst newTimeslot = (t, events) => ({ time: t, events: events })\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { defer } from './task'\n\n/*global setTimeout, clearTimeout*/\n\nexport default class ClockTimer {\n constructor (clock) {\n this._clock = clock\n }\n\n now () {\n return this._clock.now()\n }\n\n setTimer (f, dt) {\n return dt <= 0 ? runAsap(f) : setTimeout(f, dt)\n }\n\n clearTimer (t) {\n return t instanceof Asap ? t.cancel() : clearTimeout(t)\n }\n}\n\nclass Asap {\n constructor (f) {\n this.f = f\n this.active = true\n }\n\n run () {\n return this.active && this.f()\n }\n\n error (e) {\n throw e\n }\n\n cancel () {\n this.active = false\n }\n}\n\nfunction runAsap (f) {\n const task = new Asap(f)\n defer(task)\n return task\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\n/*global performance, process*/\n\nexport class RelativeClock {\n constructor (clock, origin) {\n this.origin = origin\n this.clock = clock\n }\n\n now () {\n return this.clock.now() - this.origin\n }\n}\n\nexport class HRTimeClock {\n constructor (hrtime, origin) {\n this.origin = origin\n this.hrtime = hrtime\n }\n\n now () {\n const hrt = this.hrtime(this.origin)\n return (hrt[0] * 1e9 + hrt[1]) / 1e6\n }\n}\n\nexport const clockRelativeTo = clock =>\n new RelativeClock(clock, clock.now())\n\nexport const newPerformanceClock = () =>\n clockRelativeTo(performance)\n\nexport const newDateClock = () =>\n clockRelativeTo(Date)\n\nexport const newHRTimeClock = () =>\n new HRTimeClock(process.hrtime, process.hrtime())\n\nexport const newPlatformClock = () => {\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n return newPerformanceClock()\n } else if (typeof process !== 'undefined' && typeof process.hrtime === 'function') {\n return newHRTimeClock()\n }\n\n return newDateClock()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { curry2 } from '@most/prelude'\n\nimport Scheduler from './Scheduler'\nimport Timeline from './Timeline'\nimport ClockTimer from './ClockTimer'\nimport { newPlatformClock } from './clock'\n\nexport * from './clock'\n\nexport const newScheduler = curry2((timer, timeline) => new Scheduler(timer, timeline))\n\nexport const newDefaultScheduler = () => new Scheduler(newDefaultTimer(), new Timeline())\n\nexport const newDefaultTimer = () => new ClockTimer(newPlatformClock())\nexport const newClockTimer = clock => new ClockTimer(clock)\n\nexport const newTimeline = () => new Timeline()\n"],"names":["const","this","delay","let"],"mappings":"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"}

@@ -379,9 +379,9 @@ (function (global, factory) {

var MillisecondClock = function MillisecondClock (now, origin) {
var RelativeClock = function RelativeClock (clock, origin) {
this.origin = origin;
this._now = now;
this.clock = clock;
};
MillisecondClock.prototype.now = function now () {
return this._now() - this.origin
RelativeClock.prototype.now = function now () {
return this.clock.now() - this.origin
};

@@ -391,15 +391,15 @@

this.origin = origin;
this._hrtime = hrtime;
this.hrtime = hrtime;
};
HRTimeClock.prototype.now = function now () {
var hrt = this._hrtime(this.origin);
var hrt = this.hrtime(this.origin);
return (hrt[0] * 1e9 + hrt[1]) / 1e6
};
var millisecondClockFromNow = function (now) { return new MillisecondClock(now, now()); };
var clockRelativeTo = function (clock) { return new RelativeClock(clock, clock.now()); };
var newPerformanceNowClock = function () { return millisecondClockFromNow(performance.now); };
var newPerformanceClock = function () { return clockRelativeTo(performance); };
var newDateNowClock = function () { return millisecondClockFromNow(Date.now); };
var newDateClock = function () { return clockRelativeTo(Date); };

@@ -410,3 +410,3 @@ var newHRTimeClock = function () { return new HRTimeClock(process.hrtime, process.hrtime()); };

if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
return newPerformanceNowClock()
return newPerformanceClock()
} else if (typeof process !== 'undefined' && typeof process.hrtime === 'function') {

@@ -416,3 +416,3 @@ return newHRTimeClock()

return newDateNowClock()
return newDateClock()
};

@@ -436,7 +436,7 @@

exports.newTimeline = newTimeline;
exports.MillisecondClock = MillisecondClock;
exports.RelativeClock = RelativeClock;
exports.HRTimeClock = HRTimeClock;
exports.millisecondClockFromNow = millisecondClockFromNow;
exports.newPerformanceNowClock = newPerformanceNowClock;
exports.newDateNowClock = newDateNowClock;
exports.clockRelativeTo = clockRelativeTo;
exports.newPerformanceClock = newPerformanceClock;
exports.newDateClock = newDateClock;
exports.newHRTimeClock = newHRTimeClock;

@@ -443,0 +443,0 @@ exports.newPlatformClock = newPlatformClock;

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["../node_modules/@most/prelude/dist/index.es.js","../src/ScheduledTask.js","../src/task.js","../src/Scheduler.js","../src/Timeline.js","../src/ClockTimer.js","../src/clock.js","../src/index.js"],"sourcesContent":["/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // Non-mutating array operations\n\n // cons :: a -> [a] -> [a]\n // a with x prepended\n function cons (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n b[0] = x\n for (var i = 0; i < l; ++i) {\n b[i + 1] = a[i]\n }\n return b\n }\n\n // append :: a -> [a] -> [a]\n // a with x appended\n function append (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n\n b[l] = x\n return b\n }\n\n // drop :: Int -> [a] -> [a]\n // drop first n elements\n function drop (n, a) { // eslint-disable-line complexity\n if (n < 0) {\n throw new TypeError('n must be >= 0')\n }\n\n var l = a.length\n if (n === 0 || l === 0) {\n return a\n }\n\n if (n >= l) {\n return []\n }\n\n return unsafeDrop(n, a, l - n)\n }\n\n // unsafeDrop :: Int -> [a] -> Int -> [a]\n // Internal helper for drop\n function unsafeDrop (n, a, l) {\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[n + i]\n }\n return b\n }\n\n // tail :: [a] -> [a]\n // drop head element\n function tail (a) {\n return drop(1, a)\n }\n\n // copy :: [a] -> [a]\n // duplicate a (shallow duplication)\n function copy (a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n return b\n }\n\n // map :: (a -> b) -> [a] -> [b]\n // transform each element with f\n function map (f, a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = f(a[i])\n }\n return b\n }\n\n // reduce :: (a -> b -> a) -> a -> [b] -> a\n // accumulate via left-fold\n function reduce (f, z, a) {\n var r = z\n for (var i = 0, l = a.length; i < l; ++i) {\n r = f(r, a[i], i)\n }\n return r\n }\n\n // replace :: a -> Int -> [a]\n // replace element at index\n function replace (x, i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n var b = new Array(l)\n for (var j = 0; j < l; ++j) {\n b[j] = i === j ? x : a[j]\n }\n return b\n }\n\n // remove :: Int -> [a] -> [a]\n // remove element at index\n function remove (i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n if (l === 0 || i >= l) { // exit early if index beyond end of array\n return a\n }\n\n if (l === 1) { // exit early if index in bounds and length === 1\n return []\n }\n\n return unsafeRemove(i, a, l - 1)\n }\n\n // unsafeRemove :: Int -> [a] -> Int -> [a]\n // Internal helper to remove element at index\n function unsafeRemove (i, a, l) {\n var b = new Array(l)\n var j\n for (j = 0; j < i; ++j) {\n b[j] = a[j]\n }\n for (j = i; j < l; ++j) {\n b[j] = a[j + 1]\n }\n\n return b\n }\n\n // removeAll :: (a -> boolean) -> [a] -> [a]\n // remove all elements matching a predicate\n function removeAll (f, a) {\n var l = a.length\n var b = new Array(l)\n var j = 0\n for (var x, i = 0; i < l; ++i) {\n x = a[i]\n if (!f(x)) {\n b[j] = x\n ++j\n }\n }\n\n b.length = j\n return b\n }\n\n // findIndex :: a -> [a] -> Int\n // find index of x in a, from the left\n function findIndex (x, a) {\n for (var i = 0, l = a.length; i < l; ++i) {\n if (x === a[i]) {\n return i\n }\n }\n return -1\n }\n\n // isArrayLike :: * -> boolean\n // Return true iff x is array-like\n function isArrayLike (x) {\n return x != null && typeof x.length === 'number' && typeof x !== 'function'\n }\n\n/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // id :: a -> a\n var id = function (x) { return x; }\n\n // compose :: (b -> c) -> (a -> b) -> (a -> c)\n var compose = function (f, g) { return function (x) { return f(g(x)); }; }\n\n // apply :: (a -> b) -> a -> b\n var apply = function (f, x) { return f(x); }\n\n // curry2 :: ((a, b) -> c) -> (a -> b -> c)\n function curry2 (f) {\n function curried (a, b) {\n switch (arguments.length) {\n case 0: return curried\n case 1: return function (b) { return f(a, b); }\n default: return f(a, b)\n }\n }\n return curried\n }\n\n // curry3 :: ((a, b, c) -> d) -> (a -> b -> c -> d)\n function curry3 (f) {\n function curried (a, b, c) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry2(function (b, c) { return f(a, b, c); })\n case 2: return function (c) { return f(a, b, c); }\n default:return f(a, b, c)\n }\n }\n return curried\n }\n\n // curry4 :: ((a, b, c, d) -> e) -> (a -> b -> c -> d -> e)\n function curry4 (f) {\n function curried (a, b, c, d) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry3(function (b, c, d) { return f(a, b, c, d); })\n case 2: return curry2(function (c, d) { return f(a, b, c, d); })\n case 3: return function (d) { return f(a, b, c, d); }\n default:return f(a, b, c, d)\n }\n }\n return curried\n }\n\nexport { cons, append, drop, tail, copy, map, reduce, replace, remove, removeAll, findIndex, isArrayLike, id, compose, apply, curry2, curry3, curry4 };\n//# sourceMappingURL=index.es.js.map\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport default function ScheduledTask (delay, period, task, scheduler) {\n this.time = delay\n this.period = period\n this.task = task\n this.scheduler = scheduler\n this.active = true\n}\n\nScheduledTask.prototype.run = function () {\n return this.task.run(this.time)\n}\n\nScheduledTask.prototype.error = function (e) {\n return this.task.error(this.time, e)\n}\n\nScheduledTask.prototype.dispose = function () {\n this.scheduler.cancel(this)\n return this.task.dispose()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport const defer = task =>\n Promise.resolve(task).then(runTask)\n\nexport function runTask (task) {\n try {\n return task.run()\n } catch (e) {\n return task.error(e)\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport ScheduledTask from './ScheduledTask'\nimport { runTask } from './task'\n\nexport default class Scheduler {\n constructor (timer, timeline) {\n this.timer = timer\n this.timeline = timeline\n\n this._timer = null\n this._nextArrival = Infinity\n\n this._runReadyTasksBound = () => this._runReadyTasks(this.now())\n }\n\n now () {\n return this.timer.now()\n }\n\n asap (task) {\n return this.schedule(0, -1, task)\n }\n\n delay (delay, task) {\n return this.schedule(delay, -1, task)\n }\n\n periodic (period, task) {\n return this.schedule(0, period, task)\n }\n\n schedule (delay, period, task) {\n const now = this.now()\n const st = new ScheduledTask(now + Math.max(0, delay), period, task, this)\n\n this.timeline.add(st)\n this._scheduleNextRun(now)\n return st\n }\n\n cancel (task) {\n task.active = false\n if (this.timeline.remove(task)) {\n this._reschedule()\n }\n }\n\n cancelAll (f) {\n this.timeline.removeAll(f)\n this._reschedule()\n }\n\n _reschedule () {\n if (this.timeline.isEmpty()) {\n this._unschedule()\n } else {\n this._scheduleNextRun(this.now())\n }\n }\n\n _unschedule () {\n this.timer.clearTimer(this._timer)\n this._timer = null\n }\n\n _scheduleNextRun (now) { // eslint-disable-line complexity\n if (this.timeline.isEmpty()) {\n return\n }\n\n const nextArrival = this.timeline.nextArrival()\n\n if (this._timer === null) {\n this._scheduleNextArrival(nextArrival, now)\n } else if (nextArrival < this._nextArrival) {\n this._unschedule()\n this._scheduleNextArrival(nextArrival, now)\n }\n }\n\n _scheduleNextArrival (nextArrival, now) {\n this._nextArrival = nextArrival\n const delay = Math.max(0, nextArrival - now)\n this._timer = this.timer.setTimer(this._runReadyTasksBound, delay)\n }\n\n _runReadyTasks (now) {\n this._timer = null\n this.timeline.runTasks(now, runTask)\n this._scheduleNextRun(this.now())\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { findIndex, removeAll } from '@most/prelude'\n\nexport default class Timeline {\n constructor () {\n this.tasks = []\n }\n\n nextArrival () {\n return this.isEmpty() ? Infinity : this.tasks[0].time\n }\n\n isEmpty () {\n return this.tasks.length === 0\n }\n\n add (st) {\n insertByTime(st, this.tasks)\n }\n\n remove (st) {\n const i = binarySearch(getTime(st), this.tasks)\n\n if (i >= 0 && i < this.tasks.length) {\n const at = findIndex(st, this.tasks[i].events)\n if (at >= 0) {\n this.tasks[i].events.splice(at, 1)\n return true\n }\n }\n\n return false\n }\n\n removeAll (f) {\n for (let i = 0; i < this.tasks.length; ++i) {\n removeAllFrom(f, this.tasks[i])\n }\n }\n\n runTasks (t, runTask) {\n const tasks = this.tasks\n const l = tasks.length\n let i = 0\n\n while (i < l && tasks[i].time <= t) {\n ++i\n }\n\n this.tasks = tasks.slice(i)\n\n // Run all ready tasks\n for (let j = 0; j < i; ++j) {\n this.tasks = runReadyTasks(runTask, tasks[j].events, this.tasks)\n }\n }\n}\n\nfunction runReadyTasks (runTask, events, tasks) { // eslint-disable-line complexity\n for (let i = 0; i < events.length; ++i) {\n const task = events[i]\n\n if (task.active) {\n runTask(task)\n\n // Reschedule periodic repeating tasks\n // Check active again, since a task may have canceled itself\n if (task.period >= 0 && task.active) {\n task.time = task.time + task.period\n insertByTime(task, tasks)\n }\n }\n }\n\n return tasks\n}\n\nfunction insertByTime (task, timeslots) {\n const l = timeslots.length\n const time = getTime(task)\n\n if (l === 0) {\n timeslots.push(newTimeslot(time, [task]))\n return\n }\n\n const i = binarySearch(time, timeslots)\n\n if (i >= l) {\n timeslots.push(newTimeslot(time, [task]))\n } else {\n insertAtTimeslot(task, timeslots, time, i)\n }\n}\n\nfunction insertAtTimeslot (task, timeslots, time, i) {\n const timeslot = timeslots[i]\n if (time === timeslot.time) {\n addEvent(task, timeslot.events, time)\n } else {\n timeslots.splice(i, 0, newTimeslot(time, [task]))\n }\n}\n\nfunction addEvent (task, events) {\n if (events.length === 0 || task.time >= events[events.length - 1].time) {\n events.push(task)\n } else {\n spliceEvent(task, events)\n }\n}\n\nfunction spliceEvent (task, events) {\n for (let j = 0; j < events.length; j++) {\n if (task.time < events[j].time) {\n events.splice(j, 0, task)\n break\n }\n }\n}\n\nfunction getTime (scheduledTask) {\n return Math.floor(scheduledTask.time)\n}\n\nfunction removeAllFrom (f, timeslot) {\n timeslot.events = removeAll(f, timeslot.events)\n}\n\nfunction binarySearch (t, sortedArray) { // eslint-disable-line complexity\n let lo = 0\n let hi = sortedArray.length\n let mid, y\n\n while (lo < hi) {\n mid = Math.floor((lo + hi) / 2)\n y = sortedArray[mid]\n\n if (t === y.time) {\n return mid\n } else if (t < y.time) {\n hi = mid\n } else {\n lo = mid + 1\n }\n }\n return hi\n}\n\nconst newTimeslot = (t, events) => ({ time: t, events: events })\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { defer } from './task'\n\n/*global setTimeout, clearTimeout*/\n\nexport default class ClockTimer {\n constructor (clock) {\n this._clock = clock\n }\n\n now () {\n return this._clock.now()\n }\n\n setTimer (f, dt) {\n return dt <= 0 ? runAsap(f) : setTimeout(f, dt)\n }\n\n clearTimer (t) {\n return t instanceof Asap ? t.cancel() : clearTimeout(t)\n }\n}\n\nclass Asap {\n constructor (f) {\n this.f = f\n this.active = true\n }\n\n run () {\n return this.active && this.f()\n }\n\n error (e) {\n throw e\n }\n\n cancel () {\n this.active = false\n }\n}\n\nfunction runAsap (f) {\n const task = new Asap(f)\n defer(task)\n return task\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\n/*global performance, process*/\n\nexport class MillisecondClock {\n constructor (now, origin) {\n this.origin = origin\n this._now = now\n }\n\n now () {\n return this._now() - this.origin\n }\n}\n\nexport class HRTimeClock {\n constructor (hrtime, origin) {\n this.origin = origin\n this._hrtime = hrtime\n }\n\n now () {\n const hrt = this._hrtime(this.origin)\n return (hrt[0] * 1e9 + hrt[1]) / 1e6\n }\n}\n\nexport const millisecondClockFromNow = now =>\n new MillisecondClock(now, now())\n\nexport const newPerformanceNowClock = () =>\n millisecondClockFromNow(performance.now)\n\nexport const newDateNowClock = () =>\n millisecondClockFromNow(Date.now)\n\nexport const newHRTimeClock = () =>\n new HRTimeClock(process.hrtime, process.hrtime())\n\nexport const newPlatformClock = () => {\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n return newPerformanceNowClock()\n } else if (typeof process !== 'undefined' && typeof process.hrtime === 'function') {\n return newHRTimeClock()\n }\n\n return newDateNowClock()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { curry2 } from '@most/prelude'\n\nimport Scheduler from './Scheduler'\nimport Timeline from './Timeline'\nimport ClockTimer from './ClockTimer'\nimport { newPlatformClock } from './clock'\n\nexport * from './clock'\n\nexport const newScheduler = curry2((timer, timeline) => new Scheduler(timer, timeline))\n\nexport const newDefaultScheduler = () => new Scheduler(newDefaultTimer(), new Timeline())\n\nexport const newDefaultTimer = () => new ClockTimer(newPlatformClock())\nexport const newClockTimer = clock => new ClockTimer(clock)\n\nexport const newTimeline = () => new Timeline()\n"],"names":["const","this","delay","let"],"mappings":"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"}
{"version":3,"file":"index.js","sources":["../../../node_modules/@most/prelude/dist/index.es.js","../src/ScheduledTask.js","../src/task.js","../src/Scheduler.js","../src/Timeline.js","../src/ClockTimer.js","../src/clock.js","../src/index.js"],"sourcesContent":["/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // Non-mutating array operations\n\n // cons :: a -> [a] -> [a]\n // a with x prepended\n function cons (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n b[0] = x\n for (var i = 0; i < l; ++i) {\n b[i + 1] = a[i]\n }\n return b\n }\n\n // append :: a -> [a] -> [a]\n // a with x appended\n function append (x, a) {\n var l = a.length\n var b = new Array(l + 1)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n\n b[l] = x\n return b\n }\n\n // drop :: Int -> [a] -> [a]\n // drop first n elements\n function drop (n, a) { // eslint-disable-line complexity\n if (n < 0) {\n throw new TypeError('n must be >= 0')\n }\n\n var l = a.length\n if (n === 0 || l === 0) {\n return a\n }\n\n if (n >= l) {\n return []\n }\n\n return unsafeDrop(n, a, l - n)\n }\n\n // unsafeDrop :: Int -> [a] -> Int -> [a]\n // Internal helper for drop\n function unsafeDrop (n, a, l) {\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[n + i]\n }\n return b\n }\n\n // tail :: [a] -> [a]\n // drop head element\n function tail (a) {\n return drop(1, a)\n }\n\n // copy :: [a] -> [a]\n // duplicate a (shallow duplication)\n function copy (a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = a[i]\n }\n return b\n }\n\n // map :: (a -> b) -> [a] -> [b]\n // transform each element with f\n function map (f, a) {\n var l = a.length\n var b = new Array(l)\n for (var i = 0; i < l; ++i) {\n b[i] = f(a[i])\n }\n return b\n }\n\n // reduce :: (a -> b -> a) -> a -> [b] -> a\n // accumulate via left-fold\n function reduce (f, z, a) {\n var r = z\n for (var i = 0, l = a.length; i < l; ++i) {\n r = f(r, a[i], i)\n }\n return r\n }\n\n // replace :: a -> Int -> [a]\n // replace element at index\n function replace (x, i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n var b = new Array(l)\n for (var j = 0; j < l; ++j) {\n b[j] = i === j ? x : a[j]\n }\n return b\n }\n\n // remove :: Int -> [a] -> [a]\n // remove element at index\n function remove (i, a) { // eslint-disable-line complexity\n if (i < 0) {\n throw new TypeError('i must be >= 0')\n }\n\n var l = a.length\n if (l === 0 || i >= l) { // exit early if index beyond end of array\n return a\n }\n\n if (l === 1) { // exit early if index in bounds and length === 1\n return []\n }\n\n return unsafeRemove(i, a, l - 1)\n }\n\n // unsafeRemove :: Int -> [a] -> Int -> [a]\n // Internal helper to remove element at index\n function unsafeRemove (i, a, l) {\n var b = new Array(l)\n var j\n for (j = 0; j < i; ++j) {\n b[j] = a[j]\n }\n for (j = i; j < l; ++j) {\n b[j] = a[j + 1]\n }\n\n return b\n }\n\n // removeAll :: (a -> boolean) -> [a] -> [a]\n // remove all elements matching a predicate\n function removeAll (f, a) {\n var l = a.length\n var b = new Array(l)\n var j = 0\n for (var x, i = 0; i < l; ++i) {\n x = a[i]\n if (!f(x)) {\n b[j] = x\n ++j\n }\n }\n\n b.length = j\n return b\n }\n\n // findIndex :: a -> [a] -> Int\n // find index of x in a, from the left\n function findIndex (x, a) {\n for (var i = 0, l = a.length; i < l; ++i) {\n if (x === a[i]) {\n return i\n }\n }\n return -1\n }\n\n // isArrayLike :: * -> boolean\n // Return true iff x is array-like\n function isArrayLike (x) {\n return x != null && typeof x.length === 'number' && typeof x !== 'function'\n }\n\n/** @license MIT License (c) copyright 2010-2016 original author or authors */\n\n // id :: a -> a\n var id = function (x) { return x; }\n\n // compose :: (b -> c) -> (a -> b) -> (a -> c)\n var compose = function (f, g) { return function (x) { return f(g(x)); }; }\n\n // apply :: (a -> b) -> a -> b\n var apply = function (f, x) { return f(x); }\n\n // curry2 :: ((a, b) -> c) -> (a -> b -> c)\n function curry2 (f) {\n function curried (a, b) {\n switch (arguments.length) {\n case 0: return curried\n case 1: return function (b) { return f(a, b); }\n default: return f(a, b)\n }\n }\n return curried\n }\n\n // curry3 :: ((a, b, c) -> d) -> (a -> b -> c -> d)\n function curry3 (f) {\n function curried (a, b, c) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry2(function (b, c) { return f(a, b, c); })\n case 2: return function (c) { return f(a, b, c); }\n default:return f(a, b, c)\n }\n }\n return curried\n }\n\n // curry4 :: ((a, b, c, d) -> e) -> (a -> b -> c -> d -> e)\n function curry4 (f) {\n function curried (a, b, c, d) { // eslint-disable-line complexity\n switch (arguments.length) {\n case 0: return curried\n case 1: return curry3(function (b, c, d) { return f(a, b, c, d); })\n case 2: return curry2(function (c, d) { return f(a, b, c, d); })\n case 3: return function (d) { return f(a, b, c, d); }\n default:return f(a, b, c, d)\n }\n }\n return curried\n }\n\nexport { cons, append, drop, tail, copy, map, reduce, replace, remove, removeAll, findIndex, isArrayLike, id, compose, apply, curry2, curry3, curry4 };\n//# sourceMappingURL=index.es.js.map\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport default function ScheduledTask (delay, period, task, scheduler) {\n this.time = delay\n this.period = period\n this.task = task\n this.scheduler = scheduler\n this.active = true\n}\n\nScheduledTask.prototype.run = function () {\n return this.task.run(this.time)\n}\n\nScheduledTask.prototype.error = function (e) {\n return this.task.error(this.time, e)\n}\n\nScheduledTask.prototype.dispose = function () {\n this.scheduler.cancel(this)\n return this.task.dispose()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nexport const defer = task =>\n Promise.resolve(task).then(runTask)\n\nexport function runTask (task) {\n try {\n return task.run()\n } catch (e) {\n return task.error(e)\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport ScheduledTask from './ScheduledTask'\nimport { runTask } from './task'\n\nexport default class Scheduler {\n constructor (timer, timeline) {\n this.timer = timer\n this.timeline = timeline\n\n this._timer = null\n this._nextArrival = Infinity\n\n this._runReadyTasksBound = () => this._runReadyTasks(this.now())\n }\n\n now () {\n return this.timer.now()\n }\n\n asap (task) {\n return this.schedule(0, -1, task)\n }\n\n delay (delay, task) {\n return this.schedule(delay, -1, task)\n }\n\n periodic (period, task) {\n return this.schedule(0, period, task)\n }\n\n schedule (delay, period, task) {\n const now = this.now()\n const st = new ScheduledTask(now + Math.max(0, delay), period, task, this)\n\n this.timeline.add(st)\n this._scheduleNextRun(now)\n return st\n }\n\n cancel (task) {\n task.active = false\n if (this.timeline.remove(task)) {\n this._reschedule()\n }\n }\n\n cancelAll (f) {\n this.timeline.removeAll(f)\n this._reschedule()\n }\n\n _reschedule () {\n if (this.timeline.isEmpty()) {\n this._unschedule()\n } else {\n this._scheduleNextRun(this.now())\n }\n }\n\n _unschedule () {\n this.timer.clearTimer(this._timer)\n this._timer = null\n }\n\n _scheduleNextRun (now) { // eslint-disable-line complexity\n if (this.timeline.isEmpty()) {\n return\n }\n\n const nextArrival = this.timeline.nextArrival()\n\n if (this._timer === null) {\n this._scheduleNextArrival(nextArrival, now)\n } else if (nextArrival < this._nextArrival) {\n this._unschedule()\n this._scheduleNextArrival(nextArrival, now)\n }\n }\n\n _scheduleNextArrival (nextArrival, now) {\n this._nextArrival = nextArrival\n const delay = Math.max(0, nextArrival - now)\n this._timer = this.timer.setTimer(this._runReadyTasksBound, delay)\n }\n\n _runReadyTasks (now) {\n this._timer = null\n this.timeline.runTasks(now, runTask)\n this._scheduleNextRun(this.now())\n }\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { findIndex, removeAll } from '@most/prelude'\n\nexport default class Timeline {\n constructor () {\n this.tasks = []\n }\n\n nextArrival () {\n return this.isEmpty() ? Infinity : this.tasks[0].time\n }\n\n isEmpty () {\n return this.tasks.length === 0\n }\n\n add (st) {\n insertByTime(st, this.tasks)\n }\n\n remove (st) {\n const i = binarySearch(getTime(st), this.tasks)\n\n if (i >= 0 && i < this.tasks.length) {\n const at = findIndex(st, this.tasks[i].events)\n if (at >= 0) {\n this.tasks[i].events.splice(at, 1)\n return true\n }\n }\n\n return false\n }\n\n removeAll (f) {\n for (let i = 0; i < this.tasks.length; ++i) {\n removeAllFrom(f, this.tasks[i])\n }\n }\n\n runTasks (t, runTask) {\n const tasks = this.tasks\n const l = tasks.length\n let i = 0\n\n while (i < l && tasks[i].time <= t) {\n ++i\n }\n\n this.tasks = tasks.slice(i)\n\n // Run all ready tasks\n for (let j = 0; j < i; ++j) {\n this.tasks = runReadyTasks(runTask, tasks[j].events, this.tasks)\n }\n }\n}\n\nfunction runReadyTasks (runTask, events, tasks) { // eslint-disable-line complexity\n for (let i = 0; i < events.length; ++i) {\n const task = events[i]\n\n if (task.active) {\n runTask(task)\n\n // Reschedule periodic repeating tasks\n // Check active again, since a task may have canceled itself\n if (task.period >= 0 && task.active) {\n task.time = task.time + task.period\n insertByTime(task, tasks)\n }\n }\n }\n\n return tasks\n}\n\nfunction insertByTime (task, timeslots) {\n const l = timeslots.length\n const time = getTime(task)\n\n if (l === 0) {\n timeslots.push(newTimeslot(time, [task]))\n return\n }\n\n const i = binarySearch(time, timeslots)\n\n if (i >= l) {\n timeslots.push(newTimeslot(time, [task]))\n } else {\n insertAtTimeslot(task, timeslots, time, i)\n }\n}\n\nfunction insertAtTimeslot (task, timeslots, time, i) {\n const timeslot = timeslots[i]\n if (time === timeslot.time) {\n addEvent(task, timeslot.events, time)\n } else {\n timeslots.splice(i, 0, newTimeslot(time, [task]))\n }\n}\n\nfunction addEvent (task, events) {\n if (events.length === 0 || task.time >= events[events.length - 1].time) {\n events.push(task)\n } else {\n spliceEvent(task, events)\n }\n}\n\nfunction spliceEvent (task, events) {\n for (let j = 0; j < events.length; j++) {\n if (task.time < events[j].time) {\n events.splice(j, 0, task)\n break\n }\n }\n}\n\nfunction getTime (scheduledTask) {\n return Math.floor(scheduledTask.time)\n}\n\nfunction removeAllFrom (f, timeslot) {\n timeslot.events = removeAll(f, timeslot.events)\n}\n\nfunction binarySearch (t, sortedArray) { // eslint-disable-line complexity\n let lo = 0\n let hi = sortedArray.length\n let mid, y\n\n while (lo < hi) {\n mid = Math.floor((lo + hi) / 2)\n y = sortedArray[mid]\n\n if (t === y.time) {\n return mid\n } else if (t < y.time) {\n hi = mid\n } else {\n lo = mid + 1\n }\n }\n return hi\n}\n\nconst newTimeslot = (t, events) => ({ time: t, events: events })\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { defer } from './task'\n\n/*global setTimeout, clearTimeout*/\n\nexport default class ClockTimer {\n constructor (clock) {\n this._clock = clock\n }\n\n now () {\n return this._clock.now()\n }\n\n setTimer (f, dt) {\n return dt <= 0 ? runAsap(f) : setTimeout(f, dt)\n }\n\n clearTimer (t) {\n return t instanceof Asap ? t.cancel() : clearTimeout(t)\n }\n}\n\nclass Asap {\n constructor (f) {\n this.f = f\n this.active = true\n }\n\n run () {\n return this.active && this.f()\n }\n\n error (e) {\n throw e\n }\n\n cancel () {\n this.active = false\n }\n}\n\nfunction runAsap (f) {\n const task = new Asap(f)\n defer(task)\n return task\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\n/*global performance, process*/\n\nexport class RelativeClock {\n constructor (clock, origin) {\n this.origin = origin\n this.clock = clock\n }\n\n now () {\n return this.clock.now() - this.origin\n }\n}\n\nexport class HRTimeClock {\n constructor (hrtime, origin) {\n this.origin = origin\n this.hrtime = hrtime\n }\n\n now () {\n const hrt = this.hrtime(this.origin)\n return (hrt[0] * 1e9 + hrt[1]) / 1e6\n }\n}\n\nexport const clockRelativeTo = clock =>\n new RelativeClock(clock, clock.now())\n\nexport const newPerformanceClock = () =>\n clockRelativeTo(performance)\n\nexport const newDateClock = () =>\n clockRelativeTo(Date)\n\nexport const newHRTimeClock = () =>\n new HRTimeClock(process.hrtime, process.hrtime())\n\nexport const newPlatformClock = () => {\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n return newPerformanceClock()\n } else if (typeof process !== 'undefined' && typeof process.hrtime === 'function') {\n return newHRTimeClock()\n }\n\n return newDateClock()\n}\n","/** @license MIT License (c) copyright 2010-2017 original author or authors */\n\nimport { curry2 } from '@most/prelude'\n\nimport Scheduler from './Scheduler'\nimport Timeline from './Timeline'\nimport ClockTimer from './ClockTimer'\nimport { newPlatformClock } from './clock'\n\nexport * from './clock'\n\nexport const newScheduler = curry2((timer, timeline) => new Scheduler(timer, timeline))\n\nexport const newDefaultScheduler = () => new Scheduler(newDefaultTimer(), new Timeline())\n\nexport const newDefaultTimer = () => new ClockTimer(newPlatformClock())\nexport const newClockTimer = clock => new ClockTimer(clock)\n\nexport const newTimeline = () => new Timeline()\n"],"names":["const","this","delay","let"],"mappings":"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"}

@@ -1,1 +0,1 @@

(function(t,e){typeof exports==="object"&&typeof module!=="undefined"?e(exports):typeof define==="function"&&define.amd?define(["exports"],e):e(t.mostCore=t.mostCore||{})})(this,function(t){"use strict";function e(t,e){var n=e.length;var r=new Array(n);var i=0;for(var o,s=0;s<n;++s){o=e[s];if(!t(o)){r[i]=o;++i}}r.length=i;return r}function n(t,e){for(var n=0,r=e.length;n<r;++n){if(t===e[n]){return n}}return-1}function r(t){function e(n,r){switch(arguments.length){case 0:return e;case 1:return function(e){return t(n,e)};default:return t(n,r)}}return e}function i(t,e,n,r){this.time=t;this.period=e;this.task=n;this.scheduler=r;this.active=true}i.prototype.run=function(){return this.task.run(this.time)};i.prototype.error=function(t){return this.task.error(this.time,t)};i.prototype.dispose=function(){this.scheduler.cancel(this);return this.task.dispose()};var o=function(t){return Promise.resolve(t).then(s)};function s(t){try{return t.run()}catch(e){return t.error(e)}}var u=function t(e,n){var r=this;this.timer=e;this.timeline=n;this._timer=null;this._nextArrival=Infinity;this._runReadyTasksBound=function(){return r._runReadyTasks(r.now())}};u.prototype.now=function t(){return this.timer.now()};u.prototype.asap=function t(e){return this.schedule(0,-1,e)};u.prototype.delay=function t(e,n){return this.schedule(e,-1,n)};u.prototype.periodic=function t(e,n){return this.schedule(0,e,n)};u.prototype.schedule=function t(e,n,r){var o=this.now();var s=new i(o+Math.max(0,e),n,r,this);this.timeline.add(s);this._scheduleNextRun(o);return s};u.prototype.cancel=function t(e){e.active=false;if(this.timeline.remove(e)){this._reschedule()}};u.prototype.cancelAll=function t(e){this.timeline.removeAll(e);this._reschedule()};u.prototype._reschedule=function t(){if(this.timeline.isEmpty()){this._unschedule()}else{this._scheduleNextRun(this.now())}};u.prototype._unschedule=function t(){this.timer.clearTimer(this._timer);this._timer=null};u.prototype._scheduleNextRun=function t(e){if(this.timeline.isEmpty()){return}var n=this.timeline.nextArrival();if(this._timer===null){this._scheduleNextArrival(n,e)}else if(n<this._nextArrival){this._unschedule();this._scheduleNextArrival(n,e)}};u.prototype._scheduleNextArrival=function t(e,n){this._nextArrival=e;var r=Math.max(0,e-n);this._timer=this.timer.setTimer(this._runReadyTasksBound,r)};u.prototype._runReadyTasks=function t(e){this._timer=null;this.timeline.runTasks(e,s);this._scheduleNextRun(this.now())};var c=function t(){this.tasks=[]};c.prototype.nextArrival=function t(){return this.isEmpty()?Infinity:this.tasks[0].time};c.prototype.isEmpty=function t(){return this.tasks.length===0};c.prototype.add=function t(e){a(e,this.tasks)};c.prototype.remove=function t(e){var r=d(v(e),this.tasks);if(r>=0&&r<this.tasks.length){var i=n(e,this.tasks[r].events);if(i>=0){this.tasks[r].events.splice(i,1);return true}}return false};c.prototype.removeAll=function t(e){var n=this;for(var r=0;r<this.tasks.length;++r){m(e,n.tasks[r])}};c.prototype.runTasks=function t(e,n){var r=this;var i=this.tasks;var o=i.length;var s=0;while(s<o&&i[s].time<=e){++s}this.tasks=i.slice(s);for(var u=0;u<s;++u){r.tasks=h(n,i[u].events,r.tasks)}};function h(t,e,n){for(var r=0;r<e.length;++r){var i=e[r];if(i.active){t(i);if(i.period>=0&&i.active){i.time=i.time+i.period;a(i,n)}}}return n}function a(t,e){var n=e.length;var r=v(t);if(n===0){e.push(y(r,[t]));return}var i=d(r,e);if(i>=n){e.push(y(r,[t]))}else{f(t,e,r,i)}}function f(t,e,n,r){var i=e[r];if(n===i.time){l(t,i.events,n)}else{e.splice(r,0,y(n,[t]))}}function l(t,e){if(e.length===0||t.time>=e[e.length-1].time){e.push(t)}else{p(t,e)}}function p(t,e){for(var n=0;n<e.length;n++){if(t.time<e[n].time){e.splice(n,0,t);break}}}function v(t){return Math.floor(t.time)}function m(t,n){n.events=e(t,n.events)}function d(t,e){var n=0;var r=e.length;var i,o;while(n<r){i=Math.floor((n+r)/2);o=e[i];if(t===o.time){return i}else if(t<o.time){r=i}else{n=i+1}}return r}var y=function(t,e){return{time:t,events:e}};var w=function t(e){this._clock=e};w.prototype.now=function t(){return this._clock.now()};w.prototype.setTimer=function t(e,n){return n<=0?_(e):setTimeout(e,n)};w.prototype.clearTimer=function t(e){return e instanceof k?e.cancel():clearTimeout(e)};var k=function t(e){this.f=e;this.active=true};k.prototype.run=function t(){return this.active&&this.f()};k.prototype.error=function t(e){throw e};k.prototype.cancel=function t(){this.active=false};function _(t){var e=new k(t);o(e);return e}var g=function t(e,n){this.origin=n;this._now=e};g.prototype.now=function t(){return this._now()-this.origin};var x=function t(e,n){this.origin=n;this._hrtime=e};x.prototype.now=function t(){var e=this._hrtime(this.origin);return(e[0]*1e9+e[1])/1e6};var T=function(t){return new g(t,t())};var A=function(){return T(performance.now)};var C=function(){return T(Date.now)};var N=function(){return new x(process.hrtime,process.hrtime())};var R=function(){if(typeof performance!=="undefined"&&typeof performance.now==="function"){return A()}else if(typeof process!=="undefined"&&typeof process.hrtime==="function"){return N()}return C()};var M=r(function(t,e){return new u(t,e)});var D=function(){return new u(E(),new c)};var E=function(){return new w(R())};var P=function(t){return new w(t)};var b=function(){return new c};t.newScheduler=M;t.newDefaultScheduler=D;t.newDefaultTimer=E;t.newClockTimer=P;t.newTimeline=b;t.MillisecondClock=g;t.HRTimeClock=x;t.millisecondClockFromNow=T;t.newPerformanceNowClock=A;t.newDateNowClock=C;t.newHRTimeClock=N;t.newPlatformClock=R;Object.defineProperty(t,"__esModule",{value:true})});
(function(t,e){typeof exports==="object"&&typeof module!=="undefined"?e(exports):typeof define==="function"&&define.amd?define(["exports"],e):e(t.mostCore=t.mostCore||{})})(this,function(t){"use strict";function e(t,e){var n=e.length;var r=new Array(n);var i=0;for(var o,s=0;s<n;++s){o=e[s];if(!t(o)){r[i]=o;++i}}r.length=i;return r}function n(t,e){for(var n=0,r=e.length;n<r;++n){if(t===e[n]){return n}}return-1}function r(t){function e(n,r){switch(arguments.length){case 0:return e;case 1:return function(e){return t(n,e)};default:return t(n,r)}}return e}function i(t,e,n,r){this.time=t;this.period=e;this.task=n;this.scheduler=r;this.active=true}i.prototype.run=function(){return this.task.run(this.time)};i.prototype.error=function(t){return this.task.error(this.time,t)};i.prototype.dispose=function(){this.scheduler.cancel(this);return this.task.dispose()};var o=function(t){return Promise.resolve(t).then(s)};function s(t){try{return t.run()}catch(e){return t.error(e)}}var u=function t(e,n){var r=this;this.timer=e;this.timeline=n;this._timer=null;this._nextArrival=Infinity;this._runReadyTasksBound=function(){return r._runReadyTasks(r.now())}};u.prototype.now=function t(){return this.timer.now()};u.prototype.asap=function t(e){return this.schedule(0,-1,e)};u.prototype.delay=function t(e,n){return this.schedule(e,-1,n)};u.prototype.periodic=function t(e,n){return this.schedule(0,e,n)};u.prototype.schedule=function t(e,n,r){var o=this.now();var s=new i(o+Math.max(0,e),n,r,this);this.timeline.add(s);this._scheduleNextRun(o);return s};u.prototype.cancel=function t(e){e.active=false;if(this.timeline.remove(e)){this._reschedule()}};u.prototype.cancelAll=function t(e){this.timeline.removeAll(e);this._reschedule()};u.prototype._reschedule=function t(){if(this.timeline.isEmpty()){this._unschedule()}else{this._scheduleNextRun(this.now())}};u.prototype._unschedule=function t(){this.timer.clearTimer(this._timer);this._timer=null};u.prototype._scheduleNextRun=function t(e){if(this.timeline.isEmpty()){return}var n=this.timeline.nextArrival();if(this._timer===null){this._scheduleNextArrival(n,e)}else if(n<this._nextArrival){this._unschedule();this._scheduleNextArrival(n,e)}};u.prototype._scheduleNextArrival=function t(e,n){this._nextArrival=e;var r=Math.max(0,e-n);this._timer=this.timer.setTimer(this._runReadyTasksBound,r)};u.prototype._runReadyTasks=function t(e){this._timer=null;this.timeline.runTasks(e,s);this._scheduleNextRun(this.now())};var c=function t(){this.tasks=[]};c.prototype.nextArrival=function t(){return this.isEmpty()?Infinity:this.tasks[0].time};c.prototype.isEmpty=function t(){return this.tasks.length===0};c.prototype.add=function t(e){a(e,this.tasks)};c.prototype.remove=function t(e){var r=d(v(e),this.tasks);if(r>=0&&r<this.tasks.length){var i=n(e,this.tasks[r].events);if(i>=0){this.tasks[r].events.splice(i,1);return true}}return false};c.prototype.removeAll=function t(e){var n=this;for(var r=0;r<this.tasks.length;++r){m(e,n.tasks[r])}};c.prototype.runTasks=function t(e,n){var r=this;var i=this.tasks;var o=i.length;var s=0;while(s<o&&i[s].time<=e){++s}this.tasks=i.slice(s);for(var u=0;u<s;++u){r.tasks=h(n,i[u].events,r.tasks)}};function h(t,e,n){for(var r=0;r<e.length;++r){var i=e[r];if(i.active){t(i);if(i.period>=0&&i.active){i.time=i.time+i.period;a(i,n)}}}return n}function a(t,e){var n=e.length;var r=v(t);if(n===0){e.push(y(r,[t]));return}var i=d(r,e);if(i>=n){e.push(y(r,[t]))}else{f(t,e,r,i)}}function f(t,e,n,r){var i=e[r];if(n===i.time){l(t,i.events,n)}else{e.splice(r,0,y(n,[t]))}}function l(t,e){if(e.length===0||t.time>=e[e.length-1].time){e.push(t)}else{p(t,e)}}function p(t,e){for(var n=0;n<e.length;n++){if(t.time<e[n].time){e.splice(n,0,t);break}}}function v(t){return Math.floor(t.time)}function m(t,n){n.events=e(t,n.events)}function d(t,e){var n=0;var r=e.length;var i,o;while(n<r){i=Math.floor((n+r)/2);o=e[i];if(t===o.time){return i}else if(t<o.time){r=i}else{n=i+1}}return r}var y=function(t,e){return{time:t,events:e}};var k=function t(e){this._clock=e};k.prototype.now=function t(){return this._clock.now()};k.prototype.setTimer=function t(e,n){return n<=0?_(e):setTimeout(e,n)};k.prototype.clearTimer=function t(e){return e instanceof w?e.cancel():clearTimeout(e)};var w=function t(e){this.f=e;this.active=true};w.prototype.run=function t(){return this.active&&this.f()};w.prototype.error=function t(e){throw e};w.prototype.cancel=function t(){this.active=false};function _(t){var e=new w(t);o(e);return e}var g=function t(e,n){this.origin=n;this.clock=e};g.prototype.now=function t(){return this.clock.now()-this.origin};var T=function t(e,n){this.origin=n;this.hrtime=e};T.prototype.now=function t(){var e=this.hrtime(this.origin);return(e[0]*1e9+e[1])/1e6};var x=function(t){return new g(t,t.now())};var A=function(){return x(performance)};var R=function(){return x(Date)};var C=function(){return new T(process.hrtime,process.hrtime())};var N=function(){if(typeof performance!=="undefined"&&typeof performance.now==="function"){return A()}else if(typeof process!=="undefined"&&typeof process.hrtime==="function"){return C()}return R()};var M=r(function(t,e){return new u(t,e)});var D=function(){return new u(E(),new c)};var E=function(){return new k(N())};var P=function(t){return new k(t)};var b=function(){return new c};t.newScheduler=M;t.newDefaultScheduler=D;t.newDefaultTimer=E;t.newClockTimer=P;t.newTimeline=b;t.RelativeClock=g;t.HRTimeClock=T;t.clockRelativeTo=x;t.newPerformanceClock=A;t.newDateClock=R;t.newHRTimeClock=C;t.newPlatformClock=N;Object.defineProperty(t,"__esModule",{value:true})});
{
"name": "@most/scheduler",
"version": "0.7.0",
"version": "0.7.1",
"description": "Reactive programming with lean, functions-only, curried, tree-shakeable API",

@@ -5,0 +5,0 @@ "typings": "type-definitions/index.d.ts",

import { Scheduler, Timeline, Timer, Time } from '@most/types';
export type Now = () => Time;
export type Clock = {
now: Now
now: () => Time
};

@@ -18,5 +16,5 @@

export function newPlatformClock (): Clock;
export function millisecondClockFromNow (now: Now): Clock;
export function newPerformanceNowClock (): Clock;
export function newDateNowClock (): Clock;
export function newPerformanceClock (): Clock;
export function newDateClock (): Clock;
export function newHRTimeClock (): Clock;
export function clockRelativeTo (clock: Clock): Clock;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet