UNPKG

ram64

Version:

Multi-threaded 64bit memory cache database inspired by redis-like features

20 lines (15 loc) 576 B
import { CommandFn, CommandOptions } from '../../commands'; import { fn as get } from './get'; import { fn as set } from './set'; export const fn: CommandFn = (opts: CommandOptions): number => { const oldValue = get(opts); const useDefault = !(oldValue instanceof Set); const value = !useDefault ? oldValue : new Set(); let ret = 0; for (let v of opts.args?.members ?? []) { value.delete(v) && ret++; } // only update map if we had to use default useDefault && set({ ...opts, args: { value }}); return ret; }