kitcn
Version:
kitcn - React Query integration and CLI tools for Convex
37 lines (35 loc) • 1.29 kB
JavaScript
import { n as TableAggregate$1, r as aggregateStorageTables, t as DirectAggregate$1 } from "../runtime-i6t-HoZn.js";
//#region src/aggregate/index.ts
const wrapTriggerFactory = (methodName, factory) => ((...args) => {
if (args.length === 0) return factory();
if (args.length === 2) {
const [change, ctx] = args;
return factory()(ctx, change);
}
throw new Error(`Invalid aggregate.${methodName} invocation. Use ${methodName}() or ${methodName}(change, ctx).`);
});
var TableAggregate = class extends TableAggregate$1 {
constructor(...args) {
super(...args);
const triggerFactory = super.trigger.bind(this);
const idempotentFactory = super.idempotentTrigger.bind(this);
Object.defineProperty(this, "trigger", {
configurable: true,
enumerable: false,
value: wrapTriggerFactory("trigger", triggerFactory),
writable: true
});
Object.defineProperty(this, "idempotentTrigger", {
configurable: true,
enumerable: false,
value: wrapTriggerFactory("idempotentTrigger", idempotentFactory),
writable: true
});
}
};
var DirectAggregate = class extends DirectAggregate$1 {};
function createDirectAggregate(config) {
return new DirectAggregate(config);
}
//#endregion
export { DirectAggregate, TableAggregate, aggregateStorageTables, createDirectAggregate };