bpmn-elements 13.1.1 → 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.
- package/README.md +1 -2
- package/dist/Context.js +36 -2
- package/dist/definition/DefinitionExecution.js +2 -1
- package/dist/getPropertyValue.js +1 -2
- package/dist/index.js +1 -1
- package/package.json +14 -13
- package/src/Api.js +18 -20
- package/src/Context.js +49 -7
- package/src/Environment.js +10 -20
- package/src/EventBroker.js +21 -27
- package/src/MessageFormatter.js +23 -19
- package/src/Tracker.js +4 -4
- package/src/activity/Activity.js +141 -109
- package/src/activity/ActivityExecution.js +38 -29
- package/src/activity/Dummy.js +3 -3
- package/src/activity/Escalation.js +4 -4
- package/src/activity/ExecutionScope.js +4 -4
- package/src/activity/Message.js +5 -5
- package/src/activity/Signal.js +5 -5
- package/src/definition/Definition.js +44 -36
- package/src/definition/DefinitionExecution.js +98 -66
- package/src/error/BpmnError.js +3 -3
- package/src/error/Errors.js +19 -14
- package/src/eventDefinitions/CancelEventDefinition.js +16 -11
- package/src/eventDefinitions/CompensateEventDefinition.js +28 -23
- package/src/eventDefinitions/ConditionalEventDefinition.js +42 -23
- package/src/eventDefinitions/ErrorEventDefinition.js +47 -34
- package/src/eventDefinitions/EscalationEventDefinition.js +21 -20
- package/src/eventDefinitions/EventDefinitionExecution.js +6 -6
- package/src/eventDefinitions/LinkEventDefinition.js +28 -22
- package/src/eventDefinitions/MessageEventDefinition.js +47 -36
- package/src/eventDefinitions/SignalEventDefinition.js +42 -31
- package/src/eventDefinitions/TerminateEventDefinition.js +4 -4
- package/src/eventDefinitions/TimerEventDefinition.js +41 -29
- package/src/events/BoundaryEvent.js +81 -46
- package/src/events/EndEvent.js +2 -2
- package/src/events/IntermediateCatchEvent.js +8 -4
- package/src/events/IntermediateThrowEvent.js +2 -2
- package/src/events/StartEvent.js +29 -18
- package/src/flows/Association.js +11 -11
- package/src/flows/MessageFlow.js +16 -14
- package/src/flows/SequenceFlow.js +22 -20
- package/src/gateways/EventBasedGateway.js +7 -6
- package/src/gateways/ExclusiveGateway.js +4 -4
- package/src/gateways/InclusiveGateway.js +3 -3
- package/src/gateways/ParallelGateway.js +4 -4
- package/src/getPropertyValue.js +3 -6
- package/src/index.js +1 -1
- package/src/io/BpmnIO.js +5 -6
- package/src/io/EnvironmentDataObject.js +2 -3
- package/src/io/EnvironmentDataStore.js +2 -2
- package/src/io/EnvironmentDataStoreReference.js +2 -2
- package/src/io/InputOutputSpecification.js +60 -54
- package/src/io/Properties.js +45 -33
- package/src/iso-duration.js +9 -13
- package/src/messageHelper.js +16 -23
- package/src/process/Lane.js +3 -3
- package/src/process/Process.js +40 -34
- package/src/process/ProcessExecution.js +122 -78
- package/src/tasks/CallActivity.js +109 -57
- package/src/tasks/LoopCharacteristics.js +30 -18
- package/src/tasks/ReceiveTask.js +59 -38
- package/src/tasks/ScriptTask.js +17 -8
- package/src/tasks/ServiceTask.js +16 -9
- package/src/tasks/SignalTask.js +47 -28
- package/src/tasks/StandardLoopCharacteristics.js +3 -3
- package/src/tasks/SubProcess.js +9 -8
- package/src/tasks/Task.js +4 -3
- package/src/tasks/Transaction.js +1 -1
- package/types/index.d.ts +6 -6
- package/types/types.d.ts +39 -35
- package/CHANGELOG.md +0 -455
- 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 =
|
|
12
|
+
this.loopCharacteristics =
|
|
13
|
+
behaviour.loopCharacteristics && new behaviour.loopCharacteristics.Behaviour(activity, behaviour.loopCharacteristics);
|
|
13
14
|
this.broker = broker;
|
|
14
15
|
}
|
|
15
16
|
|
package/src/tasks/Transaction.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|