@nx-ddd/notion 19.2.0 → 19.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"nx-ddd-notion.mjs","sources":["../tmp-esm2022/utils.js","../tmp-esm2022/decorators/decorators.js","../tmp-esm2022/converter/converter.js","../tmp-esm2022/notion/notion.service.js","../tmp-esm2022/query/query.js","../tmp-esm2022/query-builder/query-builder.js","../tmp-esm2022/repository/repository.js","../tmp-esm2022/nx-ddd-notion.js"],"sourcesContent":["import dayjs from \"dayjs\";\n// | NotionCheckbox;\nexport class NotionUtils {\n static toNotionValue(value, annotation) {\n switch (annotation.type) {\n case 'title': return this.toNotionTitle(value);\n case 'status': return this.toNotionStatus(value);\n case 'relation':\n if (annotation.options.multi) {\n return this.toNotionRelationMulti(value);\n }\n else {\n return this.toNotionRelation(value);\n }\n case 'formula': return this.toNotionFormula(value);\n case 'rich_text': return this.toNotionRichText(value);\n case 'rollup': return this.toNotionRollup(value);\n case 'url': return this.toNotionUrl(value);\n case 'date': return this.toNotionDate(value);\n case 'select': return this.toNotionSelect(value);\n case 'number': return this.toNotionNumber(value);\n case 'phone_number': return this.toNotionPhoneNumber(value);\n case 'email': return this.toNotionEmail(value);\n }\n }\n static toNotionTitle(value) {\n return value ? { type: 'title', title: [{ text: { content: value } }] } : undefined;\n }\n static toNotionStatus(value) {\n return value ? { type: 'status', status: { name: value } } : undefined;\n }\n static toNotionRelationMulti(ids) {\n return Array.isArray(ids) ? { type: 'relation', relation: (ids).map(id => ({ id })) } : undefined;\n }\n static toNotionRelation(value) {\n return value ? this.toNotionRelationMulti([value]) : undefined;\n }\n static toNotionRichText(text) {\n return text ? { type: 'rich_text', rich_text: [{ text: { content: text } }] } : undefined;\n }\n static toNotionFormula(value) {\n return;\n }\n static toNotionRollup(value) {\n return;\n }\n static toNotionUrl(value) {\n return value ? { type: 'url', url: value } : undefined;\n }\n static toNotionDate(value) {\n // TODO(nontangent): endも考慮する。\n return value ? { type: 'date', date: { start: dayjs(value).format() } } : undefined;\n }\n static toNotionSelect(value) {\n return value ? { type: 'select', select: { name: value } } : undefined;\n }\n static toNotionPhoneNumber(value) {\n return value ? { type: 'phone_number', phone_number: value } : undefined;\n }\n static toNotionNumber(value) {\n return value ? { type: 'number', number: value } : undefined;\n }\n static toNotionEmail(value) {\n return value ? { type: 'email', email: value } : undefined;\n }\n static fromNotionValue(value, annotation) {\n switch (value.type) {\n case 'title': return this.fromNotionTitle(value);\n case 'formula': return this.fromNotionFormula(value);\n case 'relation':\n if (annotation.options.multi) {\n return this.fromNotionRelationMulti(value);\n }\n else {\n return this.fromNotionRelation(value);\n }\n case 'rich_text': return this.fromNotionRichText(value);\n case 'status': return this.fromNotionStatus(value);\n case 'url': return this.fromNotionUrl(value);\n case 'rollup':\n if (annotation.options.multi) {\n return this.fromNotionRollupMulti(value);\n }\n else {\n return this.fromNotionRollup(value);\n }\n case 'created_time': return this.fromNotionCreatedTime(value);\n case 'last_edited_time': return this.fromNotionLastEditedTime(value);\n case 'date': return this.fromNotionDate(value);\n case 'number': return this.fromNotionNumber(value);\n case 'select': return this.fromNotionSelect(value);\n case 'phone_number': return this.fromNotionPhoneNumber(value);\n case 'email': return this.fromNotionEmail(value);\n case 'unique_id': return this.fromNotionUniqueID(value);\n }\n }\n static fromNotionTitle(notionTitle) {\n return notionTitle?.title?.[0]?.text?.content ?? '';\n }\n static fromNotionUrl(notionUrl) {\n return notionUrl.url;\n }\n static fromNotionRichText(notionRichText) {\n return notionRichText.rich_text.map(({ plain_text }) => plain_text).join('') || null;\n }\n static fromNotionRelation(notionRelation) {\n return this.fromNotionRelationMulti(notionRelation)?.[0] ?? null;\n }\n static fromNotionRelationMulti(notionRelation) {\n return notionRelation.relation.map(r => r.id);\n }\n static fromNotionStatus(notionStatus) {\n return notionStatus.status?.name ?? null;\n }\n static fromNotionFormula(notionFormula) {\n switch (notionFormula.formula?.type) {\n case 'string': return notionFormula.formula.string;\n case 'number': return notionFormula.formula.number;\n case 'date': return this.fromNotionDate(notionFormula.formula);\n }\n }\n static fromNotionRollup(notionRollup) {\n if (notionRollup.rollup.type === 'number') {\n return this.fromNotionNumber(notionRollup.rollup);\n }\n return this.fromNotionRollupMulti(notionRollup)?.[0] ?? null;\n }\n static fromNotionRollupMulti(notionRollup) {\n if (notionRollup.rollup.type === 'number') {\n return [];\n }\n return (notionRollup.rollup.array ?? []).map(notionValue => {\n if (notionValue.type === 'rich_text') {\n return (notionValue.rich_text ?? []).map(text => text.plain_text).join();\n }\n else if (notionValue.type === 'number') {\n return notionValue.number ?? null;\n }\n return [];\n });\n }\n static fromNotionCreatedTime(notionCreatedTime) {\n return dayjs(notionCreatedTime.created_time);\n }\n static fromNotionLastEditedTime(notionLastEditedTime) {\n return dayjs(notionLastEditedTime.last_edited_time);\n }\n static fromNotionDate(notionDate) {\n return notionDate.date?.start ? dayjs(notionDate.date?.start).toDate() : null;\n }\n static fromNotionNumber(notionNumber) {\n return notionNumber.number ?? null;\n }\n static fromNotionSelect(notionSelect) {\n return notionSelect.select?.name ?? null;\n }\n static fromNotionPhoneNumber(notionPhoneNumber) {\n return notionPhoneNumber.phone_number ?? null;\n }\n static fromNotionEmail(notionEmail) {\n return notionEmail.email ?? null;\n }\n static fromNotionUniqueID(value) {\n return value.unique_id.number;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL25vdGlvbi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQWlFeEIscUJBQXFCO0FBRXZCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBVSxFQUFFLFVBQTRCO1FBQzNELFFBQU8sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELEtBQUssVUFBVTtnQkFDYixJQUFLLFVBQVUsQ0FBQyxPQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3RDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLENBQUM7WUFDSCxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRCxLQUFLLFdBQVcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLEtBQUssTUFBTSxDQUFDLENBQUMs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O1xuaW1wb3J0IHsgTm90aW9uQW5ub3RhdGlvbiB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcblxudHlwZSBOb3Rpb25UZXh0ID0ge1xuICB0eXBlOiAndGV4dCcsIFxuICB0ZXh0OiB7IGNvbnRlbnQ6IHN0cmluZyB9LFxuICBwbGFpbl90ZXh0OiBzdHJpbmcsXG59XG5cbnR5cGUgTm90aW9uQXJyYXkgPSB7XG4gIHR5cGU6ICdhcnJheScsXG4gIGFycmF5OiAoTm90aW9uUmljaFRleHRbXSB8IE5vdGlvbk51bWJlcltdKSxcbiAgZnVuY3Rpb246ICdzaG93X29yaWdpbmFsJ1xufVxuXG5leHBvcnQgdHlwZSBOb3Rpb25UaXRsZSA9IHt0eXBlOiAndGl0bGUnLCB0aXRsZToge3RleHQ6IHtjb250ZW50OiBzdHJpbmd9fVtdfTtcbmV4cG9ydCB0eXBlIE5vdGlvblVybCA9IHtpZDogc3RyaW5nLCB0eXBlOiAndXJsJywgdXJsOiBzdHJpbmcgfCBudWxsfTtcbmV4cG9ydCB0eXBlIE5vdGlvblJpY2hUZXh0ID0ge1xuICBpZDogc3RyaW5nLCBcbiAgdHlwZTogJ3JpY2hfdGV4dCcsIFxuICByaWNoX3RleHQ6IE5vdGlvblRleHRbXVxufTtcbmV4cG9ydCB0eXBlIE5vdGlvbk51bWJlciA9IHtpZDogc3RyaW5nLCB0eXBlOiAnbnVtYmVyJywgbnVtYmVyOiBudW1iZXJ9O1xuZXhwb3J0IHR5cGUgTm90aW9uUmVsYXRpb24gPSB7aWQ6IHN0cmluZywgdHlwZTogJ3JlbGF0aW9uJywgcmVsYXRpb246IHtpZDogc3RyaW5nfVtdLCBoYXNfbW9yZTogYm9vbGVhbn07XG5leHBvcnQgdHlwZSBOb3Rpb25TdGF0dXMgPSB7aWQ6IHN0cmluZywgdHlwZTogJ3N0YXR1cycsIHN0YXR1czoge2lkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgY29sb3I6IHN0cmluZ319O1xuZXhwb3J0IHR5cGUgTm90aW9uRm9ybXVsYSA9IHtcbiAgaWQ6IHN0cmluZyxcbiAgdHlwZTogJ2Zvcm11bGEnLFxuICBmb3JtdWxhOiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgc3RyaW5nOiBzdHJpbmdcbiAgfSB8IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBudW1iZXI6IG51bWJlclxuICB9IHwge1xuICAgIHR5cGU6ICdkYXRlJyxcbiAgICBkYXRlOiB7XG4gICAgICBzdGFydDogc3RyaW5nLFxuICAgICAgZW5kOiBzdHJpbmcsXG4gICAgICB0aW1lX3pvbmU6IG51bGwsXG4gICAgfVxuICB9XG59O1xuZXhwb3J0IHR5cGUgTm90aW9uUm9sbHVwID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdyb2xsdXAnLCByb2xsdXA6IE5vdGlvbkFycmF5IHwgTm90aW9uTnVtYmVyfTtcblxuZXhwb3J0IHR5cGUgTm90aW9uQ3JlYXRlZFRpbWUgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2NyZWF0ZWRfdGltZScsIGNyZWF0ZWRfdGltZTogc3RyaW5nfTtcbmV4cG9ydCB0eXBlIE5vdGlvbkxhc3RFZGl0ZWRUaW1lID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdsYXN0X2VkaXRlZF90aW1lJywgbGFzdF9lZGl0ZWRfdGltZTogc3RyaW5nfTtcbmV4cG9ydCB0eXBlIE5vdGlvbkRhdGUgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2RhdGUnLCBkYXRlOiBhbnkgfTtcbmV4cG9ydCB0eXBlIE5vdGlvblNlbGVjdCA9IHtpZDogc3RyaW5nLCB0eXBlOiAnc2VsZWN0Jywgc2VsZWN0OiB7aWQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBjb2xvcjogc3RyaW5nfX07XG5cbmV4cG9ydCB0eXBlIE5vdGlvblBob25lTnVtYmVyID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdwaG9uZV9udW1iZXInLCBwaG9uZV9udW1iZXI6IHN0cmluZ307XG5leHBvcnQgdHlwZSBOb3Rpb25FbWFpbCA9IHtpZDogc3RyaW5nLCB0eXBlOiAnZW1haWwnLCBlbWFpbDogc3RyaW5nfTtcbmV4cG9ydCB0eXBlIE5vdGlvbklEID0ge2lkOiBzdHJpbmcsIHR5cGU6ICd1bmlxdWVfaWQnLCB1bmlxdWVfaWQ6IHtwcmVmaXg6IHN0cmluZyB8IG51bGwsIG51bWJlcjogbnVtYmVyfX07XG4vLyBleHBvcnQgdHlwZSBOb3Rpb25DaGVja2JveCA9IHtpZDogc3RyaW5nLCB0eXBlOiAnY2hlY2tib3gnLCBjaGVja2JveDogYm9vbGVhbn07XG4vLyBleHBvcnQgdHlwZSBOb3Rpb25DcmVhdGVkQnkgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2NyZWF0ZWRfYnknLCBjcmVhdGVkX2J5OiB7aWQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBhdmF0YXJfdXJsOiBzdHJpbmcsIHR5cGU6IHN0cmluZ319O1xuLy8gZXhwb3J0IHR5cGUgTm90aW9uRmlsZXMgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2ZpbGVzJywgZmlsZXM6IHtuYW1lOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgZmlsZV9pZDogc3RyaW5nLCBzaXplOiBudW1iZXJ9W119O1xuLy8gZXhwb3J0IHR5cGUgTm90aW9uTGFzdEVkaXRlZEJ5ID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdsYXN0X2VkaXRlZF9ieScsIGxhc3RfZWRpdGVkX2J5OiB7aWQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBhdmF0YXJfdXJsOiBzdHJpbmcsIHR5cGU6IHN0cmluZ319O1xuLy8gZXhwb3J0IHR5cGUgTm90aW9uTXVsdGlTZWxlY3QgPSB7aWQ6IHN0cmluZywgdHlwZTogJ211bHRpX3NlbGVjdCcsIG11bHRpX3NlbGVjdDoge2lkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgY29sb3I6IHN0cmluZ31bXX07XG4vLyBleHBvcnQgdHlwZSBOb3Rpb25QZW9wbGUgPSB7aWQ6IHN0cmluZywgdHlwZTogJ3Blb3BsZScsIHBlb3BsZToge2lkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgYXZhdGFyX3VybDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9W119O1xuXG5cbmV4cG9ydCB0eXBlIE5vdGlvblZhbHVlID0gTm90aW9uVGl0bGUgfCBOb3Rpb25VcmwgfCBOb3Rpb25SaWNoVGV4dCB8IE5vdGlvbk51bWJlclxuICB8IE5vdGlvblJlbGF0aW9uIHwgTm90aW9uU3RhdHVzIHwgTm90aW9uRm9ybXVsYSB8IE5vdGlvblJvbGx1cCBcbiAgfCBOb3Rpb25DcmVhdGVkVGltZSB8IE5vdGlvbkxhc3RFZGl0ZWRUaW1lIHwgTm90aW9uRGF0ZSB8IE5vdGlvblNlbGVjdFxuICB8IE5vdGlvblBob25lTnVtYmVyIHwgTm90aW9uRW1haWwgfCBOb3Rpb25JRDtcbiAgLy8gIHwgTm90aW9uQ2hlY2tib3g7XG5cbmV4cG9ydCBjbGFzcyBOb3Rpb25VdGlscyB7XG4gIHN0YXRpYyB0b05vdGlvblZhbHVlKHZhbHVlOiBhbnksIGFubm90YXRpb246IE5vdGlvbkFubm90YXRpb24pIHtcbiAgICBzd2l0Y2goYW5ub3RhdGlvbi50eXBlKSB7XG4gICAgICBjYXNlICd0aXRsZSc6IHJldHVybiB0aGlzLnRvTm90aW9uVGl0bGUodmFsdWUpO1xuICAgICAgY2FzZSAnc3RhdHVzJzogcmV0dXJuIHRoaXMudG9Ob3Rpb25TdGF0dXModmFsdWUpO1xuICAgICAgY2FzZSAncmVsYXRpb24nOlxuICAgICAgICBpZiAoKGFubm90YXRpb24ub3B0aW9ucyBhcyBhbnkpLm11bHRpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudG9Ob3Rpb25SZWxhdGlvbk11bHRpKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy50b05vdGlvblJlbGF0aW9uKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAnZm9ybXVsYSc6IHJldHVybiB0aGlzLnRvTm90aW9uRm9ybXVsYSh2YWx1ZSk7XG4gICAgICBjYXNlICdyaWNoX3RleHQnOiByZXR1cm4gdGhpcy50b05vdGlvblJpY2hUZXh0KHZhbHVlKTtcbiAgICAgIGNhc2UgJ3JvbGx1cCc6IHJldHVybiB0aGlzLnRvTm90aW9uUm9sbHVwKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3VybCc6IHJldHVybiB0aGlzLnRvTm90aW9uVXJsKHZhbHVlKTtcbiAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4gdGhpcy50b05vdGlvbkRhdGUodmFsdWUpO1xuICAgICAgY2FzZSAnc2VsZWN0JzogcmV0dXJuIHRoaXMudG9Ob3Rpb25TZWxlY3QodmFsdWUpO1xuICAgICAgY2FzZSAnbnVtYmVyJzogcmV0dXJuIHRoaXMudG9Ob3Rpb25OdW1iZXIodmFsdWUpO1xuICAgICAgY2FzZSAncGhvbmVfbnVtYmVyJzogcmV0dXJuIHRoaXMudG9Ob3Rpb25QaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICBjYXNlICdlbWFpbCc6IHJldHVybiB0aGlzLnRvTm90aW9uRW1haWwodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUgPyB7dHlwZTogJ3RpdGxlJywgdGl0bGU6IFt7dGV4dDoge2NvbnRlbnQ6IHZhbHVlfX1dfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblN0YXR1cyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICdzdGF0dXMnLCBzdGF0dXM6IHtuYW1lOiB2YWx1ZX19IDogdW5kZWZpbmVkOyBcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblJlbGF0aW9uTXVsdGkoaWRzOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGlkcykgPyB7dHlwZTogJ3JlbGF0aW9uJywgcmVsYXRpb246IChpZHMpLm1hcChpZCA9PiAoe2lkfSkpfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblJlbGF0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUgPyB0aGlzLnRvTm90aW9uUmVsYXRpb25NdWx0aShbdmFsdWVdKSA6IHVuZGVmaW5lZDtcbiAgfVxuICBcbiAgc3RhdGljIHRvTm90aW9uUmljaFRleHQodGV4dD86IHN0cmluZykge1xuICAgIHJldHVybiB0ZXh0ID8ge3R5cGU6ICdyaWNoX3RleHQnLCByaWNoX3RleHQ6IFt7dGV4dDoge2NvbnRlbnQ6IHRleHR9fV19IDogdW5kZWZpbmVkO1xuICB9XG4gIFxuICBzdGF0aWMgdG9Ob3Rpb25Gb3JtdWxhKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBzdGF0aWMgdG9Ob3Rpb25Sb2xsdXAodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblVybCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICd1cmwnLCB1cmw6IHZhbHVlfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvbkRhdGUodmFsdWU6IERhdGUpIHtcbiAgICAvLyBUT0RPKG5vbnRhbmdlbnQpOiBlbmTjgoLogIPmha7jgZnjgovjgIJcbiAgICByZXR1cm4gdmFsdWUgPyB7dHlwZTogJ2RhdGUnLCBkYXRlOiB7c3RhcnQ6IGRheWpzKHZhbHVlKS5mb3JtYXQoKSB9fSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICdzZWxlY3QnLCBzZWxlY3Q6IHtuYW1lOiB2YWx1ZX19IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIHRvTm90aW9uUGhvbmVOdW1iZXIodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZSA/IHt0eXBlOiAncGhvbmVfbnVtYmVyJywgcGhvbmVfbnVtYmVyOiB2YWx1ZX0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgdG9Ob3Rpb25OdW1iZXIodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiB2YWx1ZSA/IHt0eXBlOiAnbnVtYmVyJywgbnVtYmVyOiB2YWx1ZX0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgdG9Ob3Rpb25FbWFpbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICdlbWFpbCcsIGVtYWlsOiB2YWx1ZX0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblZhbHVlKHZhbHVlOiBOb3Rpb25WYWx1ZSwgYW5ub3RhdGlvbjogTm90aW9uQW5ub3RhdGlvbikge1xuICAgIHN3aXRjaCh2YWx1ZS50eXBlKSB7XG4gICAgICBjYXNlICd0aXRsZSc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25UaXRsZSh2YWx1ZSk7XG4gICAgICBjYXNlICdmb3JtdWxhJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvbkZvcm11bGEodmFsdWUpO1xuICAgICAgY2FzZSAncmVsYXRpb24nOlxuICAgICAgICBpZiAoKGFubm90YXRpb24ub3B0aW9ucyBhcyBhbnkpLm11bHRpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZnJvbU5vdGlvblJlbGF0aW9uTXVsdGkodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25SZWxhdGlvbih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ3JpY2hfdGV4dCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25SaWNoVGV4dCh2YWx1ZSk7XG4gICAgICBjYXNlICdzdGF0dXMnOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uU3RhdHVzKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3VybCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25VcmwodmFsdWUpO1xuICAgICAgY2FzZSAncm9sbHVwJzpcbiAgICAgICAgaWYgKChhbm5vdGF0aW9uLm9wdGlvbnMgYXMgYW55KS5tdWx0aSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25Sb2xsdXBNdWx0aSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZnJvbU5vdGlvblJvbGx1cCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ2NyZWF0ZWRfdGltZSc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25DcmVhdGVkVGltZSh2YWx1ZSk7XG4gICAgICBjYXNlICdsYXN0X2VkaXRlZF90aW1lJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvbkxhc3RFZGl0ZWRUaW1lKHZhbHVlKTtcbiAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uRGF0ZSh2YWx1ZSk7XG4gICAgICBjYXNlICdudW1iZXInOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3NlbGVjdCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25TZWxlY3QodmFsdWUpO1xuICAgICAgY2FzZSAncGhvbmVfbnVtYmVyJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvblBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNhc2UgJ2VtYWlsJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvbkVtYWlsKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3VuaXF1ZV9pZCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25VbmlxdWVJRCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25UaXRsZShub3Rpb25UaXRsZTogTm90aW9uVGl0bGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBub3Rpb25UaXRsZT8udGl0bGU/LlswXT8udGV4dD8uY29udGVudCA/PyAnJztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uVXJsKG5vdGlvblVybDogTm90aW9uVXJsKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIG5vdGlvblVybC51cmw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJpY2hUZXh0KG5vdGlvblJpY2hUZXh0OiBOb3Rpb25SaWNoVGV4dCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBub3Rpb25SaWNoVGV4dC5yaWNoX3RleHQubWFwKCh7cGxhaW5fdGV4dH0pID0+IHBsYWluX3RleHQpLmpvaW4oJycpIHx8IG51bGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJlbGF0aW9uKG5vdGlvblJlbGF0aW9uOiBOb3Rpb25SZWxhdGlvbik6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25SZWxhdGlvbk11bHRpKG5vdGlvblJlbGF0aW9uKT8uWzBdID8/IG51bGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJlbGF0aW9uTXVsdGkobm90aW9uUmVsYXRpb246IE5vdGlvblJlbGF0aW9uKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBub3Rpb25SZWxhdGlvbi5yZWxhdGlvbi5tYXAociA9PiByLmlkKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uU3RhdHVzKG5vdGlvblN0YXR1czogTm90aW9uU3RhdHVzKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIG5vdGlvblN0YXR1cy5zdGF0dXM/Lm5hbWUgPz8gbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uRm9ybXVsYShub3Rpb25Gb3JtdWxhOiBOb3Rpb25Gb3JtdWxhKTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB7XG4gICAgc3dpdGNoKG5vdGlvbkZvcm11bGEuZm9ybXVsYT8udHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzogcmV0dXJuIG5vdGlvbkZvcm11bGEuZm9ybXVsYS5zdHJpbmc7XG4gICAgICBjYXNlICdudW1iZXInOiByZXR1cm4gbm90aW9uRm9ybXVsYS5mb3JtdWxhLm51bWJlcjtcbiAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uRGF0ZShub3Rpb25Gb3JtdWxhLmZvcm11bGEgYXMgYW55KTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJvbGx1cChub3Rpb25Sb2xsdXA6IE5vdGlvblJvbGx1cCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgaWYgKG5vdGlvblJvbGx1cC5yb2xsdXAudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25OdW1iZXIobm90aW9uUm9sbHVwLnJvbGx1cCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25Sb2xsdXBNdWx0aShub3Rpb25Sb2xsdXApPy5bMF0gPz8gbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uUm9sbHVwTXVsdGkobm90aW9uUm9sbHVwOiBOb3Rpb25Sb2xsdXApOiBzdHJpbmdbXSB8IG51bWJlcltdIHtcbiAgICBpZiAobm90aW9uUm9sbHVwLnJvbGx1cC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gKG5vdGlvblJvbGx1cC5yb2xsdXAuYXJyYXkgPz8gW10pLm1hcChub3Rpb25WYWx1ZSA9PiB7XG4gICAgICBpZiAobm90aW9uVmFsdWUudHlwZSA9PT0gJ3JpY2hfdGV4dCcpIHtcbiAgICAgICAgcmV0dXJuIChub3Rpb25WYWx1ZS5yaWNoX3RleHQgPz8gW10pLm1hcCh0ZXh0ID0+IHRleHQucGxhaW5fdGV4dCkuam9pbigpO1xuICAgICAgfSBlbHNlIGlmIChub3Rpb25WYWx1ZS50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gbm90aW9uVmFsdWUubnVtYmVyID8/IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvbkNyZWF0ZWRUaW1lKG5vdGlvbkNyZWF0ZWRUaW1lOiBOb3Rpb25DcmVhdGVkVGltZSk6IGRheWpzLkRheWpzIHtcbiAgICByZXR1cm4gZGF5anMobm90aW9uQ3JlYXRlZFRpbWUuY3JlYXRlZF90aW1lKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uTGFzdEVkaXRlZFRpbWUobm90aW9uTGFzdEVkaXRlZFRpbWU6IE5vdGlvbkxhc3RFZGl0ZWRUaW1lKTogZGF5anMuRGF5anMge1xuICAgIHJldHVybiBkYXlqcyhub3Rpb25MYXN0RWRpdGVkVGltZS5sYXN0X2VkaXRlZF90aW1lKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uRGF0ZShub3Rpb25EYXRlOiBOb3Rpb25EYXRlKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiBub3Rpb25EYXRlLmRhdGU/LnN0YXJ0ID8gZGF5anMobm90aW9uRGF0ZS5kYXRlPy5zdGFydCkudG9EYXRlKCkgOiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25OdW1iZXIobm90aW9uTnVtYmVyOiBOb3Rpb25OdW1iZXIpIHtcbiAgICByZXR1cm4gbm90aW9uTnVtYmVyLm51bWJlciA/PyBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25TZWxlY3Qobm90aW9uU2VsZWN0OiBOb3Rpb25TZWxlY3QpIHtcbiAgICByZXR1cm4gbm90aW9uU2VsZWN0LnNlbGVjdD8ubmFtZSA/PyBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25QaG9uZU51bWJlcihub3Rpb25QaG9uZU51bWJlcjogTm90aW9uUGhvbmVOdW1iZXIpIHtcbiAgICByZXR1cm4gbm90aW9uUGhvbmVOdW1iZXIucGhvbmVfbnVtYmVyID8/IG51bGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvbkVtYWlsKG5vdGlvbkVtYWlsOiBOb3Rpb25FbWFpbCkge1xuICAgIHJldHVybiBub3Rpb25FbWFpbC5lbWFpbCA/PyBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25VbmlxdWVJRCh2YWx1ZTogTm90aW9uSUQpIHtcbiAgICByZXR1cm4gdmFsdWUudW5pcXVlX2lkLm51bWJlcjtcbiAgfVxuXG59XG4iXX0=","export const NOTION_ANNOTATIONS = 'notion_annotations';\nfunction createDecorator(type, defaultOptions) {\n return (name, options) => {\n return (target, propName) => {\n const fieldName = name || propName;\n const ANNOTATION = { type, fieldName, propName, options: { ...defaultOptions, ...options } };\n target.constructor[NOTION_ANNOTATIONS] ??= [];\n target.constructor[NOTION_ANNOTATIONS].push(ANNOTATION);\n };\n };\n}\nexport const Title = createDecorator('title');\nexport const Url = createDecorator('url');\nexport const RichText = createDecorator('rich_text');\nexport const Relation = createDecorator('relation', { multi: false });\nexport const Status = createDecorator('status');\nexport const Formula = createDecorator('formula');\nexport const Rollup = createDecorator('rollup', { multi: false });\nexport const Timestamp = createDecorator('timestamp');\nexport const Number = createDecorator('number');\nexport const CreatedTime = createDecorator('created_time');\nexport const LastEditedTime = createDecorator('last_edited_time');\nexport const Date = createDecorator('date');\nexport const Select = createDecorator('select');\nexport const PhoneNumber = createDecorator('phone_number');\nexport const Email = createDecorator('email');\nexport const UniqueID = createDecorator('unique_id');\n// Not implemented below props!\n// export const Checkbox = createDecorator('checkbox');\n// export const CreatedBy = createDecorator('created_by');\n// export const Files = createDecorator('files');\n// export const LastEditedBy = createDecorator('last_edited_by');\n// export const MultiSelect = createDecorator('multi_select');\n// export const People = createDecorator('people');\nexport const Notion = {\n Title,\n Url,\n RichText,\n Relation,\n Status,\n Formula,\n Rollup,\n Timestamp,\n Number,\n CreatedTime,\n LastEditedTime,\n Date,\n Select,\n PhoneNumber,\n Email,\n UniqueID,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvZGVjb3JhdG9ycy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBYXZELFNBQVMsZUFBZSxDQUErQixJQUFxQixFQUFFLGNBQWtCO0lBQzlGLE9BQU8sQ0FBQyxJQUFhLEVBQUUsT0FBb0IsRUFBRSxFQUFFO1FBQzdDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxRQUFRLENBQUM7WUFDbkMsTUFBTSxVQUFVLEdBQXdCLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUMsR0FBRyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUMsRUFBQyxDQUFDO1lBQzlHLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBbUIsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7QUFDdEYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQW1CLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckQsK0JBQStCO0FBQy9CLHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsaURBQWlEO0FBQ2pELGlFQUFpRTtBQUNqRSw4REFBOEQ7QUFDOUQsbURBQW1EO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRztJQUNwQixLQUFLO0lBQ0wsR0FBRztJQUNILFFBQVE7SUFDUixRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztJQUNULE1BQU07SUFDTixXQUFXO0lBQ1gsY0FBYztJQUNkLElBQUk7SUFDSixNQUFNO0lBQ04sV0FBVztJQUNYLEtBQUs7SUFDTCxRQUFRO0NBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT1RJT05fQU5OT1RBVElPTlMgPSAnbm90aW9uX2Fubm90YXRpb25zJztcbmV4cG9ydCB0eXBlIE5vdGlvbkZpZWxkVHlwZSA9ICd0aXRsZScgfCAndXJsJyB8ICdyaWNoX3RleHQnIFxuICB8ICdyZWxhdGlvbicgfCAnc3RhdHVzJyB8ICdmb3JtdWxhJyB8ICdyb2xsdXAnIHwgJ3RpbWVzdGFtcCdcbiAgfCAnbnVtYmVyJyB8ICdjcmVhdGVkX3RpbWUnIHwgJ2xhc3RfZWRpdGVkX3RpbWUnIHwgJ2RhdGUnIHwgJ3NlbGVjdCdcbiAgfCAncGhvbmVfbnVtYmVyJyB8ICdlbWFpbCcgfCAnY2hlY2tib3gnIHwgJ2NyZWF0ZWRfYnknIHwgJ2ZpbGVzJ1xuICB8ICdsYXN0X2VkaXRlZF9ieScgfCAnbXVsdGlfc2VsZWN0JyB8ICdwZW9wbGUnIHwgJ3VuaXF1ZV9pZCc7XG5leHBvcnQgaW50ZXJmYWNlIE5vdGlvbkFubm90YXRpb248VCBleHRlbmRzIG9iamVjdCA9IHVuZGVmaW5lZD4ge1xuICB0eXBlOiBOb3Rpb25GaWVsZFR5cGU7XG4gIGZpZWxkTmFtZTogc3RyaW5nO1xuICBwcm9wTmFtZTogc3RyaW5nO1xuICBvcHRpb25zPzogVDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVjb3JhdG9yPFQgZXh0ZW5kcyBvYmplY3QgPSB1bmRlZmluZWQ+KHR5cGU6IE5vdGlvbkZpZWxkVHlwZSwgZGVmYXVsdE9wdGlvbnM/OiBUKSB7XG4gIHJldHVybiAobmFtZT86IHN0cmluZywgb3B0aW9ucz86IFBhcnRpYWw8VD4pID0+IHtcbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBuYW1lIHx8IHByb3BOYW1lO1xuICAgICAgY29uc3QgQU5OT1RBVElPTjogTm90aW9uQW5ub3RhdGlvbjxUPiA9IHt0eXBlLCBmaWVsZE5hbWUsIHByb3BOYW1lLCBvcHRpb25zOiB7Li4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdGlvbnN9fTtcbiAgICAgIHRhcmdldC5jb25zdHJ1Y3RvcltOT1RJT05fQU5OT1RBVElPTlNdID8/PSBbXTtcbiAgICAgIHRhcmdldC5jb25zdHJ1Y3RvcltOT1RJT05fQU5OT1RBVElPTlNdLnB1c2goQU5OT1RBVElPTik7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFRpdGxlID0gY3JlYXRlRGVjb3JhdG9yKCd0aXRsZScpO1xuZXhwb3J0IGNvbnN0IFVybCA9IGNyZWF0ZURlY29yYXRvcigndXJsJyk7XG5leHBvcnQgY29uc3QgUmljaFRleHQgPSBjcmVhdGVEZWNvcmF0b3IoJ3JpY2hfdGV4dCcpO1xuZXhwb3J0IGNvbnN0IFJlbGF0aW9uID0gY3JlYXRlRGVjb3JhdG9yPHttdWx0aTogYm9vbGVhbn0+KCdyZWxhdGlvbicsIHttdWx0aTogZmFsc2V9KTtcbmV4cG9ydCBjb25zdCBTdGF0dXMgPSBjcmVhdGVEZWNvcmF0b3IoJ3N0YXR1cycpO1xuZXhwb3J0IGNvbnN0IEZvcm11bGEgPSBjcmVhdGVEZWNvcmF0b3IoJ2Zvcm11bGEnKTtcbmV4cG9ydCBjb25zdCBSb2xsdXAgPSBjcmVhdGVEZWNvcmF0b3I8e211bHRpOiBib29sZWFufT4oJ3JvbGx1cCcsIHttdWx0aTogZmFsc2V9KTtcbmV4cG9ydCBjb25zdCBUaW1lc3RhbXAgPSBjcmVhdGVEZWNvcmF0b3IoJ3RpbWVzdGFtcCcpO1xuZXhwb3J0IGNvbnN0IE51bWJlciA9IGNyZWF0ZURlY29yYXRvcignbnVtYmVyJyk7XG5leHBvcnQgY29uc3QgQ3JlYXRlZFRpbWUgPSBjcmVhdGVEZWNvcmF0b3IoJ2NyZWF0ZWRfdGltZScpO1xuZXhwb3J0IGNvbnN0IExhc3RFZGl0ZWRUaW1lID0gY3JlYXRlRGVjb3JhdG9yKCdsYXN0X2VkaXRlZF90aW1lJyk7XG5leHBvcnQgY29uc3QgRGF0ZSA9IGNyZWF0ZURlY29yYXRvcignZGF0ZScpO1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IGNyZWF0ZURlY29yYXRvcignc2VsZWN0Jyk7XG5leHBvcnQgY29uc3QgUGhvbmVOdW1iZXIgPSBjcmVhdGVEZWNvcmF0b3IoJ3Bob25lX251bWJlcicpO1xuZXhwb3J0IGNvbnN0IEVtYWlsID0gY3JlYXRlRGVjb3JhdG9yKCdlbWFpbCcpO1xuZXhwb3J0IGNvbnN0IFVuaXF1ZUlEID0gY3JlYXRlRGVjb3JhdG9yKCd1bmlxdWVfaWQnKTtcbi8vIE5vdCBpbXBsZW1lbnRlZCBiZWxvdyBwcm9wcyFcbi8vIGV4cG9ydCBjb25zdCBDaGVja2JveCA9IGNyZWF0ZURlY29yYXRvcignY2hlY2tib3gnKTtcbi8vIGV4cG9ydCBjb25zdCBDcmVhdGVkQnkgPSBjcmVhdGVEZWNvcmF0b3IoJ2NyZWF0ZWRfYnknKTtcbi8vIGV4cG9ydCBjb25zdCBGaWxlcyA9IGNyZWF0ZURlY29yYXRvcignZmlsZXMnKTtcbi8vIGV4cG9ydCBjb25zdCBMYXN0RWRpdGVkQnkgPSBjcmVhdGVEZWNvcmF0b3IoJ2xhc3RfZWRpdGVkX2J5Jyk7XG4vLyBleHBvcnQgY29uc3QgTXVsdGlTZWxlY3QgPSBjcmVhdGVEZWNvcmF0b3IoJ211bHRpX3NlbGVjdCcpO1xuLy8gZXhwb3J0IGNvbnN0IFBlb3BsZSA9IGNyZWF0ZURlY29yYXRvcigncGVvcGxlJyk7XG5cbmV4cG9ydCBjb25zdCBOb3Rpb24gPSB7XG4gIFRpdGxlLFxuICBVcmwsXG4gIFJpY2hUZXh0LFxuICBSZWxhdGlvbixcbiAgU3RhdHVzLFxuICBGb3JtdWxhLFxuICBSb2xsdXAsXG4gIFRpbWVzdGFtcCxcbiAgTnVtYmVyLFxuICBDcmVhdGVkVGltZSxcbiAgTGFzdEVkaXRlZFRpbWUsXG4gIERhdGUsXG4gIFNlbGVjdCxcbiAgUGhvbmVOdW1iZXIsXG4gIEVtYWlsLFxuICBVbmlxdWVJRCxcbn07XG4iXX0=","import { NotionUtils } from \"../utils\";\nimport { NOTION_ANNOTATIONS } from \"../decorators\";\nimport { omitBy } from \"lodash-es\";\nexport class NotionHelper {\n static fromNotion(page, Entity) {\n const annotations = Entity[NOTION_ANNOTATIONS] ?? [];\n const obj = annotations.reduce((obj, annotation) => {\n const value = page['properties'][annotation.fieldName]\n ? NotionUtils.fromNotionValue(page['properties'][annotation.fieldName], annotation)\n : undefined;\n return { ...obj, [annotation.propName]: value };\n }, { id: page.id });\n return Entity.from(obj);\n }\n static toNotion(entity, Entity) {\n const annotations = Entity[NOTION_ANNOTATIONS] ?? [];\n const data = annotations.reduce((obj, annotation) => ({\n ...obj,\n [annotation.fieldName]: NotionUtils.toNotionValue(entity[annotation.propName], annotation),\n }), {});\n return omitBy(data, (value) => typeof value === 'undefined');\n }\n}\nexport class NotionConverter {\n fromNotion(page) {\n return NotionHelper.fromNotion(page, this.Entity);\n }\n toNotion(entity) {\n return NotionHelper.toNotion(entity, this.Entity);\n }\n}\nexport function createConverter(Entity) {\n class Converter extends NotionConverter {\n Entity = Entity;\n }\n return new Converter();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9ub3Rpb24vc3JjL2xpYi9jb252ZXJ0ZXIvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR25DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQ2YsSUFBNkcsRUFDN0csTUFBZTtRQUVmLE1BQU0sV0FBVyxHQUF1QixNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekUsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztnQkFDcEQsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLENBQUM7Z0JBQ25GLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDZCxPQUFPLEVBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDaEQsQ0FBQyxFQUFFLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xCLE9BQVEsTUFBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBSSxNQUFrQixFQUFFLE1BQWU7UUFDcEQsTUFBTSxXQUFXLEdBQXVCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6RSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwRCxHQUFHLEdBQUc7WUFDTixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxDQUFDO1NBQzNGLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNSLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFnQixlQUFlO0lBR25DLFVBQVUsQ0FBQyxJQUE2RztRQUN0SCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUksSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWtCO1FBQ3pCLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBSSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxlQUFlLENBQVUsTUFBVztJQUNsRCxNQUFNLFNBQVUsU0FBUSxlQUFrQjtRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDO0tBQzNCO0lBRUQsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlT2JqZWN0UmVzcG9uc2UsIFBhcnRpYWxQYWdlT2JqZWN0UmVzcG9uc2UsIFBhcnRpYWxEYXRhYmFzZU9iamVjdFJlc3BvbnNlLCBEYXRhYmFzZU9iamVjdFJlc3BvbnNlIH0gZnJvbSBcIkBub3Rpb25ocS9jbGllbnQvYnVpbGQvc3JjL2FwaS1lbmRwb2ludHNcIjtcbmltcG9ydCB7IE5vdGlvblV0aWxzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBOb3Rpb25Bbm5vdGF0aW9uLCBOT1RJT05fQU5OT1RBVElPTlMgfSBmcm9tIFwiLi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgb21pdEJ5IH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9kb21haW5cIjtcblxuZXhwb3J0IGNsYXNzIE5vdGlvbkhlbHBlciB7XG4gIHN0YXRpYyBmcm9tTm90aW9uPEU+KFxuICAgIHBhZ2U6IFBhZ2VPYmplY3RSZXNwb25zZSB8IFBhcnRpYWxQYWdlT2JqZWN0UmVzcG9uc2UgfCBQYXJ0aWFsRGF0YWJhc2VPYmplY3RSZXNwb25zZSB8IERhdGFiYXNlT2JqZWN0UmVzcG9uc2UsXG4gICAgRW50aXR5OiBUeXBlPEU+XG4gICk6IEUge1xuICAgIGNvbnN0IGFubm90YXRpb25zOiBOb3Rpb25Bbm5vdGF0aW9uW10gPSBFbnRpdHlbTk9USU9OX0FOTk9UQVRJT05TXSA/PyBbXTtcbiAgICBjb25zdCBvYmogPSBhbm5vdGF0aW9ucy5yZWR1Y2UoKG9iaiwgYW5ub3RhdGlvbikgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYWdlWydwcm9wZXJ0aWVzJ11bYW5ub3RhdGlvbi5maWVsZE5hbWVdIFxuICAgICAgICA/IE5vdGlvblV0aWxzLmZyb21Ob3Rpb25WYWx1ZShwYWdlWydwcm9wZXJ0aWVzJ11bYW5ub3RhdGlvbi5maWVsZE5hbWVdLCBhbm5vdGF0aW9uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7Li4ub2JqLCBbYW5ub3RhdGlvbi5wcm9wTmFtZV06IHZhbHVlfTtcbiAgICB9LCB7aWQ6IHBhZ2UuaWR9KTtcbiAgICByZXR1cm4gKEVudGl0eSBhcyBhbnkpLmZyb20ob2JqKTtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvbjxFPihlbnRpdHk6IFBhcnRpYWw8RT4sIEVudGl0eTogVHlwZTxFPik6IG9iamVjdCB7XG4gICAgY29uc3QgYW5ub3RhdGlvbnM6IE5vdGlvbkFubm90YXRpb25bXSA9IEVudGl0eVtOT1RJT05fQU5OT1RBVElPTlNdID8/IFtdO1xuICAgIGNvbnN0IGRhdGEgPSBhbm5vdGF0aW9ucy5yZWR1Y2UoKG9iaiwgYW5ub3RhdGlvbikgPT4gKHtcbiAgICAgIC4uLm9iaixcbiAgICAgIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IE5vdGlvblV0aWxzLnRvTm90aW9uVmFsdWUoZW50aXR5W2Fubm90YXRpb24ucHJvcE5hbWVdLCBhbm5vdGF0aW9uKSxcbiAgICB9KSwge30pO1xuICAgIHJldHVybiBvbWl0QnkoZGF0YSwgKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKTtcbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTm90aW9uQ29udmVydGVyPEU+IHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IEVudGl0eTtcblxuICBmcm9tTm90aW9uKHBhZ2U6IFBhZ2VPYmplY3RSZXNwb25zZSB8IFBhcnRpYWxQYWdlT2JqZWN0UmVzcG9uc2UgfCBQYXJ0aWFsRGF0YWJhc2VPYmplY3RSZXNwb25zZSB8IERhdGFiYXNlT2JqZWN0UmVzcG9uc2UpOiBFIHtcbiAgICByZXR1cm4gTm90aW9uSGVscGVyLmZyb21Ob3Rpb248RT4ocGFnZSwgdGhpcy5FbnRpdHkpO1xuICB9XG5cbiAgdG9Ob3Rpb24oZW50aXR5OiBQYXJ0aWFsPEU+KTogb2JqZWN0IHtcbiAgICByZXR1cm4gTm90aW9uSGVscGVyLnRvTm90aW9uPEU+KGVudGl0eSwgdGhpcy5FbnRpdHkpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb252ZXJ0ZXI8RSA9IGFueT4oRW50aXR5OiBhbnkpOiBOb3Rpb25Db252ZXJ0ZXI8RT4ge1xuICBjbGFzcyBDb252ZXJ0ZXIgZXh0ZW5kcyBOb3Rpb25Db252ZXJ0ZXI8RT4ge1xuICAgIHByb3RlY3RlZCBFbnRpdHkgPSBFbnRpdHk7XG4gIH1cblxuICByZXR1cm4gbmV3IENvbnZlcnRlcigpO1xufVxuIl19","import { inject, InjectionToken } from \"@angular/core\";\nexport const NOTION_SERVICE = new InjectionToken('NOTION_SERVICE');\nexport const NOTION_CONFIG = new InjectionToken('NOTION_CONFIG');\nexport function injectNotion() {\n return inject(NOTION_SERVICE, { optional: true }) ?? null;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL25vdGlvbi9zcmMvbGliL25vdGlvbi9ub3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU92RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWdCLGdCQUFnQixDQUFDLENBQUM7QUFDbEYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLGVBQWUsQ0FBQyxDQUFDO0FBRS9FLE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU8sTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IE5vdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9ub3Rpb24uc2VydmljZS5pbXBsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aW9uQ29uZmlnIHtcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE5PVElPTl9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPE5vdGlvblNlcnZpY2U+KCdOT1RJT05fU0VSVklDRScpO1xuZXhwb3J0IGNvbnN0IE5PVElPTl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tm90aW9uQ29uZmlnPignTk9USU9OX0NPTkZJRycpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tm90aW9uKCk6IE5vdGlvblNlcnZpY2Uge1xuICByZXR1cm4gaW5qZWN0KE5PVElPTl9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IG51bGw7XG59XG4iXX0=","import { NOTION_ANNOTATIONS } from \"../decorators\";\nexport class N {\n static RollupPropQuery(property, evaluation, value) {\n return { property, rollup: { every: { rich_text: { equals: value } } } };\n }\n static FormulaQuery(property, evaluation, value) {\n return { property, formula: {} };\n }\n static LastEditedTime(property, evaluation, value) {\n const query = evaluation === '>' ? 'after'\n : evaluation === '<' ? 'before'\n : evaluation === '==' ? 'equals'\n : evaluation === '<=' ? 'on_or_before'\n : evaluation === '>=' ? 'on_or_after'\n : evaluation === '!=' ? '' : '';\n return { timestamp: 'last_edited_time', last_edited_time: { [query]: value } };\n }\n static Timestamp(property, evaluation, value) {\n const query = evaluation === '>' ? 'after'\n : evaluation === '<' ? 'before'\n : evaluation === '==' ? 'equals'\n : evaluation === '<=' ? 'on_or_before'\n : evaluation === '>=' ? 'on_or_after'\n : evaluation === '!=' ? '' : '';\n return { property, timestamp: { [query]: value } };\n }\n static Status(property, evaluation, value) {\n const query = evaluation === '==' ? 'equals' : '';\n // TODO(nontangent): 'ステータス'を修正\n return { property: 'ステータス', status: { [query]: value } };\n }\n static Relation(property, evaluation, value) {\n const query = evaluation === 'in' ? 'contains' : '';\n return { property, relation: { [query]: value } };\n }\n}\nexport class NotionBaseQuery {\n type;\n}\nexport class NotionFilter extends NotionBaseQuery {\n propertyType;\n propertyName;\n evaluation;\n value;\n type = 'filter';\n constructor(propertyType, propertyName, evaluation, value) {\n super();\n this.propertyType = propertyType;\n this.propertyName = propertyName;\n this.evaluation = evaluation;\n this.value = value;\n }\n build() {\n switch (this.propertyName) {\n case 'last_edited_time': return N.LastEditedTime(this.propertyName, this.evaluation, this.value);\n }\n switch (this.propertyType) {\n case 'rollup': return N.RollupPropQuery(this.propertyName, this.evaluation, this.value);\n case 'formula': return N.FormulaQuery(this.propertyName, this.evaluation, this.value);\n case 'status': return N.Status(this.propertyName, this.evaluation, this.value);\n case 'relation': return N.Relation(this.propertyName, this.evaluation, this.value);\n }\n }\n}\nexport class NotionSort extends NotionBaseQuery {\n property;\n direction;\n type = 'sort';\n constructor(property, direction = 'asc') {\n super();\n this.property = property;\n this.direction = direction;\n }\n build() {\n return {\n property: this.property,\n direction: this.direction === 'asc' ? 'ascending' : 'descending',\n };\n }\n}\nexport class NotionAnd extends NotionBaseQuery {\n type = 'and';\n arr;\n constructor(...filters) {\n super();\n this.arr = filters;\n }\n build() {\n return { and: this.arr.map(filter => filter.build()) };\n }\n}\nexport class NotionOr extends NotionBaseQuery {\n type = 'or';\n arr;\n constructor(...filters) {\n super();\n this.arr = filters;\n }\n build() {\n return { or: this.arr.map(filter => filter.build()) };\n }\n}\nexport const Query = (Entity) => {\n const Filter = (_propName, evaluation, value) => {\n const annotation = Entity[NOTION_ANNOTATIONS].find(({ propName }) => propName === _propName);\n // if(!annotation) {\n // throw new Error(`NotionFilter: ${Entity} does not have ${_propName}.`);\n // }\n return new NotionFilter(annotation?.type, annotation?.fieldName ?? _propName, evaluation, value);\n };\n const OrderBy = (_propName, direction) => {\n const annotation = Entity[NOTION_ANNOTATIONS].find(({ propName }) => propName === _propName);\n return new NotionSort(annotation?.fieldName ?? _propName, direction);\n };\n const And = (...args) => new NotionAnd(...args);\n const Or = (...args) => new NotionOr(...args);\n return { Filter, OrderBy, And, Or };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL25vdGlvbi9zcmMvbGliL3F1ZXJ5L3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLckUsTUFBTSxPQUFPLENBQUM7SUFDWixNQUFNLENBQUMsZUFBZSxDQUFDLFFBQWdCLEVBQUUsVUFBc0IsRUFBRSxLQUFzQjtRQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFnQixFQUFFLFVBQXNCLEVBQUUsS0FBc0I7UUFDbEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBZ0IsRUFBRSxVQUFzQixFQUFFLEtBQXNCO1FBQ3BGLE1BQU0sS0FBSyxHQUFHLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDeEMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVE7Z0JBQy9CLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRO29CQUNoQyxDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYzt3QkFDdEMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWE7NEJBQ3JDLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNs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LEVBQUUsU0FBUyxJQUFJLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUM7SUFFRixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBb0IsRUFBYSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBb0IsRUFBWSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUV4RSxPQUFPLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aW9uQW5ub3RhdGlvbiwgTk9USU9OX0FOTk9UQVRJT05TIH0gZnJvbSBcIi4uL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9kb21haW5cIjtcblxudHlwZSBFdmFsdWF0aW9uID0gJz09JyB8ICc+JyB8ICc+PScgfCAnPCcgfCAnPD0nIHwgJyE9JyB8ICdpbic7XG5cbmV4cG9ydCBjbGFzcyBOIHtcbiAgc3RhdGljIFJvbGx1cFByb3BRdWVyeShwcm9wZXJ0eTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIHsgcHJvcGVydHksIHJvbGx1cDogeyBldmVyeTogeyByaWNoX3RleHQ6IHsgZXF1YWxzOiB2YWx1ZSB9IH0gfSB9O1xuICB9XG5cbiAgc3RhdGljIEZvcm11bGFRdWVyeShwcm9wZXJ0eTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIHsgcHJvcGVydHksIGZvcm11bGE6IHt9fTtcbiAgfVxuXG4gIHN0YXRpYyBMYXN0RWRpdGVkVGltZShwcm9wZXJ0eTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgY29uc3QgcXVlcnkgPSBldmFsdWF0aW9uID09PSAnPicgPyAnYWZ0ZXInIFxuICAgICAgOiBldmFsdWF0aW9uID09PSAnPCcgPyAnYmVmb3JlJ1xuICAgICAgOiBldmFsdWF0aW9uID09PSAnPT0nID8gJ2VxdWFscydcbiAgICAgIDogZXZhbHVhdGlvbiA9PT0gJzw9JyA/ICdvbl9vcl9iZWZvcmUnXG4gICAgICA6IGV2YWx1YXRpb24gPT09ICc+PScgPyAnb25fb3JfYWZ0ZXInXG4gICAgICA6IGV2YWx1YXRpb24gPT09ICchPScgPyAnJyA6ICcnO1xuICAgIHJldHVybiB7IHRpbWVzdGFtcDogJ2xhc3RfZWRpdGVkX3RpbWUnLCBsYXN0X2VkaXRlZF90aW1lOiB7W3F1ZXJ5XTogdmFsdWV9IH07XG4gIH1cblxuICBzdGF0aWMgVGltZXN0YW1wKHByb3BlcnR5OiBzdHJpbmcsIGV2YWx1YXRpb246IEV2YWx1YXRpb24sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxdWVyeSA9IGV2YWx1YXRpb24gPT09ICc+JyA/ICdhZnRlcicgXG4gICAgOiBldmFsdWF0aW9uID09PSAnPCcgPyAnYmVmb3JlJ1xuICAgIDogZXZhbHVhdGlvbiA9PT0gJz09JyA/ICdlcXVhbHMnXG4gICAgOiBldmFsdWF0aW9uID09PSAnPD0nID8gJ29uX29yX2JlZm9yZSdcbiAgICA6IGV2YWx1YXRpb24gPT09ICc+PScgPyAnb25fb3JfYWZ0ZXInXG4gICAgOiBldmFsdWF0aW9uID09PSAnIT0nID8gJycgOiAnJztcbiAgICByZXR1cm4geyBwcm9wZXJ0eSwgdGltZXN0YW1wOiB7W3F1ZXJ5XTogdmFsdWV9IH07XG4gIH1cblxuICBzdGF0aWMgU3RhdHVzKHByb3BlcnR5OiBzdHJpbmcsIGV2YWx1YXRpb246IEV2YWx1YXRpb24sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxdWVyeSA9IGV2YWx1YXRpb24gPT09ICc9PScgPyAnZXF1YWxzJyA6ICcnO1xuICAgIC8vIFRPRE8obm9udGFuZ2VudCk6ICfjgrnjg4bjg7zjgr/jgrkn44KS5L+u5q2jXG4gICAgcmV0dXJuIHsgcHJvcGVydHk6ICfjgrnjg4bjg7zjgr/jgrknLCBzdGF0dXM6IHtbcXVlcnldOiB2YWx1ZX0gfTtcbiAgfVxuICBcbiAgc3RhdGljIFJlbGF0aW9uKHByb3BlcnR5OiBzdHJpbmcsIGV2YWx1YXRpb246IEV2YWx1YXRpb24sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxdWVyeSA9IGV2YWx1YXRpb24gPT09ICdpbicgPyAnY29udGFpbnMnOiAnJztcbiAgICByZXR1cm4geyBwcm9wZXJ0eSwgcmVsYXRpb246IHtbcXVlcnldOiB2YWx1ZX0gfTtcbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTm90aW9uQmFzZVF1ZXJ5IHtcbiAgdHlwZTogJ2FuZCcgfCAnb3InIHwgJ2ZpbHRlcicgfCAnc29ydCc7XG4gIGFic3RyYWN0IGJ1aWxkKCk7XG59XG5cbmV4cG9ydCBjbGFzcyBOb3Rpb25GaWx0ZXIgZXh0ZW5kcyBOb3Rpb25CYXNlUXVlcnkge1xuICByZWFkb25seSB0eXBlID0gJ2ZpbHRlcicgYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByb3BlcnR5VHlwZTogYW55LFxuICAgIHB1YmxpYyBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgZXZhbHVhdGlvbjogRXZhbHVhdGlvbixcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZyB8IG51bWJlcixcbiAgKSB7IHN1cGVyKCk7IH1cblxuICBidWlsZCgpIHtcbiAgICBzd2l0Y2godGhpcy5wcm9wZXJ0eU5hbWUpIHtcbiAgICAgIGNhc2UgJ2xhc3RfZWRpdGVkX3RpbWUnOiByZXR1cm4gTi5MYXN0RWRpdGVkVGltZSh0aGlzLnByb3BlcnR5TmFtZSwgdGhpcy5ldmFsdWF0aW9uLCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBzd2l0Y2godGhpcy5wcm9wZXJ0eVR5cGUpIHtcbiAgICAgIGNhc2UgJ3JvbGx1cCc6IHJldHVybiBOLlJvbGx1cFByb3BRdWVyeSh0aGlzLnByb3BlcnR5TmFtZSwgdGhpcy5ldmFsdWF0aW9uLCB0aGlzLnZhbHVlKTtcbiAgICAgIGNhc2UgJ2Zvcm11bGEnOiByZXR1cm4gTi5Gb3JtdWxhUXVlcnkodGhpcy5wcm9wZXJ0eU5hbWUsIHRoaXMuZXZhbHVhdGlvbiwgdGhpcy52YWx1ZSk7XG4gICAgICBjYXNlICdzdGF0dXMnOiByZXR1cm4gTi5TdGF0dXModGhpcy5wcm9wZXJ0eU5hbWUsIHRoaXMuZXZhbHVhdGlvbiwgdGhpcy52YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgY2FzZSAncmVsYXRpb24nOiByZXR1cm4gTi5SZWxhdGlvbih0aGlzLnByb3BlcnR5TmFtZSwgdGhpcy5ldmFsdWF0aW9uLCB0aGlzLnZhbHVlIGFzIHN0cmluZyk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb3Rpb25Tb3J0IGV4dGVuZHMgTm90aW9uQmFzZVF1ZXJ5IHtcbiAgcmVhZG9ubHkgdHlwZSA9ICdzb3J0JyBhcyBjb25zdDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgcHVibGljIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJyxcbiAgKSB7IHN1cGVyKCk7IH1cblxuICBidWlsZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHk6IHRoaXMucHJvcGVydHksXG4gICAgICBkaXJlY3Rpb246IHRoaXMuZGlyZWN0aW9uID09PSAnYXNjJyA/ICdhc2NlbmRpbmcnIDogJ2Rlc2NlbmRpbmcnLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5vdGlvbkFuZCBleHRlbmRzIE5vdGlvbkJhc2VRdWVyeSB7XG4gIHJlYWRvbmx5IHR5cGUgPSAnYW5kJyBhcyBjb25zdDtcbiAgYXJyOiBOb3Rpb25GaWx0ZXJbXTtcblxuICBjb25zdHJ1Y3RvciguLi5maWx0ZXJzOiBOb3Rpb25GaWx0ZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hcnIgPSBmaWx0ZXJzO1xuICB9XG5cbiAgYnVpbGQoKSB7XG4gICAgcmV0dXJuIHthbmQ6IHRoaXMuYXJyLm1hcChmaWx0ZXIgPT4gZmlsdGVyLmJ1aWxkKCkpfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTm90aW9uT3IgZXh0ZW5kcyBOb3Rpb25CYXNlUXVlcnkge1xuICByZWFkb25seSB0eXBlID0gJ29yJyBhcyBjb25zdDtcbiAgYXJyOiBOb3Rpb25GaWx0ZXJbXTtcblxuICBjb25zdHJ1Y3RvciguLi5maWx0ZXJzOiBOb3Rpb25GaWx0ZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hcnIgPSBmaWx0ZXJzO1xuICB9XG5cbiAgYnVpbGQoKSB7XG4gICAgcmV0dXJuIHtvcjogdGhpcy5hcnIubWFwKGZpbHRlciA9PiBmaWx0ZXIuYnVpbGQoKSl9O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBRdWVyeSA9IDxFID0gYW55PihFbnRpdHk6IEUpID0+IHtcbiAgY29uc3QgRmlsdGVyID0gKF9wcm9wTmFtZTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogTm90aW9uRmlsdGVyID0+IHtcbiAgICBjb25zdCBhbm5vdGF0aW9uOiBOb3Rpb25Bbm5vdGF0aW9uID0gRW50aXR5W05PVElPTl9BTk5PVEFUSU9OU10uZmluZCgoe3Byb3BOYW1lfSkgPT4gcHJvcE5hbWUgPT09IF9wcm9wTmFtZSk7XG5cbiAgICAvLyBpZighYW5ub3RhdGlvbikge1xuICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKGBOb3Rpb25GaWx0ZXI6ICR7RW50aXR5fSBkb2VzIG5vdCBoYXZlICR7X3Byb3BOYW1lfS5gKTtcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gbmV3IE5vdGlvbkZpbHRlcihhbm5vdGF0aW9uPy50eXBlLCBhbm5vdGF0aW9uPy5maWVsZE5hbWUgPz8gX3Byb3BOYW1lLCBldmFsdWF0aW9uLCB2YWx1ZSk7XG4gIH07XG4gIGNvbnN0IE9yZGVyQnkgPSAoX3Byb3BOYW1lOiBzdHJpbmcsIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycpOiBOb3Rpb25Tb3J0ID0+IHtcbiAgICBjb25zdCBhbm5vdGF0aW9uOiBOb3Rpb25Bbm5vdGF0aW9uID0gRW50aXR5W05PVElPTl9BTk5PVEFUSU9OU10uZmluZCgoe3Byb3BOYW1lfSkgPT4gcHJvcE5hbWUgPT09IF9wcm9wTmFtZSk7XG4gICAgcmV0dXJuIG5ldyBOb3Rpb25Tb3J0KGFubm90YXRpb24/LmZpZWxkTmFtZSA/PyBfcHJvcE5hbWUsIGRpcmVjdGlvbik7XG4gIH07XG4gIFxuICBjb25zdCBBbmQgPSAoLi4uYXJnczogTm90aW9uRmlsdGVyW10pOiBOb3Rpb25BbmQgPT4gbmV3IE5vdGlvbkFuZCguLi5hcmdzKTtcbiAgY29uc3QgT3IgPSAoLi4uYXJnczogTm90aW9uRmlsdGVyW10pOiBOb3Rpb25PciA9PiBuZXcgTm90aW9uT3IoLi4uYXJncyk7XG5cbiAgcmV0dXJuIHtGaWx0ZXIsIE9yZGVyQnksIEFuZCwgT3J9O1xufVxuIl19","export class NotionQueryBuilder {\n constructor() { }\n build(filterQuery, sortQuery) {\n return {\n ...(filterQuery ? this.buildFilterQuery(filterQuery) : {}),\n ...(sortQuery ? this.buildSortQuery(sortQuery) : {}),\n };\n }\n buildSortQuery(query) {\n if (query.type === 'sort') {\n return { sorts: [query.build()] };\n }\n else {\n return {};\n }\n }\n buildFilterQuery(query) {\n if (query.type === 'filter') {\n return { filter: { and: [query.build()] } };\n }\n else if (['and', 'or'].includes(query.type)) {\n return { filter: query.build() };\n }\n else {\n return {};\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsZ0JBQWdCLENBQUM7SUFFakIsS0FBSyxDQUFDLFdBQTZCLEVBQUUsU0FBMkI7UUFDOUQsT0FBTztZQUNMLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFELEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFzQjtRQUM3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsS0FBc0I7UUFDL0MsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDOUMsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb3Rpb25CYXNlUXVlcnkgfSBmcm9tIFwiLi4vcXVlcnlcIjtcblxuZXhwb3J0IGNsYXNzIE5vdGlvblF1ZXJ5QnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgYnVpbGQoZmlsdGVyUXVlcnk/OiBOb3Rpb25CYXNlUXVlcnksIHNvcnRRdWVyeT86IE5vdGlvbkJhc2VRdWVyeSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi4oZmlsdGVyUXVlcnkgPyB0aGlzLmJ1aWxkRmlsdGVyUXVlcnkoZmlsdGVyUXVlcnkpIDoge30pLFxuICAgICAgLi4uKHNvcnRRdWVyeSA/IHRoaXMuYnVpbGRTb3J0UXVlcnkoc29ydFF1ZXJ5KSA6IHt9KSxcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRTb3J0UXVlcnkocXVlcnk6IE5vdGlvbkJhc2VRdWVyeSkge1xuICAgIGlmIChxdWVyeS50eXBlID09PSAnc29ydCcpIHtcbiAgICAgIHJldHVybiB7IHNvcnRzOiBbcXVlcnkuYnVpbGQoKV19O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkRmlsdGVyUXVlcnkocXVlcnk6IE5vdGlvbkJhc2VRdWVyeSkge1xuICAgIGlmIChxdWVyeS50eXBlID09PSAnZmlsdGVyJykge1xuICAgICAgcmV0dXJuIHsgZmlsdGVyOiB7IGFuZDogW3F1ZXJ5LmJ1aWxkKCldIH0gfTtcbiAgICB9IGVsc2UgaWYgKFsnYW5kJywgJ29yJ10uaW5jbHVkZXMocXVlcnkudHlwZSkpIHtcbiAgICAgIHJldHVybiB7IGZpbHRlcjogcXVlcnkuYnVpbGQoKSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG59XG4iXX0=","import { Client } from '@notionhq/client';\nimport { Repository } from '@nx-ddd/common/domain';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { NotionQueryBuilder } from '../query-builder';\nimport * as i0 from \"@angular/core\";\nexport const NOTION_ACCESS_TOKEN = new InjectionToken('[@nx-ddd/notion] Notion Access Token');\nexport const NOTION_DATABASE_ID = new InjectionToken('[@nx-ddd/notion] Notion Database Id');\nexport function provideNotionConfig(config) {\n return { provide: NOTION_ACCESS_TOKEN, useValue: config.accessToken };\n}\nexport class NotionRepository extends Repository {\n token = inject(NOTION_ACCESS_TOKEN);\n client = new Client({ auth: this.token });\n queryBuilder = new NotionQueryBuilder();\n get parent() {\n return { type: 'database_id', database_id: this.databaseId };\n }\n async query(filterQuery, sortQuery, startCursor, pageSize) {\n try {\n const obj = this.queryBuilder.build(filterQuery, sortQuery);\n const res = await this.client.databases.query({\n database_id: this.databaseId,\n ...obj,\n start_cursor: startCursor,\n page_size: pageSize,\n });\n return {\n results: res.results.map(result => this.converter.fromNotion(result)),\n nextCursor: res.next_cursor,\n hasMore: res.has_more,\n };\n }\n catch (error) {\n throw error;\n }\n }\n async queryV2(args) {\n try {\n const res = await this.client.databases.query({\n database_id: this.databaseId,\n ...(args ?? {}),\n });\n return {\n results: res.results.map(result => this.converter.fromNotion(result)),\n nextCursor: res.next_cursor,\n hasMore: res.has_more,\n };\n }\n catch (error) {\n throw error;\n }\n }\n async list({ batchSize = 100, } = {}) {\n const items = [];\n let nextCursor;\n let pageCount = 0;\n console.log(`[NotionRepository] Starting pagination with batch size: ${batchSize}`);\n // eslint-disable-next-line no-constant-condition\n while (true) {\n pageCount++;\n const res = await this.query(undefined, undefined, nextCursor, batchSize);\n console.log(`[NotionRepository] Page ${pageCount}: Retrieved ${res.results.length} items, hasMore: ${res.hasMore}, nextCursor: ${res.nextCursor ? 'present' : 'null'}`);\n items.push(...res.results);\n nextCursor = res.nextCursor;\n if (!res.hasMore) {\n console.log(`[NotionRepository] Pagination complete. Total items: ${items.length} from ${pageCount} pages`);\n break;\n }\n }\n return items;\n }\n listChanges() {\n throw new Error('NotionRepository.listChanges() is not implemented');\n }\n async get({ id }) {\n const data = await this.client.pages.retrieve({ page_id: id });\n return this.converter.fromNotion(data);\n }\n async create(entity) {\n try {\n const res = await this.client.pages.create({\n parent: this.parent,\n properties: { ...this.converter.toNotion(entity) },\n });\n return this.converter.fromNotion(res);\n }\n catch (error) {\n throw error;\n }\n }\n async createMany(data) {\n throw new Error('NotionRepository.createMany() is not implemented');\n }\n async update(entity) {\n const data = {\n page_id: entity.id,\n properties: { ...this.converter.toNotion(entity) },\n };\n await this.client.pages.update(data);\n }\n async save(data) {\n throw new Error('NotionRepository.save() is not implemented');\n }\n async saveMany(entities) {\n throw new Error('NotionRepository.saveMany() is not implemented');\n }\n async updateMany(data) {\n throw new Error('NotionRepository.updateMany() is not implemented');\n }\n async delete({ id }) {\n throw new Error('NotionRepository.delete() is not implemented');\n }\n async deleteMany(params) {\n throw new Error('NotionRepository.deleteMany() is not implemented');\n }\n async deleteAll() {\n throw new Error('NotionRepository.deleteAll() is not implemented');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotionRepository, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotionRepository });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotionRepository, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvcmVwb3NpdG9yeS9yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUd0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBUyxzQ0FBc0MsQ0FBQyxDQUFDO0FBQ3RHLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7QUFFNUYsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQTZCO0lBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUN4RSxDQUFDO0FBR0QsTUFBTSxPQUFnQixnQkFBbUMsU0FBUSxVQUFhO0lBSWxFLEtBQUssR0FBVyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDeEMsWUFBWSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUNsRCxJQUFjLE1BQU07UUFDbEIsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsS0FB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Q0FBQyxFQUFDO1NBQ2pELENBQUM7UUFDRixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFnQjtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBYTtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBa0I7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUMsRUFBRSxFQUFlO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUF5QjtRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7dUdBdkltQixnQkFBZ0I7MkdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudCB9IGZyb20gJ0Bub3Rpb25ocS9jbGllbnQnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnQG54LWRkZC9jb21tb24vZG9tYWluJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aW9uQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVyJztcbmltcG9ydCB7IE5vdGlvbkJhc2VRdWVyeSB9IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IE5vdGlvblF1ZXJ5QnVpbGRlciB9IGZyb20gJy4uL3F1ZXJ5LWJ1aWxkZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgTk9USU9OX0FDQ0VTU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdbQG54LWRkZC9ub3Rpb25dIE5vdGlvbiBBY2Nlc3MgVG9rZW4nKTtcbmV4cG9ydCBjb25zdCBOT1RJT05fREFUQUJBU0VfSUQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1tAbngtZGRkL25vdGlvbl0gTm90aW9uIERhdGFiYXNlIElkJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTm90aW9uQ29uZmlnKGNvbmZpZzoge2FjY2Vzc1Rva2VuOiBzdHJpbmd9KSB7XG4gIHJldHVybiB7IHByb3ZpZGU6IE5PVElPTl9BQ0NFU1NfVE9LRU4sIHVzZVZhbHVlOiBjb25maWcuYWNjZXNzVG9rZW4gfTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5vdGlvblJlcG9zaXRvcnk8RSBleHRlbmRzIEVudGl0eT4gZXh0ZW5kcyBSZXBvc2l0b3J5PEU+IHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGRhdGFiYXNlSWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNvbnZlcnRlcjogTm90aW9uQ29udmVydGVyPEU+O1xuXG4gIHByb3RlY3RlZCB0b2tlbjogc3RyaW5nID0gaW5qZWN0KE5PVElPTl9BQ0NFU1NfVE9LRU4pO1xuICBwcm90ZWN0ZWQgY2xpZW50ID0gbmV3IENsaWVudCh7YXV0aDogdGhpcy50b2tlbn0pO1xuICBwcm90ZWN0ZWQgcXVlcnlCdWlsZGVyID0gbmV3IE5vdGlvblF1ZXJ5QnVpbGRlcigpO1xuICBwcm90ZWN0ZWQgZ2V0IHBhcmVudCgpOiB7dHlwZTogJ2RhdGFiYXNlX2lkJywgZGF0YWJhc2VfaWQ6IHN0cmluZ30ge1xuICAgIHJldHVybiB7IHR5cGU6ICdkYXRhYmFzZV9pZCcsIGRhdGFiYXNlX2lkOiB0aGlzLmRhdGFiYXNlSWQgfTtcbiAgfVxuXG4gIGFzeW5jIHF1ZXJ5KFxuICAgIGZpbHRlclF1ZXJ5PzogTm90aW9uQmFzZVF1ZXJ5LCBcbiAgICBzb3J0UXVlcnk/OiBOb3Rpb25CYXNlUXVlcnksXG4gICAgc3RhcnRDdXJzb3I/OiBzdHJpbmcsXG4gICAgcGFnZVNpemU/OiBudW1iZXIsXG4gICkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvYmogPSB0aGlzLnF1ZXJ5QnVpbGRlci5idWlsZChmaWx0ZXJRdWVyeSwgc29ydFF1ZXJ5KTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LmRhdGFiYXNlcy5xdWVyeSh7XG4gICAgICAgIGRhdGFiYXNlX2lkOiB0aGlzLmRhdGFiYXNlSWQsXG4gICAgICAgIC4uLm9iaixcbiAgICAgICAgc3RhcnRfY3Vyc29yOiBzdGFydEN1cnNvcixcbiAgICAgICAgcGFnZV9zaXplOiBwYWdlU2l6ZSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdWx0czogcmVzLnJlc3VsdHMubWFwKHJlc3VsdCA9PiB0aGlzLmNvbnZlcnRlci5mcm9tTm90aW9uKHJlc3VsdCkpLFxuICAgICAgICBuZXh0Q3Vyc29yOiByZXMubmV4dF9jdXJzb3IsXG4gICAgICAgIGhhc01vcmU6IHJlcy5oYXNfbW9yZSxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcXVlcnlWMihhcmdzPzogYW55KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LmRhdGFiYXNlcy5xdWVyeSh7XG4gICAgICAgIGRhdGFiYXNlX2lkOiB0aGlzLmRhdGFiYXNlSWQsXG4gICAgICAgIC4uLihhcmdzID8/IHt9KSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdWx0czogcmVzLnJlc3VsdHMubWFwKHJlc3VsdCA9PiB0aGlzLmNvbnZlcnRlci5mcm9tTm90aW9uKHJlc3VsdCkpLFxuICAgICAgICBuZXh0Q3Vyc29yOiByZXMubmV4dF9jdXJzb3IsXG4gICAgICAgIGhhc01vcmU6IHJlcy5oYXNfbW9yZSxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbGlzdCh7XG4gICAgYmF0Y2hTaXplID0gMTAwLFxuICB9OiB7XG4gICAgYmF0Y2hTaXplPzogbnVtYmVyLFxuICB9ID0ge30pOiBQcm9taXNlPEVbXT4ge1xuICAgIGNvbnN0IGl0ZW1zOiBFW10gPSBbXTtcbiAgICBsZXQgbmV4dEN1cnNvcjogc3RyaW5nO1xuICAgIGxldCBwYWdlQ291bnQgPSAwO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKGBbTm90aW9uUmVwb3NpdG9yeV0gU3RhcnRpbmcgcGFnaW5hdGlvbiB3aXRoIGJhdGNoIHNpemU6ICR7YmF0Y2hTaXplfWApO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuICAgIHdoaWxlKHRydWUpIHtcbiAgICAgIHBhZ2VDb3VudCsrO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5xdWVyeSh1bmRlZmluZWQsIHVuZGVmaW5lZCwgbmV4dEN1cnNvciwgYmF0Y2hTaXplKTtcbiAgICAgIGNvbnNvbGUubG9nKGBbTm90aW9uUmVwb3NpdG9yeV0gUGFnZSAke3BhZ2VDb3VudH06IFJldHJpZXZlZCAke3Jlcy5yZXN1bHRzLmxlbmd0aH0gaXRlbXMsIGhhc01vcmU6ICR7cmVzLmhhc01vcmV9LCBuZXh0Q3Vyc29yOiAke3Jlcy5uZXh0Q3Vyc29yID8gJ3ByZXNlbnQnIDogJ251bGwnfWApO1xuICAgICAgXG4gICAgICBpdGVtcy5wdXNoKC4uLnJlcy5yZXN1bHRzKTtcbiAgICAgIG5leHRDdXJzb3IgPSByZXMubmV4dEN1cnNvcjtcbiAgICAgIFxuICAgICAgaWYgKCFyZXMuaGFzTW9yZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgW05vdGlvblJlcG9zaXRvcnldIFBhZ2luYXRpb24gY29tcGxldGUuIFRvdGFsIGl0ZW1zOiAke2l0ZW1zLmxlbmd0aH0gZnJvbSAke3BhZ2VDb3VudH0gcGFnZXNgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGxpc3RDaGFuZ2VzKCk6IE9ic2VydmFibGU8RVtdPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3Rpb25SZXBvc2l0b3J5Lmxpc3RDaGFuZ2VzKCkgaXMgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBhc3luYyBnZXQoe2lkfToge2lkOiBzdHJpbmd9KTogUHJvbWlzZTxFPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnBhZ2VzLnJldHJpZXZlKHtwYWdlX2lkOiBpZH0pO1xuICAgIHJldHVybiB0aGlzLmNvbnZlcnRlci5mcm9tTm90aW9uKGRhdGEpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlKGVudGl0eTogT21pdDxFLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz4gJiBQYXJ0aWFsPFBpY2s8RSwgJ2lkJz4+KTogUHJvbWlzZTxFPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LnBhZ2VzLmNyZWF0ZSh7XG4gICAgICAgIHBhcmVudDogdGhpcy5wYXJlbnQsXG4gICAgICAgIHByb3BlcnRpZXM6IHsuLi50aGlzLmNvbnZlcnRlci50b05vdGlvbihlbnRpdHkgYXMgRSl9LFxuICAgICAgfSk7IFxuICAgICAgcmV0dXJuIHRoaXMuY29udmVydGVyLmZyb21Ob3Rpb24ocmVzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlTWFueShkYXRhOiBPbWl0PEUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPltdKTogUHJvbWlzZTxFW10+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkuY3JlYXRlTWFueSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGVudGl0eTogUGFydGlhbDxFPikge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBwYWdlX2lkOiAoZW50aXR5IGFzIGFueSkuaWQsXG4gICAgICBwcm9wZXJ0aWVzOiB7Li4udGhpcy5jb252ZXJ0ZXIudG9Ob3Rpb24oZW50aXR5KX0sXG4gICAgfTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5wYWdlcy51cGRhdGUoZGF0YSk7XG4gIH1cblxuICBhc3luYyBzYXZlKGRhdGE6IFBhcnRpYWw8RT4pOiBQcm9taXNlPGJvb2xlYW4gfCBbRSwgYm9vbGVhbl0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkuc2F2ZSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZU1hbnkoZW50aXRpZXM6IEVbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90aW9uUmVwb3NpdG9yeS5zYXZlTWFueSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlTWFueShkYXRhOiBQYXJ0aWFsPEU+W10pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkudXBkYXRlTWFueSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKHtpZH06IHtpZDogc3RyaW5nfSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90aW9uUmVwb3NpdG9yeS5kZWxldGUoKSBpcyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZU1hbnkocGFyYW1zOiB7IGlkOiBzdHJpbmc7IH1bXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3Rpb25SZXBvc2l0b3J5LmRlbGV0ZU1hbnkoKSBpcyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkuZGVsZXRlQWxsKCkgaXMgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLW5vdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvbngtZGRkLW5vdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nx-ddd-notion.mjs","sources":["../tmp-esm2022/utils.js","../tmp-esm2022/decorators/decorators.js","../tmp-esm2022/converter/converter.js","../tmp-esm2022/notion/notion.service.js","../tmp-esm2022/query/query.js","../tmp-esm2022/query-builder/query-builder.js","../tmp-esm2022/repository/repository.js","../tmp-esm2022/nx-ddd-notion.js"],"sourcesContent":["import dayjs from \"dayjs\";\n// | NotionCheckbox;\nexport class NotionUtils {\n static toNotionValue(value, annotation) {\n switch (annotation.type) {\n case 'title': return this.toNotionTitle(value);\n case 'status': return this.toNotionStatus(value);\n case 'relation':\n if (annotation.options.multi) {\n return this.toNotionRelationMulti(value);\n }\n else {\n return this.toNotionRelation(value);\n }\n case 'formula': return this.toNotionFormula(value);\n case 'rich_text': return this.toNotionRichText(value);\n case 'rollup': return this.toNotionRollup(value);\n case 'url': return this.toNotionUrl(value);\n case 'date': return this.toNotionDate(value);\n case 'select': return this.toNotionSelect(value);\n case 'number': return this.toNotionNumber(value);\n case 'phone_number': return this.toNotionPhoneNumber(value);\n case 'email': return this.toNotionEmail(value);\n }\n }\n static toNotionTitle(value) {\n return value ? { type: 'title', title: [{ text: { content: value } }] } : undefined;\n }\n static toNotionStatus(value) {\n return value ? { type: 'status', status: { name: value } } : undefined;\n }\n static toNotionRelationMulti(ids) {\n return Array.isArray(ids) ? { type: 'relation', relation: (ids).map(id => ({ id })) } : undefined;\n }\n static toNotionRelation(value) {\n return value ? this.toNotionRelationMulti([value]) : undefined;\n }\n static toNotionRichText(text) {\n return text ? { type: 'rich_text', rich_text: [{ text: { content: text } }] } : undefined;\n }\n static toNotionFormula(value) {\n return;\n }\n static toNotionRollup(value) {\n return;\n }\n static toNotionUrl(value) {\n return value ? { type: 'url', url: value } : undefined;\n }\n static toNotionDate(value) {\n // TODO(nontangent): endも考慮する。\n return value ? { type: 'date', date: { start: dayjs(value).format() } } : undefined;\n }\n static toNotionSelect(value) {\n return value ? { type: 'select', select: { name: value } } : undefined;\n }\n static toNotionPhoneNumber(value) {\n return value ? { type: 'phone_number', phone_number: value } : undefined;\n }\n static toNotionNumber(value) {\n return value ? { type: 'number', number: value } : undefined;\n }\n static toNotionEmail(value) {\n return value ? { type: 'email', email: value } : undefined;\n }\n static fromNotionValue(value, annotation) {\n switch (value.type) {\n case 'title': return this.fromNotionTitle(value);\n case 'formula': return this.fromNotionFormula(value);\n case 'relation':\n if (annotation.options.multi) {\n return this.fromNotionRelationMulti(value);\n }\n else {\n return this.fromNotionRelation(value);\n }\n case 'rich_text': return this.fromNotionRichText(value);\n case 'status': return this.fromNotionStatus(value);\n case 'url': return this.fromNotionUrl(value);\n case 'rollup':\n if (annotation.options.multi) {\n return this.fromNotionRollupMulti(value);\n }\n else {\n return this.fromNotionRollup(value);\n }\n case 'created_time': return this.fromNotionCreatedTime(value);\n case 'last_edited_time': return this.fromNotionLastEditedTime(value);\n case 'date': return this.fromNotionDate(value);\n case 'number': return this.fromNotionNumber(value);\n case 'select': return this.fromNotionSelect(value);\n case 'phone_number': return this.fromNotionPhoneNumber(value);\n case 'email': return this.fromNotionEmail(value);\n case 'unique_id': return this.fromNotionUniqueID(value);\n }\n }\n static fromNotionTitle(notionTitle) {\n return notionTitle?.title?.[0]?.text?.content ?? '';\n }\n static fromNotionUrl(notionUrl) {\n return notionUrl.url;\n }\n static fromNotionRichText(notionRichText) {\n return notionRichText.rich_text.map(({ plain_text }) => plain_text).join('') || null;\n }\n static fromNotionRelation(notionRelation) {\n return this.fromNotionRelationMulti(notionRelation)?.[0] ?? null;\n }\n static fromNotionRelationMulti(notionRelation) {\n return notionRelation.relation.map(r => r.id);\n }\n static fromNotionStatus(notionStatus) {\n return notionStatus.status?.name ?? null;\n }\n static fromNotionFormula(notionFormula) {\n switch (notionFormula.formula?.type) {\n case 'string': return notionFormula.formula.string;\n case 'number': return notionFormula.formula.number;\n case 'date': return this.fromNotionDate(notionFormula.formula);\n }\n }\n static fromNotionRollup(notionRollup) {\n if (notionRollup.rollup.type === 'number') {\n return this.fromNotionNumber(notionRollup.rollup);\n }\n return this.fromNotionRollupMulti(notionRollup)?.[0] ?? null;\n }\n static fromNotionRollupMulti(notionRollup) {\n if (notionRollup.rollup.type === 'number') {\n return [];\n }\n return (notionRollup.rollup.array ?? []).map(notionValue => {\n if (notionValue.type === 'rich_text') {\n return (notionValue.rich_text ?? []).map(text => text.plain_text).join();\n }\n else if (notionValue.type === 'number') {\n return notionValue.number ?? null;\n }\n return [];\n });\n }\n static fromNotionCreatedTime(notionCreatedTime) {\n return dayjs(notionCreatedTime.created_time);\n }\n static fromNotionLastEditedTime(notionLastEditedTime) {\n return dayjs(notionLastEditedTime.last_edited_time);\n }\n static fromNotionDate(notionDate) {\n return notionDate.date?.start ? dayjs(notionDate.date?.start).toDate() : null;\n }\n static fromNotionNumber(notionNumber) {\n return notionNumber.number ?? null;\n }\n static fromNotionSelect(notionSelect) {\n return notionSelect.select?.name ?? null;\n }\n static fromNotionPhoneNumber(notionPhoneNumber) {\n return notionPhoneNumber.phone_number ?? null;\n }\n static fromNotionEmail(notionEmail) {\n return notionEmail.email ?? null;\n }\n static fromNotionUniqueID(value) {\n return value.unique_id.number;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL25vdGlvbi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQWlFeEIscUJBQXFCO0FBRXZCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBVSxFQUFFLFVBQTRCO1FBQzNELFFBQU8sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELEtBQUssVUFBVTtnQkFDYixJQUFLLFVBQVUsQ0FBQyxPQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3RDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLENBQUM7WUFDSCxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRCxLQUFLLFdBQVcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLEtBQUssTUFBTSxDQUFDLENBQUMs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O1xuaW1wb3J0IHsgTm90aW9uQW5ub3RhdGlvbiB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcblxudHlwZSBOb3Rpb25UZXh0ID0ge1xuICB0eXBlOiAndGV4dCcsIFxuICB0ZXh0OiB7IGNvbnRlbnQ6IHN0cmluZyB9LFxuICBwbGFpbl90ZXh0OiBzdHJpbmcsXG59XG5cbnR5cGUgTm90aW9uQXJyYXkgPSB7XG4gIHR5cGU6ICdhcnJheScsXG4gIGFycmF5OiAoTm90aW9uUmljaFRleHRbXSB8IE5vdGlvbk51bWJlcltdKSxcbiAgZnVuY3Rpb246ICdzaG93X29yaWdpbmFsJ1xufVxuXG5leHBvcnQgdHlwZSBOb3Rpb25UaXRsZSA9IHt0eXBlOiAndGl0bGUnLCB0aXRsZToge3RleHQ6IHtjb250ZW50OiBzdHJpbmd9fVtdfTtcbmV4cG9ydCB0eXBlIE5vdGlvblVybCA9IHtpZDogc3RyaW5nLCB0eXBlOiAndXJsJywgdXJsOiBzdHJpbmcgfCBudWxsfTtcbmV4cG9ydCB0eXBlIE5vdGlvblJpY2hUZXh0ID0ge1xuICBpZDogc3RyaW5nLCBcbiAgdHlwZTogJ3JpY2hfdGV4dCcsIFxuICByaWNoX3RleHQ6IE5vdGlvblRleHRbXVxufTtcbmV4cG9ydCB0eXBlIE5vdGlvbk51bWJlciA9IHtpZDogc3RyaW5nLCB0eXBlOiAnbnVtYmVyJywgbnVtYmVyOiBudW1iZXJ9O1xuZXhwb3J0IHR5cGUgTm90aW9uUmVsYXRpb24gPSB7aWQ6IHN0cmluZywgdHlwZTogJ3JlbGF0aW9uJywgcmVsYXRpb246IHtpZDogc3RyaW5nfVtdLCBoYXNfbW9yZTogYm9vbGVhbn07XG5leHBvcnQgdHlwZSBOb3Rpb25TdGF0dXMgPSB7aWQ6IHN0cmluZywgdHlwZTogJ3N0YXR1cycsIHN0YXR1czoge2lkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgY29sb3I6IHN0cmluZ319O1xuZXhwb3J0IHR5cGUgTm90aW9uRm9ybXVsYSA9IHtcbiAgaWQ6IHN0cmluZyxcbiAgdHlwZTogJ2Zvcm11bGEnLFxuICBmb3JtdWxhOiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgc3RyaW5nOiBzdHJpbmdcbiAgfSB8IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBudW1iZXI6IG51bWJlclxuICB9IHwge1xuICAgIHR5cGU6ICdkYXRlJyxcbiAgICBkYXRlOiB7XG4gICAgICBzdGFydDogc3RyaW5nLFxuICAgICAgZW5kOiBzdHJpbmcsXG4gICAgICB0aW1lX3pvbmU6IG51bGwsXG4gICAgfVxuICB9XG59O1xuZXhwb3J0IHR5cGUgTm90aW9uUm9sbHVwID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdyb2xsdXAnLCByb2xsdXA6IE5vdGlvbkFycmF5IHwgTm90aW9uTnVtYmVyfTtcblxuZXhwb3J0IHR5cGUgTm90aW9uQ3JlYXRlZFRpbWUgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2NyZWF0ZWRfdGltZScsIGNyZWF0ZWRfdGltZTogc3RyaW5nfTtcbmV4cG9ydCB0eXBlIE5vdGlvbkxhc3RFZGl0ZWRUaW1lID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdsYXN0X2VkaXRlZF90aW1lJywgbGFzdF9lZGl0ZWRfdGltZTogc3RyaW5nfTtcbmV4cG9ydCB0eXBlIE5vdGlvbkRhdGUgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2RhdGUnLCBkYXRlOiBhbnkgfTtcbmV4cG9ydCB0eXBlIE5vdGlvblNlbGVjdCA9IHtpZDogc3RyaW5nLCB0eXBlOiAnc2VsZWN0Jywgc2VsZWN0OiB7aWQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBjb2xvcjogc3RyaW5nfX07XG5cbmV4cG9ydCB0eXBlIE5vdGlvblBob25lTnVtYmVyID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdwaG9uZV9udW1iZXInLCBwaG9uZV9udW1iZXI6IHN0cmluZ307XG5leHBvcnQgdHlwZSBOb3Rpb25FbWFpbCA9IHtpZDogc3RyaW5nLCB0eXBlOiAnZW1haWwnLCBlbWFpbDogc3RyaW5nfTtcbmV4cG9ydCB0eXBlIE5vdGlvbklEID0ge2lkOiBzdHJpbmcsIHR5cGU6ICd1bmlxdWVfaWQnLCB1bmlxdWVfaWQ6IHtwcmVmaXg6IHN0cmluZyB8IG51bGwsIG51bWJlcjogbnVtYmVyfX07XG4vLyBleHBvcnQgdHlwZSBOb3Rpb25DaGVja2JveCA9IHtpZDogc3RyaW5nLCB0eXBlOiAnY2hlY2tib3gnLCBjaGVja2JveDogYm9vbGVhbn07XG4vLyBleHBvcnQgdHlwZSBOb3Rpb25DcmVhdGVkQnkgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2NyZWF0ZWRfYnknLCBjcmVhdGVkX2J5OiB7aWQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBhdmF0YXJfdXJsOiBzdHJpbmcsIHR5cGU6IHN0cmluZ319O1xuLy8gZXhwb3J0IHR5cGUgTm90aW9uRmlsZXMgPSB7aWQ6IHN0cmluZywgdHlwZTogJ2ZpbGVzJywgZmlsZXM6IHtuYW1lOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgZmlsZV9pZDogc3RyaW5nLCBzaXplOiBudW1iZXJ9W119O1xuLy8gZXhwb3J0IHR5cGUgTm90aW9uTGFzdEVkaXRlZEJ5ID0ge2lkOiBzdHJpbmcsIHR5cGU6ICdsYXN0X2VkaXRlZF9ieScsIGxhc3RfZWRpdGVkX2J5OiB7aWQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBhdmF0YXJfdXJsOiBzdHJpbmcsIHR5cGU6IHN0cmluZ319O1xuLy8gZXhwb3J0IHR5cGUgTm90aW9uTXVsdGlTZWxlY3QgPSB7aWQ6IHN0cmluZywgdHlwZTogJ211bHRpX3NlbGVjdCcsIG11bHRpX3NlbGVjdDoge2lkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgY29sb3I6IHN0cmluZ31bXX07XG4vLyBleHBvcnQgdHlwZSBOb3Rpb25QZW9wbGUgPSB7aWQ6IHN0cmluZywgdHlwZTogJ3Blb3BsZScsIHBlb3BsZToge2lkOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgYXZhdGFyX3VybDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9W119O1xuXG5cbmV4cG9ydCB0eXBlIE5vdGlvblZhbHVlID0gTm90aW9uVGl0bGUgfCBOb3Rpb25VcmwgfCBOb3Rpb25SaWNoVGV4dCB8IE5vdGlvbk51bWJlclxuICB8IE5vdGlvblJlbGF0aW9uIHwgTm90aW9uU3RhdHVzIHwgTm90aW9uRm9ybXVsYSB8IE5vdGlvblJvbGx1cCBcbiAgfCBOb3Rpb25DcmVhdGVkVGltZSB8IE5vdGlvbkxhc3RFZGl0ZWRUaW1lIHwgTm90aW9uRGF0ZSB8IE5vdGlvblNlbGVjdFxuICB8IE5vdGlvblBob25lTnVtYmVyIHwgTm90aW9uRW1haWwgfCBOb3Rpb25JRDtcbiAgLy8gIHwgTm90aW9uQ2hlY2tib3g7XG5cbmV4cG9ydCBjbGFzcyBOb3Rpb25VdGlscyB7XG4gIHN0YXRpYyB0b05vdGlvblZhbHVlKHZhbHVlOiBhbnksIGFubm90YXRpb246IE5vdGlvbkFubm90YXRpb24pIHtcbiAgICBzd2l0Y2goYW5ub3RhdGlvbi50eXBlKSB7XG4gICAgICBjYXNlICd0aXRsZSc6IHJldHVybiB0aGlzLnRvTm90aW9uVGl0bGUodmFsdWUpO1xuICAgICAgY2FzZSAnc3RhdHVzJzogcmV0dXJuIHRoaXMudG9Ob3Rpb25TdGF0dXModmFsdWUpO1xuICAgICAgY2FzZSAncmVsYXRpb24nOlxuICAgICAgICBpZiAoKGFubm90YXRpb24ub3B0aW9ucyBhcyBhbnkpLm11bHRpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudG9Ob3Rpb25SZWxhdGlvbk11bHRpKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy50b05vdGlvblJlbGF0aW9uKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAnZm9ybXVsYSc6IHJldHVybiB0aGlzLnRvTm90aW9uRm9ybXVsYSh2YWx1ZSk7XG4gICAgICBjYXNlICdyaWNoX3RleHQnOiByZXR1cm4gdGhpcy50b05vdGlvblJpY2hUZXh0KHZhbHVlKTtcbiAgICAgIGNhc2UgJ3JvbGx1cCc6IHJldHVybiB0aGlzLnRvTm90aW9uUm9sbHVwKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3VybCc6IHJldHVybiB0aGlzLnRvTm90aW9uVXJsKHZhbHVlKTtcbiAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4gdGhpcy50b05vdGlvbkRhdGUodmFsdWUpO1xuICAgICAgY2FzZSAnc2VsZWN0JzogcmV0dXJuIHRoaXMudG9Ob3Rpb25TZWxlY3QodmFsdWUpO1xuICAgICAgY2FzZSAnbnVtYmVyJzogcmV0dXJuIHRoaXMudG9Ob3Rpb25OdW1iZXIodmFsdWUpO1xuICAgICAgY2FzZSAncGhvbmVfbnVtYmVyJzogcmV0dXJuIHRoaXMudG9Ob3Rpb25QaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICBjYXNlICdlbWFpbCc6IHJldHVybiB0aGlzLnRvTm90aW9uRW1haWwodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUgPyB7dHlwZTogJ3RpdGxlJywgdGl0bGU6IFt7dGV4dDoge2NvbnRlbnQ6IHZhbHVlfX1dfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblN0YXR1cyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICdzdGF0dXMnLCBzdGF0dXM6IHtuYW1lOiB2YWx1ZX19IDogdW5kZWZpbmVkOyBcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblJlbGF0aW9uTXVsdGkoaWRzOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGlkcykgPyB7dHlwZTogJ3JlbGF0aW9uJywgcmVsYXRpb246IChpZHMpLm1hcChpZCA9PiAoe2lkfSkpfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblJlbGF0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUgPyB0aGlzLnRvTm90aW9uUmVsYXRpb25NdWx0aShbdmFsdWVdKSA6IHVuZGVmaW5lZDtcbiAgfVxuICBcbiAgc3RhdGljIHRvTm90aW9uUmljaFRleHQodGV4dD86IHN0cmluZykge1xuICAgIHJldHVybiB0ZXh0ID8ge3R5cGU6ICdyaWNoX3RleHQnLCByaWNoX3RleHQ6IFt7dGV4dDoge2NvbnRlbnQ6IHRleHR9fV19IDogdW5kZWZpbmVkO1xuICB9XG4gIFxuICBzdGF0aWMgdG9Ob3Rpb25Gb3JtdWxhKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBzdGF0aWMgdG9Ob3Rpb25Sb2xsdXAodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblVybCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICd1cmwnLCB1cmw6IHZhbHVlfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvbkRhdGUodmFsdWU6IERhdGUpIHtcbiAgICAvLyBUT0RPKG5vbnRhbmdlbnQpOiBlbmTjgoLogIPmha7jgZnjgovjgIJcbiAgICByZXR1cm4gdmFsdWUgPyB7dHlwZTogJ2RhdGUnLCBkYXRlOiB7c3RhcnQ6IGRheWpzKHZhbHVlKS5mb3JtYXQoKSB9fSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvblNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICdzZWxlY3QnLCBzZWxlY3Q6IHtuYW1lOiB2YWx1ZX19IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIHRvTm90aW9uUGhvbmVOdW1iZXIodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZSA/IHt0eXBlOiAncGhvbmVfbnVtYmVyJywgcGhvbmVfbnVtYmVyOiB2YWx1ZX0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgdG9Ob3Rpb25OdW1iZXIodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiB2YWx1ZSA/IHt0eXBlOiAnbnVtYmVyJywgbnVtYmVyOiB2YWx1ZX0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgdG9Ob3Rpb25FbWFpbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8ge3R5cGU6ICdlbWFpbCcsIGVtYWlsOiB2YWx1ZX0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblZhbHVlKHZhbHVlOiBOb3Rpb25WYWx1ZSwgYW5ub3RhdGlvbjogTm90aW9uQW5ub3RhdGlvbikge1xuICAgIHN3aXRjaCh2YWx1ZS50eXBlKSB7XG4gICAgICBjYXNlICd0aXRsZSc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25UaXRsZSh2YWx1ZSk7XG4gICAgICBjYXNlICdmb3JtdWxhJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvbkZvcm11bGEodmFsdWUpO1xuICAgICAgY2FzZSAncmVsYXRpb24nOlxuICAgICAgICBpZiAoKGFubm90YXRpb24ub3B0aW9ucyBhcyBhbnkpLm11bHRpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZnJvbU5vdGlvblJlbGF0aW9uTXVsdGkodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25SZWxhdGlvbih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ3JpY2hfdGV4dCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25SaWNoVGV4dCh2YWx1ZSk7XG4gICAgICBjYXNlICdzdGF0dXMnOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uU3RhdHVzKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3VybCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25VcmwodmFsdWUpO1xuICAgICAgY2FzZSAncm9sbHVwJzpcbiAgICAgICAgaWYgKChhbm5vdGF0aW9uLm9wdGlvbnMgYXMgYW55KS5tdWx0aSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25Sb2xsdXBNdWx0aSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZnJvbU5vdGlvblJvbGx1cCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ2NyZWF0ZWRfdGltZSc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25DcmVhdGVkVGltZSh2YWx1ZSk7XG4gICAgICBjYXNlICdsYXN0X2VkaXRlZF90aW1lJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvbkxhc3RFZGl0ZWRUaW1lKHZhbHVlKTtcbiAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uRGF0ZSh2YWx1ZSk7XG4gICAgICBjYXNlICdudW1iZXInOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3NlbGVjdCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25TZWxlY3QodmFsdWUpO1xuICAgICAgY2FzZSAncGhvbmVfbnVtYmVyJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvblBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNhc2UgJ2VtYWlsJzogcmV0dXJuIHRoaXMuZnJvbU5vdGlvbkVtYWlsKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3VuaXF1ZV9pZCc6IHJldHVybiB0aGlzLmZyb21Ob3Rpb25VbmlxdWVJRCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25UaXRsZShub3Rpb25UaXRsZTogTm90aW9uVGl0bGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBub3Rpb25UaXRsZT8udGl0bGU/LlswXT8udGV4dD8uY29udGVudCA/PyAnJztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uVXJsKG5vdGlvblVybDogTm90aW9uVXJsKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIG5vdGlvblVybC51cmw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJpY2hUZXh0KG5vdGlvblJpY2hUZXh0OiBOb3Rpb25SaWNoVGV4dCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBub3Rpb25SaWNoVGV4dC5yaWNoX3RleHQubWFwKCh7cGxhaW5fdGV4dH0pID0+IHBsYWluX3RleHQpLmpvaW4oJycpIHx8IG51bGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJlbGF0aW9uKG5vdGlvblJlbGF0aW9uOiBOb3Rpb25SZWxhdGlvbik6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25SZWxhdGlvbk11bHRpKG5vdGlvblJlbGF0aW9uKT8uWzBdID8/IG51bGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJlbGF0aW9uTXVsdGkobm90aW9uUmVsYXRpb246IE5vdGlvblJlbGF0aW9uKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBub3Rpb25SZWxhdGlvbi5yZWxhdGlvbi5tYXAociA9PiByLmlkKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uU3RhdHVzKG5vdGlvblN0YXR1czogTm90aW9uU3RhdHVzKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIG5vdGlvblN0YXR1cy5zdGF0dXM/Lm5hbWUgPz8gbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uRm9ybXVsYShub3Rpb25Gb3JtdWxhOiBOb3Rpb25Gb3JtdWxhKTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB7XG4gICAgc3dpdGNoKG5vdGlvbkZvcm11bGEuZm9ybXVsYT8udHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzogcmV0dXJuIG5vdGlvbkZvcm11bGEuZm9ybXVsYS5zdHJpbmc7XG4gICAgICBjYXNlICdudW1iZXInOiByZXR1cm4gbm90aW9uRm9ybXVsYS5mb3JtdWxhLm51bWJlcjtcbiAgICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4gdGhpcy5mcm9tTm90aW9uRGF0ZShub3Rpb25Gb3JtdWxhLmZvcm11bGEgYXMgYW55KTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvblJvbGx1cChub3Rpb25Sb2xsdXA6IE5vdGlvblJvbGx1cCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgaWYgKG5vdGlvblJvbGx1cC5yb2xsdXAudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25OdW1iZXIobm90aW9uUm9sbHVwLnJvbGx1cCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZyb21Ob3Rpb25Sb2xsdXBNdWx0aShub3Rpb25Sb2xsdXApPy5bMF0gPz8gbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uUm9sbHVwTXVsdGkobm90aW9uUm9sbHVwOiBOb3Rpb25Sb2xsdXApOiBzdHJpbmdbXSB8IG51bWJlcltdIHtcbiAgICBpZiAobm90aW9uUm9sbHVwLnJvbGx1cC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gKG5vdGlvblJvbGx1cC5yb2xsdXAuYXJyYXkgPz8gW10pLm1hcChub3Rpb25WYWx1ZSA9PiB7XG4gICAgICBpZiAobm90aW9uVmFsdWUudHlwZSA9PT0gJ3JpY2hfdGV4dCcpIHtcbiAgICAgICAgcmV0dXJuIChub3Rpb25WYWx1ZS5yaWNoX3RleHQgPz8gW10pLm1hcCh0ZXh0ID0+IHRleHQucGxhaW5fdGV4dCkuam9pbigpO1xuICAgICAgfSBlbHNlIGlmIChub3Rpb25WYWx1ZS50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gbm90aW9uVmFsdWUubnVtYmVyID8/IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvbkNyZWF0ZWRUaW1lKG5vdGlvbkNyZWF0ZWRUaW1lOiBOb3Rpb25DcmVhdGVkVGltZSk6IGRheWpzLkRheWpzIHtcbiAgICByZXR1cm4gZGF5anMobm90aW9uQ3JlYXRlZFRpbWUuY3JlYXRlZF90aW1lKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uTGFzdEVkaXRlZFRpbWUobm90aW9uTGFzdEVkaXRlZFRpbWU6IE5vdGlvbkxhc3RFZGl0ZWRUaW1lKTogZGF5anMuRGF5anMge1xuICAgIHJldHVybiBkYXlqcyhub3Rpb25MYXN0RWRpdGVkVGltZS5sYXN0X2VkaXRlZF90aW1lKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aW9uRGF0ZShub3Rpb25EYXRlOiBOb3Rpb25EYXRlKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiBub3Rpb25EYXRlLmRhdGU/LnN0YXJ0ID8gZGF5anMobm90aW9uRGF0ZS5kYXRlPy5zdGFydCkudG9EYXRlKCkgOiBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25OdW1iZXIobm90aW9uTnVtYmVyOiBOb3Rpb25OdW1iZXIpIHtcbiAgICByZXR1cm4gbm90aW9uTnVtYmVyLm51bWJlciA/PyBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25TZWxlY3Qobm90aW9uU2VsZWN0OiBOb3Rpb25TZWxlY3QpIHtcbiAgICByZXR1cm4gbm90aW9uU2VsZWN0LnNlbGVjdD8ubmFtZSA/PyBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25QaG9uZU51bWJlcihub3Rpb25QaG9uZU51bWJlcjogTm90aW9uUGhvbmVOdW1iZXIpIHtcbiAgICByZXR1cm4gbm90aW9uUGhvbmVOdW1iZXIucGhvbmVfbnVtYmVyID8/IG51bGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGlvbkVtYWlsKG5vdGlvbkVtYWlsOiBOb3Rpb25FbWFpbCkge1xuICAgIHJldHVybiBub3Rpb25FbWFpbC5lbWFpbCA/PyBudWxsO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3Rpb25VbmlxdWVJRCh2YWx1ZTogTm90aW9uSUQpIHtcbiAgICByZXR1cm4gdmFsdWUudW5pcXVlX2lkLm51bWJlcjtcbiAgfVxuXG59XG4iXX0=","export const NOTION_ANNOTATIONS = 'notion_annotations';\nfunction createDecorator(type, defaultOptions) {\n return (name, options) => {\n return (target, propName) => {\n const fieldName = name || propName;\n const ANNOTATION = { type, fieldName, propName, options: { ...defaultOptions, ...options } };\n target.constructor[NOTION_ANNOTATIONS] ??= [];\n target.constructor[NOTION_ANNOTATIONS].push(ANNOTATION);\n };\n };\n}\nexport const Title = createDecorator('title');\nexport const Url = createDecorator('url');\nexport const RichText = createDecorator('rich_text');\nexport const Relation = createDecorator('relation', { multi: false });\nexport const Status = createDecorator('status');\nexport const Formula = createDecorator('formula');\nexport const Rollup = createDecorator('rollup', { multi: false });\nexport const Timestamp = createDecorator('timestamp');\nexport const Number = createDecorator('number');\nexport const CreatedTime = createDecorator('created_time');\nexport const LastEditedTime = createDecorator('last_edited_time');\nexport const Date = createDecorator('date');\nexport const Select = createDecorator('select');\nexport const PhoneNumber = createDecorator('phone_number');\nexport const Email = createDecorator('email');\nexport const UniqueID = createDecorator('unique_id');\n// Not implemented below props!\n// export const Checkbox = createDecorator('checkbox');\n// export const CreatedBy = createDecorator('created_by');\n// export const Files = createDecorator('files');\n// export const LastEditedBy = createDecorator('last_edited_by');\n// export const MultiSelect = createDecorator('multi_select');\n// export const People = createDecorator('people');\nexport const Notion = {\n Title,\n Url,\n RichText,\n Relation,\n Status,\n Formula,\n Rollup,\n Timestamp,\n Number,\n CreatedTime,\n LastEditedTime,\n Date,\n Select,\n PhoneNumber,\n Email,\n UniqueID,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvZGVjb3JhdG9ycy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBYXZELFNBQVMsZUFBZSxDQUErQixJQUFxQixFQUFFLGNBQWtCO0lBQzlGLE9BQU8sQ0FBQyxJQUFhLEVBQUUsT0FBb0IsRUFBRSxFQUFFO1FBQzdDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxRQUFRLENBQUM7WUFDbkMsTUFBTSxVQUFVLEdBQXdCLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUMsR0FBRyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUMsRUFBQyxDQUFDO1lBQzlHLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBbUIsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7QUFDdEYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQW1CLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDckQsK0JBQStCO0FBQy9CLHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsaURBQWlEO0FBQ2pELGlFQUFpRTtBQUNqRSw4REFBOEQ7QUFDOUQsbURBQW1EO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRztJQUNwQixLQUFLO0lBQ0wsR0FBRztJQUNILFFBQVE7SUFDUixRQUFRO0lBQ1IsTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztJQUNULE1BQU07SUFDTixXQUFXO0lBQ1gsY0FBYztJQUNkLElBQUk7SUFDSixNQUFNO0lBQ04sV0FBVztJQUNYLEtBQUs7SUFDTCxRQUFRO0NBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOT1RJT05fQU5OT1RBVElPTlMgPSAnbm90aW9uX2Fubm90YXRpb25zJztcbmV4cG9ydCB0eXBlIE5vdGlvbkZpZWxkVHlwZSA9ICd0aXRsZScgfCAndXJsJyB8ICdyaWNoX3RleHQnIFxuICB8ICdyZWxhdGlvbicgfCAnc3RhdHVzJyB8ICdmb3JtdWxhJyB8ICdyb2xsdXAnIHwgJ3RpbWVzdGFtcCdcbiAgfCAnbnVtYmVyJyB8ICdjcmVhdGVkX3RpbWUnIHwgJ2xhc3RfZWRpdGVkX3RpbWUnIHwgJ2RhdGUnIHwgJ3NlbGVjdCdcbiAgfCAncGhvbmVfbnVtYmVyJyB8ICdlbWFpbCcgfCAnY2hlY2tib3gnIHwgJ2NyZWF0ZWRfYnknIHwgJ2ZpbGVzJ1xuICB8ICdsYXN0X2VkaXRlZF9ieScgfCAnbXVsdGlfc2VsZWN0JyB8ICdwZW9wbGUnIHwgJ3VuaXF1ZV9pZCc7XG5leHBvcnQgaW50ZXJmYWNlIE5vdGlvbkFubm90YXRpb248VCBleHRlbmRzIG9iamVjdCA9IHVuZGVmaW5lZD4ge1xuICB0eXBlOiBOb3Rpb25GaWVsZFR5cGU7XG4gIGZpZWxkTmFtZTogc3RyaW5nO1xuICBwcm9wTmFtZTogc3RyaW5nO1xuICBvcHRpb25zPzogVDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVjb3JhdG9yPFQgZXh0ZW5kcyBvYmplY3QgPSB1bmRlZmluZWQ+KHR5cGU6IE5vdGlvbkZpZWxkVHlwZSwgZGVmYXVsdE9wdGlvbnM/OiBUKSB7XG4gIHJldHVybiAobmFtZT86IHN0cmluZywgb3B0aW9ucz86IFBhcnRpYWw8VD4pID0+IHtcbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBuYW1lIHx8IHByb3BOYW1lO1xuICAgICAgY29uc3QgQU5OT1RBVElPTjogTm90aW9uQW5ub3RhdGlvbjxUPiA9IHt0eXBlLCBmaWVsZE5hbWUsIHByb3BOYW1lLCBvcHRpb25zOiB7Li4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdGlvbnN9fTtcbiAgICAgIHRhcmdldC5jb25zdHJ1Y3RvcltOT1RJT05fQU5OT1RBVElPTlNdID8/PSBbXTtcbiAgICAgIHRhcmdldC5jb25zdHJ1Y3RvcltOT1RJT05fQU5OT1RBVElPTlNdLnB1c2goQU5OT1RBVElPTik7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFRpdGxlID0gY3JlYXRlRGVjb3JhdG9yKCd0aXRsZScpO1xuZXhwb3J0IGNvbnN0IFVybCA9IGNyZWF0ZURlY29yYXRvcigndXJsJyk7XG5leHBvcnQgY29uc3QgUmljaFRleHQgPSBjcmVhdGVEZWNvcmF0b3IoJ3JpY2hfdGV4dCcpO1xuZXhwb3J0IGNvbnN0IFJlbGF0aW9uID0gY3JlYXRlRGVjb3JhdG9yPHttdWx0aTogYm9vbGVhbn0+KCdyZWxhdGlvbicsIHttdWx0aTogZmFsc2V9KTtcbmV4cG9ydCBjb25zdCBTdGF0dXMgPSBjcmVhdGVEZWNvcmF0b3IoJ3N0YXR1cycpO1xuZXhwb3J0IGNvbnN0IEZvcm11bGEgPSBjcmVhdGVEZWNvcmF0b3IoJ2Zvcm11bGEnKTtcbmV4cG9ydCBjb25zdCBSb2xsdXAgPSBjcmVhdGVEZWNvcmF0b3I8e211bHRpOiBib29sZWFufT4oJ3JvbGx1cCcsIHttdWx0aTogZmFsc2V9KTtcbmV4cG9ydCBjb25zdCBUaW1lc3RhbXAgPSBjcmVhdGVEZWNvcmF0b3IoJ3RpbWVzdGFtcCcpO1xuZXhwb3J0IGNvbnN0IE51bWJlciA9IGNyZWF0ZURlY29yYXRvcignbnVtYmVyJyk7XG5leHBvcnQgY29uc3QgQ3JlYXRlZFRpbWUgPSBjcmVhdGVEZWNvcmF0b3IoJ2NyZWF0ZWRfdGltZScpO1xuZXhwb3J0IGNvbnN0IExhc3RFZGl0ZWRUaW1lID0gY3JlYXRlRGVjb3JhdG9yKCdsYXN0X2VkaXRlZF90aW1lJyk7XG5leHBvcnQgY29uc3QgRGF0ZSA9IGNyZWF0ZURlY29yYXRvcignZGF0ZScpO1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IGNyZWF0ZURlY29yYXRvcignc2VsZWN0Jyk7XG5leHBvcnQgY29uc3QgUGhvbmVOdW1iZXIgPSBjcmVhdGVEZWNvcmF0b3IoJ3Bob25lX251bWJlcicpO1xuZXhwb3J0IGNvbnN0IEVtYWlsID0gY3JlYXRlRGVjb3JhdG9yKCdlbWFpbCcpO1xuZXhwb3J0IGNvbnN0IFVuaXF1ZUlEID0gY3JlYXRlRGVjb3JhdG9yKCd1bmlxdWVfaWQnKTtcbi8vIE5vdCBpbXBsZW1lbnRlZCBiZWxvdyBwcm9wcyFcbi8vIGV4cG9ydCBjb25zdCBDaGVja2JveCA9IGNyZWF0ZURlY29yYXRvcignY2hlY2tib3gnKTtcbi8vIGV4cG9ydCBjb25zdCBDcmVhdGVkQnkgPSBjcmVhdGVEZWNvcmF0b3IoJ2NyZWF0ZWRfYnknKTtcbi8vIGV4cG9ydCBjb25zdCBGaWxlcyA9IGNyZWF0ZURlY29yYXRvcignZmlsZXMnKTtcbi8vIGV4cG9ydCBjb25zdCBMYXN0RWRpdGVkQnkgPSBjcmVhdGVEZWNvcmF0b3IoJ2xhc3RfZWRpdGVkX2J5Jyk7XG4vLyBleHBvcnQgY29uc3QgTXVsdGlTZWxlY3QgPSBjcmVhdGVEZWNvcmF0b3IoJ211bHRpX3NlbGVjdCcpO1xuLy8gZXhwb3J0IGNvbnN0IFBlb3BsZSA9IGNyZWF0ZURlY29yYXRvcigncGVvcGxlJyk7XG5cbmV4cG9ydCBjb25zdCBOb3Rpb24gPSB7XG4gIFRpdGxlLFxuICBVcmwsXG4gIFJpY2hUZXh0LFxuICBSZWxhdGlvbixcbiAgU3RhdHVzLFxuICBGb3JtdWxhLFxuICBSb2xsdXAsXG4gIFRpbWVzdGFtcCxcbiAgTnVtYmVyLFxuICBDcmVhdGVkVGltZSxcbiAgTGFzdEVkaXRlZFRpbWUsXG4gIERhdGUsXG4gIFNlbGVjdCxcbiAgUGhvbmVOdW1iZXIsXG4gIEVtYWlsLFxuICBVbmlxdWVJRCxcbn07XG4iXX0=","import { NotionUtils } from \"../utils\";\nimport { NOTION_ANNOTATIONS } from \"../decorators\";\nimport { omitBy } from \"lodash-es\";\nexport class NotionHelper {\n static fromNotion(page, Entity) {\n const annotations = Entity[NOTION_ANNOTATIONS] ?? [];\n const obj = annotations.reduce((obj, annotation) => {\n const value = page['properties'][annotation.fieldName]\n ? NotionUtils.fromNotionValue(page['properties'][annotation.fieldName], annotation)\n : undefined;\n return { ...obj, [annotation.propName]: value };\n }, { id: page.id });\n return Entity.from(obj);\n }\n static toNotion(entity, Entity) {\n const annotations = Entity[NOTION_ANNOTATIONS] ?? [];\n const data = annotations.reduce((obj, annotation) => ({\n ...obj,\n [annotation.fieldName]: NotionUtils.toNotionValue(entity[annotation.propName], annotation),\n }), {});\n return omitBy(data, (value) => typeof value === 'undefined');\n }\n}\nexport class NotionConverter {\n fromNotion(page) {\n return NotionHelper.fromNotion(page, this.Entity);\n }\n toNotion(entity) {\n return NotionHelper.toNotion(entity, this.Entity);\n }\n}\nexport function createConverter(Entity) {\n class Converter extends NotionConverter {\n Entity = Entity;\n }\n return new Converter();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9ub3Rpb24vc3JjL2xpYi9jb252ZXJ0ZXIvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR25DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQ2YsSUFBNkcsRUFDN0csTUFBZTtRQUVmLE1BQU0sV0FBVyxHQUF1QixNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekUsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztnQkFDcEQsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLENBQUM7Z0JBQ25GLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDZCxPQUFPLEVBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDaEQsQ0FBQyxFQUFFLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ2xCLE9BQVEsTUFBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBSSxNQUFrQixFQUFFLE1BQWU7UUFDcEQsTUFBTSxXQUFXLEdBQXVCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6RSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwRCxHQUFHLEdBQUc7WUFDTixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxDQUFDO1NBQzNGLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNSLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFnQixlQUFlO0lBR25DLFVBQVUsQ0FBQyxJQUE2RztRQUN0SCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUksSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWtCO1FBQ3pCLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBSSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxlQUFlLENBQVUsTUFBVztJQUNsRCxNQUFNLFNBQVUsU0FBUSxlQUFrQjtRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDO0tBQzNCO0lBRUQsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlT2JqZWN0UmVzcG9uc2UsIFBhcnRpYWxQYWdlT2JqZWN0UmVzcG9uc2UsIFBhcnRpYWxEYXRhYmFzZU9iamVjdFJlc3BvbnNlLCBEYXRhYmFzZU9iamVjdFJlc3BvbnNlIH0gZnJvbSBcIkBub3Rpb25ocS9jbGllbnQvYnVpbGQvc3JjL2FwaS1lbmRwb2ludHNcIjtcbmltcG9ydCB7IE5vdGlvblV0aWxzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBOb3Rpb25Bbm5vdGF0aW9uLCBOT1RJT05fQU5OT1RBVElPTlMgfSBmcm9tIFwiLi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgb21pdEJ5IH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9kb21haW5cIjtcblxuZXhwb3J0IGNsYXNzIE5vdGlvbkhlbHBlciB7XG4gIHN0YXRpYyBmcm9tTm90aW9uPEU+KFxuICAgIHBhZ2U6IFBhZ2VPYmplY3RSZXNwb25zZSB8IFBhcnRpYWxQYWdlT2JqZWN0UmVzcG9uc2UgfCBQYXJ0aWFsRGF0YWJhc2VPYmplY3RSZXNwb25zZSB8IERhdGFiYXNlT2JqZWN0UmVzcG9uc2UsXG4gICAgRW50aXR5OiBUeXBlPEU+XG4gICk6IEUge1xuICAgIGNvbnN0IGFubm90YXRpb25zOiBOb3Rpb25Bbm5vdGF0aW9uW10gPSBFbnRpdHlbTk9USU9OX0FOTk9UQVRJT05TXSA/PyBbXTtcbiAgICBjb25zdCBvYmogPSBhbm5vdGF0aW9ucy5yZWR1Y2UoKG9iaiwgYW5ub3RhdGlvbikgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYWdlWydwcm9wZXJ0aWVzJ11bYW5ub3RhdGlvbi5maWVsZE5hbWVdIFxuICAgICAgICA/IE5vdGlvblV0aWxzLmZyb21Ob3Rpb25WYWx1ZShwYWdlWydwcm9wZXJ0aWVzJ11bYW5ub3RhdGlvbi5maWVsZE5hbWVdLCBhbm5vdGF0aW9uKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7Li4ub2JqLCBbYW5ub3RhdGlvbi5wcm9wTmFtZV06IHZhbHVlfTtcbiAgICB9LCB7aWQ6IHBhZ2UuaWR9KTtcbiAgICByZXR1cm4gKEVudGl0eSBhcyBhbnkpLmZyb20ob2JqKTtcbiAgfVxuXG4gIHN0YXRpYyB0b05vdGlvbjxFPihlbnRpdHk6IFBhcnRpYWw8RT4sIEVudGl0eTogVHlwZTxFPik6IG9iamVjdCB7XG4gICAgY29uc3QgYW5ub3RhdGlvbnM6IE5vdGlvbkFubm90YXRpb25bXSA9IEVudGl0eVtOT1RJT05fQU5OT1RBVElPTlNdID8/IFtdO1xuICAgIGNvbnN0IGRhdGEgPSBhbm5vdGF0aW9ucy5yZWR1Y2UoKG9iaiwgYW5ub3RhdGlvbikgPT4gKHtcbiAgICAgIC4uLm9iaixcbiAgICAgIFthbm5vdGF0aW9uLmZpZWxkTmFtZV06IE5vdGlvblV0aWxzLnRvTm90aW9uVmFsdWUoZW50aXR5W2Fubm90YXRpb24ucHJvcE5hbWVdLCBhbm5vdGF0aW9uKSxcbiAgICB9KSwge30pO1xuICAgIHJldHVybiBvbWl0QnkoZGF0YSwgKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKTtcbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTm90aW9uQ29udmVydGVyPEU+IHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IEVudGl0eTtcblxuICBmcm9tTm90aW9uKHBhZ2U6IFBhZ2VPYmplY3RSZXNwb25zZSB8IFBhcnRpYWxQYWdlT2JqZWN0UmVzcG9uc2UgfCBQYXJ0aWFsRGF0YWJhc2VPYmplY3RSZXNwb25zZSB8IERhdGFiYXNlT2JqZWN0UmVzcG9uc2UpOiBFIHtcbiAgICByZXR1cm4gTm90aW9uSGVscGVyLmZyb21Ob3Rpb248RT4ocGFnZSwgdGhpcy5FbnRpdHkpO1xuICB9XG5cbiAgdG9Ob3Rpb24oZW50aXR5OiBQYXJ0aWFsPEU+KTogb2JqZWN0IHtcbiAgICByZXR1cm4gTm90aW9uSGVscGVyLnRvTm90aW9uPEU+KGVudGl0eSwgdGhpcy5FbnRpdHkpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb252ZXJ0ZXI8RSA9IGFueT4oRW50aXR5OiBhbnkpOiBOb3Rpb25Db252ZXJ0ZXI8RT4ge1xuICBjbGFzcyBDb252ZXJ0ZXIgZXh0ZW5kcyBOb3Rpb25Db252ZXJ0ZXI8RT4ge1xuICAgIHByb3RlY3RlZCBFbnRpdHkgPSBFbnRpdHk7XG4gIH1cblxuICByZXR1cm4gbmV3IENvbnZlcnRlcigpO1xufVxuIl19","import { inject, InjectionToken } from \"@angular/core\";\nexport const NOTION_SERVICE = new InjectionToken('NOTION_SERVICE');\nexport const NOTION_CONFIG = new InjectionToken('NOTION_CONFIG');\nexport function injectNotion() {\n return inject(NOTION_SERVICE, { optional: true }) ?? null;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL25vdGlvbi9zcmMvbGliL25vdGlvbi9ub3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU92RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQWdCLGdCQUFnQixDQUFDLENBQUM7QUFDbEYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLGVBQWUsQ0FBQyxDQUFDO0FBRS9FLE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU8sTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IE5vdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9ub3Rpb24uc2VydmljZS5pbXBsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aW9uQ29uZmlnIHtcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE5PVElPTl9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPE5vdGlvblNlcnZpY2U+KCdOT1RJT05fU0VSVklDRScpO1xuZXhwb3J0IGNvbnN0IE5PVElPTl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tm90aW9uQ29uZmlnPignTk9USU9OX0NPTkZJRycpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tm90aW9uKCk6IE5vdGlvblNlcnZpY2Uge1xuICByZXR1cm4gaW5qZWN0KE5PVElPTl9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IG51bGw7XG59XG4iXX0=","import { NOTION_ANNOTATIONS } from \"../decorators\";\nexport class N {\n static RollupPropQuery(property, evaluation, value) {\n return { property, rollup: { every: { rich_text: { equals: value } } } };\n }\n static FormulaQuery(property, evaluation, value) {\n return { property, formula: {} };\n }\n static LastEditedTime(property, evaluation, value) {\n const query = evaluation === '>' ? 'after'\n : evaluation === '<' ? 'before'\n : evaluation === '==' ? 'equals'\n : evaluation === '<=' ? 'on_or_before'\n : evaluation === '>=' ? 'on_or_after'\n : evaluation === '!=' ? '' : '';\n return { timestamp: 'last_edited_time', last_edited_time: { [query]: value } };\n }\n static Timestamp(property, evaluation, value) {\n const query = evaluation === '>' ? 'after'\n : evaluation === '<' ? 'before'\n : evaluation === '==' ? 'equals'\n : evaluation === '<=' ? 'on_or_before'\n : evaluation === '>=' ? 'on_or_after'\n : evaluation === '!=' ? '' : '';\n return { property, timestamp: { [query]: value } };\n }\n static Status(property, evaluation, value) {\n const query = evaluation === '==' ? 'equals' : '';\n // TODO(nontangent): 'ステータス'を修正\n return { property: 'ステータス', status: { [query]: value } };\n }\n static Relation(property, evaluation, value) {\n const query = evaluation === 'in' ? 'contains' : '';\n return { property, relation: { [query]: value } };\n }\n}\nexport class NotionBaseQuery {\n type;\n}\nexport class NotionFilter extends NotionBaseQuery {\n propertyType;\n propertyName;\n evaluation;\n value;\n type = 'filter';\n constructor(propertyType, propertyName, evaluation, value) {\n super();\n this.propertyType = propertyType;\n this.propertyName = propertyName;\n this.evaluation = evaluation;\n this.value = value;\n }\n build() {\n switch (this.propertyName) {\n case 'last_edited_time': return N.LastEditedTime(this.propertyName, this.evaluation, this.value);\n }\n switch (this.propertyType) {\n case 'rollup': return N.RollupPropQuery(this.propertyName, this.evaluation, this.value);\n case 'formula': return N.FormulaQuery(this.propertyName, this.evaluation, this.value);\n case 'status': return N.Status(this.propertyName, this.evaluation, this.value);\n case 'relation': return N.Relation(this.propertyName, this.evaluation, this.value);\n }\n }\n}\nexport class NotionSort extends NotionBaseQuery {\n property;\n direction;\n type = 'sort';\n constructor(property, direction = 'asc') {\n super();\n this.property = property;\n this.direction = direction;\n }\n build() {\n return {\n property: this.property,\n direction: this.direction === 'asc' ? 'ascending' : 'descending',\n };\n }\n}\nexport class NotionAnd extends NotionBaseQuery {\n type = 'and';\n arr;\n constructor(...filters) {\n super();\n this.arr = filters;\n }\n build() {\n return { and: this.arr.map(filter => filter.build()) };\n }\n}\nexport class NotionOr extends NotionBaseQuery {\n type = 'or';\n arr;\n constructor(...filters) {\n super();\n this.arr = filters;\n }\n build() {\n return { or: this.arr.map(filter => filter.build()) };\n }\n}\nexport const Query = (Entity) => {\n const Filter = (_propName, evaluation, value) => {\n const annotation = Entity[NOTION_ANNOTATIONS].find(({ propName }) => propName === _propName);\n // if(!annotation) {\n // throw new Error(`NotionFilter: ${Entity} does not have ${_propName}.`);\n // }\n return new NotionFilter(annotation?.type, annotation?.fieldName ?? _propName, evaluation, value);\n };\n const OrderBy = (_propName, direction) => {\n const annotation = Entity[NOTION_ANNOTATIONS].find(({ propName }) => propName === _propName);\n return new NotionSort(annotation?.fieldName ?? _propName, direction);\n };\n const And = (...args) => new NotionAnd(...args);\n const Or = (...args) => new NotionOr(...args);\n return { Filter, OrderBy, And, Or };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL25vdGlvbi9zcmMvbGliL3F1ZXJ5L3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLckUsTUFBTSxPQUFPLENBQUM7SUFDWixNQUFNLENBQUMsZUFBZSxDQUFDLFFBQWdCLEVBQUUsVUFBc0IsRUFBRSxLQUFzQjtRQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFnQixFQUFFLFVBQXNCLEVBQUUsS0FBc0I7UUFDbEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBZ0IsRUFBRSxVQUFzQixFQUFFLEtBQXNCO1FBQ3BGLE1BQU0sS0FBSyxHQUFHLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDeEMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVE7Z0JBQy9CLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRO29CQUNoQyxDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYzt3QkFDdEMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWE7NEJBQ3JDLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNs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LEVBQUUsU0FBUyxJQUFJLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUM7SUFFRixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBb0IsRUFBYSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUMzRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBb0IsRUFBWSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUV4RSxPQUFPLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aW9uQW5ub3RhdGlvbiwgTk9USU9OX0FOTk9UQVRJT05TIH0gZnJvbSBcIi4uL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCJAbngtZGRkL2NvbW1vbi9kb21haW5cIjtcblxudHlwZSBFdmFsdWF0aW9uID0gJz09JyB8ICc+JyB8ICc+PScgfCAnPCcgfCAnPD0nIHwgJyE9JyB8ICdpbic7XG5cbmV4cG9ydCBjbGFzcyBOIHtcbiAgc3RhdGljIFJvbGx1cFByb3BRdWVyeShwcm9wZXJ0eTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIHsgcHJvcGVydHksIHJvbGx1cDogeyBldmVyeTogeyByaWNoX3RleHQ6IHsgZXF1YWxzOiB2YWx1ZSB9IH0gfSB9O1xuICB9XG5cbiAgc3RhdGljIEZvcm11bGFRdWVyeShwcm9wZXJ0eTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIHsgcHJvcGVydHksIGZvcm11bGE6IHt9fTtcbiAgfVxuXG4gIHN0YXRpYyBMYXN0RWRpdGVkVGltZShwcm9wZXJ0eTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgY29uc3QgcXVlcnkgPSBldmFsdWF0aW9uID09PSAnPicgPyAnYWZ0ZXInIFxuICAgICAgOiBldmFsdWF0aW9uID09PSAnPCcgPyAnYmVmb3JlJ1xuICAgICAgOiBldmFsdWF0aW9uID09PSAnPT0nID8gJ2VxdWFscydcbiAgICAgIDogZXZhbHVhdGlvbiA9PT0gJzw9JyA/ICdvbl9vcl9iZWZvcmUnXG4gICAgICA6IGV2YWx1YXRpb24gPT09ICc+PScgPyAnb25fb3JfYWZ0ZXInXG4gICAgICA6IGV2YWx1YXRpb24gPT09ICchPScgPyAnJyA6ICcnO1xuICAgIHJldHVybiB7IHRpbWVzdGFtcDogJ2xhc3RfZWRpdGVkX3RpbWUnLCBsYXN0X2VkaXRlZF90aW1lOiB7W3F1ZXJ5XTogdmFsdWV9IH07XG4gIH1cblxuICBzdGF0aWMgVGltZXN0YW1wKHByb3BlcnR5OiBzdHJpbmcsIGV2YWx1YXRpb246IEV2YWx1YXRpb24sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxdWVyeSA9IGV2YWx1YXRpb24gPT09ICc+JyA/ICdhZnRlcicgXG4gICAgOiBldmFsdWF0aW9uID09PSAnPCcgPyAnYmVmb3JlJ1xuICAgIDogZXZhbHVhdGlvbiA9PT0gJz09JyA/ICdlcXVhbHMnXG4gICAgOiBldmFsdWF0aW9uID09PSAnPD0nID8gJ29uX29yX2JlZm9yZSdcbiAgICA6IGV2YWx1YXRpb24gPT09ICc+PScgPyAnb25fb3JfYWZ0ZXInXG4gICAgOiBldmFsdWF0aW9uID09PSAnIT0nID8gJycgOiAnJztcbiAgICByZXR1cm4geyBwcm9wZXJ0eSwgdGltZXN0YW1wOiB7W3F1ZXJ5XTogdmFsdWV9IH07XG4gIH1cblxuICBzdGF0aWMgU3RhdHVzKHByb3BlcnR5OiBzdHJpbmcsIGV2YWx1YXRpb246IEV2YWx1YXRpb24sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxdWVyeSA9IGV2YWx1YXRpb24gPT09ICc9PScgPyAnZXF1YWxzJyA6ICcnO1xuICAgIC8vIFRPRE8obm9udGFuZ2VudCk6ICfjgrnjg4bjg7zjgr/jgrkn44KS5L+u5q2jXG4gICAgcmV0dXJuIHsgcHJvcGVydHk6ICfjgrnjg4bjg7zjgr/jgrknLCBzdGF0dXM6IHtbcXVlcnldOiB2YWx1ZX0gfTtcbiAgfVxuICBcbiAgc3RhdGljIFJlbGF0aW9uKHByb3BlcnR5OiBzdHJpbmcsIGV2YWx1YXRpb246IEV2YWx1YXRpb24sIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxdWVyeSA9IGV2YWx1YXRpb24gPT09ICdpbicgPyAnY29udGFpbnMnOiAnJztcbiAgICByZXR1cm4geyBwcm9wZXJ0eSwgcmVsYXRpb246IHtbcXVlcnldOiB2YWx1ZX0gfTtcbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTm90aW9uQmFzZVF1ZXJ5IHtcbiAgdHlwZTogJ2FuZCcgfCAnb3InIHwgJ2ZpbHRlcicgfCAnc29ydCc7XG4gIGFic3RyYWN0IGJ1aWxkKCk7XG59XG5cbmV4cG9ydCBjbGFzcyBOb3Rpb25GaWx0ZXIgZXh0ZW5kcyBOb3Rpb25CYXNlUXVlcnkge1xuICByZWFkb25seSB0eXBlID0gJ2ZpbHRlcicgYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByb3BlcnR5VHlwZTogYW55LFxuICAgIHB1YmxpYyBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgZXZhbHVhdGlvbjogRXZhbHVhdGlvbixcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZyB8IG51bWJlcixcbiAgKSB7IHN1cGVyKCk7IH1cblxuICBidWlsZCgpIHtcbiAgICBzd2l0Y2godGhpcy5wcm9wZXJ0eU5hbWUpIHtcbiAgICAgIGNhc2UgJ2xhc3RfZWRpdGVkX3RpbWUnOiByZXR1cm4gTi5MYXN0RWRpdGVkVGltZSh0aGlzLnByb3BlcnR5TmFtZSwgdGhpcy5ldmFsdWF0aW9uLCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBzd2l0Y2godGhpcy5wcm9wZXJ0eVR5cGUpIHtcbiAgICAgIGNhc2UgJ3JvbGx1cCc6IHJldHVybiBOLlJvbGx1cFByb3BRdWVyeSh0aGlzLnByb3BlcnR5TmFtZSwgdGhpcy5ldmFsdWF0aW9uLCB0aGlzLnZhbHVlKTtcbiAgICAgIGNhc2UgJ2Zvcm11bGEnOiByZXR1cm4gTi5Gb3JtdWxhUXVlcnkodGhpcy5wcm9wZXJ0eU5hbWUsIHRoaXMuZXZhbHVhdGlvbiwgdGhpcy52YWx1ZSk7XG4gICAgICBjYXNlICdzdGF0dXMnOiByZXR1cm4gTi5TdGF0dXModGhpcy5wcm9wZXJ0eU5hbWUsIHRoaXMuZXZhbHVhdGlvbiwgdGhpcy52YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgY2FzZSAncmVsYXRpb24nOiByZXR1cm4gTi5SZWxhdGlvbih0aGlzLnByb3BlcnR5TmFtZSwgdGhpcy5ldmFsdWF0aW9uLCB0aGlzLnZhbHVlIGFzIHN0cmluZyk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb3Rpb25Tb3J0IGV4dGVuZHMgTm90aW9uQmFzZVF1ZXJ5IHtcbiAgcmVhZG9ubHkgdHlwZSA9ICdzb3J0JyBhcyBjb25zdDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgcHVibGljIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJyxcbiAgKSB7IHN1cGVyKCk7IH1cblxuICBidWlsZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHk6IHRoaXMucHJvcGVydHksXG4gICAgICBkaXJlY3Rpb246IHRoaXMuZGlyZWN0aW9uID09PSAnYXNjJyA/ICdhc2NlbmRpbmcnIDogJ2Rlc2NlbmRpbmcnLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5vdGlvbkFuZCBleHRlbmRzIE5vdGlvbkJhc2VRdWVyeSB7XG4gIHJlYWRvbmx5IHR5cGUgPSAnYW5kJyBhcyBjb25zdDtcbiAgYXJyOiBOb3Rpb25GaWx0ZXJbXTtcblxuICBjb25zdHJ1Y3RvciguLi5maWx0ZXJzOiBOb3Rpb25GaWx0ZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hcnIgPSBmaWx0ZXJzO1xuICB9XG5cbiAgYnVpbGQoKSB7XG4gICAgcmV0dXJuIHthbmQ6IHRoaXMuYXJyLm1hcChmaWx0ZXIgPT4gZmlsdGVyLmJ1aWxkKCkpfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTm90aW9uT3IgZXh0ZW5kcyBOb3Rpb25CYXNlUXVlcnkge1xuICByZWFkb25seSB0eXBlID0gJ29yJyBhcyBjb25zdDtcbiAgYXJyOiBOb3Rpb25GaWx0ZXJbXTtcblxuICBjb25zdHJ1Y3RvciguLi5maWx0ZXJzOiBOb3Rpb25GaWx0ZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hcnIgPSBmaWx0ZXJzO1xuICB9XG5cbiAgYnVpbGQoKSB7XG4gICAgcmV0dXJuIHtvcjogdGhpcy5hcnIubWFwKGZpbHRlciA9PiBmaWx0ZXIuYnVpbGQoKSl9O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBRdWVyeSA9IDxFID0gYW55PihFbnRpdHk6IEUpID0+IHtcbiAgY29uc3QgRmlsdGVyID0gKF9wcm9wTmFtZTogc3RyaW5nLCBldmFsdWF0aW9uOiBFdmFsdWF0aW9uLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogTm90aW9uRmlsdGVyID0+IHtcbiAgICBjb25zdCBhbm5vdGF0aW9uOiBOb3Rpb25Bbm5vdGF0aW9uID0gRW50aXR5W05PVElPTl9BTk5PVEFUSU9OU10uZmluZCgoe3Byb3BOYW1lfSkgPT4gcHJvcE5hbWUgPT09IF9wcm9wTmFtZSk7XG5cbiAgICAvLyBpZighYW5ub3RhdGlvbikge1xuICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKGBOb3Rpb25GaWx0ZXI6ICR7RW50aXR5fSBkb2VzIG5vdCBoYXZlICR7X3Byb3BOYW1lfS5gKTtcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gbmV3IE5vdGlvbkZpbHRlcihhbm5vdGF0aW9uPy50eXBlLCBhbm5vdGF0aW9uPy5maWVsZE5hbWUgPz8gX3Byb3BOYW1lLCBldmFsdWF0aW9uLCB2YWx1ZSk7XG4gIH07XG4gIGNvbnN0IE9yZGVyQnkgPSAoX3Byb3BOYW1lOiBzdHJpbmcsIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycpOiBOb3Rpb25Tb3J0ID0+IHtcbiAgICBjb25zdCBhbm5vdGF0aW9uOiBOb3Rpb25Bbm5vdGF0aW9uID0gRW50aXR5W05PVElPTl9BTk5PVEFUSU9OU10uZmluZCgoe3Byb3BOYW1lfSkgPT4gcHJvcE5hbWUgPT09IF9wcm9wTmFtZSk7XG4gICAgcmV0dXJuIG5ldyBOb3Rpb25Tb3J0KGFubm90YXRpb24/LmZpZWxkTmFtZSA/PyBfcHJvcE5hbWUsIGRpcmVjdGlvbik7XG4gIH07XG4gIFxuICBjb25zdCBBbmQgPSAoLi4uYXJnczogTm90aW9uRmlsdGVyW10pOiBOb3Rpb25BbmQgPT4gbmV3IE5vdGlvbkFuZCguLi5hcmdzKTtcbiAgY29uc3QgT3IgPSAoLi4uYXJnczogTm90aW9uRmlsdGVyW10pOiBOb3Rpb25PciA9PiBuZXcgTm90aW9uT3IoLi4uYXJncyk7XG5cbiAgcmV0dXJuIHtGaWx0ZXIsIE9yZGVyQnksIEFuZCwgT3J9O1xufVxuIl19","export class NotionQueryBuilder {\n constructor() { }\n build(filterQuery, sortQuery) {\n return {\n ...(filterQuery ? this.buildFilterQuery(filterQuery) : {}),\n ...(sortQuery ? this.buildSortQuery(sortQuery) : {}),\n };\n }\n buildSortQuery(query) {\n if (query.type === 'sort') {\n return { sorts: [query.build()] };\n }\n else {\n return {};\n }\n }\n buildFilterQuery(query) {\n if (query.type === 'filter') {\n return { filter: { and: [query.build()] } };\n }\n else if (['and', 'or'].includes(query.type)) {\n return { filter: query.build() };\n }\n else {\n return {};\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsZ0JBQWdCLENBQUM7SUFFakIsS0FBSyxDQUFDLFdBQTZCLEVBQUUsU0FBMkI7UUFDOUQsT0FBTztZQUNMLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFELEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFzQjtRQUM3QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsS0FBc0I7UUFDL0MsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDOUMsQ0FBQzthQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb3Rpb25CYXNlUXVlcnkgfSBmcm9tIFwiLi4vcXVlcnlcIjtcblxuZXhwb3J0IGNsYXNzIE5vdGlvblF1ZXJ5QnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgYnVpbGQoZmlsdGVyUXVlcnk/OiBOb3Rpb25CYXNlUXVlcnksIHNvcnRRdWVyeT86IE5vdGlvbkJhc2VRdWVyeSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi4oZmlsdGVyUXVlcnkgPyB0aGlzLmJ1aWxkRmlsdGVyUXVlcnkoZmlsdGVyUXVlcnkpIDoge30pLFxuICAgICAgLi4uKHNvcnRRdWVyeSA/IHRoaXMuYnVpbGRTb3J0UXVlcnkoc29ydFF1ZXJ5KSA6IHt9KSxcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRTb3J0UXVlcnkocXVlcnk6IE5vdGlvbkJhc2VRdWVyeSkge1xuICAgIGlmIChxdWVyeS50eXBlID09PSAnc29ydCcpIHtcbiAgICAgIHJldHVybiB7IHNvcnRzOiBbcXVlcnkuYnVpbGQoKV19O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkRmlsdGVyUXVlcnkocXVlcnk6IE5vdGlvbkJhc2VRdWVyeSkge1xuICAgIGlmIChxdWVyeS50eXBlID09PSAnZmlsdGVyJykge1xuICAgICAgcmV0dXJuIHsgZmlsdGVyOiB7IGFuZDogW3F1ZXJ5LmJ1aWxkKCldIH0gfTtcbiAgICB9IGVsc2UgaWYgKFsnYW5kJywgJ29yJ10uaW5jbHVkZXMocXVlcnkudHlwZSkpIHtcbiAgICAgIHJldHVybiB7IGZpbHRlcjogcXVlcnkuYnVpbGQoKSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG59XG4iXX0=","import { Client } from '@notionhq/client';\nimport { Repository } from '@nx-ddd/common/domain';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { NotionQueryBuilder } from '../query-builder';\nimport * as i0 from \"@angular/core\";\nexport const NOTION_ACCESS_TOKEN = new InjectionToken('[@nx-ddd/notion] Notion Access Token');\nexport const NOTION_DATABASE_ID = new InjectionToken('[@nx-ddd/notion] Notion Database Id');\nexport function provideNotionConfig(config) {\n return { provide: NOTION_ACCESS_TOKEN, useValue: config.accessToken };\n}\nexport class NotionRepository extends Repository {\n token = inject(NOTION_ACCESS_TOKEN);\n client = new Client({ auth: this.token });\n queryBuilder = new NotionQueryBuilder();\n get parent() {\n return { type: 'database_id', database_id: this.databaseId };\n }\n async query(filterQuery, sortQuery, startCursor, pageSize) {\n try {\n const obj = this.queryBuilder.build(filterQuery, sortQuery);\n const res = await this.client.databases.query({\n database_id: this.databaseId,\n ...obj,\n start_cursor: startCursor,\n page_size: pageSize,\n });\n return {\n results: res.results.map(result => this.converter.fromNotion(result)),\n nextCursor: res.next_cursor,\n hasMore: res.has_more,\n };\n }\n catch (error) {\n throw error;\n }\n }\n async queryV2(args) {\n try {\n const res = await this.client.databases.query({\n database_id: this.databaseId,\n ...(args ?? {}),\n });\n return {\n results: res.results.map(result => this.converter.fromNotion(result)),\n nextCursor: res.next_cursor,\n hasMore: res.has_more,\n };\n }\n catch (error) {\n throw error;\n }\n }\n async list({ batchSize = 100, } = {}) {\n const items = [];\n let nextCursor;\n let pageCount = 0;\n console.log(`[NotionRepository] Starting pagination with batch size: ${batchSize}`);\n // eslint-disable-next-line no-constant-condition\n while (true) {\n pageCount++;\n const res = await this.query(undefined, undefined, nextCursor, batchSize);\n console.log(`[NotionRepository] Page ${pageCount}: Retrieved ${res.results.length} items, hasMore: ${res.hasMore}, nextCursor: ${res.nextCursor ? 'present' : 'null'}`);\n items.push(...res.results);\n nextCursor = res.nextCursor;\n if (!res.hasMore) {\n console.log(`[NotionRepository] Pagination complete. Total items: ${items.length} from ${pageCount} pages`);\n break;\n }\n }\n return items;\n }\n listChanges() {\n throw new Error('NotionRepository.listChanges() is not implemented');\n }\n async get({ id }) {\n const data = await this.client.pages.retrieve({ page_id: id });\n return this.converter.fromNotion(data);\n }\n async create(entity) {\n try {\n const res = await this.client.pages.create({\n parent: this.parent,\n properties: { ...this.converter.toNotion(entity) },\n });\n return this.converter.fromNotion(res);\n }\n catch (error) {\n throw error;\n }\n }\n async createMany(data) {\n throw new Error('NotionRepository.createMany() is not implemented');\n }\n async update(entity) {\n const data = {\n page_id: entity.id,\n properties: { ...this.converter.toNotion(entity) },\n };\n await this.client.pages.update(data);\n }\n async save(data) {\n throw new Error('NotionRepository.save() is not implemented');\n }\n async saveMany(entities) {\n throw new Error('NotionRepository.saveMany() is not implemented');\n }\n async updateMany(data) {\n throw new Error('NotionRepository.updateMany() is not implemented');\n }\n async delete({ id }) {\n throw new Error('NotionRepository.delete() is not implemented');\n }\n async deleteMany(params) {\n throw new Error('NotionRepository.deleteMany() is not implemented');\n }\n async deleteAll() {\n throw new Error('NotionRepository.deleteAll() is not implemented');\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotionRepository, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotionRepository });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotionRepository, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvcmVwb3NpdG9yeS9yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUd0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBUyxzQ0FBc0MsQ0FBQyxDQUFDO0FBQ3RHLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7QUFFNUYsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQTZCO0lBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUN4RSxDQUFDO0FBR0QsTUFBTSxPQUFnQixnQkFBbUMsU0FBUSxVQUFhO0lBSWxFLEtBQUssR0FBVyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1QyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDeEMsWUFBWSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUNsRCxJQUFjLE1BQU07UUFDbEIsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsS0FB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Q0FBQyxFQUFDO1NBQ2pELENBQUM7UUFDRixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFnQjtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBYTtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBa0I7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUMsRUFBRSxFQUFlO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUF5QjtRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7dUdBdkltQixnQkFBZ0I7MkdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudCB9IGZyb20gJ0Bub3Rpb25ocS9jbGllbnQnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnQG54LWRkZC9jb21tb24vZG9tYWluJztcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4nO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aW9uQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVyJztcbmltcG9ydCB7IE5vdGlvbkJhc2VRdWVyeSB9IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IE5vdGlvblF1ZXJ5QnVpbGRlciB9IGZyb20gJy4uL3F1ZXJ5LWJ1aWxkZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgTk9USU9OX0FDQ0VTU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdbQG54LWRkZC9ub3Rpb25dIE5vdGlvbiBBY2Nlc3MgVG9rZW4nKTtcbmV4cG9ydCBjb25zdCBOT1RJT05fREFUQUJBU0VfSUQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1tAbngtZGRkL25vdGlvbl0gTm90aW9uIERhdGFiYXNlIElkJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTm90aW9uQ29uZmlnKGNvbmZpZzoge2FjY2Vzc1Rva2VuOiBzdHJpbmd9KSB7XG4gIHJldHVybiB7IHByb3ZpZGU6IE5PVElPTl9BQ0NFU1NfVE9LRU4sIHVzZVZhbHVlOiBjb25maWcuYWNjZXNzVG9rZW4gfTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5vdGlvblJlcG9zaXRvcnk8RSBleHRlbmRzIEVudGl0eT4gZXh0ZW5kcyBSZXBvc2l0b3J5PEU+IHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGRhdGFiYXNlSWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNvbnZlcnRlcjogTm90aW9uQ29udmVydGVyPEU+O1xuXG4gIHByb3RlY3RlZCB0b2tlbjogc3RyaW5nID0gaW5qZWN0KE5PVElPTl9BQ0NFU1NfVE9LRU4pO1xuICBwcm90ZWN0ZWQgY2xpZW50ID0gbmV3IENsaWVudCh7YXV0aDogdGhpcy50b2tlbn0pO1xuICBwcm90ZWN0ZWQgcXVlcnlCdWlsZGVyID0gbmV3IE5vdGlvblF1ZXJ5QnVpbGRlcigpO1xuICBwcm90ZWN0ZWQgZ2V0IHBhcmVudCgpOiB7dHlwZTogJ2RhdGFiYXNlX2lkJywgZGF0YWJhc2VfaWQ6IHN0cmluZ30ge1xuICAgIHJldHVybiB7IHR5cGU6ICdkYXRhYmFzZV9pZCcsIGRhdGFiYXNlX2lkOiB0aGlzLmRhdGFiYXNlSWQgfTtcbiAgfVxuXG4gIGFzeW5jIHF1ZXJ5KFxuICAgIGZpbHRlclF1ZXJ5PzogTm90aW9uQmFzZVF1ZXJ5LCBcbiAgICBzb3J0UXVlcnk/OiBOb3Rpb25CYXNlUXVlcnksXG4gICAgc3RhcnRDdXJzb3I/OiBzdHJpbmcsXG4gICAgcGFnZVNpemU/OiBudW1iZXIsXG4gICkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvYmogPSB0aGlzLnF1ZXJ5QnVpbGRlci5idWlsZChmaWx0ZXJRdWVyeSwgc29ydFF1ZXJ5KTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LmRhdGFiYXNlcy5xdWVyeSh7XG4gICAgICAgIGRhdGFiYXNlX2lkOiB0aGlzLmRhdGFiYXNlSWQsXG4gICAgICAgIC4uLm9iaixcbiAgICAgICAgc3RhcnRfY3Vyc29yOiBzdGFydEN1cnNvcixcbiAgICAgICAgcGFnZV9zaXplOiBwYWdlU2l6ZSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdWx0czogcmVzLnJlc3VsdHMubWFwKHJlc3VsdCA9PiB0aGlzLmNvbnZlcnRlci5mcm9tTm90aW9uKHJlc3VsdCkpLFxuICAgICAgICBuZXh0Q3Vyc29yOiByZXMubmV4dF9jdXJzb3IsXG4gICAgICAgIGhhc01vcmU6IHJlcy5oYXNfbW9yZSxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcXVlcnlWMihhcmdzPzogYW55KSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LmRhdGFiYXNlcy5xdWVyeSh7XG4gICAgICAgIGRhdGFiYXNlX2lkOiB0aGlzLmRhdGFiYXNlSWQsXG4gICAgICAgIC4uLihhcmdzID8/IHt9KSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdWx0czogcmVzLnJlc3VsdHMubWFwKHJlc3VsdCA9PiB0aGlzLmNvbnZlcnRlci5mcm9tTm90aW9uKHJlc3VsdCkpLFxuICAgICAgICBuZXh0Q3Vyc29yOiByZXMubmV4dF9jdXJzb3IsXG4gICAgICAgIGhhc01vcmU6IHJlcy5oYXNfbW9yZSxcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbGlzdCh7XG4gICAgYmF0Y2hTaXplID0gMTAwLFxuICB9OiB7XG4gICAgYmF0Y2hTaXplPzogbnVtYmVyLFxuICB9ID0ge30pOiBQcm9taXNlPEVbXT4ge1xuICAgIGNvbnN0IGl0ZW1zOiBFW10gPSBbXTtcbiAgICBsZXQgbmV4dEN1cnNvcjogc3RyaW5nO1xuICAgIGxldCBwYWdlQ291bnQgPSAwO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKGBbTm90aW9uUmVwb3NpdG9yeV0gU3RhcnRpbmcgcGFnaW5hdGlvbiB3aXRoIGJhdGNoIHNpemU6ICR7YmF0Y2hTaXplfWApO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuICAgIHdoaWxlKHRydWUpIHtcbiAgICAgIHBhZ2VDb3VudCsrO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5xdWVyeSh1bmRlZmluZWQsIHVuZGVmaW5lZCwgbmV4dEN1cnNvciwgYmF0Y2hTaXplKTtcbiAgICAgIGNvbnNvbGUubG9nKGBbTm90aW9uUmVwb3NpdG9yeV0gUGFnZSAke3BhZ2VDb3VudH06IFJldHJpZXZlZCAke3Jlcy5yZXN1bHRzLmxlbmd0aH0gaXRlbXMsIGhhc01vcmU6ICR7cmVzLmhhc01vcmV9LCBuZXh0Q3Vyc29yOiAke3Jlcy5uZXh0Q3Vyc29yID8gJ3ByZXNlbnQnIDogJ251bGwnfWApO1xuICAgICAgXG4gICAgICBpdGVtcy5wdXNoKC4uLnJlcy5yZXN1bHRzKTtcbiAgICAgIG5leHRDdXJzb3IgPSByZXMubmV4dEN1cnNvcjtcbiAgICAgIFxuICAgICAgaWYgKCFyZXMuaGFzTW9yZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgW05vdGlvblJlcG9zaXRvcnldIFBhZ2luYXRpb24gY29tcGxldGUuIFRvdGFsIGl0ZW1zOiAke2l0ZW1zLmxlbmd0aH0gZnJvbSAke3BhZ2VDb3VudH0gcGFnZXNgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGxpc3RDaGFuZ2VzKCk6IE9ic2VydmFibGU8RVtdPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3Rpb25SZXBvc2l0b3J5Lmxpc3RDaGFuZ2VzKCkgaXMgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBhc3luYyBnZXQoe2lkfToge2lkOiBzdHJpbmd9KTogUHJvbWlzZTxFPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnBhZ2VzLnJldHJpZXZlKHtwYWdlX2lkOiBpZH0pO1xuICAgIHJldHVybiB0aGlzLmNvbnZlcnRlci5mcm9tTm90aW9uKGRhdGEpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlKGVudGl0eTogT21pdDxFLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz4gJiBQYXJ0aWFsPFBpY2s8RSwgJ2lkJz4+KTogUHJvbWlzZTxFPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LnBhZ2VzLmNyZWF0ZSh7XG4gICAgICAgIHBhcmVudDogdGhpcy5wYXJlbnQsXG4gICAgICAgIHByb3BlcnRpZXM6IHsuLi50aGlzLmNvbnZlcnRlci50b05vdGlvbihlbnRpdHkgYXMgRSl9LFxuICAgICAgfSk7IFxuICAgICAgcmV0dXJuIHRoaXMuY29udmVydGVyLmZyb21Ob3Rpb24ocmVzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlTWFueShkYXRhOiBPbWl0PEUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPltdKTogUHJvbWlzZTxFW10+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkuY3JlYXRlTWFueSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGVudGl0eTogUGFydGlhbDxFPikge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBwYWdlX2lkOiAoZW50aXR5IGFzIGFueSkuaWQsXG4gICAgICBwcm9wZXJ0aWVzOiB7Li4udGhpcy5jb252ZXJ0ZXIudG9Ob3Rpb24oZW50aXR5KX0sXG4gICAgfTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5wYWdlcy51cGRhdGUoZGF0YSk7XG4gIH1cblxuICBhc3luYyBzYXZlKGRhdGE6IFBhcnRpYWw8RT4pOiBQcm9taXNlPGJvb2xlYW4gfCBbRSwgYm9vbGVhbl0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkuc2F2ZSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZU1hbnkoZW50aXRpZXM6IEVbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90aW9uUmVwb3NpdG9yeS5zYXZlTWFueSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlTWFueShkYXRhOiBQYXJ0aWFsPEU+W10pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkudXBkYXRlTWFueSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKHtpZH06IHtpZDogc3RyaW5nfSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90aW9uUmVwb3NpdG9yeS5kZWxldGUoKSBpcyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZU1hbnkocGFyYW1zOiB7IGlkOiBzdHJpbmc7IH1bXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3Rpb25SZXBvc2l0b3J5LmRlbGV0ZU1hbnkoKSBpcyBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlvblJlcG9zaXRvcnkuZGVsZXRlQWxsKCkgaXMgbm90IGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLW5vdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvbm90aW9uL3NyYy9saWIvbngtZGRkLW5vdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@nx-ddd/notion",
3
- "version": "19.2.0",
3
+ "version": "19.2.1",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@notionhq/client": "^2.2.2",
7
- "@nx-ddd/common": "19.2.0",
7
+ "@nx-ddd/common": "19.2.1",
8
8
  "dayjs": "1.11.13",
9
9
  "lodash-es": "^4.17.15",
10
10
  "@angular/core": "19.1.4",