typed-dom
Version:
A value-level and type-level DOM builder.
1,580 lines (1,276 loc) • 68.2 kB
JavaScript
/*! typed-dom v0.0.349 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["typed-dom"] = factory();
else
root["typed-dom"] = factory();
})(this, () => {
return /******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 5413:
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.ObjectSetPrototypeOf = exports.ObjectGetPrototypeOf = exports.ObjectCreate = exports.ObjectAssign = exports.toString = exports.isEnumerable = exports.isPrototypeOf = exports.hasOwnProperty = exports.isArray = exports.sqrt = exports.log10 = exports.log2 = exports.log = exports.tan = exports.cos = exports.sign = exports.round = exports.random = exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.PI = exports.parseInt = exports.parseFloat = exports.isSafeInteger = exports.isNaN = exports.isInteger = exports.isFinite = exports.EPSILON = exports.MIN_VALUE = exports.MIN_SAFE_INTEGER = exports.MAX_VALUE = exports.MAX_SAFE_INTEGER = void 0;
exports.MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, exports.MAX_VALUE = Number.MAX_VALUE, exports.MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, exports.MIN_VALUE = Number.MIN_VALUE, exports.EPSILON = Number.EPSILON, exports.isFinite = Number.isFinite, exports.isInteger = Number.isInteger, exports.isNaN = Number.isNaN, exports.isSafeInteger = Number.isSafeInteger, exports.parseFloat = Number.parseFloat, exports.parseInt = Number.parseInt;
exports.PI = Math.PI, exports.abs = Math.abs, exports.ceil = Math.ceil, exports.floor = Math.floor, exports.max = Math.max, exports.min = Math.min, exports.random = Math.random, exports.round = Math.round, exports.sign = Math.sign, exports.cos = Math.cos, exports.tan = Math.tan, exports.log = Math.log, exports.log2 = Math.log2, exports.log10 = Math.log10, exports.sqrt = Math.sqrt;
exports.isArray = Array.isArray;
exports.hasOwnProperty = Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty);
exports.isPrototypeOf = Object.prototype.isPrototypeOf.call.bind(Object.prototype.isPrototypeOf);
exports.isEnumerable = Object.prototype.propertyIsEnumerable.call.bind(Object.prototype.propertyIsEnumerable);
exports.toString = Object.prototype.toString.call.bind(Object.prototype.toString);
exports.ObjectAssign = Object.assign;
exports.ObjectCreate = Object.create;
exports.ObjectGetPrototypeOf = Object.getPrototypeOf;
exports.ObjectSetPrototypeOf = Object.setPrototypeOf;
/***/ }),
/***/ 6876:
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.splice = exports.pop = exports.push = exports.shift = exports.unshift = exports.indexOf = void 0;
function indexOf(as, a) {
if (as.length === 0) return -1;
return a === a ? as.indexOf(a) : as.findIndex(a => a !== a);
}
exports.indexOf = indexOf;
function unshift(as, bs) {
if ('length' in as) {
if (as.length === 1) return bs.unshift(as[0]), bs;
if (Array.isArray(as)) return bs.unshift(...as), bs;
for (let i = as.length; i--;) {
bs.unshift(as[i]);
}
} else {
bs.unshift(...as);
}
return bs;
}
exports.unshift = unshift;
function shift(as, count) {
if (count < 0) throw new Error('Unexpected negative number');
return count === undefined ? [as.shift(), as] : [splice(as, 0, count), as];
}
exports.shift = shift;
function push(as, bs) {
if ('length' in bs) {
if (bs.length === 1) return as.push(bs[0]), as;
if (Array.isArray(bs) && bs.length > 100) return as.push(...bs), as;
for (let len = bs.length, i = 0; i < len; ++i) {
as.push(bs[i]);
}
} else {
for (const b of bs) {
as.push(b);
}
}
return as;
}
exports.push = push;
function pop(as, count) {
if (count < 0) throw new Error('Unexpected negative number');
return count === undefined ? [as, as.pop()] : [as, splice(as, as.length - count, count)];
}
exports.pop = pop;
function splice(as, index, count, ...values) {
if (as.length === 0) return push(as, values), [];
if (index > as.length) {
index = as.length;
} else if (index < 0) {
index = -index > as.length ? 0 : as.length + index;
}
count = count > as.length ? as.length : count;
if (count === 0 && values.length === 0) return [];
if (count === 1 && values.length === 1) return [[as[index], as[index] = values[0]][0]];
switch (index) {
case as.length - 1:
if (as.length === 0) return push(as, values), [];
if (count >= 1) return [[as.pop()], push(as, values)][0];
break;
case 0:
if (count === 0) return unshift(values, as), [];
if (count === 1) return [[as.shift()], unshift(values, as)][0];
break;
case as.length:
return push(as, values), [];
}
switch (values.length) {
case 0:
return arguments.length > 2 ? as.splice(index, count) : as.splice(index);
case 1:
return as.splice(index, count, values[0]);
case 2:
return as.splice(index, count, values[0], values[1]);
case 3:
return as.splice(index, count, values[0], values[1], values[2]);
case 4:
return as.splice(index, count, values[0], values[1], values[2], values[3]);
case 5:
return as.splice(index, count, values[0], values[1], values[2], values[3], values[4]);
default:
return as.splice(index, count, ...values);
}
}
exports.splice = splice;
/***/ }),
/***/ 1934:
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.equal = void 0;
function equal(a, b) {
return a === a ? a === b : b !== b;
}
exports.equal = equal;
/***/ }),
/***/ 4042:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.uncurry = exports.curry = void 0;
const array_1 = __webpack_require__(6876);
exports.curry = f => curry_(f, f.length);
function curry_(f, arity, ...xs) {
let g;
return xs.length < arity ? (...ys) => curry_(g ??= xs.length ? f.bind(undefined, ...xs) : f, arity - xs.length, ...ys) : f(...xs);
}
const uncurry = f => uncurry_(f);
exports.uncurry = uncurry;
function uncurry_(f) {
const arity = f.length;
return (...xs) => arity === 0 || xs.length <= arity ? f(...xs) : uncurry_(f(...(0, array_1.shift)(xs, arity)[0]))(...xs);
}
/***/ }),
/***/ 7386:
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.compose = void 0;
function compose(target, ...sources) {
return sources.reduce((b, d) => {
Object.getOwnPropertyNames(d.prototype).filter(p => !(p in b.prototype)).forEach(p => b.prototype[p] = d.prototype[p]);
Object.getOwnPropertyNames(d).filter(p => !(p in b)).forEach(p => b[p] = d[p]);
return b;
}, target);
}
exports.compose = compose;
/***/ }),
/***/ 6925:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.reduce = exports.memoize = void 0;
const alias_1 = __webpack_require__(5413);
const compare_1 = __webpack_require__(1934);
function memoize(f, identify, memory) {
if (typeof identify === 'object') {
memory = identify;
identify = undefined;
}
identify ??= (...as) => as[0];
switch (true) {
case (0, alias_1.isArray)(memory):
return memoizeArray(f, identify, memory);
case memory?.constructor === Object:
return memoizeObject(f, identify, memory);
default:
return memoizeDict(f, identify, memory ?? new Map());
}
}
exports.memoize = memoize;
function memoizeArray(f, identify, memory) {
return (...as) => {
const b = identify(...as);
let z = memory[b];
if (z !== undefined) return z;
z = f(...as);
memory[b] = z;
return z;
};
}
function memoizeObject(f, identify, memory) {
let nullable = false;
return (...as) => {
const b = identify(...as);
let z = memory[b];
if (z !== undefined || nullable && b in memory) return z;
z = f(...as);
nullable ||= z === undefined;
memory[b] = z;
return z;
};
}
function memoizeDict(f, identify, memory) {
let nullable = false;
return (...as) => {
const b = identify(...as);
let z = memory.get(b);
if (z !== undefined || nullable && memory.has(b)) return z;
z = f(...as);
nullable ||= z === undefined;
memory.add?.(b, z) ?? memory.set(b, z);
return z;
};
}
function reduce(f, identify = (...as) => as[0]) {
let key = {};
let val;
return (...as) => {
const b = identify(...as);
if (!(0, compare_1.equal)(key, b)) {
key = b;
val = f(...as);
}
return val;
};
}
exports.reduce = reduce;
/***/ }),
/***/ 4455:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Applicative = void 0;
const functor_1 = __webpack_require__(6562);
const curry_1 = __webpack_require__(4042);
class Applicative extends functor_1.Functor {}
exports.Applicative = Applicative;
(function (Applicative) {
function ap(af, aa) {
return aa ? af.bind(f => aa.fmap((0, curry_1.curry)(f))) : aa => ap(af, aa);
}
Applicative.ap = ap;
})(Applicative || (exports.Applicative = Applicative = {}));
/***/ }),
/***/ 6562:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Functor = void 0;
const lazy_1 = __webpack_require__(2939);
class Functor extends lazy_1.Lazy {}
exports.Functor = Functor;
(function (Functor) {
function fmap(f, m) {
return m.fmap(f);
}
Functor.fmap = fmap;
})(Functor || (exports.Functor = Functor = {}));
/***/ }),
/***/ 2939:
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Lazy = void 0;
class Lazy {
constructor(thunk) {
this.thunk = thunk;
this.$memory = undefined;
}
evaluate() {
return this.$memory ??= this.thunk();
}
}
exports.Lazy = Lazy;
/***/ }),
/***/ 862:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Monad = void 0;
const applicative_1 = __webpack_require__(4455);
class Monad extends applicative_1.Applicative {}
exports.Monad = Monad;
(function (Monad) {
function bind(f, m) {
return m.bind(f);
}
Monad.bind = bind;
//export declare function sequence<a>(fm: Monad<PromiseLike<a>>): AtomicPromise<Monad<a>>;
})(Monad || (exports.Monad = Monad = {}));
/***/ }),
/***/ 6978:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.MonadPlus = void 0;
const monad_1 = __webpack_require__(862);
class MonadPlus extends monad_1.Monad {}
exports.MonadPlus = MonadPlus;
(function (MonadPlus) {})(MonadPlus || (exports.MonadPlus = MonadPlus = {}));
/***/ }),
/***/ 6276:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Sequence = void 0;
__webpack_require__(654);
__webpack_require__(2877);
__webpack_require__(6931);
__webpack_require__(9698);
__webpack_require__(6117);
__webpack_require__(9090);
__webpack_require__(2486);
__webpack_require__(5834);
__webpack_require__(8136);
__webpack_require__(1171);
__webpack_require__(1875);
__webpack_require__(8096);
__webpack_require__(6633);
__webpack_require__(8122);
__webpack_require__(1634);
__webpack_require__(3204);
__webpack_require__(5990);
__webpack_require__(4909);
__webpack_require__(8462);
__webpack_require__(968);
__webpack_require__(5720);
__webpack_require__(2685);
__webpack_require__(5759);
__webpack_require__(2104);
__webpack_require__(722);
__webpack_require__(4973);
__webpack_require__(3007);
__webpack_require__(7854);
__webpack_require__(9453);
__webpack_require__(7698);
__webpack_require__(39);
__webpack_require__(6921);
__webpack_require__(9526);
__webpack_require__(1135);
__webpack_require__(4845);
__webpack_require__(406);
__webpack_require__(9664);
__webpack_require__(3511);
__webpack_require__(2003);
__webpack_require__(7519);
__webpack_require__(3367);
__webpack_require__(2395);
__webpack_require__(1380);
__webpack_require__(9642);
__webpack_require__(9731);
var core_1 = __webpack_require__(1472);
Object.defineProperty(exports, "Sequence", ({
enumerable: true,
get: function () {
return core_1.Sequence;
}
}));
/***/ }),
/***/ 1472:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Sequence = void 0;
const monadplus_1 = __webpack_require__(6978);
class Sequence extends monadplus_1.MonadPlus {
constructor(cons) {
super(throwCallError);
this.cons = cons;
}
[Symbol.iterator]() {
let iter = () => this.iterate();
return {
next() {
const thunk = iter();
iter = Sequence.Thunk.iterator(thunk);
return {
done: !Sequence.isIterable(thunk),
value: Sequence.Thunk.value(thunk)
};
}
};
}
}
exports.Sequence = Sequence;
(function (Sequence) {})(Sequence || (exports.Sequence = Sequence = {}));
(function (Sequence) {
let Data;
(function (Data) {
function cons(a, z) {
switch (arguments.length) {
case 0:
return [];
case 1:
return [a];
case 2:
return [a, z];
default:
throw Sequence.Exception.invalidConsError(arguments);
}
}
Data.cons = cons;
})(Data = Sequence.Data || (Sequence.Data = {}));
let Thunk;
(function (Thunk) {
function value(thunk) {
return thunk[0];
}
Thunk.value = value;
function iterator(thunk) {
return thunk[1];
}
Thunk.iterator = iterator;
function index(thunk) {
return thunk[2];
}
Thunk.index = index;
})(Thunk = Sequence.Thunk || (Sequence.Thunk = {}));
let Iterator;
(function (Iterator) {
Iterator.done = () => [undefined, Iterator.done, -1];
function when(thunk, caseDone, caseIterable) {
return Sequence.isIterable(thunk) ? caseIterable(thunk, () => when(Thunk.iterator(thunk)(), caseDone, caseIterable)) : caseDone(thunk);
}
Iterator.when = when;
})(Iterator = Sequence.Iterator || (Sequence.Iterator = {}));
function isIterable(thunk) {
return Thunk.iterator(thunk) !== Iterator.done;
}
Sequence.isIterable = isIterable;
let Exception;
(function (Exception) {
function invalidConsError(args) {
console.error(args, args.length, args[0], args[1]);
return new TypeError(`Spica: Sequence: Invalid parameters of cons.`);
}
Exception.invalidConsError = invalidConsError;
function invalidDataError(data) {
console.error(data);
return new TypeError(`Spica: Sequence: Invalid data.`);
}
Exception.invalidDataError = invalidDataError;
function invalidThunkError(thunk) {
console.error(thunk);
return new TypeError(`Spica: Sequence: Invalid thunk.`);
}
Exception.invalidThunkError = invalidThunkError;
})(Exception = Sequence.Exception || (Sequence.Exception = {}));
})(Sequence || (exports.Sequence = Sequence = {}));
function throwCallError() {
throw new Error(`Spica: Sequence: Invalid thunk call.`);
}
/***/ }),
/***/ 39:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
ap(a) {
return core_1.Sequence.ap(this, a);
}
});
/***/ }),
/***/ 6921:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
bind(f) {
return core_1.Sequence.concat(this.fmap(f));
}
});
/***/ }),
/***/ 5759:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
drop(n) {
return new core_1.Sequence((iter = () => this.iterate(), cons) => core_1.Sequence.Iterator.when(iter(), () => cons(), (thunk, recur) => core_1.Sequence.Thunk.index(thunk) < n ? recur() : cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk))));
}
});
/***/ }),
/***/ 3007:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
dropUntil(f) {
return new core_1.Sequence((iter = () => this.iterate(), cons) => core_1.Sequence.Iterator.when(iter(), () => cons(), (thunk, recur) => f(core_1.Sequence.Thunk.value(thunk)) ? recur() : cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk))));
}
});
/***/ }),
/***/ 722:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
dropWhile(f) {
return new core_1.Sequence((iter = () => this.iterate(), cons) => core_1.Sequence.Iterator.when(iter(), () => cons(), (thunk, recur) => f(core_1.Sequence.Thunk.value(thunk)) ? recur() : cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk))));
}
});
/***/ }),
/***/ 4909:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
extract() {
const acc = [];
let iter = () => this.iterate();
while (true) {
const thunk = iter();
if (!core_1.Sequence.isIterable(thunk)) return acc;
acc.push(core_1.Sequence.Thunk.value(thunk));
iter = core_1.Sequence.Thunk.iterator(thunk);
}
}
});
/***/ }),
/***/ 9664:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
filter(f) {
return new core_1.Sequence((iter = () => this.iterate(), cons) => core_1.Sequence.Iterator.when(iter(), () => cons(), (thunk, recur) => f(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.index(thunk)) ? cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk)) : recur()));
}
});
/***/ }),
/***/ 4845:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
filterM(f) {
return core_1.Sequence.from([0]).bind(() => {
const xs = this.extract();
switch (xs.length) {
case 0:
return core_1.Sequence.from([[]]);
default:
{
const x = xs.shift();
return f(x).bind(b => b ? xs.length === 0 ? core_1.Sequence.from([[x]]) : core_1.Sequence.from(xs).filterM(f).fmap(ys => [x, ...ys]) : xs.length === 0 ? core_1.Sequence.from([[]]) : core_1.Sequence.from(xs).filterM(f));
}
}
});
}
});
/***/ }),
/***/ 7698:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
fmap(f) {
return new core_1.Sequence((iter = () => this.iterate()) => core_1.Sequence.Iterator.when(iter(), () => core_1.Sequence.Data.cons(), thunk => core_1.Sequence.Data.cons(f(core_1.Sequence.Thunk.value(thunk)), core_1.Sequence.Thunk.iterator(thunk))));
}
});
/***/ }),
/***/ 2003:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
foldr(f, z) {
return new core_1.Sequence((iter = () => this.reduce().iterate()) => core_1.Sequence.Iterator.when(iter(), () => core_1.Sequence.Data.cons(z), thunk => core_1.Sequence.Data.cons(f(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.resume(core_1.Sequence.Thunk.iterator(thunk)).foldr(f, z))))).bind(s => s);
}
});
/***/ }),
/***/ 7519:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
group(f) {
return new core_1.Sequence(([iter, acc] = [() => this.iterate(), []], cons) => core_1.Sequence.Iterator.when(iter(), () => acc.length === 0 ? cons() : cons(acc), (thunk, recur) => acc.length === 0 || f(acc[0], core_1.Sequence.Thunk.value(thunk)) ? (acc.push(core_1.Sequence.Thunk.value(thunk)), recur()) : cons(acc, [core_1.Sequence.Thunk.iterator(thunk), [core_1.Sequence.Thunk.value(thunk)]])));
}
});
/***/ }),
/***/ 3367:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
inits() {
return core_1.Sequence.mappend(core_1.Sequence.from([[]]), this.scanl((b, a) => [...b, a], []).dropWhile(as => as.length === 0));
}
});
/***/ }),
/***/ 8462:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
iterate() {
return this.iterate_();
}
iterate_(z, i = 0) {
const data = this.cons(z, core_1.Sequence.Data.cons);
switch (data.length) {
case 0:
return [undefined, core_1.Sequence.Iterator.done, -1];
case 1:
return [data[0], () => core_1.Sequence.Iterator.done(), i];
case 2:
return [data[0], () => this.iterate_(data[1], i + 1), i];
default:
throw core_1.Sequence.Exception.invalidDataError(data);
}
}
});
/***/ }),
/***/ 9526:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
join() {
return core_1.Sequence.concat(this);
}
});
/***/ }),
/***/ 406:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
map(f) {
return new core_1.Sequence((iter = () => this.iterate()) => core_1.Sequence.Iterator.when(iter(), () => core_1.Sequence.Data.cons(), thunk => core_1.Sequence.Data.cons(f(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.index(thunk)), core_1.Sequence.Thunk.iterator(thunk))));
}
});
/***/ }),
/***/ 1135:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
mapM(f) {
return core_1.Sequence.from([0]).bind(() => {
const xs = this.extract();
switch (xs.length) {
case 0:
return core_1.Sequence.mempty;
default:
{
const x = xs.shift();
return f(x).bind(y => xs.length === 0 ? core_1.Sequence.from([[y]]) : core_1.Sequence.from(xs).mapM(f).fmap(ys => [y, ...ys]));
}
}
});
}
});
/***/ }),
/***/ 968:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
const memoize_1 = __webpack_require__(6925);
const memory = (0, memoize_1.memoize)(_ => new Map());
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
memoize() {
return new core_1.Sequence(([i, memo] = [0, memory(this)], cons) => core_1.Sequence.Iterator.when(memo.get(i) || memo.set(i, i > 0 && memo.has(i - 1) ? core_1.Sequence.Thunk.iterator(memo.get(i - 1))() : this.iterate()).get(i), () => cons(), thunk => cons(core_1.Sequence.Thunk.value(thunk), [i + 1, memo])));
}
});
/***/ }),
/***/ 9731:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
permutations() {
return core_1.Sequence.from([0]).bind(() => {
const xs = this.extract();
return xs.length === 0 ? core_1.Sequence.mempty : core_1.Sequence.from([xs]);
}).bind(xs => core_1.Sequence.mappend(core_1.Sequence.from([xs]), perms(core_1.Sequence.from(xs), core_1.Sequence.mempty)));
}
});
function perms(ts, is) {
return core_1.Sequence.Iterator.when(ts.iterate(), () => core_1.Sequence.mempty, tt => new core_1.Sequence((_, cons) => core_1.Sequence.Iterator.when(tt, () => cons(), tt => {
const t = core_1.Sequence.Thunk.value(tt);
const ts = core_1.Sequence.resume(core_1.Sequence.Thunk.iterator(tt)).memoize();
return cons(is.permutations().foldr((ys, r) => interleave(core_1.Sequence.from(ys), r), perms(ts, core_1.Sequence.mappend(core_1.Sequence.from([t]), is))));
function interleave(xs, r) {
return interleave_(as => as, xs, r)[1];
}
function interleave_(f, ys, r) {
return core_1.Sequence.Iterator.when(ys.iterate(), () => [ts, r], yt => {
const y = core_1.Sequence.Thunk.value(yt);
const {
0: us,
1: zs
} = interleave_(as => f(core_1.Sequence.mappend(core_1.Sequence.from([y]), as)), core_1.Sequence.resume(core_1.Sequence.Thunk.iterator(yt)), r);
return [core_1.Sequence.mappend(core_1.Sequence.from([y]), us), core_1.Sequence.mappend(core_1.Sequence.from([f(core_1.Sequence.mappend(core_1.Sequence.from([t]), core_1.Sequence.mappend(core_1.Sequence.from([y]), us))).extract()]), zs)];
});
}
})).bind(xs => xs));
}
/***/ }),
/***/ 5720:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
reduce() {
return new core_1.Sequence(([i, memo] = [0, new Map()], cons) => core_1.Sequence.Iterator.when(memo.get(i) || memo.set(i, i > 0 && memo.has(i - 1) ? core_1.Sequence.Thunk.iterator(memo.get(i - 1))() : this.iterate()).get(i), () => cons(), thunk => cons(core_1.Sequence.Thunk.value(thunk), [i + 1, memo])));
}
});
/***/ }),
/***/ 3511:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
scanl(f, z) {
return new core_1.Sequence(([prev, iter, i] = [z, () => this.iterate(), 0]) => core_1.Sequence.Iterator.when(iter(), () => i === 0 ? core_1.Sequence.Data.cons(z) : core_1.Sequence.Data.cons(), thunk => core_1.Sequence.Data.cons(prev = f(prev, core_1.Sequence.Thunk.value(thunk)), [prev, core_1.Sequence.Thunk.iterator(thunk), core_1.Sequence.Thunk.index(thunk) + 1])));
}
});
/***/ }),
/***/ 1380:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
segs() {
return core_1.Sequence.mappend(this.foldr((a, bs) => bs.take(1).bind(b => core_1.Sequence.mappend(core_1.Sequence.from([core_1.Sequence.mappend(core_1.Sequence.from([[a]]), core_1.Sequence.from(b).map(c => [a, ...c]))]), bs)), core_1.Sequence.from([core_1.Sequence.from([])])).bind(a => a), core_1.Sequence.from([[]]));
}
});
/***/ }),
/***/ 7854:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
sort(cmp) {
return core_1.Sequence.from(this.extract().sort(cmp));
}
});
/***/ }),
/***/ 9642:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
subsequences() {
return core_1.Sequence.mappend(core_1.Sequence.from([[]]), core_1.Sequence.from([0]).bind(() => nonEmptySubsequences(this)));
}
});
function nonEmptySubsequences(xs) {
return core_1.Sequence.Iterator.when(xs.iterate(), () => core_1.Sequence.mempty, xt => core_1.Sequence.mappend(core_1.Sequence.from([[core_1.Sequence.Thunk.value(xt)]]), new core_1.Sequence((_, cons) => core_1.Sequence.Iterator.when(xt, () => cons(), xt => cons(nonEmptySubsequences(core_1.Sequence.resume(core_1.Sequence.Thunk.iterator(xt))).foldr((ys, r) => core_1.Sequence.mappend(core_1.Sequence.mappend(core_1.Sequence.from([ys]), core_1.Sequence.from([[core_1.Sequence.Thunk.value(xt), ...ys]])), r), core_1.Sequence.mempty)))).bind(xs => xs)));
}
/***/ }),
/***/ 2395:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
tails() {
return core_1.Sequence.mappend(core_1.Sequence.from(this.extract().map((_, i, as) => as.slice(i))), core_1.Sequence.from([[]]));
}
});
/***/ }),
/***/ 2685:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
take(n) {
return new core_1.Sequence((iter = () => this.iterate(), cons) => core_1.Sequence.Iterator.when(n > 0 ? iter() : core_1.Sequence.Iterator.done(), () => cons(), thunk => core_1.Sequence.Thunk.index(thunk) + 1 < n ? cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk)) : cons(core_1.Sequence.Thunk.value(thunk))));
}
});
/***/ }),
/***/ 4973:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
takeUntil(f) {
return new core_1.Sequence((iter = () => this.iterate(), cons) => core_1.Sequence.Iterator.when(iter(), () => cons(), thunk => f(core_1.Sequence.Thunk.value(thunk)) ? cons(core_1.Sequence.Thunk.value(thunk)) : cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk))));
}
});
/***/ }),
/***/ 2104:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
takeWhile(f) {
return new core_1.Sequence((iter = () => this.iterate(), cons) => core_1.Sequence.Iterator.when(iter(), () => cons(), thunk => f(core_1.Sequence.Thunk.value(thunk)) ? cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk)) : cons()));
}
});
/***/ }),
/***/ 9453:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
unique() {
const memory = new Set();
return this.filter(a => !memory.has(a) && !!memory.add(a));
}
});
/***/ }),
/***/ 6117:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static concat(as) {
return new core_1.Sequence(([ai, bi] = [() => as.iterate(), core_1.Sequence.Iterator.done], cons) => core_1.Sequence.Iterator.when(ai(), () => cons(), (at, ar) => (bi = bi === core_1.Sequence.Iterator.done ? () => core_1.Sequence.Thunk.value(at).iterate() : bi, core_1.Sequence.Iterator.when(bi(), () => (bi = core_1.Sequence.Iterator.done, ar()), bt => cons(core_1.Sequence.Thunk.value(bt), [() => at, core_1.Sequence.Thunk.iterator(bt)])))));
}
});
/***/ }),
/***/ 6931:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static cycle(as) {
return new core_1.Sequence(function cycle([iter, i] = [as[Symbol.iterator](), 0], cons) {
const result = iter.next();
return result.done ? cycle([as[Symbol.iterator](), i + 1], cons) : cons(result.value, [iter, i + 1]);
}).reduce();
}
});
/***/ }),
/***/ 2486:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static difference(a, b, cmp) {
return new core_1.Sequence(([ai, bi] = [() => a.iterate(), () => b.iterate()], cons) => core_1.Sequence.Iterator.when(ai(), () => core_1.Sequence.Iterator.when(bi(), () => cons(), bt => cons(core_1.Sequence.Thunk.value(bt), [core_1.Sequence.Iterator.done, core_1.Sequence.Thunk.iterator(bt)])), (at, ar) => core_1.Sequence.Iterator.when(bi(), () => cons(core_1.Sequence.Thunk.value(at), [core_1.Sequence.Thunk.iterator(at), core_1.Sequence.Iterator.done]), bt => {
const ord = cmp(core_1.Sequence.Thunk.value(at), core_1.Sequence.Thunk.value(bt));
if (ord < 0) return cons(core_1.Sequence.Thunk.value(at), [core_1.Sequence.Thunk.iterator(at), () => bt]);
if (ord > 0) return cons(core_1.Sequence.Thunk.value(bt), [() => at, core_1.Sequence.Thunk.iterator(bt)]);
return bi = () => core_1.Sequence.Thunk.iterator(bt)(), ar();
})));
}
});
/***/ }),
/***/ 2877:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static from(as) {
return new core_1.Sequence(([iter, i] = [as[Symbol.iterator](), 0], cons) => {
const result = iter.next();
return result.done ? cons() : cons(result.value, [iter, i + 1]);
}).reduce();
}
});
/***/ }),
/***/ 8136:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static intersect(a, b, cmp) {
return new core_1.Sequence(([ai, bi] = [() => a.iterate(), () => b.iterate()], cons) => core_1.Sequence.Iterator.when(ai(), () => cons(), (at, ar) => core_1.Sequence.Iterator.when(bi(), () => cons(), (bt, br) => {
const ord = cmp(core_1.Sequence.Thunk.value(at), core_1.Sequence.Thunk.value(bt));
if (ord < 0) return bi = () => bt, ar();
if (ord > 0) return br();
return cons(core_1.Sequence.Thunk.value(at), [core_1.Sequence.Thunk.iterator(at), core_1.Sequence.Thunk.iterator(bt)]);
})));
}
});
/***/ }),
/***/ 1634:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static mappend(l, r) {
return core_1.Sequence.mconcat([l, r]);
}
});
/***/ }),
/***/ 8122:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static mconcat(as) {
return [...as].reduce((a, b) => mconcat(a, b), core_1.Sequence.mempty);
}
});
function mconcat(a, b) {
return new core_1.Sequence(([ai, bi] = [() => a.iterate(), () => b.iterate()], cons) => core_1.Sequence.Iterator.when(ai(), () => core_1.Sequence.Iterator.when(bi(), () => cons(), bt => cons(core_1.Sequence.Thunk.value(bt), [core_1.Sequence.Iterator.done, core_1.Sequence.Thunk.iterator(bt)])), at => cons(core_1.Sequence.Thunk.value(at), [core_1.Sequence.Thunk.iterator(at), bi])));
}
/***/ }),
/***/ 6633:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var _a;
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, (_a = class extends core_1.Sequence {}, _a.mempty = new core_1.Sequence((_, cons) => cons()), _a));
/***/ }),
/***/ 5990:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var _a;
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, (_a = class extends core_1.Sequence {}, _a.mplus = core_1.Sequence.mappend, _a));
/***/ }),
/***/ 3204:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var _a;
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, (_a = class extends core_1.Sequence {}, _a.mzero = core_1.Sequence.mempty, _a));
/***/ }),
/***/ 1171:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static pure(a) {
return new core_1.Sequence((_, cons) => cons(a));
}
});
/***/ }),
/***/ 9698:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const alias_1 = __webpack_require__(5413);
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static random(p = () => (0, alias_1.random)()) {
return typeof p === 'function' ? core_1.Sequence.from(new core_1.Sequence((_, cons) => cons(p(), _))) : this.random().map(r => p[(0, alias_1.floor)(r * p.length)]);
}
});
/***/ }),
/***/ 654:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static resume(iterator) {
return new core_1.Sequence((iter = iterator, cons) => core_1.Sequence.Iterator.when(iter(), () => cons(), thunk => cons(core_1.Sequence.Thunk.value(thunk), core_1.Sequence.Thunk.iterator(thunk))));
}
});
/***/ }),
/***/ 1875:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static Return(a) {
return new core_1.Sequence((_, cons) => cons(a));
}
});
/***/ }),
/***/ 8096:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static sequence(ms) {
return ms.reduce((acc, m) => acc.fmap(bs => core_1.Sequence.mappend(bs, m)), core_1.Sequence.Return(core_1.Sequence.from([])));
}
});
/***/ }),
/***/ 5834:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static union(a, b, cmp) {
return new core_1.Sequence(([ai, bi] = [() => a.iterate(), () => b.iterate()], cons) => core_1.Sequence.Iterator.when(ai(), () => core_1.Sequence.Iterator.when(bi(), () => cons(), bt => cons(core_1.Sequence.Thunk.value(bt), [core_1.Sequence.Iterator.done, core_1.Sequence.Thunk.iterator(bt)])), at => core_1.Sequence.Iterator.when(bi(), () => cons(core_1.Sequence.Thunk.value(at), [core_1.Sequence.Thunk.iterator(at), core_1.Sequence.Iterator.done]), bt => {
const ord = cmp(core_1.Sequence.Thunk.value(at), core_1.Sequence.Thunk.value(bt));
if (ord < 0) return cons(core_1.Sequence.Thunk.value(at), [core_1.Sequence.Thunk.iterator(at), () => bt]);
if (ord > 0) return cons(core_1.Sequence.Thunk.value(bt), [() => at, core_1.Sequence.Thunk.iterator(bt)]);
return cons(core_1.Sequence.Thunk.value(at), [core_1.Sequence.Thunk.iterator(at), core_1.Sequence.Thunk.iterator(bt)]);
})));
}
});
/***/ }),
/***/ 9090:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
const core_1 = __webpack_require__(1472);
const compose_1 = __webpack_require__(7386);
(0, compose_1.compose)(core_1.Sequence, class extends core_1.Sequence {
static zip(a, b) {
return new core_1.Sequence(([ai, bi] = [() => a.iterate(), () => b.iterate()], cons) => core_1.Sequence.Iterator.when(ai(), () => cons(), at => core_1.Sequence.Iterator.when(bi(), () => cons(), bt => cons([core_1.Sequence.Thunk.value(at), core_1.Sequence.Thunk.value(bt)], [core_1.Sequence.Thunk.iterator(at), core_1.Sequence.Thunk.iterator(bt)]))));
}
});
/***/ }),
/***/ 4252:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = {
enumerable: true,
get: function () {
return m[k];
}
};
}
Object.defineProperty(o, k2, desc);
} : function (o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
});
var __exportStar = this && this.__exportStar || function (m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({
value: true
}));
__exportStar(__webpack_require__(6276), exports);
/***/ }),
/***/ 4119:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Math = exports.SVG = exports.HTML = exports.Shadow = exports.API = void 0;
const proxy_1 = __webpack_require__(3624);
const dom_1 = __webpack_require__(5761);
function API(baseFactory, container) {
return new Proxy(() => 0, handle(baseFactory, container));
}
exports.API = API;
exports.Shadow = API(dom_1.html, dom_1.shadow);
exports.HTML = API(dom_1.html);
exports.SVG = API(dom_1.svg);
exports.Math = API(dom_1.math);
function handle(baseFactory, container) {
return {
apply(target, _, [tag, ...args]) {
return this.get(target, tag, target)(...args);
},
get: (target, prop) => target[prop] || prop in target || typeof prop !== 'string' ? target[prop] : target[prop] = builder(prop)
};
function builder(tag) {
return function build(attrs, children, factory) {
if (typeof children === 'function') return build(attrs, undefined, children);
if (typeof attrs === 'function') return build(undefined, undefined, attrs);
if (isElChildren(attrs)) return build(undefined, attrs, factory);
const el = elem(tag, factory, attrs, children);
return new proxy_1.ElementProxy(tag, el, children, container?.(el));
};
}
function elem(tag, factory, attrs, children) {
if (!factory) return baseFactory(tag, attrs);
const el = (0, dom_1.define)(factory(baseFactory, tag, attrs ?? {}, children), attrs);
switch (el.tagName) {
case tag:
case tag.toUpperCase():
return el;
default:
throw new Error(`Typed-DOM: Expected tag name is "${tag.toLowerCase()}" but actually "${el.tagName.toLowerCase()}"`);
}
}
}
function isElChildren(value) {
if (value === undefined) return false;
if (value[Symbol.iterator]) return true;
if (typeof value['nodeType'] === 'number') return true;
for (const name of Object.keys(value)) {
const val = value[name];
return val !== null && typeof val === 'object';
}
return false;
}
/***/ }),
/***/ 2423:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Listeners = exports.symbols = void 0;
const array_1 = __webpack_require__(6876);
var symbols;
(function (symbols) {
// Optional
symbols.proxy = Symbol.for('typed-dom::proxy');
// Optional
symbols.listeners = Symbol.for('typed-dom::listeners');
})(symbols || (exports.symbols = symbols = {}));
class Listeners {
static of(target) {
return target[symbols.listeners] ?? target.element[symbols.proxy]?.[symbols.listeners];
}
constructor(element) {
this.element = element;
this.targets = [];
}
get mutation() {
return 'onmutate' in this.element && null != this.element['onmutate'];
}
get connection() {
return 'onconnect' in this.element && null != this.element['onconnect'];
}
get disconnection() {
return 'ondisconnect' in this.element && null != this.element['ondisconnect'];
}
haveConnectionListener() {
return this.targets.length > 0 || this.connection || this.disconnection;
}
add(target) {
const i = this.targets.indexOf(target);
i === -1 && this.targets.push(target);
}
del(target) {
const i = this.targets.indexOf(target);
i !== -1 && (0, array_1.splice)(this.targets, i, 1);
}
dispatchMutateEvent() {
if (!this.mutation) return;
this.element.dispatchEvent(new Event('mutate', {
bubbles: false,
cancelable: false
}));
}
dispatchConnectEvent(targets = this.targets) {
if (targets.length === 0) return;
if (targets !==