fus-ext
Version:
FutureScript Extension
743 lines (738 loc) • 121 kB
JavaScript
"use strict";
var _manifest = require("./manifest");
var _assert = require("assert");
var _assert2 = _interopRequireDefault(_assert);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var mod_573300145710716007 = function (a, b) {
return (a % b + b) % b;
};var dotDotCalc_573300145710716007 = function (dotDot, a, b, c) {
return dotDot(a)[b](a, ...c);
};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 sleep;sleep = function (ms) {
return (() => {
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);return undefined;
})();
};describe("compatibility", function () {
return (() => {
it("setImmediate", function (done) {
return (() => {
var value;value = 1;(0, _manifest.setImmediate)(function () {
var arg_573300145710716007 = arguments;return (() => {
_assert2.default.strictEqual(value, 2);return done();
})();
});value = 2;
})();
});return it("clearImmediate", function (done) {
return (() => {
var value, timer;value = 1;timer = (0, _manifest.setImmediate)(function () {
var arg_573300145710716007 = arguments;return (() => {
value = 2;
})();
});(0, _manifest.clearImmediate)(timer);return setTimeout(function () {
var arg_573300145710716007 = arguments;return (() => {
_assert2.default.strictEqual(value, 1);return done();
})();
}, 100);
})();
});
})();
});describe("loop", function () {
return (() => {
it("array: number, diamond function", function () {
return (() => {
var r, ret;r = [];ret = (0, _manifest.loop)(5, function () {
var arg_573300145710716007 = arguments;return (() => {
return r.push(1);
})();
});_assert2.default.deepStrictEqual(r, [1, 1, 1, 1, 1]);return _assert2.default.strictEqual(ret, undefined);
})();
});it("array: number, arrow function", function () {
return (() => {
var r;r = [];(0, _manifest.loop)(5, function (i) {
return (() => {
return r.push(i);
})();
});return _assert2.default.deepStrictEqual(r, [0, 1, 2, 3, 4]);
})();
});it("object: by 2 with break", function () {
return (() => {
var r;r = [];(0, _manifest.loop)({ [""]: 1, by: 2, for: function (i) {
return (() => {
r.push(i);return i > 9 ? (() => {
return _manifest.break;
})() : undefined;
})();
} });return _assert2.default.deepStrictEqual(r, [1, 3, 5, 7, 9, 11]);
})();
});it("array: number, arrow function with break", function () {
return (() => {
var r;r = [];(0, _manifest.loop)(10, function (i) {
return (() => {
r.push(i);return i > 5 ? (() => {
return _manifest.break;
})() : undefined;
})();
});return _assert2.default.deepStrictEqual(r, [0, 1, 2, 3, 4, 5, 6]);
})();
});it("object: canonical", function () {
return (() => {
var r;r = [];(0, _manifest.loop)({ from: 1, to: 5, for: function (i) {
return (() => {
return r.push(i);
})();
} });return _assert2.default.deepStrictEqual(r, [1, 2, 3, 4, 5]);
})();
});it("object: normal", function () {
return (() => {
var r;r = [];(0, _manifest.loop)({ [""]: 1, to: 5, for: function (i) {
return (() => {
return r.push(i);
})();
} });return _assert2.default.deepStrictEqual(r, [1, 2, 3, 4, 5]);
})();
});it("object: by -1", function () {
return (() => {
var r;r = [];(0, _manifest.loop)({ [""]: 5, to: 1, by: -1, for: function (i) {
return (() => {
return r.push(i);
})();
} });return _assert2.default.deepStrictEqual(r, [5, 4, 3, 2, 1]);
})();
});return it("function: with break", function () {
return (() => {
var r;r = [];(0, _manifest.loop)(function (i) {
return (() => {
r.push(i);return i > 3 ? (() => {
return _manifest.break;
})() : undefined;
})();
});return _assert2.default.deepStrictEqual(r, [0, 1, 2, 3, 4]);
})();
});
})();
});describe("repeat", function () {
return (() => {
return it("repeat", function () {
return (() => {
_assert2.default.deepStrictEqual((0, _manifest.repeat)(5, function (i) {
return (() => {
return i + 2;
})();
}), [2, 3, 4, 5, 6]);_assert2.default.deepStrictEqual((0, _manifest.repeat)(5), [0, 1, 2, 3, 4]);_assert2.default.deepStrictEqual((0, _manifest.repeat)({ [""]: 1, to: 10, by: 2 }), [1, 3, 5, 7, 9]);return _assert2.default.deepStrictEqual((0, _manifest.repeat)({ [""]: 1, by: 2, for: function (i) {
return (() => {
return i > 9 ? (() => {
return _manifest.break;
})() : (() => {
return i;
})();
})();
} }), [1, 3, 5, 7, 9]);
})();
});
})();
});describe("enum", function () {
return (() => {
return it("enum", function () {
return (() => {
_assert2.default.deepStrictEqual((0, _manifest.enum)({ a: true }), { a: 0 });return _assert2.default.deepStrictEqual((0, _manifest.enum)({ a: true, b: true }), { a: 0, b: 1 });
})();
});
})();
});describe("compose", function () {
return (() => {
it("multiple arguments", function () {
return (() => {
var a;a = (0, _manifest.compose)(Math.min, Math.abs);return _assert2.default.strictEqual(a(-2, -3), 3);
})();
});return it("array argument", function () {
return (() => {
var a;a = (0, _manifest.compose)([Math.min, Math.abs]);return _assert2.default.strictEqual(a(-2, -3), 3);
})();
});
})();
});describe("spread", function () {
return (() => {
return it("spread", function () {
return (() => {
return _assert2.default.deepStrictEqual((0, _manifest.spread)(0, 3), [0, 0, 0]);
})();
});
})();
});describe("eventField", function () {
return (() => {
it("basic", function () {
return (() => {
var r, Obj, obj;r = null;Obj = (() => {
var class_573300145710716007 = class {
constructor() {
(() => {
return (() => {
this.onClick = (0, _manifest.eventField)();
})();
})();
}makeClick() {
return (() => {
return (() => {
return this.onClick.fire();
})();
})();
}
};return class_573300145710716007;
})();obj = new Obj();obj.onClick(function () {
return (() => {
r = true;
})();
});obj.makeClick();return _assert2.default.strictEqual(r, true);
})();
});it("advanced", function () {
return (() => {
var r1, r2, Obj, obj;r1 = null;r2 = null;Obj = (() => {
var class_573300145710716007 = class {
constructor() {
(() => {
return (() => {
this.onClick = (0, _manifest.eventField)();
})();
})();
}makeClick() {
return (() => {
return (() => {
return this.onClick.fire({ a: 5 });
})();
})();
}
};return class_573300145710716007;
})();obj = new Obj();obj.onClick(function (e, holder) {
return (() => {
r1 = e;r2 = holder;
})();
});obj.makeClick();_assert2.default.strictEqual(r1.a, 5);return _assert2.default.strictEqual(r2, obj);
})();
});it("more advanced", function () {
return (() => {
var listener1Holder, listener2Holder, callOrder, Obj, obj, listener1, listener2;listener1Holder = undefined;listener2Holder = undefined;callOrder = [];Obj = (() => {
var class_573300145710716007 = class {
constructor() {
(() => {
return (() => {
this.onClick = (0, _manifest.eventField)();
})();
})();
}makeClick() {
return (() => {
return (() => {
return this.onClick.fire();
})();
})();
}
};return class_573300145710716007;
})();obj = new Obj();obj.onClick.bind(listener1 = function (e, holder) {
return (() => {
listener1Holder = holder;return callOrder.push(1);
})();
});obj.makeClick();_assert2.default.strictEqual(listener1Holder, null);obj.onClick(listener2 = function (e, holder) {
return (() => {
listener2Holder = holder;return callOrder.push(2);
})();
});obj.makeClick();_assert2.default.strictEqual(listener1Holder, obj);_assert2.default.strictEqual(listener2Holder, obj);_assert2.default.deepStrictEqual(callOrder, [1, 1, 2]);_assert2.default.strictEqual(obj.onClick.getListeners().length, 2);_assert2.default.strictEqual(obj.onClick.getListeners()[0], listener1);return _assert2.default.strictEqual(obj.onClick.getListeners()[1], listener2);
})();
});it("unbind", function () {
return (() => {
var r, Obj, obj, listener1, listener2, listener3;r = [];Obj = (() => {
var class_573300145710716007 = class {
constructor() {
(() => {
return (() => {
this.onClick = (0, _manifest.eventField)();
})();
})();
}makeClick() {
return (() => {
return (() => {
return this.onClick.fire();
})();
})();
}
};return class_573300145710716007;
})();obj = new Obj();obj.onClick(listener1 = function () {
return (() => {
return r.push(true);
})();
}).onClick(listener2 = function () {
return (() => {
return r.push(false);
})();
}).onClick(listener3 = function () {
return (() => {
return r.push(10);
})();
});obj.makeClick();_assert2.default.deepStrictEqual(r, [true, false, 10]);r = [];obj.onClick.unbind(listener2);obj.makeClick();_assert2.default.deepStrictEqual(r, [true, 10]);_assert2.default.strictEqual(obj.onClick.getListeners().length, 2);_assert2.default.strictEqual(obj.onClick.getListeners()[0], listener1);_assert2.default.strictEqual(obj.onClick.getListeners()[1], listener3);r = [];obj.onClick.unbindAll();obj.makeClick();_assert2.default.deepStrictEqual(r, []);return _assert2.default.strictEqual(obj.onClick.getListeners().length, 0);
})();
});return it("async", function () {
return asyncToGenerator_573300145710716007.call(this, function* () {
var oldTime, r, Obj, obj, actualMs, var_573300145710716007_2;oldTime = new Date();r = [];Obj = yield asyncToGenerator_573300145710716007.call(this, function* () {
var class_573300145710716007 = class {
constructor() {
(() => {
return (() => {
this.onClick = (0, _manifest.eventField)();
})();
})();
}makeClick() {
return (() => {
return asyncToGenerator_573300145710716007.call(this, function* () {
yield this.onClick.asyncFire();return r.push(3);
});
})();
}
};return class_573300145710716007;
});obj = new Obj();obj.onClick(function () {
return asyncToGenerator_573300145710716007.call(this, function* () {
yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Promise, "delay", [50]);return r.push(1);
});
}).onClick(function () {
return asyncToGenerator_573300145710716007.call(this, function* () {
yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Promise, "delay", [50]);return r.push(2);
});
});yield obj.makeClick();actualMs = new Date() - oldTime;_assert2.default.deepStrictEqual(r, [1, 2, 3]);return (0, _assert2.default)(100 <= (var_573300145710716007_2 = actualMs) && var_573300145710716007_2 <= 130);
});
});
})();
});describe("string", function () {
return (() => {
it("bound", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "", "bound", []), -1);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "aaa", "bound", []), 2);
})();
});it("format", function () {
return (() => {
return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "a {0} b {1}", "format", ["qq", "r"]), "a qq b r");
})();
});it("insert", function () {
return (() => {
return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "aaa", "insert", [1, "b"]), "abaa");
})();
});it("remove", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "abcde", "remove", [1, 2]), "ade");return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "abcde", "remove", [1]), "acde");
})();
});it("matches", function () {
return (() => {
var matches;matches = dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "aaa bbb", "matches", [new RegExp("a")]);(0, _assert2.default)(matches instanceof Array);_assert2.default.strictEqual(matches.length, 3);(0, _assert2.default)(matches[0] instanceof Array);_assert2.default.strictEqual(matches[0].length, 1);_assert2.default.strictEqual(matches[0][0], "a");_assert2.default.strictEqual(matches[0].index, 0);(0, _assert2.default)(matches[1] instanceof Array);_assert2.default.strictEqual(matches[1].length, 1);_assert2.default.strictEqual(matches[1][0], "a");_assert2.default.strictEqual(matches[1].index, 1);(0, _assert2.default)(matches[2] instanceof Array);_assert2.default.strictEqual(matches[2].length, 1);_assert2.default.strictEqual(matches[2][0], "a");return _assert2.default.strictEqual(matches[2].index, 2);
})();
});it("capitalize", function () {
return (() => {
return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "abc", "capitalize", []), "Abc");
})();
});it("split", function () {
return (() => {
_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "a:b,c:d", "split", [",", ":"]), [["a", "b"], ["c", "d"]]);return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "a:b,c:d", "split", [[",", ":"]]), [["a", "b"], ["c", "d"]]);
})();
});it("stripTrailingNewline", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "a\nb\n", "stripTrailingNewline", []), "a\nb");return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "a\nb", "stripTrailingNewline", []), "a\nb");
})();
});it("ensureTrailingNewline", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "a\nb\n", "ensureTrailingNewline", []), "a\nb\n");return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "a\nb", "ensureTrailingNewline", []), "a\nb\n");
})();
});return it("toBytes", function () {
return (() => {
return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, "A我们BC", "toBytes", []), new Uint8Array([0x41, 0xe6, 0x88, 0x91, 0xe4, 0xbb, 0xac, 0x42, 0x43]));
})();
});
})();
});describe("math", function () {
return (() => {
it("approxEquals", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [1, 1.000000001]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [1, 0.999999999]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [1, 1.001]), false);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [1, 0.999]), false);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [0, 0.000000001]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [0, 0.001]), false);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [0, 0]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [-0, 0]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [-0, -0]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [-0.000000001, 0.000000001]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [0.000000001, -0.000000001]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [-1, -1.000000001]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [-1, -1.001]), false);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [0, -0.001]), false);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [0, -0.000000001]), true);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxEquals", [-0.000000001, 0]), true);
})();
});it("approxGreaterThan", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxGreaterThan", [1, 1.000000001]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxGreaterThan", [1, 0.999999999]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxGreaterThan", [1, 1.001]), false);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxGreaterThan", [1, 0.999]), true);
})();
});it("approxLessThan", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxLessThan", [1, 1.000000001]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxLessThan", [1, 0.999999999]), true);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxLessThan", [1, 1.001]), true);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "approxLessThan", [1, 0.999]), false);
})();
});it("radiansToDegrees", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "radiansToDegrees", [Math.PI]), 180);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "radiansToDegrees", [Math.PI * 2]), 360);
})();
});it("degreesToRadians", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "degreesToRadians", [180]), Math.PI);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "degreesToRadians", [360]), Math.PI * 2);
})();
});it("principalRadians", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalRadians", [Math.PI * 0.5]), Math.PI * 0.5);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalRadians", [Math.PI]), Math.PI);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalRadians", [Math.PI * 2]), 0);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalRadians", [-Math.PI]), Math.PI);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalRadians", [Math.PI * 1.5]), -Math.PI * 0.5);
})();
});it("principalDegrees", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalDegrees", [90]), 90);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalDegrees", [180]), 180);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalDegrees", [360]), 0);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalDegrees", [-180]), 180);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "principalDegrees", [270]), -90);
})();
});it("roundDecimal", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "roundDecimal", [1.678]), 2);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "roundDecimal", [1.678, 2]), 1.68);
})();
});it("randomNumber", function () {
return (() => {
var r;r = (0, _manifest.repeat)(60, function () {
var arg_573300145710716007 = arguments;return (() => {
return dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "randomNumber", [1, 3]);
})();
});(0, _assert2.default)(r.every(function (m) {
return (() => {
var var_573300145710716007_3;return 1 <= (var_573300145710716007_3 = m) && var_573300145710716007_3 < 3;
})();
}));(0, _assert2.default)(r.some(function (m) {
return (() => {
var var_573300145710716007_4;return 1 <= (var_573300145710716007_4 = m) && var_573300145710716007_4 < 2;
})();
}));(0, _assert2.default)(r.some(function (m) {
return (() => {
var var_573300145710716007_5;return 2 <= (var_573300145710716007_5 = m) && var_573300145710716007_5 < 3;
})();
}));return (0, _assert2.default)(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, r, "distinct", []).length > 1);
})();
});return it("randomInt", function () {
return (() => {
var r;r = (0, _manifest.repeat)(60, function () {
var arg_573300145710716007 = arguments;return (() => {
return dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Math, "randomInt", [1, 3]);
})();
});(0, _assert2.default)(r.every(function (m) {
return (() => {
return m === 1 || m === 2;
})();
}));(0, _assert2.default)(r.some(function (m) {
return (() => {
return m === 1;
})();
}));(0, _assert2.default)(r.some(function (m) {
return (() => {
return m === 2;
})();
}));return (0, _assert2.default)(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, r, "distinct", []).length > 1);
})();
});
})();
});describe("array", function () {
return (() => {
it("clone", function () {
return (() => {
var a, b;a = [1, 2, 3];b = dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, a, "clone", []);_assert2.default.notStrictEqual(b, a);return _assert2.default.deepStrictEqual(b, a);
})();
});it("bound", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [], "bound", []), -1);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 1, 1], "bound", []), 2);
})();
});it("isEmpty", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [], "isEmpty", []), true);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1], "isEmpty", []), false);
})();
});it("portion", function () {
return (() => {
_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5, 6], "portion", [2, 3]), [3, 4, 5]);_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5, 6], "portion", [2, undefined, 3]), [3, 4]);_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5, 6], "portion", [2]), [3, 4, 5, 6]);return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5, 6], "portion", [2, undefined, 0.999]), [3, 4, 5, 6]);
})();
});it("at", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "at", [1]), 2);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "at", [0.5]), 3);
})();
});it("atOrNull", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "atOrNull", [1]), 2);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "atOrNull", [10]), null);
})();
});it("atOrVoid", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "atOrVoid", [1]), 2);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "atOrVoid", [10]), undefined);
})();
});it("includes", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "includes", [3]), true);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "includes", [4]), false);
})();
});it("first", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "first", []), 1);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "first", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 0;
})();
}]), 2);
})();
});it("firstOrNull", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "firstOrNull", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 0;
})();
}]), 2);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "firstOrNull", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 2;
})();
}]), null);
})();
});it("firstOrVoid", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "firstOrVoid", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 0;
})();
}]), 2);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "firstOrVoid", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 2;
})();
}]), undefined);
})();
});it("last", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "last", []), 5);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "last", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 0;
})();
}]), 4);
})();
});it("lastOrNull", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "lastOrNull", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 0;
})();
}]), 4);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "lastOrNull", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 2;
})();
}]), null);
})();
});it("lastOrVoid", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "lastOrVoid", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 0;
})();
}]), 4);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "lastOrVoid", [function (m) {
return (() => {
return mod_573300145710716007(m, 2) === 2;
})();
}]), undefined);
})();
});it("single", function () {
return (() => {
_assert2.default.throws(function () {
return (() => {
return dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "single", []);
})();
});_assert2.default.throws(function () {
return (() => {
return dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "single", [function (m) {
return (() => {
return m === 10;
})();
}]);
})();
});return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "single", [function (m) {
return (() => {
return m === 3;
})();
}]), 3);
})();
});it("singleOrNull", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "singleOrNull", [function (m) {
return (() => {
return m === 3;
})();
}]), 3);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "singleOrNull", [function (m) {
return (() => {
return m === 10;
})();
}]), null);
})();
});it("singleOrVoid", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "singleOrVoid", [function (m) {
return (() => {
return m === 3;
})();
}]), 3);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "singleOrVoid", [function (m) {
return (() => {
return m === 10;
})();
}]), undefined);
})();
});it("withMax", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "withMax", [function (m) {
return (() => {
return -m;
})();
}]), 1);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "withMax", []), 5);
})();
});it("withMin", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "withMin", [function (m) {
return (() => {
return -m;
})();
}]), 5);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "withMin", []), 1);
})();
});it("max", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "max", [function (m) {
return (() => {
return -m;
})();
}]), -1);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "max", []), 5);
})();
});it("min", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "min", [function (m) {
return (() => {
return -m;
})();
}]), -5);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "min", []), 1);
})();
});it("sum", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "sum", []), 15);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [], "sum", []), 0);
})();
});it("average", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "average", []), 3);return _assert2.default.throws(function () {
return (() => {
return dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [], "average", []);
})();
});
})();
});it("median", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 10], "median", []), 3);_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5, 10], "median", []), 3.5);return _assert2.default.throws(function () {
return (() => {
return dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [], "median", []);
})();
});
})();
});it("product", function () {
return (() => {
_assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "product", []), 120);return _assert2.default.strictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [], "product", []), 1);
})();
});it("group", function () {
return (() => {
return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5, 6], "group", [function (m) {
return (() => {
return mod_573300145710716007(m, 2);
})();
}]), [[0, [2, 4, 6]], [1, [1, 3, 5]]]);
})();
});it("sort", function () {
return (() => {
_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [2, 4, 3, 5, 1], "sort", []), [1, 2, 3, 4, 5]);return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [2, 4, 3, 5, 1], "sort", [function (m) {
return (() => {
return -m;
})();
}]), [5, 4, 3, 2, 1]);
})();
});it("sortDescending", function () {
return (() => {
_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [2, 4, 3, 5, 1], "sortDescending", []), [5, 4, 3, 2, 1]);return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [2, 4, 3, 5, 1], "sortDescending", [function (m) {
return (() => {
return -m;
})();
}]), [1, 2, 3, 4, 5]);
})();
});it("reverse", function () {
return (() => {
return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "reverse", []), [5, 4, 3, 2, 1]);
})();
});it("except", function () {
return (() => {
return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "except", [[3]]), [1, 2, 4, 5]);
})();
});it("distinct", function () {
return (() => {
return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 2, 3, 3], "distinct", []), [1, 2, 3]);
})();
});it("union", function () {
return (() => {
return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "union", [[4, 5]]), [1, 2, 3, 4, 5]);
})();
});it("intersect", function () {
return (() => {
_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "intersect", [[2, 3, 4, 5]]), [2, 3]);return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "intersect", [[4, 5]]), []);
})();
});it("flatten", function () {
return (() => {
_assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, [[2, 3], 4], 5], "flatten", []), [1, 2, 3, 4, 5]);return _assert2.default.deepStrictEqual(dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, [[2, 3], 4], 5], "flatten", [1]), [1, [2, 3], 4, 5]);
})();
});it("forEach: without break", function () {
return (() => {
var r, ret;r = 0;ret = dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "forEach", [function (element) {
return (() => {
r = r + element;
})();
}]);_assert2.default.strictEqual(r, 15);return _assert2.default.strictEqual(ret, undefined);
})();
});it("forEach: with break", function () {
return (() => {
var r, ret;r = [];ret = dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3, 4, 5], "forEach", [function (element, index) {
return (() => {
return index === 2 ? (() => {
return _manifest.break;
})() : (() => {
return r.push(element);
})();
})();
}]);_assert2.default.deepStrictEqual(r, [1, 2]);return _assert2.default.strictEqual(ret, undefined);
})();
});it("asyncForEach: without break", function () {
return asyncToGenerator_573300145710716007.call(this, function* () {
var r, oldTime, ret, actualMs, var_573300145710716007_6;r = 0;oldTime = new Date();ret = yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "asyncForEach", [function (element) {
return asyncToGenerator_573300145710716007.call(this, function* () {
yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Promise, "delay", [50]);r = r + element;
});
}]);actualMs = new Date() - oldTime;_assert2.default.strictEqual(r, 6);_assert2.default.strictEqual(ret, undefined);return (0, _assert2.default)(150 <= (var_573300145710716007_6 = actualMs) && var_573300145710716007_6 <= 190);
});
});it("asyncForEach: with break", function () {
return asyncToGenerator_573300145710716007.call(this, function* () {
var r, oldTime, ret, actualMs, var_573300145710716007_7;r = 0;oldTime = new Date();ret = yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "asyncForEach", [function (element, index) {
return asyncToGenerator_573300145710716007.call(this, function* () {
yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Promise, "delay", [50]);r = r + element;return index === 1 ? yield asyncToGenerator_573300145710716007.call(this, function* () {
return _manifest.break;
}) : undefined;
});
}]);actualMs = new Date() - oldTime;_assert2.default.strictEqual(r, 3);_assert2.default.strictEqual(ret, undefined);return (0, _assert2.default)(100 <= (var_573300145710716007_7 = actualMs) && var_573300145710716007_7 <= 130);
});
});it("asyncSome: match", function () {
return asyncToGenerator_573300145710716007.call(this, function* () {
var oldTime, r, actualMs, var_573300145710716007_8;oldTime = new Date();r = yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "asyncSome", [function (element) {
return asyncToGenerator_573300145710716007.call(this, function* () {
yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, Promise, "delay", [50]);return element > 0;
});
}]);actualMs = new Date() - oldTime;_assert2.default.strictEqual(r, true);return (0, _assert2.default)(50 <= (var_573300145710716007_8 = actualMs) && var_573300145710716007_8 <= 70);
});
});it("asyncSome: not match", function () {
return asyncToGenerator_573300145710716007.call(this, function* () {
var oldTime, r, actualMs, var_573300145710716007_9;oldTime = new Date();r = yield dotDotCalc_573300145710716007(_manifest.dotDot_573300145710716007, [1, 2, 3], "asyncSome", [function (element) {
return asyncToGenerator_5733001