kopia lustrzana https://github.com/Tldraw/Tldraw
80 wiersze
2.0 KiB
TypeScript
80 wiersze
2.0 KiB
TypeScript
|
import { SerializedSchemaV1, upgradeSchema } from '../StoreSchema'
|
||
|
|
||
|
describe('upgradeSchema', () => {
|
||
|
it('should upgrade a schema from v1 to v2, assuming its working with tldraw data', () => {
|
||
|
const v1: SerializedSchemaV1 = {
|
||
|
schemaVersion: 1,
|
||
|
storeVersion: 4,
|
||
|
recordVersions: {
|
||
|
asset: {
|
||
|
version: 1,
|
||
|
subTypeKey: 'type',
|
||
|
subTypeVersions: { image: 2, video: 2, bookmark: 0 },
|
||
|
},
|
||
|
camera: { version: 1 },
|
||
|
document: { version: 2 },
|
||
|
instance: { version: 22 },
|
||
|
instance_page_state: { version: 5 },
|
||
|
page: { version: 1 },
|
||
|
shape: {
|
||
|
version: 3,
|
||
|
subTypeKey: 'type',
|
||
|
subTypeVersions: {
|
||
|
group: 0,
|
||
|
text: 1,
|
||
|
bookmark: 1,
|
||
|
draw: 1,
|
||
|
geo: 7,
|
||
|
note: 4,
|
||
|
line: 1,
|
||
|
frame: 0,
|
||
|
arrow: 1,
|
||
|
highlight: 0,
|
||
|
embed: 4,
|
||
|
image: 2,
|
||
|
video: 1,
|
||
|
},
|
||
|
},
|
||
|
instance_presence: { version: 5 },
|
||
|
pointer: { version: 1 },
|
||
|
},
|
||
|
}
|
||
|
|
||
|
expect(upgradeSchema(v1)).toMatchInlineSnapshot(`
|
||
|
{
|
||
|
"ok": true,
|
||
|
"value": {
|
||
|
"schemaVersion": 2,
|
||
|
"sequences": {
|
||
|
"com.tldraw.asset": 1,
|
||
|
"com.tldraw.asset.bookmark": 0,
|
||
|
"com.tldraw.asset.image": 2,
|
||
|
"com.tldraw.asset.video": 2,
|
||
|
"com.tldraw.camera": 1,
|
||
|
"com.tldraw.document": 2,
|
||
|
"com.tldraw.instance": 22,
|
||
|
"com.tldraw.instance_page_state": 5,
|
||
|
"com.tldraw.instance_presence": 5,
|
||
|
"com.tldraw.page": 1,
|
||
|
"com.tldraw.pointer": 1,
|
||
|
"com.tldraw.shape": 3,
|
||
|
"com.tldraw.shape.arrow": 1,
|
||
|
"com.tldraw.shape.bookmark": 1,
|
||
|
"com.tldraw.shape.draw": 1,
|
||
|
"com.tldraw.shape.embed": 4,
|
||
|
"com.tldraw.shape.frame": 0,
|
||
|
"com.tldraw.shape.geo": 7,
|
||
|
"com.tldraw.shape.group": 0,
|
||
|
"com.tldraw.shape.highlight": 0,
|
||
|
"com.tldraw.shape.image": 2,
|
||
|
"com.tldraw.shape.line": 1,
|
||
|
"com.tldraw.shape.note": 4,
|
||
|
"com.tldraw.shape.text": 1,
|
||
|
"com.tldraw.shape.video": 1,
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
`)
|
||
|
})
|
||
|
})
|