{
  "version": 3,
  "sources": ["../../src/records/TLPointer.ts"],
  "sourcesContent": ["import { BaseRecord, createRecordType, defineMigrations, RecordId } from '@bigbluebutton/store'\nimport { JsonObject } from '@bigbluebutton/utils'\nimport { T } from '@bigbluebutton/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/** @internal */\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/** @internal */\nexport const pointerVersions = {\n\tAddMeta: 1,\n}\n\n/** @internal */\nexport const pointerMigrations = defineMigrations({\n\tcurrentVersion: pointerVersions.AddMeta,\n\tmigrators: {\n\t\t[pointerVersions.AddMeta]: {\n\t\t\tup: (record) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t\tmeta: {},\n\t\t\t\t}\n\t\t\t},\n\t\t\tdown: ({ meta: _, ...record }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...record,\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n})\n\n/** @public */\nexport const PointerRecordType = createRecordType<TLPointer>('pointer', {\n\tvalidator: pointerValidator,\n\tmigrations: pointerMigrations,\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,SAAqB,kBAAkB,wBAAkC;AAEzE,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;AAAA,EAC9B,SAAS;AACV;AAGO,MAAM,oBAAoB,iBAAiB;AAAA,EACjD,gBAAgB,gBAAgB;AAAA,EAChC,WAAW;AAAA,IACV,CAAC,gBAAgB,OAAO,GAAG;AAAA,MAC1B,IAAI,CAAC,WAAW;AACf,eAAO;AAAA,UACN,GAAG;AAAA,UACH,MAAM,CAAC;AAAA,QACR;AAAA,MACD;AAAA,MACA,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,OAAO,MAAM;AACjC,eAAO;AAAA,UACN,GAAG;AAAA,QACJ;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;AAGM,MAAM,oBAAoB,iBAA4B,WAAW;AAAA,EACvE,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,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": []
}
