@rarible/action
TypeScript icon, indicating that this package has built-in type declarations

0.10.0-alpha.26 • Public • Published

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

Package Sidebar

Install

npm i @rarible/action

Weekly Downloads

224

Version

0.10.0-alpha.26

License

MIT

Unpacked Size

78.2 kB

Total Files

20

Last publish

Collaborators

  • rarible_int