Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate API Documentation #237

Open
wants to merge 44 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
390fb8e
proof-of-concept for multi-instance api docs
audionerd Oct 18, 2023
2ceadb4
fix frontmatter bug
audionerd Oct 18, 2023
954a275
example versioned apis
audionerd Oct 18, 2023
c6fd911
example per-package versions
audionerd Oct 18, 2023
4431253
hide/show navbar version dropdown per-package
audionerd Oct 18, 2023
473bc90
navbar link to xstate API
audionerd Oct 18, 2023
fb5ef83
hide parent item
audionerd Oct 18, 2023
d748492
add xstate as a submodule
audionerd Oct 19, 2023
ce79d23
define versions for current package api docs
audionerd Oct 19, 2023
e36d31d
remove example package versions
audionerd Oct 19, 2023
0ea9cb6
api docs show version badge on all pages
audionerd Oct 19, 2023
c448b65
yarn remove docusaurus-plugin-api-extractor
audionerd Oct 19, 2023
059d27c
add @microsoft/api-extractor
audionerd Oct 19, 2023
9f0ba1b
add scripts/update-api-docs.sh
audionerd Oct 19, 2023
1abc880
README.md: describe the API docs script
audionerd Oct 19, 2023
c43356e
disable Docusaurus breadcrumbs for API docs
audionerd Oct 19, 2023
014f701
remove @xstate/react docs instance
audionerd Oct 19, 2023
c39ab94
maintain per-package api-extractor.json in config
audionerd Oct 19, 2023
a0bbc41
generate api.json to project root
audionerd Oct 19, 2023
171e563
don't generate tsdoc-metadata.json
audionerd Oct 19, 2023
3c60ca2
update-api-docs: remove temp folder when complete
audionerd Oct 19, 2023
cb225b1
.gitignore: add temp/
audionerd Oct 19, 2023
d55e136
Merge branch 'statelyai:main' into api-docs
audionerd Oct 19, 2023
4faad92
remove example index.md
audionerd Oct 19, 2023
590cab9
comment out unused version dropdown css
audionerd Oct 19, 2023
60d199d
workaround to fix api extractor generated name
audionerd Oct 19, 2023
8a1fdd5
remove example @xstate/react docsVersionDropdown
audionerd Oct 20, 2023
4026b27
remove unused example index
audionerd Oct 20, 2023
fc9ffc1
WIP plugin to improve sidebar and breadcrumbs
audionerd Oct 20, 2023
d5decb4
convert plugin from ts to js
audionerd Oct 23, 2023
becda8c
don't autogenerate api sidebar
audionerd Oct 23, 2023
fcb7757
slightly less top margin for API Doc title
audionerd Oct 23, 2023
5bf077c
docs
audionerd Oct 23, 2023
de5f1e8
docs
audionerd Oct 23, 2023
297111b
log
audionerd Oct 23, 2023
276879f
comment js
audionerd Oct 23, 2023
9eb647d
top-level XState API reference override
audionerd Oct 23, 2023
ab57be3
cleanup
audionerd Oct 23, 2023
e8c2b2f
cleanup unused code
audionerd Oct 23, 2023
d21d7b6
index doc at top-level (not category)
audionerd Oct 23, 2023
e0d4b97
use displayName for HTML title instead of filename
audionerd Oct 23, 2023
3d44d03
sidebar-xstate-api.json with index item
audionerd Oct 23, 2023
f4679b1
api documenter plugin: omit dist/ from .gitignore
audionerd Oct 23, 2023
37b5ff9
Add API docs generated by API Documenter
audionerd Oct 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,7 @@ yarn-error.log*
# JetBrains IDE's
.idea
.fleet

# API Extractor temporary files
temp/

3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "xstate"]
path = xstate
url = https://github.com/statelyai/xstate
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,16 @@ Currently we serve the root landing page from a static file.
- During server side rendering (SSR) we use [`/static/index.html`](./static/index.html)
- During client side rendering (CSR) we use [`/static/landing-page/index.html`](./static/landing-page/index.html)

## Updating API Documentation

```
$ scripts/update-api-docs.sh
```

This command generates API Documentation as Markdown files to the `api` directory.

It uses [API Extractor](https://api-extractor.com) to analyze code and inline TSDoc comments from xstate packages, creating `*.api.json` doc model files, which are then used by [API Documenter](https://api-extractor.com/pages/setup/generating_docs) to generate Markdown files in the appropriate `api` directory for each package. We use the [Docusaurus Multi-Instance](https://docusaurus.io/docs/docs-multi-instance) feature to configure each `api/*` directory as its own set of versionable docs.

## Build

```
Expand Down
259 changes: 259 additions & 0 deletions api/xstate/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
---
title: "xstate"
hide_title: true
custom_edit_url: null
pagination_prev: null
pagination_next: null
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->



## xstate package

## Classes

| Class | Description |
| --- | --- |
| [Actor](./xstate.actor.md) | |
| [SimulatedClock](./xstate.simulatedclock.md) | |
| [State](./xstate.state.md) | |
| [StateMachine](./xstate.statemachine.md) | |
| [StateNode](./xstate.statenode.md) | |

## Enumerations

| Enumeration | Description |
| --- | --- |
| [ActorStatus](./xstate.actorstatus.md) | |
| [SpecialTargets](./xstate.specialtargets.md) | |

## Functions

| Function | Description |
| --- | --- |
| [and(guards)](./xstate.and.md) | |
| [assign(assignment)](./xstate.assign.md) | Updates the current context of the machine. |
| [cancel(sendId)](./xstate.cancel.md) | Cancels an in-flight <code>send(...)</code> action. A canceled sent action will not be executed, nor will its event be sent, unless it has already been sent (e.g., if <code>cancel(...)</code> is called after the <code>send(...)</code> action's <code>delay</code>). |
| [choose(branches)](./xstate.choose.md) | |
| [createActor(machine, options)](./xstate.createactor.md) | Creates a new <code>ActorRef</code> instance for the given machine with the provided options, if any. |
| [createActor(logic, options)](./xstate.createactor_1.md) | |
| [createEmptyActor()](./xstate.createemptyactor.md) | |
| [createMachine(config, implementations)](./xstate.createmachine.md) | |
| [escalate(errorData, options)](./xstate.escalate.md) | Escalates an error by sending it as an event to this machine's parent. |
| [forwardTo(target, options)](./xstate.forwardto.md) | Forwards (sends) an event to a specified service. |
| [fromCallback(invokeCallback)](./xstate.fromcallback.md) | |
| [fromEventObservable(lazyObservable)](./xstate.fromeventobservable.md) | Creates event observable logic that listens to an observable that delivers event objects. |
| [fromObservable(observableCreator)](./xstate.fromobservable.md) | |
| [fromPromise(promiseCreator)](./xstate.frompromise.md) | |
| [fromTransition(transition, initialContext)](./xstate.fromtransition.md) | <p>Returns actor logic from a transition function and its initial state.</p><p>A transition function is a function that takes the current state and an event and returns the next state.</p> |
| [getStateNodes(stateNode, state)](./xstate.getstatenodes.md) | Returns the state nodes represented by the current state value. |
| [log(value, label)](./xstate.log.md) | |
| [mapState(stateMap, stateId)](./xstate.mapstate.md) | |
| [matchesState(parentStateId, childStateId)](./xstate.matchesstate.md) | |
| [not(guard)](./xstate.not.md) | |
| [or(guards)](./xstate.or.md) | |
| [pathToStateValue(statePath)](./xstate.pathtostatevalue.md) | |
| [pure(getActions)](./xstate.pure.md) | |
| [raise(eventOrExpr, options)](./xstate.raise.md) | Raises an event. This places the event in the internal event queue, so that the event is immediately consumed by the machine in the current step. |
| [sendParent(event, options)](./xstate.sendparent.md) | Sends an event to this machine's parent. |
| [sendTo(to, eventOrExpr, options)](./xstate.sendto.md) | Sends an event to an actor. |
| [stateIn(stateValue)](./xstate.statein.md) | |
| [stop\_2(actorRef)](./xstate.stop_2.md) | Stops an actor. |
| [toObserver(nextHandler, errorHandler, completionHandler)](./xstate.toobserver.md) | |
| [waitFor(actorRef, predicate, options)](./xstate.waitfor.md) | Subscribes to an actor ref and waits for its emitted value to satisfy a predicate, and then resolves with that value. Will throw if the desired state is not reached after a timeout (defaults to 10 seconds). |

## Interfaces

| Interface | Description |
| --- | --- |
| [ActionArgs](./xstate.actionargs.md) | |
| [ActorContext](./xstate.actorcontext.md) | |
| [ActorLike](./xstate.actorlike.md) | |
| [ActorLogic](./xstate.actorlogic.md) | |
| [ActorOptions](./xstate.actoroptions.md) | |
| [ActorRef](./xstate.actorref.md) | |
| [ActorSystem](./xstate.actorsystem.md) | |
| [ActorSystemInfo](./xstate.actorsysteminfo.md) | |
| [AnyEventObject](./xstate.anyeventobject.md) | |
| [AssignAction](./xstate.assignaction.md) | |
| [AssignArgs](./xstate.assignargs.md) | |
| [AtomicStateNodeConfig](./xstate.atomicstatenodeconfig.md) | |
| [BaseActorRef](./xstate.baseactorref.md) | |
| [CancelAction](./xstate.cancelaction.md) | |
| [ChooseAction](./xstate.chooseaction.md) | |
| [ChooseBranch](./xstate.choosebranch.md) | |
| [DelayedTransitionDefinition](./xstate.delayedtransitiondefinition.md) | |
| [DoneActorEvent](./xstate.doneactorevent.md) | |
| [DoneStateEvent](./xstate.donestateevent.md) | |
| [ErrorActorEvent](./xstate.erroractorevent.md) | |
| [EventObject](./xstate.eventobject.md) | The full definition of an event, with a string <code>type</code>. |
| [HistoryStateNode](./xstate.historystatenode.md) | |
| [HistoryStateNodeConfig](./xstate.historystatenodeconfig.md) | |
| [InitialTransitionConfig](./xstate.initialtransitionconfig.md) | |
| [InitialTransitionDefinition](./xstate.initialtransitiondefinition.md) | |
| [InspectedActorEvent](./xstate.inspectedactorevent.md) | |
| [InspectedEventEvent](./xstate.inspectedeventevent.md) | |
| [InspectedSnapshotEvent](./xstate.inspectedsnapshotevent.md) | |
| [InteropObservable](./xstate.interopobservable.md) | |
| [InteropSubscribable](./xstate.interopsubscribable.md) | |
| [InvokeDefinition](./xstate.invokedefinition.md) | |
| [LogAction](./xstate.logaction.md) | |
| [MachineImplementationsSimplified](./xstate.machineimplementationssimplified.md) | |
| [MachineTypes](./xstate.machinetypes.md) | |
| [MarkAllImplementationsAsProvided](./xstate.markallimplementationsasprovided.md) | |
| [ParameterizedObject](./xstate.parameterizedobject.md) | |
| [ProvidedActor](./xstate.providedactor.md) | |
| [PureAction](./xstate.pureaction.md) | |
| [RaiseAction](./xstate.raiseaction.md) | |
| [RaiseActionOptions](./xstate.raiseactionoptions.md) | |
| [RaiseActionParams](./xstate.raiseactionparams.md) | |
| [ResolvedTypegenMeta](./xstate.resolvedtypegenmeta.md) | |
| [ResolveTypegenMeta](./xstate.resolvetypegenmeta.md) | |
| [SendToAction](./xstate.sendtoaction.md) | |
| [SendToActionOptions](./xstate.sendtoactionoptions.md) | |
| [SendToActionParams](./xstate.sendtoactionparams.md) | |
| [SimulatedClock](./xstate.simulatedclock.md) | |
| [SnapshotEvent](./xstate.snapshotevent.md) | |
| [StateConfig](./xstate.stateconfig.md) | |
| [StateLike](./xstate.statelike.md) | |
| [StateMachineDefinition](./xstate.statemachinedefinition.md) | |
| [StateNodeConfig](./xstate.statenodeconfig.md) | |
| [StateNodeDefinition](./xstate.statenodedefinition.md) | |
| [StateValueMap](./xstate.statevaluemap.md) | |
| [StopAction](./xstate.stopaction.md) | |
| [Subscribable](./xstate.subscribable.md) | |
| [Subscription](./xstate.subscription.md) | |
| [TransitionConfig](./xstate.transitionconfig.md) | |
| [TransitionDefinition](./xstate.transitiondefinition.md) | |
| [TypegenDisabled](./xstate.typegendisabled.md) | |
| [TypegenEnabled](./xstate.typegenenabled.md) | |
| [TypegenMeta](./xstate.typegenmeta.md) | |
| [UnifiedArg](./xstate.unifiedarg.md) | |

## Variables

| Variable | Description |
| --- | --- |
| [interpret](./xstate.interpret.md) | Creates a new Interpreter instance for the given machine with the provided options, if any. |
| [InterpreterStatus](./xstate.interpreterstatus.md) | |

## Type Aliases

| Type Alias | Description |
| --- | --- |
| [\_\_ResolvedTypesMetaFrom](./xstate.__resolvedtypesmetafrom.md) | |
| [Action](./xstate.action.md) | |
| [ActionFunction](./xstate.actionfunction.md) | |
| [ActionFunctionMap](./xstate.actionfunctionmap.md) | |
| [Actions](./xstate.actions.md) | |
| [ActorLogicFrom](./xstate.actorlogicfrom.md) | |
| [ActorRefFrom](./xstate.actorreffrom.md) | |
| [AnyActor](./xstate.anyactor.md) | |
| [AnyActorContext](./xstate.anyactorcontext.md) | |
| [AnyActorLogic](./xstate.anyactorlogic.md) | |
| [AnyActorRef](./xstate.anyactorref.md) | |
| [AnyActorSystem](./xstate.anyactorsystem.md) | |
| [AnyFunction](./xstate.anyfunction.md) | |
| [AnyHistoryValue](./xstate.anyhistoryvalue.md) | |
| [AnyInterpreter](./xstate.anyinterpreter.md) | |
| [AnyInvokeConfig](./xstate.anyinvokeconfig.md) | |
| [AnyState](./xstate.anystate.md) | |
| [AnyStateConfig](./xstate.anystateconfig.md) | |
| [AnyStateMachine](./xstate.anystatemachine.md) | |
| [AnyStateNode](./xstate.anystatenode.md) | |
| [AnyStateNodeConfig](./xstate.anystatenodeconfig.md) | |
| [AnyStateNodeDefinition](./xstate.anystatenodedefinition.md) | |
| [AnyTransitionConfig](./xstate.anytransitionconfig.md) | |
| [AnyTransitionDefinition](./xstate.anytransitiondefinition.md) | |
| [AreAllImplementationsAssumedToBeProvided](./xstate.areallimplementationsassumedtobeprovided.md) | |
| [Assigner](./xstate.assigner.md) | |
| [CallbackActorLogic](./xstate.callbackactorlogic.md) | |
| [Cast](./xstate.cast.md) | |
| [Compute](./xstate.compute.md) | |
| [ContextFactory](./xstate.contextfactory.md) | |
| [ContextFrom](./xstate.contextfrom.md) | |
| [DelayConfig](./xstate.delayconfig.md) | |
| [DelayedTransitions](./xstate.delayedtransitions.md) | |
| [DelayExpr](./xstate.delayexpr.md) | |
| [DelayFunctionMap](./xstate.delayfunctionmap.md) | |
| [DevToolsAdapter](./xstate.devtoolsadapter.md) | |
| [Equals](./xstate.equals.md) | |
| [EventDescriptor](./xstate.eventdescriptor.md) | |
| [EventFrom](./xstate.eventfrom.md) | |
| [EventFromLogic](./xstate.eventfromlogic.md) | |
| [ExtractEvent](./xstate.extractevent.md) | |
| [HistoryValue](./xstate.historyvalue.md) | |
| [HomomorphicOmit](./xstate.homomorphicomit.md) | |
| [HomomorphicPick](./xstate.homomorphicpick.md) | |
| [IndexByProp](./xstate.indexbyprop.md) | |
| [IndexByType](./xstate.indexbytype.md) | |
| [InferEvent](./xstate.inferevent.md) | |
| [InputFrom](./xstate.inputfrom.md) | |
| [InspectionEvent](./xstate.inspectionevent.md) | |
| [InternalMachineImplementations](./xstate.internalmachineimplementations.md) | |
| [Interpreter](./xstate.interpreter.md) | |
| [InterpreterFrom](./xstate.interpreterfrom.md) | |
| [InvokeConfig](./xstate.invokeconfig.md) | |
| [IsAny](./xstate.isany.md) | |
| [IsLiteralString](./xstate.isliteralstring.md) | |
| [IsNever](./xstate.isnever.md) | |
| [Lazy](./xstate.lazy.md) | |
| [LogExpr](./xstate.logexpr.md) | |
| [LowInfer](./xstate.lowinfer.md) | |
| [MachineConfig](./xstate.machineconfig.md) | |
| [MachineContext](./xstate.machinecontext.md) | |
| [MachineImplementations](./xstate.machineimplementations.md) | |
| [MachineImplementationsFrom](./xstate.machineimplementationsfrom.md) | |
| [MachineSnapshot](./xstate.machinesnapshot.md) | |
| [Mapper](./xstate.mapper.md) | |
| [MaybeLazy](./xstate.maybelazy.md) | |
| [Merge](./xstate.merge.md) | |
| [MetaObject](./xstate.metaobject.md) | |
| [MissingImplementationsError](./xstate.missingimplementationserror.md) | |
| [NoInfer](./xstate.noinfer.md) | |
| [NonReducibleUnknown](./xstate.nonreducibleunknown.md) | <p><code>T &#124; unknown</code> reduces to <code>unknown</code> and that can be problematic when it comes to contextual typing. It especially is a problem when the union has a function member, like here:</p>
```ts
declare function test(cbOrVal: ((arg: number) => unknown) | unknown): void;
test((arg) => {}) // oops, implicit any
```
<p>This type can be used to avoid this problem. This union represents the same value space as <code>unknown</code>.</p> |
| [NoRequiredParams](./xstate.norequiredparams.md) | |
| [ObservableActorLogic](./xstate.observableactorlogic.md) | |
| [Observer](./xstate.observer.md) | |
| [OutputFrom](./xstate.outputfrom.md) | |
| [PartialAssigner](./xstate.partialassigner.md) | |
| [PersistedMachineState](./xstate.persistedmachinestate.md) | |
| [PersistedStateFrom](./xstate.persistedstatefrom.md) | |
| [PromiseActorLogic](./xstate.promiseactorlogic.md) | |
| [Prop](./xstate.prop.md) | |
| [PropertyAssigner](./xstate.propertyassigner.md) | |
| [SendExpr](./xstate.sendexpr.md) | |
| [SimpleOrStateNodeConfig](./xstate.simpleorstatenodeconfig.md) | |
| [SingleOrArray](./xstate.singleorarray.md) | |
| [Snapshot](./xstate.snapshot.md) | |
| [SnapshotFrom](./xstate.snapshotfrom.md) | |
| [Spawner](./xstate.spawner.md) | |
| [StateFrom](./xstate.statefrom.md) | |
| [StateKey](./xstate.statekey.md) | |
| [StateNodesConfig](./xstate.statenodesconfig.md) | |
| [StatesConfig](./xstate.statesconfig.md) | |
| [StatesDefinition](./xstate.statesdefinition.md) | |
| [StateTypes](./xstate.statetypes.md) | |
| [StateValue](./xstate.statevalue.md) | The string or object representing the state value relative to the parent state node. |
| [StateValueFrom](./xstate.statevaluefrom.md) | |
| [TagsFrom](./xstate.tagsfrom.md) | |
| [TODO](./xstate.todo.md) | |
| [TransitionActorLogic](./xstate.transitionactorlogic.md) | |
| [TransitionConfigOrTarget](./xstate.transitionconfigortarget.md) | |
| [TransitionConfigTarget](./xstate.transitionconfigtarget.md) | |
| [TransitionDefinitionMap](./xstate.transitiondefinitionmap.md) | |
| [Transitions](./xstate.transitions.md) | |
| [TransitionsConfig](./xstate.transitionsconfig.md) | |
| [TransitionSnapshot](./xstate.transitionsnapshot.md) | |
| [TransitionTarget](./xstate.transitiontarget.md) | |
| [TypegenConstraint](./xstate.typegenconstraint.md) | |
| [UnknownAction](./xstate.unknownaction.md) | |
| [Values](./xstate.values.md) | |
| [WithDynamicParams](./xstate.withdynamicparams.md) | |

29 changes: 29 additions & 0 deletions api/xstate/xstate.__resolvedtypesmetafrom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: "__ResolvedTypesMetaFrom"
hide_title: true
custom_edit_url: null
pagination_prev: null
pagination_next: null
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->



## \_\_ResolvedTypesMetaFrom type

**Signature:**

```typescript
export type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, // context
any, // event
any, // actor
any, // action
any, // guard
any, // delay
any, // tag
any, // input
any, // output
infer TResolvedTypesMeta> ? TResolvedTypesMeta : never;
```
**References:** [StateMachine](./xstate.statemachine.md)

20 changes: 20 additions & 0 deletions api/xstate/xstate.action.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: "Action"
hide_title: true
custom_edit_url: null
pagination_prev: null
pagination_next: null
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->



## Action type

**Signature:**

```typescript
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = NoRequiredParams<TAction> | WithDynamicParams<TContext, TExpressionEvent, TAction> | ActionFunction<TContext, TExpressionEvent, TEvent, TExpressionAction, TActor, TAction, TGuard, TDelay>;
```
**References:** [MachineContext](./xstate.machinecontext.md)<></>, [EventObject](./xstate.eventobject.md)<></>, [ParameterizedObject](./xstate.parameterizedobject.md)<></>, [ProvidedActor](./xstate.providedactor.md)<></>, [NoRequiredParams](./xstate.norequiredparams.md)<></>, [WithDynamicParams](./xstate.withdynamicparams.md)<></>, [ActionFunction](./xstate.actionfunction.md)

18 changes: 18 additions & 0 deletions api/xstate/xstate.actionargs.action.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: "action"
hide_title: true
custom_edit_url: null
pagination_prev: null
pagination_next: null
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->



## ActionArgs.action property

**Signature:**

```typescript
action: TExpressionAction;
```
26 changes: 26 additions & 0 deletions api/xstate/xstate.actionargs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: "ActionArgs"
hide_title: true
custom_edit_url: null
pagination_prev: null
pagination_next: null
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->



## ActionArgs interface

**Signature:**

```typescript
export interface ActionArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject> extends UnifiedArg<TContext, TExpressionEvent, TEvent>
```
**Extends:** [UnifiedArg](./xstate.unifiedarg.md)<></>&lt;TContext, TExpressionEvent, TEvent&gt;

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [action](./xstate.actionargs.action.md) | | TExpressionAction | |

Loading