UNPKG

@tldraw/tlschema

Version:

A tiny little drawing app (schema).

52 lines (51 loc) 1.1 kB
import { createMigrationIds, createRecordMigrationSequence, createRecordType } from "@tldraw/store"; import { T } from "@tldraw/validate"; import { idValidator } from "../misc/id-validator.mjs"; const pageIdValidator = idValidator("page"); const pageValidator = T.model( "page", T.object({ typeName: T.literal("page"), id: pageIdValidator, name: T.string, index: T.indexKey, meta: T.jsonValue }) ); const pageVersions = createMigrationIds("com.tldraw.page", { AddMeta: 1 }); const pageMigrations = createRecordMigrationSequence({ sequenceId: "com.tldraw.page", recordType: "page", sequence: [ { id: pageVersions.AddMeta, up: (record) => { record.meta = {}; } } ] }); const PageRecordType = createRecordType("page", { validator: pageValidator, scope: "document" }).withDefaultProperties(() => ({ meta: {} })); function isPageId(id) { return PageRecordType.isId(id); } export { PageRecordType, isPageId, pageIdValidator, pageMigrations, pageValidator, pageVersions }; //# sourceMappingURL=TLPage.mjs.map