Reference · Shizen and Arashi environments
EnvironmentEventtype
A committed earthquake or lightning event with its native preview fields.
Import it
import type { EnvironmentEvent } from "@johnmorrisdotca/houseki/nature";
Definition
type EnvironmentEvent = {
readonly type: 'fault-opened';
readonly path: readonly number[];
readonly fracturedCells: readonly number[];
readonly removedIds: readonly number[];
} | {
readonly type: 'jumble-completed';
readonly changed: boolean;
readonly reason?: 'no-eligible-patch';
readonly patchCells: readonly number[];
readonly moves: readonly NatureMove[];
} | {
readonly type: 'lightning-struck';
readonly columns: readonly number[];
readonly removedCells: readonly number[];
readonly removedIds: readonly number[];
};
Examples
import { applyLightning, createNatureState } from "@johnmorrisdotca/houseki/nature";
import type { EnvironmentEvent } from "@johnmorrisdotca/houseki/nature";
const state=createNatureState({width:4,height:4,seed:"docs"});
const value: EnvironmentEvent = applyLightning(state,{columns:[0]}).events[0];
console.log(value == null ? value : typeof value === "object" ? Object.keys(value).slice(0,6) : value);[ 'type', 'columns', 'removedCells', 'removedIds' ]What it prints (run when this page was built)