@visactor/vrender-core
Version:
```typescript import { xxx } from '@visactor/vrender-core'; ```
34 lines (33 loc) • 1.36 kB
TypeScript
import type { IStateEngineOptions, StateTransitionResult } from './state-definition';
export declare class StateEngine<T extends Record<string, any> = Record<string, any>> {
private readonly compiledDefinitions;
private readonly stateSort?;
private readonly mergeMode;
private _activeStates;
private _effectiveStates;
private _suppressed;
private _resolvedPatch;
private resolverPatchCache;
private resolverCacheKey;
private resolverCacheValid;
private graphic;
private baseAttributes;
constructor(options: IStateEngineOptions<T>);
get activeStates(): ReadonlyArray<string>;
get effectiveStates(): ReadonlyArray<string>;
get resolvedPatch(): Partial<T>;
get suppressed(): ReadonlyArray<string>;
setResolveContext(graphic: any, baseAttributes: Partial<T>): void;
applyStates(stateNames: string[]): StateTransitionResult;
addState(stateName: string, keepCurrentStates?: boolean): StateTransitionResult;
removeState(stateNames: string | string[]): StateTransitionResult;
toggleState(stateName: string): StateTransitionResult;
clearStates(): StateTransitionResult;
invalidateResolverCache(): void;
hasState(stateName?: string): boolean;
private sortStates;
private adjudicate;
private recomputePatch;
private mergeInto;
private sameArray;
}