import { List } from 'immutable'; export interface BlockKeyStore { add(key: string): List; remove(key: string): List; includes(key: string): boolean; getAll(): List; } export default function createBlockKeyStore(): BlockKeyStore { let keys = List(); return { add(key) { keys = keys.push(key); return keys; }, remove(key) { keys = keys.filter((item) => item !== key) as List; return keys; }, includes(key) { return keys.includes(key); }, getAll() { return keys; }, }; }