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

0.10.0-alpha.37 • 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

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @rarible/action

    Weekly Downloads

    271

    Version

    0.10.0-alpha.37

    License

    MIT

    Unpacked Size

    88.2 kB

    Total Files

    22

    Last publish

    Collaborators

    • rarible_int