kuvio
Version:
Create string patterns and derive things from them, such as regexes
5,412 lines • 177 kB
JavaScript
"use strict";
(() => {
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/function.js
var require_function = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/function.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEndomorphismMonoid = exports.not = exports.SK = exports.hole = exports.pipe = exports.untupled = exports.tupled = exports.absurd = exports.decrement = exports.increment = exports.tuple = exports.flow = exports.flip = exports.constVoid = exports.constUndefined = exports.constNull = exports.constFalse = exports.constTrue = exports.constant = exports.unsafeCoerce = exports.identity = exports.apply = exports.getRing = exports.getSemiring = exports.getMonoid = exports.getSemigroup = exports.getBooleanAlgebra = void 0;
var getBooleanAlgebra = function(B) {
return function() {
return {
meet: function(x, y) {
return function(a) {
return B.meet(x(a), y(a));
};
},
join: function(x, y) {
return function(a) {
return B.join(x(a), y(a));
};
},
zero: function() {
return B.zero;
},
one: function() {
return B.one;
},
implies: function(x, y) {
return function(a) {
return B.implies(x(a), y(a));
};
},
not: function(x) {
return function(a) {
return B.not(x(a));
};
}
};
};
};
exports.getBooleanAlgebra = getBooleanAlgebra;
var getSemigroup = function(S) {
return function() {
return {
concat: function(f, g) {
return function(a) {
return S.concat(f(a), g(a));
};
}
};
};
};
exports.getSemigroup = getSemigroup;
var getMonoid = function(M) {
var getSemigroupM = (0, exports.getSemigroup)(M);
return function() {
return {
concat: getSemigroupM().concat,
empty: function() {
return M.empty;
}
};
};
};
exports.getMonoid = getMonoid;
var getSemiring = function(S) {
return {
add: function(f, g) {
return function(x) {
return S.add(f(x), g(x));
};
},
zero: function() {
return S.zero;
},
mul: function(f, g) {
return function(x) {
return S.mul(f(x), g(x));
};
},
one: function() {
return S.one;
}
};
};
exports.getSemiring = getSemiring;
var getRing = function(R) {
var S = (0, exports.getSemiring)(R);
return {
add: S.add,
mul: S.mul,
one: S.one,
zero: S.zero,
sub: function(f, g) {
return function(x) {
return R.sub(f(x), g(x));
};
}
};
};
exports.getRing = getRing;
var apply = function(a) {
return function(f) {
return f(a);
};
};
exports.apply = apply;
function identity(a) {
return a;
}
exports.identity = identity;
exports.unsafeCoerce = identity;
function constant(a) {
return function() {
return a;
};
}
exports.constant = constant;
exports.constTrue = constant(true);
exports.constFalse = constant(false);
exports.constNull = constant(null);
exports.constUndefined = constant(void 0);
exports.constVoid = exports.constUndefined;
function flip(f) {
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (args.length > 1) {
return f(args[1], args[0]);
}
return function(a) {
return f(a)(args[0]);
};
};
}
exports.flip = flip;
function flow(ab, bc, cd, de, ef, fg, gh, hi, ij) {
switch (arguments.length) {
case 1:
return ab;
case 2:
return function() {
return bc(ab.apply(this, arguments));
};
case 3:
return function() {
return cd(bc(ab.apply(this, arguments)));
};
case 4:
return function() {
return de(cd(bc(ab.apply(this, arguments))));
};
case 5:
return function() {
return ef(de(cd(bc(ab.apply(this, arguments)))));
};
case 6:
return function() {
return fg(ef(de(cd(bc(ab.apply(this, arguments))))));
};
case 7:
return function() {
return gh(fg(ef(de(cd(bc(ab.apply(this, arguments)))))));
};
case 8:
return function() {
return hi(gh(fg(ef(de(cd(bc(ab.apply(this, arguments))))))));
};
case 9:
return function() {
return ij(hi(gh(fg(ef(de(cd(bc(ab.apply(this, arguments)))))))));
};
}
return;
}
exports.flow = flow;
function tuple() {
var t = [];
for (var _i = 0; _i < arguments.length; _i++) {
t[_i] = arguments[_i];
}
return t;
}
exports.tuple = tuple;
function increment(n) {
return n + 1;
}
exports.increment = increment;
function decrement(n) {
return n - 1;
}
exports.decrement = decrement;
function absurd(_) {
throw new Error("Called `absurd` function which should be uncallable");
}
exports.absurd = absurd;
function tupled(f) {
return function(a) {
return f.apply(void 0, a);
};
}
exports.tupled = tupled;
function untupled(f) {
return function() {
var a = [];
for (var _i = 0; _i < arguments.length; _i++) {
a[_i] = arguments[_i];
}
return f(a);
};
}
exports.untupled = untupled;
function pipe2(a, ab, bc, cd, de, ef, fg, gh, hi) {
switch (arguments.length) {
case 1:
return a;
case 2:
return ab(a);
case 3:
return bc(ab(a));
case 4:
return cd(bc(ab(a)));
case 5:
return de(cd(bc(ab(a))));
case 6:
return ef(de(cd(bc(ab(a)))));
case 7:
return fg(ef(de(cd(bc(ab(a))))));
case 8:
return gh(fg(ef(de(cd(bc(ab(a)))))));
case 9:
return hi(gh(fg(ef(de(cd(bc(ab(a))))))));
default: {
var ret = arguments[0];
for (var i = 1; i < arguments.length; i++) {
ret = arguments[i](ret);
}
return ret;
}
}
}
exports.pipe = pipe2;
exports.hole = absurd;
var SK = function(_, b) {
return b;
};
exports.SK = SK;
function not(predicate) {
return function(a) {
return !predicate(a);
};
}
exports.not = not;
var getEndomorphismMonoid = function() {
return {
concat: function(first, second) {
return flow(first, second);
},
empty: identity
};
};
exports.getEndomorphismMonoid = getEndomorphismMonoid;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/internal.js
var require_internal = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/internal.js"(exports) {
"use strict";
var __spreadArray = exports && exports.__spreadArray || function(to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar)
ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromReadonlyNonEmptyArray = exports.has = exports.emptyRecord = exports.emptyReadonlyArray = exports.tail = exports.head = exports.isNonEmpty = exports.singleton = exports.right = exports.left = exports.isRight = exports.isLeft = exports.some = exports.none = exports.isSome = exports.isNone = void 0;
var isNone2 = function(fa) {
return fa._tag === "None";
};
exports.isNone = isNone2;
var isSome2 = function(fa) {
return fa._tag === "Some";
};
exports.isSome = isSome2;
exports.none = { _tag: "None" };
var some3 = function(a) {
return { _tag: "Some", value: a };
};
exports.some = some3;
var isLeft = function(ma) {
return ma._tag === "Left";
};
exports.isLeft = isLeft;
var isRight = function(ma) {
return ma._tag === "Right";
};
exports.isRight = isRight;
var left = function(e) {
return { _tag: "Left", left: e };
};
exports.left = left;
var right = function(a) {
return { _tag: "Right", right: a };
};
exports.right = right;
var singleton2 = function(a) {
return [a];
};
exports.singleton = singleton2;
var isNonEmpty3 = function(as) {
return as.length > 0;
};
exports.isNonEmpty = isNonEmpty3;
var head2 = function(as) {
return as[0];
};
exports.head = head2;
var tail2 = function(as) {
return as.slice(1);
};
exports.tail = tail2;
exports.emptyReadonlyArray = [];
exports.emptyRecord = {};
exports.has = Object.prototype.hasOwnProperty;
var fromReadonlyNonEmptyArray2 = function(as) {
return __spreadArray([as[0]], as.slice(1), true);
};
exports.fromReadonlyNonEmptyArray = fromReadonlyNonEmptyArray2;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Apply.js
var require_Apply = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Apply.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0)
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 === void 0)
k2 = k;
o[k2] = m[k];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sequenceS = exports.sequenceT = exports.getApplySemigroup = exports.apS = exports.apSecond = exports.apFirst = exports.ap = void 0;
var function_1 = require_function();
var _ = __importStar(require_internal());
function ap(F, G) {
return function(fa) {
return function(fab) {
return F.ap(F.map(fab, function(gab) {
return function(ga) {
return G.ap(gab, ga);
};
}), fa);
};
};
}
exports.ap = ap;
function apFirst(A) {
return function(second) {
return function(first) {
return A.ap(A.map(first, function(a) {
return function() {
return a;
};
}), second);
};
};
}
exports.apFirst = apFirst;
function apSecond(A) {
return function(second) {
return function(first) {
return A.ap(A.map(first, function() {
return function(b) {
return b;
};
}), second);
};
};
}
exports.apSecond = apSecond;
function apS(F) {
return function(name, fb) {
return function(fa) {
return F.ap(F.map(fa, function(a) {
return function(b) {
var _a;
return Object.assign({}, a, (_a = {}, _a[name] = b, _a));
};
}), fb);
};
};
}
exports.apS = apS;
function getApplySemigroup(F) {
return function(S) {
return {
concat: function(first, second) {
return F.ap(F.map(first, function(x) {
return function(y) {
return S.concat(x, y);
};
}), second);
}
};
};
}
exports.getApplySemigroup = getApplySemigroup;
function curried(f, n, acc) {
return function(x) {
var combined = Array(acc.length + 1);
for (var i = 0; i < acc.length; i++) {
combined[i] = acc[i];
}
combined[acc.length] = x;
return n === 0 ? f.apply(null, combined) : curried(f, n - 1, combined);
};
}
var tupleConstructors = {
1: function(a) {
return [a];
},
2: function(a) {
return function(b) {
return [a, b];
};
},
3: function(a) {
return function(b) {
return function(c) {
return [a, b, c];
};
};
},
4: function(a) {
return function(b) {
return function(c) {
return function(d) {
return [a, b, c, d];
};
};
};
},
5: function(a) {
return function(b) {
return function(c) {
return function(d) {
return function(e) {
return [a, b, c, d, e];
};
};
};
};
}
};
function getTupleConstructor(len) {
if (!_.has.call(tupleConstructors, len)) {
tupleConstructors[len] = curried(function_1.tuple, len - 1, []);
}
return tupleConstructors[len];
}
function sequenceT(F) {
return function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var len = args.length;
var f = getTupleConstructor(len);
var fas = F.map(args[0], f);
for (var i = 1; i < len; i++) {
fas = F.ap(fas, args[i]);
}
return fas;
};
}
exports.sequenceT = sequenceT;
function getRecordConstructor(keys) {
var len = keys.length;
switch (len) {
case 1:
return function(a) {
var _a;
return _a = {}, _a[keys[0]] = a, _a;
};
case 2:
return function(a) {
return function(b) {
var _a;
return _a = {}, _a[keys[0]] = a, _a[keys[1]] = b, _a;
};
};
case 3:
return function(a) {
return function(b) {
return function(c) {
var _a;
return _a = {}, _a[keys[0]] = a, _a[keys[1]] = b, _a[keys[2]] = c, _a;
};
};
};
case 4:
return function(a) {
return function(b) {
return function(c) {
return function(d) {
var _a;
return _a = {}, _a[keys[0]] = a, _a[keys[1]] = b, _a[keys[2]] = c, _a[keys[3]] = d, _a;
};
};
};
};
case 5:
return function(a) {
return function(b) {
return function(c) {
return function(d) {
return function(e) {
var _a;
return _a = {}, _a[keys[0]] = a, _a[keys[1]] = b, _a[keys[2]] = c, _a[keys[3]] = d, _a[keys[4]] = e, _a;
};
};
};
};
};
default:
return curried(function() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var r = {};
for (var i = 0; i < len; i++) {
r[keys[i]] = args[i];
}
return r;
}, len - 1, []);
}
}
function sequenceS(F) {
return function(r) {
var keys = Object.keys(r);
var len = keys.length;
var f = getRecordConstructor(keys);
var fr = F.map(r[keys[0]], f);
for (var i = 1; i < len; i++) {
fr = F.ap(fr, r[keys[i]]);
}
return fr;
};
}
exports.sequenceS = sequenceS;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Functor.js
var require_Functor = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Functor.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFunctorComposition = exports.let = exports.bindTo = exports.flap = exports.map = void 0;
var function_1 = require_function();
function map2(F, G) {
return function(f) {
return function(fa) {
return F.map(fa, function(ga) {
return G.map(ga, f);
});
};
};
}
exports.map = map2;
function flap(F) {
return function(a) {
return function(fab) {
return F.map(fab, function(f) {
return f(a);
});
};
};
}
exports.flap = flap;
function bindTo(F) {
return function(name) {
return function(fa) {
return F.map(fa, function(a) {
var _a;
return _a = {}, _a[name] = a, _a;
});
};
};
}
exports.bindTo = bindTo;
function let_(F) {
return function(name, f) {
return function(fa) {
return F.map(fa, function(a) {
var _a;
return Object.assign({}, a, (_a = {}, _a[name] = f(a), _a));
});
};
};
}
exports.let = let_;
function getFunctorComposition(F, G) {
var _map = map2(F, G);
return {
map: function(fga, f) {
return (0, function_1.pipe)(fga, _map(f));
}
};
}
exports.getFunctorComposition = getFunctorComposition;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Applicative.js
var require_Applicative = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Applicative.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getApplicativeComposition = exports.getApplicativeMonoid = void 0;
var Apply_1 = require_Apply();
var function_1 = require_function();
var Functor_1 = require_Functor();
function getApplicativeMonoid(F) {
var f = (0, Apply_1.getApplySemigroup)(F);
return function(M) {
return {
concat: f(M).concat,
empty: F.of(M.empty)
};
};
}
exports.getApplicativeMonoid = getApplicativeMonoid;
function getApplicativeComposition(F, G) {
var map2 = (0, Functor_1.getFunctorComposition)(F, G).map;
var _ap = (0, Apply_1.ap)(F, G);
return {
map: map2,
of: function(a) {
return F.of(G.of(a));
},
ap: function(fgab, fga) {
return (0, function_1.pipe)(fgab, _ap(fga));
}
};
}
exports.getApplicativeComposition = getApplicativeComposition;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Chain.js
var require_Chain = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Chain.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.bind = exports.chainFirst = void 0;
function chainFirst(M) {
return function(f) {
return function(first) {
return M.chain(first, function(a) {
return M.map(f(a), function() {
return a;
});
});
};
};
}
exports.chainFirst = chainFirst;
function bind(M) {
return function(name, f) {
return function(ma) {
return M.chain(ma, function(a) {
return M.map(f(a), function(b) {
var _a;
return Object.assign({}, a, (_a = {}, _a[name] = b, _a));
});
});
};
};
}
exports.bind = bind;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/FromEither.js
var require_FromEither = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/FromEither.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0)
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 === void 0)
k2 = k;
o[k2] = m[k];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.filterOrElse = exports.chainFirstEitherK = exports.chainEitherK = exports.fromEitherK = exports.chainOptionK = exports.fromOptionK = exports.fromPredicate = exports.fromOption = void 0;
var Chain_1 = require_Chain();
var function_1 = require_function();
var _ = __importStar(require_internal());
function fromOption(F) {
return function(onNone) {
return function(ma) {
return F.fromEither(_.isNone(ma) ? _.left(onNone()) : _.right(ma.value));
};
};
}
exports.fromOption = fromOption;
function fromPredicate2(F) {
return function(predicate, onFalse) {
return function(a) {
return F.fromEither(predicate(a) ? _.right(a) : _.left(onFalse(a)));
};
};
}
exports.fromPredicate = fromPredicate2;
function fromOptionK(F) {
var fromOptionF = fromOption(F);
return function(onNone) {
var from = fromOptionF(onNone);
return function(f) {
return (0, function_1.flow)(f, from);
};
};
}
exports.fromOptionK = fromOptionK;
function chainOptionK(F, M) {
var fromOptionKF = fromOptionK(F);
return function(onNone) {
var from = fromOptionKF(onNone);
return function(f) {
return function(ma) {
return M.chain(ma, from(f));
};
};
};
}
exports.chainOptionK = chainOptionK;
function fromEitherK(F) {
return function(f) {
return (0, function_1.flow)(f, F.fromEither);
};
}
exports.fromEitherK = fromEitherK;
function chainEitherK(F, M) {
var fromEitherKF = fromEitherK(F);
return function(f) {
return function(ma) {
return M.chain(ma, fromEitherKF(f));
};
};
}
exports.chainEitherK = chainEitherK;
function chainFirstEitherK(F, M) {
return (0, function_1.flow)(fromEitherK(F), (0, Chain_1.chainFirst)(M));
}
exports.chainFirstEitherK = chainFirstEitherK;
function filterOrElse(F, M) {
return function(predicate, onFalse) {
return function(ma) {
return M.chain(ma, function(a) {
return F.fromEither(predicate(a) ? _.right(a) : _.left(onFalse(a)));
});
};
};
}
exports.filterOrElse = filterOrElse;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Predicate.js
var require_Predicate = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Predicate.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.and = exports.or = exports.not = exports.Contravariant = exports.getMonoidAll = exports.getSemigroupAll = exports.getMonoidAny = exports.getSemigroupAny = exports.URI = exports.contramap = void 0;
var function_1 = require_function();
var contramap_ = function(predicate, f) {
return (0, function_1.pipe)(predicate, (0, exports.contramap)(f));
};
var contramap = function(f) {
return function(predicate) {
return (0, function_1.flow)(f, predicate);
};
};
exports.contramap = contramap;
exports.URI = "Predicate";
var getSemigroupAny = function() {
return {
concat: function(first, second) {
return (0, function_1.pipe)(first, (0, exports.or)(second));
}
};
};
exports.getSemigroupAny = getSemigroupAny;
var getMonoidAny = function() {
return {
concat: (0, exports.getSemigroupAny)().concat,
empty: function_1.constFalse
};
};
exports.getMonoidAny = getMonoidAny;
var getSemigroupAll = function() {
return {
concat: function(first, second) {
return (0, function_1.pipe)(first, (0, exports.and)(second));
}
};
};
exports.getSemigroupAll = getSemigroupAll;
var getMonoidAll = function() {
return {
concat: (0, exports.getSemigroupAll)().concat,
empty: function_1.constTrue
};
};
exports.getMonoidAll = getMonoidAll;
exports.Contravariant = {
URI: exports.URI,
contramap: contramap_
};
var not = function(predicate) {
return function(a) {
return !predicate(a);
};
};
exports.not = not;
var or2 = function(second) {
return function(first) {
return function(a) {
return first(a) || second(a);
};
};
};
exports.or = or2;
var and2 = function(second) {
return function(first) {
return function(a) {
return first(a) && second(a);
};
};
};
exports.and = and2;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Magma.js
var require_Magma = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Magma.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.concatAll = exports.endo = exports.filterSecond = exports.filterFirst = exports.reverse = void 0;
var reverse = function(M) {
return {
concat: function(first, second) {
return M.concat(second, first);
}
};
};
exports.reverse = reverse;
var filterFirst = function(predicate) {
return function(M) {
return {
concat: function(first, second) {
return predicate(first) ? M.concat(first, second) : second;
}
};
};
};
exports.filterFirst = filterFirst;
var filterSecond = function(predicate) {
return function(M) {
return {
concat: function(first, second) {
return predicate(second) ? M.concat(first, second) : first;
}
};
};
};
exports.filterSecond = filterSecond;
var endo = function(f) {
return function(M) {
return {
concat: function(first, second) {
return M.concat(f(first), f(second));
}
};
};
};
exports.endo = endo;
var concatAll = function(M) {
return function(startWith) {
return function(as) {
return as.reduce(function(a, acc) {
return M.concat(a, acc);
}, startWith);
};
};
};
exports.concatAll = concatAll;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Eq.js
var require_Eq = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Eq.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.eqDate = exports.eqNumber = exports.eqString = exports.eqBoolean = exports.eq = exports.strictEqual = exports.getStructEq = exports.getTupleEq = exports.Contravariant = exports.getMonoid = exports.getSemigroup = exports.eqStrict = exports.URI = exports.contramap = exports.tuple = exports.struct = exports.fromEquals = void 0;
var function_1 = require_function();
var fromEquals = function(equals) {
return {
equals: function(x, y) {
return x === y || equals(x, y);
}
};
};
exports.fromEquals = fromEquals;
var struct = function(eqs) {
return (0, exports.fromEquals)(function(first, second) {
for (var key in eqs) {
if (!eqs[key].equals(first[key], second[key])) {
return false;
}
}
return true;
});
};
exports.struct = struct;
var tuple = function() {
var eqs = [];
for (var _i = 0; _i < arguments.length; _i++) {
eqs[_i] = arguments[_i];
}
return (0, exports.fromEquals)(function(first, second) {
return eqs.every(function(E, i) {
return E.equals(first[i], second[i]);
});
});
};
exports.tuple = tuple;
var contramap_ = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.contramap)(f));
};
var contramap = function(f) {
return function(fa) {
return (0, exports.fromEquals)(function(x, y) {
return fa.equals(f(x), f(y));
});
};
};
exports.contramap = contramap;
exports.URI = "Eq";
exports.eqStrict = {
equals: function(a, b) {
return a === b;
}
};
var empty2 = {
equals: function() {
return true;
}
};
var getSemigroup = function() {
return {
concat: function(x, y) {
return (0, exports.fromEquals)(function(a, b) {
return x.equals(a, b) && y.equals(a, b);
});
}
};
};
exports.getSemigroup = getSemigroup;
var getMonoid = function() {
return {
concat: (0, exports.getSemigroup)().concat,
empty: empty2
};
};
exports.getMonoid = getMonoid;
exports.Contravariant = {
URI: exports.URI,
contramap: contramap_
};
exports.getTupleEq = exports.tuple;
exports.getStructEq = exports.struct;
exports.strictEqual = exports.eqStrict.equals;
exports.eq = exports.Contravariant;
exports.eqBoolean = exports.eqStrict;
exports.eqString = exports.eqStrict;
exports.eqNumber = exports.eqStrict;
exports.eqDate = {
equals: function(first, second) {
return first.valueOf() === second.valueOf();
}
};
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Ord.js
var require_Ord = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Ord.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ordDate = exports.ordNumber = exports.ordString = exports.ordBoolean = exports.ord = exports.getDualOrd = exports.getTupleOrd = exports.between = exports.clamp = exports.max = exports.min = exports.geq = exports.leq = exports.gt = exports.lt = exports.equals = exports.trivial = exports.Contravariant = exports.getMonoid = exports.getSemigroup = exports.URI = exports.contramap = exports.reverse = exports.tuple = exports.fromCompare = exports.equalsDefault = void 0;
var Eq_1 = require_Eq();
var function_1 = require_function();
var equalsDefault = function(compare2) {
return function(first, second) {
return first === second || compare2(first, second) === 0;
};
};
exports.equalsDefault = equalsDefault;
var fromCompare = function(compare2) {
return {
equals: (0, exports.equalsDefault)(compare2),
compare: function(first, second) {
return first === second ? 0 : compare2(first, second);
}
};
};
exports.fromCompare = fromCompare;
var tuple = function() {
var ords = [];
for (var _i = 0; _i < arguments.length; _i++) {
ords[_i] = arguments[_i];
}
return (0, exports.fromCompare)(function(first, second) {
var i = 0;
for (; i < ords.length - 1; i++) {
var r = ords[i].compare(first[i], second[i]);
if (r !== 0) {
return r;
}
}
return ords[i].compare(first[i], second[i]);
});
};
exports.tuple = tuple;
var reverse = function(O) {
return (0, exports.fromCompare)(function(first, second) {
return O.compare(second, first);
});
};
exports.reverse = reverse;
var contramap_ = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.contramap)(f));
};
var contramap = function(f) {
return function(fa) {
return (0, exports.fromCompare)(function(first, second) {
return fa.compare(f(first), f(second));
});
};
};
exports.contramap = contramap;
exports.URI = "Ord";
var getSemigroup = function() {
return {
concat: function(first, second) {
return (0, exports.fromCompare)(function(a, b) {
var ox = first.compare(a, b);
return ox !== 0 ? ox : second.compare(a, b);
});
}
};
};
exports.getSemigroup = getSemigroup;
var getMonoid = function() {
return {
concat: (0, exports.getSemigroup)().concat,
empty: (0, exports.fromCompare)(function() {
return 0;
})
};
};
exports.getMonoid = getMonoid;
exports.Contravariant = {
URI: exports.URI,
contramap: contramap_
};
exports.trivial = {
equals: function_1.constTrue,
compare: /* @__PURE__ */ (0, function_1.constant)(0)
};
var equals = function(O) {
return function(second) {
return function(first) {
return first === second || O.compare(first, second) === 0;
};
};
};
exports.equals = equals;
var lt = function(O) {
return function(first, second) {
return O.compare(first, second) === -1;
};
};
exports.lt = lt;
var gt = function(O) {
return function(first, second) {
return O.compare(first, second) === 1;
};
};
exports.gt = gt;
var leq = function(O) {
return function(first, second) {
return O.compare(first, second) !== 1;
};
};
exports.leq = leq;
var geq = function(O) {
return function(first, second) {
return O.compare(first, second) !== -1;
};
};
exports.geq = geq;
var min = function(O) {
return function(first, second) {
return first === second || O.compare(first, second) < 1 ? first : second;
};
};
exports.min = min;
var max = function(O) {
return function(first, second) {
return first === second || O.compare(first, second) > -1 ? first : second;
};
};
exports.max = max;
var clamp = function(O) {
var minO = (0, exports.min)(O);
var maxO = (0, exports.max)(O);
return function(low, hi) {
return function(a) {
return maxO(minO(a, hi), low);
};
};
};
exports.clamp = clamp;
var between2 = function(O) {
var ltO = (0, exports.lt)(O);
var gtO = (0, exports.gt)(O);
return function(low, hi) {
return function(a) {
return ltO(a, low) || gtO(a, hi) ? false : true;
};
};
};
exports.between = between2;
exports.getTupleOrd = exports.tuple;
exports.getDualOrd = exports.reverse;
exports.ord = exports.Contravariant;
function compare(first, second) {
return first < second ? -1 : first > second ? 1 : 0;
}
var strictOrd = {
equals: Eq_1.eqStrict.equals,
compare
};
exports.ordBoolean = strictOrd;
exports.ordString = strictOrd;
exports.ordNumber = strictOrd;
exports.ordDate = (0, function_1.pipe)(
exports.ordNumber,
/* @__PURE__ */ (0, exports.contramap)(function(date) {
return date.valueOf();
})
);
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Semigroup.js
var require_Semigroup = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Semigroup.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0)
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 === void 0)
k2 = k;
o[k2] = m[k];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.semigroupProduct = exports.semigroupSum = exports.semigroupString = exports.getFunctionSemigroup = exports.semigroupAny = exports.semigroupAll = exports.fold = exports.getIntercalateSemigroup = exports.getMeetSemigroup = exports.getJoinSemigroup = exports.getDualSemigroup = exports.getStructSemigroup = exports.getTupleSemigroup = exports.getFirstSemigroup = exports.getLastSemigroup = exports.getObjectSemigroup = exports.semigroupVoid = exports.concatAll = exports.last = exports.first = exports.intercalate = exports.tuple = exports.struct = exports.reverse = exports.constant = exports.max = exports.min = void 0;
var function_1 = require_function();
var _ = __importStar(require_internal());
var M = __importStar(require_Magma());
var Or = __importStar(require_Ord());
var min = function(O) {
return {
concat: Or.min(O)
};
};
exports.min = min;
var max = function(O) {
return {
concat: Or.max(O)
};
};
exports.max = max;
var constant = function(a) {
return {
concat: function() {
return a;
}
};
};
exports.constant = constant;
exports.reverse = M.reverse;
var struct = function(semigroups) {
return {
concat: function(first2, second) {
var r = {};
for (var k in semigroups) {
if (_.has.call(semigroups, k)) {
r[k] = semigroups[k].concat(first2[k], second[k]);
}
}
return r;
}
};
};
exports.struct = struct;
var tuple = function() {
var semigroups = [];
for (var _i = 0; _i < arguments.length; _i++) {
semigroups[_i] = arguments[_i];
}
return {
concat: function(first2, second) {
return semigroups.map(function(s, i) {
return s.concat(first2[i], second[i]);
});
}
};
};
exports.tuple = tuple;
var intercalate = function(middle) {
return function(S) {
return {
concat: function(x, y) {
return S.concat(x, S.concat(middle, y));
}
};
};
};
exports.intercalate = intercalate;
var first = function() {
return { concat: function_1.identity };
};
exports.first = first;
var last = function() {
return { concat: function(_2, y) {
return y;
} };
};
exports.last = last;
exports.concatAll = M.concatAll;
exports.semigroupVoid = (0, exports.constant)(void 0);
var getObjectSemigroup = function() {
return {
concat: function(first2, second) {
return Object.assign({}, first2, second);
}
};
};
exports.getObjectSemigroup = getObjectSemigroup;
exports.getLastSemigroup = exports.last;
exports.getFirstSemigroup = exports.first;
exports.getTupleSemigroup = exports.tuple;
exports.getStructSemigroup = exports.struct;
exports.getDualSemigroup = exports.reverse;
exports.getJoinSemigroup = exports.max;
exports.getMeetSemigroup = exports.min;
exports.getIntercalateSemigroup = exports.intercalate;
function fold(S) {
var concatAllS = (0, exports.concatAll)(S);
return function(startWith, as) {
return as === void 0 ? concatAllS(startWith) : concatAllS(startWith)(as);
};
}
exports.fold = fold;
exports.semigroupAll = {
concat: function(x, y) {
return x && y;
}
};
exports.semigroupAny = {
concat: function(x, y) {
return x || y;
}
};
exports.getFunctionSemigroup = function_1.getSemigroup;
exports.semigroupString = {
concat: function(x, y) {
return x + y;
}
};
exports.semigroupSum = {
concat: function(x, y) {
return x + y;
}
};
exports.semigroupProduct = {
concat: function(x, y) {
return x * y;
}
};
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Separated.js
var require_Separated = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Separated.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.right = exports.left = exports.flap = exports.Functor = exports.Bifunctor = exports.URI = exports.bimap = exports.mapLeft = exports.map = exports.separated = void 0;
var function_1 = require_function();
var Functor_1 = require_Functor();
var separated = function(left2, right2) {
return { left: left2, right: right2 };
};
exports.separated = separated;
var _map = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.map)(f));
};
var _mapLeft = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.mapLeft)(f));
};
var _bimap = function(fa, g, f) {
return (0, function_1.pipe)(fa, (0, exports.bimap)(g, f));
};
var map2 = function(f) {
return function(fa) {
return (0, exports.separated)((0, exports.left)(fa), f((0, exports.right)(fa)));
};
};
exports.map = map2;
var mapLeft = function(f) {
return function(fa) {
return (0, exports.separated)(f((0, exports.left)(fa)), (0, exports.right)(fa));
};
};
exports.mapLeft = mapLeft;
var bimap = function(f, g) {
return function(fa) {
return (0, exports.separated)(f((0, exports.left)(fa)), g((0, exports.right)(fa)));
};
};
exports.bimap = bimap;
exports.URI = "Separated";
exports.Bifunctor = {
URI: exports.URI,
mapLeft: _mapLeft,
bimap: _bimap
};
exports.Functor = {
URI: exports.URI,
map: _map
};
exports.flap = (0, Functor_1.flap)(exports.Functor);
var left = function(s) {
return s.left;
};
exports.left = left;
var right = function(s) {
return s.right;
};
exports.right = right;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Witherable.js
var require_Witherable = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Witherable.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0)
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 === void 0)
k2 = k;
o[k2] = m[k];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.filterE = exports.witherDefault = exports.wiltDefault = void 0;
var _ = __importStar(require_internal());
function wiltDefault(T, C) {
return function(F) {
var traverseF = T.traverse(F);
return function(wa, f) {
return F.map(traverseF(wa, f), C.separate);
};
};
}
exports.wiltDefault = wiltDefault;
function witherDefault(T, C) {
return function(F) {
var traverseF = T.traverse(F);
return function(wa, f) {
return F.map(traverseF(wa, f), C.compact);
};
};
}
exports.witherDefault = witherDefault;
function filterE(W) {
return function(F) {
var witherF = W.wither(F);
return function(predicate) {
return function(ga) {
return witherF(ga, function(a) {
return F.map(predicate(a), function(b) {
return b ? _.some(a) : _.none;
});
});
};
};
};
}
exports.filterE = filterE;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Zero.js
var require_Zero = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Zero.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.guard = void 0;
function guard(F, P) {
return function(b) {
return b ? P.of(void 0) : F.zero();
};
}
exports.guard = guard;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Option.js
var require_Option = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/Option.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0)
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 === void 0)
k2 = k;
o[k2] = m[k];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromEither = exports.MonadThrow = exports.throwError = exports.Witherable = exports.wilt = exports.wither = exports.Traversable = exports.sequence = exports.traverse = exports.Filterable = exports.partitionMap = exports.partition = exports.filterMap = exports.filter = exports.Compactable = exports.separate = exports.compact = exports.Extend = exports.extend = exports.Alternative = exports.guard = exports.Zero = exports.zero = exports.Alt = exports.alt = exports.altW = exports.Foldable = exports.reduceRight = exports.foldMap = exports.reduce = exports.Monad = exports.Chain = exports.chain = exports.Applicative = exports.Apply = exports.ap = exports.Pointed = exports.of = exports.Functor = exports.map = exports.getMonoid = exports.getOrd = exports.getEq = exports.getShow = exports.URI = exports.getRight = exports.getLeft = exports.fromPredicate = exports.some = exports.none = void 0;
exports.getLastMonoid = exports.getFirstMonoid = exports.getApplyMonoid = exports.getApplySemigroup = exports.option = exports.mapNullable = exports.getRefinement = exports.sequenceArray = exports.traverseArray = exports.traverseArrayWithIndex = exports.traverseReadonlyArrayWithIndex = exports.traverseReadonlyNonEmptyArrayWithIndex = exports.ApT = exports.apS = exports.bind = exports.let = exports.bindTo = exports.Do = exports.exists = exports.elem = exports.toUndefined = exports.toNullable = exports.chainNullableK = exports.fromNullableK = exports.tryCatchK = exports.tryCatch = exports.fromNullable = exports.chainFirstEitherK = exports.chainEitherK = exports.fromEitherK = exports.duplicate = exports.chainFirst = exports.flatten = exports.apSecond = exports.apFirst = exports.flap = exports.getOrElse = exports.getOrElseW = exports.fold = exports.match = exports.foldW = exports.matchW = exports.isNone = exports.isSome = exports.FromEither = void 0;
var Applicative_1 = require_Applicative();
var Apply_1 = require_Apply();
var Chain_1 = require_Chain();
var FromEither_1 = require_FromEither();
var function_1 = require_function();
var Functor_1 = require_Functor();
var _ = __importStar(require_internal());
var Predicate_1 = require_Predicate();
var Semigroup_1 = require_Semigroup();
var Separated_1 = require_Separated();
var Witherable_1 = require_Witherable();
var Zero_1 = require_Zero();
exports.none = _.none;
exports.some = _.some;
function fromPredicate2(predicate) {
return function(a) {
return predicate(a) ? (0, exports.some)(a) : exports.none;
};
}
exports.fromPredicate = fromPredicate2;
var getLeft = function(ma) {
return ma._tag === "Right" ? exports.none : (0, exports.some)(ma.left);
};
exports.getLeft = getLeft;
var getRight = function(ma) {
return ma._tag === "Left" ? exports.none : (0, exports.some)(ma.right);
};
exports.getRight = getRight;
var _map = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.map)(f));
};
var _ap = function(fab, fa) {
return (0, function_1.pipe)(fab, (0, exports.ap)(fa));
};
var _chain = function(ma, f) {
return (0, function_1.pipe)(ma, (0, exports.chain)(f));
};
var _reduce = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduce)(b, f));
};
var _foldMap = function(M) {
var foldMapM = (0, exports.foldMap)(M);
return function(fa, f) {
return (0, function_1.pipe)(fa, foldMapM(f));
};
};
var _reduceRight = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduceRight)(b, f));
};
var _traverse = function(F) {
var traverseF = (0, exports.traverse)(F);
return function(ta, f) {
return (0, function_1.pipe)(ta, traverseF(f));
};
};
var _alt = function(fa, that) {
return (0, function_1.pipe)(fa, (0, exports.alt)(that));
};
var _filter = function(fa, predicate) {
return (0, function_1.pipe)(fa, (0, exports.filter)(predicate));
};
var _filterMap = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.filterMap)(f));
};
var _extend = function(wa, f) {
return (0, function_1.pipe)(wa, (0, exports.extend)(f));
};
var _partition = function(fa, predicate) {
return (0, function_1.pipe)(fa, (0, exports.partition)(predicate));
};
var _partitionMap = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.partitionMap)(f));
};
exports.URI = "Option";
var getShow = function(S) {
return {
show: function(ma) {
return (0, exports.isNone)(ma) ? "none" : "some(".concat(S.show(ma.value), ")");
}
};
};
exports.getShow = getShow;
var getEq = function(E) {
return {
equals: function(x, y) {
return x === y || ((0, exports.isNone)(x) ? (0, exports.isNone)(y) : (0, exports.isNone)(y) ? false : E.equals(x.value, y.value));
}
};
};
exports.getEq = getEq;
var getOrd = function(O) {
return {
equals: (0, exports.getEq)(O).equals,
compare: function(x, y) {
return x === y ? 0 : (0, exports.isSome)(x) ? (0, exports.isSome)(y) ? O.compare(x.value, y.value) : 1 : -1;
}
};
};
exports.getOrd = getOrd;
var getMonoid = function(S) {
return {
concat: function(x, y) {
return (0, exports.isNone)(x) ? y : (0, exports.isNone)(y) ? x : (0, exports.some)(S.concat(x.value, y.value));
},
empty: exports.none
};
};
exports.getMonoid = getMonoid;
var map2 = function(f) {
return function(fa) {
return (0, exports.isNone)(fa) ? exports.none : (0, exports.some)(f(fa.value));
};
};
exports.map = map2;
exports.Functor = {
URI: exports.URI,
map: _map
};
exports.of = exports.some;
exports.Pointed = {
URI: exports.URI,
of: exports.of
};
var ap = function(fa) {
return function(fab) {
return (0, exports.isNone)(fab) ? exports.none : (0, exports.isNone)(fa) ? exports.none : (0, exports.some)(fab.value(fa.value));
};
};
exports.ap = ap;
exports.Apply = {
URI: exports.URI,
map: _map,
ap: _ap
};
exports.Applicative = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of
};
var chain2 = function(f) {
return function(ma) {
return (0, exports.isNone)(ma) ? exports.none : f(ma.value);
};
};
exports.chain = chain2;
exports.Chain = {
URI: exports.URI,
map: _map,
ap: _ap,
chain: _chain
};
exports.Monad = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of,
chain: _chain
};
var reduce2 = function(b, f) {
return function(fa) {
return (0, exports.isNone)(fa) ? b : f(b, fa.value);
};
};
exports.reduce = reduce2;
var foldMap = function(M) {
return function(f) {
return function(fa) {
return (0, exports.isNone)(fa) ? M.empty : f(fa.value);
};
};
};
exports.foldMap = foldMap;
var reduceRight = function(b, f) {
return function(fa) {
return (0, exports.isNone)(fa) ? b : f(fa.value, b);
};
};
exports.reduceRight = reduceRight;
exports.Foldable = {
URI: exports.URI,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight
};
var altW = function(that) {
return function(fa) {
return (0, exports.isNone)(fa) ? that() : fa;
};
};
exports.altW = altW;
exports.alt = exports.altW;
exports.Alt = {
URI: exports.URI,
map: _map,
alt: _alt
};
var zero = function() {
return exports.none;
};
exports.zero = zero;
exports.Zero = {
URI: exports.URI,
zero: exports.zero
};
exports.guard = (0, Zero_1.guard)(exports.Zero, exports.Pointed);
exports.Alternative = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of,
alt: _alt,
zero: exports.zero
};
var extend = function(f) {
return function(wa) {
return (0, exports.isNone)(wa) ? exports.none : (0, exports.some)(f(wa));
};
};
exports.extend = extend;
exports.Extend = {
URI: exports.URI,
map: _map,
extend: _extend
};
exports.compact = (0, exports.chain)(function_1.identity);
var defaultSeparated = /* @__PURE__ */ (0, Separated_1.separated)(exports.none, exports.none);
var separate = function(ma) {
return (0, exports.isNone)(ma) ? defaultSeparated : (0, Separated_1.separated)((0, exports.getLeft)(ma.value), (0, exports.getRight)(ma.value));
};
exports.separate = separate;
exports.Compactable = {
URI: exports.URI,
compact: exports.compact,
separate: exports.separate
};
var filter = function(predicate) {
return function(fa) {
return (0, exports.isNone)(fa) ? exports.none : predicate(fa.value) ? fa : exports.none;
};
};
exports.filter = filter;
var filterMap = function(f) {
return function(fa) {
return (0, exports.isNone)(fa) ? exports.none : f(fa.value);
};
};
exports.filterMap = filterMap;
var partition = function(predicate) {
return function(fa) {
return (0, Separated_1.separated)(_filter(fa, (0, Predicate_1.not)(predicate)), _filter(fa, predicate));
};
};
exports.partition = partition;
var partitionMap = function(f) {
return (0, function_1.flow)((0, exports.map)(f), exports.separate);
};
exports.partitionMap = partitionMap;
exports.Filterable = {
URI: exports.URI,
map: _map,
compact: exports.compact,
separate: exports.separate,
filter: _filter,
filterMap: _filterMap,
partition: _partition,
partitionMap: _partitionMap
};
var traverse = function(F) {
return function(f) {
return function(ta) {
return (0, exports.isNone)(ta) ? F.of(exports.none) : F.map(f(ta.value), exports.some);
};
};
};
exports.traverse = traverse;
var sequence2 = function(F) {
return function(ta) {
return (0, exports.isNone)(ta) ? F.of(exports.none) : F.map(ta.value, exports.some);
};
};
exports.sequence = sequence2;
exports.Traversable = {
URI: exports.URI,
map: _map,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence
};
var _wither = /* @__PURE__ */ (0, Witherable_1.witherDefault)(exports.Traversable, exports.Compactable);
var _wilt = /* @__PURE__ */ (0, Witherable_1.wiltDefault)(exports.Traversable, exports.Compactable);
var wither = function(F) {
var _witherF = _wither(F);
return function(f) {
return function(fa) {
return _witherF(fa, f);
};
};
};
exports.wither = wither;
var wilt = function(F) {
var _wiltF = _wilt(F);
return function(f) {
return function(fa) {
return _wiltF(fa, f);
};
};
};
exports.wilt = wilt;
exports.Witherable = {
URI: exports.URI,
map: _map,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence,
compact: exports.compact,
separate: exports.separate,
filter: _filter,
filterMap: _filterMap,
partition: _partition,
partitionMap: _partitionMap,
wither: _wither,
wilt: _wilt
};
var throwError = function() {
return exports.none;
};
exports.throwError = throwError;
exports.MonadThrow = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of,
chain: _chain,
throwError: exports.throwError
};
exports.fromEither = exports.getRight;
exports.FromEither = {
URI: exports.URI,
fromEither: exports.fromEither
};
exports.isSome = _.isSome;
var isNone2 = function(fa) {
return fa._tag === "None";
};
exports.isNone = isNone2;
var matchW = function(onNone, onSome) {
return function(ma) {
return (0, exports.isNone)(ma) ? onNone() : onSome(ma.value);
};
};
exports.matchW = matchW;
exports.foldW = exports.matchW;
exports.match = exports.matchW;
exports.fold = exports.match;
var getOrElseW2 = function(onNone) {
return function(ma) {
return (0, exports.isNone)(ma) ? onNone() : ma.value;
};
};
exports.getOrElseW = getOrElseW2;
exports.getOrElse = exports.getOrElseW;
exports.flap = (0, Functor_1.flap)(exports.Functor);
exports.apFirst = (0, Apply_1.apFirst)(exports.Apply);
exports.apSecond = (0, Apply_1.apSecond)(exports.Apply);
exports.flatten = exports.compact;
exports.chainFirst = /* @__PURE__ */ (0, Chain_1.chainFirst)(exports.Chain);
exports.duplicate = (0, exports.extend)(function_1.identity);
exports.fromEitherK = (0, FromEither_1.fromEitherK)(exports.FromEither);
exports.chainEitherK = /* @__PURE__ */ (0, FromEither_1.chainEitherK)(exports.FromEither, exports.Chain);
exports.chainFirstEitherK = /* @__PURE__ */ (0, FromEither_1.chainFirstEitherK)(exports.FromEither, exports.Chain);
var fromNullable = function(a) {
return a == null ? exports.none : (0, exports.some)(a);
};
exports.fromNullable = fromNullable;
var tryCatch = function(f) {
try {
return (0, exports.some)(f());
} catch (e) {
return exports.none;
}
};
exports.tryCatch = tryCatch;
var tryCatchK = function(f) {
return function() {
var a = [];
for (var _i = 0; _i < arguments.length; _i++) {
a[_i] = arguments[_i];
}
return (0, exports.tryCatch)(function() {
return f.apply(void 0, a);
});
};
};
exports.tryCatchK = tryCatchK;
var fromNullableK = function(f) {
return (0, function_1.flow)(f, exports.fromNullable);
};
exports.fromNullableK = fromNullableK;
var chainNullableK = function(f) {
return function(ma) {
return (0, exports.isNone)(ma) ? exports.none : (0, exports.fromNullable)(f(ma.value));
};
};
exports.chainNullableK = chainNullableK;
exports.toNullable = (0, exports.match)(function_1.constNull, function_1.identity);
exports.toUndefined = (0, exports.match)(function_1.constUndefined, function_1.identity);
function elem(E) {
return function(a, ma) {
if (ma === void 0) {
var elemE_1 = elem(E);
return function(ma2) {
return elemE_1(a, ma2);
};
}
return (0, exports.isNone)(ma) ? false : E.equals(a, ma.value);
};
}
exports.elem = elem;
var exists = function(predicate) {
return function(ma) {
return (0, exports.isNone)(ma) ? false : predicate(ma.value);
};
};
exports.exists = exists;
exports.Do = (0, exports.of)(_.emptyRecord);
exports.bindTo = (0, Functor_1.bindTo)(exports.Functor);
var let_ = /* @__PURE__ */ (0, Functor_1.let)(exports.Functor);
exports.let = let_;
exports.bind = (0, Chain_1.bind)(exports.Chain);
exports.apS = (0, Apply_1.apS)(exports.Apply);
exports.ApT = (0, exports.of)(_.emptyReadonlyArray);
var traverseReadonlyNonEmptyArrayWithIndex = function(f) {
return function(as) {
var o = f(0, _.head(as));
if ((0, exports.isNone)(o)) {
return exports.none;
}
var out = [o.value];
for (var i = 1; i < as.length; i++) {
var o_1 = f(i, as[i]);
if ((0, exports.isNone)(o_1)) {
return exports.none;
}
out.push(o_1.value);
}
return (0, exports.some)(out);
};
};
exports.traverseReadonlyNonEmptyArrayWithIndex = traverseReadonlyNonEmptyArrayWithIndex;
var traverseReadonlyArrayWithIndex = function(f) {
var g = (0, exports.traverseReadonlyNonEmptyArrayWithIndex)(f);
return function(as) {
return _.isNonEmpty(as) ? g(as) : exports.ApT;
};
};
exports.traverseReadonlyArrayWithIndex = traverseReadonlyArrayWithIndex;
exports.traverseArrayWithIndex = exports.traverseReadonlyArrayWithIndex;
var traverseArray = function(f) {
return (0, exports.traverseReadonlyArrayWithIndex)(function(_2, a) {
return f(a);
});
};
exports.traverseArray = traverseArray;
exports.sequenceArray = /* @__PURE__ */ (0, exports.traverseArray)(function_1.identity);
function getRefinement(getOption) {
return function(a) {
return (0, exports.isSome)(getOption(a));
};
}
exports.getRefinement = getRefinement;
exports.mapNullable = exports.chainNullableK;
exports.option = {
URI: exports.URI,
map: _map,
of: exports.of,
ap: _ap,
chain: _chain,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence,
zero: exports.zero,
alt: _alt,
extend: _extend,
compact: exports.compact,
separate: exports.separate,
filter: _filter,
filterMap: _filterMap,
partition: _partition,
partitionMap: _partitionMap,
wither: _wither,
wilt: _wilt,
throwError: exports.throwError
};
exports.getApplySemigroup = (0, Apply_1.getApplySemigroup)(exports.Apply);
exports.getApplyMonoid = (0, Applicative_1.getApplicativeMonoid)(exports.Applicative);
var getFirstMonoid = function() {
return (0, exports.getMonoid)((0, Semigroup_1.first)());
};
exports.getFirstMonoid = getFirstMonoid;
var getLastMonoid = function() {
return (0, exports.getMonoid)((0, Semigroup_1.last)());
};
exports.getLastMonoid = getLastMonoid;
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/number.js
var require_number = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/number.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Field = exports.MonoidProduct = exports.MonoidSum = exports.SemigroupProduct = exports.SemigroupSum = exports.MagmaSub = exports.Show = exports.Bounded = exports.Ord = exports.Eq = exports.isNumber = void 0;
var isNumber = function(u) {
return typeof u === "number";
};
exports.isNumber = isNumber;
exports.Eq = {
equals: function(first, second) {
return first === second;
}
};
exports.Ord = {
equals: exports.Eq.equals,
compare: function(first, second) {
return first < second ? -1 : first > second ? 1 : 0;
}
};
exports.Bounded = {
equals: exports.Eq.equals,
compare: exports.Ord.compare,
top: Infinity,
bottom: -Infinity
};
exports.Show = {
show: function(n) {
return JSON.stringify(n);
}
};
exports.MagmaSub = {
concat: function(first, second) {
return first - second;
}
};
exports.SemigroupSum = {
concat: function(first, second) {
return first + second;
}
};
exports.SemigroupProduct = {
concat: function(first, second) {
return first * second;
}
};
exports.MonoidSum = {
concat: exports.SemigroupSum.concat,
empty: 0
};
exports.MonoidProduct = {
concat: exports.SemigroupProduct.concat,
empty: 1
};
exports.Field = {
add: exports.SemigroupSum.concat,
zero: 0,
mul: exports.SemigroupProduct.concat,
one: 1,
sub: exports.MagmaSub.concat,
degree: function(_) {
return 1;
},
div: function(first, second) {
return first / second;
},
mod: function(first, second) {
return first % second;
}
};
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/ReadonlyNonEmptyArray.js
var require_ReadonlyNonEmptyArray = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/ReadonlyNonEmptyArray.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0)
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 === void 0)
k2 = k;
o[k2] = m[k];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
var __spreadArray = exports && exports.__spreadArray || function(to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar)
ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.reduceRight = exports.foldMap = exports.reduce = exports.mapWithIndex = exports.map = exports.flatten = exports.duplicate = exports.extend = exports.chain = exports.ap = exports.alt = exports.altW = exports.of = exports.chunksOf = exports.splitAt = exports.chop = exports.chainWithIndex = exports.intersperse = exports.prependAll = exports.unzip = exports.zip = exports.zipWith = exports.modifyAt = exports.updateAt = exports.sort = exports.groupBy = exports.group = exports.reverse = exports.concat = exports.concatW = exports.fromArray = exports.unappend = exports.unprepend = exports.range = exports.replicate = exports.makeBy = exports.fromReadonlyArray = exports.rotate = exports.union = exports.sortBy = exports.uniq = exports.unsafeUpdateAt = exports.unsafeInsertAt = exports.append = exports.appendW = exports.prepend = exports.prependW = exports.isOutOfBound = exports.isNonEmpty = exports.empty = void 0;
exports.filter = exports.groupSort = exports.intercalate = exports.updateLast = exports.modifyLast = exports.updateHead = exports.modifyHead = exports.matchRight = exports.matchLeft = exports.concatAll = exports.max = exports.min = exports.init = exports.last = exports.tail = exports.head = exports.apS = exports.bind = exports.let = exports.bindTo = exports.Do = exports.Comonad = exports.Alt = exports.TraversableWithIndex = exports.Traversable = exports.FoldableWithIndex = exports.Foldable = exports.Monad = exports.chainFirst = exports.Chain = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.FunctorWithIndex = exports.Pointed = exports.flap = exports.Functor = exports.getUnionSemigroup = exports.getEq = exports.getSemigroup = exports.getShow = exports.URI = exports.extract = exports.traverseWithIndex = exports.sequence = exports.traverse = exports.reduceRightWithIndex = exports.foldMapWithIndex = exports.reduceWithIndex = void 0;
exports.readonlyNonEmptyArray = exports.fold = exports.prependToAll = exports.insertAt = exports.snoc = exports.cons = exports.unsnoc = exports.uncons = exports.filterWithIndex = void 0;
var Apply_1 = require_Apply();
var Chain_1 = require_Chain();
var Eq_1 = require_Eq();
var function_1 = require_function();
var Functor_1 = require_Functor();
var _ = __importStar(require_internal());
var Ord_1 = require_Ord();
var Se = __importStar(require_Semigroup());
exports.empty = _.emptyReadonlyArray;
exports.isNonEmpty = _.isNonEmpty;
var isOutOfBound = function(i, as) {
return i < 0 || i >= as.length;
};
exports.isOutOfBound = isOutOfBound;
var prependW = function(head2) {
return function(tail2) {
return __spreadArray([head2], tail2, true);
};
};
exports.prependW = prependW;
exports.prepend = exports.prependW;
var appendW = function(end) {
return function(init2) {
return __spreadArray(__spreadArray([], init2, true), [end], false);
};
};
exports.appendW = appendW;
exports.append = exports.appendW;
var unsafeInsertAt = function(i, a, as) {
if ((0, exports.isNonEmpty)(as)) {
var xs = _.fromReadonlyNonEmptyArray(as);
xs.splice(i, 0, a);
return xs;
}
return [a];
};
exports.unsafeInsertAt = unsafeInsertAt;
var unsafeUpdateAt = function(i, a, as) {
if (as[i] === a) {
return as;
} else {
var xs = _.fromReadonlyNonEmptyArray(as);
xs[i] = a;
return xs;
}
};
exports.unsafeUpdateAt = unsafeUpdateAt;
var uniq = function(E) {
return function(as) {
if (as.length === 1) {
return as;
}
var out = [(0, exports.head)(as)];
var rest = (0, exports.tail)(as);
var _loop_1 = function(a2) {
if (out.every(function(o) {
return !E.equals(o, a2);
})) {
out.push(a2);
}
};
for (var _i = 0, rest_1 = rest; _i < rest_1.length; _i++) {
var a = rest_1[_i];
_loop_1(a);
}
return out;
};
};
exports.uniq = uniq;
var sortBy = function(ords) {
if ((0, exports.isNonEmpty)(ords)) {
var M = (0, Ord_1.getMonoid)();
return (0, exports.sort)(ords.reduce(M.concat, M.empty));
}
return function_1.identity;
};
exports.sortBy = sortBy;
var union = function(E) {
var uniqE = (0, exports.uniq)(E);
return function(second) {
return function(first) {
return uniqE((0, function_1.pipe)(first, concat(second)));
};
};
};
exports.union = union;
var rotate = function(n) {
return function(as) {
var len = as.length;
var m = Math.round(n) % len;
if ((0, exports.isOutOfBound)(Math.abs(m), as) || m === 0) {
return as;
}
if (m < 0) {
var _a = (0, exports.splitAt)(-m)(as), f = _a[0], s = _a[1];
return (0, function_1.pipe)(s, concat(f));
} else {
return (0, exports.rotate)(m - len)(as);
}
};
};
exports.rotate = rotate;
var fromReadonlyArray2 = function(as) {
return (0, exports.isNonEmpty)(as) ? _.some(as) : _.none;
};
exports.fromReadonlyArray = fromReadonlyArray2;
var makeBy = function(f) {
return function(n) {
var j = Math.max(0, Math.floor(n));
var out = [f(0)];
for (var i = 1; i < j; i++) {
out.push(f(i));
}
return out;
};
};
exports.makeBy = makeBy;
var replicate = function(a) {
return (0, exports.makeBy)(function() {
return a;
});
};
exports.replicate = replicate;
var range = function(start, end) {
return start <= end ? (0, exports.makeBy)(function(i) {
return start + i;
})(end - start + 1) : [start];
};
exports.range = range;
var unprepend = function(as) {
return [(0, exports.head)(as), (0, exports.tail)(as)];
};
exports.unprepend = unprepend;
var unappend = function(as) {
return [(0, exports.init)(as), (0, exports.last)(as)];
};
exports.unappend = unappend;
var fromArray = function(as) {
return (0, exports.fromReadonlyArray)(as.slice());
};
exports.fromArray = fromArray;
function concatW(second) {
return function(first) {
return first.concat(second);
};
}
exports.concatW = concatW;
function concat(x, y) {
return y ? x.concat(y) : function(y2) {
return y2.concat(x);
};
}
exports.concat = concat;
var reverse = function(as) {
return as.length === 1 ? as : __spreadArray([(0, exports.last)(as)], as.slice(0, -1).reverse(), true);
};
exports.reverse = reverse;
function group(E) {
return function(as) {
var len = as.length;
if (len === 0) {
return exports.empty;
}
var out = [];
var head2 = as[0];
var nea = [head2];
for (var i = 1; i < len; i++) {
var a = as[i];
if (E.equals(a, head2)) {
nea.push(a);
} else {
out.push(nea);
head2 = a;
nea = [head2];
}
}
out.push(nea);
return out;
};
}
exports.group = group;
var groupBy = function(f) {
return function(as) {
var out = {};
for (var _i = 0, as_1 = as; _i < as_1.length; _i++) {
var a = as_1[_i];
var k = f(a);
if (_.has.call(out, k)) {
out[k].push(a);
} else {
out[k] = [a];
}
}
return out;
};
};
exports.groupBy = groupBy;
var sort = function(O) {
return function(as) {
return as.length === 1 ? as : as.slice().sort(O.compare);
};
};
exports.sort = sort;
var updateAt = function(i, a) {
return (0, exports.modifyAt)(i, function() {
return a;
});
};
exports.updateAt = updateAt;
var modifyAt = function(i, f) {
return function(as) {
return (0, exports.isOutOfBound)(i, as) ? _.none : _.some((0, exports.unsafeUpdateAt)(i, f(as[i]), as));
};
};
exports.modifyAt = modifyAt;
var zipWith = function(as, bs, f) {
var cs = [f(as[0], bs[0])];
var len = Math.min(as.length, bs.length);
for (var i = 1; i < len; i++) {
cs[i] = f(as[i], bs[i]);
}
return cs;
};
exports.zipWith = zipWith;
function zip(as, bs) {
if (bs === void 0) {
return function(bs2) {
return zip(bs2, as);
};
}
return (0, exports.zipWith)(as, bs, function(a, b) {
return [a, b];
});
}
exports.zip = zip;
var unzip = function(abs) {
var fa = [abs[0][0]];
var fb = [abs[0][1]];
for (var i = 1; i < abs.length; i++) {
fa[i] = abs[i][0];
fb[i] = abs[i][1];
}
return [fa, fb];
};
exports.unzip = unzip;
var prependAll = function(middle) {
return function(as) {
var out = [middle, as[0]];
for (var i = 1; i < as.length; i++) {
out.push(middle, as[i]);
}
return out;
};
};
exports.prependAll = prependAll;
var intersperse = function(middle) {
return function(as) {
var rest = (0, exports.tail)(as);
return (0, exports.isNonEmpty)(rest) ? (0, function_1.pipe)(rest, (0, exports.prependAll)(middle), (0, exports.prepend)((0, exports.head)(as))) : as;
};
};
exports.intersperse = intersperse;
var chainWithIndex = function(f) {
return function(as) {
var out = _.fromReadonlyNonEmptyArray(f(0, (0, exports.head)(as)));
for (var i = 1; i < as.length; i++) {
out.push.apply(out, f(i, as[i]));
}
return out;
};
};
exports.chainWithIndex = chainWithIndex;
var chop = function(f) {
return function(as) {
var _a = f(as), b = _a[0], rest = _a[1];
var out = [b];
var next = rest;
while ((0, exports.isNonEmpty)(next)) {
var _b = f(next), b_1 = _b[0], rest_2 = _b[1];
out.push(b_1);
next = rest_2;
}
return out;
};
};
exports.chop = chop;
var splitAt = function(n) {
return function(as) {
var m = Math.max(1, n);
return m >= as.length ? [as, exports.empty] : [(0, function_1.pipe)(as.slice(1, m), (0, exports.prepend)((0, exports.head)(as))), as.slice(m)];
};
};
exports.splitAt = splitAt;
var chunksOf = function(n) {
return (0, exports.chop)((0, exports.splitAt)(n));
};
exports.chunksOf = chunksOf;
var _map = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.map)(f));
};
var _mapWithIndex = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.mapWithIndex)(f));
};
var _ap = function(fab, fa) {
return (0, function_1.pipe)(fab, (0, exports.ap)(fa));
};
var _chain = function(ma, f) {
return (0, function_1.pipe)(ma, (0, exports.chain)(f));
};
var _extend = function(wa, f) {
return (0, function_1.pipe)(wa, (0, exports.extend)(f));
};
var _reduce = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduce)(b, f));
};
var _foldMap = function(M) {
var foldMapM = (0, exports.foldMap)(M);
return function(fa, f) {
return (0, function_1.pipe)(fa, foldMapM(f));
};
};
var _reduceRight = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduceRight)(b, f));
};
var _traverse = function(F) {
var traverseF = (0, exports.traverse)(F);
return function(ta, f) {
return (0, function_1.pipe)(ta, traverseF(f));
};
};
var _alt = function(fa, that) {
return (0, function_1.pipe)(fa, (0, exports.alt)(that));
};
var _reduceWithIndex = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduceWithIndex)(b, f));
};
var _foldMapWithIndex = function(M) {
var foldMapWithIndexM = (0, exports.foldMapWithIndex)(M);
return function(fa, f) {
return (0, function_1.pipe)(fa, foldMapWithIndexM(f));
};
};
var _reduceRightWithIndex = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduceRightWithIndex)(b, f));
};
var _traverseWithIndex = function(F) {
var traverseWithIndexF = (0, exports.traverseWithIndex)(F);
return function(ta, f) {
return (0, function_1.pipe)(ta, traverseWithIndexF(f));
};
};
exports.of = _.singleton;
var altW = function(that) {
return function(as) {
return (0, function_1.pipe)(as, concatW(that()));
};
};
exports.altW = altW;
exports.alt = exports.altW;
var ap = function(as) {
return (0, exports.chain)(function(f) {
return (0, function_1.pipe)(as, (0, exports.map)(f));
});
};
exports.ap = ap;
var chain2 = function(f) {
return (0, exports.chainWithIndex)(function(_2, a) {
return f(a);
});
};
exports.chain = chain2;
var extend = function(f) {
return function(as) {
var next = (0, exports.tail)(as);
var out = [f(as)];
while ((0, exports.isNonEmpty)(next)) {
out.push(f(next));
next = (0, exports.tail)(next);
}
return out;
};
};
exports.extend = extend;
exports.duplicate = /* @__PURE__ */ (0, exports.extend)(function_1.identity);
exports.flatten = /* @__PURE__ */ (0, exports.chain)(function_1.identity);
var map2 = function(f) {
return (0, exports.mapWithIndex)(function(_2, a) {
return f(a);
});
};
exports.map = map2;
var mapWithIndex = function(f) {
return function(as) {
var out = [f(0, (0, exports.head)(as))];
for (var i = 1; i < as.length; i++) {
out.push(f(i, as[i]));
}
return out;
};
};
exports.mapWithIndex = mapWithIndex;
var reduce2 = function(b, f) {
return (0, exports.reduceWithIndex)(b, function(_2, b2, a) {
return f(b2, a);
});
};
exports.reduce = reduce2;
var foldMap = function(S) {
return function(f) {
return function(as) {
return as.slice(1).reduce(function(s, a) {
return S.concat(s, f(a));
}, f(as[0]));
};
};
};
exports.foldMap = foldMap;
var reduceRight = function(b, f) {
return (0, exports.reduceRightWithIndex)(b, function(_2, b2, a) {
return f(b2, a);
});
};
exports.reduceRight = reduceRight;
var reduceWithIndex2 = function(b, f) {
return function(as) {
return as.reduce(function(b2, a, i) {
return f(i, b2, a);
}, b);
};
};
exports.reduceWithIndex = reduceWithIndex2;
var foldMapWithIndex = function(S) {
return function(f) {
return function(as) {
return as.slice(1).reduce(function(s, a, i) {
return S.concat(s, f(i + 1, a));
}, f(0, as[0]));
};
};
};
exports.foldMapWithIndex = foldMapWithIndex;
var reduceRightWithIndex = function(b, f) {
return function(as) {
return as.reduceRight(function(b2, a, i) {
return f(i, a, b2);
}, b);
};
};
exports.reduceRightWithIndex = reduceRightWithIndex;
var traverse = function(F) {
var traverseWithIndexF = (0, exports.traverseWithIndex)(F);
return function(f) {
return traverseWithIndexF(function(_2, a) {
return f(a);
});
};
};
exports.traverse = traverse;
var sequence2 = function(F) {
return (0, exports.traverseWithIndex)(F)(function_1.SK);
};
exports.sequence = sequence2;
var traverseWithIndex = function(F) {
return function(f) {
return function(as) {
var out = F.map(f(0, (0, exports.head)(as)), exports.of);
for (var i = 1; i < as.length; i++) {
out = F.ap(F.map(out, function(bs) {
return function(b) {
return (0, function_1.pipe)(bs, (0, exports.append)(b));
};
}), f(i, as[i]));
}
return out;
};
};
};
exports.traverseWithIndex = traverseWithIndex;
exports.extract = _.head;
exports.URI = "ReadonlyNonEmptyArray";
var getShow = function(S) {
return {
show: function(as) {
return "[".concat(as.map(S.show).join(", "), "]");
}
};
};
exports.getShow = getShow;
var getSemigroup = function() {
return {
concat
};
};
exports.getSemigroup = getSemigroup;
var getEq = function(E) {
return (0, Eq_1.fromEquals)(function(xs, ys) {
return xs.length === ys.length && xs.every(function(x, i) {
return E.equals(x, ys[i]);
});
});
};
exports.getEq = getEq;
var getUnionSemigroup = function(E) {
var unionE = (0, exports.union)(E);
return {
concat: function(first, second) {
return unionE(second)(first);
}
};
};
exports.getUnionSemigroup = getUnionSemigroup;
exports.Functor = {
URI: exports.URI,
map: _map
};
exports.flap = (0, Functor_1.flap)(exports.Functor);
exports.Pointed = {
URI: exports.URI,
of: exports.of
};
exports.FunctorWithIndex = {
URI: exports.URI,
map: _map,
mapWithIndex: _mapWithIndex
};
exports.Apply = {
URI: exports.URI,
map: _map,
ap: _ap
};
exports.apFirst = (0, Apply_1.apFirst)(exports.Apply);
exports.apSecond = (0, Apply_1.apSecond)(exports.Apply);
exports.Applicative = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of
};
exports.Chain = {
URI: exports.URI,
map: _map,
ap: _ap,
chain: _chain
};
exports.chainFirst = (0, Chain_1.chainFirst)(exports.Chain);
exports.Monad = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of,
chain: _chain
};
exports.Foldable = {
URI: exports.URI,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight
};
exports.FoldableWithIndex = {
URI: exports.URI,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
reduceWithIndex: _reduceWithIndex,
foldMapWithIndex: _foldMapWithIndex,
reduceRightWithIndex: _reduceRightWithIndex
};
exports.Traversable = {
URI: exports.URI,
map: _map,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence
};
exports.TraversableWithIndex = {
URI: exports.URI,
map: _map,
mapWithIndex: _mapWithIndex,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence,
reduceWithIndex: _reduceWithIndex,
foldMapWithIndex: _foldMapWithIndex,
reduceRightWithIndex: _reduceRightWithIndex,
traverseWithIndex: _traverseWithIndex
};
exports.Alt = {
URI: exports.URI,
map: _map,
alt: _alt
};
exports.Comonad = {
URI: exports.URI,
map: _map,
extend: _extend,
extract: exports.extract
};
exports.Do = (0, exports.of)(_.emptyRecord);
exports.bindTo = (0, Functor_1.bindTo)(exports.Functor);
var let_ = /* @__PURE__ */ (0, Functor_1.let)(exports.Functor);
exports.let = let_;
exports.bind = (0, Chain_1.bind)(exports.Chain);
exports.apS = (0, Apply_1.apS)(exports.Apply);
exports.head = exports.extract;
exports.tail = _.tail;
var last = function(as) {
return as[as.length - 1];
};
exports.last = last;
var init = function(as) {
return as.slice(0, -1);
};
exports.init = init;
var min = function(O) {
var S = Se.min(O);
return function(as) {
return as.reduce(S.concat);
};
};
exports.min = min;
var max = function(O) {
var S = Se.max(O);
return function(as) {
return as.reduce(S.concat);
};
};
exports.max = max;
var concatAll = function(S) {
return function(as) {
return as.reduce(S.concat);
};
};
exports.concatAll = concatAll;
var matchLeft = function(f) {
return function(as) {
return f((0, exports.head)(as), (0, exports.tail)(as));
};
};
exports.matchLeft = matchLeft;
var matchRight = function(f) {
return function(as) {
return f((0, exports.init)(as), (0, exports.last)(as));
};
};
exports.matchRight = matchRight;
var modifyHead = function(f) {
return function(as) {
return __spreadArray([f((0, exports.head)(as))], (0, exports.tail)(as), true);
};
};
exports.modifyHead = modifyHead;
var updateHead = function(a) {
return (0, exports.modifyHead)(function() {
return a;
});
};
exports.updateHead = updateHead;
var modifyLast = function(f) {
return function(as) {
return (0, function_1.pipe)((0, exports.init)(as), (0, exports.append)(f((0, exports.last)(as))));
};
};
exports.modifyLast = modifyLast;
var updateLast = function(a) {
return (0, exports.modifyLast)(function() {
return a;
});
};
exports.updateLast = updateLast;
var intercalate = function(S) {
var concatAllS = (0, exports.concatAll)(S);
return function(middle) {
return (0, function_1.flow)((0, exports.intersperse)(middle), concatAllS);
};
};
exports.intercalate = intercalate;
function groupSort(O) {
var sortO = (0, exports.sort)(O);
var groupO = group(O);
return function(as) {
return (0, exports.isNonEmpty)(as) ? groupO(sortO(as)) : exports.empty;
};
}
exports.groupSort = groupSort;
function filter(predicate) {
return (0, exports.filterWithIndex)(function(_2, a) {
return predicate(a);
});
}
exports.filter = filter;
var filterWithIndex = function(predicate) {
return function(as) {
return (0, exports.fromReadonlyArray)(as.filter(function(a, i) {
return predicate(i, a);
}));
};
};
exports.filterWithIndex = filterWithIndex;
exports.uncons = exports.unprepend;
exports.unsnoc = exports.unappend;
function cons(head2, tail2) {
return tail2 === void 0 ? (0, exports.prepend)(head2) : (0, function_1.pipe)(tail2, (0, exports.prepend)(head2));
}
exports.cons = cons;
var snoc = function(init2, end) {
return (0, function_1.pipe)(init2, concat([end]));
};
exports.snoc = snoc;
var insertAt = function(i, a) {
return function(as) {
return i < 0 || i > as.length ? _.none : _.some((0, exports.unsafeInsertAt)(i, a, as));
};
};
exports.insertAt = insertAt;
exports.prependToAll = exports.prependAll;
exports.fold = exports.concatAll;
exports.readonlyNonEmptyArray = {
URI: exports.URI,
of: exports.of,
map: _map,
mapWithIndex: _mapWithIndex,
ap: _ap,
chain: _chain,
extend: _extend,
extract: exports.extract,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence,
reduceWithIndex: _reduceWithIndex,
foldMapWithIndex: _foldMapWithIndex,
reduceRightWithIndex: _reduceRightWithIndex,
traverseWithIndex: _traverseWithIndex,
alt: _alt
};
}
});
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/ReadonlyArray.js
var require_ReadonlyArray = __commonJS({
"node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/lib/ReadonlyArray.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0)
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 === void 0)
k2 = k;
o[k2] = m[k];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
o["default"] = v;
});
var __importStar = exports && exports.__importStar || function(mod) {
if (mod && mod.__esModule)
return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
var __spreadArray = exports && exports.__spreadArray || function(to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar)
ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sort = exports.lefts = exports.rights = exports.reverse = exports.modifyAt = exports.deleteAt = exports.updateAt = exports.insertAt = exports.findLastIndex = exports.findLastMap = exports.findLast = exports.findFirstMap = exports.findFirst = exports.findIndex = exports.dropLeftWhile = exports.dropRight = exports.dropLeft = exports.spanLeft = exports.takeLeftWhile = exports.takeRight = exports.takeLeft = exports.init = exports.tail = exports.last = exports.head = exports.lookup = exports.isOutOfBound = exports.size = exports.scanRight = exports.scanLeft = exports.chainWithIndex = exports.foldRight = exports.matchRight = exports.matchRightW = exports.foldLeft = exports.matchLeft = exports.matchLeftW = exports.match = exports.matchW = exports.fromEither = exports.fromOption = exports.fromPredicate = exports.replicate = exports.makeBy = exports.appendW = exports.append = exports.prependW = exports.prepend = exports.isNonEmpty = exports.isEmpty = void 0;
exports.sequence = exports.traverse = exports.reduceRightWithIndex = exports.reduceRight = exports.reduceWithIndex = exports.foldMap = exports.reduce = exports.foldMapWithIndex = exports.duplicate = exports.extend = exports.filterWithIndex = exports.partitionMapWithIndex = exports.partitionMap = exports.partitionWithIndex = exports.partition = exports.compact = exports.filterMap = exports.filterMapWithIndex = exports.filter = exports.separate = exports.mapWithIndex = exports.map = exports.flatten = exports.chain = exports.ap = exports.alt = exports.altW = exports.zero = exports.of = exports._chainRecBreadthFirst = exports._chainRecDepthFirst = exports.difference = exports.intersection = exports.union = exports.concat = exports.concatW = exports.comprehension = exports.fromOptionK = exports.chunksOf = exports.splitAt = exports.chop = exports.sortBy = exports.uniq = exports.elem = exports.rotate = exports.intersperse = exports.prependAll = exports.unzip = exports.zip = exports.zipWith = void 0;
exports.toArray = exports.unsafeDeleteAt = exports.unsafeUpdateAt = exports.unsafeInsertAt = exports.fromEitherK = exports.FromEither = exports.filterE = exports.Witherable = exports.ChainRecBreadthFirst = exports.chainRecBreadthFirst = exports.ChainRecDepthFirst = exports.chainRecDepthFirst = exports.TraversableWithIndex = exports.Traversable = exports.FoldableWithIndex = exports.Foldable = exports.FilterableWithIndex = exports.Filterable = exports.Compactable = exports.Extend = exports.Alternative = exports.guard = exports.Zero = exports.Alt = exports.Unfoldable = exports.chainFirst = exports.Monad = exports.Chain = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.FunctorWithIndex = exports.Pointed = exports.flap = exports.Functor = exports.getDifferenceMagma = exports.getIntersectionSemigroup = exports.getUnionMonoid = exports.getUnionSemigroup = exports.getOrd = exports.getEq = exports.getMonoid = exports.getSemigroup = exports.getShow = exports.URI = exports.unfold = exports.wilt = exports.wither = exports.traverseWithIndex = void 0;
exports.readonlyArray = exports.prependToAll = exports.snoc = exports.cons = exports.range = exports.apS = exports.bind = exports.let = exports.bindTo = exports.Do = exports.intercalate = exports.exists = exports.some = exports.every = exports.empty = exports.fromArray = void 0;
var Apply_1 = require_Apply();
var Chain_1 = require_Chain();
var Eq_1 = require_Eq();
var FromEither_1 = require_FromEither();
var function_1 = require_function();
var Functor_1 = require_Functor();
var _ = __importStar(require_internal());
var N = __importStar(require_number());
var Ord_1 = require_Ord();
var RNEA = __importStar(require_ReadonlyNonEmptyArray());
var Separated_1 = require_Separated();
var Witherable_1 = require_Witherable();
var Zero_1 = require_Zero();
var isEmpty = function(as) {
return as.length === 0;
};
exports.isEmpty = isEmpty;
exports.isNonEmpty = RNEA.isNonEmpty;
exports.prepend = RNEA.prepend;
exports.prependW = RNEA.prependW;
exports.append = RNEA.append;
exports.appendW = RNEA.appendW;
var makeBy = function(n, f) {
return n <= 0 ? exports.empty : RNEA.makeBy(f)(n);
};
exports.makeBy = makeBy;
var replicate = function(n, a) {
return (0, exports.makeBy)(n, function() {
return a;
});
};
exports.replicate = replicate;
function fromPredicate2(predicate) {
return function(a) {
return predicate(a) ? [a] : exports.empty;
};
}
exports.fromPredicate = fromPredicate2;
var fromOption = function(ma) {
return _.isNone(ma) ? exports.empty : [ma.value];
};
exports.fromOption = fromOption;
var fromEither = function(e) {
return _.isLeft(e) ? exports.empty : [e.right];
};
exports.fromEither = fromEither;
var matchW = function(onEmpty, onNonEmpty) {
return function(as) {
return (0, exports.isNonEmpty)(as) ? onNonEmpty(as) : onEmpty();
};
};
exports.matchW = matchW;
exports.match = exports.matchW;
var matchLeftW = function(onEmpty, onNonEmpty) {
return function(as) {
return (0, exports.isNonEmpty)(as) ? onNonEmpty(RNEA.head(as), RNEA.tail(as)) : onEmpty();
};
};
exports.matchLeftW = matchLeftW;
exports.matchLeft = exports.matchLeftW;
exports.foldLeft = exports.matchLeft;
var matchRightW = function(onEmpty, onNonEmpty) {
return function(as) {
return (0, exports.isNonEmpty)(as) ? onNonEmpty(RNEA.init(as), RNEA.last(as)) : onEmpty();
};
};
exports.matchRightW = matchRightW;
exports.matchRight = exports.matchRightW;
exports.foldRight = exports.matchRight;
var chainWithIndex = function(f) {
return function(as) {
if ((0, exports.isEmpty)(as)) {
return exports.empty;
}
var out = [];
for (var i = 0; i < as.length; i++) {
out.push.apply(out, f(i, as[i]));
}
return out;
};
};
exports.chainWithIndex = chainWithIndex;
var scanLeft = function(b, f) {
return function(as) {
var len = as.length;
var out = new Array(len + 1);
out[0] = b;
for (var i = 0; i < len; i++) {
out[i + 1] = f(out[i], as[i]);
}
return out;
};
};
exports.scanLeft = scanLeft;
var scanRight = function(b, f) {
return function(as) {
var len = as.length;
var out = new Array(len + 1);
out[len] = b;
for (var i = len - 1; i >= 0; i--) {
out[i] = f(as[i], out[i + 1]);
}
return out;
};
};
exports.scanRight = scanRight;
var size = function(as) {
return as.length;
};
exports.size = size;
exports.isOutOfBound = RNEA.isOutOfBound;
function lookup(i, as) {
return as === void 0 ? function(as2) {
return lookup(i, as2);
} : (0, exports.isOutOfBound)(i, as) ? _.none : _.some(as[i]);
}
exports.lookup = lookup;
var head2 = function(as) {
return (0, exports.isNonEmpty)(as) ? _.some(RNEA.head(as)) : _.none;
};
exports.head = head2;
var last = function(as) {
return (0, exports.isNonEmpty)(as) ? _.some(RNEA.last(as)) : _.none;
};
exports.last = last;
var tail2 = function(as) {
return (0, exports.isNonEmpty)(as) ? _.some(RNEA.tail(as)) : _.none;
};
exports.tail = tail2;
var init = function(as) {
return (0, exports.isNonEmpty)(as) ? _.some(RNEA.init(as)) : _.none;
};
exports.init = init;
var takeLeft = function(n) {
return function(as) {
return (0, exports.isOutOfBound)(n, as) ? as : n === 0 ? exports.empty : as.slice(0, n);
};
};
exports.takeLeft = takeLeft;
var takeRight = function(n) {
return function(as) {
return (0, exports.isOutOfBound)(n, as) ? as : n === 0 ? exports.empty : as.slice(-n);
};
};
exports.takeRight = takeRight;
function takeLeftWhile(predicate) {
return function(as) {
var out = [];
for (var _i = 0, as_1 = as; _i < as_1.length; _i++) {
var a = as_1[_i];
if (!predicate(a)) {
break;
}
out.push(a);
}
var len = out.length;
return len === as.length ? as : len === 0 ? exports.empty : out;
};
}
exports.takeLeftWhile = takeLeftWhile;
var spanLeftIndex = function(as, predicate) {
var l = as.length;
var i = 0;
for (; i < l; i++) {
if (!predicate(as[i])) {
break;
}
}
return i;
};
function spanLeft(predicate) {
return function(as) {
var _a = (0, exports.splitAt)(spanLeftIndex(as, predicate))(as), init2 = _a[0], rest = _a[1];
return { init: init2, rest };
};
}
exports.spanLeft = spanLeft;
var dropLeft = function(n) {
return function(as) {
return n <= 0 || (0, exports.isEmpty)(as) ? as : n >= as.length ? exports.empty : as.slice(n, as.length);
};
};
exports.dropLeft = dropLeft;
var dropRight = function(n) {
return function(as) {
return n <= 0 || (0, exports.isEmpty)(as) ? as : n >= as.length ? exports.empty : as.slice(0, as.length - n);
};
};
exports.dropRight = dropRight;
function dropLeftWhile(predicate) {
return function(as) {
var i = spanLeftIndex(as, predicate);
return i === 0 ? as : i === as.length ? exports.empty : as.slice(i);
};
}
exports.dropLeftWhile = dropLeftWhile;
var findIndex = function(predicate) {
return function(as) {
for (var i = 0; i < as.length; i++) {
if (predicate(as[i])) {
return _.some(i);
}
}
return _.none;
};
};
exports.findIndex = findIndex;
function findFirst(predicate) {
return function(as) {
for (var i = 0; i < as.length; i++) {
if (predicate(as[i])) {
return _.some(as[i]);
}
}
return _.none;
};
}
exports.findFirst = findFirst;
var findFirstMap = function(f) {
return function(as) {
for (var i = 0; i < as.length; i++) {
var out = f(as[i]);
if (_.isSome(out)) {
return out;
}
}
return _.none;
};
};
exports.findFirstMap = findFirstMap;
function findLast(predicate) {
return function(as) {
for (var i = as.length - 1; i >= 0; i--) {
if (predicate(as[i])) {
return _.some(as[i]);
}
}
return _.none;
};
}
exports.findLast = findLast;
var findLastMap = function(f) {
return function(as) {
for (var i = as.length - 1; i >= 0; i--) {
var out = f(as[i]);
if (_.isSome(out)) {
return out;
}
}
return _.none;
};
};
exports.findLastMap = findLastMap;
var findLastIndex = function(predicate) {
return function(as) {
for (var i = as.length - 1; i >= 0; i--) {
if (predicate(as[i])) {
return _.some(i);
}
}
return _.none;
};
};
exports.findLastIndex = findLastIndex;
var insertAt = function(i, a) {
return function(as) {
return i < 0 || i > as.length ? _.none : _.some(RNEA.unsafeInsertAt(i, a, as));
};
};
exports.insertAt = insertAt;
var updateAt = function(i, a) {
return (0, exports.modifyAt)(i, function() {
return a;
});
};
exports.updateAt = updateAt;
var deleteAt = function(i) {
return function(as) {
return (0, exports.isOutOfBound)(i, as) ? _.none : _.some((0, exports.unsafeDeleteAt)(i, as));
};
};
exports.deleteAt = deleteAt;
var modifyAt = function(i, f) {
return function(as) {
return (0, exports.isOutOfBound)(i, as) ? _.none : _.some((0, exports.unsafeUpdateAt)(i, f(as[i]), as));
};
};
exports.modifyAt = modifyAt;
var reverse = function(as) {
return as.length <= 1 ? as : as.slice().reverse();
};
exports.reverse = reverse;
var rights = function(as) {
var r = [];
for (var i = 0; i < as.length; i++) {
var a = as[i];
if (a._tag === "Right") {
r.push(a.right);
}
}
return r;
};
exports.rights = rights;
var lefts = function(as) {
var r = [];
for (var i = 0; i < as.length; i++) {
var a = as[i];
if (a._tag === "Left") {
r.push(a.left);
}
}
return r;
};
exports.lefts = lefts;
var sort = function(O) {
return function(as) {
return as.length <= 1 ? as : as.slice().sort(O.compare);
};
};
exports.sort = sort;
var zipWith = function(fa, fb, f) {
var fc = [];
var len = Math.min(fa.length, fb.length);
for (var i = 0; i < len; i++) {
fc[i] = f(fa[i], fb[i]);
}
return fc;
};
exports.zipWith = zipWith;
function zip(as, bs) {
if (bs === void 0) {
return function(bs2) {
return zip(bs2, as);
};
}
return (0, exports.zipWith)(as, bs, function(a, b) {
return [a, b];
});
}
exports.zip = zip;
var unzip = function(as) {
var fa = [];
var fb = [];
for (var i = 0; i < as.length; i++) {
fa[i] = as[i][0];
fb[i] = as[i][1];
}
return [fa, fb];
};
exports.unzip = unzip;
var prependAll = function(middle) {
var f = RNEA.prependAll(middle);
return function(as) {
return (0, exports.isNonEmpty)(as) ? f(as) : as;
};
};
exports.prependAll = prependAll;
var intersperse = function(middle) {
var f = RNEA.intersperse(middle);
return function(as) {
return (0, exports.isNonEmpty)(as) ? f(as) : as;
};
};
exports.intersperse = intersperse;
var rotate = function(n) {
var f = RNEA.rotate(n);
return function(as) {
return (0, exports.isNonEmpty)(as) ? f(as) : as;
};
};
exports.rotate = rotate;
function elem(E) {
return function(a, as) {
if (as === void 0) {
var elemE_1 = elem(E);
return function(as2) {
return elemE_1(a, as2);
};
}
var predicate = function(element) {
return E.equals(element, a);
};
var i = 0;
for (; i < as.length; i++) {
if (predicate(as[i])) {
return true;
}
}
return false;
};
}
exports.elem = elem;
var uniq = function(E) {
var f = RNEA.uniq(E);
return function(as) {
return (0, exports.isNonEmpty)(as) ? f(as) : as;
};
};
exports.uniq = uniq;
var sortBy = function(ords) {
var f = RNEA.sortBy(ords);
return function(as) {
return (0, exports.isNonEmpty)(as) ? f(as) : as;
};
};
exports.sortBy = sortBy;
var chop = function(f) {
var g = RNEA.chop(f);
return function(as) {
return (0, exports.isNonEmpty)(as) ? g(as) : exports.empty;
};
};
exports.chop = chop;
var splitAt = function(n) {
return function(as) {
return n >= 1 && (0, exports.isNonEmpty)(as) ? RNEA.splitAt(n)(as) : (0, exports.isEmpty)(as) ? [as, exports.empty] : [exports.empty, as];
};
};
exports.splitAt = splitAt;
var chunksOf = function(n) {
var f = RNEA.chunksOf(n);
return function(as) {
return (0, exports.isNonEmpty)(as) ? f(as) : exports.empty;
};
};
exports.chunksOf = chunksOf;
var fromOptionK = function(f) {
return function() {
var a = [];
for (var _i = 0; _i < arguments.length; _i++) {
a[_i] = arguments[_i];
}
return (0, exports.fromOption)(f.apply(void 0, a));
};
};
exports.fromOptionK = fromOptionK;
function comprehension(input, f, g) {
if (g === void 0) {
g = function() {
return true;
};
}
var go = function(scope, input2) {
return (0, exports.isNonEmpty)(input2) ? (0, function_1.pipe)(RNEA.head(input2), (0, exports.chain)(function(x) {
return go((0, function_1.pipe)(scope, (0, exports.append)(x)), RNEA.tail(input2));
})) : g.apply(void 0, scope) ? [f.apply(void 0, scope)] : exports.empty;
};
return go(exports.empty, input);
}
exports.comprehension = comprehension;
var concatW = function(second) {
return function(first) {
return (0, exports.isEmpty)(first) ? second : (0, exports.isEmpty)(second) ? first : first.concat(second);
};
};
exports.concatW = concatW;
exports.concat = exports.concatW;
function union(E) {
var unionE = RNEA.union(E);
return function(first, second) {
if (second === void 0) {
var unionE_1 = union(E);
return function(second2) {
return unionE_1(second2, first);
};
}
return (0, exports.isNonEmpty)(first) && (0, exports.isNonEmpty)(second) ? unionE(second)(first) : (0, exports.isNonEmpty)(first) ? first : second;
};
}
exports.union = union;
function intersection(E) {
var elemE = elem(E);
return function(xs, ys) {
if (ys === void 0) {
var intersectionE_1 = intersection(E);
return function(ys2) {
return intersectionE_1(ys2, xs);
};
}
return xs.filter(function(a) {
return elemE(a, ys);
});
};
}
exports.intersection = intersection;
function difference(E) {
var elemE = elem(E);
return function(xs, ys) {
if (ys === void 0) {
var differenceE_1 = difference(E);
return function(ys2) {
return differenceE_1(ys2, xs);
};
}
return xs.filter(function(a) {
return !elemE(a, ys);
});
};
}
exports.difference = difference;
var _map = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.map)(f));
};
var _mapWithIndex = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.mapWithIndex)(f));
};
var _ap = function(fab, fa) {
return (0, function_1.pipe)(fab, (0, exports.ap)(fa));
};
var _chain = function(ma, f) {
return (0, function_1.pipe)(ma, (0, exports.chain)(f));
};
var _filter = function(fa, predicate) {
return (0, function_1.pipe)(fa, (0, exports.filter)(predicate));
};
var _filterMap = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.filterMap)(f));
};
var _partition = function(fa, predicate) {
return (0, function_1.pipe)(fa, (0, exports.partition)(predicate));
};
var _partitionMap = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.partitionMap)(f));
};
var _partitionWithIndex = function(fa, predicateWithIndex) {
return (0, function_1.pipe)(fa, (0, exports.partitionWithIndex)(predicateWithIndex));
};
var _partitionMapWithIndex = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.partitionMapWithIndex)(f));
};
var _alt = function(fa, that) {
return (0, function_1.pipe)(fa, (0, exports.alt)(that));
};
var _reduce = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduce)(b, f));
};
var _foldMap = function(M) {
var foldMapM = (0, exports.foldMap)(M);
return function(fa, f) {
return (0, function_1.pipe)(fa, foldMapM(f));
};
};
var _reduceRight = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduceRight)(b, f));
};
var _reduceWithIndex = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduceWithIndex)(b, f));
};
var _foldMapWithIndex = function(M) {
var foldMapWithIndexM = (0, exports.foldMapWithIndex)(M);
return function(fa, f) {
return (0, function_1.pipe)(fa, foldMapWithIndexM(f));
};
};
var _reduceRightWithIndex = function(fa, b, f) {
return (0, function_1.pipe)(fa, (0, exports.reduceRightWithIndex)(b, f));
};
var _filterMapWithIndex = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.filterMapWithIndex)(f));
};
var _filterWithIndex = function(fa, predicateWithIndex) {
return (0, function_1.pipe)(fa, (0, exports.filterWithIndex)(predicateWithIndex));
};
var _extend = function(fa, f) {
return (0, function_1.pipe)(fa, (0, exports.extend)(f));
};
var _traverse = function(F) {
var traverseF = (0, exports.traverse)(F);
return function(ta, f) {
return (0, function_1.pipe)(ta, traverseF(f));
};
};
var _traverseWithIndex = function(F) {
var traverseWithIndexF = (0, exports.traverseWithIndex)(F);
return function(ta, f) {
return (0, function_1.pipe)(ta, traverseWithIndexF(f));
};
};
var _chainRecDepthFirst = function(a, f) {
return (0, function_1.pipe)(a, (0, exports.chainRecDepthFirst)(f));
};
exports._chainRecDepthFirst = _chainRecDepthFirst;
var _chainRecBreadthFirst = function(a, f) {
return (0, function_1.pipe)(a, (0, exports.chainRecBreadthFirst)(f));
};
exports._chainRecBreadthFirst = _chainRecBreadthFirst;
exports.of = RNEA.of;
var zero = function() {
return exports.empty;
};
exports.zero = zero;
var altW = function(that) {
return function(fa) {
return fa.concat(that());
};
};
exports.altW = altW;
exports.alt = exports.altW;
var ap = function(fa) {
return (0, exports.chain)(function(f) {
return (0, function_1.pipe)(fa, (0, exports.map)(f));
});
};
exports.ap = ap;
var chain2 = function(f) {
return function(ma) {
return (0, function_1.pipe)(ma, (0, exports.chainWithIndex)(function(_2, a) {
return f(a);
}));
};
};
exports.chain = chain2;
exports.flatten = (0, exports.chain)(function_1.identity);
var map2 = function(f) {
return function(fa) {
return fa.map(function(a) {
return f(a);
});
};
};
exports.map = map2;
var mapWithIndex = function(f) {
return function(fa) {
return fa.map(function(a, i) {
return f(i, a);
});
};
};
exports.mapWithIndex = mapWithIndex;
var separate = function(fa) {
var left = [];
var right = [];
for (var _i = 0, fa_1 = fa; _i < fa_1.length; _i++) {
var e = fa_1[_i];
if (e._tag === "Left") {
left.push(e.left);
} else {
right.push(e.right);
}
}
return (0, Separated_1.separated)(left, right);
};
exports.separate = separate;
var filter = function(predicate) {
return function(as) {
return as.filter(predicate);
};
};
exports.filter = filter;
var filterMapWithIndex = function(f) {
return function(fa) {
var out = [];
for (var i = 0; i < fa.length; i++) {
var optionB = f(i, fa[i]);
if (_.isSome(optionB)) {
out.push(optionB.value);
}
}
return out;
};
};
exports.filterMapWithIndex = filterMapWithIndex;
var filterMap = function(f) {
return (0, exports.filterMapWithIndex)(function(_2, a) {
return f(a);
});
};
exports.filterMap = filterMap;
exports.compact = (0, exports.filterMap)(function_1.identity);
var partition = function(predicate) {
return (0, exports.partitionWithIndex)(function(_2, a) {
return predicate(a);
});
};
exports.partition = partition;
var partitionWithIndex = function(predicateWithIndex) {
return function(as) {
var left = [];
var right = [];
for (var i = 0; i < as.length; i++) {
var a = as[i];
if (predicateWithIndex(i, a)) {
right.push(a);
} else {
left.push(a);
}
}
return (0, Separated_1.separated)(left, right);
};
};
exports.partitionWithIndex = partitionWithIndex;
var partitionMap = function(f) {
return (0, exports.partitionMapWithIndex)(function(_2, a) {
return f(a);
});
};
exports.partitionMap = partitionMap;
var partitionMapWithIndex = function(f) {
return function(fa) {
var left = [];
var right = [];
for (var i = 0; i < fa.length; i++) {
var e = f(i, fa[i]);
if (e._tag === "Left") {
left.push(e.left);
} else {
right.push(e.right);
}
}
return (0, Separated_1.separated)(left, right);
};
};
exports.partitionMapWithIndex = partitionMapWithIndex;
var filterWithIndex = function(predicateWithIndex) {
return function(as) {
return as.filter(function(a, i) {
return predicateWithIndex(i, a);
});
};
};
exports.filterWithIndex = filterWithIndex;
var extend = function(f) {
return function(wa) {
return wa.map(function(_2, i) {
return f(wa.slice(i));
});
};
};
exports.extend = extend;
exports.duplicate = (0, exports.extend)(function_1.identity);
var foldMapWithIndex = function(M) {
return function(f) {
return function(fa) {
return fa.reduce(function(b, a, i) {
return M.concat(b, f(i, a));
}, M.empty);
};
};
};
exports.foldMapWithIndex = foldMapWithIndex;
var reduce2 = function(b, f) {
return (0, exports.reduceWithIndex)(b, function(_2, b2, a) {
return f(b2, a);
});
};
exports.reduce = reduce2;
var foldMap = function(M) {
var foldMapWithIndexM = (0, exports.foldMapWithIndex)(M);
return function(f) {
return foldMapWithIndexM(function(_2, a) {
return f(a);
});
};
};
exports.foldMap = foldMap;
var reduceWithIndex2 = function(b, f) {
return function(fa) {
var len = fa.length;
var out = b;
for (var i = 0; i < len; i++) {
out = f(i, out, fa[i]);
}
return out;
};
};
exports.reduceWithIndex = reduceWithIndex2;
var reduceRight = function(b, f) {
return (0, exports.reduceRightWithIndex)(b, function(_2, a, b2) {
return f(a, b2);
});
};
exports.reduceRight = reduceRight;
var reduceRightWithIndex = function(b, f) {
return function(fa) {
return fa.reduceRight(function(b2, a, i) {
return f(i, a, b2);
}, b);
};
};
exports.reduceRightWithIndex = reduceRightWithIndex;
var traverse = function(F) {
var traverseWithIndexF = (0, exports.traverseWithIndex)(F);
return function(f) {
return traverseWithIndexF(function(_2, a) {
return f(a);
});
};
};
exports.traverse = traverse;
var sequence2 = function(F) {
return function(ta) {
return _reduce(ta, F.of((0, exports.zero)()), function(fas, fa) {
return F.ap(F.map(fas, function(as) {
return function(a) {
return (0, function_1.pipe)(as, (0, exports.append)(a));
};
}), fa);
});
};
};
exports.sequence = sequence2;
var traverseWithIndex = function(F) {
return function(f) {
return (0, exports.reduceWithIndex)(F.of((0, exports.zero)()), function(i, fbs, a) {
return F.ap(F.map(fbs, function(bs) {
return function(b) {
return (0, function_1.pipe)(bs, (0, exports.append)(b));
};
}), f(i, a));
});
};
};
exports.traverseWithIndex = traverseWithIndex;
var wither = function(F) {
var _witherF = _wither(F);
return function(f) {
return function(fa) {
return _witherF(fa, f);
};
};
};
exports.wither = wither;
var wilt = function(F) {
var _wiltF = _wilt(F);
return function(f) {
return function(fa) {
return _wiltF(fa, f);
};
};
};
exports.wilt = wilt;
var unfold = function(b, f) {
var out = [];
var bb = b;
while (true) {
var mt = f(bb);
if (_.isSome(mt)) {
var _a = mt.value, a = _a[0], b_1 = _a[1];
out.push(a);
bb = b_1;
} else {
break;
}
}
return out;
};
exports.unfold = unfold;
exports.URI = "ReadonlyArray";
var getShow = function(S) {
return {
show: function(as) {
return "[".concat(as.map(S.show).join(", "), "]");
}
};
};
exports.getShow = getShow;
var getSemigroup = function() {
return {
concat: function(first, second) {
return (0, exports.isEmpty)(first) ? second : (0, exports.isEmpty)(second) ? first : first.concat(second);
}
};
};
exports.getSemigroup = getSemigroup;
var getMonoid = function() {
return {
concat: (0, exports.getSemigroup)().concat,
empty: exports.empty
};
};
exports.getMonoid = getMonoid;
var getEq = function(E) {
return (0, Eq_1.fromEquals)(function(xs, ys) {
return xs.length === ys.length && xs.every(function(x, i) {
return E.equals(x, ys[i]);
});
});
};
exports.getEq = getEq;
var getOrd = function(O) {
return (0, Ord_1.fromCompare)(function(a, b) {
var aLen = a.length;
var bLen = b.length;
var len = Math.min(aLen, bLen);
for (var i = 0; i < len; i++) {
var ordering = O.compare(a[i], b[i]);
if (ordering !== 0) {
return ordering;
}
}
return N.Ord.compare(aLen, bLen);
});
};
exports.getOrd = getOrd;
var getUnionSemigroup = function(E) {
var unionE = union(E);
return {
concat: function(first, second) {
return unionE(second)(first);
}
};
};
exports.getUnionSemigroup = getUnionSemigroup;
var getUnionMonoid = function(E) {
return {
concat: (0, exports.getUnionSemigroup)(E).concat,
empty: exports.empty
};
};
exports.getUnionMonoid = getUnionMonoid;
var getIntersectionSemigroup = function(E) {
var intersectionE = intersection(E);
return {
concat: function(first, second) {
return intersectionE(second)(first);
}
};
};
exports.getIntersectionSemigroup = getIntersectionSemigroup;
var getDifferenceMagma = function(E) {
var differenceE = difference(E);
return {
concat: function(first, second) {
return differenceE(second)(first);
}
};
};
exports.getDifferenceMagma = getDifferenceMagma;
exports.Functor = {
URI: exports.URI,
map: _map
};
exports.flap = (0, Functor_1.flap)(exports.Functor);
exports.Pointed = {
URI: exports.URI,
of: exports.of
};
exports.FunctorWithIndex = {
URI: exports.URI,
map: _map,
mapWithIndex: _mapWithIndex
};
exports.Apply = {
URI: exports.URI,
map: _map,
ap: _ap
};
exports.apFirst = (0, Apply_1.apFirst)(exports.Apply);
exports.apSecond = (0, Apply_1.apSecond)(exports.Apply);
exports.Applicative = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of
};
exports.Chain = {
URI: exports.URI,
map: _map,
ap: _ap,
chain: _chain
};
exports.Monad = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of,
chain: _chain
};
exports.chainFirst = /* @__PURE__ */ (0, Chain_1.chainFirst)(exports.Chain);
exports.Unfoldable = {
URI: exports.URI,
unfold: exports.unfold
};
exports.Alt = {
URI: exports.URI,
map: _map,
alt: _alt
};
exports.Zero = {
URI: exports.URI,
zero: exports.zero
};
exports.guard = (0, Zero_1.guard)(exports.Zero, exports.Pointed);
exports.Alternative = {
URI: exports.URI,
map: _map,
ap: _ap,
of: exports.of,
alt: _alt,
zero: exports.zero
};
exports.Extend = {
URI: exports.URI,
map: _map,
extend: _extend
};
exports.Compactable = {
URI: exports.URI,
compact: exports.compact,
separate: exports.separate
};
exports.Filterable = {
URI: exports.URI,
map: _map,
compact: exports.compact,
separate: exports.separate,
filter: _filter,
filterMap: _filterMap,
partition: _partition,
partitionMap: _partitionMap
};
exports.FilterableWithIndex = {
URI: exports.URI,
map: _map,
mapWithIndex: _mapWithIndex,
compact: exports.compact,
separate: exports.separate,
filter: _filter,
filterMap: _filterMap,
partition: _partition,
partitionMap: _partitionMap,
partitionMapWithIndex: _partitionMapWithIndex,
partitionWithIndex: _partitionWithIndex,
filterMapWithIndex: _filterMapWithIndex,
filterWithIndex: _filterWithIndex
};
exports.Foldable = {
URI: exports.URI,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight
};
exports.FoldableWithIndex = {
URI: exports.URI,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
reduceWithIndex: _reduceWithIndex,
foldMapWithIndex: _foldMapWithIndex,
reduceRightWithIndex: _reduceRightWithIndex
};
exports.Traversable = {
URI: exports.URI,
map: _map,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence
};
exports.TraversableWithIndex = {
URI: exports.URI,
map: _map,
mapWithIndex: _mapWithIndex,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
reduceWithIndex: _reduceWithIndex,
foldMapWithIndex: _foldMapWithIndex,
reduceRightWithIndex: _reduceRightWithIndex,
traverse: _traverse,
sequence: exports.sequence,
traverseWithIndex: _traverseWithIndex
};
var chainRecDepthFirst = function(f) {
return function(a) {
var todo = __spreadArray([], f(a), true);
var out = [];
while (todo.length > 0) {
var e = todo.shift();
if (_.isLeft(e)) {
todo.unshift.apply(todo, f(e.left));
} else {
out.push(e.right);
}
}
return out;
};
};
exports.chainRecDepthFirst = chainRecDepthFirst;
exports.ChainRecDepthFirst = {
URI: exports.URI,
map: _map,
ap: _ap,
chain: _chain,
chainRec: exports._chainRecDepthFirst
};
var chainRecBreadthFirst = function(f) {
return function(a) {
var initial = f(a);
var todo = [];
var out = [];
function go(e2) {
if (_.isLeft(e2)) {
f(e2.left).forEach(function(v) {
return todo.push(v);
});
} else {
out.push(e2.right);
}
}
for (var _i = 0, initial_1 = initial; _i < initial_1.length; _i++) {
var e = initial_1[_i];
go(e);
}
while (todo.length > 0) {
go(todo.shift());
}
return out;
};
};
exports.chainRecBreadthFirst = chainRecBreadthFirst;
exports.ChainRecBreadthFirst = {
URI: exports.URI,
map: _map,
ap: _ap,
chain: _chain,
chainRec: exports._chainRecBreadthFirst
};
var _wither = /* @__PURE__ */ (0, Witherable_1.witherDefault)(exports.Traversable, exports.Compactable);
var _wilt = /* @__PURE__ */ (0, Witherable_1.wiltDefault)(exports.Traversable, exports.Compactable);
exports.Witherable = {
URI: exports.URI,
map: _map,
compact: exports.compact,
separate: exports.separate,
filter: _filter,
filterMap: _filterMap,
partition: _partition,
partitionMap: _partitionMap,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence,
wither: _wither,
wilt: _wilt
};
exports.filterE = (0, Witherable_1.filterE)(exports.Witherable);
exports.FromEither = {
URI: exports.URI,
fromEither: exports.fromEither
};
exports.fromEitherK = (0, FromEither_1.fromEitherK)(exports.FromEither);
exports.unsafeInsertAt = RNEA.unsafeInsertAt;
var unsafeUpdateAt = function(i, a, as) {
return (0, exports.isNonEmpty)(as) ? RNEA.unsafeUpdateAt(i, a, as) : as;
};
exports.unsafeUpdateAt = unsafeUpdateAt;
var unsafeDeleteAt = function(i, as) {
var xs = as.slice();
xs.splice(i, 1);
return xs;
};
exports.unsafeDeleteAt = unsafeDeleteAt;
var toArray = function(as) {
return as.slice();
};
exports.toArray = toArray;
var fromArray = function(as) {
return (0, exports.isEmpty)(as) ? exports.empty : as.slice();
};
exports.fromArray = fromArray;
exports.empty = RNEA.empty;
function every(predicate) {
return function(as) {
return as.every(predicate);
};
}
exports.every = every;
var some3 = function(predicate) {
return function(as) {
return as.some(predicate);
};
};
exports.some = some3;
exports.exists = exports.some;
var intercalate = function(M) {
var intercalateM = RNEA.intercalate(M);
return function(middle) {
return (0, exports.match)(function() {
return M.empty;
}, intercalateM(middle));
};
};
exports.intercalate = intercalate;
exports.Do = (0, exports.of)(_.emptyRecord);
exports.bindTo = (0, Functor_1.bindTo)(exports.Functor);
var let_ = /* @__PURE__ */ (0, Functor_1.let)(exports.Functor);
exports.let = let_;
exports.bind = (0, Chain_1.bind)(exports.Chain);
exports.apS = (0, Apply_1.apS)(exports.Apply);
exports.range = RNEA.range;
exports.cons = RNEA.cons;
exports.snoc = RNEA.snoc;
exports.prependToAll = exports.prependAll;
exports.readonlyArray = {
URI: exports.URI,
compact: exports.compact,
separate: exports.separate,
map: _map,
ap: _ap,
of: exports.of,
chain: _chain,
filter: _filter,
filterMap: _filterMap,
partition: _partition,
partitionMap: _partitionMap,
mapWithIndex: _mapWithIndex,
partitionMapWithIndex: _partitionMapWithIndex,
partitionWithIndex: _partitionWithIndex,
filterMapWithIndex: _filterMapWithIndex,
filterWithIndex: _filterWithIndex,
alt: _alt,
zero: exports.zero,
unfold: exports.unfold,
reduce: _reduce,
foldMap: _foldMap,
reduceRight: _reduceRight,
traverse: _traverse,
sequence: exports.sequence,
reduceWithIndex: _reduceWithIndex,
foldMapWithIndex: _foldMapWithIndex,
reduceRightWithIndex: _reduceRightWithIndex,
traverseWithIndex: _traverseWithIndex,
extend: _extend,
wither: _wither,
wilt: _wilt
};
}
});
// node_modules/.pnpm/@simspace+matchers@0.0.4_fp-ts@2.13.1/node_modules/@simspace/matchers/_cjs/index.cjs
var require_cjs = __commonJS({
"node_modules/.pnpm/@simspace+matchers@0.0.4_fp-ts@2.13.1/node_modules/@simspace/matchers/_cjs/index.cjs"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.matchSI = exports.matchS = exports.match = void 0;
var _function = require_function();
var O = /* @__PURE__ */ _interopRequireWildcard(require_Option());
var RA = /* @__PURE__ */ _interopRequireWildcard(require_ReadonlyArray());
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function")
return null;
var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop2) {
return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interopRequireWildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return { default: obj };
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for (var key in obj) {
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
var matchOnKey = (key) => Object.assign((matchObj) => (tu) => matchObj[tu[key]](tu), {
i: inverted(key),
p: partial(key),
w: widened(key),
ip: invertedPartial(key),
iw: invertedWidened(key),
pw: partialWidened(key),
ipw: invertedPartialWidened(key),
extract: extract(key)
});
var match3 = /* @__PURE__ */ Object.assign(/* @__PURE__ */ matchOnKey("tag"), {
on: matchOnKey
});
exports.match = match3;
var matchS = (s) => (matchObj) => matchObj[s]();
exports.matchS = matchS;
var matchSI = (matchObj) => (s) => matchObj[s]();
exports.matchSI = matchSI;
function inverted(key) {
return (tu) => (matchObj) => matchObj[tu[key]](tu);
}
function partial(key) {
return (matchObj, otherwise) => (tu) => {
const matchedTag = tu[key];
const f = matchedTag in matchObj && matchObj[matchedTag];
if (f !== false) {
const ret = f(tu);
return otherwise ? ret : O.some(ret);
}
return otherwise ? otherwise() : O.none;
};
}
function widened(key) {
return (matchObj) => (tu) => matchObj[tu[key]](tu);
}
function invertedPartial(key) {
return (tu) => (matchObj, otherwise) => otherwise ? matchOnKey(key).p(matchObj, otherwise)(tu) : matchOnKey(key).p(matchObj)(tu);
}
function invertedWidened(key) {
return (tu) => (matchObj) => matchObj[tu[key]](tu);
}
function partialWidened(key) {
return (matchObj, otherwise) => (tu) => {
const matchedTag = tu[key];
const f = matchedTag in matchObj && matchObj[matchedTag];
if (f !== false) {
const ret = f(tu);
return otherwise ? ret : O.some(ret);
}
return otherwise ? otherwise() : O.none;
};
}
function invertedPartialWidened(key) {
return (tu) => (matchObj, otherwise) => otherwise ? matchOnKey(key).pw(matchObj, otherwise)(tu) : matchOnKey(key).pw(matchObj)(tu);
}
function extract(key) {
return (...kus) => (tu) => (0, _function.pipe)(kus, RA.findFirstMap((k) => tu[key] === k ? O.some(tu) : O.none));
}
}
});
// src/base.ts
var import_matchers = __toESM(require_cjs());
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/es6/function.js
function pipe(a, ab, bc, cd, de, ef, fg, gh, hi) {
switch (arguments.length) {
case 1:
return a;
case 2:
return ab(a);
case 3:
return bc(ab(a));
case 4:
return cd(bc(ab(a)));
case 5:
return de(cd(bc(ab(a))));
case 6:
return ef(de(cd(bc(ab(a)))));
case 7:
return fg(ef(de(cd(bc(ab(a))))));
case 8:
return gh(fg(ef(de(cd(bc(ab(a)))))));
case 9:
return hi(gh(fg(ef(de(cd(bc(ab(a))))))));
default: {
var ret = arguments[0];
for (var i = 1; i < arguments.length; i++) {
ret = arguments[i](ret);
}
return ret;
}
}
}
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/es6/internal.js
var none = { _tag: "None" };
var some = function(a) {
return { _tag: "Some", value: a };
};
var isNonEmpty = function(as) {
return as.length > 0;
};
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/es6/ReadonlyNonEmptyArray.js
var isNonEmpty2 = isNonEmpty;
var fromReadonlyArray = function(as) {
return isNonEmpty2(as) ? some(as) : none;
};
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/es6/ReadonlyArray.js
var map = function(f) {
return function(fa) {
return fa.map(function(a) {
return f(a);
});
};
};
var reduce = function(b, f) {
return reduceWithIndex(b, function(_, b2, a) {
return f(b2, a);
});
};
var reduceWithIndex = function(b, f) {
return function(fa) {
var len = fa.length;
var out = b;
for (var i = 0; i < len; i++) {
out = f(i, out, fa[i]);
}
return out;
};
};
// src/base.ts
var char = (c) => ({
tag: "atom",
kind: "character",
char: c
});
var anything = { tag: "atom", kind: "anything" };
var convertRanges = map((range) => {
if (typeof range === "string") {
return { lower: range.charCodeAt(0), upper: range.charCodeAt(0) };
}
const [c1, c2] = range;
const lower2 = typeof c1 === "string" ? c1.charCodeAt(0) : c1;
const upper2 = typeof c2 === "string" ? c2.charCodeAt(0) : c2;
return { lower: lower2, upper: upper2 };
});
var characterClass = (exclude, ...ranges) => ({
tag: "atom",
kind: "characterClass",
exclude,
ranges: convertRanges(ranges)
});
var subgroup = (subpattern) => subpattern.tag === "atom" ? subpattern : {
tag: "atom",
kind: "subgroup",
subpattern
};
var anyNumber = (opts = { greedy: false }) => (atom) => ({
tag: "quantifiedAtom",
atom,
greedy: opts.greedy,
kind: "star"
});
var atLeastOne = (opts = { greedy: false }) => (atom) => ({
tag: "quantifiedAtom",
atom,
greedy: opts.greedy,
kind: "plus"
});
var maybe = (atom) => ({
tag: "quantifiedAtom",
atom,
greedy: false,
kind: "question"
});
var times = (count) => (atom) => ({
tag: "quantifiedAtom",
atom,
greedy: true,
kind: "exactly",
count
});
var exactly = times;
var atLeast = (min) => (atom) => ({
tag: "quantifiedAtom",
atom,
kind: "minimum",
min
});
var between = (min, max) => (atom) => ({
tag: "quantifiedAtom",
atom,
greedy: true,
kind: "between",
min,
max
});
var atMost = (max) => (atom) => ({
tag: "quantifiedAtom",
atom,
kind: "between",
min: 0,
max
});
var or = (right) => (left) => ({
tag: "disjunction",
left,
right
});
var getTerms = import_matchers.match.w({
termSequence: ({ terms }) => terms,
atom: (atom) => [atom],
quantifiedAtom: (qatom) => [qatom]
});
var then = (term) => (alt) => ({
tag: "termSequence",
terms: [...getTerms(alt), ...getTerms(term)]
});
var exactString = (s) => subgroup({
tag: "termSequence",
terms: s.split("").map(char)
});
var sequence = (term, ...terms) => ({
tag: "termSequence",
terms: [term, ...terms]
});
var and = (first, ...addl) => (cc) => ({
tag: "atom",
kind: "characterClass",
exclude: cc.exclude,
ranges: cc.ranges.concat(
typeof first === "string" || first instanceof Array ? convertRanges([first, ...addl]) : first.ranges
)
});
var non = (cc) => ({
...cc,
exclude: !cc.exclude
});
var empty = { tag: "atom", kind: "character", char: "" };
// src/character-classes.ts
var upper = characterClass(false, ["A", "Z"]);
var lower = characterClass(false, ["a", "z"]);
var alpha = pipe(upper, and(lower));
var digit = characterClass(false, ["0", "9"]);
var xdigit = pipe(digit, and(["A", "F"], ["a", "f"]));
var hexDigit = xdigit;
var alnum = pipe(alpha, and(digit));
var word = pipe(alnum, and("_"));
var punct = characterClass(
false,
["!", "/"],
[":", "@"],
["[", "_"],
["{", "~"]
);
var blank = characterClass(false, " ", " ");
var space = pipe(blank, and("\n", "\r", "\f", "\v"));
var graph = characterClass(false, [33, 127]);
var print = pipe(graph, and(" "));
// src/combinators.ts
var oneOf = (pattern, ...patterns) => pipe(
patterns,
reduce(pattern, (ored, next) => pipe(ored, or(next)))
);
var integerRange_ = (min, max, omitInitialZeros = false) => {
const curMinDigit = Number(min[0] ?? "0");
const restMin = min.slice(1);
const curMaxDigit = Number(max[0] ?? "9");
const restMax = max.slice(1);
const res = restMin.length === 0 ? curMinDigit === curMaxDigit ? char(min) : characterClass(false, [min, max]) : curMinDigit === curMaxDigit ? pipe(
char(curMinDigit.toString(10)),
then(subgroup(integerRange_(restMin, restMax)))
) : oneOf(
curMinDigit === 0 && omitInitialZeros ? integerRange_(restMin, restMax.replace(/./g, "9"), true) : pipe(
char(curMinDigit.toString(10)),
then(
subgroup(integerRange_(restMin, restMin.replace(/./g, "9")))
)
),
...curMaxDigit - curMinDigit > 1 ? [
pipe(
characterClass(false, [
(curMinDigit + 1).toString(10),
(curMaxDigit - 1).toString(10)
]),
then(sequence(empty, ...restMin.split("").map(() => digit)))
)
] : [],
pipe(
char(curMaxDigit.toString(10)),
then(subgroup(integerRange_(restMin.replace(/./g, "0"), restMax)))
)
);
return res;
};
var integerRange = (min, max) => {
if (min > max || Number.isNaN(min) || Number.isNaN(max) || !Number.isInteger(min) || !Number.isInteger(max) || min < 0 || max < 0) {
return empty;
}
const maxStr = max.toString(10);
const minStr = min.toString(10).padStart(maxStr.length, "0");
return integerRange_(minStr, maxStr, true);
};
// src/regex.ts
var import_matchers2 = __toESM(require_cjs());
// node_modules/.pnpm/fp-ts@2.13.1/node_modules/fp-ts/es6/Option.js
var none2 = none;
var some2 = some;
function fromPredicate(predicate) {
return function(a) {
return predicate(a) ? some2(a) : none2;
};
}
var chain = function(f) {
return function(ma) {
return isNone(ma) ? none2 : f(ma.value);
};
};
var isNone = function(fa) {
return fa._tag === "None";
};
var getOrElseW = function(onNone) {
return function(ma) {
return isNone(ma) ? onNone() : ma.value;
};
};
var getOrElse = getOrElseW;
// src/regex.ts
var matchK = import_matchers2.match.on("kind").w;
var repr = (n) => (
// < 32 -> control characters
// 45 -> '-'.. seems like `/[--z]/` for example actually works, but looks weird.
// 93 -> ']' which needs to be escaped
// 94 -> '^' which might get parsed as class exclusion marker, so escape just in case
// 127 -> del
// >127 -> outside normal ascii range. escape 'em
n < 32 || n === 45 || n === 93 || n === 94 || n >= 127 ? n > 255 ? `\\u${n.toString(16).padStart(4, "0")}` : `\\x${n.toString(16).padStart(2, "0")}` : String.fromCharCode(n)
);
var regexStringFromAtom = matchK({
anything: () => ".",
character: ({ char: char2 }) => char2 === "[" ? "\\[" : char2 === "]" ? "\\]" : char2 === "." ? "\\." : char2 === "(" ? "\\(" : char2 === ")" ? "\\)" : char2 === "+" ? "\\+" : char2,
characterClass: ({ exclude, ranges }) => pipe(
fromReadonlyArray(ranges),
chain(fromPredicate((s) => s.length === 1)),
chain(
([{ lower: lower2, upper: upper2 }]) => lower2 === 48 && upper2 === 57 ? some2("\\d") : none2
),
getOrElse(
() => `[${exclude ? "^" : ""}${ranges.map(
({ lower: lower2, upper: upper2 }) => lower2 === upper2 ? repr(lower2) : `${repr(lower2)}-${repr(upper2)}`
).join("")}]`
)
),
subgroup: ({ subpattern }) => `(${regexStringFromPattern(subpattern)})`
});
var regexStringFromQuantifiedAtom = matchK({
star: ({ atom, greedy }) => `${regexStringFromAtom(atom)}*${greedy ? "" : "?"}`,
plus: ({ atom, greedy }) => `${regexStringFromAtom(atom)}+${greedy ? "" : "?"}`,
question: ({ atom }) => `${regexStringFromAtom(atom)}?`,
exactly: ({ atom, count }) => `${regexStringFromAtom(atom)}{${count}}`,
between: ({ atom, min, max }) => `${regexStringFromAtom(atom)}{${min},${max}}`,
minimum: ({ atom, min }) => `${regexStringFromAtom(atom)}{${min},}`
});
var regexStringFromTerm = import_matchers2.match.w({
atom: regexStringFromAtom,
quantifiedAtom: regexStringFromQuantifiedAtom
});
var regexStringFromPattern = import_matchers2.match.w({
atom: regexStringFromAtom,
disjunction: ({ left, right }) => `${regexStringFromPattern(left)}|${regexStringFromPattern(right)}`,
quantifiedAtom: regexStringFromQuantifiedAtom,
termSequence: ({ terms }) => terms.map(regexStringFromTerm).join("")
});
var regexFromPattern = (pattern, caseInsensitive = false) => new RegExp(
`^(${regexStringFromPattern(pattern)})$`,
caseInsensitive ? "i" : ""
);
// src/patterns/index.ts
var patterns_exports = {};
__export(patterns_exports, {
anyUUID: () => anyUUID,
base64: () => base64,
base64Character: () => base64Character,
base64Url: () => base64Url,
creditCard: () => creditCard,
emailAddress: () => emailAddress,
hexColor: () => hexColor,
hexadecimal: () => hexadecimal,
hslColor: () => hslColor,
jwt: () => jwt,
latLong: () => latLong,
rgbColor: () => rgbColor,
rgbColorDecimal: () => rgbColorDecimal,
rgbColorPercent: () => rgbColorPercent,
rgbColorWithAlphaDecimal: () => rgbColorWithAlphaDecimal,
rgbColorWithAlphaPercent: () => rgbColorWithAlphaPercent,
uuidV1: () => uuidV1,
uuidV2: () => uuidV2,
uuidV3: () => uuidV3,
uuidV4: () => uuidV4,
uuidV5: () => uuidV5
});
// src/patterns/base64.ts
var base64Character = pipe(alnum, and(characterClass(false, "+", "/")));
var base64 = pipe(
base64Character,
exactly(4),
subgroup,
anyNumber(),
then(
maybe(
subgroup(
oneOf(
sequence(exactly(2)(base64Character), exactly(2)(char("="))),
sequence(exactly(3)(base64Character), char("="))
)
)
)
)
);
// src/patterns/base64url.ts
var base64Url = pipe(
word,
and("-"),
anyNumber({ greedy: true })
);
// src/patterns/credit-card.ts
var visa = pipe(
char("4"),
then(pipe(exactly(12)(digit), or(exactly(15)(digit)), subgroup))
);
var mastercard = pipe(
subgroup(
pipe(
sequence(char("5"), characterClass(false, ["1", "5"]), exactly(4)(digit)),
or(
sequence(
exactString("222"),
characterClass(false, ["1", "9"]),
exactly(2)(digit)
)
),
or(
sequence(
exactString("22"),
characterClass(false, ["3", "9"]),
exactly(3)(digit)
)
),
or(
sequence(
exactString("2"),
characterClass(false, ["3", "6"]),
exactly(4)(digit)
)
),
or(
sequence(
exactString("27"),
characterClass(false, "0", "1"),
exactly(3)(digit)
)
),
or(sequence(exactString("2720"), exactly(2)(digit)))
)
),
then(exactly(10)(digit))
);
var amex = sequence(
char("3"),
characterClass(false, "4", "7"),
exactly(13)(digit)
);
var dinersClub = pipe(
sequence(
char("3"),
subgroup(
pipe(
sequence(
char("0"),
subgroup(
pipe(
sequence(characterClass(false, ["0", "5"]), exactly(5)(digit)),
or(sequence(exactString("95"), exactly(4)(digit)))
)
)
),
or(sequence(characterClass(false, "8", "9"), exactly(6)(digit)))
)
),
between(8, 11)(digit)
),
or(sequence(exactString("36"), exactly(6)(digit), between(6, 11)(digit))),
subgroup
);
var discover = pipe(
oneOf(
pipe(
exactString("6011"),
then(
subgroup(
oneOf(
sequence(
char("0"),
characterClass(false, ["5", "9"]),
exactly(2)(digit)
),
sequence(characterClass(false, ["2", "4"]), exactly(3)(digit)),
sequence(exactString("74"), exactly(2)(digit)),
sequence(
exactString("7"),
characterClass(false, ["7", "9"]),
exactly(2)(digit)
),
sequence(
exactString("8"),
characterClass(false, ["6", "9"]),
exactly(2)(digit)
),
sequence(exactString("9"), exactly(3)(digit))
)
)
)
),
sequence(
exactString("64"),
characterClass(false, ["4", "9"]),
exactly(5)(digit)
),
sequence(
exactString("650"),
characterClass(false, ["0", "5"]),
exactly(4)(digit)
),
sequence(
exactString("65060"),
characterClass(false, ["1", "9"]),
exactly(2)(digit)
),
sequence(
exactString("65061"),
characterClass(false, ["1", "9"]),
exactly(2)(digit)
),
sequence(
exactString("6506"),
characterClass(false, ["2", "9"]),
exactly(3)(digit)
),
sequence(
exactString("650"),
characterClass(false, ["7", "9"]),
exactly(4)(digit)
),
sequence(
exactString("65"),
characterClass(false, ["1", "9"]),
exactly(5)(digit)
)
),
subgroup,
then(between(8, 11)(digit))
);
var jcb = pipe(
sequence(
exactString("352"),
characterClass(false, "8", "9"),
exactly(4)(digit)
),
or(
sequence(
exactString("35"),
characterClass(false, ["3", "8"]),
exactly(5)(digit)
)
),
subgroup,
then(between(8, 11)(digit))
);
var rupay = subgroup(
oneOf(
sequence(
subgroup(
oneOf(
exactString("60"),
exactString("65"),
exactString("81"),
exactString("82")
)
),
exactly(14)(digit)
),
sequence(exactString("508"), exactly(14)(digit))
)
);
var unionPay = sequence(
exactString("62"),
subgroup(
oneOf(
sequence(
char("2"),
subgroup(
oneOf(
sequence(
exactString("12"),
characterClass(false, ["6", "9"]),
exactly(2)(digit)
),
sequence(
char("1"),
characterClass(false, ["3", "9"]),
exactly(3)(digit)
),
sequence(characterClass(false, ["2", "8"]), digit),
sequence(
exactString("9"),
characterClass(false, "0", "1"),
exactly(3)(digit)
),
sequence(
exactString("92"),
characterClass(false, ["0", "5"]),
exactly(2)(digit)
)
)
)
),
sequence(characterClass(false, ["4", "6"]), exactly(5)(digit)),
sequence(
exactString("8"),
characterClass(false, ["2", "8"]),
exactly(4)(digit)
)
)
),
between(8, 11)(digit)
);
var creditCard = oneOf(
visa,
mastercard,
amex,
dinersClub,
discover,
jcb,
rupay,
unionPay
);
// src/patterns/email-address.ts
var localPartQuoted = pipe(
char('"'),
then(atLeastOne({ greedy: true })(characterClass(true, '"', [0, 31]))),
then(char('"'))
);
var localPartUnquotedAllowedCharacters = characterClass(
false,
["A", "Z"],
["a", "z"],
["0", "9"],
"!",
"#",
"$",
"%",
"&",
"'",
"*",
"+",
"-",
"/",
"=",
"?",
"^",
"_",
"`",
"{",
"|",
"}",
"~"
);
var localPartUnquoted = pipe(
atLeastOne({ greedy: true })(localPartUnquotedAllowedCharacters),
then(
pipe(
char("."),
then(atLeastOne({ greedy: true })(localPartUnquotedAllowedCharacters)),
subgroup,
anyNumber({ greedy: true })
)
)
);
var localPart = pipe(localPartUnquoted, or(localPartQuoted), subgroup);
var ipAddressByte = between(1, 3)(digit);
var domainIpAddress = pipe(
sequence(
char("["),
ipAddressByte,
char("."),
ipAddressByte,
char("."),
ipAddressByte,
char("."),
ipAddressByte,
char("]")
)
);
var domainName = pipe(
alnum,
and("-"),
atMost(63),
then(char(".")),
subgroup,
atLeastOne({ greedy: true }),
then(atLeast(2)(alpha))
);
var domain = pipe(domainIpAddress, or(domainName), subgroup);
var emailAddress = pipe(
localPart,
then(char("@")),
then(domain)
);
// src/patterns/hex-color.ts
var hexColor = pipe(
maybe(char("#")),
then(
subgroup(
pipe(
between(3, 4)(hexDigit),
or(exactly(6)(hexDigit)),
or(exactly(8)(hexDigit))
)
)
)
);
// src/patterns/hexadecimal.ts
var hexadecimal = pipe(
exactString("0x"),
or(exactString("0X")),
or(exactString("0h")),
or(exactString("0H")),
subgroup,
maybe,
then(atLeastOne()(xdigit))
);
// src/patterns/hsl-color.ts
var anyDecimal = subgroup(
sequence(char("."), atLeastOne({ greedy: true })(digit))
);
var zeroDecimal = subgroup(
sequence(char("."), atLeastOne({ greedy: true })(char("0")))
);
var exponential = subgroup(
sequence(
char("e"),
maybe(subgroup(oneOf(char("+"), char("-")))),
atLeastOne({ greedy: true })(digit)
)
);
var hue = subgroup(
sequence(
maybe(subgroup(oneOf(char("+"), char("-")))),
subgroup(
oneOf(
pipe(atLeastOne({ greedy: true })(digit), then(maybe(anyDecimal))),
anyDecimal
)
),
maybe(exponential),
maybe(
subgroup(
oneOf(
exactString("deg"),
exactString("grad"),
exactString("rad"),
exactString("turn")
)
)
)
)
);
var percentage = subgroup(
sequence(
maybe(char("+")),
anyNumber({ greedy: true })(char("0")),
subgroup(
oneOf(
pipe(exactString("100"), then(maybe(zeroDecimal))),
pipe(subgroup(integerRange(0, 99)), then(maybe(anyDecimal))),
anyDecimal
)
),
maybe(exponential),
char("%")
)
);
var alpha2 = subgroup(
sequence(
anyNumber({ greedy: true })(digit),
subgroup(oneOf(digit, anyDecimal)),
maybe(exponential),
maybe(char("%"))
)
);
var anySpace = anyNumber({ greedy: true })(blank);
var commaDelimiter = subgroup(sequence(anySpace, char(","), anySpace));
var slashDelimiter = subgroup(sequence(anySpace, char("/"), anySpace));
var hslColor = sequence(
exactString("hsl"),
maybe(char("a")),
char("("),
anySpace,
hue,
subgroup(
oneOf(
sequence(
commaDelimiter,
percentage,
commaDelimiter,
percentage,
maybe(subgroup(sequence(commaDelimiter, alpha2)))
),
sequence(
anySpace,
percentage,
anySpace,
percentage,
maybe(subgroup(sequence(slashDelimiter, alpha2)))
)
)
),
anySpace,
char(")")
);
// src/patterns/jwt.ts
var jwt = sequence(
subgroup(base64Url),
char("."),
subgroup(base64Url),
pipe(char("."), then(subgroup(base64Url)), subgroup, maybe)
);
// src/patterns/lat-long.ts
var latPattern = pipe(
maybe(characterClass(false, "+", "-")),
then(
subgroup(
oneOf(
sequence(
char("9"),
char("0"),
maybe(
subgroup(
pipe(char("."), then(atLeastOne({ greedy: true })(char("0"))))
)
)
),
pipe(
integerRange(0, 89),
subgroup,
then(
maybe(
subgroup(
pipe(char("."), then(atLeastOne({ greedy: true })(digit)))
)
)
)
)
)
)
)
);
var longPattern = pipe(
maybe(characterClass(false, "+", "-")),
then(
subgroup(
oneOf(
sequence(
char("1"),
char("8"),
char("0"),
maybe(
subgroup(
pipe(char("."), then(atLeastOne({ greedy: true })(char("0"))))
)
)
),
pipe(
integerRange(0, 179),
subgroup,
then(
maybe(
subgroup(
pipe(char("."), then(atLeastOne({ greedy: true })(digit)))
)
)
)
)
)
)
)
);
var latLong = oneOf(
pipe(
latPattern,
then(char(",")),
then(anyNumber({ greedy: true })(space)),
then(longPattern)
),
pipe(
char("("),
then(latPattern),
then(char(",")),
then(anyNumber({ greedy: true })(space)),
then(longPattern),
then(char(")"))
)
);
// src/patterns/rgb-color.ts
var rgbColorDecimal = sequence(
exactString("rgb("),
subgroup(integerRange(0, 255)),
char(","),
subgroup(integerRange(0, 255)),
char(","),
subgroup(integerRange(0, 255)),
char(")")
);
var rgbColorWithAlphaDecimal = sequence(
exactString("rgba("),
subgroup(integerRange(0, 255)),
char(","),
subgroup(integerRange(0, 255)),
char(","),
subgroup(integerRange(0, 255)),
char(","),
subgroup(
oneOf(
char("0"),
char("1"),
exactString("1.0"),
sequence(
maybe(char("0")),
char("."),
atLeastOne({ greedy: true })(digit)
)
)
),
char(")")
);
var rgbColorPercent = sequence(
exactString("rgb("),
subgroup(integerRange(0, 100)),
exactString("%,"),
subgroup(integerRange(0, 100)),
exactString("%,"),
subgroup(integerRange(0, 100)),
exactString("%)")
);
var rgbColorWithAlphaPercent = sequence(
exactString("rgba("),
subgroup(integerRange(0, 100)),
exactString("%,"),
subgroup(integerRange(0, 100)),
exactString("%,"),
subgroup(integerRange(0, 100)),
exactString("%,"),
subgroup(
oneOf(
char("0"),
char("1"),
exactString("1.0"),
sequence(
maybe(char("0")),
char("."),
atLeastOne({ greedy: true })(digit)
)
)
),
char(")")
);
var rgbColor = oneOf(
rgbColorDecimal,
rgbColorWithAlphaDecimal,
rgbColorPercent,
rgbColorWithAlphaPercent
);
// src/patterns/uuid.ts
var nHexDigits = (n) => exactly(n)(hexDigit);
var uuidV1 = sequence(
nHexDigits(8),
char("-"),
nHexDigits(4),
char("-"),
char("1"),
nHexDigits(3),
char("-"),
nHexDigits(4),
char("-"),
nHexDigits(12)
);
var uuidV2 = sequence(
nHexDigits(8),
char("-"),
nHexDigits(4),
char("-"),
char("2"),
nHexDigits(3),
char("-"),
nHexDigits(4),
char("-"),
nHexDigits(12)
);
var uuidV3 = sequence(
nHexDigits(8),
char("-"),
nHexDigits(4),
char("-"),
char("3"),
nHexDigits(3),
char("-"),
nHexDigits(4),
char("-"),
nHexDigits(12)
);
var uuidV4 = sequence(
nHexDigits(8),
char("-"),
nHexDigits(4),
char("-"),
char("4"),
nHexDigits(3),
char("-"),
characterClass(false, "A", "a", "B", "b", "8", "9"),
nHexDigits(3),
char("-"),
nHexDigits(12)
);
var uuidV5 = sequence(
nHexDigits(8),
char("-"),
nHexDigits(4),
char("-"),
char("5"),
nHexDigits(3),
char("-"),
characterClass(false, "A", "a", "B", "b", "8", "9"),
nHexDigits(3),
char("-"),
nHexDigits(12)
);
var anyUUID = sequence(
nHexDigits(8),
char("-"),
nHexDigits(4),
char("-"),
nHexDigits(4),
char("-"),
nHexDigits(4),
char("-"),
nHexDigits(12)
);
})();