bpmn-elements 13.1.2 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +1 -2
  2. package/dist/Context.js +36 -2
  3. package/dist/definition/DefinitionExecution.js +1 -1
  4. package/dist/getPropertyValue.js +1 -2
  5. package/dist/index.js +1 -1
  6. package/package.json +14 -13
  7. package/src/Api.js +18 -20
  8. package/src/Context.js +49 -7
  9. package/src/Environment.js +10 -20
  10. package/src/EventBroker.js +21 -27
  11. package/src/MessageFormatter.js +23 -19
  12. package/src/Tracker.js +4 -4
  13. package/src/activity/Activity.js +141 -109
  14. package/src/activity/ActivityExecution.js +38 -29
  15. package/src/activity/Dummy.js +3 -3
  16. package/src/activity/Escalation.js +4 -4
  17. package/src/activity/ExecutionScope.js +4 -4
  18. package/src/activity/Message.js +5 -5
  19. package/src/activity/Signal.js +5 -5
  20. package/src/definition/Definition.js +44 -36
  21. package/src/definition/DefinitionExecution.js +97 -66
  22. package/src/error/BpmnError.js +3 -3
  23. package/src/error/Errors.js +19 -14
  24. package/src/eventDefinitions/CancelEventDefinition.js +16 -11
  25. package/src/eventDefinitions/CompensateEventDefinition.js +28 -23
  26. package/src/eventDefinitions/ConditionalEventDefinition.js +42 -23
  27. package/src/eventDefinitions/ErrorEventDefinition.js +47 -34
  28. package/src/eventDefinitions/EscalationEventDefinition.js +21 -20
  29. package/src/eventDefinitions/EventDefinitionExecution.js +6 -6
  30. package/src/eventDefinitions/LinkEventDefinition.js +28 -22
  31. package/src/eventDefinitions/MessageEventDefinition.js +47 -36
  32. package/src/eventDefinitions/SignalEventDefinition.js +42 -31
  33. package/src/eventDefinitions/TerminateEventDefinition.js +4 -4
  34. package/src/eventDefinitions/TimerEventDefinition.js +41 -29
  35. package/src/events/BoundaryEvent.js +81 -46
  36. package/src/events/EndEvent.js +2 -2
  37. package/src/events/IntermediateCatchEvent.js +8 -4
  38. package/src/events/IntermediateThrowEvent.js +2 -2
  39. package/src/events/StartEvent.js +29 -18
  40. package/src/flows/Association.js +11 -11
  41. package/src/flows/MessageFlow.js +16 -14
  42. package/src/flows/SequenceFlow.js +22 -20
  43. package/src/gateways/EventBasedGateway.js +7 -6
  44. package/src/gateways/ExclusiveGateway.js +4 -4
  45. package/src/gateways/InclusiveGateway.js +3 -3
  46. package/src/gateways/ParallelGateway.js +4 -4
  47. package/src/getPropertyValue.js +3 -6
  48. package/src/index.js +1 -1
  49. package/src/io/BpmnIO.js +5 -6
  50. package/src/io/EnvironmentDataObject.js +2 -3
  51. package/src/io/EnvironmentDataStore.js +2 -2
  52. package/src/io/EnvironmentDataStoreReference.js +2 -2
  53. package/src/io/InputOutputSpecification.js +60 -54
  54. package/src/io/Properties.js +45 -33
  55. package/src/iso-duration.js +9 -13
  56. package/src/messageHelper.js +16 -23
  57. package/src/process/Lane.js +3 -3
  58. package/src/process/Process.js +40 -34
  59. package/src/process/ProcessExecution.js +122 -78
  60. package/src/tasks/CallActivity.js +109 -57
  61. package/src/tasks/LoopCharacteristics.js +30 -18
  62. package/src/tasks/ReceiveTask.js +59 -38
  63. package/src/tasks/ScriptTask.js +17 -8
  64. package/src/tasks/ServiceTask.js +16 -9
  65. package/src/tasks/SignalTask.js +47 -28
  66. package/src/tasks/StandardLoopCharacteristics.js +3 -3
  67. package/src/tasks/SubProcess.js +9 -8
  68. package/src/tasks/Task.js +4 -3
  69. package/src/tasks/Transaction.js +1 -1
  70. package/types/index.d.ts +6 -6
  71. package/types/types.d.ts +39 -35
  72. package/CHANGELOG.md +0 -459
  73. package/src/ExtensionsMapper.js +0 -42
package/src/tasks/Task.js CHANGED
@@ -1,15 +1,16 @@
1
1
  import Activity from '../activity/Activity.js';
2
- import {cloneContent} from '../messageHelper.js';
2
+ import { cloneContent } from '../messageHelper.js';
3
3
 
4
4
  export default function Task(activityDef, context) {
5
5
  return new Activity(TaskBehaviour, activityDef, context);
6
6
  }
7
7
 
8
8
  export function TaskBehaviour(activity) {
9
- const {id, type, behaviour, broker} = activity;
9
+ const { id, type, behaviour, broker } = activity;
10
10
  this.id = id;
11
11
  this.type = type;
12
- this.loopCharacteristics = behaviour.loopCharacteristics && new behaviour.loopCharacteristics.Behaviour(activity, behaviour.loopCharacteristics);
12
+ this.loopCharacteristics =
13
+ behaviour.loopCharacteristics && new behaviour.loopCharacteristics.Behaviour(activity, behaviour.loopCharacteristics);
13
14
  this.broker = broker;
14
15
  }
15
16
 
@@ -1,7 +1,7 @@
1
1
  import SubProcess from './SubProcess.js';
2
2
 
3
3
  export default function Transaction(activityDef, context) {
4
- const transaction = {type: 'transaction', ...activityDef, isTransaction: true};
4
+ const transaction = { type: 'transaction', ...activityDef, isTransaction: true };
5
5
  const activity = SubProcess(transaction, context);
6
6
  return activity;
7
7
  }
package/types/index.d.ts CHANGED
@@ -46,11 +46,11 @@ declare module 'bpmn-elements' {
46
46
 
47
47
  type parsedTimer = {
48
48
  /** Expires at date time */
49
- expireAt?: Date,
49
+ expireAt?: Date;
50
50
  /** Repeat number of times */
51
- repeat?: number,
51
+ repeat?: number;
52
52
  /** Delay in milliseconds */
53
- delay?: number,
53
+ delay?: number;
54
54
  };
55
55
 
56
56
  export class TimerEventDefinition extends EventDefinition {
@@ -69,7 +69,7 @@ declare module 'bpmn-elements' {
69
69
  export var ISODuration: ISODurationApi;
70
70
  }
71
71
 
72
- declare module "bpmn-elements/events" {
72
+ declare module 'bpmn-elements/events' {
73
73
  export var BoundaryEventBehaviour: IActivityBehaviour;
74
74
  export var EndEventBehaviour: IActivityBehaviour;
75
75
  export var IntermediateCatchEventBehaviour: IActivityBehaviour;
@@ -77,14 +77,14 @@ declare module "bpmn-elements/events" {
77
77
  export var StartEventBehaviour: IActivityBehaviour;
78
78
  }
79
79
 
80
- declare module "bpmn-elements/gateways" {
80
+ declare module 'bpmn-elements/gateways' {
81
81
  export var EventBasedGatewayBehaviour: IActivityBehaviour;
82
82
  export var ExclusiveGatewayBehaviour: IActivityBehaviour;
83
83
  export var InclusiveGatewayBehaviour: IActivityBehaviour;
84
84
  export var ParallelGatewayBehaviour: IActivityBehaviour;
85
85
  }
86
86
 
87
- declare module "bpmn-elements/tasks" {
87
+ declare module 'bpmn-elements/tasks' {
88
88
  export var CallActivityBehaviour: IActivityBehaviour;
89
89
  export var ReceiveTaskBehaviour: IActivityBehaviour;
90
90
  export var ScriptTaskBehaviour: IActivityBehaviour;
package/types/types.d.ts CHANGED
@@ -14,15 +14,15 @@ declare type signalMessage = {
14
14
  * - Activity id
15
15
  * - Signal-, Message-, Escalation id, etc
16
16
  */
17
- id?: string,
17
+ id?: string;
18
18
  /**
19
19
  * Optional execution id
20
20
  * e.g. excutionId of a parallel multi instance user task
21
21
  */
22
- executionId?: string,
22
+ executionId?: string;
23
23
  /** Any other input that will be added to completed activity output */
24
- [x: string]: any,
25
- }
24
+ [x: string]: any;
25
+ };
26
26
 
27
27
  declare interface ElementMessageContent {
28
28
  id?: string;
@@ -33,11 +33,11 @@ declare interface ElementMessageContent {
33
33
  }
34
34
 
35
35
  declare interface ElementBrokerMessage extends MessageMessage {
36
- content: ElementMessageContent,
36
+ content: ElementMessageContent;
37
37
  }
38
38
 
39
39
  declare class EventDefinition {
40
- constructor(activity: Activity, eventDefinitionElement: SerializableElement)
40
+ constructor(activity: Activity, eventDefinitionElement: SerializableElement);
41
41
  get id(): string;
42
42
  get type(): string;
43
43
  get executionId(): string;
@@ -46,9 +46,9 @@ declare class EventDefinition {
46
46
  get broker(): Broker;
47
47
  get logger(): ILogger;
48
48
  get reference(): {
49
- id?: string,
50
- name: string,
51
- referenceType: string,
49
+ id?: string;
50
+ name: string;
51
+ referenceType: string;
52
52
  };
53
53
  [x: string]: any;
54
54
  execute(executeMessage: ElementBrokerMessage): void;
@@ -127,9 +127,9 @@ declare interface EnvironmentOptions {
127
127
 
128
128
  declare type startActivityFilterOptions = {
129
129
  /** Event definition id, i.e. Message, Signal, Error, etc */
130
- referenceId?: string,
130
+ referenceId?: string;
131
131
  /** Event definition type, i.e. message, signal, error, etc */
132
- referenceType?: string
132
+ referenceType?: string;
133
133
  };
134
134
 
135
135
  type filterPostponed = (elementApi: Api<ElementBase>) => boolean;
@@ -235,7 +235,7 @@ declare interface IActivityBehaviour {
235
235
  type: string;
236
236
  activity: Activity;
237
237
  environment: Environment;
238
- new(activity: Activity, context: ContextInstance): IActivityBehaviour
238
+ new (activity: Activity, context: ContextInstance): IActivityBehaviour;
239
239
  execute(executeMessage: ElementBrokerMessage): void;
240
240
  }
241
241
 
@@ -320,7 +320,7 @@ declare class Environment {
320
320
  assignVariables(newVars: Record<string, any>): void;
321
321
  assignSettings(newSettings: Record<string, any>): void;
322
322
  registerScript(activity: any): Script;
323
- getScript(language: string, identifier: {id: string, [x: string]: any}): Script;
323
+ getScript(language: string, identifier: { id: string; [x: string]: any }): Script;
324
324
  getServiceByName(serviceName: string): CallableFunction;
325
325
  resolveExpression(expression: string, message?: ElementBrokerMessage, expressionFnContext?: any): any;
326
326
  addService(name: string, fn: CallableFunction): void;
@@ -372,7 +372,7 @@ declare interface EnvironmentState {
372
372
  output: Record<string, any>;
373
373
  }
374
374
 
375
- declare type completedCounters = { completed: number, discarded: number };
375
+ declare type completedCounters = { completed: number; discarded: number };
376
376
 
377
377
  declare interface ActivityExecutionState {
378
378
  completed: boolean;
@@ -380,23 +380,23 @@ declare interface ActivityExecutionState {
380
380
  }
381
381
 
382
382
  declare interface ActivityState extends ElementState {
383
- status?: string,
383
+ status?: string;
384
384
  executionId: string;
385
385
  stopped: boolean;
386
- counters: { taken: number, discarded: number };
386
+ counters: { taken: number; discarded: number };
387
387
  execution?: ActivityExecutionState;
388
388
  }
389
389
 
390
390
  declare interface SequenceFlowState extends ElementState {
391
- counters: {take: number, discard: number, looped: number};
391
+ counters: { take: number; discard: number; looped: number };
392
392
  }
393
393
 
394
394
  declare interface MessageFlowState extends ElementState {
395
- counters: {messages: number};
395
+ counters: { messages: number };
396
396
  }
397
397
 
398
398
  declare interface AssociationState extends ElementState {
399
- counters: {take: number, discard: number };
399
+ counters: { take: number; discard: number };
400
400
  }
401
401
 
402
402
  declare interface ProcessExecutionState {
@@ -412,7 +412,7 @@ declare interface ProcessExecutionState {
412
412
 
413
413
  declare interface ProcessState extends ElementState {
414
414
  status: string;
415
- stopped: boolean,
415
+ stopped: boolean;
416
416
  executionId?: string;
417
417
  counters: completedCounters;
418
418
  environment: EnvironmentState;
@@ -429,7 +429,7 @@ declare interface DefinitionExecutionState {
429
429
 
430
430
  declare interface DefinitionState extends ElementState {
431
431
  status: string;
432
- stopped: boolean,
432
+ stopped: boolean;
433
433
  executionId?: string;
434
434
  counters: completedCounters;
435
435
  environment: EnvironmentState;
@@ -536,12 +536,12 @@ declare interface ISequenceFlowCondition {
536
536
  }
537
537
 
538
538
  declare class SequenceFlow extends Element<SequenceFlow> {
539
- constructor(flowDef: SerializableElement, context: ContextInstance)
539
+ constructor(flowDef: SerializableElement, context: ContextInstance);
540
540
  get sourceId(): string;
541
541
  get targetId(): string;
542
542
  get isDefault(): boolean;
543
543
  get isSequenceFlow(): boolean;
544
- get counters(): {take: number, discard: number, looped: number};
544
+ get counters(): { take: number; discard: number; looped: number };
545
545
  take(content?: any): boolean;
546
546
  discard(content?: any): void;
547
547
  shake(message: any): number;
@@ -564,7 +564,7 @@ declare interface MessageFlowReference {
564
564
  }
565
565
 
566
566
  declare class MessageFlow extends Element<MessageFlow> {
567
- constructor(flowDef: SerializableElement, context: ContextInstance)
567
+ constructor(flowDef: SerializableElement, context: ContextInstance);
568
568
  get source(): MessageFlowReference;
569
569
  get target(): MessageFlowReference;
570
570
  get counters(): { messages: number };
@@ -574,11 +574,11 @@ declare class MessageFlow extends Element<MessageFlow> {
574
574
  }
575
575
 
576
576
  declare class Association extends Element<Association> {
577
- constructor(associationDef: SerializableElement, context: ContextInstance)
577
+ constructor(associationDef: SerializableElement, context: ContextInstance);
578
578
  get sourceId(): string;
579
579
  get targetId(): string;
580
580
  get isAssociation(): boolean;
581
- get counters(): {take: number, discard: number };
581
+ get counters(): { take: number; discard: number };
582
582
  take(content?: any): boolean;
583
583
  discard(content?: any): boolean;
584
584
  getState(): AssociationState | undefined;
@@ -590,7 +590,7 @@ declare interface ILogger {
590
590
  debug(...args: any[]): void;
591
591
  error(...args: any[]): void;
592
592
  warn(...args: any[]): void;
593
- [x: string]: any,
593
+ [x: string]: any;
594
594
  }
595
595
 
596
596
  declare type wrappedSetTimeout = (handler: CallableFunction, delay: number, ...args: any[]) => Timer;
@@ -644,16 +644,16 @@ declare class Timers implements ITimers {
644
644
 
645
645
  declare interface IScripts {
646
646
  register(activity: any): Script | undefined;
647
- getScript(language: string, identifier: {id: string, [x: string]: any}): Script;
647
+ getScript(language: string, identifier: { id: string; [x: string]: any }): Script;
648
648
  }
649
649
 
650
650
  declare class Activity extends Element<Activity> {
651
- constructor(behaviour: IActivityBehaviour, activityDef: SerializableElement, context: ContextInstance)
651
+ constructor(behaviour: IActivityBehaviour, activityDef: SerializableElement, context: ContextInstance);
652
652
  get Behaviour(): IActivityBehaviour;
653
653
  get stopped(): boolean;
654
654
  get status(): ActivityRunStatus | undefined;
655
655
  get context(): ContextInstance;
656
- get counters(): { taken: number, discarded: number };
656
+ get counters(): { taken: number; discarded: number };
657
657
  get execution(): ActivityExecution;
658
658
  get executionId(): string;
659
659
  get extensions(): IExtension;
@@ -678,7 +678,11 @@ declare class Activity extends Element<Activity> {
678
678
  discard(discardContent?: any): void;
679
679
  next(): ElementBrokerMessage;
680
680
  shake(): void;
681
- evaluateOutbound(fromMessage: ElementBrokerMessage, discardRestAtTake: boolean, callback: (err: Error, evaluationResult: any) => void): void;
681
+ evaluateOutbound(
682
+ fromMessage: ElementBrokerMessage,
683
+ discardRestAtTake: boolean,
684
+ callback: (err: Error, evaluationResult: any) => void,
685
+ ): void;
682
686
  getState(): ActivityState | undefined;
683
687
  }
684
688
 
@@ -706,12 +710,12 @@ declare interface Duration {
706
710
 
707
711
  declare type ISODurationApi = {
708
712
  /** Parse PnYnMnDTnHnMnS format to object */
709
- parse: (durationString: string) => Duration,
713
+ parse: (durationString: string) => Duration;
710
714
  /** Convert ISO8601 duration object to an end Date. */
711
- end: (durationInput: Duration, startDate?: Date) => Date,
715
+ end: (durationInput: Duration, startDate?: Date) => Date;
712
716
  /** Convert ISO8601 duration object to seconds */
713
- toSeconds: (durationInput: Duration, startDate?: Date) => number,
714
- }
717
+ toSeconds: (durationInput: Duration, startDate?: Date) => number;
718
+ };
715
719
 
716
720
  /**
717
721
  * Evaluate flow callback