NotCMS
All release notes
SDKv0.4.0

SDK 0.4.0|型付きの絞り込み・並べ替えと選択肢の型推論

ページの絞り込み・並べ替え

list() で、プロパティの値による絞り込みと、1つのプロパティによる並べ替えができるようになりました。条件はTypeScriptの型で確認できます。

例えば、blog データベースの status が「公開」のページを、publishedAt の新しい順に取得できます。データベース名・プロパティ名は、生成したスキーマに合わせて指定してください。

await nc.query.blog.list({
  where: { status: "公開" },
  sort: { publishedAt: "desc" },
});

複数のページIDで取得する場合は、where に id を指定します。

await nc.query.blog.list({
  where: { id: { in: pageIds } },
});

pageIds は取得したいページIDの配列です。引数なしの list() も引き続き利用できます。

Notionの選択肢を型に反映

セレクト・ステータス・マルチセレクトの選択肢名を、生成するスキーマに含めるようになりました。ページの値や絞り込み条件を、選択肢の名前に対応した型として扱えます。notcms pull では、選択肢の変更点も確認できます。

既存のデータベースで利用するには、Notionとの同期後に npx notcms pull を実行してください。選択肢情報を含まないスキーマでは、従来どおり文字列型を使用します。

更新時の注意

数式(formula)プロパティの型を string | null から string | number | null に修正しました。文字列を操作するメソッドを使う場合は、値が文字列であることを確認してください。例えば、数式プロパティ summary の前後の空白を取り除く場合は、次のように書けます。

const value = page.properties.summary;
const summary = typeof value === "string" ? value.trim() : value;

CLIに同梱するライブラリのセキュリティ修正も反映しました。

更新方法

npm install notcms@0.4.0
npx notcms pull