@alexaegis/advent-of-code-lib
Version:
Advent of Code Library
304 lines (303 loc) • 15.5 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common = require("@alexaegis/common");
const jsSdsl = require("js-sdsl");
const array_polyfill = require("./array.polyfill-uI4B25o5.cjs");
const presentInAll_function = require("./present-in-all.function-GtZB65ib.cjs");
const index = require("./index-ZPyfgNVR.cjs");
const vectorsToMatrix_function = require("./vectors-to-matrix.function-kQ_zMsGH.cjs");
const frequencyMap_function = require("./frequency-map.function-Yy-m-ein.cjs");
const map = require("./map.cjs");
const lzw_class = require("./lzw.class-wIpYB3Rh.cjs");
const roundToDecimal_function = require("./round-to-decimal.function-O5Uesn7H.cjs");
const vector_class = require("./vector.class-5x30SLSc.cjs");
const split_function = require("./split.function-flVYNk0f.cjs");
const task_function = require("./task.function-21YWvD_j.cjs");
const set = require("./set.cjs");
const regex = require("./regex.cjs");
require("node:perf_hooks");
require("node:fs/promises");
require("node:path");
require("node:fs");
require("kolorist");
require("arktype");
const rotateQueue = function(queue, n) {
for (let i = 0; i < Math.abs(n); i++) {
if (n < 0) {
const next = queue.shift();
if (next !== void 0) {
queue.push(next);
}
} else {
const next = queue.pop();
if (next !== void 0) {
queue.unshift(next);
}
}
}
};
const rotateDeque = function(queue, n) {
for (let i = 0; i < Math.abs(n); i++) {
if (n < 0) {
const next = queue.popFront();
queue.pushBack(next);
} else {
const next = queue.popBack();
queue.pushFront(next);
}
}
};
Object.defineProperty(exports, "Deque", {
enumerable: true,
get: () => jsSdsl.Deque
});
Object.defineProperty(exports, "HashMap", {
enumerable: true,
get: () => jsSdsl.HashMap
});
Object.defineProperty(exports, "HashSet", {
enumerable: true,
get: () => jsSdsl.HashSet
});
Object.defineProperty(exports, "LinkList", {
enumerable: true,
get: () => jsSdsl.LinkList
});
Object.defineProperty(exports, "OrderedMap", {
enumerable: true,
get: () => jsSdsl.OrderedMap
});
Object.defineProperty(exports, "OrderedSet", {
enumerable: true,
get: () => jsSdsl.OrderedSet
});
Object.defineProperty(exports, "PriorityQueue", {
enumerable: true,
get: () => jsSdsl.PriorityQueue
});
Object.defineProperty(exports, "Queue", {
enumerable: true,
get: () => jsSdsl.Queue
});
Object.defineProperty(exports, "Stack", {
enumerable: true,
get: () => jsSdsl.Stack
});
exports.BoundingBox = array_polyfill.BoundingBox;
exports.Direction = array_polyfill.Direction;
exports.DirectionArrowSymbol = array_polyfill.DirectionArrowSymbol;
exports.DirectionArrowUnicodeSymbol = array_polyfill.DirectionArrowUnicodeSymbol;
exports.DirectionCardinalGeographicLetter = array_polyfill.DirectionCardinalGeographicLetter;
exports.DirectionCardinalLiteralLetter = array_polyfill.DirectionCardinalLiteralLetter;
exports.DirectionCardinalNumericClockwiseIndex = array_polyfill.DirectionCardinalNumericClockwiseIndex;
exports.DirectionNames = array_polyfill.DirectionNames;
exports.Graph = array_polyfill.Graph;
exports.GraphNode = array_polyfill.GraphNode;
exports.GridGraph = array_polyfill.GridGraph;
exports.GridGraphNode = array_polyfill.GridGraphNode;
exports.INTERVAL_CLOSED = array_polyfill.INTERVAL_CLOSED;
exports.INTERVAL_CLOSED_OPEN = array_polyfill.INTERVAL_CLOSED_OPEN;
exports.INTERVAL_ENDPOINT_CLOSED_QUALIFIER = array_polyfill.INTERVAL_ENDPOINT_CLOSED_QUALIFIER;
exports.INTERVAL_ENDPOINT_OPEN_QUALIFIER = array_polyfill.INTERVAL_ENDPOINT_OPEN_QUALIFIER;
exports.INTERVAL_OPEN = array_polyfill.INTERVAL_OPEN;
exports.INTERVAL_OPEN_CLOSED = array_polyfill.INTERVAL_OPEN_CLOSED;
exports.Interval = array_polyfill.Interval;
exports.PortalGridGraph = array_polyfill.PortalGridGraph;
exports.PortalGridNode = array_polyfill.PortalGridNode;
exports.Vec2 = array_polyfill.Vec2;
exports.Vec3 = array_polyfill.Vec3;
exports.Vec4 = array_polyfill.Vec4;
exports.add = array_polyfill.add;
exports.addWithinRange = array_polyfill.addWithinRange;
exports.arrayContains = array_polyfill.arrayContains;
exports.arrayDiff = array_polyfill.arrayDiff;
exports.ascending = array_polyfill.ascending;
exports.cutSubSegment = array_polyfill.cutSubSegment;
exports.descending = array_polyfill.descending;
exports.directionMarkerAssociationMap = array_polyfill.directionMarkerAssociationMap;
exports.directionMarkerInvertMap = array_polyfill.directionMarkerInvertMap;
exports.directionNameMap = array_polyfill.directionNameMap;
exports.dup = array_polyfill.dup;
exports.egcd = array_polyfill.egcd;
exports.egcdBigInt = array_polyfill.egcdBigInt;
exports.filterMap = array_polyfill.filterMap;
exports.findEndOfPair = array_polyfill.findEndOfPair;
exports.findLast = array_polyfill.findLast;
exports.flipMatrix = array_polyfill.flipMatrix;
exports.gcd = array_polyfill.gcd;
exports.getSizedGroups = array_polyfill.getSizedGroups;
exports.groupByDelimiter = array_polyfill.groupByDelimiter;
exports.hasEquals = array_polyfill.hasEquals;
exports.hasToString = array_polyfill.hasToString;
exports.invMod = array_polyfill.invMod;
exports.invModBigInt = array_polyfill.invModBigInt;
exports.invModEgdc = array_polyfill.invModEgdc;
exports.invModEgdcBigInt = array_polyfill.invModEgdcBigInt;
exports.isBigint = array_polyfill.isBigint;
exports.isDirectionArrowSymbol = array_polyfill.isDirectionArrowSymbol;
exports.isDirectionArrowUnicodeSymbol = array_polyfill.isDirectionArrowUnicodeSymbol;
exports.isDirectionCardinalGeographicLetter = array_polyfill.isDirectionCardinalGeographicLetter;
exports.isDirectionCardinalLiteralLetter = array_polyfill.isDirectionCardinalLiteralLetter;
exports.isDirectionCardinalNumericClockwiseIndex = array_polyfill.isDirectionCardinalNumericClockwiseIndex;
exports.isDirectionMarker = array_polyfill.isDirectionMarker;
exports.isHorizontalDirectionArrowSymbol = array_polyfill.isHorizontalDirectionArrowSymbol;
exports.isHorizontalDirectionArrowUnicodeSymbol = array_polyfill.isHorizontalDirectionArrowUnicodeSymbol;
exports.isHorizontalDirectionCardinalGeographicLetter = array_polyfill.isHorizontalDirectionCardinalGeographicLetter;
exports.isHorizontalDirectionCardinalLiteralLetter = array_polyfill.isHorizontalDirectionCardinalLiteralLetter;
exports.isHorizontalDirectionCardinalNumericClockwiseIndex = array_polyfill.isHorizontalDirectionCardinalNumericClockwiseIndex;
exports.isNumber = array_polyfill.isNumber;
exports.isNumberArray = array_polyfill.isNumberArray;
exports.isNumeric = array_polyfill.isNumeric;
exports.isVericalDirectionArrowSymbol = array_polyfill.isVericalDirectionArrowSymbol;
exports.isVericalDirectionArrowUnicodeSymbol = array_polyfill.isVericalDirectionArrowUnicodeSymbol;
exports.isVericalDirectionCardinalGeographicLetter = array_polyfill.isVericalDirectionCardinalGeographicLetter;
exports.isVericalDirectionCardinalLiteralLetter = array_polyfill.isVericalDirectionCardinalLiteralLetter;
exports.isVericalDirectionCardinalNumericClockwiseIndex = array_polyfill.isVericalDirectionCardinalNumericClockwiseIndex;
exports.lerp1D = array_polyfill.lerp1D;
exports.mapFirst = array_polyfill.mapFirst;
exports.mapLast = array_polyfill.mapLast;
exports.matrixFlipFlop = array_polyfill.matrixFlipFlop;
exports.max = array_polyfill.max;
exports.min = array_polyfill.min;
exports.modExp = array_polyfill.modExp;
exports.modExpBigInt = array_polyfill.modExpBigInt;
exports.mult = array_polyfill.mult;
exports.nonNullish = array_polyfill.nonNullish;
exports.pairsWith = array_polyfill.pairsWith;
exports.partition = array_polyfill.partition;
exports.peek = array_polyfill.peek;
exports.posMod = array_polyfill.posMod;
exports.posModBigInt = array_polyfill.posModBigInt;
exports.reduceIfAllTheSame = array_polyfill.reduceIfAllTheSame;
exports.renderMatrix = array_polyfill.renderMatrix;
exports.rotateMatrix = array_polyfill.rotateMatrix;
exports.slideWindow = array_polyfill.slideWindow;
exports.sub = array_polyfill.sub;
exports.sum = array_polyfill.sum;
exports.zip = array_polyfill.zip;
exports.mapMatrix = presentInAll_function.mapMatrix;
exports.presentInAll = presentInAll_function.presentInAll;
exports.numberPair = index.numberPair;
exports.stringPair = index.stringPair;
exports.A_LETTER_BIG = vectorsToMatrix_function.A_LETTER_BIG;
exports.A_LETTER_SMALL = vectorsToMatrix_function.A_LETTER_SMALL;
exports.B_LETTER_BIG = vectorsToMatrix_function.B_LETTER_BIG;
exports.B_LETTER_SMALL = vectorsToMatrix_function.B_LETTER_SMALL;
exports.C_LETTER_BIG = vectorsToMatrix_function.C_LETTER_BIG;
exports.C_LETTER_SMALL = vectorsToMatrix_function.C_LETTER_SMALL;
exports.D_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.D_UNVERIFIED_LETTER_BIG;
exports.D_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.D_UNVERIFIED_LETTER_SMALL;
exports.E_LETTER_BIG = vectorsToMatrix_function.E_LETTER_BIG;
exports.E_LETTER_SMALL = vectorsToMatrix_function.E_LETTER_SMALL;
exports.F_LETTER_BIG = vectorsToMatrix_function.F_LETTER_BIG;
exports.F_LETTER_SMALL = vectorsToMatrix_function.F_LETTER_SMALL;
exports.G_LETTER_BIG = vectorsToMatrix_function.G_LETTER_BIG;
exports.G_LETTER_SMALL = vectorsToMatrix_function.G_LETTER_SMALL;
exports.H_LETTER_BIG = vectorsToMatrix_function.H_LETTER_BIG;
exports.H_LETTER_SMALL = vectorsToMatrix_function.H_LETTER_SMALL;
exports.I_LETTER_SMALL = vectorsToMatrix_function.I_LETTER_SMALL;
exports.I_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.I_UNVERIFIED_LETTER_BIG;
exports.J_LETTER_BIG = vectorsToMatrix_function.J_LETTER_BIG;
exports.J_LETTER_SMALL = vectorsToMatrix_function.J_LETTER_SMALL;
exports.K_LETTER_BIG = vectorsToMatrix_function.K_LETTER_BIG;
exports.K_LETTER_SMALL = vectorsToMatrix_function.K_LETTER_SMALL;
exports.L_LETTER_BIG = vectorsToMatrix_function.L_LETTER_BIG;
exports.L_LETTER_SMALL = vectorsToMatrix_function.L_LETTER_SMALL;
exports.MATRIX_ALPHABET_BIG = vectorsToMatrix_function.MATRIX_ALPHABET_BIG;
exports.MATRIX_ALPHABET_SMALL = vectorsToMatrix_function.MATRIX_ALPHABET_SMALL;
exports.M_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.M_UNVERIFIED_LETTER_BIG;
exports.M_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.M_UNVERIFIED_LETTER_SMALL;
exports.N_LETTER_BIG = vectorsToMatrix_function.N_LETTER_BIG;
exports.N_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.N_UNVERIFIED_LETTER_SMALL;
exports.O_LETTER_SMALL = vectorsToMatrix_function.O_LETTER_SMALL;
exports.O_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.O_UNVERIFIED_LETTER_BIG;
exports.P_LETTER_BIG = vectorsToMatrix_function.P_LETTER_BIG;
exports.P_LETTER_SMALL = vectorsToMatrix_function.P_LETTER_SMALL;
exports.Q_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.Q_UNVERIFIED_LETTER_BIG;
exports.Q_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.Q_UNVERIFIED_LETTER_SMALL;
exports.R_LETTER_BIG = vectorsToMatrix_function.R_LETTER_BIG;
exports.R_LETTER_SMALL = vectorsToMatrix_function.R_LETTER_SMALL;
exports.S_LETTER_SMALL = vectorsToMatrix_function.S_LETTER_SMALL;
exports.S_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.S_UNVERIFIED_LETTER_BIG;
exports.T_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.T_UNVERIFIED_LETTER_BIG;
exports.T_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.T_UNVERIFIED_LETTER_SMALL;
exports.UPPERCASE_ALPHABET = vectorsToMatrix_function.UPPERCASE_ALPHABET;
exports.U_LETTER_SMALL = vectorsToMatrix_function.U_LETTER_SMALL;
exports.U_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.U_UNVERIFIED_LETTER_BIG;
exports.V_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.V_UNVERIFIED_LETTER_BIG;
exports.V_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.V_UNVERIFIED_LETTER_SMALL;
exports.W_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.W_UNVERIFIED_LETTER_BIG;
exports.W_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.W_UNVERIFIED_LETTER_SMALL;
exports.X_LETTER_BIG = vectorsToMatrix_function.X_LETTER_BIG;
exports.X_UNVERIFIED_LETTER_SMALL = vectorsToMatrix_function.X_UNVERIFIED_LETTER_SMALL;
exports.Y_LETTER_SMALL = vectorsToMatrix_function.Y_LETTER_SMALL;
exports.Y_UNVERIFIED_LETTER_BIG = vectorsToMatrix_function.Y_UNVERIFIED_LETTER_BIG;
exports.Z_LETTER_BIG = vectorsToMatrix_function.Z_LETTER_BIG;
exports.Z_LETTER_SMALL = vectorsToMatrix_function.Z_LETTER_SMALL;
exports.chunksOfArray = vectorsToMatrix_function.chunksOfArray;
exports.copyMatrix = vectorsToMatrix_function.copyMatrix;
exports.createTileMatrixFromMap = vectorsToMatrix_function.createTileMatrixFromMap;
exports.drawMapStatic = vectorsToMatrix_function.drawMapStatic;
exports.findCorners = vectorsToMatrix_function.findCorners;
exports.generateStringTile = vectorsToMatrix_function.generateStringTile;
exports.getMatrixAlphabet = vectorsToMatrix_function.getMatrixAlphabet;
exports.getRowRenderedAlphabet = vectorsToMatrix_function.getRowRenderedAlphabet;
exports.integerLength = vectorsToMatrix_function.integerLength;
exports.integerLengthMath = vectorsToMatrix_function.integerLengthMath;
exports.is = vectorsToMatrix_function.is;
exports.iteratorGetUntil = vectorsToMatrix_function.iteratorGetUntil;
exports.mergeTileMatrix = vectorsToMatrix_function.mergeTileMatrix;
exports.numAt = vectorsToMatrix_function.numAt;
exports.numStart = vectorsToMatrix_function.numStart;
exports.pairs = vectorsToMatrix_function.pairs;
exports.parseLetterMatrix = vectorsToMatrix_function.parseLetterMatrix;
exports.perm = vectorsToMatrix_function.perm;
exports.rotateArray = vectorsToMatrix_function.rotateArray;
exports.rotateArrayBack = vectorsToMatrix_function.rotateArrayBack;
exports.rotateArrayTimes = vectorsToMatrix_function.rotateArrayTimes;
exports.usingMap = vectorsToMatrix_function.usingMap;
exports.vectorsToMatrix = vectorsToMatrix_function.vectorsToMatrix;
exports.frequencyMap = frequencyMap_function.frequencyMap;
exports.mapGetOrSet = map.mapGetOrSet;
exports.Huffmann = lzw_class.Huffmann;
exports.HuffmannNode = lzw_class.HuffmannNode;
exports.LZPointer = lzw_class.LZPointer;
exports.LZW = lzw_class.LZW;
exports.ManhattanCircle = lzw_class.ManhattanCircle;
exports.cartesianCombinations = lzw_class.cartesianCombinations;
exports.clamp = lzw_class.clamp;
exports.crt = lzw_class.crt;
exports.crtBigInt = lzw_class.crtBigInt;
exports.divisible = lzw_class.divisible;
exports.hzToMs = lzw_class.hzToMs;
exports.lcm = lzw_class.lcm;
exports.quadratic = lzw_class.quadratic;
exports.roundToDecimal = roundToDecimal_function.roundToDecimal;
exports.BPlusTree = vector_class.BPlusTree;
exports.BinaryTree = vector_class.BinaryTree;
exports.PairTree = vector_class.PairTree;
exports.Vector = vector_class.Vector;
exports.flattenVectors = vector_class.flattenVectors;
exports.isNestedPair = vector_class.isNestedPair;
exports.split = split_function.split;
exports.benchTask = task_function.benchTask;
exports.createLogger = task_function.createLogger;
exports.isTaskMetadata = task_function.isTaskMetadata;
exports.loadTaskResources = task_function.loadTaskResources;
exports.task = task_function.task;
exports.addAllToSet = set.addAllToSet;
exports.DOUBLE_NEWLINE = regex.DOUBLE_NEWLINE;
exports.INUM = regex.INUM;
exports.NEWLINE = regex.NEWLINE;
exports.NUM = regex.NUM;
exports.UNUM = regex.UNUM;
exports.WHITESPACE = regex.WHITESPACE;
exports.rotateDeque = rotateDeque;
exports.rotateQueue = rotateQueue;
Object.keys(common).forEach((k) => {
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
Object.defineProperty(exports, k, {
enumerable: true,
get: () => common[k]
});
});