3.4.3 • Published 3 months ago

tasquencer v3.4.3

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

Tasquencer

A BPM library for Node based on the concepts from https://yawlfoundation.github.io/.

  • Implemented with a "code-first" approach
  • Minimal - implements only the flow control concepts, everything else should be implemented in user space code

Example:

const workflowDefinition = Builder.workflow<{
  shouldBookFlight: boolean;
  shouldBookCar: boolean;
}>()
  .withName('or-split-join')
  .startCondition('start')
  .task('register', Builder.emptyTask().withSplitType('or'))
  .task('book_flight', Builder.emptyTask())
  .task('book_hotel', Builder.emptyTask())
  .task('book_car', Builder.emptyTask())
  .task('pay', Builder.emptyTask().withJoinType('or'))
  .endCondition('end')
  .connectCondition('start', (to) => to.task('register'))
  .connectTask('register', (to) =>
    to
      .task('book_flight', ({ context }) =>
        Effect.succeed(context.shouldBookFlight)
      )
      .task('book_car', ({ context }) => Effect.succeed(context.shouldBookCar))
      .defaultTask('book_hotel')
  )
  .connectTask('book_flight', (to) => to.task('pay'))
  .connectTask('book_hotel', (to) => to.task('pay'))
  .connectTask('book_car', (to) => to.task('pay'))
  .connectTask('pay', (to) => to.condition('end'));

Still very much a work in progress, but public API is stable.

3.4.0

4 months ago

3.4.3

3 months ago

3.4.2

4 months ago

3.4.1

4 months ago

3.3.0

11 months ago

3.2.0

11 months ago

3.1.2

11 months ago

3.1.1

11 months ago

3.1.0

11 months ago

3.0.0

11 months ago

2.1.0

11 months ago

2.0.1

11 months ago

2.0.0

1 year ago

1.1.1

1 year ago

1.1.2

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago