@rarible/action
v0.10.0-beta.2
Published
Action is almost like async function, but actions can be divided into steps. It gives more control over action execution.
Downloads
756
Maintainers
Readme
Action abstraction for @rarible/sdk
Action is almost like async function, but actions can be divided into steps. It gives more control over action execution.
This way frontend applications can allow users to see what step is currently executing. Also, it's possible to even control when next step should be started.
How-to create an Action
Action can be created using ActionBuilder:
import { ActionBuilder } from "@rarible/action"
const action = ActionBuilder
.create({ id: "first-step" as const, run: (input: string) => firstStep(input) })
.thenStep({ id: "second-step" as const, run: input => secondStep(input) })
This creates and action, which can be executed:
const result = await action("pass the input data here")
Here, result will be the result of secondStep async function.
You can run steps individually:
//First, start action, get Execution
const exec = action.start("pass the input data here")
//then run steps
await exec.run(0)
await exec.run(1)
//then get the result
const result = await exec.result