UNPKG

@udus/notion-renderer

Version:
28 lines (27 loc) 908 B
import { Client, isFullPage } from "@notionhq/client"; import { notUndefined } from "../../../libs/utils/utils.js"; import { callAPIWithBackOff } from "../../utils/api.js"; import { convertResponseToPage } from "../index.js"; export const queryDatabase = async (client, args) => { const result = await callAPIWithBackOff(client.databases.query, args); return result; }; export const fetchDatabaseItems = async (client, args) => { const { ok, data } = await queryDatabase(client, args); if (!ok) { return { ok, data }; } const pages = (await Promise.all(data.results.map(async (page) => { if (!isFullPage(page)) return; const converted = convertResponseToPage(page, client); return converted; }))).filter(notUndefined); return { ok: true, data: { ...data, results: pages, }, }; };