ActionVariantResolution
ActionVariantResolution = {
effect:ActionEffect;status:"available";transition:ActionVariantTransition;variant:VariantName; } | {status:"instance_missing"; } | {status:"vessel_unknown";variant:VariantName;vesselId:VesselId; } | {status:"action_not_on_variant";variant:VariantName; }
Defined in: packages/client/src/lib/command-processor/action-manager.ts:48
How an Action resolves against its Instance’s Variant at the moment the Action’s turn comes.
available: the Action is defined onvariant, the Instance’s current Variant,transitiondescribes its declaredtransitionsToandeffectits declared effect.instance_missing: the Instance is not in the store.vessel_unknown: no Vessel definition is registered for the Instance.action_not_on_variant: the current Variant does not define the Action.
Union Members
Section titled “Union Members”Type Literal
Section titled “Type Literal”{ effect: ActionEffect; status: "available"; transition: ActionVariantTransition; variant: VariantName; }
effect
Section titled “effect”
readonlyeffect:ActionEffect
The Action’s declared effect on variant. Only an Action declared
'none' may run without a handler.
status
Section titled “status”
readonlystatus:"available"
The Action is defined on the current Variant.
transition
Section titled “transition”
readonlytransition:ActionVariantTransition
The Action’s declared Variant transition on variant.
variant
Section titled “variant”
readonlyvariant:VariantName
The Instance’s Variant before this Action runs.
Type Literal
Section titled “Type Literal”{ status: "instance_missing"; }
status
Section titled “status”
readonlystatus:"instance_missing"
The Instance is not in the store.
Type Literal
Section titled “Type Literal”{ status: "vessel_unknown"; variant: VariantName; vesselId: VesselId; }
status
Section titled “status”
readonlystatus:"vessel_unknown"
The Instance’s Vessel has no registered definition.
variant
Section titled “variant”
readonlyvariant:VariantName
The Instance’s current Variant.
vesselId
Section titled “vesselId”
readonlyvesselId:VesselId
The unregistered Vessel.
Type Literal
Section titled “Type Literal”{ status: "action_not_on_variant"; variant: VariantName; }
status
Section titled “status”
readonlystatus:"action_not_on_variant"
The current Variant does not define the Action.
variant
Section titled “variant”
readonlyvariant:VariantName
The Instance’s current Variant.