UNPKG

@convex-dev/aggregate

Version:

[![npm version](https://badge.fury.io/js/@convex-dev%2Faggregate.svg?)](https://badge.fury.io/js/@convex-dev%2Faggregate)

32 lines 800 B
import { defineSchema, defineTable } from "convex/server"; import { v } from "convex/values"; const item = v.object({ // key, usually an index key. k: v.any(), // value, usually an id. v: v.any(), // summand, to be aggregated by summing. s: v.number(), }); export const itemValidator = v.object({ k: v.any(), v: v.any(), s: v.number(), }); export const aggregate = v.object({ count: v.number(), sum: v.number(), }); export default defineSchema({ // Singleton. btree: defineTable({ root: v.id("btreeNode"), maxNodeSize: v.number(), }), btreeNode: defineTable({ items: v.array(item), subtrees: v.array(v.id("btreeNode")), aggregate: v.optional(aggregate), }), }); //# sourceMappingURL=schema.js.map