State Selector
The State selector provides an input for entity state values.
Options
All state selectors accept these common metadata options:
default?: string | number- Default state valuedescription?: string- Human-readable description shown in the UIrequired?: boolean- Whether the field must be provided
State-specific options (from ServiceListSelector["state"]):
entity_id?: PICK_ENTITY- Entity ID to get states frommultiple?: boolean- Whentrue, allows selecting multiple states (returns array)hide_states?: string[]- List of state values to hide from the selector
Return Type
string | numberwhenmultipleis not set orfalse(string | number)[]whenmultiple: true
Example
import { TServiceParams } from "@digital-alchemy/core";
import { ServiceField } from "@digital-alchemy/synapse";
export function SynapseServiceCreate({
synapse,
context,
logger,
}: TServiceParams) {
synapse.service.create(
{
context,
description: "Set entity state",
fields: {
// State selector
target_state: ServiceField.State({
description: "Target state value",
required: true,
}),
},
},
async data => {
// data.target_state is typed as: string | number
logger.info(`Setting state to: ${data.target_state}`);
}
);
}