UNPKG

@towns-protocol/sdk

Version:

For more details, visit the following resources:

34 lines 1.01 kB
import { ObservableRecord } from '../../observable/observableRecord'; // sorted list of user ids in the stream export class StreamMemberIdsView extends ObservableRecord { constructor() { super({ defaultValue: [], }); } setMembers(streamId, memberIds) { this.setValueFor(streamId, memberIds.sort()); } addMember(streamId, memberId) { this.set((prev) => { const newMemberIds = [memberId, ...(prev[streamId] ?? [])].sort(); return { ...prev, [streamId]: newMemberIds, }; }); } removeMember(streamId, memberId) { this.set((prev) => { if (!prev[streamId]) { return prev; } const newMemberIds = prev[streamId]?.filter((id) => id !== memberId); return { ...prev, [streamId]: newMemberIds, }; }); } } //# sourceMappingURL=streamMemberIds.js.map