@tldraw/tlschema
Version:
A tiny little drawing app (schema).
8 lines (7 loc) • 2.53 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/records/TLPointer.ts"],
"sourcesContent": ["import {\n\tBaseRecord,\n\tcreateMigrationIds,\n\tcreateRecordMigrationSequence,\n\tcreateRecordType,\n\tRecordId,\n} from '@tldraw/store'\nimport { JsonObject } from '@tldraw/utils'\nimport { T } from '@tldraw/validate'\nimport { idValidator } from '../misc/id-validator'\n\n/**\n * TLPointer\n *\n * @public\n */\nexport interface TLPointer extends BaseRecord<'pointer', TLPointerId> {\n\tx: number\n\ty: number\n\tlastActivityTimestamp: number\n\tmeta: JsonObject\n}\n\n/** @public */\nexport type TLPointerId = RecordId<TLPointer>\n\n/** @public */\nexport const pointerValidator: T.Validator<TLPointer> = T.model(\n\t'pointer',\n\tT.object({\n\t\ttypeName: T.literal('pointer'),\n\t\tid: idValidator<TLPointerId>('pointer'),\n\t\tx: T.number,\n\t\ty: T.number,\n\t\tlastActivityTimestamp: T.number,\n\t\tmeta: T.jsonValue as T.ObjectValidator<JsonObject>,\n\t})\n)\n\n/** @public */\nexport const pointerVersions = createMigrationIds('com.tldraw.pointer', {\n\tAddMeta: 1,\n})\n\n/** @public */\nexport const pointerMigrations = createRecordMigrationSequence({\n\tsequenceId: 'com.tldraw.pointer',\n\trecordType: 'pointer',\n\tsequence: [\n\t\t{\n\t\t\tid: pointerVersions.AddMeta,\n\t\t\tup: (record: any) => {\n\t\t\t\trecord.meta = {}\n\t\t\t},\n\t\t},\n\t],\n})\n\n/** @public */\nexport const PointerRecordType = createRecordType<TLPointer>('pointer', {\n\tvalidator: pointerValidator,\n\tscope: 'session',\n}).withDefaultProperties(\n\t(): Omit<TLPointer, 'id' | 'typeName'> => ({\n\t\tx: 0,\n\t\ty: 0,\n\t\tlastActivityTimestamp: 0,\n\t\tmeta: {},\n\t})\n)\n\n/** @public */\nexport const TLPOINTER_ID = PointerRecordType.createId('pointer')\n"],
"mappings": "AAAA;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,OAEM;AAEP,SAAS,SAAS;AAClB,SAAS,mBAAmB;AAkBrB,MAAM,mBAA2C,EAAE;AAAA,EACzD;AAAA,EACA,EAAE,OAAO;AAAA,IACR,UAAU,EAAE,QAAQ,SAAS;AAAA,IAC7B,IAAI,YAAyB,SAAS;AAAA,IACtC,GAAG,EAAE;AAAA,IACL,GAAG,EAAE;AAAA,IACL,uBAAuB,EAAE;AAAA,IACzB,MAAM,EAAE;AAAA,EACT,CAAC;AACF;AAGO,MAAM,kBAAkB,mBAAmB,sBAAsB;AAAA,EACvE,SAAS;AACV,CAAC;AAGM,MAAM,oBAAoB,8BAA8B;AAAA,EAC9D,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,IACT;AAAA,MACC,IAAI,gBAAgB;AAAA,MACpB,IAAI,CAAC,WAAgB;AACpB,eAAO,OAAO,CAAC;AAAA,MAChB;AAAA,IACD;AAAA,EACD;AACD,CAAC;AAGM,MAAM,oBAAoB,iBAA4B,WAAW;AAAA,EACvE,WAAW;AAAA,EACX,OAAO;AACR,CAAC,EAAE;AAAA,EACF,OAA2C;AAAA,IAC1C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,uBAAuB;AAAA,IACvB,MAAM,CAAC;AAAA,EACR;AACD;AAGO,MAAM,eAAe,kBAAkB,SAAS,SAAS;",
"names": []
}