Skip to content

Kiln API / kiln / StateValue

Class: StateValue<S> ​

A state's live value. Read it with res.get(Screen), change it with res.mut(Screen).set('playing').

Type Parameters ​

Type ParameterDefault type
S extends stringstring

Constructors ​

Constructor ​

ts
new StateValue<S>(
   values, 
   initial, 
   inFixed, 
   frame, 
   tick
): StateValue<S>;

Parameters ​

ParameterType
valuesreadonly S[]
initialS
inFixed() => boolean
framenumber
ticknumber

Returns ​

StateValue<S>

Properties ​

current ​

ts
current: S;

The active value.


previous ​

ts
previous: S | null = null;

The value before the last transition, or null.


next ​

ts
next: S | null = null;

A transition requested with set(), applied at the start of the next frame.


enteredFrame ​

ts
enteredFrame: number;

Frame and fixed tick on which current was entered, for onEnter/onExit.


enteredTick ​

ts
enteredTick: number;

values ​

ts
readonly values: readonly S[];

Methods ​

set() ​

ts
set(next): void;

Requests a transition. It applies at the start of the next frame; the last set() wins.

Parameters ​

ParameterType
nextS

Returns ​

void


is() ​

ts
is(value): boolean;

True while the state is value.

Parameters ​

ParameterType
valueS

Returns ​

boolean


justChanged() ​

ts
justChanged(): boolean;

True during the first frame (or, in Fixed, the first fixed step) after a transition.

Returns ​

boolean


toJSON() ​

ts
toJSON(): object;

Returns ​

object

current ​
ts
current: S;
previous ​
ts
previous: S | null;
next ​
ts
next: S | null;
enteredFrame ​
ts
enteredFrame: number;
enteredTick ​
ts
enteredTick: number;

restore() ​

ts
restore(json): void;

Parameters ​

ParameterType
json{ current: S; previous: S | null; next: S | null; enteredFrame: number; enteredTick: number; }
json.currentS
json.previousS | null
json.nextS | null
json.enteredFramenumber
json.enteredTicknumber

Returns ​

void