notion-page-tree
Version:
Recursively fetch nested Notion pages from the root page/database/block node.
52 lines (51 loc) • 2.03 kB
JavaScript
"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;