mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-01 06:10:16 +08:00
1858947e0c
Flat block data.
A new block type to flatten the block data
```typescript
// For developers
type Model = {
blocks: Record<string, {
flavour: string;
cells: Record<string, {
rowId: string;
colId: string;
text: Text;
}>;
cols: Record<string, {
align: string;
}>
rows: Record<string, {
backgroundColor: string;
}>
}>
}
// How it's saved in yjs
const yData = {
blocks: {
'blockId1': {
flavour: 'affine:table',
'prop:rows:row1:backgroundColor': 'white',
'prop:cols:col1:align': 'left',
'prop:cells:cell1:rowId': 'row1',
'prop:cells:cell1:colId': 'col1',
'prop:cells:cell1:text': YText,
prop:children: []
},
}
}
```
9 lines
269 B
TypeScript
9 lines
269 B
TypeScript
export function isPureObject(value: unknown): value is object {
|
|
return (
|
|
value !== null &&
|
|
typeof value === 'object' &&
|
|
Object.prototype.toString.call(value) === '[object Object]' &&
|
|
[Object, undefined, null].some(x => x === value.constructor)
|
|
);
|
|
}
|