import { IBlock } from "./Blocks/Block.interface" import { IPage } from "./Page.interface" export class Page implements IPage{ readonly raw:any readonly object = 'page' readonly createdTime:Date readonly lastEditedTime:Date readonly createdBy: string readonly lastEditedBy: string readonly cover: any readonly icon: any readonly parent: any readonly archived: boolean readonly properties:any readonly url: string readonly children: IBlock[] constructor(pageJson:any) { this.raw = pageJson this.createdTime = pageJson['created_time'] ? new Date(pageJson['created_time']) : new Date(0) this.lastEditedTime = pageJson['last_edited_time'] ? new Date(pageJson['last_edited_time']) : new Date(0) this.createdBy = pageJson['created_by'] ? pageJson['created_by'].id : '' this.lastEditedBy = pageJson['last_edited_by'] ? pageJson['last_edited_by'].id : '' this.cover = pageJson['cover'] this.icon = pageJson['icon'] this.parent = pageJson['parent'] this.archived = pageJson['archived'] this.properties = pageJson['properties'] this.url = pageJson['url'] this.children = pageJson['children'] } toHTML():string { return this.children.map((blockItem:IBlock) => { return blockItem.toHTML() }).join('') } }