Skip to content

FlagStore

runtoolkit edited this page Apr 13, 2026 · 1 revision

FlagStore

Lightweight per-entity boolean flag store. Flag is an alias for FlagStore.

Constructor

import { FlagStore } from './src/flag.js';
// or:
import { Flag } from './src/flag.js';

const flags = new FlagStore();

Usage

flags.set('alice', 'isOnline', true);   // default value is true
flags.set('alice', 'isOnline');         // same as above

flags.get('alice', 'isOnline');         // → true
flags.get('alice', 'missing');          // → false (default)
flags.get('alice', 'missing', true);    // → true (custom default)

flags.has('alice', 'isOnline');         // → true

flags.toggle('alice', 'isOnline');      // flips, returns new value

flags.delete('alice', 'isOnline');      // remove one flag
flags.clear('alice');                   // remove all flags for entity
flags.clear('alice', 'isOnline');       // remove one flag (same as delete)

Introspection

flags.list('alice');
// → [{ key: 'isOnline', value: true }, ...]

flags.listEntities();
// → ['alice', 'bob', ...]

Difference from State

FlagStore only stores booleans and is purpose-built for flag operations. For mixed types (numbers, strings, objects), use State instead.

Clone this wiki locally