@udus/notion-renderer
Version:

24 lines (23 loc) • 898 B
JavaScript
import { notUndefined } from "../../utils/utils.js";
import { fetchPageProperty } from "../properties/fetch.js";
export const convertResponseToPage = async (page, client) => {
const propertiesEntries = await Object.entries(page.properties).reduce(async (previousPromise, [key, value]) => {
const accumulator = await previousPromise;
const { ok, data } = await fetchPageProperty(client, {
page_id: page.id,
property_id: value.id,
});
// NOTE: wait 1sec to avoid 429 error
await new Promise((resolve) => setTimeout(resolve, 1000));
if (!ok) {
return accumulator;
}
accumulator.push([key, data]);
return accumulator;
}, Promise.resolve([]));
const properties = Object.fromEntries(propertiesEntries.filter(notUndefined));
return {
...page,
properties,
};
};