UNPKG

mastercache

Version:

Multi-tier cache module for Node.js. Redis, Upstash, CloudfareKV, File, in-memory and others drivers

1,828 lines (1,765 loc) 134 kB
// ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/util/object-utils.js function isUndefined(obj) { return typeof obj === "undefined" || obj === void 0; } function isString(obj) { return typeof obj === "string"; } function isNumber(obj) { return typeof obj === "number"; } function isBoolean(obj) { return typeof obj === "boolean"; } function isNull(obj) { return obj === null; } function isBigInt(obj) { return typeof obj === "bigint"; } function isFunction(obj) { return typeof obj === "function"; } function isObject(obj) { return typeof obj === "object" && obj !== null; } function freeze(obj) { return Object.freeze(obj); } function asArray(arg) { if (isReadonlyArray(arg)) { return arg; } else { return [arg]; } } function isReadonlyArray(arg) { return Array.isArray(arg); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/identifier-node.js var IdentifierNode = freeze({ is(node) { return node.kind === "IdentifierNode"; }, create(name) { return freeze({ kind: "IdentifierNode", name }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/schemable-identifier-node.js var SchemableIdentifierNode = freeze({ is(node) { return node.kind === "SchemableIdentifierNode"; }, create(identifier) { return freeze({ kind: "SchemableIdentifierNode", identifier: IdentifierNode.create(identifier) }); }, createWithSchema(schema, identifier) { return freeze({ kind: "SchemableIdentifierNode", schema: IdentifierNode.create(schema), identifier: IdentifierNode.create(identifier) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/alias-node.js var AliasNode = freeze({ is(node) { return node.kind === "AliasNode"; }, create(node, alias) { return freeze({ kind: "AliasNode", node, alias }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/table-node.js var TableNode = freeze({ is(node) { return node.kind === "TableNode"; }, create(table) { return freeze({ kind: "TableNode", table: SchemableIdentifierNode.create(table) }); }, createWithSchema(schema, table) { return freeze({ kind: "TableNode", table: SchemableIdentifierNode.createWithSchema(schema, table) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/operation-node-source.js function isOperationNodeSource(obj) { return isObject(obj) && isFunction(obj.toOperationNode); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/expression/expression.js function isExpression(obj) { return isObject(obj) && "expressionType" in obj && isOperationNodeSource(obj); } function isAliasedExpression(obj) { return isObject(obj) && "expression" in obj && isString(obj.alias) && isOperationNodeSource(obj); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/select-modifier-node.js var SelectModifierNode = freeze({ is(node) { return node.kind === "SelectModifierNode"; }, create(modifier, of) { return freeze({ kind: "SelectModifierNode", modifier, of }); }, createWithExpression(modifier) { return freeze({ kind: "SelectModifierNode", rawModifier: modifier }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/and-node.js var AndNode = freeze({ is(node) { return node.kind === "AndNode"; }, create(left, right) { return freeze({ kind: "AndNode", left, right }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/or-node.js var OrNode = freeze({ is(node) { return node.kind === "OrNode"; }, create(left, right) { return freeze({ kind: "OrNode", left, right }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/on-node.js var OnNode = freeze({ is(node) { return node.kind === "OnNode"; }, create(filter) { return freeze({ kind: "OnNode", on: filter }); }, cloneWithOperation(onNode, operator, operation) { return freeze({ ...onNode, on: operator === "And" ? AndNode.create(onNode.on, operation) : OrNode.create(onNode.on, operation) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/join-node.js var JoinNode = freeze({ is(node) { return node.kind === "JoinNode"; }, create(joinType, table) { return freeze({ kind: "JoinNode", joinType, table, on: void 0 }); }, createWithOn(joinType, table, on) { return freeze({ kind: "JoinNode", joinType, table, on: OnNode.create(on) }); }, cloneWithOn(joinNode, operation) { return freeze({ ...joinNode, on: joinNode.on ? OnNode.cloneWithOperation(joinNode.on, "And", operation) : OnNode.create(operation) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/binary-operation-node.js var BinaryOperationNode = freeze({ is(node) { return node.kind === "BinaryOperationNode"; }, create(leftOperand, operator, rightOperand) { return freeze({ kind: "BinaryOperationNode", leftOperand, operator, rightOperand }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/operator-node.js var COMPARISON_OPERATORS = [ "=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "^@", "&&", "?", "?&", "?|", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from" ]; var ARITHMETIC_OPERATORS = [ "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>" ]; var JSON_OPERATORS = ["->", "->>"]; var BINARY_OPERATORS = [ ...COMPARISON_OPERATORS, ...ARITHMETIC_OPERATORS, "&&", "||" ]; var UNARY_FILTER_OPERATORS = ["exists", "not exists"]; var UNARY_OPERATORS = ["not", "-", ...UNARY_FILTER_OPERATORS]; var OPERATORS = [ ...BINARY_OPERATORS, ...JSON_OPERATORS, ...UNARY_OPERATORS, "between", "between symmetric" ]; var OperatorNode = freeze({ is(node) { return node.kind === "OperatorNode"; }, create(operator) { return freeze({ kind: "OperatorNode", operator }); } }); function isJSONOperator(op) { return isString(op) && JSON_OPERATORS.includes(op); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/column-node.js var ColumnNode = freeze({ is(node) { return node.kind === "ColumnNode"; }, create(column) { return freeze({ kind: "ColumnNode", column: IdentifierNode.create(column) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/select-all-node.js var SelectAllNode = freeze({ is(node) { return node.kind === "SelectAllNode"; }, create() { return freeze({ kind: "SelectAllNode" }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/reference-node.js var ReferenceNode = freeze({ is(node) { return node.kind === "ReferenceNode"; }, create(column, table) { return freeze({ kind: "ReferenceNode", table, column }); }, createSelectAll(table) { return freeze({ kind: "ReferenceNode", table, column: SelectAllNode.create() }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/dynamic/dynamic-reference-builder.js function isDynamicReferenceBuilder(obj) { return isObject(obj) && isOperationNodeSource(obj) && isString(obj.dynamicReference); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/order-by-item-node.js var OrderByItemNode = freeze({ is(node) { return node.kind === "OrderByItemNode"; }, create(orderBy, direction) { return freeze({ kind: "OrderByItemNode", orderBy, direction }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/raw-node.js var RawNode = freeze({ is(node) { return node.kind === "RawNode"; }, create(sqlFragments, parameters) { return freeze({ kind: "RawNode", sqlFragments: freeze(sqlFragments), parameters: freeze(parameters) }); }, createWithSql(sql2) { return RawNode.create([sql2], []); }, createWithChild(child) { return RawNode.create(["", ""], [child]); }, createWithChildren(children) { return RawNode.create(new Array(children.length + 1).fill(""), children); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/parser/order-by-parser.js function isOrderByDirection(thing) { return thing === "asc" || thing === "desc"; } function parseOrderBy(args) { if (args.length === 2) { return [parseOrderByItem(args[0], args[1])]; } if (args.length === 1) { const [orderBy] = args; if (Array.isArray(orderBy)) { return orderBy.map((item) => parseOrderByItem(item)); } return [parseOrderByItem(orderBy)]; } throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${args.length}`); } function parseOrderByItem(ref, direction) { const parsedRef = parseOrderByExpression(ref); if (OrderByItemNode.is(parsedRef)) { if (direction) { throw new Error("Cannot specify direction twice!"); } return parsedRef; } return OrderByItemNode.create(parsedRef, parseOrderByDirectionExpression(direction)); } function parseOrderByExpression(expr) { if (isExpressionOrFactory(expr)) { return parseExpression(expr); } if (isDynamicReferenceBuilder(expr)) { return expr.toOperationNode(); } const [ref, direction] = expr.split(" "); if (direction) { if (!isOrderByDirection(direction)) { throw new Error(`Invalid order by direction: ${direction}`); } return OrderByItemNode.create(parseStringReference(ref), parseOrderByDirectionExpression(direction)); } return parseStringReference(expr); } function parseOrderByDirectionExpression(expr) { if (!expr) { return void 0; } if (expr === "asc" || expr === "desc") { return RawNode.createWithSql(expr); } return expr.toOperationNode(); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/json-reference-node.js var JSONReferenceNode = freeze({ is(node) { return node.kind === "JSONReferenceNode"; }, create(reference, traversal) { return freeze({ kind: "JSONReferenceNode", reference, traversal }); }, cloneWithTraversal(node, traversal) { return freeze({ ...node, traversal }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/json-operator-chain-node.js var JSONOperatorChainNode = freeze({ is(node) { return node.kind === "JSONOperatorChainNode"; }, create(operator) { return freeze({ kind: "JSONOperatorChainNode", operator, values: freeze([]) }); }, cloneWithValue(node, value) { return freeze({ ...node, values: freeze([...node.values, value]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/json-path-node.js var JSONPathNode = freeze({ is(node) { return node.kind === "JSONPathNode"; }, create(inOperator) { return freeze({ kind: "JSONPathNode", inOperator, pathLegs: freeze([]) }); }, cloneWithLeg(jsonPathNode, pathLeg) { return freeze({ ...jsonPathNode, pathLegs: freeze([...jsonPathNode.pathLegs, pathLeg]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/parser/reference-parser.js function parseSimpleReferenceExpression(exp) { if (isString(exp)) { return parseStringReference(exp); } return exp.toOperationNode(); } function parseReferenceExpressionOrList(arg) { if (isReadonlyArray(arg)) { return arg.map((it) => parseReferenceExpression(it)); } else { return [parseReferenceExpression(arg)]; } } function parseReferenceExpression(exp) { if (isExpressionOrFactory(exp)) { return parseExpression(exp); } return parseSimpleReferenceExpression(exp); } function parseJSONReference(ref, op) { const referenceNode = parseStringReference(ref); if (isJSONOperator(op)) { return JSONReferenceNode.create(referenceNode, JSONOperatorChainNode.create(OperatorNode.create(op))); } const opWithoutLastChar = op.slice(0, -1); if (isJSONOperator(opWithoutLastChar)) { return JSONReferenceNode.create(referenceNode, JSONPathNode.create(OperatorNode.create(opWithoutLastChar))); } throw new Error(`Invalid JSON operator: ${op}`); } function parseStringReference(ref) { const COLUMN_SEPARATOR = "."; if (!ref.includes(COLUMN_SEPARATOR)) { return ReferenceNode.create(ColumnNode.create(ref)); } const parts = ref.split(COLUMN_SEPARATOR).map(trim); if (parts.length === 3) { return parseStringReferenceWithTableAndSchema(parts); } if (parts.length === 2) { return parseStringReferenceWithTable(parts); } throw new Error(`invalid column reference ${ref}`); } function parseAliasedStringReference(ref) { const ALIAS_SEPARATOR = " as "; if (ref.includes(ALIAS_SEPARATOR)) { const [columnRef, alias] = ref.split(ALIAS_SEPARATOR).map(trim); return AliasNode.create(parseStringReference(columnRef), IdentifierNode.create(alias)); } else { return parseStringReference(ref); } } function parseStringReferenceWithTableAndSchema(parts) { const [schema, table, column] = parts; return ReferenceNode.create(ColumnNode.create(column), TableNode.createWithSchema(schema, table)); } function parseStringReferenceWithTable(parts) { const [table, column] = parts; return ReferenceNode.create(ColumnNode.create(column), TableNode.create(table)); } function trim(str) { return str.trim(); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/primitive-value-list-node.js var PrimitiveValueListNode = freeze({ is(node) { return node.kind === "PrimitiveValueListNode"; }, create(values) { return freeze({ kind: "PrimitiveValueListNode", values: freeze([...values]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/value-list-node.js var ValueListNode = freeze({ is(node) { return node.kind === "ValueListNode"; }, create(values) { return freeze({ kind: "ValueListNode", values: freeze(values) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/value-node.js var ValueNode = freeze({ is(node) { return node.kind === "ValueNode"; }, create(value) { return freeze({ kind: "ValueNode", value }); }, createImmediate(value) { return freeze({ kind: "ValueNode", value, immediate: true }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/parser/value-parser.js function parseValueExpressionOrList(arg) { if (isReadonlyArray(arg)) { return parseValueExpressionList(arg); } return parseValueExpression(arg); } function parseValueExpression(exp) { if (isExpressionOrFactory(exp)) { return parseExpression(exp); } return ValueNode.create(exp); } function isSafeImmediateValue(value) { return isNumber(value) || isBoolean(value) || isNull(value); } function parseSafeImmediateValue(value) { if (!isSafeImmediateValue(value)) { throw new Error(`unsafe immediate value ${JSON.stringify(value)}`); } return ValueNode.createImmediate(value); } function parseValueExpressionList(arg) { if (arg.some(isExpressionOrFactory)) { return ValueListNode.create(arg.map((it) => parseValueExpression(it))); } return PrimitiveValueListNode.create(arg); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/parens-node.js var ParensNode = freeze({ is(node) { return node.kind === "ParensNode"; }, create(node) { return freeze({ kind: "ParensNode", node }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/parser/binary-operation-parser.js function parseValueBinaryOperationOrExpression(args) { if (args.length === 3) { return parseValueBinaryOperation(args[0], args[1], args[2]); } else if (args.length === 1) { return parseValueExpression(args[0]); } throw new Error(`invalid arguments: ${JSON.stringify(args)}`); } function parseValueBinaryOperation(left, operator, right) { if (isIsOperator(operator) && needsIsOperator(right)) { return BinaryOperationNode.create(parseReferenceExpression(left), parseOperator(operator), ValueNode.createImmediate(right)); } return BinaryOperationNode.create(parseReferenceExpression(left), parseOperator(operator), parseValueExpressionOrList(right)); } function parseReferentialBinaryOperation(left, operator, right) { return BinaryOperationNode.create(parseReferenceExpression(left), parseOperator(operator), parseReferenceExpression(right)); } function parseFilterObject(obj, combinator) { return parseFilterList(Object.entries(obj).filter(([, v]) => !isUndefined(v)).map(([k, v]) => parseValueBinaryOperation(k, needsIsOperator(v) ? "is" : "=", v)), combinator); } function parseFilterList(list, combinator, withParens = true) { const combine = combinator === "and" ? AndNode.create : OrNode.create; if (list.length === 0) { return BinaryOperationNode.create(ValueNode.createImmediate(1), OperatorNode.create("="), ValueNode.createImmediate(combinator === "and" ? 1 : 0)); } let node = toOperationNode(list[0]); for (let i = 1; i < list.length; ++i) { node = combine(node, toOperationNode(list[i])); } if (list.length > 1 && withParens) { return ParensNode.create(node); } return node; } function isIsOperator(operator) { return operator === "is" || operator === "is not"; } function needsIsOperator(value) { return isNull(value) || isBoolean(value); } function parseOperator(operator) { if (isString(operator) && OPERATORS.includes(operator)) { return OperatorNode.create(operator); } if (isOperationNodeSource(operator)) { return operator.toOperationNode(); } throw new Error(`invalid operator ${JSON.stringify(operator)}`); } function toOperationNode(nodeOrSource) { return isOperationNodeSource(nodeOrSource) ? nodeOrSource.toOperationNode() : nodeOrSource; } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/order-by-node.js var OrderByNode = freeze({ is(node) { return node.kind === "OrderByNode"; }, create(items) { return freeze({ kind: "OrderByNode", items: freeze([...items]) }); }, cloneWithItems(orderBy, items) { return freeze({ ...orderBy, items: freeze([...orderBy.items, ...items]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/partition-by-node.js var PartitionByNode = freeze({ is(node) { return node.kind === "PartitionByNode"; }, create(items) { return freeze({ kind: "PartitionByNode", items: freeze(items) }); }, cloneWithItems(partitionBy, items) { return freeze({ ...partitionBy, items: freeze([...partitionBy.items, ...items]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/over-node.js var OverNode = freeze({ is(node) { return node.kind === "OverNode"; }, create() { return freeze({ kind: "OverNode" }); }, cloneWithOrderByItems(overNode, items) { return freeze({ ...overNode, orderBy: overNode.orderBy ? OrderByNode.cloneWithItems(overNode.orderBy, items) : OrderByNode.create(items) }); }, cloneWithPartitionByItems(overNode, items) { return freeze({ ...overNode, partitionBy: overNode.partitionBy ? PartitionByNode.cloneWithItems(overNode.partitionBy, items) : PartitionByNode.create(items) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/from-node.js var FromNode = freeze({ is(node) { return node.kind === "FromNode"; }, create(froms) { return freeze({ kind: "FromNode", froms: freeze(froms) }); }, cloneWithFroms(from, froms) { return freeze({ ...from, froms: freeze([...from.froms, ...froms]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/group-by-node.js var GroupByNode = freeze({ is(node) { return node.kind === "GroupByNode"; }, create(items) { return freeze({ kind: "GroupByNode", items: freeze(items) }); }, cloneWithItems(groupBy, items) { return freeze({ ...groupBy, items: freeze([...groupBy.items, ...items]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/having-node.js var HavingNode = freeze({ is(node) { return node.kind === "HavingNode"; }, create(filter) { return freeze({ kind: "HavingNode", having: filter }); }, cloneWithOperation(havingNode, operator, operation) { return freeze({ ...havingNode, having: operator === "And" ? AndNode.create(havingNode.having, operation) : OrNode.create(havingNode.having, operation) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/select-query-node.js var SelectQueryNode = freeze({ is(node) { return node.kind === "SelectQueryNode"; }, create(withNode) { return freeze({ kind: "SelectQueryNode", ...withNode && { with: withNode } }); }, createFrom(fromItems, withNode) { return freeze({ kind: "SelectQueryNode", from: FromNode.create(fromItems), ...withNode && { with: withNode } }); }, cloneWithSelections(select, selections) { return freeze({ ...select, selections: select.selections ? freeze([...select.selections, ...selections]) : freeze(selections) }); }, cloneWithDistinctOn(select, expressions) { return freeze({ ...select, distinctOn: select.distinctOn ? freeze([...select.distinctOn, ...expressions]) : freeze(expressions) }); }, cloneWithFrontModifier(select, modifier) { return freeze({ ...select, frontModifiers: select.frontModifiers ? freeze([...select.frontModifiers, modifier]) : freeze([modifier]) }); }, cloneWithEndModifier(select, modifier) { return freeze({ ...select, endModifiers: select.endModifiers ? freeze([...select.endModifiers, modifier]) : freeze([modifier]) }); }, cloneWithOrderByItems(selectNode, items) { return freeze({ ...selectNode, orderBy: selectNode.orderBy ? OrderByNode.cloneWithItems(selectNode.orderBy, items) : OrderByNode.create(items) }); }, cloneWithGroupByItems(selectNode, items) { return freeze({ ...selectNode, groupBy: selectNode.groupBy ? GroupByNode.cloneWithItems(selectNode.groupBy, items) : GroupByNode.create(items) }); }, cloneWithLimit(selectNode, limit) { return freeze({ ...selectNode, limit }); }, cloneWithOffset(selectNode, offset) { return freeze({ ...selectNode, offset }); }, cloneWithFetch(selectNode, fetch) { return freeze({ ...selectNode, fetch }); }, cloneWithHaving(selectNode, operation) { return freeze({ ...selectNode, having: selectNode.having ? HavingNode.cloneWithOperation(selectNode.having, "And", operation) : HavingNode.create(operation) }); }, cloneWithSetOperations(selectNode, setOperations) { return freeze({ ...selectNode, setOperations: selectNode.setOperations ? freeze([...selectNode.setOperations, ...setOperations]) : freeze([...setOperations]) }); }, cloneWithoutSelections(select) { return freeze({ ...select, selections: [] }); }, cloneWithoutLimit(select) { return freeze({ ...select, limit: void 0 }); }, cloneWithoutOffset(select) { return freeze({ ...select, offset: void 0 }); }, cloneWithoutOrderBy(select) { return freeze({ ...select, orderBy: void 0 }); }, cloneWithoutGroupBy(select) { return freeze({ ...select, groupBy: void 0 }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/util/prevent-await.js function preventAwait(clazz, message) { Object.defineProperties(clazz.prototype, { then: { enumerable: false, value: () => { throw new Error(message); } } }); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/query-builder/join-builder.js var JoinBuilder = class _JoinBuilder { #props; constructor(props) { this.#props = freeze(props); } on(...args) { return new _JoinBuilder({ ...this.#props, joinNode: JoinNode.cloneWithOn(this.#props.joinNode, parseValueBinaryOperationOrExpression(args)) }); } /** * Just like {@link WhereInterface.whereRef} but adds an item to the join's * `on` clause instead. * * See {@link WhereInterface.whereRef} for documentation and examples. */ onRef(lhs, op, rhs) { return new _JoinBuilder({ ...this.#props, joinNode: JoinNode.cloneWithOn(this.#props.joinNode, parseReferentialBinaryOperation(lhs, op, rhs)) }); } /** * Adds `on true`. */ onTrue() { return new _JoinBuilder({ ...this.#props, joinNode: JoinNode.cloneWithOn(this.#props.joinNode, RawNode.createWithSql("true")) }); } /** * Simply calls the provided function passing `this` as the only argument. `$call` returns * what the provided function returns. */ $call(func) { return func(this); } toOperationNode() { return this.#props.joinNode; } }; preventAwait(JoinBuilder, "don't await JoinBuilder instances. They are never executed directly and are always just a part of a query."); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/partition-by-item-node.js var PartitionByItemNode = freeze({ is(node) { return node.kind === "PartitionByItemNode"; }, create(partitionBy) { return freeze({ kind: "PartitionByItemNode", partitionBy }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/parser/partition-by-parser.js function parsePartitionBy(partitionBy) { return parseReferenceExpressionOrList(partitionBy).map(PartitionByItemNode.create); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/query-builder/over-builder.js var OverBuilder = class _OverBuilder { #props; constructor(props) { this.#props = freeze(props); } /** * Adds an order by clause item inside the over function. * * ```ts * const result = await db * .selectFrom('person') * .select( * (eb) => eb.fn.avg<number>('age').over( * ob => ob.orderBy('first_name', 'asc').orderBy('last_name', 'asc') * ).as('average_age') * ) * .execute() * ``` * * The generated SQL (PostgreSQL): * * ```sql * select avg("age") over(order by "first_name" asc, "last_name" asc) as "average_age" * from "person" * ``` */ orderBy(orderBy, direction) { return new _OverBuilder({ overNode: OverNode.cloneWithOrderByItems(this.#props.overNode, parseOrderBy([orderBy, direction])) }); } partitionBy(partitionBy) { return new _OverBuilder({ overNode: OverNode.cloneWithPartitionByItems(this.#props.overNode, parsePartitionBy(partitionBy)) }); } /** * Simply calls the provided function passing `this` as the only argument. `$call` returns * what the provided function returns. */ $call(func) { return func(this); } toOperationNode() { return this.#props.overNode; } }; preventAwait(OverBuilder, "don't await OverBuilder instances. They are never executed directly and are always just a part of a query."); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/selection-node.js var SelectionNode = freeze({ is(node) { return node.kind === "SelectionNode"; }, create(selection) { return freeze({ kind: "SelectionNode", selection }); }, createSelectAll() { return freeze({ kind: "SelectionNode", selection: SelectAllNode.create() }); }, createSelectAllFromTable(table) { return freeze({ kind: "SelectionNode", selection: ReferenceNode.createSelectAll(table) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/parser/select-parser.js function parseSelectArg(selection) { if (isFunction(selection)) { return parseSelectArg(selection(expressionBuilder())); } else if (isReadonlyArray(selection)) { return selection.map((it) => parseSelectExpression(it)); } else { return [parseSelectExpression(selection)]; } } function parseSelectExpression(selection) { if (isString(selection)) { return SelectionNode.create(parseAliasedStringReference(selection)); } else if (isDynamicReferenceBuilder(selection)) { return SelectionNode.create(selection.toOperationNode()); } else { return SelectionNode.create(parseAliasedExpression(selection)); } } function parseSelectAll(table) { if (!table) { return [SelectionNode.createSelectAll()]; } else if (Array.isArray(table)) { return table.map(parseSelectAllArg); } else { return [parseSelectAllArg(table)]; } } function parseSelectAllArg(table) { if (isString(table)) { return SelectionNode.createSelectAllFromTable(parseTable(table)); } throw new Error(`invalid value selectAll expression: ${JSON.stringify(table)}`); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/insert-query-node.js var InsertQueryNode = freeze({ is(node) { return node.kind === "InsertQueryNode"; }, create(into, withNode, replace) { return freeze({ kind: "InsertQueryNode", into, ...withNode && { with: withNode }, replace }); }, createWithoutInto() { return freeze({ kind: "InsertQueryNode" }); }, cloneWith(insertQuery, props) { return freeze({ ...insertQuery, ...props }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/update-query-node.js var UpdateQueryNode = freeze({ is(node) { return node.kind === "UpdateQueryNode"; }, create(table, withNode) { return freeze({ kind: "UpdateQueryNode", table, ...withNode && { with: withNode } }); }, createWithoutTable() { return freeze({ kind: "UpdateQueryNode" }); }, cloneWithFromItems(updateQuery, fromItems) { return freeze({ ...updateQuery, from: updateQuery.from ? FromNode.cloneWithFroms(updateQuery.from, fromItems) : FromNode.create(fromItems) }); }, cloneWithUpdates(updateQuery, updates) { return freeze({ ...updateQuery, updates: updateQuery.updates ? freeze([...updateQuery.updates, ...updates]) : updates }); }, cloneWithLimit(updateQuery, limit) { return freeze({ ...updateQuery, limit }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/using-node.js var UsingNode = freeze({ is(node) { return node.kind === "UsingNode"; }, create(tables) { return freeze({ kind: "UsingNode", tables: freeze(tables) }); }, cloneWithTables(using, tables) { return freeze({ ...using, tables: freeze([...using.tables, ...tables]) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/delete-query-node.js var DeleteQueryNode = freeze({ is(node) { return node.kind === "DeleteQueryNode"; }, create(fromItems, withNode) { return freeze({ kind: "DeleteQueryNode", from: FromNode.create(fromItems), ...withNode && { with: withNode } }); }, cloneWithOrderByItems(deleteNode, items) { return freeze({ ...deleteNode, orderBy: deleteNode.orderBy ? OrderByNode.cloneWithItems(deleteNode.orderBy, items) : OrderByNode.create(items) }); }, cloneWithoutOrderBy(deleteNode) { return freeze({ ...deleteNode, orderBy: void 0 }); }, cloneWithLimit(deleteNode, limit) { return freeze({ ...deleteNode, limit }); }, cloneWithoutLimit(deleteNode) { return freeze({ ...deleteNode, limit: void 0 }); }, cloneWithUsing(deleteNode, tables) { return freeze({ ...deleteNode, using: deleteNode.using !== void 0 ? UsingNode.cloneWithTables(deleteNode.using, tables) : UsingNode.create(tables) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/where-node.js var WhereNode = freeze({ is(node) { return node.kind === "WhereNode"; }, create(filter) { return freeze({ kind: "WhereNode", where: filter }); }, cloneWithOperation(whereNode, operator, operation) { return freeze({ ...whereNode, where: operator === "And" ? AndNode.create(whereNode.where, operation) : OrNode.create(whereNode.where, operation) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/returning-node.js var ReturningNode = freeze({ is(node) { return node.kind === "ReturningNode"; }, create(selections) { return freeze({ kind: "ReturningNode", selections: freeze(selections) }); }, cloneWithSelections(returning, selections) { return freeze({ ...returning, selections: returning.selections ? freeze([...returning.selections, ...selections]) : freeze(selections) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/explain-node.js var ExplainNode = freeze({ is(node) { return node.kind === "ExplainNode"; }, create(format, options) { return freeze({ kind: "ExplainNode", format, options }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/when-node.js var WhenNode = freeze({ is(node) { return node.kind === "WhenNode"; }, create(condition) { return freeze({ kind: "WhenNode", condition }); }, cloneWithResult(whenNode, result) { return freeze({ ...whenNode, result }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/merge-query-node.js var MergeQueryNode = freeze({ is(node) { return node.kind === "MergeQueryNode"; }, create(into, withNode) { return freeze({ kind: "MergeQueryNode", into, ...withNode && { with: withNode } }); }, cloneWithUsing(mergeNode, using) { return freeze({ ...mergeNode, using }); }, cloneWithWhen(mergeNode, when) { return freeze({ ...mergeNode, whens: mergeNode.whens ? freeze([...mergeNode.whens, when]) : freeze([when]) }); }, cloneWithThen(mergeNode, then) { return freeze({ ...mergeNode, whens: mergeNode.whens ? freeze([ ...mergeNode.whens.slice(0, -1), WhenNode.cloneWithResult(mergeNode.whens[mergeNode.whens.length - 1], then) ]) : void 0 }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/output-node.js var OutputNode = freeze({ is(node) { return node.kind === "OutputNode"; }, create(selections) { return freeze({ kind: "OutputNode", selections: freeze(selections) }); }, cloneWithSelections(output, selections) { return freeze({ ...output, selections: output.selections ? freeze([...output.selections, ...selections]) : freeze(selections) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/query-node.js var QueryNode = freeze({ is(node) { return SelectQueryNode.is(node) || InsertQueryNode.is(node) || UpdateQueryNode.is(node) || DeleteQueryNode.is(node) || MergeQueryNode.is(node); }, cloneWithWhere(node, operation) { return freeze({ ...node, where: node.where ? WhereNode.cloneWithOperation(node.where, "And", operation) : WhereNode.create(operation) }); }, cloneWithJoin(node, join) { return freeze({ ...node, joins: node.joins ? freeze([...node.joins, join]) : freeze([join]) }); }, cloneWithReturning(node, selections) { return freeze({ ...node, returning: node.returning ? ReturningNode.cloneWithSelections(node.returning, selections) : ReturningNode.create(selections) }); }, cloneWithoutReturning(node) { return freeze({ ...node, returning: void 0 }); }, cloneWithoutWhere(node) { return freeze({ ...node, where: void 0 }); }, cloneWithExplain(node, format, options) { return freeze({ ...node, explain: ExplainNode.create(format, options?.toOperationNode()) }); }, cloneWithTop(node, top) { return freeze({ ...node, top }); }, cloneWithOutput(node, selections) { return freeze({ ...node, output: node.output ? OutputNode.cloneWithSelections(node.output, selections) : OutputNode.create(selections) }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/query-builder/no-result-error.js var NoResultError = class extends Error { /** * The operation node tree of the query that was executed. */ node; constructor(node) { super("no result"); this.node = node; } }; function isNoResultErrorConstructor(fn) { return Object.prototype.hasOwnProperty.call(fn, "prototype"); } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/top-node.js var TopNode = freeze({ is(node) { return node.kind === "TopNode"; }, create(expression, modifiers) { return freeze({ kind: "TopNode", expression, modifiers }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/parser/top-parser.js function parseTop(expression, modifiers) { if (!isNumber(expression) && !isBigInt(expression)) { throw new Error(`Invalid top expression: ${expression}`); } if (!isUndefined(modifiers) && !isTopModifiers(modifiers)) { throw new Error(`Invalid top modifiers: ${modifiers}`); } return TopNode.create(expression, modifiers); } function isTopModifiers(modifiers) { return modifiers === "percent" || modifiers === "with ties" || modifiers === "percent with ties"; } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/limit-node.js var LimitNode = freeze({ is(node) { return node.kind === "LimitNode"; }, create(limit) { return freeze({ kind: "LimitNode", limit }); } }); // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/util/random-string.js var CHARS = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ]; function randomString(length) { let chars = ""; for (let i = 0; i < length; ++i) { chars += randomChar(); } return chars; } function randomChar() { return CHARS[~~(Math.random() * CHARS.length)]; } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/util/query-id.js function createQueryId() { return new LazyQueryId(); } var LazyQueryId = class { #queryId; get queryId() { if (this.#queryId === void 0) { this.#queryId = randomString(8); } return this.#queryId; } }; // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/util/require-all-props.js function requireAllProps(obj) { return obj; } // ../../node_modules/.pnpm/kysely@0.27.4/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js var OperationNodeTransformer = class { nodeStack = []; #transformers = freeze({ AliasNode: this.transformAlias.bind(this), ColumnNode: this.transformColumn.bind(this), IdentifierNode: this.transformIdentifier.bind(this), SchemableIdentifierNode: this.transformSchemableIdentifier.bind(this), RawNode: this.transformRaw.bind(this), ReferenceNode: this.transformReference.bind(this), SelectQueryNode: this.transformSelectQuery.bind(this), SelectionNode: this.transformSelection.bind(this), TableNode: this.transformTable.bind(this), FromNode: this.transformFrom.bind(this), SelectAllNode: this.transformSelectAll.bind(this), AndNode: this.transformAnd.bind(this), OrNode: this.transformOr.bind(this), ValueNode: this.transformValue.bind(this), ValueListNode: this.transformValueList.bind(this), PrimitiveValueListNode: this.transformPrimitiveValueList.bind(this), ParensNode: this.transformParens.bind(this), JoinNode: this.transformJoin.bind(this), OperatorNode: this.transformOperator.bind(this), WhereNode: this.transformWhere.bind(this), InsertQueryNode: this.transformInsertQuery.bind(this), DeleteQueryNode: this.transformDeleteQuery.bind(this), ReturningNode: this.transformReturning.bind(this), CreateTableNode: this.transformCreateTable.bind(this), AddColumnNode: this.transformAddColumn.bind(this), ColumnDefinitionNode: this.transformColumnDefinition.bind(this), DropTableNode: this.transformDropTable.bind(this), DataTypeNode: this.transformDataType.bind(this), OrderByNode: this.transformOrderBy.bind(this), OrderByItemNode: this.transformOrderByItem.bind(this), GroupByNode: this.transformGroupBy.bind(this), GroupByItemNode: this.transformGroupByItem.bind(this), UpdateQueryNode: this.transformUpdateQuery.bind(this), ColumnUpdateNode: this.transformColumnUpdate.bind(this), LimitNode: this.transformLimit.bind(this), OffsetNode: this.transformOffset.bind(this), OnConflictNode: this.transformOnConflict.bind(this), OnDuplicateKeyNode: this.transformOnDuplicateKey.bind(this), CreateIndexNode: this.transformCreateIndex.bind(this), DropIndexNode: this.transformDropIndex.bind(this), ListNode: this.transformList.bind(this), PrimaryKeyConstraintNode: this.transformPrimaryKeyConstraint.bind(this), UniqueConstraintNode: this.transformUniqueConstraint.bind(this), ReferencesNode: this.transformReferences.bind(this), CheckConstraintNode: this.transformCheckConstraint.bind(this), WithNode: this.transformWith.bind(this), CommonTableExpressionNode: this.transformCommonTableExpression.bind(this), CommonTableExpressionNameNode: this.transformCommonTableExpressionName.bind(this), HavingNode: this.transformHaving.bind(this), CreateSchemaNode: this.transformCreateSchema.bind(this), DropSchemaNode: this.transformDropSchema.bind(this), AlterTableNode: this.transformAlterTable.bind(this), DropColumnNode: this.transformDropColumn.bind(this), RenameColumnNode: this.transformRenameColumn.bind(this), AlterColumnNode: this.transformAlterColumn.bind(this), ModifyColumnNode: this.transformModifyColumn.bind(this), AddConstraintNode: this.transformAddConstraint.bind(this), DropConstraintNode: this.transformDropConstraint.bind(this), ForeignKeyConstraintNode: this.transformForeignKeyConstraint.bind(this), CreateViewNode: this.transformCreateView.bind(this), DropViewNode: this.transformDropView.bind(this), GeneratedNode: this.transformGenerated.bind(this), DefaultValueNode: this.transformDefaultValue.bind(this), OnNode: this.transformOn.bind(this), ValuesNode: this.transformValues.bind(this), SelectModifierNode: this.transformSelectModifier.bind(this), CreateTypeNode: this.transformCreateType.bind(this), DropTypeNode: this.transformDropType.bind(this), ExplainNode: this.transformExplain.bind(this), DefaultInsertValueNode: this.transformDefaultInsertValue.bind(this), AggregateFunctionNode: this.transformAggregateFunction.bind(this), OverNode: this.transformOver.bind(this), PartitionByNode: this.transformPartitionBy.bind(this), PartitionByItemNode: this.transformPartitionByItem.bind(this), SetOperationNode: this.transformSetOperation.bind(this), BinaryOperationNode: this.transformBinaryOperation.bind(this), UnaryOperationNode: this.transformUnaryOperation.bind(this), UsingNode: this.transformUsing.bind(this), FunctionNode: this.transformFunction.bind(this), CaseNode: this.transformCase.bind(this), WhenNode: this.transformWhen.bind(this), JSONReferenceNode: this.transformJSONReference.bind(this), JSONPathNode: this.transformJSONPath.bind(this), JSONPathLegNode: this.transformJSONPathLeg.bind(this), JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this), TupleNode: this.transformTuple.bind(this), MergeQueryNode: this.transformMergeQuery.bind(this), MatchedNode: this.transformMatched.bind(this), AddIndexNode: this.transformAddIndex.bind(this), CastNode: this.transformCast.bind(this), FetchNode: this.transformFetch.bind(this), TopNode: this.transformTop.bind(this), OutputNode: this.transformOutput.bind(this) }); transformNode(node) { if (!node) { return node; } this.nodeStack.push(node); const out = this.transformNodeImpl(node); this.nodeStack.pop(); return freeze(out); } transformNodeImpl(node) { return this.#transformers[node.kind](node); } transformNodeList(list) { if (!list) { return list; } return freeze(list.map((node) => this.transformNode(node))); } transformSelectQuery(node) { return requireAllProps({ kind: "SelectQueryNode", from: this.transformNode(node.from), selections: this.transformNodeList(node.selections), distinctOn: this.transformNodeList(node.distinctOn), joins: this.transformNodeList(node.joins), groupBy: this.transformNode(node.groupBy), orderBy: this.transformNode(node.orderBy), where: this.transformNode(node.where), frontModifiers: this.transformNodeList(node.frontModifiers), endModifiers: this.transformNodeList(node.endModifiers), limit: this.transformNode(node.limit), offset: this.transformNode(node.offset), with: this.transformNode(node.with), having: this.transformNode(node.having), explain: this.transformNode(node.explain), setOperations: this.transformNodeList(node.setOperations), fetch: this.transformNode(node.fetch), top: this.transformNode(node.top) }); } transformSelection(node) { return requireAllProps({ kind: "SelectionNode", selection: this.transformNode(node.selection) }); } transformColumn(node) { return requireAllProps({ kind: "ColumnNode", column: this.transformNode(node.column) }); } transformAlias(node) { return requireAllProps({ kind: "AliasNode", node: this.transformNode(node.node), alias: this.transformNode(node.alias) }); } transformTable(node) { return requireAllProps({ kind: "TableNode", table: this.transformNode(node.table) }); } transformFrom(node) { return requireAllProps({ kind: "FromNode", froms: this.transformNodeList(node.froms) }); } transformReference(node) { return requireAllProps({ kind: "ReferenceNode", column: this.transformNode(node.column), table: this.transformNode(node.table) }); } transformAnd(node) { return requireAllProps({ kind: "AndNode", left: this.transformNode(node.left), right: this.transformNode(node.right) }); } transformOr(node) { return requireAllProps({ kind: "OrNode", left: this.transformNode(node.left), right: this.transformNode(node.right) }); } transformValueList(node) { return requireAllProps({ kind: "ValueListNode", values: this.transformNodeList(node.values) }); } transformParens(node) { return requireAllProps({ kind: "ParensNode", node: this.transformNode(node.node) }); } transformJoin(node) { return requireAllProps({ kind: "JoinNode", joinType: node.joinType, table: this.transformNode(node.table), on: this.transformNode(node.on) }); } transformRaw(node) { return requireAllProps({ kind: "RawNode", sqlFragments: freeze([...node.sqlFragments]), parameters: this.transformNodeList(node.parameters) }); } transformWhere(node) { return requireAllProps({ kind: "WhereNode", where: this.transformNode(node.where) }); } transformInsertQuery(node) { return requireAllProps({ kind: "InsertQueryNode", into: this.tr