import { isAddressPointer } from "applesauce-core/helpers"; import { List } from "applesauce-factory/operations"; function getList(events, address) { const list = isAddressPointer(address) ? events.getReplaceable(address.kind, address.pubkey, address.identifier) : address; if (!list) throw new Error("Can't find list"); return list; } /** An action that sets or removes a NIP-15 list information */ export function SetListMetadata(list, info) { return async function* ({ events, factory }) { list = getList(events, list); const draft = await factory.modify(list, List.setTitle(info.title ?? null), List.setDescription(info.description ?? null), List.setImage(info.image ?? null)); yield await factory.sign(draft); }; }