@convex-dev/prosemirror-sync
Version:
Sync ProseMirror documents for Tiptap using this Convex component.
20 lines (17 loc) • 538 B
text/typescript
import { defineSchema, defineTable } from "convex/server";
import { v } from "convex/values";
export const vClientId = v.union(v.string(), v.number());
export default defineSchema({
snapshots: defineTable({
id: v.string(),
version: v.number(),
content: v.string(),
}).index("id_version", ["id", "version"]),
deltas: defineTable({
id: v.string(),
// The version of the last step.
version: v.number(),
clientId: vClientId,
steps: v.array(v.string()),
}).index("id_version", ["id", "version"]),
});