sveltekit-notion-blog
Version:
A plug and play library for setting up blogs in subdirectory or main directory in Sveltekit projects using Notion as CMS.
20 lines (19 loc) • 1.26 kB
TypeScript
import type { BlogClient } from "..";
import type { BlockObjectResponse, FAQ, NumberedListItemBlockObjectResponse, PageObjectResponse, UserObjectResponse } from "../types";
import { Result } from 'neverthrow';
type ErrorResult = {
code: number;
message: string;
};
export declare const getDatabaseById: (blogClient: BlogClient) => Promise<Result<PageObjectResponse[], ErrorResult>>;
export declare const getBlogSlugs: (blogClient: BlogClient) => Promise<Result<string[], ErrorResult>>;
export declare const getPageBySlug: (blogClient: BlogClient, slug: string) => Promise<Result<PageObjectResponse[], ErrorResult>>;
export declare const getBlocks: (blogClient: BlogClient, blockId: string) => Promise<Result<BlockObjectResponse[], ErrorResult>>;
export declare const getNotionUser: (blogClient: BlogClient, userId: string) => Promise<Result<UserObjectResponse, ErrorResult>>;
export declare const getFAQs: (blogClent: BlogClient, id: string) => Promise<Result<FAQ[], ErrorResult>>;
export type CustomBlockObjectResponse = BlockObjectResponse | {
type: "grouped_numbered_list";
items: NumberedListItemBlockObjectResponse[];
};
export declare const groupNumberedListItems: (blocks: BlockObjectResponse[]) => CustomBlockObjectResponse[];
export {};