UNPKG

fus-ext

Version:
846 lines (814 loc) 40.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dotDot_573300145710716007 = exports.AsyncQueue = exports.Point = exports.Observer = exports.IntervalTimer = exports.Timer = exports.clearImmediate = exports.setImmediate = exports.eventField = exports.spread = exports.assert = exports.compose = exports.fail = exports.enum = exports.break = exports.loop = exports.repeat = exports.fePromiseStatic = exports.feUint8ArrayStatic = exports.feUint8Array = exports.feConsole = exports.feDate = exports.feJson = exports.feMath = exports.feArray = exports.feObject = exports.feString = exports.feNumberStatic = exports.feNumber = exports.cmath = exports.web = exports.sys = undefined; var _sys = require("./sys"); var sys = _interopRequireWildcard(_sys); var _web = require("./web"); var web = _interopRequireWildcard(_web); var _cmath = require("./cmath"); var cmath = _interopRequireWildcard(_cmath); var _number = require("./number"); var feNumber = _interopRequireWildcard(_number); var _numberStatic = require("./number-static"); var feNumberStatic = _interopRequireWildcard(_numberStatic); var _string = require("./string"); var feString = _interopRequireWildcard(_string); var _object = require("./object"); var feObject = _interopRequireWildcard(_object); var _array = require("./array"); var feArray = _interopRequireWildcard(_array); var _math = require("./math"); var feMath = _interopRequireWildcard(_math); var _json = require("./json"); var feJson = _interopRequireWildcard(_json); var _date = require("./date"); var feDate = _interopRequireWildcard(_date); var _console = require("./console"); var feConsole = _interopRequireWildcard(_console); var _uint8Array = require("./uint8-array"); var feUint8Array = _interopRequireWildcard(_uint8Array); var _uint8ArrayStatic = require("./uint8-array-static"); var feUint8ArrayStatic = _interopRequireWildcard(_uint8ArrayStatic); var _promiseStatic = require("./promise-static"); var fePromiseStatic = _interopRequireWildcard(_promiseStatic); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } var mod_573300145710716007 = function (a, b) { return (a % b + b) % b; };var ok_573300145710716007 = function (a) { return a !== undefined && a !== null; };var dotDotCalc_573300145710716007 = function (dotDot, a, b, c) { return dotDot(a)[b](a, ...c); };var formattedRegex_573300145710716007 = function (pattern, flags) { var s = pattern; var lines = s.split("\n"); lines = lines.map(line => { var commentPos = line.indexOf(" #"); var r; if (commentPos === -1) { r = line; } else { r = line.substr(0, commentPos); } return r; }); s = lines.join("").replace(/\s/g, ""); return new RegExp(s, flags); };var asyncToGenerator_573300145710716007 = function (fn) { var gen = fn.call(this); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } step("next"); }); };var internalLoop, repeat, loop, fail, compose, assert, spread, eventField, setImmediate, clearImmediate, Timer, IntervalTimer, Observer, Point, AsyncQueue, dotDot_573300145710716007, var_573300145710716007_0, var_573300145710716007_1;internalLoop = function (data, enablesReturns) { return (() => { var theBreak, results, step, startIndex, endIndex, var_573300145710716007_18, var_573300145710716007_19, var_573300145710716007_20;theBreak = var_573300145710716007_0;results = enablesReturns ? (() => { return []; })() : (() => { return undefined; })();return typeof data === "number" ? (() => { return (() => { for (let i = 0; i < data; i++) { if (enablesReturns) results.push(i); } return results; })(); })() : (() => { return data instanceof Function ? (() => { return (() => { let i = 0; while (true) { let r = data(i); if (r === theBreak) break; if (enablesReturns) results.push(r); i++; } return results; })(); })() : (() => { return data instanceof Array ? (() => { return (() => { for (let i = 0; i < data[0]; i++) { let r = data[1] === undefined ? i : data[1](i); if (r === theBreak) break; if (enablesReturns) results.push(r); } return results; })(); })() : (() => { return data instanceof Object ? (() => { step = (var_573300145710716007_18 = data.by) === undefined ? 1 : var_573300145710716007_18;startIndex = (var_573300145710716007_19 = data.from) === undefined ? data[""] : var_573300145710716007_19;endIndex = (var_573300145710716007_20 = data.to) === undefined ? Infinity : var_573300145710716007_20;return (() => { for (let i = startIndex; step >= 0 ? i <= endIndex : i >= endIndex; i += step) { let r = data.for === undefined ? i : data.for(i); if (r === theBreak) break; if (enablesReturns) results.push(r); } return results; })(); })() : (() => { throw new Error("`repeat` syntax error."); })(); })(); })(); })(); })(); };exports.repeat = repeat = function (a, b) { return (() => { return internalLoop(b === undefined ? (() => { return a; })() : (() => { return [a, b]; })(), true); })(); };exports.loop = loop = function (a, b) { return (() => { return internalLoop(b === undefined ? (() => { return a; })() : (() => { return [a, b]; })(), false); })(); };exports.break = var_573300145710716007_0 = Symbol();exports.enum = var_573300145710716007_1 = function () { var arg_573300145710716007 = arguments;return (() => { var k, r;k = 0;r = {};Object.keys(arg_573300145710716007[0]).forEach(function () { var arg_573300145710716007 = arguments;return (() => { r[arg_573300145710716007[0]] = k;k = k + 1; })(); });return r; })(); };exports.fail = fail = function (errorMessage) { return (() => { throw new Error(errorMessage); })(); };exports.compose = compose = function (...functions) { return (() => { functions[0] instanceof Array ? (() => { functions = functions[0]; })() : undefined;return function (...args) { return (() => { var var_573300145710716007_2;var_573300145710716007_2 = this;functions.forEach(function (m) { return (() => { args = [m.apply(var_573300145710716007_2, args)]; })(); });return args[0]; })(); }; })(); };exports.assert = assert = function (condition, message) { return (() => { return !condition ? (() => { return fail(message); })() : undefined; })(); };exports.spread = spread = function (value, count) { return (() => { return repeat(count, function () { return (() => { return value; })(); }); })(); };exports.eventField = eventField = function () { return (() => { var f;f = function (method, arg) { return (() => { method instanceof Function ? (() => { arg = method;method = "bind"; })() : undefined;assert(typeof method === "string");var base_573300145710716007 = f;if (base_573300145710716007._holder === undefined || base_573300145710716007._holder === null) { base_573300145710716007._holder = this; };f[method](arg);return this; })(); };f._holder = null;f._listeners = [];f.getListeners = function () { return (() => { return dotDotCalc_573300145710716007(dotDot_573300145710716007, f._listeners, "clone", []); })(); };f.bind = function (listener) { return (() => { f._listeners.indexOf(listener) < 0 ? (() => { return f._listeners.push(listener); })() : undefined;return f; })(); };f.unbind = function (listener) { return (() => { dotDotCalc_573300145710716007(dotDot_573300145710716007, f._listeners, "removeAll", [listener]);return f; })(); };f.unbindAll = function () { return (() => { f._listeners = [];return f; })(); };f.fire = function (arg) { return (() => { f._listeners.every(function (listener) { return (() => { return ok_573300145710716007(arg) && arg.blocksListeners ? (() => { return false; })() : (() => { listener(arg, f._holder);return true; })(); })(); });return f; })(); };f.asyncFire = function (arg) { return (() => { return dotDotCalc_573300145710716007(dotDot_573300145710716007, f._listeners, "asyncForEach", [function (listener) { return (() => { return ok_573300145710716007(arg) && arg.blocksListeners ? (() => { return var_573300145710716007_0; })() : (() => { return listener(arg, f._holder); })(); })(); }]); })(); };return f; })(); };exports.setImmediate = setImmediate = function (callback, args) { return (() => { return setTimeout(callback, 0, args); })(); };exports.clearImmediate = clearImmediate = clearTimeout;exports.Timer = Timer = (() => { var var_573300145710716007_3 = Symbol();var var_573300145710716007_4 = Symbol();var var_573300145710716007_5 = Symbol();var var_573300145710716007_6 = Symbol();var var_573300145710716007_7 = Symbol();var var_573300145710716007_8 = Symbol();var var_573300145710716007_9 = Symbol();var var_573300145710716007_10 = Symbol();var var_573300145710716007_11 = Symbol();var class_573300145710716007 = class { static [var_573300145710716007_5]() { return (() => { var arg_573300145710716007 = arguments;return (() => { var base_573300145710716007 = this;if (base_573300145710716007[var_573300145710716007_6] === undefined || base_573300145710716007[var_573300145710716007_6] === null) { base_573300145710716007[var_573300145710716007_6] = setInterval(() => { return (() => { return this[var_573300145710716007_7].fire(); })(); }, this[var_573300145710716007_4]); }; })(); })(); }static [var_573300145710716007_8]() { return (() => { var arg_573300145710716007 = arguments;return (() => { ok_573300145710716007(this[var_573300145710716007_6]) ? (() => { return clearInterval(this[var_573300145710716007_6]); })() : undefined;this[var_573300145710716007_6] = null; })(); })(); }static setPrecision(precision) { return (precision => { return (() => { ok_573300145710716007(this[var_573300145710716007_6]) ? (() => { this[var_573300145710716007_8]();this[var_573300145710716007_4] = precision;return this[var_573300145710716007_5](); })() : (() => { this[var_573300145710716007_4] = precision; })();return undefined; })(); })(precision); }static getPrecision() { return (() => { var arg_573300145710716007 = arguments;return (() => { return this[var_573300145710716007_4]; })(); })(); }static getEndOfTime() { return (() => { var arg_573300145710716007 = arguments;return (() => { return this[var_573300145710716007_3]; })(); })(); }constructor(options) { (options => { return (() => { var o, var_573300145710716007_21;o = dotDotCalc_573300145710716007(dotDot_573300145710716007, Object, "absorb", [dotDotCalc_573300145710716007(dotDot_573300145710716007, Object, "clone", [(var_573300145710716007_21 = options) === undefined ? {} : var_573300145710716007_21]), { targetTime: this.constructor[var_573300145710716007_3], allowsEqual: true }]);this.targetTime = o.targetTime;this.allowsEqual = o.allowsEqual;this[var_573300145710716007_9] = 0;this[var_573300145710716007_10] = false;this.onArrive = eventField();return this.run(); })(); })(options); }run() { return (() => { var arg_573300145710716007 = arguments;return (() => { !this[var_573300145710716007_10] ? (() => { this[var_573300145710716007_10] = true;this.constructor[var_573300145710716007_5]();this[var_573300145710716007_11] = () => { var arg_573300145710716007 = arguments;return (() => { var nowTime, lastTargetTime;nowTime = new Date();return (this.allowsEqual ? (() => { return nowTime >= this.targetTime; })() : (() => { return nowTime > this.targetTime; })()) ? (() => { var base_573300145710716007 = this;base_573300145710716007[var_573300145710716007_9] = base_573300145710716007[var_573300145710716007_9] + 1;lastTargetTime = this.targetTime;this.targetTime = this.constructor[var_573300145710716007_3];return this.onArrive.fire({ idealTime: lastTargetTime, nowTime: nowTime, index: this[var_573300145710716007_9] - 1 }); })() : undefined; })(); };return this.constructor[var_573300145710716007_7].bind(this[var_573300145710716007_11]); })() : undefined;return this; })(); })(); }stop() { return (() => { var arg_573300145710716007 = arguments;return (() => { this[var_573300145710716007_10] ? (() => { this[var_573300145710716007_10] = false;this.constructor[var_573300145710716007_7].unbind(this[var_573300145710716007_11]);return dotDotCalc_573300145710716007(dotDot_573300145710716007, this.constructor[var_573300145710716007_7].getListeners(), "isEmpty", []) ? (() => { return this.constructor[var_573300145710716007_8](); })() : undefined; })() : undefined;return this; })(); })(); }getRunning() { return (() => { var arg_573300145710716007 = arguments;return (() => { return this[var_573300145710716007_10]; })(); })(); }resetCounter() { return (() => { var arg_573300145710716007 = arguments;return (() => { this[var_573300145710716007_9] = 0;return this; })(); })(); }getCounter() { return (() => { var arg_573300145710716007 = arguments;return (() => { return this[var_573300145710716007_9]; })(); })(); } };class_573300145710716007[var_573300145710716007_3] = new Date("9999-12-30T00:00:00Z");class_573300145710716007[var_573300145710716007_4] = 30;class_573300145710716007[var_573300145710716007_7] = eventField();return class_573300145710716007; })();exports.IntervalTimer = IntervalTimer = (() => { var var_573300145710716007_12 = Symbol();var class_573300145710716007 = class extends Timer { constructor(options) { (options => { return (() => { var nowTime, o, var_573300145710716007_22;super(options);nowTime = new Date();o = dotDotCalc_573300145710716007(dotDot_573300145710716007, Object, "absorb", [dotDotCalc_573300145710716007(dotDot_573300145710716007, Object, "clone", [(var_573300145710716007_22 = options) === undefined ? {} : var_573300145710716007_22]), { interval: 1000, startTime: nowTime, endTime: dotDotCalc_573300145710716007(dotDot_573300145710716007, this.constructor.getEndOfTime(), "subtract", [1000]), includesStart: true, includesEnd: false, skipsPast: false }]);this.interval = o.interval;this.startTime = o.startTime;this.endTime = o.endTime;this.includesStart = o.includesStart;this.includesEnd = o.includesEnd;this.skipsPast = o.skipsPast;this.targetTime = this.startTime;this[var_573300145710716007_12] = false;this.onStart = eventField();return this.onArrive.bind(e => { return (() => { return this.interval < this.constructor.getPrecision() * 2 ? (() => { return this.stop(); })() : (() => { this.targetTime = this.skipsPast ? (() => { return new Date(e.nowTime - mod_573300145710716007(e.nowTime - e.idealTime, this.interval) + this.interval); })() : (() => { return dotDotCalc_573300145710716007(dotDot_573300145710716007, e.idealTime, "add", [this.interval]); })();!this[var_573300145710716007_12] ? (() => { this[var_573300145710716007_12] = true;!this.includesStart ? (() => { this.resetCounter();e.blocksListeners = true; })() : undefined;return this.onStart.fire(); })() : undefined;return (this.includesEnd ? (() => { return this.targetTime > this.endTime; })() : (() => { return this.targetTime >= this.endTime; })()) ? (() => { return this.stop(); })() : undefined; })(); })(); }); })(); })(options); } };return class_573300145710716007; })();exports.Observer = Observer = (() => { var var_573300145710716007_13 = Symbol();var var_573300145710716007_14 = Symbol();var var_573300145710716007_15 = Symbol();var class_573300145710716007 = class extends IntervalTimer { constructor(...args) { ((...args) => { return (() => { var options, fn, clonedOptions;[options, fn] = args[0] instanceof Function ? (() => { return [args[1], args[0]]; })() : (() => { return [args[0], args[1]]; })();clonedOptions = ok_573300145710716007(options) ? (() => { return dotDotCalc_573300145710716007(dotDot_573300145710716007, Object, "clone", [options]); })() : (() => { return {}; })();var base_573300145710716007 = clonedOptions;if (base_573300145710716007.interval === undefined || base_573300145710716007.interval === null) { base_573300145710716007.interval = 100; };var base_573300145710716007 = clonedOptions;if (base_573300145710716007.skipsPast === undefined || base_573300145710716007.skipsPast === null) { base_573300145710716007.skipsPast = true; };super(clonedOptions);this[var_573300145710716007_14] = fn;this.onChange = eventField();this.onUpdate = eventField();return this.onArrive.bind(() => { var arg_573300145710716007 = arguments;return (() => { return this.check(); })(); }); })(); })(...args); }check(forcesUpdate) { return (forcesUpdate => { if (forcesUpdate === undefined) { forcesUpdate = false; }return (() => { var newValue;newValue = (() => { try { return (() => { return this[var_573300145710716007_14](); })(); } catch (catch_573300145710716007) { return (() => { return this.constructor[var_573300145710716007_13]; })(); } finally {} })();newValue === undefined ? (() => { newValue = this.constructor[var_573300145710716007_13]; })() : undefined;return forcesUpdate || this[var_573300145710716007_15] === undefined || !Object.is(newValue, this[var_573300145710716007_15]) ? (() => { this.onUpdate.fire({ value: newValue });this[var_573300145710716007_15] !== undefined ? (() => { return this.onChange.fire({ oldValue: this[var_573300145710716007_15], newValue: newValue }); })() : undefined;this[var_573300145710716007_15] = newValue; })() : undefined; })(); })(forcesUpdate); } };class_573300145710716007[var_573300145710716007_13] = new Error();return class_573300145710716007; })();exports.Point = Point = (() => { var class_573300145710716007 = class { constructor(x, y) { ((x, y) => { return (() => { this.x = x;this.y = y; })(); })(x, y); }static from(value, second) { return ((value, second) => { return (() => { return typeof value === "number" ? (() => { return typeof second === "number" ? (() => { return new Point(value, second); })() : (() => { return new Point(value, 0); })(); })() : (() => { return value instanceof Point ? (() => { return value.clone(); })() : (() => { return typeof value === "string" ? (() => { return Point.fromString(value); })() : (() => { return value instanceof Array ? (() => { return Point.fromArray(value); })() : (() => { return fail(); })(); })(); })(); })(); })(); })(value, second); }static fromArray(array) { return (array => { return (() => { return new Point(array[0], array[1]); })(); })(array); }static fromString(s) { return (s => { return (() => { var adjustedString, normalMatch, complexMatch, real, imaginary, var_573300145710716007_23, var_573300145710716007_24;adjustedString = s.replace(new RegExp("[ ()] ", "g"), "");normalMatch = adjustedString.match(new RegExp("^([^,]*),(.*)$"));return ok_573300145710716007(normalMatch) ? (() => { return new Point(dotDotCalc_573300145710716007(dotDot_573300145710716007, Number, "parseFloat", [normalMatch[1]]), dotDotCalc_573300145710716007(dotDot_573300145710716007, Number, "parseFloat", [normalMatch[2]])); })() : (() => { complexMatch = adjustedString.match(formattedRegex_573300145710716007("^\n (\n [+-]?\n [0-9]*\n \\.?\n [0-9]*\n (?:\n [Ee]\n [+-]?\n [0-9]+\n )?\n (?! [i0-9Ee.] )\n )?\n (?:\n (\n [+-]?\n [0-9]*\n \\.?\n [0-9]*\n (?:\n [Ee]\n [+-]?\n [0-9]+\n )?\n )\n i\n )?\n$"));return ok_573300145710716007(complexMatch) ? (() => { real = (var_573300145710716007_23 = complexMatch[1]) === undefined || var_573300145710716007_23 === null ? "0" : var_573300145710716007_23;imaginary = (var_573300145710716007_24 = complexMatch[2]) === undefined || var_573300145710716007_24 === null ? "0" : var_573300145710716007_24;real === "" ? (() => { real = "1"; })() : undefined;imaginary === "" ? (() => { imaginary = "1"; })() : undefined;real === "+" ? (() => { real = "1"; })() : undefined;imaginary === "+" ? (() => { imaginary = "1"; })() : undefined;real === "-" ? (() => { real = "-1"; })() : undefined;imaginary === "-" ? (() => { imaginary = "-1"; })() : undefined;return new Point(parseFloat(real), parseFloat(imaginary)); })() : (() => { return fail(); })(); })(); })(); })(s); }static fromPolar(r, angle) { return ((r, angle) => { return (() => { return new Point(r * Math.cos(angle), r * Math.sin(angle)); })(); })(r, angle); }static fromPolarInDegrees(r, angle) { return ((r, angle) => { return (() => { return (() => { var matchComparer_573300145710716007 = dotDotCalc_573300145710716007(dotDot_573300145710716007, Math, "principalDegrees", [angle]);return matchComparer_573300145710716007 === 0 ? (() => { return new Point(r, 0); })() : matchComparer_573300145710716007 === 90 ? (() => { return new Point(0, r); })() : matchComparer_573300145710716007 === -90 ? (() => { return new Point(0, -r); })() : matchComparer_573300145710716007 === 180 ? (() => { return new Point(-r, 0); })() : (() => { return Point.fromPolar(r, dotDotCalc_573300145710716007(dotDot_573300145710716007, Math, "degreesToRadians", [angle])); })(); })(); })(); })(r, angle); }real() { return (() => { var arg_573300145710716007 = arguments;return (() => { return this.x; })(); })(); }imaginary() { return (() => { var arg_573300145710716007 = arguments;return (() => { return this.y; })(); })(); }toString() { return (() => { var arg_573300145710716007 = arguments;return (() => { return "(" + this.x + "," + this.y + ")"; })(); })(); }toComplexString() { return (() => { var arg_573300145710716007 = arguments;return (() => { var sign;sign = this.y >= 0 ? (() => { return "+"; })() : (() => { return "-"; })();return "" + this.x + "" + sign + "" + Math.abs(this.y) + "i"; })(); })(); }toArray() { return (() => { var arg_573300145710716007 = arguments;return (() => { return [this.x, this.y]; })(); })(); }toJSON() { return (() => { var arg_573300145710716007 = arguments;return (() => { return { x: this.x, y: this.y }; })(); })(); }clone() { return (() => { var arg_573300145710716007 = arguments;return (() => { return new Point(this.x, this.y); })(); })(); }equals(p) { return (p => { return (() => { return cmath.equals(this, p); })(); })(p); }approxEquals(p) { return (p => { return (() => { return cmath.approxEquals(this, p); })(); })(p); }opposite() { return (() => { var arg_573300145710716007 = arguments;return (() => { return cmath.opposite(this); })(); })(); }reciprocal() { return (() => { var arg_573300145710716007 = arguments;return (() => { return cmath.reciprocal(this); })(); })(); }conjugate() { return (() => { var arg_573300145710716007 = arguments;return (() => { return cmath.conjugate(this); })(); })(); }abs() { return (() => { var arg_573300145710716007 = arguments;return (() => { return cmath.abs(this); })(); })(); }add(p) { return (p => { return (() => { return cmath.add(this, p); })(); })(p); }subtract(p) { return (p => { return (() => { return cmath.subtract(this, p); })(); })(p); }multiply(p) { return (p => { return (() => { return cmath.multiply(this, p); })(); })(p); }divide(p) { return (p => { return (() => { return cmath.divide(this, p); })(); })(p); }distance(p) { return (p => { return (() => { return cmath.distance(this, p); })(); })(p); }dotProduct(p) { return (p => { return (() => { p = Point.from(p);return this.x * p.x + this.y * p.y; })(); })(p); }crossProduct(p) { return (p => { return (() => { p = Point.from(p);return this.x * p.y - this.y * p.x; })(); })(p); }isOppositeTo(p) { return (p => { return (() => { return this.opposite().equals(p); })(); })(p); }phase() { return (() => { var arg_573300145710716007 = arguments;return (() => { return cmath.phase(this); })(); })(); }phaseTo(p) { return (p => { return (() => { p = Point.from(p);return dotDotCalc_573300145710716007(dotDot_573300145710716007, Math, "principalRadians", [p.phase() - this.phase()]); })(); })(p); }phaseInDegrees() { return (() => { var arg_573300145710716007 = arguments;return (() => { return cmath.phaseInDegrees(this); })(); })(); }phaseInDegreesTo(p) { return (p => { return (() => { p = Point.from(p);return dotDotCalc_573300145710716007(dotDot_573300145710716007, Math, "principalDegrees", [p.phaseInDegrees() - this.phaseInDegrees()]); })(); })(p); }scale(value, second) { return ((value, second) => { return (() => { var size;size = typeof value === "number" ? (() => { return typeof second === "number" ? (() => { return new Point(value, second); })() : (() => { return new Point(value, value); })(); })() : (() => { return Point.from(value); })();return new Point(this.x * size.x, this.y * size.y); })(); })(value, second); }rotate(angle) { return (angle => { return (() => { return this.multiply(Point.fromPolar(1, angle)); })(); })(angle); }rotateDegrees(angle) { return (angle => { return (() => { return this.multiply(Point.fromPolarInDegrees(1, angle)); })(); })(angle); } };return class_573300145710716007; })();exports.AsyncQueue = AsyncQueue = (() => { var var_573300145710716007_16 = Symbol();var var_573300145710716007_17 = Symbol();var class_573300145710716007 = class { constructor() { (() => { var arg_573300145710716007 = arguments;return (() => { this[var_573300145710716007_16] = 0;this[var_573300145710716007_17] = Promise.resolve(); })(); })(); }add(arg) { return (arg => { return (() => { var list;list = arg instanceof Array ? (() => { return arg; })() : (() => { return [arg]; })();return list.forEach(callback => { return (() => { var base_573300145710716007 = this;base_573300145710716007[var_573300145710716007_16] = base_573300145710716007[var_573300145710716007_16] + 1;this[var_573300145710716007_17] = this[var_573300145710716007_17].then(() => { var arg_573300145710716007 = arguments;return asyncToGenerator_573300145710716007.call(this, function* () { yield callback();var base_573300145710716007 = this;base_573300145710716007[var_573300145710716007_16] = base_573300145710716007[var_573300145710716007_16] - 1; }); }); })(); }); })(); })(arg); }get length() { return (() => { var arg_573300145710716007 = arguments;return (() => { return this[var_573300145710716007_16]; })(); })(); } };return class_573300145710716007; })();exports.sys = sys; exports.web = web; exports.cmath = cmath; exports.feNumber = feNumber; exports.feNumberStatic = feNumberStatic; exports.feString = feString; exports.feObject = feObject; exports.feArray = feArray; exports.feMath = feMath; exports.feJson = feJson; exports.feDate = feDate; exports.feConsole = feConsole; exports.feUint8Array = feUint8Array; exports.feUint8ArrayStatic = feUint8ArrayStatic; exports.fePromiseStatic = fePromiseStatic; exports.dotDot_573300145710716007 = dotDot_573300145710716007 = function (x) { return (() => { return x === Number ? (() => { return feNumberStatic; })() : (() => { return x === Object ? (() => { return feObject; })() : (() => { return x === Math ? (() => { return feMath; })() : (() => { return x === JSON ? (() => { return feJson; })() : (() => { return x === console ? (() => { return feConsole; })() : (() => { return x === Uint8Array ? (() => { return feUint8ArrayStatic; })() : (() => { return x === Promise ? (() => { return fePromiseStatic; })() : (() => { return typeof x === "number" ? (() => { return feNumber; })() : (() => { return typeof x === "string" ? (() => { return feString; })() : (() => { return x instanceof Array ? (() => { return feArray; })() : (() => { return x instanceof Date ? (() => { return feDate; })() : (() => { return x instanceof Uint8Array ? (() => { return feUint8Array; })() : undefined; })(); })(); })(); })(); })(); })(); })(); })(); })(); })(); })(); })(); };exports.repeat = repeat; exports.loop = loop; exports.break = var_573300145710716007_0; exports.enum = var_573300145710716007_1; exports.fail = fail; exports.compose = compose; exports.assert = assert; exports.spread = spread; exports.eventField = eventField; exports.setImmediate = setImmediate; exports.clearImmediate = clearImmediate; exports.Timer = Timer; exports.IntervalTimer = IntervalTimer; exports.Observer = Observer; exports.Point = Point; exports.AsyncQueue = AsyncQueue; exports.dotDot_573300145710716007 = dotDot_573300145710716007;