3.3.0 • Published 3 months ago

tasquencer v3.3.0

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.3.0

3 months ago

3.2.0

3 months ago

3.1.2

3 months ago

3.1.1

3 months ago

3.1.0

4 months ago

3.0.0

4 months ago

2.1.0

4 months ago

2.0.1

4 months ago

2.0.0

5 months ago

1.1.1

7 months ago

1.1.2

7 months ago

1.1.0

10 months ago

1.0.0

10 months ago