fus-ext
Version:
FutureScript Extension
846 lines (814 loc) • 40.8 kB
JavaScript
"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;