UNPKG

soundcraft-ui-connection

Version:

Library for controlling the Soundcraft Ui series audio mixers

17 lines (16 loc) 679 B
/** * Store for facade objects * This is used to cache channels and others so that they don't need to be recreated all the time. * This is just a wrapper around a "Map" object, but we like to keep it abstract. */ export declare class ObjectStore { private store; get<T>(id: string): T; set(id: string, value: unknown): void; /** * Return the cached object for the given id or create it (and cache it) using the factory. * Caching lives in the accessor methods of the facades, so that constructors always * run exactly once and never re-run their side effects on a cached instance. */ getOrCreate<T>(id: string, factory: () => T): T; }