{
  "version": 3,
  "sources": ["../src/store-migrations.ts"],
  "sourcesContent": ["import { defineMigrations, SerializedStore } from '@bigbluebutton/store'\nimport { TLRecord } from './records/TLRecord'\n\nconst Versions = {\n\tRemoveCodeAndIconShapeTypes: 1,\n\tAddInstancePresenceType: 2,\n\tRemoveTLUserAndPresenceAndAddPointer: 3,\n\tRemoveUserDocument: 4,\n} as const\n\nexport { Versions as storeVersions }\n\n/** @public */\nexport const storeMigrations = defineMigrations({\n\tcurrentVersion: Versions.RemoveUserDocument,\n\tmigrators: {\n\t\t[Versions.RemoveCodeAndIconShapeTypes]: {\n\t\t\tup: (store: SerializedStore<TLRecord>) => {\n\t\t\t\treturn Object.fromEntries(\n\t\t\t\t\tObject.entries(store).filter(\n\t\t\t\t\t\t([_, v]) => v.typeName !== 'shape' || (v.type !== 'icon' && v.type !== 'code')\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t},\n\t\t\tdown: (store: SerializedStore<TLRecord>) => {\n\t\t\t\t// noop\n\t\t\t\treturn store\n\t\t\t},\n\t\t},\n\t\t[Versions.AddInstancePresenceType]: {\n\t\t\tup: (store: SerializedStore<TLRecord>) => {\n\t\t\t\treturn store\n\t\t\t},\n\t\t\tdown: (store: SerializedStore<TLRecord>) => {\n\t\t\t\treturn Object.fromEntries(\n\t\t\t\t\tObject.entries(store).filter(([_, v]) => v.typeName !== 'instance_presence')\n\t\t\t\t)\n\t\t\t},\n\t\t},\n\t\t[Versions.RemoveTLUserAndPresenceAndAddPointer]: {\n\t\t\tup: (store: SerializedStore<TLRecord>) => {\n\t\t\t\treturn Object.fromEntries(\n\t\t\t\t\tObject.entries(store).filter(([_, v]) => !v.typeName.match(/^(user|user_presence)$/))\n\t\t\t\t)\n\t\t\t},\n\t\t\tdown: (store: SerializedStore<TLRecord>) => {\n\t\t\t\treturn Object.fromEntries(\n\t\t\t\t\tObject.entries(store).filter(([_, v]) => v.typeName !== 'pointer')\n\t\t\t\t)\n\t\t\t},\n\t\t},\n\t\t[Versions.RemoveUserDocument]: {\n\t\t\tup: (store: SerializedStore<TLRecord>) => {\n\t\t\t\treturn Object.fromEntries(\n\t\t\t\t\tObject.entries(store).filter(([_, v]) => !v.typeName.match('user_document'))\n\t\t\t\t)\n\t\t\t},\n\t\t\tdown: (store: SerializedStore<TLRecord>) => {\n\t\t\t\treturn store\n\t\t\t},\n\t\t},\n\t},\n})\n"],
  "mappings": "AAAA,SAAS,wBAAyC;AAGlD,MAAM,WAAW;AAAA,EAChB,6BAA6B;AAAA,EAC7B,yBAAyB;AAAA,EACzB,sCAAsC;AAAA,EACtC,oBAAoB;AACrB;AAKO,MAAM,kBAAkB,iBAAiB;AAAA,EAC/C,gBAAgB,SAAS;AAAA,EACzB,WAAW;AAAA,IACV,CAAC,SAAS,2BAA2B,GAAG;AAAA,MACvC,IAAI,CAAC,UAAqC;AACzC,eAAO,OAAO;AAAA,UACb,OAAO,QAAQ,KAAK,EAAE;AAAA,YACrB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,WAAY,EAAE,SAAS,UAAU,EAAE,SAAS;AAAA,UACxE;AAAA,QACD;AAAA,MACD;AAAA,MACA,MAAM,CAAC,UAAqC;AAE3C,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA,CAAC,SAAS,uBAAuB,GAAG;AAAA,MACnC,IAAI,CAAC,UAAqC;AACzC,eAAO;AAAA,MACR;AAAA,MACA,MAAM,CAAC,UAAqC;AAC3C,eAAO,OAAO;AAAA,UACb,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,mBAAmB;AAAA,QAC5E;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAC,SAAS,oCAAoC,GAAG;AAAA,MAChD,IAAI,CAAC,UAAqC;AACzC,eAAO,OAAO;AAAA,UACb,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,wBAAwB,CAAC;AAAA,QACrF;AAAA,MACD;AAAA,MACA,MAAM,CAAC,UAAqC;AAC3C,eAAO,OAAO;AAAA,UACb,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,SAAS;AAAA,QAClE;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAC,SAAS,kBAAkB,GAAG;AAAA,MAC9B,IAAI,CAAC,UAAqC;AACzC,eAAO,OAAO;AAAA,UACb,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,eAAe,CAAC;AAAA,QAC5E;AAAA,MACD;AAAA,MACA,MAAM,CAAC,UAAqC;AAC3C,eAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACD,CAAC;",
  "names": []
}
