UNPKG

@tldraw/tlschema

Version:

A tiny little drawing app (schema).

61 lines (60 loc) 1.67 kB
import { createMigrationIds, createMigrationSequence } from "@tldraw/store"; import { objectMapEntries } from "@tldraw/utils"; const Versions = createMigrationIds("com.tldraw.store", { RemoveCodeAndIconShapeTypes: 1, AddInstancePresenceType: 2, RemoveTLUserAndPresenceAndAddPointer: 3, RemoveUserDocument: 4 }); const storeMigrations = createMigrationSequence({ sequenceId: "com.tldraw.store", retroactive: false, sequence: [ { id: Versions.RemoveCodeAndIconShapeTypes, scope: "store", up: (store) => { for (const [id, record] of objectMapEntries(store)) { if (record.typeName === "shape" && (record.type === "icon" || record.type === "code")) { delete store[id]; } } } }, { id: Versions.AddInstancePresenceType, scope: "store", up(_store) { } }, { // remove user and presence records and add pointer records id: Versions.RemoveTLUserAndPresenceAndAddPointer, scope: "store", up: (store) => { for (const [id, record] of objectMapEntries(store)) { if (record.typeName.match(/^(user|user_presence)$/)) { delete store[id]; } } } }, { // remove user document records id: Versions.RemoveUserDocument, scope: "store", up: (store) => { for (const [id, record] of objectMapEntries(store)) { if (record.typeName.match("user_document")) { delete store[id]; } } } } ] }); export { storeMigrations, Versions as storeVersions }; //# sourceMappingURL=store-migrations.mjs.map