refactor(ApNoteService.ts): note.attachment

- `toArray()`を使うように
- よくわからない条件式を整理
- `as`をなくすために`promiseLimit()`でジェネリクスを使うように
This commit is contained in:
okayurisotto 2023-07-02 13:43:32 +09:00
parent 370c1fb12a
commit dc291c593f

View file

@ -170,14 +170,11 @@ export class ApNoteService {
// TODO: attachmentは必ずしもImageではない // TODO: attachmentは必ずしもImageではない
// TODO: attachmentは必ずしも配列ではない // TODO: attachmentは必ずしも配列ではない
// Noteがsensitiveなら添付もsensitiveにする // Noteがsensitiveなら添付もsensitiveにする
const limit = promiseLimit(2); const limit = promiseLimit<DriveFile>(2);
note.attachment = Array.isArray(note.attachment) ? note.attachment : note.attachment ? [note.attachment] : []; note.attachment = toArray(note.attachment);
const files = note.attachment note.attachment.forEach(attach => attach.sensitive = note.sensitive);
.map(attach => attach.sensitive = note.sensitive) const files = (await Promise.all(note.attachment.map(x => limit(() => this.apImageService.resolveImage(actor, x)))));
? (await Promise.all(note.attachment.map(x => limit(() => this.apImageService.resolveImage(actor, x)) as Promise<DriveFile>)))
.filter(image => image != null)
: [];
// リプライ // リプライ
const reply: Note | null = note.inReplyTo const reply: Note | null = note.inReplyTo