FujoWebDev / FujoWebDev/fujocoded-plugins

Add `afterAll` hook to ATProto loader for post-pipeline collection transforms

オープン
#37 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
astro-atproto-loader
主要言語
TypeScript
スター
30
フォーク
7
PR マージ指標
30日以内にマージされた PR はありません

説明

The ATProto loader pipeline currently runs `parseRecord → filter → groupBy → transform` per record (or group of records). This means any operation that needs to see the *whole* collection (e.g. sorting it) has to be written again every time the collection is used, which offends me personally.

Instead, we should add an optional `afterAll` hook to both `defineAtProtoLiveCollection` and `defineAtProtoCollection`.

This would run after all transforms have completed, get an array with all the entries, and return the final shape of the data. Obviously, callers can then do any type of re-ordering of re-filtering they’d like, but at least one could have e.g. a guarantee that their posts are always returned in chronological order.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start at the defineAtProtoLiveCollection and defineAtProtoCollection entry points and trace the parseRecord → filter → groupBy → transform pipeline. Add the optional afterAll behavior so it receives the complete transformed collection and returns the final data shape; done means both loaders support collection-wide ordering or filtering after per-record transforms.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
typescript
領域
backend
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
65/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。