API > @blocksuite/store > defineBlockSchema
Function: defineBlockSchema ​
defineBlockSchema<
Flavour,Role,Props,Ext,Metadata,Model,Transformer>(options):object
Type parameters ​
| Parameter |
|---|
Flavour extends string |
Role extends "root" | "hub" | "content" |
Props extends object |
Ext extends Record< string, unknown > |
Metadata extends Readonly< {children: string[]; parent: string[]; role: Role; version: number;} > |
Model extends BaseBlockModel< Props > |
Transformer extends BaseBlockTransformer< Props > |
Parameters ​
| Parameter | Type |
|---|---|
options | object |
options.flavour | Flavour |
options.metadata | Metadata |
options.onUpgrade? | function |
options.props? | function |
options.toModel? | function |
options.transformer? | function |
Returns ​
model ​
model: {
flavour:Flavour;props:PropsGetter<Props>;role:Role;} &Metadata
model.flavour​flavour:
Flavour
model.props​props:
PropsGetter<Props>
model.role​role:
Role
onUpgrade ​
optionalonUpgrade:function
Parameters ​
| Parameter | Type |
|---|---|
data | Props |
previousVersion | number |
latestVersion | number |
Returns ​
void
transformer ​
optionaltransformer:function
Returns ​
Transformer
version ​
version:
number
Defined In ​
packages/store/src/schema/base.ts:76