@glimmer/interfaces
Version:
Common interfaces shared among all @glimmer/\* projects
23 lines (19 loc) • 820 B
TypeScript
import type { Arguments } from '../runtime.js';
import type { Capabilities } from './capabilities.js';
export interface ModifierCapabilitiesVersions {
// passes factoryFor(...).class to `.createModifier`
// uses args proxy, does not provide a way to opt-out
'3.22': {
disableAutoTracking?: boolean;
};
}
export interface ModifierCapabilities extends Capabilities {
disableAutoTracking: boolean;
}
export interface ModifierManager<ModifierStateBucket> {
capabilities: ModifierCapabilities;
createModifier(factory: unknown, args: Arguments): ModifierStateBucket;
installModifier(instance: ModifierStateBucket, element: Element, args: Arguments): void;
updateModifier(instance: ModifierStateBucket, args: Arguments): void;
destroyModifier(instance: ModifierStateBucket, args: Arguments): void;
}