UNPKG

notion-page-tree

Version:

Recursively fetch nested Notion pages from the root page/database/block node.

52 lines (51 loc) 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractPlainTextFromPageProperty = void 0; var flattenRichText = function (richTextItemResponse) { return richTextItemResponse.reduce(function (flatText, richTextObject) { return "".concat(flatText, " ").concat(richTextObject.plain_text, " "); }, ''); }; var extractPlainTextFromPageProperty = function (property) { var _a, _b, _c, _d; switch (property.type) { case 'checkbox': return ''; case 'created_by': return ''; case 'created_time': return ''; case 'date': return ''; case 'email': return ((_a = property.email) === null || _a === void 0 ? void 0 : _a.toString()) || ''; case 'files': return property.files.reduce(function (acc, file) { return acc + file.name; }, ''); case 'formula': return ''; case 'last_edited_by': return ''; case 'last_edited_time': return property.last_edited_time; case 'multi_select': return property.multi_select.reduce(function (acc, select) { return acc + select.name; }, ''); case 'number': return ((_b = property.number) === null || _b === void 0 ? void 0 : _b.toString()) || ''; case 'people': return ''; case 'phone_number': return ((_c = property.phone_number) === null || _c === void 0 ? void 0 : _c.toString()) || ''; case 'relation': return ''; case 'rich_text': return flattenRichText(property.rich_text); case 'rollup': return ''; case 'select': return ((_d = property.select) === null || _d === void 0 ? void 0 : _d.name) || ''; case 'title': return flattenRichText(property.title); case 'url': return ''; } return ''; }; exports.extractPlainTextFromPageProperty = extractPlainTextFromPageProperty;