51 lines
873 B
TypeScript
51 lines
873 B
TypeScript
export const createTextNode = (text: string) => ({
|
|
detail: 0,
|
|
format: 0,
|
|
mode: "normal",
|
|
style: "",
|
|
text,
|
|
type: "extended-text",
|
|
version: 1,
|
|
});
|
|
|
|
export const createHeadingNode = (text: string, level: string) => ({
|
|
children: [createTextNode(text)],
|
|
direction: "ltr",
|
|
format: "",
|
|
indent: 0,
|
|
type: "extended-heading",
|
|
version: 1,
|
|
tag: level,
|
|
});
|
|
|
|
export interface ImageInput {
|
|
src: string;
|
|
caption: string;
|
|
}
|
|
|
|
export const createImageNode = (image: ImageInput) => {
|
|
return {
|
|
type: "image",
|
|
version: 1,
|
|
cardWidth: "wide",
|
|
...image,
|
|
};
|
|
};
|
|
|
|
export interface FileInput {
|
|
src: string;
|
|
name: string;
|
|
size: number;
|
|
}
|
|
|
|
export const createFileNode = (file: FileInput) => {
|
|
return {
|
|
type: "file",
|
|
src: file.src,
|
|
fileTitle: file.name,
|
|
fileName: file.name,
|
|
fileCaption: "",
|
|
fileSize: file.size,
|
|
};
|
|
};
|