Skip to main content

registerStateNames

registerStateNames(exports): void

Registers display names for every state class in an exports object, using each export key as the name.

Parameters

exports

Record<string, unknown>

Module namespace (import * as machine) or object literal of state classes. Non-constructor exports (constants, functions, types) are silently skipped

Returns

void

Remarks

Export keys survive minification even when class identifiers are mangled — this is the recommended approach for browser bundles without keep_classnames. Call once at module load after all state classes are defined.

Examples

export class DoorTop extends TopState {}
export class Open extends DoorTop {}
export class Closed extends DoorTop {}
registerStateNames({ DoorTop, Open, Closed });
import * as machine from './machine';
registerStateNames(machine);