camunda-bpmn-js 5.12.0 → 5.13.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/LICENSE +20 -20
- package/README.md +88 -88
- package/dist/assets/base-modeler.css +5 -5
- package/dist/assets/base-navigated-viewer.css +1 -1
- package/dist/assets/base-viewer.css +1 -1
- package/dist/assets/camunda-cloud-modeler.css +2 -2
- package/dist/assets/camunda-platform-modeler.css +1 -1
- package/dist/base-modeler.development.js +2072 -540
- package/dist/base-modeler.production.min.js +32 -32
- package/dist/camunda-cloud-modeler.development.js +2424 -892
- package/dist/camunda-cloud-modeler.production.min.js +29 -29
- package/dist/camunda-cloud-navigated-viewer.development.js +40 -40
- package/dist/camunda-cloud-viewer.development.js +40 -40
- package/dist/camunda-platform-modeler.development.js +2517 -985
- package/dist/camunda-platform-modeler.production.min.js +29 -29
- package/dist/camunda-platform-navigated-viewer.development.js +27 -27
- package/dist/camunda-platform-viewer.development.js +27 -27
- package/lib/base/Modeler.d.ts +20 -20
- package/lib/base/Modeler.js +65 -65
- package/lib/base/NavigatedViewer.d.ts +2 -2
- package/lib/base/NavigatedViewer.js +2 -2
- package/lib/base/Viewer.d.ts +2 -2
- package/lib/base/Viewer.js +2 -2
- package/lib/camunda-cloud/ElementTemplatesValidator.d.ts +1 -1
- package/lib/camunda-cloud/Modeler.d.ts +3 -3
- package/lib/camunda-cloud/NavigatedViewer.d.ts +9 -9
- package/lib/camunda-cloud/NavigatedViewer.js +36 -36
- package/lib/camunda-cloud/Viewer.d.ts +9 -9
- package/lib/camunda-cloud/Viewer.js +36 -36
- package/lib/camunda-cloud/features/external-resources/ResourceLoader.d.ts +6 -6
- package/lib/camunda-cloud/features/external-resources/Resources.d.ts +7 -7
- package/lib/camunda-cloud/features/external-resources/cmd/ComposedCommandHandler.d.ts +12 -12
- package/lib/camunda-cloud/features/external-resources/cmd/index.d.ts +4 -4
- package/lib/camunda-cloud/features/external-resources/handlers/decision/AppendMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/decision/CreateMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/decision/ReplaceMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/decision/createElement.d.ts +13 -13
- package/lib/camunda-cloud/features/external-resources/handlers/decision/index.d.ts +8 -8
- package/lib/camunda-cloud/features/external-resources/handlers/decision/replaceElement.d.ts +15 -15
- package/lib/camunda-cloud/features/external-resources/handlers/decision/searchTerms.d.ts +1 -1
- package/lib/camunda-cloud/features/external-resources/handlers/form/AppendMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/form/CreateMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/form/ReplaceMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/form/createElement.d.ts +9 -9
- package/lib/camunda-cloud/features/external-resources/handlers/form/index.d.ts +8 -8
- package/lib/camunda-cloud/features/external-resources/handlers/form/replaceElement.d.ts +15 -15
- package/lib/camunda-cloud/features/external-resources/handlers/form/searchTerms.d.ts +1 -1
- package/lib/camunda-cloud/features/external-resources/handlers/process/AppendMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/process/CreateMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/process/ReplaceMenuProvider.d.ts +5 -5
- package/lib/camunda-cloud/features/external-resources/handlers/process/createElement.d.ts +14 -14
- package/lib/camunda-cloud/features/external-resources/handlers/process/index.d.ts +8 -8
- package/lib/camunda-cloud/features/external-resources/handlers/process/replaceElement.d.ts +16 -16
- package/lib/camunda-cloud/features/external-resources/handlers/process/searchTerms.d.ts +1 -1
- package/lib/camunda-cloud/features/external-resources/handlers/util/BaseAppendMenuProvider.d.ts +18 -18
- package/lib/camunda-cloud/features/external-resources/handlers/util/BaseCreateMenuProvider.d.ts +17 -17
- package/lib/camunda-cloud/features/external-resources/handlers/util/BaseReplaceMenuProvider.d.ts +22 -22
- package/lib/camunda-cloud/features/external-resources/index.d.ts +23 -23
- package/lib/camunda-cloud/features/popup-menu/CamundaDetailsPopupMenuProvider.d.ts +26 -26
- package/lib/camunda-cloud/features/popup-menu/CamundaDetailsPopupMenuProvider.js +153 -153
- package/lib/camunda-cloud/features/popup-menu/index.d.ts +6 -6
- package/lib/camunda-cloud/util/commonModules.d.ts +9 -9
- package/lib/camunda-cloud/util/commonModules.js +15 -15
- package/lib/camunda-platform/Modeler.d.ts +3 -3
- package/lib/camunda-platform/Modeler.js +68 -68
- package/lib/camunda-platform/NavigatedViewer.d.ts +9 -9
- package/lib/camunda-platform/NavigatedViewer.js +27 -27
- package/lib/camunda-platform/Viewer.d.ts +9 -9
- package/lib/camunda-platform/Viewer.js +27 -27
- package/lib/camunda-platform/util/commonModules.d.ts +9 -9
- package/lib/camunda-platform/util/commonModules.js +11 -11
- package/lib/util/ExtensionElementsUtil.d.ts +24 -24
- package/lib/util/ExtensionElementsUtil.js +68 -68
- package/package.json +141 -141
- package/styles/base-modeler.css +5 -5
- package/styles/base-navigated-viewer.css +1 -1
- package/styles/base-viewer.css +1 -1
- package/styles/camunda-cloud-modeler.css +2 -2
- package/styles/camunda-platform-modeler.css +1 -1
|
@@ -9277,7 +9277,7 @@
|
|
|
9277
9277
|
*
|
|
9278
9278
|
* @return {Object} the parsed name
|
|
9279
9279
|
*/
|
|
9280
|
-
function parseName$
|
|
9280
|
+
function parseName$3(name, defaultPrefix) {
|
|
9281
9281
|
var parts = name.split(/:/),
|
|
9282
9282
|
localName, prefix;
|
|
9283
9283
|
|
|
@@ -9413,8 +9413,8 @@
|
|
|
9413
9413
|
var nsPrefix = p.ns.prefix;
|
|
9414
9414
|
var parts = targetPropertyName.split('#');
|
|
9415
9415
|
|
|
9416
|
-
var name = parseName$
|
|
9417
|
-
var attrName = parseName$
|
|
9416
|
+
var name = parseName$3(parts[0], nsPrefix);
|
|
9417
|
+
var attrName = parseName$3(parts[1], name.prefix).name;
|
|
9418
9418
|
|
|
9419
9419
|
var redefinedProperty = this.propertiesByName[attrName];
|
|
9420
9420
|
if (!redefinedProperty) {
|
|
@@ -9602,7 +9602,7 @@
|
|
|
9602
9602
|
meta: assign$3((type.meta || {}))
|
|
9603
9603
|
});
|
|
9604
9604
|
|
|
9605
|
-
var ns = parseName$
|
|
9605
|
+
var ns = parseName$3(type.name, pkg.prefix),
|
|
9606
9606
|
name = ns.name,
|
|
9607
9607
|
propertiesByName = {};
|
|
9608
9608
|
|
|
@@ -9610,12 +9610,12 @@
|
|
|
9610
9610
|
forEach$3(type.properties, bind$3(function(p) {
|
|
9611
9611
|
|
|
9612
9612
|
// namespace property names
|
|
9613
|
-
var propertyNs = parseName$
|
|
9613
|
+
var propertyNs = parseName$3(p.name, ns.prefix),
|
|
9614
9614
|
propertyName = propertyNs.name;
|
|
9615
9615
|
|
|
9616
9616
|
// namespace property types
|
|
9617
9617
|
if (!isBuiltIn$1(p.type)) {
|
|
9618
|
-
p.type = parseName$
|
|
9618
|
+
p.type = parseName$3(p.type, propertyNs.prefix).name;
|
|
9619
9619
|
}
|
|
9620
9620
|
|
|
9621
9621
|
assign$3(p, {
|
|
@@ -9634,7 +9634,7 @@
|
|
|
9634
9634
|
});
|
|
9635
9635
|
|
|
9636
9636
|
forEach$3(type.extends, bind$3(function(extendsName) {
|
|
9637
|
-
var extendsNameNs = parseName$
|
|
9637
|
+
var extendsNameNs = parseName$3(extendsName, ns.prefix);
|
|
9638
9638
|
|
|
9639
9639
|
var extended = this.typeMap[extendsNameNs.name];
|
|
9640
9640
|
|
|
@@ -9672,7 +9672,7 @@
|
|
|
9672
9672
|
* @param {Boolean} [trait=false]
|
|
9673
9673
|
*/
|
|
9674
9674
|
function traverse(cls, trait) {
|
|
9675
|
-
var parentNs = parseName$
|
|
9675
|
+
var parentNs = parseName$3(cls, isBuiltIn$1(cls) ? '' : nsName.prefix);
|
|
9676
9676
|
self.mapTypes(parentNs, iterator, trait);
|
|
9677
9677
|
}
|
|
9678
9678
|
|
|
@@ -9716,7 +9716,7 @@
|
|
|
9716
9716
|
*/
|
|
9717
9717
|
Registry$1.prototype.getEffectiveDescriptor = function(name) {
|
|
9718
9718
|
|
|
9719
|
-
var nsName = parseName$
|
|
9719
|
+
var nsName = parseName$3(name);
|
|
9720
9720
|
|
|
9721
9721
|
var builder = new DescriptorBuilder$1(nsName);
|
|
9722
9722
|
|
|
@@ -10048,7 +10048,7 @@
|
|
|
10048
10048
|
*/
|
|
10049
10049
|
Moddle$1.prototype.createAny = function(name, nsUri, properties) {
|
|
10050
10050
|
|
|
10051
|
-
var nameNs = parseName$
|
|
10051
|
+
var nameNs = parseName$3(name);
|
|
10052
10052
|
|
|
10053
10053
|
var element = {
|
|
10054
10054
|
$type: name,
|
|
@@ -11246,11 +11246,11 @@
|
|
|
11246
11246
|
function normalizeTypeName$1(name, nsMap, model) {
|
|
11247
11247
|
|
|
11248
11248
|
// normalize against actual NS
|
|
11249
|
-
const nameNs = parseName$
|
|
11249
|
+
const nameNs = parseName$3(name, nsMap.xmlns);
|
|
11250
11250
|
|
|
11251
11251
|
const normalizedName = `${ nsMap[nameNs.prefix] || nameNs.prefix }:${ nameNs.localName }`;
|
|
11252
11252
|
|
|
11253
|
-
const normalizedNameNs = parseName$
|
|
11253
|
+
const normalizedNameNs = parseName$3(normalizedName);
|
|
11254
11254
|
|
|
11255
11255
|
// determine actual type name, based on package-defined prefix
|
|
11256
11256
|
var pkg = model.getPackage(normalizedNameNs.prefix);
|
|
@@ -11283,7 +11283,7 @@
|
|
|
11283
11283
|
* @param {ElementHandler} options.rootHandler the root handler for parsing a document
|
|
11284
11284
|
* @param {boolean} [options.lax=false] whether or not to ignore invalid elements
|
|
11285
11285
|
*/
|
|
11286
|
-
function Context$
|
|
11286
|
+
function Context$3(options) {
|
|
11287
11287
|
|
|
11288
11288
|
/**
|
|
11289
11289
|
* @property {ElementHandler} rootHandler
|
|
@@ -11547,7 +11547,7 @@
|
|
|
11547
11547
|
} else if (name === 'xmlns') {
|
|
11548
11548
|
name = ':' + name;
|
|
11549
11549
|
} else {
|
|
11550
|
-
propNameNs = parseName$
|
|
11550
|
+
propNameNs = parseName$3(name, descriptor.ns.prefix);
|
|
11551
11551
|
|
|
11552
11552
|
// check whether attribute is defined in a well-known namespace
|
|
11553
11553
|
// if that is the case we emit a warning to indicate potential misuse
|
|
@@ -11572,7 +11572,7 @@
|
|
|
11572
11572
|
ElementHandler$1.prototype.getPropertyForNode = function(node) {
|
|
11573
11573
|
|
|
11574
11574
|
var name = node.name;
|
|
11575
|
-
var nameNs = parseName$
|
|
11575
|
+
var nameNs = parseName$3(name);
|
|
11576
11576
|
|
|
11577
11577
|
var type = this.type,
|
|
11578
11578
|
model = this.model,
|
|
@@ -11731,7 +11731,7 @@
|
|
|
11731
11731
|
RootElementHandler$1.prototype.createElement = function(node) {
|
|
11732
11732
|
|
|
11733
11733
|
var name = node.name,
|
|
11734
|
-
nameNs = parseName$
|
|
11734
|
+
nameNs = parseName$3(name),
|
|
11735
11735
|
model = this.model,
|
|
11736
11736
|
type = this.type,
|
|
11737
11737
|
pkg = model.getPackage(nameNs.prefix),
|
|
@@ -11759,7 +11759,7 @@
|
|
|
11759
11759
|
GenericElementHandler$1.prototype.createElement = function(node) {
|
|
11760
11760
|
|
|
11761
11761
|
var name = node.name,
|
|
11762
|
-
ns = parseName$
|
|
11762
|
+
ns = parseName$3(name),
|
|
11763
11763
|
prefix = ns.prefix,
|
|
11764
11764
|
uri = node.ns[prefix + '$uri'],
|
|
11765
11765
|
attributes = node.attributes;
|
|
@@ -11862,7 +11862,7 @@
|
|
|
11862
11862
|
var model = this.model,
|
|
11863
11863
|
lax = this.lax;
|
|
11864
11864
|
|
|
11865
|
-
var context = new Context$
|
|
11865
|
+
var context = new Context$3(assign$3({}, options, { rootHandler: rootHandler })),
|
|
11866
11866
|
parser = new Parser$2({ proxy: true }),
|
|
11867
11867
|
stack = createStack$1();
|
|
11868
11868
|
|
|
@@ -12488,7 +12488,7 @@
|
|
|
12488
12488
|
var ns;
|
|
12489
12489
|
|
|
12490
12490
|
if (isString$2(element)) {
|
|
12491
|
-
ns = parseName$
|
|
12491
|
+
ns = parseName$3(element);
|
|
12492
12492
|
} else {
|
|
12493
12493
|
ns = element.ns;
|
|
12494
12494
|
}
|
|
@@ -12540,7 +12540,7 @@
|
|
|
12540
12540
|
ElementSerializer$1.prototype.parseNsAttribute = function(element, name, value) {
|
|
12541
12541
|
var model = element.$model;
|
|
12542
12542
|
|
|
12543
|
-
var nameNs = parseName$
|
|
12543
|
+
var nameNs = parseName$3(name);
|
|
12544
12544
|
|
|
12545
12545
|
var ns;
|
|
12546
12546
|
|
|
@@ -26972,7 +26972,7 @@
|
|
|
26972
26972
|
* @typedef { 'top' | 'right' | 'bottom' | 'left' | 'center' | 'middle' } Alignment
|
|
26973
26973
|
*/
|
|
26974
26974
|
|
|
26975
|
-
function last$
|
|
26975
|
+
function last$2(arr) {
|
|
26976
26976
|
return arr && arr[arr.length - 1];
|
|
26977
26977
|
}
|
|
26978
26978
|
|
|
@@ -27071,7 +27071,7 @@
|
|
|
27071
27071
|
alignment[type] = sortedElements[0][axis];
|
|
27072
27072
|
|
|
27073
27073
|
} else if (this._isType(type, [ 'right', 'bottom' ])) {
|
|
27074
|
-
lastElement = last$
|
|
27074
|
+
lastElement = last$2(sortedElements);
|
|
27075
27075
|
|
|
27076
27076
|
alignment[type] = lastElement[axis] + lastElement[dimension];
|
|
27077
27077
|
|
|
@@ -27101,7 +27101,7 @@
|
|
|
27101
27101
|
});
|
|
27102
27102
|
|
|
27103
27103
|
if (hasSharedCenters) {
|
|
27104
|
-
alignment[type] = last$
|
|
27104
|
+
alignment[type] = last$2(centeredElements).center;
|
|
27105
27105
|
|
|
27106
27106
|
return alignment;
|
|
27107
27107
|
}
|
|
@@ -27112,7 +27112,7 @@
|
|
|
27112
27112
|
return element[axis] + element[dimension];
|
|
27113
27113
|
});
|
|
27114
27114
|
|
|
27115
|
-
lastElement = last$
|
|
27115
|
+
lastElement = last$2(sortedElements);
|
|
27116
27116
|
|
|
27117
27117
|
alignment[type] = getMiddleOrTop(firstElement, lastElement);
|
|
27118
27118
|
}
|
|
@@ -64172,7 +64172,7 @@
|
|
|
64172
64172
|
});
|
|
64173
64173
|
|
|
64174
64174
|
keyboard && keyboard.addListener(HIGH_PRIORITY$9, function(e) {
|
|
64175
|
-
if (!isSpace$
|
|
64175
|
+
if (!isSpace$2(e.keyEvent) || self.isActive()) {
|
|
64176
64176
|
return;
|
|
64177
64177
|
}
|
|
64178
64178
|
|
|
@@ -64182,7 +64182,7 @@
|
|
|
64182
64182
|
}, 'keyboard.keydown');
|
|
64183
64183
|
|
|
64184
64184
|
keyboard && keyboard.addListener(HIGH_PRIORITY$9, function(e) {
|
|
64185
|
-
if (!isSpace$
|
|
64185
|
+
if (!isSpace$2(e.keyEvent) || !self.isActive()) {
|
|
64186
64186
|
return;
|
|
64187
64187
|
}
|
|
64188
64188
|
|
|
@@ -64302,7 +64302,7 @@
|
|
|
64302
64302
|
|
|
64303
64303
|
// helpers //////////
|
|
64304
64304
|
|
|
64305
|
-
function isSpace$
|
|
64305
|
+
function isSpace$2(keyEvent) {
|
|
64306
64306
|
return isKey$1('Space', keyEvent);
|
|
64307
64307
|
}
|
|
64308
64308
|
|
|
@@ -81748,74 +81748,74 @@
|
|
|
81748
81748
|
}
|
|
81749
81749
|
|
|
81750
81750
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
81751
|
-
const propertyIdentifier = 121,
|
|
81752
|
-
identifier = 122,
|
|
81753
|
-
nameIdentifier = 123,
|
|
81754
|
-
insertSemi = 124,
|
|
81755
|
-
expression0 = 128,
|
|
81756
|
-
ForExpression = 4,
|
|
81757
|
-
forExpressionStart = 131,
|
|
81758
|
-
ForInExpression = 7,
|
|
81759
|
-
Name = 8,
|
|
81760
|
-
Identifier = 9,
|
|
81761
|
-
AdditionalIdentifier = 10,
|
|
81762
|
-
forExpressionBodyStart = 139,
|
|
81763
|
-
IfExpression = 19,
|
|
81764
|
-
ifExpressionStart = 140,
|
|
81765
|
-
QuantifiedExpression = 23,
|
|
81766
|
-
quantifiedExpressionStart = 141,
|
|
81767
|
-
QuantifiedInExpression = 27,
|
|
81768
|
-
PositiveUnaryTest = 37,
|
|
81769
|
-
ArithmeticExpression = 41,
|
|
81770
|
-
arithmeticPlusStart = 145,
|
|
81771
|
-
arithmeticTimesStart = 146,
|
|
81772
|
-
arithmeticExpStart = 147,
|
|
81773
|
-
arithmeticUnaryStart = 148,
|
|
81774
|
-
VariableName = 47,
|
|
81775
|
-
PathExpression = 68,
|
|
81776
|
-
pathExpressionStart = 154,
|
|
81777
|
-
FilterExpression = 70,
|
|
81778
|
-
filterExpressionStart = 155,
|
|
81779
|
-
FunctionInvocation = 72,
|
|
81780
|
-
functionInvocationStart = 156,
|
|
81781
|
-
ParameterName = 76,
|
|
81782
|
-
nil = 161,
|
|
81783
|
-
NumericLiteral = 79,
|
|
81784
|
-
StringLiteral = 80,
|
|
81785
|
-
BooleanLiteral = 81,
|
|
81786
|
-
listStart = 167,
|
|
81787
|
-
List = 89,
|
|
81788
|
-
FunctionDefinition = 90,
|
|
81789
|
-
functionDefinitionStart = 169,
|
|
81790
|
-
Context$
|
|
81791
|
-
contextStart = 171,
|
|
81792
|
-
ContextEntry = 98,
|
|
81793
|
-
PropertyName = 100,
|
|
81794
|
-
PropertyIdentifier = 101;
|
|
81751
|
+
const propertyIdentifier$1 = 121,
|
|
81752
|
+
identifier$1 = 122,
|
|
81753
|
+
nameIdentifier$1 = 123,
|
|
81754
|
+
insertSemi$1 = 124,
|
|
81755
|
+
expression0$1 = 128,
|
|
81756
|
+
ForExpression$1 = 4,
|
|
81757
|
+
forExpressionStart$1 = 131,
|
|
81758
|
+
ForInExpression$1 = 7,
|
|
81759
|
+
Name$1 = 8,
|
|
81760
|
+
Identifier$1 = 9,
|
|
81761
|
+
AdditionalIdentifier$1 = 10,
|
|
81762
|
+
forExpressionBodyStart$1 = 139,
|
|
81763
|
+
IfExpression$1 = 19,
|
|
81764
|
+
ifExpressionStart$1 = 140,
|
|
81765
|
+
QuantifiedExpression$1 = 23,
|
|
81766
|
+
quantifiedExpressionStart$1 = 141,
|
|
81767
|
+
QuantifiedInExpression$1 = 27,
|
|
81768
|
+
PositiveUnaryTest$1 = 37,
|
|
81769
|
+
ArithmeticExpression$1 = 41,
|
|
81770
|
+
arithmeticPlusStart$1 = 145,
|
|
81771
|
+
arithmeticTimesStart$1 = 146,
|
|
81772
|
+
arithmeticExpStart$1 = 147,
|
|
81773
|
+
arithmeticUnaryStart$1 = 148,
|
|
81774
|
+
VariableName$1 = 47,
|
|
81775
|
+
PathExpression$1 = 68,
|
|
81776
|
+
pathExpressionStart$1 = 154,
|
|
81777
|
+
FilterExpression$1 = 70,
|
|
81778
|
+
filterExpressionStart$1 = 155,
|
|
81779
|
+
FunctionInvocation$1 = 72,
|
|
81780
|
+
functionInvocationStart$1 = 156,
|
|
81781
|
+
ParameterName$1 = 76,
|
|
81782
|
+
nil$1 = 161,
|
|
81783
|
+
NumericLiteral$1 = 79,
|
|
81784
|
+
StringLiteral$1 = 80,
|
|
81785
|
+
BooleanLiteral$1 = 81,
|
|
81786
|
+
listStart$1 = 167,
|
|
81787
|
+
List$1 = 89,
|
|
81788
|
+
FunctionDefinition$1 = 90,
|
|
81789
|
+
functionDefinitionStart$1 = 169,
|
|
81790
|
+
Context$2 = 97,
|
|
81791
|
+
contextStart$1 = 171,
|
|
81792
|
+
ContextEntry$1 = 98,
|
|
81793
|
+
PropertyName$1 = 100,
|
|
81794
|
+
PropertyIdentifier$1 = 101;
|
|
81795
81795
|
|
|
81796
81796
|
/* global console,process */
|
|
81797
81797
|
|
|
81798
81798
|
|
|
81799
81799
|
// @ts-expect-error env access
|
|
81800
|
-
const LOG_PARSE = typeof process != 'undefined' && process.env && /\bfparse(:dbg)?\b/.test(process.env.LOG);
|
|
81800
|
+
const LOG_PARSE$1 = typeof process != 'undefined' && process.env && /\bfparse(:dbg)?\b/.test(process.env.LOG);
|
|
81801
81801
|
|
|
81802
81802
|
// @ts-expect-error env access
|
|
81803
|
-
const LOG_PARSE_DEBUG = typeof process != 'undefined' && process.env && /\bfparse:dbg\b/.test(process.env.LOG);
|
|
81803
|
+
const LOG_PARSE_DEBUG$1 = typeof process != 'undefined' && process.env && /\bfparse:dbg\b/.test(process.env.LOG);
|
|
81804
81804
|
|
|
81805
81805
|
// @ts-expect-error env access
|
|
81806
|
-
const LOG_VARS = typeof process != 'undefined' && process.env && /\bcontext\b/.test(process.env.LOG);
|
|
81806
|
+
const LOG_VARS$1 = typeof process != 'undefined' && process.env && /\bcontext\b/.test(process.env.LOG);
|
|
81807
81807
|
|
|
81808
|
-
const spaceChars = [
|
|
81808
|
+
const spaceChars$1 = [
|
|
81809
81809
|
9, 11, 12, 32, 133, 160,
|
|
81810
81810
|
5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198,
|
|
81811
81811
|
8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288
|
|
81812
81812
|
];
|
|
81813
81813
|
|
|
81814
|
-
const newlineChars = chars$
|
|
81814
|
+
const newlineChars$1 = chars$2('\n\r');
|
|
81815
81815
|
|
|
81816
|
-
const asterix = '*'.charCodeAt(0);
|
|
81816
|
+
const asterix$1 = '*'.charCodeAt(0);
|
|
81817
81817
|
|
|
81818
|
-
const additionalNameChars = chars$
|
|
81818
|
+
const additionalNameChars$1 = chars$2("'./-+*^");
|
|
81819
81819
|
|
|
81820
81820
|
/**
|
|
81821
81821
|
* @typedef { VariableContext | any } ContextValue
|
|
@@ -81825,7 +81825,7 @@
|
|
|
81825
81825
|
* @param { string } str
|
|
81826
81826
|
* @return { number[] }
|
|
81827
81827
|
*/
|
|
81828
|
-
function chars$
|
|
81828
|
+
function chars$2(str) {
|
|
81829
81829
|
return Array.from(str).map(s => s.charCodeAt(0));
|
|
81830
81830
|
}
|
|
81831
81831
|
|
|
@@ -81833,7 +81833,7 @@
|
|
|
81833
81833
|
* @param { number } ch
|
|
81834
81834
|
* @return { boolean }
|
|
81835
81835
|
*/
|
|
81836
|
-
function isStartChar(ch) {
|
|
81836
|
+
function isStartChar$1(ch) {
|
|
81837
81837
|
return (
|
|
81838
81838
|
ch === 63 // ?
|
|
81839
81839
|
) || (
|
|
@@ -81875,15 +81875,15 @@
|
|
|
81875
81875
|
* @param { number } ch
|
|
81876
81876
|
* @return { boolean }
|
|
81877
81877
|
*/
|
|
81878
|
-
function isAdditional(ch) {
|
|
81879
|
-
return additionalNameChars.includes(ch);
|
|
81878
|
+
function isAdditional$1(ch) {
|
|
81879
|
+
return additionalNameChars$1.includes(ch);
|
|
81880
81880
|
}
|
|
81881
81881
|
|
|
81882
81882
|
/**
|
|
81883
81883
|
* @param { number } ch
|
|
81884
81884
|
* @return { boolean }
|
|
81885
81885
|
*/
|
|
81886
|
-
function isPartChar(ch) {
|
|
81886
|
+
function isPartChar$1(ch) {
|
|
81887
81887
|
return (
|
|
81888
81888
|
ch >= 48 && ch <= 57 // 0-9
|
|
81889
81889
|
) || (
|
|
@@ -81899,11 +81899,11 @@
|
|
|
81899
81899
|
* @param { number } ch
|
|
81900
81900
|
* @return { boolean }
|
|
81901
81901
|
*/
|
|
81902
|
-
function isSpace(ch) {
|
|
81903
|
-
return spaceChars.includes(ch);
|
|
81902
|
+
function isSpace$1(ch) {
|
|
81903
|
+
return spaceChars$1.includes(ch);
|
|
81904
81904
|
}
|
|
81905
81905
|
|
|
81906
|
-
function indent(str, spaces) {
|
|
81906
|
+
function indent$1(str, spaces) {
|
|
81907
81907
|
return spaces.concat(
|
|
81908
81908
|
str.split(/\n/g).join('\n' + spaces)
|
|
81909
81909
|
);
|
|
@@ -81915,11 +81915,11 @@
|
|
|
81915
81915
|
*
|
|
81916
81916
|
* @return { { token: string, offset: number } | null }
|
|
81917
81917
|
*/
|
|
81918
|
-
function parseAdditionalSymbol(input, offset = 0) {
|
|
81918
|
+
function parseAdditionalSymbol$1(input, offset = 0) {
|
|
81919
81919
|
|
|
81920
81920
|
const next = input.peek(offset);
|
|
81921
81921
|
|
|
81922
|
-
if (next === asterix && input.peek(offset + 1) === asterix) {
|
|
81922
|
+
if (next === asterix$1 && input.peek(offset + 1) === asterix$1) {
|
|
81923
81923
|
|
|
81924
81924
|
return {
|
|
81925
81925
|
offset: 2,
|
|
@@ -81927,7 +81927,7 @@
|
|
|
81927
81927
|
};
|
|
81928
81928
|
}
|
|
81929
81929
|
|
|
81930
|
-
if (isAdditional(next)) {
|
|
81930
|
+
if (isAdditional$1(next)) {
|
|
81931
81931
|
return {
|
|
81932
81932
|
offset: 1,
|
|
81933
81933
|
token: String.fromCharCode(next)
|
|
@@ -81944,11 +81944,11 @@
|
|
|
81944
81944
|
*
|
|
81945
81945
|
* @return { { token: string, offset: number } | null }
|
|
81946
81946
|
*/
|
|
81947
|
-
function parseIdentifier(input, offset = 0, namePart = false) {
|
|
81947
|
+
function parseIdentifier$1(input, offset = 0, namePart = false) {
|
|
81948
81948
|
for (let inside = false, chars = [], i = 0;; i++) {
|
|
81949
81949
|
const next = input.peek(offset + i);
|
|
81950
81950
|
|
|
81951
|
-
if (isStartChar(next) || ((inside || namePart) && isPartChar(next))) {
|
|
81951
|
+
if (isStartChar$1(next) || ((inside || namePart) && isPartChar$1(next))) {
|
|
81952
81952
|
if (!inside) {
|
|
81953
81953
|
inside = true;
|
|
81954
81954
|
}
|
|
@@ -81974,12 +81974,12 @@
|
|
|
81974
81974
|
*
|
|
81975
81975
|
* @return { { token: string, offset: number } | null }
|
|
81976
81976
|
*/
|
|
81977
|
-
function parseSpaces(input, offset) {
|
|
81977
|
+
function parseSpaces$1(input, offset) {
|
|
81978
81978
|
|
|
81979
81979
|
for (let inside = false, i = 0;; i++) {
|
|
81980
81980
|
let next = input.peek(offset + i);
|
|
81981
81981
|
|
|
81982
|
-
if (isSpace(next)) {
|
|
81982
|
+
if (isSpace$1(next)) {
|
|
81983
81983
|
if (!inside) {
|
|
81984
81984
|
inside = true;
|
|
81985
81985
|
}
|
|
@@ -82004,7 +82004,7 @@
|
|
|
82004
82004
|
*
|
|
82005
82005
|
* @return { { token: string, offset: number, term: number } | null }
|
|
82006
82006
|
*/
|
|
82007
|
-
function parseName$
|
|
82007
|
+
function parseName$2(input, variables) {
|
|
82008
82008
|
const contextKeys = variables.contextKeys();
|
|
82009
82009
|
|
|
82010
82010
|
const start = variables.tokens;
|
|
@@ -82015,9 +82015,9 @@
|
|
|
82015
82015
|
const maybeSpace = tokens.length > 0;
|
|
82016
82016
|
|
|
82017
82017
|
const match = (
|
|
82018
|
-
parseIdentifier(input, i, namePart) ||
|
|
82019
|
-
namePart && parseAdditionalSymbol(input, i) ||
|
|
82020
|
-
maybeSpace && parseSpaces(input, i)
|
|
82018
|
+
parseIdentifier$1(input, i, namePart) ||
|
|
82019
|
+
namePart && parseAdditionalSymbol$1(input, i) ||
|
|
82020
|
+
maybeSpace && parseSpaces$1(input, i)
|
|
82021
82021
|
);
|
|
82022
82022
|
|
|
82023
82023
|
// match is required
|
|
@@ -82046,7 +82046,7 @@
|
|
|
82046
82046
|
nextMatch = {
|
|
82047
82047
|
token,
|
|
82048
82048
|
offset: token.length,
|
|
82049
|
-
term: nameIdentifier
|
|
82049
|
+
term: nameIdentifier$1
|
|
82050
82050
|
};
|
|
82051
82051
|
}
|
|
82052
82052
|
|
|
@@ -82054,7 +82054,7 @@
|
|
|
82054
82054
|
continue;
|
|
82055
82055
|
}
|
|
82056
82056
|
|
|
82057
|
-
if (dateTimeIdentifiers.some(el => el === name)) {
|
|
82057
|
+
if (dateTimeIdentifiers$1.some(el => el === name)) {
|
|
82058
82058
|
const token = tokens[0];
|
|
82059
82059
|
|
|
82060
82060
|
// parse date time identifiers as normal
|
|
@@ -82064,11 +82064,11 @@
|
|
|
82064
82064
|
nextMatch = {
|
|
82065
82065
|
token,
|
|
82066
82066
|
offset: token.length,
|
|
82067
|
-
term: identifier
|
|
82067
|
+
term: identifier$1
|
|
82068
82068
|
};
|
|
82069
82069
|
}
|
|
82070
82070
|
|
|
82071
|
-
if (dateTimeIdentifiers.some(el => el.startsWith(name))) {
|
|
82071
|
+
if (dateTimeIdentifiers$1.some(el => el.startsWith(name))) {
|
|
82072
82072
|
continue;
|
|
82073
82073
|
}
|
|
82074
82074
|
|
|
@@ -82077,50 +82077,50 @@
|
|
|
82077
82077
|
|
|
82078
82078
|
}
|
|
82079
82079
|
|
|
82080
|
-
const identifiersMap = {
|
|
82081
|
-
[ identifier ]: 'identifier',
|
|
82082
|
-
[ nameIdentifier ]: 'nameIdentifier'
|
|
82080
|
+
const identifiersMap$1 = {
|
|
82081
|
+
[ identifier$1 ]: 'identifier',
|
|
82082
|
+
[ nameIdentifier$1 ]: 'nameIdentifier'
|
|
82083
82083
|
};
|
|
82084
82084
|
|
|
82085
|
-
const identifiers$
|
|
82085
|
+
const identifiers$2 = new ExternalTokenizer((input, stack) => {
|
|
82086
82086
|
|
|
82087
|
-
LOG_PARSE_DEBUG && console.log('%s: T <identifier | nameIdentifier>', input.pos);
|
|
82087
|
+
LOG_PARSE_DEBUG$1 && console.log('%s: T <identifier | nameIdentifier>', input.pos);
|
|
82088
82088
|
|
|
82089
|
-
const nameMatch = parseName$
|
|
82089
|
+
const nameMatch = parseName$2(input, stack.context);
|
|
82090
82090
|
|
|
82091
82091
|
const start = stack.context.tokens;
|
|
82092
82092
|
|
|
82093
|
-
const match = nameMatch || parseIdentifier(input, 0, start.length > 0);
|
|
82093
|
+
const match = nameMatch || parseIdentifier$1(input, 0, start.length > 0);
|
|
82094
82094
|
|
|
82095
82095
|
if (match) {
|
|
82096
82096
|
input.advance(match.offset);
|
|
82097
|
-
input.acceptToken(nameMatch ? nameMatch.term : identifier);
|
|
82097
|
+
input.acceptToken(nameMatch ? nameMatch.term : identifier$1);
|
|
82098
82098
|
|
|
82099
|
-
LOG_PARSE && console.log('%s: MATCH <%s> <%s>', input.pos, nameMatch ? identifiersMap[nameMatch.term] : 'identifier', match.token);
|
|
82099
|
+
LOG_PARSE$1 && console.log('%s: MATCH <%s> <%s>', input.pos, nameMatch ? identifiersMap$1[nameMatch.term] : 'identifier', match.token);
|
|
82100
82100
|
}
|
|
82101
82101
|
}, { contextual: true });
|
|
82102
82102
|
|
|
82103
82103
|
|
|
82104
|
-
const propertyIdentifiers = new ExternalTokenizer((input, stack) => {
|
|
82104
|
+
const propertyIdentifiers$1 = new ExternalTokenizer((input, stack) => {
|
|
82105
82105
|
|
|
82106
|
-
LOG_PARSE_DEBUG && console.log('%s: T <propertyIdentifier>', input.pos);
|
|
82106
|
+
LOG_PARSE_DEBUG$1 && console.log('%s: T <propertyIdentifier>', input.pos);
|
|
82107
82107
|
|
|
82108
82108
|
const start = stack.context.tokens;
|
|
82109
82109
|
|
|
82110
|
-
const match = parseIdentifier(input, 0, start.length > 0);
|
|
82110
|
+
const match = parseIdentifier$1(input, 0, start.length > 0);
|
|
82111
82111
|
|
|
82112
82112
|
if (match) {
|
|
82113
82113
|
input.advance(match.offset);
|
|
82114
|
-
input.acceptToken(propertyIdentifier);
|
|
82114
|
+
input.acceptToken(propertyIdentifier$1);
|
|
82115
82115
|
|
|
82116
|
-
LOG_PARSE && console.log('%s: MATCH <propertyIdentifier> <%s>', input.pos, match.token);
|
|
82116
|
+
LOG_PARSE$1 && console.log('%s: MATCH <propertyIdentifier> <%s>', input.pos, match.token);
|
|
82117
82117
|
}
|
|
82118
82118
|
});
|
|
82119
82119
|
|
|
82120
82120
|
|
|
82121
|
-
const insertSemicolon = new ExternalTokenizer((input, stack) => {
|
|
82121
|
+
const insertSemicolon$1 = new ExternalTokenizer((input, stack) => {
|
|
82122
82122
|
|
|
82123
|
-
LOG_PARSE_DEBUG && console.log('%s: T <insertSemi>', input.pos);
|
|
82123
|
+
LOG_PARSE_DEBUG$1 && console.log('%s: T <insertSemi>', input.pos);
|
|
82124
82124
|
|
|
82125
82125
|
let offset;
|
|
82126
82126
|
let insert = false;
|
|
@@ -82128,11 +82128,11 @@
|
|
|
82128
82128
|
for (offset = 0;; offset++) {
|
|
82129
82129
|
const char = input.peek(offset);
|
|
82130
82130
|
|
|
82131
|
-
if (spaceChars.includes(char)) {
|
|
82131
|
+
if (spaceChars$1.includes(char)) {
|
|
82132
82132
|
continue;
|
|
82133
82133
|
}
|
|
82134
82134
|
|
|
82135
|
-
if (newlineChars.includes(char)) {
|
|
82135
|
+
if (newlineChars$1.includes(char)) {
|
|
82136
82136
|
insert = true;
|
|
82137
82137
|
}
|
|
82138
82138
|
|
|
@@ -82141,51 +82141,51 @@
|
|
|
82141
82141
|
|
|
82142
82142
|
if (insert) {
|
|
82143
82143
|
|
|
82144
|
-
const identifier = parseIdentifier(input, offset + 1);
|
|
82145
|
-
const spaces = parseSpaces(input, offset + 1);
|
|
82144
|
+
const identifier = parseIdentifier$1(input, offset + 1);
|
|
82145
|
+
const spaces = parseSpaces$1(input, offset + 1);
|
|
82146
82146
|
|
|
82147
82147
|
if (spaces || identifier && /^(then|else|return|satisfies)$/.test(identifier.token)) {
|
|
82148
82148
|
return;
|
|
82149
82149
|
}
|
|
82150
82150
|
|
|
82151
|
-
LOG_PARSE && console.log('%s: MATCH <insertSemi>', input.pos);
|
|
82152
|
-
input.acceptToken(insertSemi);
|
|
82151
|
+
LOG_PARSE$1 && console.log('%s: MATCH <insertSemi>', input.pos);
|
|
82152
|
+
input.acceptToken(insertSemi$1);
|
|
82153
82153
|
}
|
|
82154
82154
|
});
|
|
82155
82155
|
|
|
82156
|
-
const prefixedContextStarts = {
|
|
82157
|
-
[ functionInvocationStart ]: 'FunctionInvocation',
|
|
82158
|
-
[ filterExpressionStart ]: 'FilterExpression',
|
|
82159
|
-
[ pathExpressionStart ]: 'PathExpression'
|
|
82156
|
+
const prefixedContextStarts$1 = {
|
|
82157
|
+
[ functionInvocationStart$1 ]: 'FunctionInvocation',
|
|
82158
|
+
[ filterExpressionStart$1 ]: 'FilterExpression',
|
|
82159
|
+
[ pathExpressionStart$1 ]: 'PathExpression'
|
|
82160
82160
|
};
|
|
82161
82161
|
|
|
82162
|
-
const contextStarts = {
|
|
82163
|
-
[ contextStart ]: 'Context',
|
|
82164
|
-
[ functionDefinitionStart ]: 'FunctionDefinition',
|
|
82165
|
-
[ forExpressionStart ]: 'ForExpression',
|
|
82166
|
-
[ listStart ]: 'List',
|
|
82167
|
-
[ ifExpressionStart ]: 'IfExpression',
|
|
82168
|
-
[ quantifiedExpressionStart ]: 'QuantifiedExpression'
|
|
82162
|
+
const contextStarts$1 = {
|
|
82163
|
+
[ contextStart$1 ]: 'Context',
|
|
82164
|
+
[ functionDefinitionStart$1 ]: 'FunctionDefinition',
|
|
82165
|
+
[ forExpressionStart$1 ]: 'ForExpression',
|
|
82166
|
+
[ listStart$1 ]: 'List',
|
|
82167
|
+
[ ifExpressionStart$1 ]: 'IfExpression',
|
|
82168
|
+
[ quantifiedExpressionStart$1 ]: 'QuantifiedExpression'
|
|
82169
82169
|
};
|
|
82170
82170
|
|
|
82171
|
-
const contextEnds = {
|
|
82172
|
-
[ Context$
|
|
82173
|
-
[ FunctionDefinition ]: 'FunctionDefinition',
|
|
82174
|
-
[ ForExpression ]: 'ForExpression',
|
|
82175
|
-
[ List ]: 'List',
|
|
82176
|
-
[ IfExpression ]: 'IfExpression',
|
|
82177
|
-
[ QuantifiedExpression ]: 'QuantifiedExpression',
|
|
82178
|
-
[ PathExpression ]: 'PathExpression',
|
|
82179
|
-
[ FunctionInvocation ]: 'FunctionInvocation',
|
|
82180
|
-
[ FilterExpression ]: 'FilterExpression',
|
|
82181
|
-
[ ArithmeticExpression ]: 'ArithmeticExpression'
|
|
82171
|
+
const contextEnds$1 = {
|
|
82172
|
+
[ Context$2 ]: 'Context',
|
|
82173
|
+
[ FunctionDefinition$1 ]: 'FunctionDefinition',
|
|
82174
|
+
[ ForExpression$1 ]: 'ForExpression',
|
|
82175
|
+
[ List$1 ]: 'List',
|
|
82176
|
+
[ IfExpression$1 ]: 'IfExpression',
|
|
82177
|
+
[ QuantifiedExpression$1 ]: 'QuantifiedExpression',
|
|
82178
|
+
[ PathExpression$1 ]: 'PathExpression',
|
|
82179
|
+
[ FunctionInvocation$1 ]: 'FunctionInvocation',
|
|
82180
|
+
[ FilterExpression$1 ]: 'FilterExpression',
|
|
82181
|
+
[ ArithmeticExpression$1 ]: 'ArithmeticExpression'
|
|
82182
82182
|
};
|
|
82183
82183
|
|
|
82184
82184
|
/**
|
|
82185
82185
|
* A simple producer that retrievs a value from
|
|
82186
82186
|
* a given context. Used to lazily take things.
|
|
82187
82187
|
*/
|
|
82188
|
-
class ValueProducer {
|
|
82188
|
+
let ValueProducer$1 = class ValueProducer {
|
|
82189
82189
|
|
|
82190
82190
|
/**
|
|
82191
82191
|
* @param { Function } fn
|
|
@@ -82207,22 +82207,22 @@
|
|
|
82207
82207
|
return new ValueProducer(fn);
|
|
82208
82208
|
}
|
|
82209
82209
|
|
|
82210
|
-
}
|
|
82210
|
+
};
|
|
82211
82211
|
|
|
82212
|
-
const dateTimeLiterals = {
|
|
82212
|
+
const dateTimeLiterals$1 = {
|
|
82213
82213
|
'date and time': 1,
|
|
82214
82214
|
'date': 1,
|
|
82215
82215
|
'time': 1,
|
|
82216
82216
|
'duration': 1
|
|
82217
82217
|
};
|
|
82218
82218
|
|
|
82219
|
-
const dateTimeIdentifiers = Object.keys(dateTimeLiterals);
|
|
82219
|
+
const dateTimeIdentifiers$1 = Object.keys(dateTimeLiterals$1);
|
|
82220
82220
|
|
|
82221
82221
|
|
|
82222
82222
|
/**
|
|
82223
82223
|
* A basic key-value store to hold context values.
|
|
82224
82224
|
*/
|
|
82225
|
-
class VariableContext {
|
|
82225
|
+
let VariableContext$1 = class VariableContext {
|
|
82226
82226
|
|
|
82227
82227
|
/**
|
|
82228
82228
|
* Creates a new context from a JavaScript object.
|
|
@@ -82311,7 +82311,7 @@
|
|
|
82311
82311
|
static isAtomic(value) {
|
|
82312
82312
|
return !value ||
|
|
82313
82313
|
value instanceof this ||
|
|
82314
|
-
value instanceof ValueProducer ||
|
|
82314
|
+
value instanceof ValueProducer$1 ||
|
|
82315
82315
|
typeof value !== 'object';
|
|
82316
82316
|
}
|
|
82317
82317
|
|
|
@@ -82362,7 +82362,7 @@
|
|
|
82362
82362
|
static __merge(context, other) {
|
|
82363
82363
|
|
|
82364
82364
|
return reduce(this.__unwrap(other), (merged, value, key) => {
|
|
82365
|
-
if (value instanceof ValueProducer) {
|
|
82365
|
+
if (value instanceof ValueProducer$1) {
|
|
82366
82366
|
|
|
82367
82367
|
// keep value producers in tact
|
|
82368
82368
|
return {
|
|
@@ -82384,9 +82384,9 @@
|
|
|
82384
82384
|
}, this.__unwrap(context));
|
|
82385
82385
|
}
|
|
82386
82386
|
|
|
82387
|
-
}
|
|
82387
|
+
};
|
|
82388
82388
|
|
|
82389
|
-
class Variables {
|
|
82389
|
+
let Variables$1 = class Variables {
|
|
82390
82390
|
|
|
82391
82391
|
/**
|
|
82392
82392
|
* @param { {
|
|
@@ -82424,7 +82424,7 @@
|
|
|
82424
82424
|
parent: this
|
|
82425
82425
|
});
|
|
82426
82426
|
|
|
82427
|
-
LOG_VARS && console.log('[%s] enter', childScope.path, childScope.context);
|
|
82427
|
+
LOG_VARS$1 && console.log('[%s] enter', childScope.path, childScope.context);
|
|
82428
82428
|
|
|
82429
82429
|
return childScope;
|
|
82430
82430
|
}
|
|
@@ -82432,19 +82432,19 @@
|
|
|
82432
82432
|
exitScope(str) {
|
|
82433
82433
|
|
|
82434
82434
|
if (!this.parent) {
|
|
82435
|
-
LOG_VARS && console.log('[%s] NO exit %o\n%s', this.path, this.context, indent(str, ' '));
|
|
82435
|
+
LOG_VARS$1 && console.log('[%s] NO exit %o\n%s', this.path, this.context, indent$1(str, ' '));
|
|
82436
82436
|
|
|
82437
82437
|
return this;
|
|
82438
82438
|
}
|
|
82439
82439
|
|
|
82440
|
-
LOG_VARS && console.log('[%s] exit %o\n%s', this.path, this.context, indent(str, ' '));
|
|
82440
|
+
LOG_VARS$1 && console.log('[%s] exit %o\n%s', this.path, this.context, indent$1(str, ' '));
|
|
82441
82441
|
|
|
82442
82442
|
return this.parent.pushChild(this);
|
|
82443
82443
|
}
|
|
82444
82444
|
|
|
82445
82445
|
token(part) {
|
|
82446
82446
|
|
|
82447
|
-
LOG_VARS && console.log('[%s] token <%s> + <%s>', this.path, this.tokens.join(' '), part);
|
|
82447
|
+
LOG_VARS$1 && console.log('[%s] token <%s> + <%s>', this.path, this.tokens.join(' '), part);
|
|
82448
82448
|
|
|
82449
82449
|
return this.assign({
|
|
82450
82450
|
tokens: [ ...this.tokens, part ]
|
|
@@ -82453,7 +82453,7 @@
|
|
|
82453
82453
|
|
|
82454
82454
|
literal(value) {
|
|
82455
82455
|
|
|
82456
|
-
LOG_VARS && console.log('[%s] literal %o', this.path, value);
|
|
82456
|
+
LOG_VARS$1 && console.log('[%s] literal %o', this.path, value);
|
|
82457
82457
|
|
|
82458
82458
|
return this.pushChild(this.of({
|
|
82459
82459
|
name: 'Literal',
|
|
@@ -82467,7 +82467,7 @@
|
|
|
82467
82467
|
* @return {any}
|
|
82468
82468
|
*/
|
|
82469
82469
|
computedValue() {
|
|
82470
|
-
for (let scope = this;;scope = last(scope.children)) {
|
|
82470
|
+
for (let scope = this;;scope = last$1(scope.children)) {
|
|
82471
82471
|
|
|
82472
82472
|
if (!scope) {
|
|
82473
82473
|
return null;
|
|
@@ -82480,7 +82480,7 @@
|
|
|
82480
82480
|
}
|
|
82481
82481
|
|
|
82482
82482
|
contextKeys() {
|
|
82483
|
-
return this.context.getKeys().map(normalizeContextKey);
|
|
82483
|
+
return this.context.getKeys().map(normalizeContextKey$1);
|
|
82484
82484
|
}
|
|
82485
82485
|
|
|
82486
82486
|
get path() {
|
|
@@ -82495,10 +82495,10 @@
|
|
|
82495
82495
|
*/
|
|
82496
82496
|
get(variable) {
|
|
82497
82497
|
|
|
82498
|
-
const names = [ variable, variable && normalizeContextKey(variable) ];
|
|
82498
|
+
const names = [ variable, variable && normalizeContextKey$1(variable) ];
|
|
82499
82499
|
|
|
82500
82500
|
const contextKey = this.context.getKeys().find(
|
|
82501
|
-
key => names.includes(normalizeContextKey(key))
|
|
82501
|
+
key => names.includes(normalizeContextKey$1(key))
|
|
82502
82502
|
);
|
|
82503
82503
|
|
|
82504
82504
|
if (typeof contextKey === 'undefined') {
|
|
@@ -82507,7 +82507,7 @@
|
|
|
82507
82507
|
|
|
82508
82508
|
const val = this.context.get(contextKey);
|
|
82509
82509
|
|
|
82510
|
-
if (val instanceof ValueProducer) {
|
|
82510
|
+
if (val instanceof ValueProducer$1) {
|
|
82511
82511
|
return val.get(this);
|
|
82512
82512
|
} else {
|
|
82513
82513
|
return val;
|
|
@@ -82530,7 +82530,7 @@
|
|
|
82530
82530
|
raw: variable
|
|
82531
82531
|
});
|
|
82532
82532
|
|
|
82533
|
-
LOG_VARS && console.log('[%s] resolve name <%s=%s>', variableScope.path, variable, this.get(variable));
|
|
82533
|
+
LOG_VARS$1 && console.log('[%s] resolve name <%s=%s>', variableScope.path, variable, this.get(variable));
|
|
82534
82534
|
|
|
82535
82535
|
return parentScope.pushChild(variableScope);
|
|
82536
82536
|
}
|
|
@@ -82572,7 +82572,7 @@
|
|
|
82572
82572
|
|
|
82573
82573
|
const variableName = this.tokens.join(' ');
|
|
82574
82574
|
|
|
82575
|
-
LOG_VARS && console.log('[%s] declareName <%s>', this.path, variableName);
|
|
82575
|
+
LOG_VARS$1 && console.log('[%s] declareName <%s>', this.path, variableName);
|
|
82576
82576
|
|
|
82577
82577
|
return this.assign({
|
|
82578
82578
|
tokens: []
|
|
@@ -82587,12 +82587,12 @@
|
|
|
82587
82587
|
define(name, value) {
|
|
82588
82588
|
|
|
82589
82589
|
if (typeof name !== 'string') {
|
|
82590
|
-
LOG_VARS && console.log('[%s] no define <%s=%s>', this.path, name, value);
|
|
82590
|
+
LOG_VARS$1 && console.log('[%s] no define <%s=%s>', this.path, name, value);
|
|
82591
82591
|
|
|
82592
82592
|
return this;
|
|
82593
82593
|
}
|
|
82594
82594
|
|
|
82595
|
-
LOG_VARS && console.log('[%s] define <%s=%s>', this.path, name, value);
|
|
82595
|
+
LOG_VARS$1 && console.log('[%s] define <%s=%s>', this.path, name, value);
|
|
82596
82596
|
|
|
82597
82597
|
const context = this.context.set(name, value);
|
|
82598
82598
|
|
|
@@ -82672,14 +82672,14 @@
|
|
|
82672
82672
|
});
|
|
82673
82673
|
}
|
|
82674
82674
|
|
|
82675
|
-
}
|
|
82675
|
+
};
|
|
82676
82676
|
|
|
82677
82677
|
/**
|
|
82678
82678
|
* @param { string } name
|
|
82679
82679
|
*
|
|
82680
82680
|
* @return { string } normalizedName
|
|
82681
82681
|
*/
|
|
82682
|
-
function normalizeContextKey(name) {
|
|
82682
|
+
function normalizeContextKey$1(name) {
|
|
82683
82683
|
return name.replace(/\s*([./\-'+]|\*\*?)\s*/g, ' $1 ').replace(/\s{2,}/g, ' ').trim();
|
|
82684
82684
|
}
|
|
82685
82685
|
|
|
@@ -82691,7 +82691,7 @@
|
|
|
82691
82691
|
* @param { string } code
|
|
82692
82692
|
* @return { Variables }
|
|
82693
82693
|
*/
|
|
82694
|
-
function wrap(variables, scopeName, code) {
|
|
82694
|
+
function wrap$1(variables, scopeName, code) {
|
|
82695
82695
|
|
|
82696
82696
|
const parts = variables.children.filter(c => c.name !== scopeName);
|
|
82697
82697
|
const children = variables.children.filter(c => c.name === scopeName);
|
|
@@ -82718,9 +82718,9 @@
|
|
|
82718
82718
|
*
|
|
82719
82719
|
* @return { ContextTracker<Variables> }
|
|
82720
82720
|
*/
|
|
82721
|
-
function trackVariables(context = {}, Context = VariableContext) {
|
|
82721
|
+
function trackVariables$1(context = {}, Context = VariableContext$1) {
|
|
82722
82722
|
|
|
82723
|
-
const start = Variables.of({
|
|
82723
|
+
const start = Variables$1.of({
|
|
82724
82724
|
context: Context.of(context)
|
|
82725
82725
|
});
|
|
82726
82726
|
|
|
@@ -82728,7 +82728,7 @@
|
|
|
82728
82728
|
start,
|
|
82729
82729
|
reduce(variables, term, stack, input) {
|
|
82730
82730
|
|
|
82731
|
-
if (term === IfExpression) {
|
|
82731
|
+
if (term === IfExpression$1) {
|
|
82732
82732
|
const [ thenPart, elsePart ] = variables.children.slice(-2);
|
|
82733
82733
|
|
|
82734
82734
|
variables = variables.assign({
|
|
@@ -82739,7 +82739,7 @@
|
|
|
82739
82739
|
});
|
|
82740
82740
|
}
|
|
82741
82741
|
|
|
82742
|
-
if (term === List) {
|
|
82742
|
+
if (term === List$1) {
|
|
82743
82743
|
variables = variables.assign({
|
|
82744
82744
|
value: Context.of(
|
|
82745
82745
|
...variables.children.map(
|
|
@@ -82749,7 +82749,7 @@
|
|
|
82749
82749
|
});
|
|
82750
82750
|
}
|
|
82751
82751
|
|
|
82752
|
-
if (term === FilterExpression) {
|
|
82752
|
+
if (term === FilterExpression$1) {
|
|
82753
82753
|
const [ sourcePart, _ ] = variables.children.slice(-2);
|
|
82754
82754
|
|
|
82755
82755
|
variables = variables.assign({
|
|
@@ -82757,7 +82757,7 @@
|
|
|
82757
82757
|
});
|
|
82758
82758
|
}
|
|
82759
82759
|
|
|
82760
|
-
if (term === FunctionInvocation) {
|
|
82760
|
+
if (term === FunctionInvocation$1) {
|
|
82761
82761
|
|
|
82762
82762
|
const [
|
|
82763
82763
|
name,
|
|
@@ -82766,17 +82766,17 @@
|
|
|
82766
82766
|
|
|
82767
82767
|
// preserve type information through `get value(context, key)` utility
|
|
82768
82768
|
if (name?.raw === 'get value') {
|
|
82769
|
-
variables = getContextValue(variables, args);
|
|
82769
|
+
variables = getContextValue$1(variables, args);
|
|
82770
82770
|
}
|
|
82771
82771
|
}
|
|
82772
82772
|
|
|
82773
|
-
const start = contextStarts[term];
|
|
82773
|
+
const start = contextStarts$1[term];
|
|
82774
82774
|
|
|
82775
82775
|
if (start) {
|
|
82776
82776
|
return variables.enterScope(start);
|
|
82777
82777
|
}
|
|
82778
82778
|
|
|
82779
|
-
const prefixedStart = prefixedContextStarts[term];
|
|
82779
|
+
const prefixedStart = prefixedContextStarts$1[term];
|
|
82780
82780
|
|
|
82781
82781
|
// pull <expression> into new <prefixedStart> context
|
|
82782
82782
|
if (prefixedStart) {
|
|
@@ -82787,15 +82787,15 @@
|
|
|
82787
82787
|
} = variables;
|
|
82788
82788
|
|
|
82789
82789
|
const children = currentChildren.slice(0, -1);
|
|
82790
|
-
const lastChild = last(currentChildren);
|
|
82790
|
+
const lastChild = last$1(currentChildren);
|
|
82791
82791
|
|
|
82792
82792
|
let newContext = null;
|
|
82793
82793
|
|
|
82794
|
-
if (term === pathExpressionStart) {
|
|
82794
|
+
if (term === pathExpressionStart$1) {
|
|
82795
82795
|
newContext = Context.of(lastChild?.computedValue());
|
|
82796
82796
|
}
|
|
82797
82797
|
|
|
82798
|
-
if (term === filterExpressionStart) {
|
|
82798
|
+
if (term === filterExpressionStart$1) {
|
|
82799
82799
|
newContext = Context.of(
|
|
82800
82800
|
currentContext,
|
|
82801
82801
|
lastChild?.computedValue()
|
|
@@ -82812,19 +82812,19 @@
|
|
|
82812
82812
|
// @ts-expect-error internal method
|
|
82813
82813
|
const code = input.read(input.pos, stack.pos);
|
|
82814
82814
|
|
|
82815
|
-
const end = contextEnds[term];
|
|
82815
|
+
const end = contextEnds$1[term];
|
|
82816
82816
|
|
|
82817
82817
|
if (end) {
|
|
82818
82818
|
return variables.exitScope(code);
|
|
82819
82819
|
}
|
|
82820
82820
|
|
|
82821
|
-
if (term === ContextEntry) {
|
|
82821
|
+
if (term === ContextEntry$1) {
|
|
82822
82822
|
const parts = variables.children.filter(c => c.name !== 'ContextEntry');
|
|
82823
82823
|
|
|
82824
82824
|
const name = parts[0];
|
|
82825
|
-
const value = last(parts);
|
|
82825
|
+
const value = last$1(parts);
|
|
82826
82826
|
|
|
82827
|
-
return wrap(variables, 'ContextEntry', code).assign(
|
|
82827
|
+
return wrap$1(variables, 'ContextEntry', code).assign(
|
|
82828
82828
|
{
|
|
82829
82829
|
value: Context
|
|
82830
82830
|
.of(variables.value)
|
|
@@ -82834,27 +82834,27 @@
|
|
|
82834
82834
|
}
|
|
82835
82835
|
|
|
82836
82836
|
if (
|
|
82837
|
-
term === ForInExpression ||
|
|
82838
|
-
term === QuantifiedInExpression
|
|
82837
|
+
term === ForInExpression$1 ||
|
|
82838
|
+
term === QuantifiedInExpression$1
|
|
82839
82839
|
) {
|
|
82840
|
-
return wrap(variables, 'InExpression', code);
|
|
82840
|
+
return wrap$1(variables, 'InExpression', code);
|
|
82841
82841
|
}
|
|
82842
82842
|
|
|
82843
82843
|
// define <partial> within ForExpression body
|
|
82844
|
-
if (term === forExpressionBodyStart) {
|
|
82844
|
+
if (term === forExpressionBodyStart$1) {
|
|
82845
82845
|
|
|
82846
82846
|
return variables.define(
|
|
82847
82847
|
'partial',
|
|
82848
|
-
ValueProducer.of(variables => {
|
|
82849
|
-
return last(variables.children)?.computedValue();
|
|
82848
|
+
ValueProducer$1.of(variables => {
|
|
82849
|
+
return last$1(variables.children)?.computedValue();
|
|
82850
82850
|
})
|
|
82851
82851
|
);
|
|
82852
82852
|
}
|
|
82853
82853
|
|
|
82854
82854
|
if (
|
|
82855
|
-
term === ParameterName
|
|
82855
|
+
term === ParameterName$1
|
|
82856
82856
|
) {
|
|
82857
|
-
const name = last(variables.children).computedValue();
|
|
82857
|
+
const name = last$1(variables.children).computedValue();
|
|
82858
82858
|
|
|
82859
82859
|
// TODO: attach type information
|
|
82860
82860
|
return variables.define(name, 1);
|
|
@@ -82862,71 +82862,71 @@
|
|
|
82862
82862
|
|
|
82863
82863
|
// pull <expression> into ArithmeticExpression child
|
|
82864
82864
|
if (
|
|
82865
|
-
term === arithmeticPlusStart ||
|
|
82866
|
-
term === arithmeticTimesStart ||
|
|
82867
|
-
term === arithmeticExpStart
|
|
82865
|
+
term === arithmeticPlusStart$1 ||
|
|
82866
|
+
term === arithmeticTimesStart$1 ||
|
|
82867
|
+
term === arithmeticExpStart$1
|
|
82868
82868
|
) {
|
|
82869
82869
|
const children = variables.children.slice(0, -1);
|
|
82870
|
-
const lastChild = last(variables.children);
|
|
82870
|
+
const lastChild = last$1(variables.children);
|
|
82871
82871
|
|
|
82872
82872
|
return variables.assign({
|
|
82873
82873
|
children
|
|
82874
82874
|
}).enterScope('ArithmeticExpression').pushChild(lastChild);
|
|
82875
82875
|
}
|
|
82876
82876
|
|
|
82877
|
-
if (term === arithmeticUnaryStart) {
|
|
82877
|
+
if (term === arithmeticUnaryStart$1) {
|
|
82878
82878
|
return variables.enterScope('ArithmeticExpression');
|
|
82879
82879
|
}
|
|
82880
82880
|
|
|
82881
82881
|
if (
|
|
82882
|
-
term === Identifier ||
|
|
82883
|
-
term === AdditionalIdentifier ||
|
|
82884
|
-
term === PropertyIdentifier
|
|
82882
|
+
term === Identifier$1 ||
|
|
82883
|
+
term === AdditionalIdentifier$1 ||
|
|
82884
|
+
term === PropertyIdentifier$1
|
|
82885
82885
|
) {
|
|
82886
82886
|
return variables.token(code);
|
|
82887
82887
|
}
|
|
82888
82888
|
|
|
82889
82889
|
if (
|
|
82890
|
-
term === StringLiteral
|
|
82890
|
+
term === StringLiteral$1
|
|
82891
82891
|
) {
|
|
82892
82892
|
return variables.literal(code.replace(/^"|"$/g, ''));
|
|
82893
82893
|
}
|
|
82894
82894
|
|
|
82895
|
-
if (term === BooleanLiteral) {
|
|
82895
|
+
if (term === BooleanLiteral$1) {
|
|
82896
82896
|
return variables.literal(code === 'true' ? true : false);
|
|
82897
82897
|
}
|
|
82898
82898
|
|
|
82899
|
-
if (term === NumericLiteral) {
|
|
82899
|
+
if (term === NumericLiteral$1) {
|
|
82900
82900
|
return variables.literal(parseFloat(code));
|
|
82901
82901
|
}
|
|
82902
82902
|
|
|
82903
|
-
if (term === nil) {
|
|
82903
|
+
if (term === nil$1) {
|
|
82904
82904
|
return variables.literal(null);
|
|
82905
82905
|
}
|
|
82906
82906
|
|
|
82907
82907
|
if (
|
|
82908
|
-
term === VariableName
|
|
82908
|
+
term === VariableName$1
|
|
82909
82909
|
) {
|
|
82910
82910
|
return variables.resolveName();
|
|
82911
82911
|
}
|
|
82912
82912
|
|
|
82913
82913
|
if (
|
|
82914
|
-
term === Name ||
|
|
82915
|
-
term === PropertyName
|
|
82914
|
+
term === Name$1 ||
|
|
82915
|
+
term === PropertyName$1
|
|
82916
82916
|
) {
|
|
82917
82917
|
return variables.declareName();
|
|
82918
82918
|
}
|
|
82919
82919
|
|
|
82920
82920
|
if (
|
|
82921
|
-
term === expression0 ||
|
|
82922
|
-
term === PositiveUnaryTest
|
|
82921
|
+
term === expression0$1 ||
|
|
82922
|
+
term === PositiveUnaryTest$1
|
|
82923
82923
|
) {
|
|
82924
82924
|
if (variables.tokens.length > 0) {
|
|
82925
82925
|
throw new Error('uncleared name');
|
|
82926
82926
|
}
|
|
82927
82927
|
}
|
|
82928
82928
|
|
|
82929
|
-
if (term === expression0) {
|
|
82929
|
+
if (term === expression0$1) {
|
|
82930
82930
|
|
|
82931
82931
|
let parent = variables;
|
|
82932
82932
|
|
|
@@ -82942,12 +82942,12 @@
|
|
|
82942
82942
|
});
|
|
82943
82943
|
}
|
|
82944
82944
|
|
|
82945
|
-
const variableTracker = trackVariables({});
|
|
82945
|
+
const variableTracker$1 = trackVariables$1({});
|
|
82946
82946
|
|
|
82947
82947
|
|
|
82948
82948
|
// helpers //////////////
|
|
82949
82949
|
|
|
82950
|
-
function getContextValue(variables, args) {
|
|
82950
|
+
function getContextValue$1(variables, args) {
|
|
82951
82951
|
|
|
82952
82952
|
if (!args.length) {
|
|
82953
82953
|
return variables.assign({
|
|
@@ -82956,7 +82956,7 @@
|
|
|
82956
82956
|
}
|
|
82957
82957
|
|
|
82958
82958
|
if (args[0].name === 'Name') {
|
|
82959
|
-
args = extractNamedArgs(args, [ 'm', 'key' ]);
|
|
82959
|
+
args = extractNamedArgs$1(args, [ 'm', 'key' ]);
|
|
82960
82960
|
}
|
|
82961
82961
|
|
|
82962
82962
|
if (args.length !== 2) {
|
|
@@ -82982,13 +82982,13 @@
|
|
|
82982
82982
|
}
|
|
82983
82983
|
|
|
82984
82984
|
return variables.assign({
|
|
82985
|
-
value: [ normalizeContextKey(keyValue), keyValue ].reduce((value, keyValue) => {
|
|
82985
|
+
value: [ normalizeContextKey$1(keyValue), keyValue ].reduce((value, keyValue) => {
|
|
82986
82986
|
return contextValue.get(keyValue) || value;
|
|
82987
82987
|
}, null)
|
|
82988
82988
|
});
|
|
82989
82989
|
}
|
|
82990
82990
|
|
|
82991
|
-
function extractNamedArgs(args, argNames) {
|
|
82991
|
+
function extractNamedArgs$1(args, argNames) {
|
|
82992
82992
|
|
|
82993
82993
|
const context = {};
|
|
82994
82994
|
|
|
@@ -83001,11 +83001,11 @@
|
|
|
83001
83001
|
return argNames.map(name => context[name]);
|
|
83002
83002
|
}
|
|
83003
83003
|
|
|
83004
|
-
function last(arr) {
|
|
83004
|
+
function last$1(arr) {
|
|
83005
83005
|
return arr[arr.length - 1];
|
|
83006
83006
|
}
|
|
83007
83007
|
|
|
83008
|
-
const feelHighlighting = styleTags({
|
|
83008
|
+
const feelHighlighting$1 = styleTags({
|
|
83009
83009
|
StringLiteral: tags.string,
|
|
83010
83010
|
NumericLiteral: tags.number,
|
|
83011
83011
|
BooleanLiteral: tags.bool,
|
|
@@ -83038,29 +83038,29 @@
|
|
|
83038
83038
|
});
|
|
83039
83039
|
|
|
83040
83040
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
83041
|
-
const spec_identifier = {__proto__:null,for:10, in:32, return:36, if:40, then:42, else:44, some:48, every:50, satisfies:56, or:60, and:64, between:72, instance:86, of:89, days:101, time:103, duration:105, years:107, months:109, date:111, list:117, context:123, function:130, null:156, true:330, false:330, "?":170, external:186, not:211};
|
|
83042
|
-
const parser$
|
|
83041
|
+
const spec_identifier$1 = {__proto__:null,for:10, in:32, return:36, if:40, then:42, else:44, some:48, every:50, satisfies:56, or:60, and:64, between:72, instance:86, of:89, days:101, time:103, duration:105, years:107, months:109, date:111, list:117, context:123, function:130, null:156, true:330, false:330, "?":170, external:186, not:211};
|
|
83042
|
+
const parser$3 = LRParser.deserialize({
|
|
83043
83043
|
version: 14,
|
|
83044
83044
|
states: "C|O`QYOOO`QYOOO$sQYOOOOQU'#Ce'#CeO$}QYO'#C`O&WQYO'#FQOOQQ'#Ff'#FfO&bQYO'#FfO`QYO'#DVOOQU'#En'#EnO(UQ^O'#D]OOQU'#D^'#D^OOQU'#D]'#D]OOQO'#Fn'#FnO*RQWO'#DvOOQQ'#D}'#D}OOQQ'#EO'#EOOOQQ'#EP'#EPO*WOWO'#ESO*RQWO'#EQOOQQ'#EQ'#EQOOQQ'#Ft'#FtOOQQ'#Fr'#FrOOQQ'#Fy'#FyOOQQ'#EU'#EUO`QYO'#EWOOQQ'#FS'#FSO*]Q^O'#FSO,SQYO'#EXO,ZQWO'#EYOOQP'#F}'#F}O,`QXO'#EaOOQQ'#Fz'#FzOOQQ'#FR'#FRQOQWOOOOQQ'#FT'#FTOOQQ'#F^'#F^O`QYO'#CoOOQQ'#F_'#F_O$}QYO'#CsO,kQYO'#DwOOQQ'#Fs'#FsO,pQYO'#EROOQO'#ER'#ERO`QYO'#EVO`QYO'#EUOOQO'#F{'#F{Q,xQWOOO,}QYO'#DRO-tQWO'#FbOOQO'#DT'#DTO.PQYO'#FfO.WQWOOO.}QYO'#CdO/[QYO'#FVOOQQ'#Cc'#CcO/aQYO'#FUOOQQ'#Cb'#CbO/iQYO,58zO`QYO,59iOOQQ'#Fc'#FcOOQQ'#Fd'#FdOOQQ'#Fe'#FeO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fl'#FlO/nQYO,5:^OOQQ'#Fm'#FmO`QYO,5:`O`QYO,59eO`QYO,59gO`QYO,59iO1jQYO,59iO1qQYO,59rOOQQ,5:i,5:iO1vQYO,59qOOQU-E8l-E8lO3jQYO'#FoOOQQ,5:b,5:bOOQQ,5:n,5:nOOQQ,5:l,5:lO3qQYO,5:rOOQQ,5;n,5;nO3{QYO,5:qO4YQWO,5:sO4_QYO,5:tOOQP'#Ee'#EeO5UQXO'#EdOOQO'#Ec'#EcO5]QWO'#EbO5bQWO'#GOO5jQWO,5:{O5oQYO,59ZO/[QYO'#FaOOQQ'#Cw'#CwO5vQYO'#F`OOQQ'#Cv'#CvO6OQYO,59_O6TQYO,5:cO6YQYO,5:mO3tQYO,5:qO6_QYO,5:pO`QYO'#EwQ,xQWOOO`QYO'#EmO7UQWO,5;|O`QYOOOOQR'#Cf'#CfOOQQ'#Ej'#EjO8OQYO,59OO`QYO,5;qOOQQ'#FY'#FYO$}QYO'#EkO8`QYO,5;pO`QYO1G.fOOQQ'#F]'#F]O9VQYO1G/TO;|QYO1G/]O<WQYO1G/]O<bQYO1G/]OOQQ1G/x1G/xO>UQYO1G/zO>]QYO1G/PO?fQYO1G/RO@oQYO1G/TO`QYO1G/TOOQQ1G/T1G/TOAVQYO1G/^OAtQ^O'#CdOCWQYO'#FqOOQO'#Dz'#DzOCbQWO'#DyOCgQWO'#FpOOQO'#Dx'#DxOOQO'#D{'#D{OCoQWO,5<ZOOQQ1G0^1G0^O`QYO1G0]O`QYO'#EsOCtQWO,5<]OOQQ1G0_1G0_ODPQWO'#E[OD[QWO'#F|OOQO'#EZ'#EZODdQWO1G0`OOQP'#Eu'#EuODiQXO,5;OO`QYO,5:|ODpQXO'#EvODxQWO,5<jOOQQ1G0g1G0gO`QYO1G.uO`QYO,5;{O$}QYO'#ElOEQQYO,5;zO`QYO1G.yOEYQYO1G/}OOQO1G0X1G0XOOQO,5;c,5;cOOQO-E8u-E8uOOQO,5;X,5;XOOQO-E8k-E8kOE_QWOOOOQQ-E8h-E8hOEdQYO'#CmOOQQ1G1]1G1]OOQQ,5;V,5;VOOQQ-E8i-E8iOEqQYO7+$QOOQQ7+%f7+%fO`QYO7+$oOFhQYO,5:rOFuQWO7+$oOFzQYO'#D[OOQQ'#DZ'#DZOHnQYO'#D_OHsQYO'#D_OHxQYO'#D_OH}Q`O'#DgOISQ`O'#DjOIXQ`O'#DnOOQQ7+$x7+$xO`QYO,5:eO$}QYO'#ErOI^QWO,5<[OOQQ1G1u1G1uOJdQYO7+%wOJqQYO,5;_OOQO-E8q-E8qOAVQYO,5:vO$}QYO'#EtOKOQWO,5<hOKWQYO7+%zOOQP-E8s-E8sOK_QYO1G0hOOQO,5;b,5;bOOQO-E8t-E8tOKiQYO7+$aOKpQYO1G1gOOQQ,5;W,5;WOOQQ-E8j-E8jOKzQYO7+$eOOQO7+%i7+%iO`QYO,59XOLqQYO<<HZOOQQ<<HZ<<HZO/nQYO'#EoOMzQYO,59vO! nQYO,59yO! sQYO,59yO! xQYO,59yO! }QYO,5:RO$}QYO,5:UO!!lQbO,5:YO!!sQYO1G0POOQO,5;^,5;^OOQO-E8p-E8pO!!}QYO<<IcOOQQ<<Ic<<IcOOQO1G0b1G0bOOQO,5;`,5;`OOQO-E8r-E8rO!%|QYO'#E^OOQQ<<If<<IfO`QYO<<IfO`QYO<<G{O!&sQYO1G.sOOQQ,5;Z,5;ZOOQQ-E8m-E8mO!&}QYO1G/eOOQQ1G/e1G/eO!'SQbO'#D]O!'eQ`O'#D[O!'pQ`O1G/mO!'uQWO'#DmO!'zQ`O'#FhOOQO'#Dl'#DlO!(SQ`O1G/pOOQO'#Dq'#DqO!(XQ`O'#FjOOQO'#Dp'#DpO!(aQ`O1G/tOOQQAN?QAN?QO!(fQYOAN=gOOQQ7+%P7+%PO!)]Q`O,59vOOQQ7+%X7+%XO! }QYO,5:XO$}QYO'#EpO!)hQ`O,5<SOOQQ7+%[7+%[O! }QYO'#EqO!)pQ`O,5<UO!)xQ`O7+%`OOQO1G/s1G/sOOQO,5;[,5;[OOQO-E8n-E8nOOQO,5;],5;]OOQO-E8o-E8oOAVQYO<<HzOOQQAN>fAN>fO/nQYO'#EoO! }QYO<<HzO!)}Q`O7+%`O!*SQ`O1G/tO!!lQbO,5:YO!*XQ`O'#Dn",
|
|
83045
83045
|
stateData: "!*h~O#rOS#sOSPOSQOS~OTsOZVO[UOdtOhvOivOr}Os}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OTsO[UOdtOhvOivOr}Os}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OZ!TO#]!UO~P#SO#nRO#oRO~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO!i!fO#z!dOv$bX~O#l#tX$s#tX~P%VO$i!mOT$YXZ$YX[$YXd$YXh$YXi$YXr$YXs$YXv$YX!T$YX!U$YX!V$YX!X$YX!c$YX!g$YX!i$YX!p$YX!w$YX#S$YX#n$YX#o$YX$Z$YX$j$YX$k$YX$l$YX~O#nRO#oROZ!PX[!PX]!PX^!PX_!PX`!PXn!PXp!PXr!PXs!PXt!PXv!PX{!PX!i!PX#l!PX#p!PX#z!PX$s!PX$O!PXx!PX#}!PX!g!PXe!PXb!PX#R!PXf!PXl!PX~Ov!pO~O$j`O~O#p!uOZ#vX[#vX]#vX^#vX_#vX`#vXn#vXp#vXr#vXs#vXt#vXv#vX{#vX!i#vX#l#vX#z#vX$s#vX$O#vXx#vX#}#vX!g#vXe#vXb#vX#R#vXf#vXl#vX~O!g$eP~P`Ov!xO~O#m!yO$j`O#R$rP~Op#VO~Op#WOv!uX~O$s#ZO~O#luX$OuX$suXxuX#}uX!guXeuXbuX#RuXfuXluX~P%VO$O#]O#l$UXx$UX~O#l#[X~P&bOv#_O~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O$]WX~O`WXxWX$OWX~P.]O`#dO~O$O#eOb#xX~Ob#hO~O#nRO#oRO$ZZO~OTsOZVO[UOdtOhvOivOr}Os}O!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~Ov#rO~P/yO|#tO~O{!lO!i!fO#z!dOZya[ya]ya^ya_ya`yanyapyaryasyatyav$bX#lya$sya$Oyaxya#}ya!gyaeyabya#Ryafyalya~Ox$eP~P`Ox#}O#}$OO~P%VO#}$OO$O$PO!g$eX~P%VO!g$RO~O#nRO#oROx$pP~OZ#`O[#`O]#`O^#`O_#`O#m!yO#z#`O#{#`O~O$]#WX~P4jO$]$YO~O$O$ZO#R$rX~O#R$]O~Oe$^O~P%VO$O$`Ol$SX~Ol$bO~O!W$cO~O!T$dO~O#l!xa$s!xa$O!xax!xa#}!xa!g!xae!xab!xa#R!xaf!xal!xa~P%VO$O#]O#l$Uax$Ua~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O~O`Wa$]WaxWa$OWa~P7aO$O#eOb#xa~OZ!^O[!^O]!_O^!_O_!`O{!lO!i!fO#z!dOv$bX~O`qinqipqirqisqitqi#lqi$sqi$Oqixqi#}qi!gqieqibqi#Rqifqilqi~P8hO_!`O{!lO!i!fO#z!dOZyi[yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O]!_O^!_O~P:`O]yi^yi~P:`O{!lO!i!fO#z!dOZyi[yi]yi^yi_yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O!g$pO~P%VO`!kOp!iOr!]Os!]Ot!jOnmi#lmi$smi$Omixmi#}mi!gmiemibmi#Rmifmilmi~P8hO`!kOr!]Os!]Ot!jOnoipoi#loi$soi$Ooixoi#}oi!goieoiboi#Roifoiloi~P8hO`!kOn!hOp$qOr!]Os!]Ot!jO~P8hO!S$vO!V$wO!X$xO![$yO!_$zO!c${O#nRO#oRO$ZZO~OZ#bX[#bX]#bX^#bX_#bX`#bXn#bXp#bXr#bXs#bXt#bXv#bXx#bX{#bX!i#bX#n#bX#o#bX#p#bX#z#bX$O#bX~P.]O$O$POx$eX~P%VO$]$}O~O$O%OOx$dX~Ox%QO~O$O$PO!g$eax$ea~O$]%UOx#OX$O#OX~O$O%VOx$pX~Ox%XO~O$]#Wa~P4jO#m!yO$j`O~O$O$ZO#R$ra~O$O$`Ol$Sa~O!U%cO~OxrO~O#}%dObaX$OaX~P%VO#lSq$sSq$OSqxSq#}Sq!gSqeSqbSq#RSqfSqlSq~P%VOx#}O#}$OO$OuX~P%VOx%fO~O#z%gOZ!OX[!OX]!OX^!OX_!OX`!OXn!OXp!OXr!OXs!OXt!OXv!OX{!OX!i!OX#l!OX$s!OX$O!OXx!OX#}!OX!g!OXe!OXb!OX#R!OXf!OXl!OX~Op%iO~Op%jO~Op%kO~O!]%lO~O!]%mO~O!]%nO~O$O%OOx$da~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO#z!dOv$bX~Ox%sO!g%sO!i%rO~PIfO!g#ga$O#gax#ga~P%VO$O%VOx$pa~O#P%yO~P`O#R#Ui$O#Ui~P%VOf%zO~P%VOl$Ti$O$Ti~P%VO#lgq$sgq$Ogqxgq#}gq!ggqegqbgq#Rgqfgqlgq~P%VO`qynqypqyrqysqytqy#lqy$sqy$Oqyxqy#}qy!gqyeqybqy#Rqyfqylqy~P8hO#z%gOZ!Oa[!Oa]!Oa^!Oa_!Oa`!Oan!Oap!Oar!Oas!Oat!Oav!Oa{!Oa!i!Oa#l!Oa$s!Oa$O!Oax!Oa#}!Oa!g!Oae!Oab!Oa#R!Oaf!Oal!Oa~O!T&OO~O!W&OO~O!T&PO~O!S$vO!V$wO!X$xO![$yO!_$zO!c&uO#nRO#oRO$ZZO~O!Y$^P~P! }Ox!mi$O!mi~P%VOT$aXZ$aX[$aX]!yy^!yy_!yy`!yyd$aXh$aXi$aXn!yyp!yyr$aXs$aXt!yyv$aX{!yy!T$aX!U$aX!V$aX!X$aX!c$aX!g$aX!i$aX!p$aX!w$aX#S$aX#l!yy#n$aX#o$aX#z!yy$Z$aX$i$aX$j$aX$k$aX$l$aX$s!yy$O!yyx!yy#}!yye!yyb!yy#R!yyf!yyl!yy~O#l#QX$s#QX$O#QXx#QX#}#QX!g#QXe#QXb#QX#R#QXf#QXl#QX~P%VObai$Oai~P%VO!U&_O~O#nRO#oRO!Y!PX#z!PX$O!PX~O#z&pO!Y!OX$O!OX~O!Y&aO~O$]&bO~O$O&cO!Y$[X~O!Y&eO~O$O&fO!Y$^X~O!Y&hO~O#lc!R$sc!R$Oc!Rxc!R#}c!R!gc!Rec!Rbc!R#Rc!Rfc!Rlc!R~P%VO#z&pO!Y!Oa$O!Oa~O$O&cO!Y$[a~O$O&fO!Y$^a~O$_&nO~O$_&qO~O!Y&rO~O!]&tO~O$Z~QP_^$i]#z~",
|
|
83046
83046
|
goto: "E|$sPPPP$tP%m%p%v&Y'sPPPPPP'|P$tPPP$tPP(P(SP$tP$tP$tPPP(YP(eP$t$tPP(n)T)`*m)TPPPPPPP)TPP)TP+r+u)TP+{,R$tP$tP$t,Y-R-U-[-RP-d.]-d-d/]0UP$t0}$t1v1v2o2rP2xPP1v3O3U/X3YPP3bP3e3l3r3x4O5Z5e5k5q5w6O6U6[6bPPPPPPPP6h6q8x9q:j:mPP:qPP:w:z;s<l<o<s<x=g>V>vP?oP?rP?v@iA[BTBZB^$tBdBdPPPPC]8xDUD}EQEy!mjOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR![SQ!YSR$m#eS!WS#eS#Qw$`W#w!p!x%O%VT&T%m&c#WXOPQWYilu|}!]!a!b!c!e!g!h!i!j!k#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&Q&b&f&n&p&q&tb!VSw!x#e$`%O%V%m&cU#a!V#b#uR#u!pU#a!V#b#uT$W!z$XR$l#cR#UwQ#SwR%`$`U!RQ#_#rQ#s!kR$g#]QrQQ$i#_R$s#rQ$|#tQ%t%UQ&S%lU&X%n&f&tQ&i&bT&o&n&qc$u#t%U%l%n&b&f&n&q&t!lkOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ#m!eU$t#t%U&nS%|%g&p]&R%l%n&b&f&q&t#V[OPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&b&f&n&p&q&tR&W%mQ&U%mR&j&cQ&[%nR&s&tS&Y%n&tR&l&f!m]OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#|!pQ#y!pR%p%OS#x!p%OT$S!x%V!meOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!leOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!rbT!{o$Z!mcOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mdOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mhOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mpOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$V!xQ$T!xR%u%VQ%x%XR&]%yQ!}oR%[$ZT!|o$ZS!zo$ZT$W!z$XRrQS#b!V#uR$j#bQ#f!YR$n#fQ$a#SR%a$aQ#^!RR$h#^!vYOPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%y%z&nS!oY&Q_&Q%l%n&b&f&p&q&tQ%h$tS%}%h&`R&`&RQ&d&UR&k&dQ&g&YR&m&gQ%P#yR%q%PS$Q!v#vR%T$QQ%W$TR%v%WQ$X!zR%Y$XQ$[!}R%]$[Q#[!PR$f#[QrOQ!PPR$e#ZUTOP#ZW!QQ!k#]#_Q!nWQ!tiQ!vlQ#PuQ#X|Q#Y}Q#i!]Q#j!aQ#k!bQ#l!cQ#n!gQ#o!hQ#p!iQ#q!jQ#v!pQ$k#cQ$o#gQ$r#rQ%R$OQ%S$PQ%Z$YQ%^$^Q%_$_Q%b$bQ%e$qQ%o$}S%w%X%yQ%{%dR&^%z!mqOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mSOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR!ZST!XS#eQ#c!WR$_#QR#g![!muOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mwOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#TwT#Rw$`V!SQ#_#r!X!aT!Q!t!v#P#X#Y#i#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!Z!bT!Q!t!v#P#X#Y#i#j#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!]!cT!Q!t!v#P#X#Y#i#j#k#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!mWOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR&V%mT&Z%n&t!a!eT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!a!gT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!m^OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!q^R!scR#z!pQ!wlR#{!p!mfOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mlOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mmOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$U!x!moOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#Oo",
|
|
83047
83047
|
nodeNames: "⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName BacktickIdentifier SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not",
|
|
83048
83048
|
maxTerm: 173,
|
|
83049
|
-
context: variableTracker,
|
|
83049
|
+
context: variableTracker$1,
|
|
83050
83050
|
nodeProps: [
|
|
83051
83051
|
["group", -17,4,19,23,29,31,33,41,42,68,70,72,85,86,88,89,90,97,"Expr",47,"Expr Expr",-5,78,79,80,81,82,"Expr Literal"],
|
|
83052
83052
|
["closedBy", 38,")",71,"]",96,"}"],
|
|
83053
83053
|
["openedBy", 40,"(",69,"[",95,"{"]
|
|
83054
83054
|
],
|
|
83055
|
-
propSources: [feelHighlighting],
|
|
83055
|
+
propSources: [feelHighlighting$1],
|
|
83056
83056
|
skippedNodes: [0,1,2],
|
|
83057
83057
|
repeatNodeCount: 14,
|
|
83058
83058
|
tokenData: ".Z~RvXY#iYZ$^Z[#i]^$^pq#iqr$crs$nwx&fxy&kyz&pz{&u{|'S|}'X}!O'^!O!P'k!P!Q(u!Q![*p![!]+X!]!^+^!^!_+c!_!`$i!`!a+r!b!c+|!}#O,R#P#Q,W#Q#R&}#S#T,]#o#p.P#q#r.U$f$g#i#BY#BZ#i$IS$I_#i$I|$I}$^$I}$JO$^$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~#nY#r~XY#iZ[#ipq#i$f$g#i#BY#BZ#i$IS$I_#i$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~$cO#s~~$fP!_!`$i~$nOr~~$sW$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`<%lO$n~%bO$j~~%eRO;'S$n;'S;=`%n;=`O$n~%sX$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`;=`<%l$n<%lO$n~&cP;=`<%l$n~&kO#{~~&pOv~~&uOx~~&zP^~z{&}~'SO_~~'XO[~~'^O$O~R'cPZP!`!a'fQ'kO$_Q~'pQ#z~!O!P'v!Q!['{~'{O#}~~(QR$i~!Q!['{!g!h(Z#X#Y(Z~(^R{|(g}!O(g!Q![(m~(jP!Q![(m~(rP$i~!Q![(m~(zQ]~z{)Q!P!Q*X~)TTOz)Qz{)d{;'S)Q;'S;=`*R<%lO)Q~)gVOz)Qz{)d{!P)Q!P!Q)|!Q;'S)Q;'S;=`*R<%lO)Q~*ROQ~~*UP;=`<%l)Q~*^SP~OY*XZ;'S*X;'S;=`*j<%lO*X~*mP;=`<%l*X~*uS$i~!O!P+R!Q![*p!g!h(Z#X#Y(Z~+UP!Q!['{~+^O$]~~+cO$s~R+jP!]QsP!_!`+mP+rOsPR+yP!YQsP!_!`+m~,RO$l~~,WO!i~~,]O!g~~,`WOY,]Z#O,]#O#P,x#P#S,]#S#T-t#T;'S,];'S;=`-y<%lO,]~,{RO;'S,];'S;=`-U;=`O,]~-XXOY,]Z#O,]#O#P,x#P#S,]#S#T-t#T;'S,];'S;=`-y;=`<%l,]<%lO,]~-yO$Z~~-|P;=`<%l,]~.UO#S~~.ZO#R~",
|
|
83059
|
-
tokenizers: [propertyIdentifiers, identifiers$
|
|
83059
|
+
tokenizers: [propertyIdentifiers$1, identifiers$2, insertSemicolon$1, 0, 1],
|
|
83060
83060
|
topRules: {"Expression":[0,3],"Expressions":[1,102],"UnaryTests":[2,103]},
|
|
83061
83061
|
dialects: {camunda: 2544},
|
|
83062
83062
|
dynamicPrecedences: {"31":-1,"68":1,"72":-1,"74":-1},
|
|
83063
|
-
specialized: [{term: 122, get: (value) => spec_identifier[value] || -1}],
|
|
83063
|
+
specialized: [{term: 122, get: (value) => spec_identifier$1[value] || -1}],
|
|
83064
83064
|
tokenPrec: 2546
|
|
83065
83065
|
});
|
|
83066
83066
|
|
|
@@ -83310,11 +83310,11 @@
|
|
|
83310
83310
|
if (name in context) {
|
|
83311
83311
|
return context[name];
|
|
83312
83312
|
}
|
|
83313
|
-
const normalizedName = normalizeContextKey(name);
|
|
83313
|
+
const normalizedName = normalizeContextKey$1(name);
|
|
83314
83314
|
if (normalizedName in context) {
|
|
83315
83315
|
return context[normalizedName];
|
|
83316
83316
|
}
|
|
83317
|
-
const entry = Object.entries(context).find(([key]) => normalizedName === normalizeContextKey(key));
|
|
83317
|
+
const entry = Object.entries(context).find(([key]) => normalizedName === normalizeContextKey$1(key));
|
|
83318
83318
|
if (entry) {
|
|
83319
83319
|
return entry[1];
|
|
83320
83320
|
}
|
|
@@ -84140,15 +84140,15 @@
|
|
|
84140
84140
|
}
|
|
84141
84141
|
|
|
84142
84142
|
function parseExpression(expression, context = {}) {
|
|
84143
|
-
return parser$
|
|
84143
|
+
return parser$3.configure({
|
|
84144
84144
|
top: 'Expression',
|
|
84145
|
-
contextTracker: trackVariables(context)
|
|
84145
|
+
contextTracker: trackVariables$1(context)
|
|
84146
84146
|
}).parse(expression);
|
|
84147
84147
|
}
|
|
84148
84148
|
function parseUnaryTests(expression, context = {}) {
|
|
84149
|
-
return parser$
|
|
84149
|
+
return parser$3.configure({
|
|
84150
84150
|
top: 'UnaryTests',
|
|
84151
|
-
contextTracker: trackVariables(context)
|
|
84151
|
+
contextTracker: trackVariables$1(context)
|
|
84152
84152
|
}).parse(expression);
|
|
84153
84153
|
}
|
|
84154
84154
|
|
|
@@ -84717,7 +84717,7 @@
|
|
|
84717
84717
|
}
|
|
84718
84718
|
return equals$1(test, value);
|
|
84719
84719
|
}
|
|
84720
|
-
const chars = Array.from('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
|
84720
|
+
const chars$1 = Array.from('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
|
84721
84721
|
function isTyped(type, values) {
|
|
84722
84722
|
return (values.some(e => getType$2(e) === type) &&
|
|
84723
84723
|
values.every(e => e === null || getType$2(e) === type));
|
|
@@ -84836,16 +84836,16 @@
|
|
|
84836
84836
|
return (value) => value === null ? null : tests.every(t => t(conversion(value)));
|
|
84837
84837
|
}
|
|
84838
84838
|
function createStringRange(start, end, startIncluded = true, endIncluded = true) {
|
|
84839
|
-
if (start !== null && !chars.includes(start)) {
|
|
84839
|
+
if (start !== null && !chars$1.includes(start)) {
|
|
84840
84840
|
throw new Error('illegal range start: ' + start);
|
|
84841
84841
|
}
|
|
84842
|
-
if (end !== null && !chars.includes(end)) {
|
|
84842
|
+
if (end !== null && !chars$1.includes(end)) {
|
|
84843
84843
|
throw new Error('illegal range end: ' + end);
|
|
84844
84844
|
}
|
|
84845
84845
|
let values;
|
|
84846
84846
|
if (start !== null && end !== null) {
|
|
84847
|
-
let startIdx = chars.indexOf(start);
|
|
84848
|
-
let endIdx = chars.indexOf(end);
|
|
84847
|
+
let startIdx = chars$1.indexOf(start);
|
|
84848
|
+
let endIdx = chars$1.indexOf(end);
|
|
84849
84849
|
const direction = startIdx > endIdx ? -1 : 1;
|
|
84850
84850
|
if (startIncluded === false) {
|
|
84851
84851
|
startIdx += direction;
|
|
@@ -84853,7 +84853,7 @@
|
|
|
84853
84853
|
if (endIncluded === false) {
|
|
84854
84854
|
endIdx -= direction;
|
|
84855
84855
|
}
|
|
84856
|
-
values = chars.slice(startIdx, endIdx + 1);
|
|
84856
|
+
values = chars$1.slice(startIdx, endIdx + 1);
|
|
84857
84857
|
}
|
|
84858
84858
|
const map = values ? valuesMap(values) : noopMap();
|
|
84859
84859
|
const includes = values ? valuesIncludes(values) : anyIncludes(start, end, startIncluded, endIncluded);
|
|
@@ -106113,7 +106113,7 @@
|
|
|
106113
106113
|
Paragraph: tags.content
|
|
106114
106114
|
});
|
|
106115
106115
|
/// The default CommonMark parser.
|
|
106116
|
-
const parser$
|
|
106116
|
+
const parser$2 = new MarkdownParser(new NodeSet(nodeTypes).extend(markdownHighlighting), Object.keys(DefaultBlockParsers).map(n => DefaultBlockParsers[n]), Object.keys(DefaultBlockParsers).map(n => DefaultLeafBlocks[n]), Object.keys(DefaultBlockParsers), DefaultEndLeaf, DefaultSkipMarkup, Object.keys(DefaultInline).map(n => DefaultInline[n]), Object.keys(DefaultInline), []);
|
|
106117
106117
|
/// Extension providing
|
|
106118
106118
|
/// [Pandoc-style](https://pandoc.org/MANUAL.html#superscripts-and-subscripts)
|
|
106119
106119
|
/// superscript using `^` markers.
|
|
@@ -106142,7 +106142,7 @@
|
|
|
106142
106142
|
* @param {Tree} syntaxTree
|
|
106143
106143
|
* @returns {LintMessage[]} array of syntax errors
|
|
106144
106144
|
*/
|
|
106145
|
-
function lintSyntax(syntaxTree) {
|
|
106145
|
+
function lintSyntax$1(syntaxTree) {
|
|
106146
106146
|
|
|
106147
106147
|
const lintMessages = [];
|
|
106148
106148
|
|
|
@@ -106155,7 +106155,7 @@
|
|
|
106155
106155
|
}
|
|
106156
106156
|
|
|
106157
106157
|
const parent = node.parent;
|
|
106158
|
-
const next = getNextNode(node);
|
|
106158
|
+
const next = getNextNode$1(node);
|
|
106159
106159
|
|
|
106160
106160
|
const message = {
|
|
106161
106161
|
from: node.from,
|
|
@@ -106181,12 +106181,12 @@
|
|
|
106181
106181
|
return lintMessages;
|
|
106182
106182
|
}
|
|
106183
106183
|
|
|
106184
|
-
function getNextNode(node) {
|
|
106184
|
+
function getNextNode$1(node) {
|
|
106185
106185
|
if (!node) {
|
|
106186
106186
|
return null;
|
|
106187
106187
|
}
|
|
106188
106188
|
|
|
106189
|
-
return node.nextSibling || getNextNode(node.parent);
|
|
106189
|
+
return node.nextSibling || getNextNode$1(node.parent);
|
|
106190
106190
|
}
|
|
106191
106191
|
|
|
106192
106192
|
/**
|
|
@@ -106196,9 +106196,9 @@
|
|
|
106196
106196
|
* @property {(from: number, to: number, content: string) => void} updateContent
|
|
106197
106197
|
*/
|
|
106198
106198
|
|
|
106199
|
-
const RULE_NAME = 'first-item';
|
|
106199
|
+
const RULE_NAME$1 = 'first-item';
|
|
106200
106200
|
|
|
106201
|
-
var firstItem = {
|
|
106201
|
+
var firstItem$1 = {
|
|
106202
106202
|
create(/** @type {Context} */ context) {
|
|
106203
106203
|
return {
|
|
106204
106204
|
enter(node) {
|
|
@@ -106208,7 +106208,7 @@
|
|
|
106208
106208
|
|
|
106209
106209
|
const content = context.readContent(node.from, node.to);
|
|
106210
106210
|
|
|
106211
|
-
if (zeroIndexPattern().test(content)) {
|
|
106211
|
+
if (zeroIndexPattern$1().test(content)) {
|
|
106212
106212
|
const {
|
|
106213
106213
|
from,
|
|
106214
106214
|
to
|
|
@@ -106219,12 +106219,12 @@
|
|
|
106219
106219
|
to,
|
|
106220
106220
|
message: 'First item is accessed via [1]',
|
|
106221
106221
|
severity: 'warning',
|
|
106222
|
-
type: RULE_NAME,
|
|
106222
|
+
type: RULE_NAME$1,
|
|
106223
106223
|
actions: [
|
|
106224
106224
|
{
|
|
106225
106225
|
name: 'fix',
|
|
106226
106226
|
apply(_, start = from, end = to) {
|
|
106227
|
-
context.updateContent(start, end, content.replace(zeroIndexPattern(), '[1]'));
|
|
106227
|
+
context.updateContent(start, end, content.replace(zeroIndexPattern$1(), '[1]'));
|
|
106228
106228
|
}
|
|
106229
106229
|
}
|
|
106230
106230
|
]
|
|
@@ -106235,7 +106235,7 @@
|
|
|
106235
106235
|
}
|
|
106236
106236
|
};
|
|
106237
106237
|
|
|
106238
|
-
function zeroIndexPattern() {
|
|
106238
|
+
function zeroIndexPattern$1() {
|
|
106239
106239
|
return /\[\s*0\s*\]$/;
|
|
106240
106240
|
}
|
|
106241
106241
|
|
|
@@ -106245,8 +106245,8 @@
|
|
|
106245
106245
|
* @typedef {import('./index').LintAllContext} LintAllContext
|
|
106246
106246
|
*/
|
|
106247
106247
|
|
|
106248
|
-
const RULES = [
|
|
106249
|
-
firstItem
|
|
106248
|
+
const RULES$1 = [
|
|
106249
|
+
firstItem$1
|
|
106250
106250
|
];
|
|
106251
106251
|
|
|
106252
106252
|
/**
|
|
@@ -106255,7 +106255,7 @@
|
|
|
106255
106255
|
* @param {LintAllContext} context
|
|
106256
106256
|
* @returns {LintMessage[]} array of syntax errors
|
|
106257
106257
|
*/
|
|
106258
|
-
function lintRules(context) {
|
|
106258
|
+
function lintRules$1(context) {
|
|
106259
106259
|
const {
|
|
106260
106260
|
readContent,
|
|
106261
106261
|
syntaxTree,
|
|
@@ -106272,7 +106272,7 @@
|
|
|
106272
106272
|
updateContent
|
|
106273
106273
|
};
|
|
106274
106274
|
|
|
106275
|
-
const rules = RULES.map(rule => rule.create(ruleContext));
|
|
106275
|
+
const rules = RULES$1.map(rule => rule.create(ruleContext));
|
|
106276
106276
|
|
|
106277
106277
|
syntaxTree.iterate({
|
|
106278
106278
|
enter: ref => {
|
|
@@ -106308,11 +106308,11 @@
|
|
|
106308
106308
|
* @param {LintAllContext} context
|
|
106309
106309
|
* @returns {LintMessage[]} array of all lint messages
|
|
106310
106310
|
*/
|
|
106311
|
-
function lintAll$
|
|
106311
|
+
function lintAll$2(context) {
|
|
106312
106312
|
|
|
106313
106313
|
const lintMessages = [
|
|
106314
|
-
...lintSyntax(context.syntaxTree),
|
|
106315
|
-
...lintRules(context)
|
|
106314
|
+
...lintSyntax$1(context.syntaxTree),
|
|
106315
|
+
...lintRules$1(context)
|
|
106316
106316
|
];
|
|
106317
106317
|
|
|
106318
106318
|
return lintMessages;
|
|
@@ -106323,7 +106323,7 @@
|
|
|
106323
106323
|
*
|
|
106324
106324
|
* @returns {import('@codemirror/lint').LintSource} CodeMirror linting source
|
|
106325
106325
|
*/
|
|
106326
|
-
const cmFeelLinter = () => editorView => {
|
|
106326
|
+
const cmFeelLinter$1 = () => editorView => {
|
|
106327
106327
|
|
|
106328
106328
|
// don't lint if the Editor is empty
|
|
106329
106329
|
if (editorView.state.doc.length === 0) {
|
|
@@ -106332,7 +106332,7 @@
|
|
|
106332
106332
|
|
|
106333
106333
|
const tree = syntaxTree(editorView.state);
|
|
106334
106334
|
|
|
106335
|
-
const messages = lintAll$
|
|
106335
|
+
const messages = lintAll$2({
|
|
106336
106336
|
syntaxTree: tree,
|
|
106337
106337
|
readContent: (from, to) => editorView.state.sliceDoc(from, to),
|
|
106338
106338
|
updateContent: (from, to, content) => editorView.dispatch({
|
|
@@ -106812,7 +106812,7 @@
|
|
|
106812
106812
|
});
|
|
106813
106813
|
|
|
106814
106814
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
106815
|
-
const parser = LRParser.deserialize({
|
|
106815
|
+
const parser$1 = LRParser.deserialize({
|
|
106816
106816
|
version: 14,
|
|
106817
106817
|
states: "$bOQOaOOOfOXO'#CbOOO`'#Cm'#CmOqOWO'#CcOvOWO'#CfOOO`'#Cp'#CpOOO`'#Ci'#CiO{OaO'#ClO!jOSOOQOOOOOO!oOPO,58{O!tOXO,58|OOO`,58|,58|O!|OQO,58}O#ROQO,59QOOO`-E6g-E6gOOO`1G.g1G.gO#WOPO1G.gOOO`1G.h1G.hO#]OaO1G.iO#qOaO1G.lOOO`7+$R7+$RO$VOPO7+$TO$_OPO7+$WOOO`<<Go<<GoOOO`<<Gr<<Gr",
|
|
106818
106818
|
stateData: "$g~ORUO_WObPOeROgSO^`P~OQYO_ZOc[O~OQ]O~OQ^O~ORUObPOeROgSO^`XW`XX`XZ`X[`X~OPXO~Oc`O~OQaOcbO~OfcO~OfdO~OceO~ORUObPOeROgSOW`PX`P~ORUObPOeROgSOZ`P[`P~OWhOXhO~OZiO[iO~O",
|
|
@@ -106881,7 +106881,7 @@
|
|
|
106881
106881
|
sanitizer
|
|
106882
106882
|
} = options;
|
|
106883
106883
|
|
|
106884
|
-
const parseTree = parser.parse(templateString);
|
|
106884
|
+
const parseTree = parser$1.parse(templateString);
|
|
106885
106885
|
|
|
106886
106886
|
const simpleTreeRoot = buildSimpleTree(parseTree, templateString);
|
|
106887
106887
|
|
|
@@ -107052,12 +107052,12 @@
|
|
|
107052
107052
|
};
|
|
107053
107053
|
|
|
107054
107054
|
function createMixedLanguage(hostLanguage = null) {
|
|
107055
|
-
const _mixedParser = parser.configure({
|
|
107055
|
+
const _mixedParser = parser$1.configure({
|
|
107056
107056
|
|
|
107057
107057
|
wrap: parseMixed(node => {
|
|
107058
107058
|
|
|
107059
107059
|
if (node.name == 'Feel' || node.name == 'FeelBlock') {
|
|
107060
|
-
return { parser: parser$
|
|
107060
|
+
return { parser: parser$3 };
|
|
107061
107061
|
}
|
|
107062
107062
|
|
|
107063
107063
|
if (hostLanguage && node.name == 'SimpleTextBlock') {
|
|
@@ -107112,7 +107112,7 @@
|
|
|
107112
107112
|
* @param {Tree} syntaxTree
|
|
107113
107113
|
* @returns {LintMessage[]} array of all lint messages
|
|
107114
107114
|
*/
|
|
107115
|
-
function lintAll(syntaxTree) {
|
|
107115
|
+
function lintAll$1(syntaxTree) {
|
|
107116
107116
|
|
|
107117
107117
|
const lintMessages = [
|
|
107118
107118
|
|
|
@@ -107130,7 +107130,7 @@
|
|
|
107130
107130
|
* @returns {Source} CodeMirror linting source
|
|
107131
107131
|
*/
|
|
107132
107132
|
function cmFeelersLinter() {
|
|
107133
|
-
const lintFeel = cmFeelLinter();
|
|
107133
|
+
const lintFeel = cmFeelLinter$1();
|
|
107134
107134
|
return editorView => {
|
|
107135
107135
|
|
|
107136
107136
|
const feelMessages = lintFeel(editorView);
|
|
@@ -107142,7 +107142,7 @@
|
|
|
107142
107142
|
|
|
107143
107143
|
const tree = syntaxTree(editorView.state);
|
|
107144
107144
|
|
|
107145
|
-
const feelersMessages = lintAll(tree);
|
|
107145
|
+
const feelersMessages = lintAll$1(tree);
|
|
107146
107146
|
|
|
107147
107147
|
return [
|
|
107148
107148
|
...feelMessages,
|
|
@@ -107236,7 +107236,7 @@
|
|
|
107236
107236
|
const _getHostLanguageParser = (hostLanguage) => {
|
|
107237
107237
|
switch (hostLanguage) {
|
|
107238
107238
|
case 'markdown':
|
|
107239
|
-
return parser$
|
|
107239
|
+
return parser$2;
|
|
107240
107240
|
default:
|
|
107241
107241
|
return null;
|
|
107242
107242
|
}
|
|
@@ -107334,6 +107334,1538 @@
|
|
|
107334
107334
|
return this._cmEditor.state.selection;
|
|
107335
107335
|
};
|
|
107336
107336
|
|
|
107337
|
+
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
107338
|
+
const propertyIdentifier = 121,
|
|
107339
|
+
identifier = 122,
|
|
107340
|
+
nameIdentifier = 123,
|
|
107341
|
+
insertSemi = 124,
|
|
107342
|
+
expression0 = 128,
|
|
107343
|
+
ForExpression = 4,
|
|
107344
|
+
forExpressionStart = 131,
|
|
107345
|
+
ForInExpression = 7,
|
|
107346
|
+
Name = 8,
|
|
107347
|
+
Identifier = 9,
|
|
107348
|
+
AdditionalIdentifier = 10,
|
|
107349
|
+
forExpressionBodyStart = 139,
|
|
107350
|
+
IfExpression = 19,
|
|
107351
|
+
ifExpressionStart = 140,
|
|
107352
|
+
QuantifiedExpression = 23,
|
|
107353
|
+
quantifiedExpressionStart = 141,
|
|
107354
|
+
QuantifiedInExpression = 27,
|
|
107355
|
+
PositiveUnaryTest = 37,
|
|
107356
|
+
ArithmeticExpression = 41,
|
|
107357
|
+
arithmeticPlusStart = 145,
|
|
107358
|
+
arithmeticTimesStart = 146,
|
|
107359
|
+
arithmeticExpStart = 147,
|
|
107360
|
+
arithmeticUnaryStart = 148,
|
|
107361
|
+
VariableName = 47,
|
|
107362
|
+
PathExpression = 68,
|
|
107363
|
+
pathExpressionStart = 154,
|
|
107364
|
+
FilterExpression = 70,
|
|
107365
|
+
filterExpressionStart = 155,
|
|
107366
|
+
FunctionInvocation = 72,
|
|
107367
|
+
functionInvocationStart = 156,
|
|
107368
|
+
ParameterName = 76,
|
|
107369
|
+
nil = 161,
|
|
107370
|
+
NumericLiteral = 79,
|
|
107371
|
+
StringLiteral = 80,
|
|
107372
|
+
BooleanLiteral = 81,
|
|
107373
|
+
listStart = 168,
|
|
107374
|
+
List = 89,
|
|
107375
|
+
FunctionDefinition = 90,
|
|
107376
|
+
functionDefinitionStart = 170,
|
|
107377
|
+
Context$1 = 97,
|
|
107378
|
+
contextStart = 172,
|
|
107379
|
+
ContextEntry = 98,
|
|
107380
|
+
PropertyName = 100,
|
|
107381
|
+
PropertyIdentifier = 101;
|
|
107382
|
+
|
|
107383
|
+
/* global console,process */
|
|
107384
|
+
|
|
107385
|
+
|
|
107386
|
+
// @ts-expect-error env access
|
|
107387
|
+
const LOG_PARSE = typeof process != 'undefined' && process.env && /\bfparse(:dbg)?\b/.test(process.env.LOG);
|
|
107388
|
+
|
|
107389
|
+
// @ts-expect-error env access
|
|
107390
|
+
const LOG_PARSE_DEBUG = typeof process != 'undefined' && process.env && /\bfparse:dbg\b/.test(process.env.LOG);
|
|
107391
|
+
|
|
107392
|
+
// @ts-expect-error env access
|
|
107393
|
+
const LOG_VARS = typeof process != 'undefined' && process.env && /\bcontext\b/.test(process.env.LOG);
|
|
107394
|
+
|
|
107395
|
+
const spaceChars = [
|
|
107396
|
+
9, 11, 12, 32, 133, 160,
|
|
107397
|
+
5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198,
|
|
107398
|
+
8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288
|
|
107399
|
+
];
|
|
107400
|
+
|
|
107401
|
+
const newlineChars = chars('\n\r');
|
|
107402
|
+
|
|
107403
|
+
const asterix = '*'.charCodeAt(0);
|
|
107404
|
+
|
|
107405
|
+
const additionalNameChars = chars("'./-+*^");
|
|
107406
|
+
|
|
107407
|
+
/**
|
|
107408
|
+
* @typedef { VariableContext | any } ContextValue
|
|
107409
|
+
*/
|
|
107410
|
+
|
|
107411
|
+
/**
|
|
107412
|
+
* @param { string } str
|
|
107413
|
+
* @return { number[] }
|
|
107414
|
+
*/
|
|
107415
|
+
function chars(str) {
|
|
107416
|
+
return Array.from(str).map(s => s.charCodeAt(0));
|
|
107417
|
+
}
|
|
107418
|
+
|
|
107419
|
+
/**
|
|
107420
|
+
* @param { number } ch
|
|
107421
|
+
* @return { boolean }
|
|
107422
|
+
*/
|
|
107423
|
+
function isStartChar(ch) {
|
|
107424
|
+
return (
|
|
107425
|
+
ch === 63 // ?
|
|
107426
|
+
) || (
|
|
107427
|
+
ch >= 65 && ch <= 90 // A-Z
|
|
107428
|
+
) || (
|
|
107429
|
+
ch === 95 // _
|
|
107430
|
+
) || (
|
|
107431
|
+
ch >= 97 && ch <= 122 // a-z
|
|
107432
|
+
) || (
|
|
107433
|
+
ch >= 0xC0 && ch <= 0xD6
|
|
107434
|
+
) || (
|
|
107435
|
+
ch >= 0xD8 && ch <= 0xF6
|
|
107436
|
+
) || (
|
|
107437
|
+
ch >= 0xF8 && ch <= 0x2FF
|
|
107438
|
+
) || (
|
|
107439
|
+
ch >= 0x370 && ch <= 0x37D
|
|
107440
|
+
) || (
|
|
107441
|
+
ch >= 0x37F && ch <= 0x1FFF
|
|
107442
|
+
) || (
|
|
107443
|
+
ch >= 0x200C && ch <= 0x200D
|
|
107444
|
+
) || (
|
|
107445
|
+
ch >= 0x2070 && ch <= 0x218F
|
|
107446
|
+
) || (
|
|
107447
|
+
ch >= 0x2C00 && ch <= 0x2FEF
|
|
107448
|
+
) || (
|
|
107449
|
+
ch >= 0x3001 && ch <= 0xD7FF
|
|
107450
|
+
) || (
|
|
107451
|
+
ch >= 0xF900 && ch <= 0xFDCF
|
|
107452
|
+
) || (
|
|
107453
|
+
ch >= 0xFDF0 && ch <= 0xFFFD
|
|
107454
|
+
) || (
|
|
107455
|
+
ch >= 0xD800 && ch <= 0xDBFF // upper surrogate
|
|
107456
|
+
) || (
|
|
107457
|
+
ch >= 0xDC00 && ch <= 0xDFFF // lower surrogate
|
|
107458
|
+
);
|
|
107459
|
+
}
|
|
107460
|
+
|
|
107461
|
+
/**
|
|
107462
|
+
* @param { number } ch
|
|
107463
|
+
* @return { boolean }
|
|
107464
|
+
*/
|
|
107465
|
+
function isAdditional(ch) {
|
|
107466
|
+
return additionalNameChars.includes(ch);
|
|
107467
|
+
}
|
|
107468
|
+
|
|
107469
|
+
/**
|
|
107470
|
+
* @param { number } ch
|
|
107471
|
+
* @return { boolean }
|
|
107472
|
+
*/
|
|
107473
|
+
function isPartChar(ch) {
|
|
107474
|
+
return (
|
|
107475
|
+
ch >= 48 && ch <= 57 // 0-9
|
|
107476
|
+
) || (
|
|
107477
|
+
ch === 0xB7
|
|
107478
|
+
) || (
|
|
107479
|
+
ch >= 0x0300 && ch <= 0x036F
|
|
107480
|
+
) || (
|
|
107481
|
+
ch >= 0x203F && ch <= 0x2040
|
|
107482
|
+
);
|
|
107483
|
+
}
|
|
107484
|
+
|
|
107485
|
+
/**
|
|
107486
|
+
* @param { number } ch
|
|
107487
|
+
* @return { boolean }
|
|
107488
|
+
*/
|
|
107489
|
+
function isSpace(ch) {
|
|
107490
|
+
return spaceChars.includes(ch);
|
|
107491
|
+
}
|
|
107492
|
+
|
|
107493
|
+
function indent(str, spaces) {
|
|
107494
|
+
return spaces.concat(
|
|
107495
|
+
str.split(/\n/g).join('\n' + spaces)
|
|
107496
|
+
);
|
|
107497
|
+
}
|
|
107498
|
+
|
|
107499
|
+
/**
|
|
107500
|
+
* @param { import('@lezer/lr').InputStream } input
|
|
107501
|
+
* @param { number } [offset]
|
|
107502
|
+
*
|
|
107503
|
+
* @return { { token: string, offset: number } | null }
|
|
107504
|
+
*/
|
|
107505
|
+
function parseAdditionalSymbol(input, offset = 0) {
|
|
107506
|
+
|
|
107507
|
+
const next = input.peek(offset);
|
|
107508
|
+
|
|
107509
|
+
if (next === asterix && input.peek(offset + 1) === asterix) {
|
|
107510
|
+
|
|
107511
|
+
return {
|
|
107512
|
+
offset: 2,
|
|
107513
|
+
token: '**'
|
|
107514
|
+
};
|
|
107515
|
+
}
|
|
107516
|
+
|
|
107517
|
+
if (isAdditional(next)) {
|
|
107518
|
+
return {
|
|
107519
|
+
offset: 1,
|
|
107520
|
+
token: String.fromCharCode(next)
|
|
107521
|
+
};
|
|
107522
|
+
}
|
|
107523
|
+
|
|
107524
|
+
return null;
|
|
107525
|
+
}
|
|
107526
|
+
|
|
107527
|
+
/**
|
|
107528
|
+
* @param { import('@lezer/lr').InputStream } input
|
|
107529
|
+
* @param { number } [offset]
|
|
107530
|
+
* @param { boolean } [namePart]
|
|
107531
|
+
*
|
|
107532
|
+
* @return { { token: string, offset: number } | null }
|
|
107533
|
+
*/
|
|
107534
|
+
function parseIdentifier(input, offset = 0, namePart = false) {
|
|
107535
|
+
for (let inside = false, chars = [], i = 0;; i++) {
|
|
107536
|
+
const next = input.peek(offset + i);
|
|
107537
|
+
|
|
107538
|
+
if (isStartChar(next) || ((inside || namePart) && isPartChar(next))) {
|
|
107539
|
+
if (!inside) {
|
|
107540
|
+
inside = true;
|
|
107541
|
+
}
|
|
107542
|
+
|
|
107543
|
+
chars.push(next);
|
|
107544
|
+
} else {
|
|
107545
|
+
|
|
107546
|
+
if (chars.length) {
|
|
107547
|
+
return {
|
|
107548
|
+
token: String.fromCharCode(...chars),
|
|
107549
|
+
offset: i
|
|
107550
|
+
};
|
|
107551
|
+
}
|
|
107552
|
+
|
|
107553
|
+
return null;
|
|
107554
|
+
}
|
|
107555
|
+
}
|
|
107556
|
+
}
|
|
107557
|
+
|
|
107558
|
+
/**
|
|
107559
|
+
* @param { import('@lezer/lr').InputStream } input
|
|
107560
|
+
* @param { number } offset
|
|
107561
|
+
*
|
|
107562
|
+
* @return { { token: string, offset: number } | null }
|
|
107563
|
+
*/
|
|
107564
|
+
function parseSpaces(input, offset) {
|
|
107565
|
+
|
|
107566
|
+
for (let inside = false, i = 0;; i++) {
|
|
107567
|
+
let next = input.peek(offset + i);
|
|
107568
|
+
|
|
107569
|
+
if (isSpace(next)) {
|
|
107570
|
+
if (!inside) {
|
|
107571
|
+
inside = true;
|
|
107572
|
+
}
|
|
107573
|
+
} else {
|
|
107574
|
+
if (inside) {
|
|
107575
|
+
return {
|
|
107576
|
+
token: ' ',
|
|
107577
|
+
offset: i
|
|
107578
|
+
};
|
|
107579
|
+
}
|
|
107580
|
+
|
|
107581
|
+
return null;
|
|
107582
|
+
}
|
|
107583
|
+
}
|
|
107584
|
+
}
|
|
107585
|
+
|
|
107586
|
+
/**
|
|
107587
|
+
* Parse a name from the input and return the first match, if any.
|
|
107588
|
+
*
|
|
107589
|
+
* @param { import('@lezer/lr').InputStream } input
|
|
107590
|
+
* @param { Variables } variables
|
|
107591
|
+
*
|
|
107592
|
+
* @return { { token: string, offset: number, term: number } | null }
|
|
107593
|
+
*/
|
|
107594
|
+
function parseName$1(input, variables) {
|
|
107595
|
+
const contextKeys = variables.contextKeys();
|
|
107596
|
+
|
|
107597
|
+
const start = variables.tokens;
|
|
107598
|
+
|
|
107599
|
+
for (let i = 0, tokens = [], nextMatch = null;;) {
|
|
107600
|
+
|
|
107601
|
+
const namePart = (start.length + tokens.length) > 0;
|
|
107602
|
+
const maybeSpace = tokens.length > 0;
|
|
107603
|
+
|
|
107604
|
+
const match = (
|
|
107605
|
+
parseIdentifier(input, i, namePart) ||
|
|
107606
|
+
namePart && parseAdditionalSymbol(input, i) ||
|
|
107607
|
+
maybeSpace && parseSpaces(input, i)
|
|
107608
|
+
);
|
|
107609
|
+
|
|
107610
|
+
// match is required
|
|
107611
|
+
if (!match) {
|
|
107612
|
+
return nextMatch;
|
|
107613
|
+
}
|
|
107614
|
+
|
|
107615
|
+
const {
|
|
107616
|
+
token,
|
|
107617
|
+
offset
|
|
107618
|
+
} = match;
|
|
107619
|
+
|
|
107620
|
+
i += offset;
|
|
107621
|
+
|
|
107622
|
+
if (token === ' ') {
|
|
107623
|
+
continue;
|
|
107624
|
+
}
|
|
107625
|
+
|
|
107626
|
+
tokens = [ ...tokens, token ];
|
|
107627
|
+
|
|
107628
|
+
const name = [ ...start, ...tokens ].join(' ');
|
|
107629
|
+
|
|
107630
|
+
if (contextKeys.some(el => el === name)) {
|
|
107631
|
+
const token = tokens[0];
|
|
107632
|
+
|
|
107633
|
+
nextMatch = {
|
|
107634
|
+
token,
|
|
107635
|
+
offset: token.length,
|
|
107636
|
+
term: nameIdentifier
|
|
107637
|
+
};
|
|
107638
|
+
}
|
|
107639
|
+
|
|
107640
|
+
if (contextKeys.some(el => el.startsWith(name))) {
|
|
107641
|
+
continue;
|
|
107642
|
+
}
|
|
107643
|
+
|
|
107644
|
+
if (dateTimeIdentifiers.some(el => el === name)) {
|
|
107645
|
+
const token = tokens[0];
|
|
107646
|
+
|
|
107647
|
+
// parse date time identifiers as normal
|
|
107648
|
+
// identifiers to allow specialization to kick in
|
|
107649
|
+
//
|
|
107650
|
+
// cf. https://github.com/nikku/lezer-feel/issues/8
|
|
107651
|
+
nextMatch = {
|
|
107652
|
+
token,
|
|
107653
|
+
offset: token.length,
|
|
107654
|
+
term: identifier
|
|
107655
|
+
};
|
|
107656
|
+
}
|
|
107657
|
+
|
|
107658
|
+
if (dateTimeIdentifiers.some(el => el.startsWith(name))) {
|
|
107659
|
+
continue;
|
|
107660
|
+
}
|
|
107661
|
+
|
|
107662
|
+
return nextMatch;
|
|
107663
|
+
}
|
|
107664
|
+
|
|
107665
|
+
}
|
|
107666
|
+
|
|
107667
|
+
const identifiersMap = {
|
|
107668
|
+
[ identifier ]: 'identifier',
|
|
107669
|
+
[ nameIdentifier ]: 'nameIdentifier'
|
|
107670
|
+
};
|
|
107671
|
+
|
|
107672
|
+
const identifiers$1 = new ExternalTokenizer((input, stack) => {
|
|
107673
|
+
|
|
107674
|
+
LOG_PARSE_DEBUG && console.log('%s: T <identifier | nameIdentifier>', input.pos);
|
|
107675
|
+
|
|
107676
|
+
const nameMatch = parseName$1(input, stack.context);
|
|
107677
|
+
|
|
107678
|
+
const start = stack.context.tokens;
|
|
107679
|
+
|
|
107680
|
+
const match = nameMatch || parseIdentifier(input, 0, start.length > 0);
|
|
107681
|
+
|
|
107682
|
+
if (match) {
|
|
107683
|
+
input.advance(match.offset);
|
|
107684
|
+
input.acceptToken(nameMatch ? nameMatch.term : identifier);
|
|
107685
|
+
|
|
107686
|
+
LOG_PARSE && console.log('%s: MATCH <%s> <%s>', input.pos, nameMatch ? identifiersMap[nameMatch.term] : 'identifier', match.token);
|
|
107687
|
+
}
|
|
107688
|
+
}, { contextual: true });
|
|
107689
|
+
|
|
107690
|
+
|
|
107691
|
+
const propertyIdentifiers = new ExternalTokenizer((input, stack) => {
|
|
107692
|
+
|
|
107693
|
+
LOG_PARSE_DEBUG && console.log('%s: T <propertyIdentifier>', input.pos);
|
|
107694
|
+
|
|
107695
|
+
const start = stack.context.tokens;
|
|
107696
|
+
|
|
107697
|
+
const match = parseIdentifier(input, 0, start.length > 0);
|
|
107698
|
+
|
|
107699
|
+
if (match) {
|
|
107700
|
+
input.advance(match.offset);
|
|
107701
|
+
input.acceptToken(propertyIdentifier);
|
|
107702
|
+
|
|
107703
|
+
LOG_PARSE && console.log('%s: MATCH <propertyIdentifier> <%s>', input.pos, match.token);
|
|
107704
|
+
}
|
|
107705
|
+
});
|
|
107706
|
+
|
|
107707
|
+
|
|
107708
|
+
const insertSemicolon = new ExternalTokenizer((input, stack) => {
|
|
107709
|
+
|
|
107710
|
+
LOG_PARSE_DEBUG && console.log('%s: T <insertSemi>', input.pos);
|
|
107711
|
+
|
|
107712
|
+
let offset;
|
|
107713
|
+
let insert = false;
|
|
107714
|
+
|
|
107715
|
+
for (offset = 0;; offset++) {
|
|
107716
|
+
const char = input.peek(offset);
|
|
107717
|
+
|
|
107718
|
+
if (spaceChars.includes(char)) {
|
|
107719
|
+
continue;
|
|
107720
|
+
}
|
|
107721
|
+
|
|
107722
|
+
if (newlineChars.includes(char)) {
|
|
107723
|
+
insert = true;
|
|
107724
|
+
}
|
|
107725
|
+
|
|
107726
|
+
break;
|
|
107727
|
+
}
|
|
107728
|
+
|
|
107729
|
+
if (insert) {
|
|
107730
|
+
|
|
107731
|
+
const identifier = parseIdentifier(input, offset + 1);
|
|
107732
|
+
const spaces = parseSpaces(input, offset + 1);
|
|
107733
|
+
|
|
107734
|
+
if (spaces || identifier && /^(then|else|return|satisfies)$/.test(identifier.token)) {
|
|
107735
|
+
return;
|
|
107736
|
+
}
|
|
107737
|
+
|
|
107738
|
+
LOG_PARSE && console.log('%s: MATCH <insertSemi>', input.pos);
|
|
107739
|
+
input.acceptToken(insertSemi);
|
|
107740
|
+
}
|
|
107741
|
+
});
|
|
107742
|
+
|
|
107743
|
+
const prefixedContextStarts = {
|
|
107744
|
+
[ functionInvocationStart ]: 'FunctionInvocation',
|
|
107745
|
+
[ filterExpressionStart ]: 'FilterExpression',
|
|
107746
|
+
[ pathExpressionStart ]: 'PathExpression'
|
|
107747
|
+
};
|
|
107748
|
+
|
|
107749
|
+
const contextStarts = {
|
|
107750
|
+
[ contextStart ]: 'Context',
|
|
107751
|
+
[ functionDefinitionStart ]: 'FunctionDefinition',
|
|
107752
|
+
[ forExpressionStart ]: 'ForExpression',
|
|
107753
|
+
[ listStart ]: 'List',
|
|
107754
|
+
[ ifExpressionStart ]: 'IfExpression',
|
|
107755
|
+
[ quantifiedExpressionStart ]: 'QuantifiedExpression'
|
|
107756
|
+
};
|
|
107757
|
+
|
|
107758
|
+
const contextEnds = {
|
|
107759
|
+
[ Context$1 ]: 'Context',
|
|
107760
|
+
[ FunctionDefinition ]: 'FunctionDefinition',
|
|
107761
|
+
[ ForExpression ]: 'ForExpression',
|
|
107762
|
+
[ List ]: 'List',
|
|
107763
|
+
[ IfExpression ]: 'IfExpression',
|
|
107764
|
+
[ QuantifiedExpression ]: 'QuantifiedExpression',
|
|
107765
|
+
[ PathExpression ]: 'PathExpression',
|
|
107766
|
+
[ FunctionInvocation ]: 'FunctionInvocation',
|
|
107767
|
+
[ FilterExpression ]: 'FilterExpression',
|
|
107768
|
+
[ ArithmeticExpression ]: 'ArithmeticExpression'
|
|
107769
|
+
};
|
|
107770
|
+
|
|
107771
|
+
/**
|
|
107772
|
+
* A simple producer that retrievs a value from
|
|
107773
|
+
* a given context. Used to lazily take things.
|
|
107774
|
+
*/
|
|
107775
|
+
class ValueProducer {
|
|
107776
|
+
|
|
107777
|
+
/**
|
|
107778
|
+
* @param { Function } fn
|
|
107779
|
+
*/
|
|
107780
|
+
constructor(fn) {
|
|
107781
|
+
this.fn = fn;
|
|
107782
|
+
}
|
|
107783
|
+
|
|
107784
|
+
get(variables) {
|
|
107785
|
+
return this.fn(variables);
|
|
107786
|
+
}
|
|
107787
|
+
|
|
107788
|
+
/**
|
|
107789
|
+
* @param { Function } fn
|
|
107790
|
+
*
|
|
107791
|
+
* @return { ValueProducer }
|
|
107792
|
+
*/
|
|
107793
|
+
static of(fn) {
|
|
107794
|
+
return new ValueProducer(fn);
|
|
107795
|
+
}
|
|
107796
|
+
|
|
107797
|
+
}
|
|
107798
|
+
|
|
107799
|
+
const dateTimeLiterals = {
|
|
107800
|
+
'date and time': 1,
|
|
107801
|
+
'date': 1,
|
|
107802
|
+
'time': 1,
|
|
107803
|
+
'duration': 1
|
|
107804
|
+
};
|
|
107805
|
+
|
|
107806
|
+
const dateTimeIdentifiers = Object.keys(dateTimeLiterals);
|
|
107807
|
+
|
|
107808
|
+
|
|
107809
|
+
/**
|
|
107810
|
+
* A basic key-value store to hold context values.
|
|
107811
|
+
*/
|
|
107812
|
+
class VariableContext {
|
|
107813
|
+
|
|
107814
|
+
/**
|
|
107815
|
+
* Creates a new context from a JavaScript object.
|
|
107816
|
+
*
|
|
107817
|
+
* @param {any} [value]
|
|
107818
|
+
*/
|
|
107819
|
+
constructor(value = {}) {
|
|
107820
|
+
|
|
107821
|
+
/**
|
|
107822
|
+
* @protected
|
|
107823
|
+
*/
|
|
107824
|
+
this.value = value;
|
|
107825
|
+
}
|
|
107826
|
+
|
|
107827
|
+
/**
|
|
107828
|
+
* Return all defined keys of the context.
|
|
107829
|
+
*
|
|
107830
|
+
* @returns {Array<string>} the keys of the context
|
|
107831
|
+
*/
|
|
107832
|
+
getKeys() {
|
|
107833
|
+
return Object.keys(this.value);
|
|
107834
|
+
}
|
|
107835
|
+
|
|
107836
|
+
/**
|
|
107837
|
+
* Returns the value of the given key.
|
|
107838
|
+
*
|
|
107839
|
+
* If the value represents a context itself, it should be wrapped in a
|
|
107840
|
+
* context class.
|
|
107841
|
+
*
|
|
107842
|
+
* @param {String} key
|
|
107843
|
+
* @returns {VariableContext|ValueProducer|null}
|
|
107844
|
+
*/
|
|
107845
|
+
get(key) {
|
|
107846
|
+
const result = this.value[key];
|
|
107847
|
+
|
|
107848
|
+
const constructor = /** @type { typeof VariableContext } */ (this.constructor);
|
|
107849
|
+
|
|
107850
|
+
if (constructor.isAtomic(result)) {
|
|
107851
|
+
return result;
|
|
107852
|
+
}
|
|
107853
|
+
|
|
107854
|
+
return constructor.of(result);
|
|
107855
|
+
}
|
|
107856
|
+
|
|
107857
|
+
/**
|
|
107858
|
+
* Creates a new context with the given key added.
|
|
107859
|
+
*
|
|
107860
|
+
* @param {String} key
|
|
107861
|
+
* @param {any} value
|
|
107862
|
+
*
|
|
107863
|
+
* @returns {VariableContext} new context with the given key added
|
|
107864
|
+
*/
|
|
107865
|
+
set(key, value) {
|
|
107866
|
+
|
|
107867
|
+
const constructor = /** @type { typeof VariableContext } */ (this.constructor);
|
|
107868
|
+
|
|
107869
|
+
return constructor.of({
|
|
107870
|
+
...this.value,
|
|
107871
|
+
[key]: value
|
|
107872
|
+
});
|
|
107873
|
+
}
|
|
107874
|
+
|
|
107875
|
+
/**
|
|
107876
|
+
* Non-destructively merge another context into this one,
|
|
107877
|
+
* and return the result.
|
|
107878
|
+
*
|
|
107879
|
+
* @param {ContextValue} other
|
|
107880
|
+
*
|
|
107881
|
+
* @return {VariableContext}
|
|
107882
|
+
*/
|
|
107883
|
+
merge(other) {
|
|
107884
|
+
const constructor = /** @type { typeof VariableContext } */ (this.constructor);
|
|
107885
|
+
|
|
107886
|
+
return new constructor(
|
|
107887
|
+
constructor.__merge(this.value, other)
|
|
107888
|
+
);
|
|
107889
|
+
}
|
|
107890
|
+
|
|
107891
|
+
/**
|
|
107892
|
+
* Wether the given value is atomic. Non-atomic values need to be wrapped in a
|
|
107893
|
+
* context Class.
|
|
107894
|
+
*
|
|
107895
|
+
* @param {any} value
|
|
107896
|
+
* @returns {Boolean}
|
|
107897
|
+
*/
|
|
107898
|
+
static isAtomic(value) {
|
|
107899
|
+
return !value ||
|
|
107900
|
+
value instanceof this ||
|
|
107901
|
+
value instanceof ValueProducer ||
|
|
107902
|
+
typeof value !== 'object';
|
|
107903
|
+
}
|
|
107904
|
+
|
|
107905
|
+
/**
|
|
107906
|
+
* Takes any number of Contexts and merges them into a single context.
|
|
107907
|
+
*
|
|
107908
|
+
* @param { ...VariableContext } contexts
|
|
107909
|
+
* @returns { VariableContext }
|
|
107910
|
+
*/
|
|
107911
|
+
static of(...contexts) {
|
|
107912
|
+
return contexts.reduce((context, otherContext) => {
|
|
107913
|
+
return context.merge(otherContext);
|
|
107914
|
+
}, new this({}));
|
|
107915
|
+
}
|
|
107916
|
+
|
|
107917
|
+
/**
|
|
107918
|
+
* Returns the raw representation of the given context.
|
|
107919
|
+
*
|
|
107920
|
+
* @param {VariableContext | any} context
|
|
107921
|
+
*
|
|
107922
|
+
* @return {any}
|
|
107923
|
+
*/
|
|
107924
|
+
static __unwrap(context) {
|
|
107925
|
+
if (!context) {
|
|
107926
|
+
return {};
|
|
107927
|
+
}
|
|
107928
|
+
|
|
107929
|
+
if (context instanceof this) {
|
|
107930
|
+
return context.value;
|
|
107931
|
+
}
|
|
107932
|
+
|
|
107933
|
+
if (typeof context !== 'object') {
|
|
107934
|
+
return {};
|
|
107935
|
+
}
|
|
107936
|
+
|
|
107937
|
+
return { ...context };
|
|
107938
|
+
}
|
|
107939
|
+
|
|
107940
|
+
/**
|
|
107941
|
+
* Non-destructively merges two contexts (or their values)
|
|
107942
|
+
* with each other, returning the result.
|
|
107943
|
+
*
|
|
107944
|
+
* @param {ContextValue} context
|
|
107945
|
+
* @param {ContextValue} other
|
|
107946
|
+
*
|
|
107947
|
+
* @return {any}
|
|
107948
|
+
*/
|
|
107949
|
+
static __merge(context, other) {
|
|
107950
|
+
|
|
107951
|
+
return reduce(this.__unwrap(other), (merged, value, key) => {
|
|
107952
|
+
if (value instanceof ValueProducer) {
|
|
107953
|
+
|
|
107954
|
+
// keep value producers in tact
|
|
107955
|
+
return {
|
|
107956
|
+
...merged,
|
|
107957
|
+
[key]: value
|
|
107958
|
+
};
|
|
107959
|
+
}
|
|
107960
|
+
|
|
107961
|
+
value = this.__unwrap(value);
|
|
107962
|
+
|
|
107963
|
+
if (has$3(merged, key)) {
|
|
107964
|
+
value = this.__merge(this.__unwrap(merged[key]), value);
|
|
107965
|
+
}
|
|
107966
|
+
|
|
107967
|
+
return {
|
|
107968
|
+
...merged,
|
|
107969
|
+
[key]: value
|
|
107970
|
+
};
|
|
107971
|
+
}, this.__unwrap(context));
|
|
107972
|
+
}
|
|
107973
|
+
|
|
107974
|
+
}
|
|
107975
|
+
|
|
107976
|
+
class Variables {
|
|
107977
|
+
|
|
107978
|
+
/**
|
|
107979
|
+
* @param { {
|
|
107980
|
+
* name?: string,
|
|
107981
|
+
* tokens?: string[],
|
|
107982
|
+
* children?: Variables[],
|
|
107983
|
+
* parent: Variables | null
|
|
107984
|
+
* context: VariableContext,
|
|
107985
|
+
* value?: any,
|
|
107986
|
+
* raw?: any
|
|
107987
|
+
* } } options
|
|
107988
|
+
*/
|
|
107989
|
+
constructor({
|
|
107990
|
+
name = 'Expressions',
|
|
107991
|
+
tokens = [],
|
|
107992
|
+
children = [],
|
|
107993
|
+
parent = null,
|
|
107994
|
+
context,
|
|
107995
|
+
value,
|
|
107996
|
+
raw
|
|
107997
|
+
}) {
|
|
107998
|
+
this.name = name;
|
|
107999
|
+
this.tokens = tokens;
|
|
108000
|
+
this.children = children;
|
|
108001
|
+
this.parent = parent;
|
|
108002
|
+
this.context = context;
|
|
108003
|
+
this.value = value;
|
|
108004
|
+
this.raw = raw;
|
|
108005
|
+
}
|
|
108006
|
+
|
|
108007
|
+
enterScope(name) {
|
|
108008
|
+
|
|
108009
|
+
const childScope = this.of({
|
|
108010
|
+
name,
|
|
108011
|
+
parent: this
|
|
108012
|
+
});
|
|
108013
|
+
|
|
108014
|
+
LOG_VARS && console.log('[%s] enter', childScope.path, childScope.context);
|
|
108015
|
+
|
|
108016
|
+
return childScope;
|
|
108017
|
+
}
|
|
108018
|
+
|
|
108019
|
+
exitScope(str) {
|
|
108020
|
+
|
|
108021
|
+
if (!this.parent) {
|
|
108022
|
+
LOG_VARS && console.log('[%s] NO exit %o\n%s', this.path, this.context, indent(str, ' '));
|
|
108023
|
+
|
|
108024
|
+
return this;
|
|
108025
|
+
}
|
|
108026
|
+
|
|
108027
|
+
LOG_VARS && console.log('[%s] exit %o\n%s', this.path, this.context, indent(str, ' '));
|
|
108028
|
+
|
|
108029
|
+
return this.parent.pushChild(this);
|
|
108030
|
+
}
|
|
108031
|
+
|
|
108032
|
+
token(part) {
|
|
108033
|
+
|
|
108034
|
+
LOG_VARS && console.log('[%s] token <%s> + <%s>', this.path, this.tokens.join(' '), part);
|
|
108035
|
+
|
|
108036
|
+
return this.assign({
|
|
108037
|
+
tokens: [ ...this.tokens, part ]
|
|
108038
|
+
});
|
|
108039
|
+
}
|
|
108040
|
+
|
|
108041
|
+
literal(value) {
|
|
108042
|
+
|
|
108043
|
+
LOG_VARS && console.log('[%s] literal %o', this.path, value);
|
|
108044
|
+
|
|
108045
|
+
return this.pushChild(this.of({
|
|
108046
|
+
name: 'Literal',
|
|
108047
|
+
value
|
|
108048
|
+
}));
|
|
108049
|
+
}
|
|
108050
|
+
|
|
108051
|
+
/**
|
|
108052
|
+
* Return computed scope value
|
|
108053
|
+
*
|
|
108054
|
+
* @return {any}
|
|
108055
|
+
*/
|
|
108056
|
+
computedValue() {
|
|
108057
|
+
for (let scope = this;;scope = last(scope.children)) {
|
|
108058
|
+
|
|
108059
|
+
if (!scope) {
|
|
108060
|
+
return null;
|
|
108061
|
+
}
|
|
108062
|
+
|
|
108063
|
+
if (scope.value) {
|
|
108064
|
+
return scope.value;
|
|
108065
|
+
}
|
|
108066
|
+
}
|
|
108067
|
+
}
|
|
108068
|
+
|
|
108069
|
+
contextKeys() {
|
|
108070
|
+
return this.context.getKeys().map(normalizeContextKey);
|
|
108071
|
+
}
|
|
108072
|
+
|
|
108073
|
+
get path() {
|
|
108074
|
+
return this.parent?.path?.concat(' > ', this.name) || this.name;
|
|
108075
|
+
}
|
|
108076
|
+
|
|
108077
|
+
/**
|
|
108078
|
+
* Return value of variable.
|
|
108079
|
+
*
|
|
108080
|
+
* @param { string } variable
|
|
108081
|
+
* @return { any } value
|
|
108082
|
+
*/
|
|
108083
|
+
get(variable) {
|
|
108084
|
+
|
|
108085
|
+
const names = [ variable, variable && normalizeContextKey(variable) ];
|
|
108086
|
+
|
|
108087
|
+
const contextKey = this.context.getKeys().find(
|
|
108088
|
+
key => names.includes(normalizeContextKey(key))
|
|
108089
|
+
);
|
|
108090
|
+
|
|
108091
|
+
if (typeof contextKey === 'undefined') {
|
|
108092
|
+
return undefined;
|
|
108093
|
+
}
|
|
108094
|
+
|
|
108095
|
+
const val = this.context.get(contextKey);
|
|
108096
|
+
|
|
108097
|
+
if (val instanceof ValueProducer) {
|
|
108098
|
+
return val.get(this);
|
|
108099
|
+
} else {
|
|
108100
|
+
return val;
|
|
108101
|
+
}
|
|
108102
|
+
}
|
|
108103
|
+
|
|
108104
|
+
resolveName() {
|
|
108105
|
+
|
|
108106
|
+
const variable = this.tokens.join(' ');
|
|
108107
|
+
const tokens = [];
|
|
108108
|
+
|
|
108109
|
+
const parentScope = this.assign({
|
|
108110
|
+
tokens
|
|
108111
|
+
});
|
|
108112
|
+
|
|
108113
|
+
const variableScope = this.of({
|
|
108114
|
+
name: 'VariableName',
|
|
108115
|
+
parent: parentScope,
|
|
108116
|
+
value: this.get(variable),
|
|
108117
|
+
raw: variable
|
|
108118
|
+
});
|
|
108119
|
+
|
|
108120
|
+
LOG_VARS && console.log('[%s] resolve name <%s=%s>', variableScope.path, variable, this.get(variable));
|
|
108121
|
+
|
|
108122
|
+
return parentScope.pushChild(variableScope);
|
|
108123
|
+
}
|
|
108124
|
+
|
|
108125
|
+
pushChild(child) {
|
|
108126
|
+
|
|
108127
|
+
if (!child) {
|
|
108128
|
+
return this;
|
|
108129
|
+
}
|
|
108130
|
+
|
|
108131
|
+
const parent = this.assign({
|
|
108132
|
+
children: [ ...this.children, child ]
|
|
108133
|
+
});
|
|
108134
|
+
|
|
108135
|
+
child.parent = parent;
|
|
108136
|
+
|
|
108137
|
+
return parent;
|
|
108138
|
+
}
|
|
108139
|
+
|
|
108140
|
+
pushChildren(children) {
|
|
108141
|
+
|
|
108142
|
+
/**
|
|
108143
|
+
* @type {Variables}
|
|
108144
|
+
*/
|
|
108145
|
+
let parent = this;
|
|
108146
|
+
|
|
108147
|
+
for (const child of children) {
|
|
108148
|
+
parent = parent.pushChild(child);
|
|
108149
|
+
}
|
|
108150
|
+
|
|
108151
|
+
return parent;
|
|
108152
|
+
}
|
|
108153
|
+
|
|
108154
|
+
declareName() {
|
|
108155
|
+
|
|
108156
|
+
if (this.tokens.length === 0) {
|
|
108157
|
+
throw Error('no tokens to declare name');
|
|
108158
|
+
}
|
|
108159
|
+
|
|
108160
|
+
const variableName = this.tokens.join(' ');
|
|
108161
|
+
|
|
108162
|
+
LOG_VARS && console.log('[%s] declareName <%s>', this.path, variableName);
|
|
108163
|
+
|
|
108164
|
+
return this.assign({
|
|
108165
|
+
tokens: []
|
|
108166
|
+
}).pushChild(
|
|
108167
|
+
this.of({
|
|
108168
|
+
name: 'Name',
|
|
108169
|
+
value: variableName
|
|
108170
|
+
})
|
|
108171
|
+
);
|
|
108172
|
+
}
|
|
108173
|
+
|
|
108174
|
+
define(name, value) {
|
|
108175
|
+
|
|
108176
|
+
if (typeof name !== 'string') {
|
|
108177
|
+
LOG_VARS && console.log('[%s] no define <%s=%s>', this.path, name, value);
|
|
108178
|
+
|
|
108179
|
+
return this;
|
|
108180
|
+
}
|
|
108181
|
+
|
|
108182
|
+
LOG_VARS && console.log('[%s] define <%s=%s>', this.path, name, value);
|
|
108183
|
+
|
|
108184
|
+
const context = this.context.set(name, value);
|
|
108185
|
+
|
|
108186
|
+
return this.assign({
|
|
108187
|
+
context
|
|
108188
|
+
});
|
|
108189
|
+
}
|
|
108190
|
+
|
|
108191
|
+
/**
|
|
108192
|
+
* @param { Record<string, any> } [options]
|
|
108193
|
+
*
|
|
108194
|
+
* @return { Variables }
|
|
108195
|
+
*/
|
|
108196
|
+
assign(options = {}) {
|
|
108197
|
+
|
|
108198
|
+
return Variables.of({
|
|
108199
|
+
...this,
|
|
108200
|
+
...options
|
|
108201
|
+
});
|
|
108202
|
+
}
|
|
108203
|
+
|
|
108204
|
+
/**
|
|
108205
|
+
* @param { Record<string, any> } [options]
|
|
108206
|
+
*
|
|
108207
|
+
* @return { Variables }
|
|
108208
|
+
*/
|
|
108209
|
+
of(options = {}) {
|
|
108210
|
+
|
|
108211
|
+
const defaultOptions = {
|
|
108212
|
+
context: this.context,
|
|
108213
|
+
parent: this.parent
|
|
108214
|
+
};
|
|
108215
|
+
|
|
108216
|
+
return Variables.of({
|
|
108217
|
+
...defaultOptions,
|
|
108218
|
+
...options
|
|
108219
|
+
});
|
|
108220
|
+
}
|
|
108221
|
+
|
|
108222
|
+
/**
|
|
108223
|
+
* @param { {
|
|
108224
|
+
* name?: string,
|
|
108225
|
+
* tokens?: string[],
|
|
108226
|
+
* children?: Variables[],
|
|
108227
|
+
* parent?: Variables | null
|
|
108228
|
+
* context: VariableContext,
|
|
108229
|
+
* value?: any,
|
|
108230
|
+
* raw?: any
|
|
108231
|
+
* } } options
|
|
108232
|
+
*
|
|
108233
|
+
* @return {Variables}
|
|
108234
|
+
*/
|
|
108235
|
+
static of(options) {
|
|
108236
|
+
|
|
108237
|
+
const {
|
|
108238
|
+
name,
|
|
108239
|
+
tokens = [],
|
|
108240
|
+
children = [],
|
|
108241
|
+
parent = null,
|
|
108242
|
+
context,
|
|
108243
|
+
value,
|
|
108244
|
+
raw
|
|
108245
|
+
} = options;
|
|
108246
|
+
|
|
108247
|
+
if (!context) {
|
|
108248
|
+
throw new Error('must provide <context>');
|
|
108249
|
+
}
|
|
108250
|
+
|
|
108251
|
+
return new Variables({
|
|
108252
|
+
name,
|
|
108253
|
+
tokens: [ ...tokens ],
|
|
108254
|
+
children: [ ...children ],
|
|
108255
|
+
context,
|
|
108256
|
+
parent,
|
|
108257
|
+
value,
|
|
108258
|
+
raw
|
|
108259
|
+
});
|
|
108260
|
+
}
|
|
108261
|
+
|
|
108262
|
+
}
|
|
108263
|
+
|
|
108264
|
+
/**
|
|
108265
|
+
* @param { string } name
|
|
108266
|
+
*
|
|
108267
|
+
* @return { string } normalizedName
|
|
108268
|
+
*/
|
|
108269
|
+
function normalizeContextKey(name) {
|
|
108270
|
+
return name.replace(/\s*([./\-'+]|\*\*?)\s*/g, ' $1 ').replace(/\s{2,}/g, ' ').trim();
|
|
108271
|
+
}
|
|
108272
|
+
|
|
108273
|
+
/**
|
|
108274
|
+
* Wrap children of variables under the given named child.
|
|
108275
|
+
*
|
|
108276
|
+
* @param { Variables } variables
|
|
108277
|
+
* @param { string } scopeName
|
|
108278
|
+
* @param { string } code
|
|
108279
|
+
* @return { Variables }
|
|
108280
|
+
*/
|
|
108281
|
+
function wrap(variables, scopeName, code) {
|
|
108282
|
+
|
|
108283
|
+
const parts = variables.children.filter(c => c.name !== scopeName);
|
|
108284
|
+
const children = variables.children.filter(c => c.name === scopeName);
|
|
108285
|
+
|
|
108286
|
+
const namePart = parts[0];
|
|
108287
|
+
const valuePart = parts[Math.max(1, parts.length - 1)];
|
|
108288
|
+
|
|
108289
|
+
const name = namePart?.computedValue();
|
|
108290
|
+
const value = valuePart?.computedValue() || null;
|
|
108291
|
+
|
|
108292
|
+
return variables
|
|
108293
|
+
.assign({
|
|
108294
|
+
children
|
|
108295
|
+
})
|
|
108296
|
+
.enterScope(scopeName)
|
|
108297
|
+
.pushChildren(parts)
|
|
108298
|
+
.exitScope(code)
|
|
108299
|
+
.define(name, value);
|
|
108300
|
+
}
|
|
108301
|
+
|
|
108302
|
+
/**
|
|
108303
|
+
* @param { ContextValue } [context]
|
|
108304
|
+
* @param { typeof VariableContext } [Context]
|
|
108305
|
+
*
|
|
108306
|
+
* @return { ContextTracker<Variables> }
|
|
108307
|
+
*/
|
|
108308
|
+
function trackVariables(context = {}, Context = VariableContext) {
|
|
108309
|
+
|
|
108310
|
+
const start = Variables.of({
|
|
108311
|
+
context: Context.of(context)
|
|
108312
|
+
});
|
|
108313
|
+
|
|
108314
|
+
return new ContextTracker({
|
|
108315
|
+
start,
|
|
108316
|
+
reduce(variables, term, stack, input) {
|
|
108317
|
+
|
|
108318
|
+
if (term === IfExpression) {
|
|
108319
|
+
const [ thenPart, elsePart ] = variables.children.slice(-2);
|
|
108320
|
+
|
|
108321
|
+
variables = variables.assign({
|
|
108322
|
+
value: Context.of(
|
|
108323
|
+
thenPart?.computedValue(),
|
|
108324
|
+
elsePart?.computedValue()
|
|
108325
|
+
)
|
|
108326
|
+
});
|
|
108327
|
+
}
|
|
108328
|
+
|
|
108329
|
+
if (term === List) {
|
|
108330
|
+
variables = variables.assign({
|
|
108331
|
+
value: Context.of(
|
|
108332
|
+
...variables.children.map(
|
|
108333
|
+
c => c?.computedValue()
|
|
108334
|
+
)
|
|
108335
|
+
)
|
|
108336
|
+
});
|
|
108337
|
+
}
|
|
108338
|
+
|
|
108339
|
+
if (term === FilterExpression) {
|
|
108340
|
+
const [ sourcePart, _ ] = variables.children.slice(-2);
|
|
108341
|
+
|
|
108342
|
+
variables = variables.assign({
|
|
108343
|
+
value: sourcePart?.computedValue()
|
|
108344
|
+
});
|
|
108345
|
+
}
|
|
108346
|
+
|
|
108347
|
+
if (term === FunctionInvocation) {
|
|
108348
|
+
|
|
108349
|
+
const [
|
|
108350
|
+
name,
|
|
108351
|
+
...args
|
|
108352
|
+
] = variables.children;
|
|
108353
|
+
|
|
108354
|
+
// preserve type information through `get value(context, key)` utility
|
|
108355
|
+
if (name?.raw === 'get value') {
|
|
108356
|
+
variables = getContextValue(variables, args);
|
|
108357
|
+
}
|
|
108358
|
+
}
|
|
108359
|
+
|
|
108360
|
+
const start = contextStarts[term];
|
|
108361
|
+
|
|
108362
|
+
if (start) {
|
|
108363
|
+
return variables.enterScope(start);
|
|
108364
|
+
}
|
|
108365
|
+
|
|
108366
|
+
const prefixedStart = prefixedContextStarts[term];
|
|
108367
|
+
|
|
108368
|
+
// pull <expression> into new <prefixedStart> context
|
|
108369
|
+
if (prefixedStart) {
|
|
108370
|
+
|
|
108371
|
+
const {
|
|
108372
|
+
children: currentChildren,
|
|
108373
|
+
context: currentContext,
|
|
108374
|
+
} = variables;
|
|
108375
|
+
|
|
108376
|
+
const children = currentChildren.slice(0, -1);
|
|
108377
|
+
const lastChild = last(currentChildren);
|
|
108378
|
+
|
|
108379
|
+
let newContext = null;
|
|
108380
|
+
|
|
108381
|
+
if (term === pathExpressionStart) {
|
|
108382
|
+
newContext = Context.of(lastChild?.computedValue());
|
|
108383
|
+
}
|
|
108384
|
+
|
|
108385
|
+
if (term === filterExpressionStart) {
|
|
108386
|
+
newContext = Context.of(
|
|
108387
|
+
currentContext,
|
|
108388
|
+
lastChild?.computedValue()
|
|
108389
|
+
).set('item', lastChild?.computedValue());
|
|
108390
|
+
}
|
|
108391
|
+
|
|
108392
|
+
return variables
|
|
108393
|
+
.assign({ children })
|
|
108394
|
+
.enterScope(prefixedStart)
|
|
108395
|
+
.pushChild(lastChild)
|
|
108396
|
+
.assign({ context: newContext || currentContext });
|
|
108397
|
+
}
|
|
108398
|
+
|
|
108399
|
+
// @ts-expect-error internal method
|
|
108400
|
+
const code = input.read(input.pos, stack.pos);
|
|
108401
|
+
|
|
108402
|
+
const end = contextEnds[term];
|
|
108403
|
+
|
|
108404
|
+
if (end) {
|
|
108405
|
+
return variables.exitScope(code);
|
|
108406
|
+
}
|
|
108407
|
+
|
|
108408
|
+
if (term === ContextEntry) {
|
|
108409
|
+
const parts = variables.children.filter(c => c.name !== 'ContextEntry');
|
|
108410
|
+
|
|
108411
|
+
const name = parts[0];
|
|
108412
|
+
const value = last(parts);
|
|
108413
|
+
|
|
108414
|
+
return wrap(variables, 'ContextEntry', code).assign(
|
|
108415
|
+
{
|
|
108416
|
+
value: Context
|
|
108417
|
+
.of(variables.value)
|
|
108418
|
+
.set(name?.computedValue(), value?.computedValue())
|
|
108419
|
+
}
|
|
108420
|
+
);
|
|
108421
|
+
}
|
|
108422
|
+
|
|
108423
|
+
if (
|
|
108424
|
+
term === ForInExpression ||
|
|
108425
|
+
term === QuantifiedInExpression
|
|
108426
|
+
) {
|
|
108427
|
+
return wrap(variables, 'InExpression', code);
|
|
108428
|
+
}
|
|
108429
|
+
|
|
108430
|
+
// define <partial> within ForExpression body
|
|
108431
|
+
if (term === forExpressionBodyStart) {
|
|
108432
|
+
|
|
108433
|
+
return variables.define(
|
|
108434
|
+
'partial',
|
|
108435
|
+
ValueProducer.of(variables => {
|
|
108436
|
+
return last(variables.children)?.computedValue();
|
|
108437
|
+
})
|
|
108438
|
+
);
|
|
108439
|
+
}
|
|
108440
|
+
|
|
108441
|
+
if (
|
|
108442
|
+
term === ParameterName
|
|
108443
|
+
) {
|
|
108444
|
+
const name = last(variables.children).computedValue();
|
|
108445
|
+
|
|
108446
|
+
// TODO: attach type information
|
|
108447
|
+
return variables.define(name, 1);
|
|
108448
|
+
}
|
|
108449
|
+
|
|
108450
|
+
// pull <expression> into ArithmeticExpression child
|
|
108451
|
+
if (
|
|
108452
|
+
term === arithmeticPlusStart ||
|
|
108453
|
+
term === arithmeticTimesStart ||
|
|
108454
|
+
term === arithmeticExpStart
|
|
108455
|
+
) {
|
|
108456
|
+
const children = variables.children.slice(0, -1);
|
|
108457
|
+
const lastChild = last(variables.children);
|
|
108458
|
+
|
|
108459
|
+
return variables.assign({
|
|
108460
|
+
children
|
|
108461
|
+
}).enterScope('ArithmeticExpression').pushChild(lastChild);
|
|
108462
|
+
}
|
|
108463
|
+
|
|
108464
|
+
if (term === arithmeticUnaryStart) {
|
|
108465
|
+
return variables.enterScope('ArithmeticExpression');
|
|
108466
|
+
}
|
|
108467
|
+
|
|
108468
|
+
if (
|
|
108469
|
+
term === Identifier ||
|
|
108470
|
+
term === AdditionalIdentifier ||
|
|
108471
|
+
term === PropertyIdentifier
|
|
108472
|
+
) {
|
|
108473
|
+
return variables.token(code);
|
|
108474
|
+
}
|
|
108475
|
+
|
|
108476
|
+
if (
|
|
108477
|
+
term === StringLiteral
|
|
108478
|
+
) {
|
|
108479
|
+
return variables.literal(code.replace(/^"|"$/g, ''));
|
|
108480
|
+
}
|
|
108481
|
+
|
|
108482
|
+
if (term === BooleanLiteral) {
|
|
108483
|
+
return variables.literal(code === 'true' ? true : false);
|
|
108484
|
+
}
|
|
108485
|
+
|
|
108486
|
+
if (term === NumericLiteral) {
|
|
108487
|
+
return variables.literal(parseFloat(code));
|
|
108488
|
+
}
|
|
108489
|
+
|
|
108490
|
+
if (term === nil) {
|
|
108491
|
+
return variables.literal(null);
|
|
108492
|
+
}
|
|
108493
|
+
|
|
108494
|
+
if (
|
|
108495
|
+
term === VariableName
|
|
108496
|
+
) {
|
|
108497
|
+
return variables.resolveName();
|
|
108498
|
+
}
|
|
108499
|
+
|
|
108500
|
+
if (
|
|
108501
|
+
term === Name ||
|
|
108502
|
+
term === PropertyName
|
|
108503
|
+
) {
|
|
108504
|
+
return variables.declareName();
|
|
108505
|
+
}
|
|
108506
|
+
|
|
108507
|
+
if (
|
|
108508
|
+
term === expression0 ||
|
|
108509
|
+
term === PositiveUnaryTest
|
|
108510
|
+
) {
|
|
108511
|
+
if (variables.tokens.length > 0) {
|
|
108512
|
+
throw new Error('uncleared name');
|
|
108513
|
+
}
|
|
108514
|
+
}
|
|
108515
|
+
|
|
108516
|
+
if (term === expression0) {
|
|
108517
|
+
|
|
108518
|
+
let parent = variables;
|
|
108519
|
+
|
|
108520
|
+
while (parent.parent) {
|
|
108521
|
+
parent = parent.exitScope(code);
|
|
108522
|
+
}
|
|
108523
|
+
|
|
108524
|
+
return parent;
|
|
108525
|
+
}
|
|
108526
|
+
|
|
108527
|
+
return variables;
|
|
108528
|
+
}
|
|
108529
|
+
});
|
|
108530
|
+
}
|
|
108531
|
+
|
|
108532
|
+
const variableTracker = trackVariables({});
|
|
108533
|
+
|
|
108534
|
+
|
|
108535
|
+
// helpers //////////////
|
|
108536
|
+
|
|
108537
|
+
function getContextValue(variables, args) {
|
|
108538
|
+
|
|
108539
|
+
if (!args.length) {
|
|
108540
|
+
return variables.assign({
|
|
108541
|
+
value: null
|
|
108542
|
+
});
|
|
108543
|
+
}
|
|
108544
|
+
|
|
108545
|
+
if (args[0].name === 'Name') {
|
|
108546
|
+
args = extractNamedArgs(args, [ 'm', 'key' ]);
|
|
108547
|
+
}
|
|
108548
|
+
|
|
108549
|
+
if (args.length !== 2) {
|
|
108550
|
+
return variables.assign({
|
|
108551
|
+
value: null
|
|
108552
|
+
});
|
|
108553
|
+
}
|
|
108554
|
+
|
|
108555
|
+
const [
|
|
108556
|
+
context,
|
|
108557
|
+
key
|
|
108558
|
+
] = args;
|
|
108559
|
+
|
|
108560
|
+
const keyValue = key?.computedValue();
|
|
108561
|
+
const contextValue = context?.computedValue();
|
|
108562
|
+
|
|
108563
|
+
if (
|
|
108564
|
+
(!contextValue || typeof contextValue !== 'object') || typeof keyValue !== 'string'
|
|
108565
|
+
) {
|
|
108566
|
+
return variables.assign({
|
|
108567
|
+
value: null
|
|
108568
|
+
});
|
|
108569
|
+
}
|
|
108570
|
+
|
|
108571
|
+
return variables.assign({
|
|
108572
|
+
value: [ normalizeContextKey(keyValue), keyValue ].reduce((value, keyValue) => {
|
|
108573
|
+
return contextValue.get(keyValue) || value;
|
|
108574
|
+
}, null)
|
|
108575
|
+
});
|
|
108576
|
+
}
|
|
108577
|
+
|
|
108578
|
+
function extractNamedArgs(args, argNames) {
|
|
108579
|
+
|
|
108580
|
+
const context = {};
|
|
108581
|
+
|
|
108582
|
+
for (let i = 0; i < args.length; i += 2) {
|
|
108583
|
+
const [ name, value ] = args.slice(i, i + 2);
|
|
108584
|
+
|
|
108585
|
+
context[name.value] = value;
|
|
108586
|
+
}
|
|
108587
|
+
|
|
108588
|
+
return argNames.map(name => context[name]);
|
|
108589
|
+
}
|
|
108590
|
+
|
|
108591
|
+
function last(arr) {
|
|
108592
|
+
return arr[arr.length - 1];
|
|
108593
|
+
}
|
|
108594
|
+
|
|
108595
|
+
const feelHighlighting = styleTags({
|
|
108596
|
+
StringLiteral: tags.string,
|
|
108597
|
+
NumericLiteral: tags.number,
|
|
108598
|
+
BooleanLiteral: tags.bool,
|
|
108599
|
+
'AtLiteral!': tags.special(tags.string),
|
|
108600
|
+
CompareOp: tags.compareOperator,
|
|
108601
|
+
ArithOp: tags.arithmeticOperator,
|
|
108602
|
+
'for if then else some every satisfies between return': tags.controlKeyword,
|
|
108603
|
+
'in instance of and or': tags.operatorKeyword,
|
|
108604
|
+
function: tags.definitionKeyword,
|
|
108605
|
+
as: tags.keyword,
|
|
108606
|
+
'Type/...': tags.typeName,
|
|
108607
|
+
Wildcard: tags.special(tags.variableName),
|
|
108608
|
+
null: tags.null,
|
|
108609
|
+
LineComment: tags.lineComment,
|
|
108610
|
+
BlockComment: tags.blockComment,
|
|
108611
|
+
'VariableName! "?"': tags.variableName,
|
|
108612
|
+
'DateTimeConstructor! SpecialFunctionName!': tags.function(tags.special(tags.variableName)),
|
|
108613
|
+
'List Interval': tags.list,
|
|
108614
|
+
Context: tags.definition(tags.literal),
|
|
108615
|
+
'Name!': tags.definition(tags.variableName),
|
|
108616
|
+
'Key/Name! ContextEntryType/Name!': tags.definition(tags.propertyName),
|
|
108617
|
+
'PathExpression/VariableName!': tags.function(tags.propertyName),
|
|
108618
|
+
'FormalParameter/ParameterName!': tags.function(tags.definition(tags.variableName)),
|
|
108619
|
+
'( )': tags.paren,
|
|
108620
|
+
'[ ]': tags.squareBracket,
|
|
108621
|
+
'{ }': tags.brace,
|
|
108622
|
+
'.': tags.derefOperator,
|
|
108623
|
+
', ;': tags.separator,
|
|
108624
|
+
'..': tags.punctuation
|
|
108625
|
+
});
|
|
108626
|
+
|
|
108627
|
+
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
108628
|
+
const spec_identifier = {__proto__:null,for:10, in:32, return:36, if:40, then:42, else:44, some:48, every:50, satisfies:56, or:60, and:64, between:72, instance:86, of:89, days:101, time:103, duration:105, years:107, months:109, date:111, list:117, context:123, function:130, null:156, true:332, false:332, "?":170, external:186, not:211};
|
|
108629
|
+
const parser = LRParser.deserialize({
|
|
108630
|
+
version: 14,
|
|
108631
|
+
states: "C|O`QYOOO`QYOOO$yQYOOOOQU'#Ce'#CeO%TQYO'#C`O&^QYO'#FQOOQQ'#Ff'#FfO&hQYO'#FfO`QYO'#DVOOQU'#En'#EnO(_Q^O'#D]OOQU'#D^'#D^OOQU'#D]'#D]OOQO'#Fn'#FnO*[QWO'#DvOOQQ'#D}'#D}OOQQ'#EO'#EOOOQQ'#EP'#EPO*aOWO'#ESO*[QWO'#EQOOQQ'#EQ'#EQOOQQ'#Ft'#FtOOQQ'#Fr'#FrOOQQ'#Fz'#FzOOQQ'#EU'#EUO`QYO'#EWOOQQ'#FS'#FSO*iQ^O'#FSO,`QYO'#EXO,gQWO'#EYOOQP'#GO'#GOO,lQXO'#EaOOQQ'#F{'#F{OOQQ'#FR'#FRQOQWOOOOQQ'#FT'#FTOOQQ'#F^'#F^O`QYO'#CoOOQQ'#F_'#F_O%TQYO'#CsO,zQYO'#DwOOQQ'#Fs'#FsO-PQYO'#EROOQO'#ER'#ERO`QYO'#EVO`QYO'#EUOOQO'#F|'#F|Q-XQWOOO-^QYO'#DRO.TQWO'#FbOOQO'#DT'#DTO.`QYO'#FfO.gQWOOO/^QYO'#CdO/kQYO'#FVOOQQ'#Cc'#CcO/pQYO'#FUOOQQ'#Cb'#CbO/xQYO,58zO`QYO,59iOOQQ'#Fc'#FcOOQQ'#Fd'#FdOOQQ'#Fe'#FeO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fl'#FlO/}QYO,5:^OOQQ'#Fm'#FmO`QYO,5:`O`QYO,59eO`QYO,59gO`QYO,59iO1|QYO,59iO2TQYO,59rOOQQ,5:i,5:iO2YQYO,59qOOQU-E8l-E8lO3|QYO'#FoOOQQ,5:b,5:bOOQQ,5:n,5:nOOQQ,5:l,5:lO4TQYO,5:rOOQQ,5;n,5;nO4_QYO,5:qO4lQWO,5:sO4qQYO,5:tOOQP'#Ee'#EeO5hQXO'#EdOOQO'#Ec'#EcO5oQWO'#EbO5tQWO'#GPO5|QWO,5:{O6RQYO,59ZO/kQYO'#FaOOQQ'#Cw'#CwO6YQYO'#F`OOQQ'#Cv'#CvO6bQYO,59_O6gQYO,5:cO6lQYO,5:mO4WQYO,5:qO6qQYO,5:pO`QYO'#EwQ-XQWOOO`QYO'#EmO7hQWO,5;|O`QYOOOOQR'#Cf'#CfOOQQ'#Ej'#EjO8bQYO,59OO`QYO,5;qOOQQ'#FY'#FYO%TQYO'#EkO8rQYO,5;pO`QYO1G.fOOQQ'#F]'#F]O9iQYO1G/TO<`QYO1G/]O<jQYO1G/]O<tQYO1G/]OOQQ1G/x1G/xO>hQYO1G/zO>oQYO1G/PO?xQYO1G/ROARQYO1G/TO`QYO1G/TOOQQ1G/T1G/TOAiQYO1G/^OBWQ^O'#CdOCjQYO'#FqOOQO'#Dz'#DzOCtQWO'#DyOCyQWO'#FpOOQO'#Dx'#DxOOQO'#D{'#D{ODRQWO,5<ZOOQQ1G0^1G0^O`QYO1G0]O`QYO'#EsODWQWO,5<]OOQQ1G0_1G0_ODcQWO'#E[ODnQWO'#F}OOQO'#EZ'#EZODvQWO1G0`OOQP'#Eu'#EuOD{QXO,5;OO`QYO,5:|OESQXO'#EvOE_QWO,5<kOOQQ1G0g1G0gO`QYO1G.uO`QYO,5;{O%TQYO'#ElOEgQYO,5;zO`QYO1G.yOEoQYO1G/}OOQO1G0X1G0XOOQO,5;c,5;cOOQO-E8u-E8uOOQO,5;X,5;XOOQO-E8k-E8kOEtQWOOOOQQ-E8h-E8hOEyQYO'#CmOOQQ1G1]1G1]OOQQ,5;V,5;VOOQQ-E8i-E8iOFWQYO7+$QOOQQ7+%f7+%fO`QYO7+$oOF}QYO,5:rOG[QWO7+$oOGaQYO'#D[OOQQ'#DZ'#DZOITQYO'#D_OIYQYO'#D_OI_QYO'#D_OIdQ`O'#DgOIiQ`O'#DjOInQ`O'#DnOOQQ7+$x7+$xO`QYO,5:eO%TQYO'#ErOIsQWO,5<[OOQQ1G1u1G1uOJyQYO7+%wOKWQYO,5;_OOQO-E8q-E8qOAiQYO,5:vO%TQYO'#EtOKeQWO,5<iOKmQYO7+%zOOQP-E8s-E8sOKtQYO1G0hOOQO,5;b,5;bOOQO-E8t-E8tOLOQYO7+$aOLVQYO1G1gOOQQ,5;W,5;WOOQQ-E8j-E8jOLaQYO7+$eOOQO7+%i7+%iO`QYO,59XOMWQYO<<HZOOQQ<<HZ<<HZO/}QYO'#EoONaQYO,59vO!!TQYO,59yO!!YQYO,59yO!!_QYO,59yO!!dQYO,5:RO%TQYO,5:UO!#RQbO,5:YO!#YQYO1G0POOQO,5;^,5;^OOQO-E8p-E8pO!#dQYO<<IcOOQQ<<Ic<<IcOOQO1G0b1G0bOOQO,5;`,5;`OOQO-E8r-E8rO!&fQYO'#E^OOQQ<<If<<IfO`QYO<<IfO`QYO<<G{O!']QYO1G.sOOQQ,5;Z,5;ZOOQQ-E8m-E8mO!'gQYO1G/eOOQQ1G/e1G/eO!'lQbO'#D]O!'}Q`O'#D[O!(YQ`O1G/mO!(_QWO'#DmO!(dQ`O'#FhOOQO'#Dl'#DlO!(lQ`O1G/pOOQO'#Dq'#DqO!(qQ`O'#FjOOQO'#Dp'#DpO!(yQ`O1G/tOOQQAN?QAN?QO!)OQYOAN=gOOQQ7+%P7+%PO!)uQ`O,59vOOQQ7+%X7+%XO!!dQYO,5:XO%TQYO'#EpO!*QQ`O,5<SOOQQ7+%[7+%[O!!dQYO'#EqO!*YQ`O,5<UO!*bQ`O7+%`OOQO1G/s1G/sOOQO,5;[,5;[OOQO-E8n-E8nOOQO,5;],5;]OOQO-E8o-E8oOAiQYO<<HzOOQQAN>fAN>fO/}QYO'#EoO!!dQYO<<HzO!*gQ`O7+%`O!*lQ`O1G/tO!#RQbO,5:YO!*qQ`O'#Dn",
|
|
108632
|
+
stateData: "!+U~O#rOS#sOSPOSQOS~OTsOZVO[UOdtOhvOivOr}Os}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$k`O$laO$mbO~OTsO[UOdtOhvOivOr}Os}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$k`O$laO$mbO~OZ!TO#]!UO~P#VO#nRO#oRO~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO!i!fO#z!dOv$bX~O#l#tX$t#tX~P%]O$i!mOT$YXZ$YX[$YXd$YXh$YXi$YXr$YXs$YXv$YX!T$YX!U$YX!V$YX!X$YX!c$YX!g$YX!i$YX!p$YX!w$YX#S$YX#n$YX#o$YX$Z$YX$j$YX$k$YX$l$YX$m$YX~O#nRO#oROZ!PX[!PX]!PX^!PX_!PX`!PXn!PXp!PXr!PXs!PXt!PXv!PX{!PX!i!PX#l!PX#p!PX#z!PX$t!PX$O!PXx!PX#}!PX!g!PXe!PXb!PX#R!PXf!PXl!PX~Ov!pO~O$j`O$k`O~O#p!uOZ#vX[#vX]#vX^#vX_#vX`#vXn#vXp#vXr#vXs#vXt#vXv#vX{#vX!i#vX#l#vX#z#vX$t#vX$O#vXx#vX#}#vX!g#vXe#vXb#vX#R#vXf#vXl#vX~O!g$eP~P`Ov!xO~O#m!yO$j`O$k`O#R$sP~Op#VO~Op#WOv!uX~O$t#ZO~O#luX$OuX$tuXxuX#}uX!guXeuXbuX#RuXfuXluX~P%]O$O#]O#l$UXx$UX~O#l#[X~P&hOv#_O~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O$]WX~O`WXxWX$OWX~P.lO`#dO~O$O#eOb#xX~Ob#hO~O#nRO#oRO$ZZO~OTsOZVO[UOdtOhvOivOr}Os}O!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$k`O$laO$mbO~Ov#rO~P0YO|#tO~O{!lO!i!fO#z!dOZya[ya]ya^ya_ya`yanyapyaryasyatyav$bX#lya$tya$Oyaxya#}ya!gyaeyabya#Ryafyalya~Ox$eP~P`Ox#}O#}$OO~P%]O#}$OO$O$PO!g$eX~P%]O!g$RO~O#nRO#oROx$qP~OZ#`O[#`O]#`O^#`O_#`O#m!yO#z#`O#{#`O~O$]#WX~P4|O$]$YO~O$O$ZO#R$sX~O#R$]O~Oe$^O~P%]O$O$`Ol$SX~Ol$bO~O!W$cO~O!T$dO~O#l!xa$t!xa$O!xax!xa#}!xa!g!xae!xab!xa#R!xaf!xal!xa~P%]O$O#]O#l$Uax$Ua~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O~O`Wa$]WaxWa$OWa~P7sO$O#eOb#xa~OZ!^O[!^O]!_O^!_O_!`O{!lO!i!fO#z!dOv$bX~O`qinqipqirqisqitqi#lqi$tqi$Oqixqi#}qi!gqieqibqi#Rqifqilqi~P8zO_!`O{!lO!i!fO#z!dOZyi[yi`yinyipyiryisyityiv$bX#lyi$tyi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O]!_O^!_O~P:rO]yi^yi~P:rO{!lO!i!fO#z!dOZyi[yi]yi^yi_yi`yinyipyiryisyityiv$bX#lyi$tyi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O!g$pO~P%]O`!kOp!iOr!]Os!]Ot!jOnmi#lmi$tmi$Omixmi#}mi!gmiemibmi#Rmifmilmi~P8zO`!kOr!]Os!]Ot!jOnoipoi#loi$toi$Ooixoi#}oi!goieoiboi#Roifoiloi~P8zO`!kOn!hOp$qOr!]Os!]Ot!jO~P8zO!S$vO!V$wO!X$xO![$yO!_$zO!c${O#nRO#oRO$ZZO~OZ#bX[#bX]#bX^#bX_#bX`#bXn#bXp#bXr#bXs#bXt#bXv#bXx#bX{#bX!i#bX#n#bX#o#bX#p#bX#z#bX$O#bX~P.lO$O$POx$eX~P%]O$]$}O~O$O%OOx$dX~Ox%QO~O$O$PO!g$eax$ea~O$]%UOx#OX$O#OX~O$O%VOx$qX~Ox%XO~O$]#Wa~P4|O#m!yO$j`O$k`O~O$O$ZO#R$sa~O$O$`Ol$Sa~O!U%cO~OxrO~O#}%dObaX$OaX~P%]O#lSq$tSq$OSqxSq#}Sq!gSqeSqbSq#RSqfSqlSq~P%]Ox#}O#}$OO$OuX~P%]Ox%fO~O#z%gOZ!OX[!OX]!OX^!OX_!OX`!OXn!OXp!OXr!OXs!OXt!OXv!OX{!OX!i!OX#l!OX$t!OX$O!OXx!OX#}!OX!g!OXe!OXb!OX#R!OXf!OXl!OX~Op%iO~Op%jO~Op%kO~O!]%lO~O!]%mO~O!]%nO~O$O%OOx$da~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO#z!dOv$bX~Ox%sO!g%sO!i%rO~PI{O!g#ga$O#gax#ga~P%]O$O%VOx$qa~O#P%yO~P`O#R#Ui$O#Ui~P%]Of%zO~P%]Ol$Ti$O$Ti~P%]O#lgq$tgq$Ogqxgq#}gq!ggqegqbgq#Rgqfgqlgq~P%]O`qynqypqyrqysqytqy#lqy$tqy$Oqyxqy#}qy!gqyeqybqy#Rqyfqylqy~P8zO#z%gOZ!Oa[!Oa]!Oa^!Oa_!Oa`!Oan!Oap!Oar!Oas!Oat!Oav!Oa{!Oa!i!Oa#l!Oa$t!Oa$O!Oax!Oa#}!Oa!g!Oae!Oab!Oa#R!Oaf!Oal!Oa~O!T&OO~O!W&OO~O!T&PO~O!S$vO!V$wO!X$xO![$yO!_$zO!c&uO#nRO#oRO$ZZO~O!Y$^P~P!!dOx!mi$O!mi~P%]OT$aXZ$aX[$aX]!yy^!yy_!yy`!yyd$aXh$aXi$aXn!yyp!yyr$aXs$aXt!yyv$aX{!yy!T$aX!U$aX!V$aX!X$aX!c$aX!g$aX!i$aX!p$aX!w$aX#S$aX#l!yy#n$aX#o$aX#z!yy$Z$aX$i$aX$j$aX$k$aX$l$aX$m$aX$t!yy$O!yyx!yy#}!yye!yyb!yy#R!yyf!yyl!yy~O#l#QX$t#QX$O#QXx#QX#}#QX!g#QXe#QXb#QX#R#QXf#QXl#QX~P%]Obai$Oai~P%]O!U&_O~O#nRO#oRO!Y!PX#z!PX$O!PX~O#z&pO!Y!OX$O!OX~O!Y&aO~O$]&bO~O$O&cO!Y$[X~O!Y&eO~O$O&fO!Y$^X~O!Y&hO~O#lc!R$tc!R$Oc!Rxc!R#}c!R!gc!Rec!Rbc!R#Rc!Rfc!Rlc!R~P%]O#z&pO!Y!Oa$O!Oa~O$O&cO!Y$[a~O$O&fO!Y$^a~O$_&nO~O$_&qO~O!Y&rO~O!]&tO~O$Z$j~$j$k_^$i#zQP]Q~",
|
|
108633
|
+
goto: "E}$tPPPP$uP%n%q%w&Z'tPPPPPP'}P$uPPP$uPP(Q(TP$uP$uP$uPPP(ZP(fP$u$uPP(o)U)a*n)UPPPPPPP)UPP)UP+s+v)UP+|,S$uP$uP$u,Z-S-V-]-SP-e.^-e-e/^0VP$u1O$u1w1w2p2sP2yPP1w3P3V/Y3ZPP3cP3f3m3s3y4P5[5f5l5r5x6P6V6]6cPPPPPPPP6i6r8y9r:k:nPP:rPP:x:{;t<m<p<t<y=h>W>wP?pP?sP?w@jA]BUB[B_$uBeBePPPPPC^8yDVEOEREz!mjOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR![SQ!YSR$m#eS!WS#eS#Qw$`W#w!p!x%O%VT&T%m&c#WXOPQWYilu|}!]!a!b!c!e!g!h!i!j!k#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&Q&b&f&n&p&q&tb!VSw!x#e$`%O%V%m&cU#a!V#b#uR#u!pU#a!V#b#uT$W!z$XR$l#cR#UwQ#SwR%`$`U!RQ#_#rQ#s!kR$g#]QrQQ$i#_R$s#rQ$|#tQ%t%UQ&S%lU&X%n&f&tQ&i&bT&o&n&qc$u#t%U%l%n&b&f&n&q&t!lkOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ#m!eU$t#t%U&nS%|%g&p]&R%l%n&b&f&q&t#V[OPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&b&f&n&p&q&tR&W%mQ&U%mR&j&cQ&[%nR&s&tS&Y%n&tR&l&f!m]OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#|!pQ#y!pR%p%OS#x!p%OT$S!x%V!meOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!leOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!rbT!{o$Z!mcOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mdOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mhOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mpOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$V!xQ$T!xR%u%VQ%x%XR&]%yQ!}oR%[$ZT!|o$ZS!zo$ZT$W!z$XRrQS#b!V#uR$j#bQ#f!YR$n#fQ$a#SR%a$aQ#^!RR$h#^!vYOPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%y%z&nS!oY&Q_&Q%l%n&b&f&p&q&tQ%h$tS%}%h&`R&`&RQ&d&UR&k&dQ&g&YR&m&gQ%P#yR%q%PS$Q!v#vR%T$QQ%W$TR%v%WQ$X!zR%Y$XQ$[!}R%]$[Q#[!PR$f#[QrOQ!PPR$e#ZUTOP#ZW!QQ!k#]#_Q!nWQ!tiQ!vlQ#PuQ#X|Q#Y}Q#i!]Q#j!aQ#k!bQ#l!cQ#n!gQ#o!hQ#p!iQ#q!jQ#v!pQ$k#cQ$o#gQ$r#rQ%R$OQ%S$PQ%Z$YQ%^$^Q%_$_Q%b$bQ%e$qQ%o$}S%w%X%yQ%{%dR&^%z!mqOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mSOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR!ZST!XS#eQ#c!WR$_#QR#g![!muOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mwOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#TwT#Rw$`V!SQ#_#r!X!aT!Q!t!v#P#X#Y#i#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!Z!bT!Q!t!v#P#X#Y#i#j#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!]!cT!Q!t!v#P#X#Y#i#j#k#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!mWOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR&V%mT&Z%n&t!a!eT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!a!gT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!m^OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!q^R!scR#z!pQ!wlR#{!p!mfOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mlOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mmOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$U!x!moOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#Oo",
|
|
108634
|
+
nodeNames: "⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName BacktickIdentifier SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not",
|
|
108635
|
+
maxTerm: 174,
|
|
108636
|
+
context: variableTracker,
|
|
108637
|
+
nodeProps: [
|
|
108638
|
+
["group", -17,4,19,23,29,31,33,41,42,68,70,72,85,86,88,89,90,97,"Expr",47,"Expr Expr",-5,78,79,80,81,82,"Expr Literal"],
|
|
108639
|
+
["closedBy", 38,")",71,"]",96,"}"],
|
|
108640
|
+
["openedBy", 40,"(",69,"[",95,"{"]
|
|
108641
|
+
],
|
|
108642
|
+
propSources: [feelHighlighting],
|
|
108643
|
+
skippedNodes: [0,1,2],
|
|
108644
|
+
repeatNodeCount: 14,
|
|
108645
|
+
tokenData: "2t~RvXY#iYZ$^Z[#i]^$^pq#iqr$crs$nwx*[xy*ayz*fz{*k{|*x|}*}}!O+S!O!P+a!P!Q,k!Q![.f![!].}!]!^/S!^!_/X!_!`$i!`!a/h!b!c/r!}#O/w#P#Q/|#Q#R*s#S#T0R#o#p2j#q#r2o$f$g#i#BY#BZ#i$IS$I_#i$I|$I}$^$I}$JO$^$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~#nY#r~XY#iZ[#ipq#i$f$g#i#BY#BZ#i$IS$I_#i$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~$cO#s~~$fP!_!`$i~$nOr~~$qXOY$nYZ%^Zr$nrs'us#O$n#O#P'|#P;'S$n;'S;=`)c<%lO$n~%aVOr%^rs%vs#O%^#O#P%{#P;'S%^;'S;=`'S<%lO%^~%{O$j~~&OWOr%^rs&hs#O%^#O#P%{#P;'S%^;'S;=`'Y;=`<%l%^<%lO%^~&mV$j~Or%^rs%vs#O%^#O#P%{#P;'S%^;'S;=`'S<%lO%^~'VP;=`<%l%^~']WOr%^rs%vs#O%^#O#P%{#P;'S%^;'S;=`'S;=`<%l%^<%lO%^~'|O$j~$k~~(PYOY$nYZ$nZr$nrs(os#O$n#O#P'|#P;'S$n;'S;=`)i;=`<%l$n<%lO$n~(vX$j~$k~OY$nYZ%^Zr$nrs'us#O$n#O#P'|#P;'S$n;'S;=`)c<%lO$n~)fP;=`<%l$n~)lYOY$nYZ%^Zr$nrs'us#O$n#O#P'|#P;'S$n;'S;=`)c;=`<%l$n<%lO$n~*aO#{~~*fOv~~*kOx~~*pP^~z{*s~*xO_~~*}O[~~+SO$O~R+XPZP!`!a+[Q+aO$_Q~+fQ#z~!O!P+l!Q![+q~+qO#}~~+vR$i~!Q![+q!g!h,P#X#Y,P~,SR{|,]}!O,]!Q![,c~,`P!Q![,c~,hP$i~!Q![,c~,pQ]~z{,v!P!Q-}~,yTOz,vz{-Y{;'S,v;'S;=`-w<%lO,v~-]VOz,vz{-Y{!P,v!P!Q-r!Q;'S,v;'S;=`-w<%lO,v~-wOQ~~-zP;=`<%l,v~.SSP~OY-}Z;'S-};'S;=`.`<%lO-}~.cP;=`<%l-}~.kS$i~!O!P.w!Q![.f!g!h,P#X#Y,P~.zP!Q![+q~/SO$]~~/XO$t~R/`P!]QsP!_!`/cP/hOsPR/oP!YQsP!_!`/c~/wO$m~~/|O!i~~0RO!g~~0UVO#O0R#O#P0k#P#S0R#S#T1r#T;'S0R;'S;=`1w<%lO0R~0nWO#O0R#O#P0k#P#S0R#S#T1W#T;'S0R;'S;=`1};=`<%l0R<%lO0R~1]V$Z~O#O0R#O#P0k#P#S0R#S#T1r#T;'S0R;'S;=`1w<%lO0R~1wO$Z~~1zP;=`<%l0R~2QWO#O0R#O#P0k#P#S0R#S#T1r#T;'S0R;'S;=`1w;=`<%l0R<%lO0R~2oO#S~~2tO#R~",
|
|
108646
|
+
tokenizers: [propertyIdentifiers, identifiers$1, insertSemicolon, 0, 1],
|
|
108647
|
+
topRules: {"Expression":[0,3],"Expressions":[1,102],"UnaryTests":[2,103]},
|
|
108648
|
+
dialects: {camunda: 2568},
|
|
108649
|
+
dynamicPrecedences: {"31":-1,"68":1,"72":-1,"74":-1},
|
|
108650
|
+
specialized: [{term: 122, get: (value) => spec_identifier[value] || -1}],
|
|
108651
|
+
tokenPrec: 2571
|
|
108652
|
+
});
|
|
108653
|
+
|
|
108654
|
+
/**
|
|
108655
|
+
* @typedef {import('@lezer/common').Tree} Tree
|
|
108656
|
+
* @typedef {import('@codemirror/lint').Diagnostic} LintMessage
|
|
108657
|
+
*/
|
|
108658
|
+
|
|
108659
|
+
/**
|
|
108660
|
+
* Create an array of syntax errors in the given tree.
|
|
108661
|
+
*
|
|
108662
|
+
* @param {Tree} syntaxTree
|
|
108663
|
+
* @returns {LintMessage[]} array of syntax errors
|
|
108664
|
+
*/
|
|
108665
|
+
function lintSyntax(syntaxTree) {
|
|
108666
|
+
|
|
108667
|
+
const lintMessages = [];
|
|
108668
|
+
|
|
108669
|
+
syntaxTree.iterate({
|
|
108670
|
+
enter: ref => {
|
|
108671
|
+
const node = ref.node;
|
|
108672
|
+
|
|
108673
|
+
if (!node.type.isError) {
|
|
108674
|
+
return;
|
|
108675
|
+
}
|
|
108676
|
+
|
|
108677
|
+
const parent = node.parent;
|
|
108678
|
+
const next = getNextNode(node);
|
|
108679
|
+
|
|
108680
|
+
const message = {
|
|
108681
|
+
from: node.from,
|
|
108682
|
+
to: node.to,
|
|
108683
|
+
severity: 'error',
|
|
108684
|
+
type: 'Syntax Error'
|
|
108685
|
+
};
|
|
108686
|
+
|
|
108687
|
+
if (node.from !== node.to) {
|
|
108688
|
+
message.message = `Unrecognized token in <${parent.name}>`;
|
|
108689
|
+
} else if (next) {
|
|
108690
|
+
message.message = `Unrecognized token <${next.name}> in <${parent.name}>`;
|
|
108691
|
+
message.to = next.to;
|
|
108692
|
+
} else {
|
|
108693
|
+
const before = parent.enterUnfinishedNodesBefore(node.to);
|
|
108694
|
+
message.message = `Incomplete <${ (before || parent).name }>`;
|
|
108695
|
+
}
|
|
108696
|
+
|
|
108697
|
+
lintMessages.push(message);
|
|
108698
|
+
}
|
|
108699
|
+
});
|
|
108700
|
+
|
|
108701
|
+
return lintMessages;
|
|
108702
|
+
}
|
|
108703
|
+
|
|
108704
|
+
function getNextNode(node) {
|
|
108705
|
+
if (!node) {
|
|
108706
|
+
return null;
|
|
108707
|
+
}
|
|
108708
|
+
|
|
108709
|
+
return node.nextSibling || getNextNode(node.parent);
|
|
108710
|
+
}
|
|
108711
|
+
|
|
108712
|
+
/**
|
|
108713
|
+
* @typedef {object} Context
|
|
108714
|
+
* @property {function} report
|
|
108715
|
+
* @property {(from: number, to: number) => string} readContent
|
|
108716
|
+
* @property {(from: number, to: number, content: string) => void} updateContent
|
|
108717
|
+
*/
|
|
108718
|
+
|
|
108719
|
+
const RULE_NAME = 'first-item';
|
|
108720
|
+
|
|
108721
|
+
var firstItem = {
|
|
108722
|
+
create(/** @type {Context} */ context) {
|
|
108723
|
+
return {
|
|
108724
|
+
enter(node) {
|
|
108725
|
+
if (node.name !== 'FilterExpression') {
|
|
108726
|
+
return;
|
|
108727
|
+
}
|
|
108728
|
+
|
|
108729
|
+
const content = context.readContent(node.from, node.to);
|
|
108730
|
+
|
|
108731
|
+
if (zeroIndexPattern().test(content)) {
|
|
108732
|
+
const {
|
|
108733
|
+
from,
|
|
108734
|
+
to
|
|
108735
|
+
} = node;
|
|
108736
|
+
|
|
108737
|
+
context.report({
|
|
108738
|
+
from,
|
|
108739
|
+
to,
|
|
108740
|
+
message: 'First item is accessed via [1]',
|
|
108741
|
+
severity: 'warning',
|
|
108742
|
+
type: RULE_NAME,
|
|
108743
|
+
actions: [
|
|
108744
|
+
{
|
|
108745
|
+
name: 'fix',
|
|
108746
|
+
apply(_, start = from, end = to) {
|
|
108747
|
+
context.updateContent(start, end, content.replace(zeroIndexPattern(), '[1]'));
|
|
108748
|
+
}
|
|
108749
|
+
}
|
|
108750
|
+
]
|
|
108751
|
+
});
|
|
108752
|
+
}
|
|
108753
|
+
}
|
|
108754
|
+
};
|
|
108755
|
+
}
|
|
108756
|
+
};
|
|
108757
|
+
|
|
108758
|
+
function zeroIndexPattern() {
|
|
108759
|
+
return /\[\s*0\s*\]$/;
|
|
108760
|
+
}
|
|
108761
|
+
|
|
108762
|
+
/**
|
|
108763
|
+
* @typedef {import('@lezer/common').Tree} Tree
|
|
108764
|
+
* @typedef {import('@codemirror/lint').Diagnostic} LintMessage
|
|
108765
|
+
* @typedef {import('./index').LintAllContext} LintAllContext
|
|
108766
|
+
*/
|
|
108767
|
+
|
|
108768
|
+
const RULES = [
|
|
108769
|
+
firstItem
|
|
108770
|
+
];
|
|
108771
|
+
|
|
108772
|
+
/**
|
|
108773
|
+
* Create an array of messages reported from rules in the given tree.
|
|
108774
|
+
*
|
|
108775
|
+
* @param {LintAllContext} context
|
|
108776
|
+
* @returns {LintMessage[]} array of syntax errors
|
|
108777
|
+
*/
|
|
108778
|
+
function lintRules(context) {
|
|
108779
|
+
const {
|
|
108780
|
+
readContent,
|
|
108781
|
+
syntaxTree,
|
|
108782
|
+
updateContent
|
|
108783
|
+
} = context;
|
|
108784
|
+
|
|
108785
|
+
const lintMessages = [];
|
|
108786
|
+
|
|
108787
|
+
const ruleContext = {
|
|
108788
|
+
readContent,
|
|
108789
|
+
report: message => {
|
|
108790
|
+
lintMessages.push(message);
|
|
108791
|
+
},
|
|
108792
|
+
updateContent
|
|
108793
|
+
};
|
|
108794
|
+
|
|
108795
|
+
const rules = RULES.map(rule => rule.create(ruleContext));
|
|
108796
|
+
|
|
108797
|
+
syntaxTree.iterate({
|
|
108798
|
+
enter: ref => {
|
|
108799
|
+
for (const rule of rules) {
|
|
108800
|
+
rule.enter && rule.enter(ref);
|
|
108801
|
+
}
|
|
108802
|
+
},
|
|
108803
|
+
leave: ref => {
|
|
108804
|
+
for (const rule of rules) {
|
|
108805
|
+
rule.leave && rule.leave(ref);
|
|
108806
|
+
}
|
|
108807
|
+
}
|
|
108808
|
+
});
|
|
108809
|
+
|
|
108810
|
+
return lintMessages;
|
|
108811
|
+
}
|
|
108812
|
+
|
|
108813
|
+
/**
|
|
108814
|
+
* @typedef {import('@lezer/common').Tree} Tree
|
|
108815
|
+
* @typedef {import('@codemirror/lint').Diagnostic} LintMessage
|
|
108816
|
+
*/
|
|
108817
|
+
|
|
108818
|
+
/**
|
|
108819
|
+
* @typedef {object} LintAllContext
|
|
108820
|
+
* @property {Tree} syntaxTree
|
|
108821
|
+
* @property {(from: number, to: number) => string} readContent
|
|
108822
|
+
* @property {(from: number, to: number, content: string) => void} updateContent
|
|
108823
|
+
*/
|
|
108824
|
+
|
|
108825
|
+
/**
|
|
108826
|
+
* Generates lint messages for the given context.
|
|
108827
|
+
*
|
|
108828
|
+
* @param {LintAllContext} context
|
|
108829
|
+
* @returns {LintMessage[]} array of all lint messages
|
|
108830
|
+
*/
|
|
108831
|
+
function lintAll(context) {
|
|
108832
|
+
|
|
108833
|
+
const lintMessages = [
|
|
108834
|
+
...lintSyntax(context.syntaxTree),
|
|
108835
|
+
...lintRules(context)
|
|
108836
|
+
];
|
|
108837
|
+
|
|
108838
|
+
return lintMessages;
|
|
108839
|
+
}
|
|
108840
|
+
|
|
108841
|
+
/**
|
|
108842
|
+
* CodeMirror extension that provides linting for FEEL expressions.
|
|
108843
|
+
*
|
|
108844
|
+
* @returns {import('@codemirror/lint').LintSource} CodeMirror linting source
|
|
108845
|
+
*/
|
|
108846
|
+
const cmFeelLinter = () => editorView => {
|
|
108847
|
+
|
|
108848
|
+
// don't lint if the Editor is empty
|
|
108849
|
+
if (editorView.state.doc.length === 0) {
|
|
108850
|
+
return [];
|
|
108851
|
+
}
|
|
108852
|
+
|
|
108853
|
+
const tree = syntaxTree(editorView.state);
|
|
108854
|
+
|
|
108855
|
+
const messages = lintAll({
|
|
108856
|
+
syntaxTree: tree,
|
|
108857
|
+
readContent: (from, to) => editorView.state.sliceDoc(from, to),
|
|
108858
|
+
updateContent: (from, to, content) => editorView.dispatch({
|
|
108859
|
+
changes: { from, to, insert: content }
|
|
108860
|
+
})
|
|
108861
|
+
});
|
|
108862
|
+
|
|
108863
|
+
return messages.map(message => ({
|
|
108864
|
+
...message,
|
|
108865
|
+
source: message.type
|
|
108866
|
+
}));
|
|
108867
|
+
};
|
|
108868
|
+
|
|
107337
108869
|
/**
|
|
107338
108870
|
* A collection of FEEL-related [snippets](#autocomplete.snippet).
|
|
107339
108871
|
*/
|
|
@@ -107525,7 +109057,7 @@
|
|
|
107525
109057
|
* extended with highlighting and indentation information.
|
|
107526
109058
|
*/
|
|
107527
109059
|
const feelLanguage = LRLanguage.define({
|
|
107528
|
-
parser: parser
|
|
109060
|
+
parser: parser.configure({
|
|
107529
109061
|
props: [indentNodeProp.add({
|
|
107530
109062
|
'Context': delimitedIndent({
|
|
107531
109063
|
closing: '}'
|
|
@@ -117617,16 +119149,16 @@
|
|
|
117617
119149
|
parserDialect: 'camunda'
|
|
117618
119150
|
};
|
|
117619
119151
|
|
|
117620
|
-
/**
|
|
117621
|
-
* @param {Object} props
|
|
117622
|
-
* @param {djs.model.Base|Array<djs.model.Base>} [props.element]
|
|
117623
|
-
* @param {Injector} props.injector
|
|
117624
|
-
* @param { (djs.model.Base) => Array<PropertiesProvider> } props.getProviders
|
|
117625
|
-
* @param {Object} props.layoutConfig
|
|
117626
|
-
* @param {Object} props.descriptionConfig
|
|
117627
|
-
* @param {Object} props.tooltipConfig
|
|
117628
|
-
* @param {HTMLElement} props.feelPopupContainer
|
|
117629
|
-
* @param {Function} props.getFeelPopupLinks
|
|
119152
|
+
/**
|
|
119153
|
+
* @param {Object} props
|
|
119154
|
+
* @param {djs.model.Base|Array<djs.model.Base>} [props.element]
|
|
119155
|
+
* @param {Injector} props.injector
|
|
119156
|
+
* @param { (djs.model.Base) => Array<PropertiesProvider> } props.getProviders
|
|
119157
|
+
* @param {Object} props.layoutConfig
|
|
119158
|
+
* @param {Object} props.descriptionConfig
|
|
119159
|
+
* @param {Object} props.tooltipConfig
|
|
119160
|
+
* @param {HTMLElement} props.feelPopupContainer
|
|
119161
|
+
* @param {Function} props.getFeelPopupLinks
|
|
117630
119162
|
*/
|
|
117631
119163
|
function BpmnPropertiesPanel(props) {
|
|
117632
119164
|
const {
|
|
@@ -117648,8 +119180,8 @@
|
|
|
117648
119180
|
});
|
|
117649
119181
|
const selectedElement = state.selectedElement;
|
|
117650
119182
|
|
|
117651
|
-
/**
|
|
117652
|
-
* @param {djs.model.Base | Array<djs.model.Base>} element
|
|
119183
|
+
/**
|
|
119184
|
+
* @param {djs.model.Base | Array<djs.model.Base>} element
|
|
117653
119185
|
*/
|
|
117654
119186
|
const _update = element => {
|
|
117655
119187
|
if (!element) {
|
|
@@ -117837,10 +119369,10 @@
|
|
|
117837
119369
|
|
|
117838
119370
|
const DEFAULT_PRIORITY$1 = 1000;
|
|
117839
119371
|
|
|
117840
|
-
/**
|
|
117841
|
-
* @typedef { import('@bpmn-io/properties-panel').GroupDefinition } GroupDefinition
|
|
117842
|
-
* @typedef { import('@bpmn-io/properties-panel').ListGroupDefinition } ListGroupDefinition
|
|
117843
|
-
* @typedef { { getGroups: (ModdleElement) => (Array{GroupDefinition|ListGroupDefinition}) => Array{GroupDefinition|ListGroupDefinition}) } PropertiesProvider
|
|
119372
|
+
/**
|
|
119373
|
+
* @typedef { import('@bpmn-io/properties-panel').GroupDefinition } GroupDefinition
|
|
119374
|
+
* @typedef { import('@bpmn-io/properties-panel').ListGroupDefinition } ListGroupDefinition
|
|
119375
|
+
* @typedef { { getGroups: (ModdleElement) => (Array{GroupDefinition|ListGroupDefinition}) => Array{GroupDefinition|ListGroupDefinition}) } PropertiesProvider
|
|
117844
119376
|
*/
|
|
117845
119377
|
|
|
117846
119378
|
class BpmnPropertiesPanelRenderer {
|
|
@@ -117879,10 +119411,10 @@
|
|
|
117879
119411
|
});
|
|
117880
119412
|
}
|
|
117881
119413
|
|
|
117882
|
-
/**
|
|
117883
|
-
* Attach the properties panel to a parent node.
|
|
117884
|
-
*
|
|
117885
|
-
* @param {HTMLElement} container
|
|
119414
|
+
/**
|
|
119415
|
+
* Attach the properties panel to a parent node.
|
|
119416
|
+
*
|
|
119417
|
+
* @param {HTMLElement} container
|
|
117886
119418
|
*/
|
|
117887
119419
|
attachTo(container) {
|
|
117888
119420
|
if (!container) {
|
|
@@ -117907,8 +119439,8 @@
|
|
|
117907
119439
|
this._eventBus.fire('propertiesPanel.attach');
|
|
117908
119440
|
}
|
|
117909
119441
|
|
|
117910
|
-
/**
|
|
117911
|
-
* Detach the properties panel from its parent node.
|
|
119442
|
+
/**
|
|
119443
|
+
* Detach the properties panel from its parent node.
|
|
117912
119444
|
*/
|
|
117913
119445
|
detach() {
|
|
117914
119446
|
const parentNode = this._container.parentNode;
|
|
@@ -117918,11 +119450,11 @@
|
|
|
117918
119450
|
}
|
|
117919
119451
|
}
|
|
117920
119452
|
|
|
117921
|
-
/**
|
|
117922
|
-
* Register a new properties provider to the properties panel.
|
|
117923
|
-
*
|
|
117924
|
-
* @param {Number} [priority]
|
|
117925
|
-
* @param {PropertiesProvider} provider
|
|
119453
|
+
/**
|
|
119454
|
+
* Register a new properties provider to the properties panel.
|
|
119455
|
+
*
|
|
119456
|
+
* @param {Number} [priority]
|
|
119457
|
+
* @param {PropertiesProvider} provider
|
|
117926
119458
|
*/
|
|
117927
119459
|
registerProvider(priority, provider) {
|
|
117928
119460
|
if (!provider) {
|
|
@@ -117939,9 +119471,9 @@
|
|
|
117939
119471
|
this._eventBus.fire('propertiesPanel.providersChanged');
|
|
117940
119472
|
}
|
|
117941
119473
|
|
|
117942
|
-
/**
|
|
117943
|
-
* Updates the layout of the properties panel.
|
|
117944
|
-
* @param {Object} layout
|
|
119474
|
+
/**
|
|
119475
|
+
* Updates the layout of the properties panel.
|
|
119476
|
+
* @param {Object} layout
|
|
117945
119477
|
*/
|
|
117946
119478
|
setLayout(layout) {
|
|
117947
119479
|
this._eventBus.fire('propertiesPanel.setLayout', {
|
|
@@ -117991,12 +119523,12 @@
|
|
|
117991
119523
|
return element && element.isImplicit;
|
|
117992
119524
|
}
|
|
117993
119525
|
|
|
117994
|
-
/**
|
|
117995
|
-
* Setup keyboard bindings (undo, redo) on the given container.
|
|
117996
|
-
*
|
|
117997
|
-
* @param {Element} container
|
|
117998
|
-
* @param {EventBus} eventBus
|
|
117999
|
-
* @param {CommandStack} commandStack
|
|
119526
|
+
/**
|
|
119527
|
+
* Setup keyboard bindings (undo, redo) on the given container.
|
|
119528
|
+
*
|
|
119529
|
+
* @param {Element} container
|
|
119530
|
+
* @param {EventBus} eventBus
|
|
119531
|
+
* @param {CommandStack} commandStack
|
|
118000
119532
|
*/
|
|
118001
119533
|
function setupKeyboard(container, eventBus, commandStack) {
|
|
118002
119534
|
function cancel(event) {
|
|
@@ -118021,14 +119553,14 @@
|
|
|
118021
119553
|
});
|
|
118022
119554
|
}
|
|
118023
119555
|
|
|
118024
|
-
/**
|
|
118025
|
-
* A handler that combines and executes multiple commands.
|
|
118026
|
-
*
|
|
118027
|
-
* All updates are bundled on the command stack and executed in one step.
|
|
118028
|
-
* This also makes it possible to revert the changes in one step.
|
|
118029
|
-
*
|
|
118030
|
-
* Example use case: remove the camunda:formKey attribute and in addition
|
|
118031
|
-
* add all form fields needed for the camunda:formData property.
|
|
119556
|
+
/**
|
|
119557
|
+
* A handler that combines and executes multiple commands.
|
|
119558
|
+
*
|
|
119559
|
+
* All updates are bundled on the command stack and executed in one step.
|
|
119560
|
+
* This also makes it possible to revert the changes in one step.
|
|
119561
|
+
*
|
|
119562
|
+
* Example use case: remove the camunda:formKey attribute and in addition
|
|
119563
|
+
* add all form fields needed for the camunda:formData property.
|
|
118032
119564
|
*/
|
|
118033
119565
|
let MultiCommandHandler$1 = class MultiCommandHandler {
|
|
118034
119566
|
constructor(commandStack) {
|
|
@@ -118064,15 +119596,15 @@
|
|
|
118064
119596
|
propertiesPanel: ['type', BpmnPropertiesPanelRenderer]
|
|
118065
119597
|
};
|
|
118066
119598
|
|
|
118067
|
-
/**
|
|
118068
|
-
* Create a new element and (optionally) set its parent.
|
|
118069
|
-
*
|
|
118070
|
-
* @param {string} type
|
|
118071
|
-
* @param {Object} properties
|
|
118072
|
-
* @param {import('bpmn-js/lib/model/Types').ModdleElement} parent
|
|
118073
|
-
* @param {import('bpmn-js/lib/features/modeling/BpmnFactory').default} bpmnFactory
|
|
118074
|
-
*
|
|
118075
|
-
* @returns {import('bpmn-js/lib/model/Types').ModdleElement}
|
|
119599
|
+
/**
|
|
119600
|
+
* Create a new element and (optionally) set its parent.
|
|
119601
|
+
*
|
|
119602
|
+
* @param {string} type
|
|
119603
|
+
* @param {Object} properties
|
|
119604
|
+
* @param {import('bpmn-js/lib/model/Types').ModdleElement} parent
|
|
119605
|
+
* @param {import('bpmn-js/lib/features/modeling/BpmnFactory').default} bpmnFactory
|
|
119606
|
+
*
|
|
119607
|
+
* @returns {import('bpmn-js/lib/model/Types').ModdleElement}
|
|
118076
119608
|
*/
|
|
118077
119609
|
function createElement$6(type, properties, parent, bpmnFactory) {
|
|
118078
119610
|
const element = bpmnFactory.create(type, properties);
|
|
@@ -118082,8 +119614,8 @@
|
|
|
118082
119614
|
return element;
|
|
118083
119615
|
}
|
|
118084
119616
|
|
|
118085
|
-
/**
|
|
118086
|
-
* generate a semantic id with given prefix
|
|
119617
|
+
/**
|
|
119618
|
+
* generate a semantic id with given prefix
|
|
118087
119619
|
*/
|
|
118088
119620
|
function nextId$1(prefix) {
|
|
118089
119621
|
const ids = new Ids$1([32, 32, 1]);
|
|
@@ -118109,32 +119641,32 @@
|
|
|
118109
119641
|
return elements.find(element => element.id === id);
|
|
118110
119642
|
}
|
|
118111
119643
|
|
|
118112
|
-
/**
|
|
118113
|
-
* createOrUpdateFormalExpression - upserts a specific formal expression
|
|
118114
|
-
*
|
|
118115
|
-
* If the value is falsy, the formal expression is removed.
|
|
118116
|
-
*
|
|
118117
|
-
* @param {djs.model.Base} element
|
|
118118
|
-
* @param {ModdleElement} moddleElement
|
|
118119
|
-
* @param {string} propertyName
|
|
118120
|
-
* @param {string} newValue
|
|
118121
|
-
* @param {BpmnFactory} bpmnFactory
|
|
118122
|
-
* @param {CommandStack} commandStack
|
|
119644
|
+
/**
|
|
119645
|
+
* createOrUpdateFormalExpression - upserts a specific formal expression
|
|
119646
|
+
*
|
|
119647
|
+
* If the value is falsy, the formal expression is removed.
|
|
119648
|
+
*
|
|
119649
|
+
* @param {djs.model.Base} element
|
|
119650
|
+
* @param {ModdleElement} moddleElement
|
|
119651
|
+
* @param {string} propertyName
|
|
119652
|
+
* @param {string} newValue
|
|
119653
|
+
* @param {BpmnFactory} bpmnFactory
|
|
119654
|
+
* @param {CommandStack} commandStack
|
|
118123
119655
|
*/
|
|
118124
119656
|
function createOrUpdateFormalExpression(element, moddleElement, propertyName, newValue, bpmnFactory, commandStack) {
|
|
118125
119657
|
return commandStack.execute('element.updateModdleProperties', createOrUpdateFormalExpressionCommand(element, moddleElement, propertyName, newValue, bpmnFactory));
|
|
118126
119658
|
}
|
|
118127
119659
|
|
|
118128
|
-
/**
|
|
118129
|
-
* createOrUpdateFormalExpressionCommand - creates a command to upsert a specific formal expression
|
|
118130
|
-
*
|
|
118131
|
-
* If the value is falsy, the formal expression is removed.
|
|
118132
|
-
*
|
|
118133
|
-
* @param {djs.model.Base} element
|
|
118134
|
-
* @param {ModdleElement} moddleElement
|
|
118135
|
-
* @param {string} propertyName
|
|
118136
|
-
* @param {string} newValue
|
|
118137
|
-
* @param {BpmnFactory} bpmnFactory
|
|
119660
|
+
/**
|
|
119661
|
+
* createOrUpdateFormalExpressionCommand - creates a command to upsert a specific formal expression
|
|
119662
|
+
*
|
|
119663
|
+
* If the value is falsy, the formal expression is removed.
|
|
119664
|
+
*
|
|
119665
|
+
* @param {djs.model.Base} element
|
|
119666
|
+
* @param {ModdleElement} moddleElement
|
|
119667
|
+
* @param {string} propertyName
|
|
119668
|
+
* @param {string} newValue
|
|
119669
|
+
* @param {BpmnFactory} bpmnFactory
|
|
118138
119670
|
*/
|
|
118139
119671
|
function createOrUpdateFormalExpressionCommand(element, moddleElement, propertyName, newValue, bpmnFactory) {
|
|
118140
119672
|
const expressionProps = {};
|
|
@@ -118170,12 +119702,12 @@
|
|
|
118170
119702
|
};
|
|
118171
119703
|
}
|
|
118172
119704
|
|
|
118173
|
-
/**
|
|
118174
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119705
|
+
/**
|
|
119706
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
118175
119707
|
*/
|
|
118176
119708
|
|
|
118177
|
-
/**
|
|
118178
|
-
* @returns {Array<Entry>} entries
|
|
119709
|
+
/**
|
|
119710
|
+
* @returns {Array<Entry>} entries
|
|
118179
119711
|
*/
|
|
118180
119712
|
function AdHocCompletionProps$1(props) {
|
|
118181
119713
|
const {
|
|
@@ -118337,12 +119869,12 @@
|
|
|
118337
119869
|
return compensateEventDefinition && compensateEventDefinition.get('activityRef');
|
|
118338
119870
|
}
|
|
118339
119871
|
|
|
118340
|
-
/**
|
|
118341
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119872
|
+
/**
|
|
119873
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
118342
119874
|
*/
|
|
118343
119875
|
|
|
118344
|
-
/**
|
|
118345
|
-
* @returns {Array<Entry>} entries
|
|
119876
|
+
/**
|
|
119877
|
+
* @returns {Array<Entry>} entries
|
|
118346
119878
|
*/
|
|
118347
119879
|
function CompensationProps(props) {
|
|
118348
119880
|
const {
|
|
@@ -118452,12 +119984,12 @@
|
|
|
118452
119984
|
return getFlowElements(element, 'bpmn:BoundaryEvent');
|
|
118453
119985
|
}
|
|
118454
119986
|
|
|
118455
|
-
/**
|
|
118456
|
-
* Checks whether an Activity is attaching a CompensateEvent of the parent container.
|
|
118457
|
-
*
|
|
118458
|
-
* @param {ModdleElement} activity
|
|
118459
|
-
* @param {Array<ModdleElement>} boundaryEvents
|
|
118460
|
-
* @returns {Boolean}
|
|
119987
|
+
/**
|
|
119988
|
+
* Checks whether an Activity is attaching a CompensateEvent of the parent container.
|
|
119989
|
+
*
|
|
119990
|
+
* @param {ModdleElement} activity
|
|
119991
|
+
* @param {Array<ModdleElement>} boundaryEvents
|
|
119992
|
+
* @returns {Boolean}
|
|
118461
119993
|
*/
|
|
118462
119994
|
function hasCompensationEventAttached(activity, boundaryEvents) {
|
|
118463
119995
|
const {
|
|
@@ -118472,15 +120004,15 @@
|
|
|
118472
120004
|
});
|
|
118473
120005
|
}
|
|
118474
120006
|
|
|
118475
|
-
/**
|
|
118476
|
-
* Checks whether an Activity can be compensated. That's the case when it is
|
|
118477
|
-
* a) a CallActivity
|
|
118478
|
-
* b) a SubProcess, when it is not event based and not a compensation
|
|
118479
|
-
* c) any other Activity, when it is attaching a CompensateEvent of the parent container
|
|
118480
|
-
*
|
|
118481
|
-
* @param {ModdleElement} activity
|
|
118482
|
-
* @param {Array<ModdleElement>} boundaryEvents
|
|
118483
|
-
* @returns {Boolean}
|
|
120007
|
+
/**
|
|
120008
|
+
* Checks whether an Activity can be compensated. That's the case when it is
|
|
120009
|
+
* a) a CallActivity
|
|
120010
|
+
* b) a SubProcess, when it is not event based and not a compensation
|
|
120011
|
+
* c) any other Activity, when it is attaching a CompensateEvent of the parent container
|
|
120012
|
+
*
|
|
120013
|
+
* @param {ModdleElement} activity
|
|
120014
|
+
* @param {Array<ModdleElement>} boundaryEvents
|
|
120015
|
+
* @returns {Boolean}
|
|
118484
120016
|
*/
|
|
118485
120017
|
function canBeCompensated(activity, boundaryEvents) {
|
|
118486
120018
|
return is$4(activity, 'bpmn:CallActivity') || is$4(activity, 'bpmn:SubProcess') && !activity.triggeredByEvent && !activity.isForCompensation || hasCompensationEventAttached(activity, boundaryEvents);
|
|
@@ -118493,11 +120025,11 @@
|
|
|
118493
120025
|
});
|
|
118494
120026
|
}
|
|
118495
120027
|
|
|
118496
|
-
/**
|
|
118497
|
-
* Retrieves all possible activities to reference for a Compensation.
|
|
118498
|
-
*
|
|
118499
|
-
* @param {djs.model.Base} element
|
|
118500
|
-
* @returns {Array<ModdleElement>}
|
|
120028
|
+
/**
|
|
120029
|
+
* Retrieves all possible activities to reference for a Compensation.
|
|
120030
|
+
*
|
|
120031
|
+
* @param {djs.model.Base} element
|
|
120032
|
+
* @returns {Array<ModdleElement>}
|
|
118501
120033
|
*/
|
|
118502
120034
|
function findActivityRefs(element) {
|
|
118503
120035
|
const businessObject = getBusinessObject$2(element);
|
|
@@ -118517,13 +120049,13 @@
|
|
|
118517
120049
|
return activities;
|
|
118518
120050
|
}
|
|
118519
120051
|
|
|
118520
|
-
/**
|
|
118521
|
-
* Retrieves an option label in the form
|
|
118522
|
-
* a) with name: "my Task (id=Task_1)"
|
|
118523
|
-
* b) without name: "(id=Task_1)"
|
|
118524
|
-
*
|
|
118525
|
-
* @param {ModdleElement} activity
|
|
118526
|
-
* @returns {String}
|
|
120052
|
+
/**
|
|
120053
|
+
* Retrieves an option label in the form
|
|
120054
|
+
* a) with name: "my Task (id=Task_1)"
|
|
120055
|
+
* b) without name: "(id=Task_1)"
|
|
120056
|
+
*
|
|
120057
|
+
* @param {ModdleElement} activity
|
|
120058
|
+
* @returns {String}
|
|
118527
120059
|
*/
|
|
118528
120060
|
function createOptionLabel(activity) {
|
|
118529
120061
|
const {
|
|
@@ -118538,12 +120070,12 @@
|
|
|
118538
120070
|
|
|
118539
120071
|
const DOCUMENTATION_TEXT_FORMAT = 'text/plain';
|
|
118540
120072
|
|
|
118541
|
-
/**
|
|
118542
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120073
|
+
/**
|
|
120074
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
118543
120075
|
*/
|
|
118544
120076
|
|
|
118545
|
-
/**
|
|
118546
|
-
* @returns {Array<Entry>} entries
|
|
120077
|
+
/**
|
|
120078
|
+
* @returns {Array<Entry>} entries
|
|
118547
120079
|
*/
|
|
118548
120080
|
function DocumentationProps(props) {
|
|
118549
120081
|
const {
|
|
@@ -118614,12 +120146,12 @@
|
|
|
118614
120146
|
});
|
|
118615
120147
|
}
|
|
118616
120148
|
|
|
118617
|
-
/**
|
|
118618
|
-
* Retrieves a documentation element from a given moddle element.
|
|
118619
|
-
*
|
|
118620
|
-
* @param {ModdleElement} businessObject
|
|
118621
|
-
*
|
|
118622
|
-
* @returns {ModdleElement} documentation element inside the given moddle element.
|
|
120149
|
+
/**
|
|
120150
|
+
* Retrieves a documentation element from a given moddle element.
|
|
120151
|
+
*
|
|
120152
|
+
* @param {ModdleElement} businessObject
|
|
120153
|
+
*
|
|
120154
|
+
* @returns {ModdleElement} documentation element inside the given moddle element.
|
|
118623
120155
|
*/
|
|
118624
120156
|
function getDocumentation(businessObject) {
|
|
118625
120157
|
return function () {
|
|
@@ -118628,10 +120160,10 @@
|
|
|
118628
120160
|
};
|
|
118629
120161
|
}
|
|
118630
120162
|
|
|
118631
|
-
/**
|
|
118632
|
-
* Sets a documentation element for a given moddle element.
|
|
118633
|
-
*
|
|
118634
|
-
* @param {ModdleElement} businessObject
|
|
120163
|
+
/**
|
|
120164
|
+
* Sets a documentation element for a given moddle element.
|
|
120165
|
+
*
|
|
120166
|
+
* @param {ModdleElement} businessObject
|
|
118635
120167
|
*/
|
|
118636
120168
|
function setDocumentation(element, businessObject, bpmnFactory, commandStack) {
|
|
118637
120169
|
return function (value) {
|
|
@@ -118677,12 +120209,12 @@
|
|
|
118677
120209
|
const EMPTY_OPTION$4 = '';
|
|
118678
120210
|
const CREATE_NEW_OPTION$4 = 'create-new';
|
|
118679
120211
|
|
|
118680
|
-
/**
|
|
118681
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120212
|
+
/**
|
|
120213
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
118682
120214
|
*/
|
|
118683
120215
|
|
|
118684
|
-
/**
|
|
118685
|
-
* @returns {Array<Entry>} entries
|
|
120216
|
+
/**
|
|
120217
|
+
* @returns {Array<Entry>} entries
|
|
118686
120218
|
*/
|
|
118687
120219
|
function ErrorProps$2(props) {
|
|
118688
120220
|
const {
|
|
@@ -118858,12 +120390,12 @@
|
|
|
118858
120390
|
|
|
118859
120391
|
const CREATE_NEW_OPTION$3 = 'create-new';
|
|
118860
120392
|
|
|
118861
|
-
/**
|
|
118862
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120393
|
+
/**
|
|
120394
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
118863
120395
|
*/
|
|
118864
120396
|
|
|
118865
|
-
/**
|
|
118866
|
-
* @returns {Array<Entry>} entries
|
|
120397
|
+
/**
|
|
120398
|
+
* @returns {Array<Entry>} entries
|
|
118867
120399
|
*/
|
|
118868
120400
|
function EscalationProps$2(props) {
|
|
118869
120401
|
const {
|
|
@@ -119036,12 +120568,12 @@
|
|
|
119036
120568
|
return sortBy(elements, e => (e.name || '').toLowerCase());
|
|
119037
120569
|
}
|
|
119038
120570
|
|
|
119039
|
-
/**
|
|
119040
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120571
|
+
/**
|
|
120572
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119041
120573
|
*/
|
|
119042
120574
|
|
|
119043
|
-
/**
|
|
119044
|
-
* @returns {Array<Entry>} entries
|
|
120575
|
+
/**
|
|
120576
|
+
* @returns {Array<Entry>} entries
|
|
119045
120577
|
*/
|
|
119046
120578
|
function ExecutableProps(props) {
|
|
119047
120579
|
const {
|
|
@@ -119112,14 +120644,14 @@
|
|
|
119112
120644
|
// for ID validation as per BPMN Schema (QName - Namespace)
|
|
119113
120645
|
const ID_REGEX = /^[a-z_][\w-.]*$/i;
|
|
119114
120646
|
|
|
119115
|
-
/**
|
|
119116
|
-
* checks whether the id value is valid
|
|
119117
|
-
*
|
|
119118
|
-
* @param {ModdleElement} element
|
|
119119
|
-
* @param {String} idValue
|
|
119120
|
-
* @param {Function} translate
|
|
119121
|
-
*
|
|
119122
|
-
* @return {String} error message
|
|
120647
|
+
/**
|
|
120648
|
+
* checks whether the id value is valid
|
|
120649
|
+
*
|
|
120650
|
+
* @param {ModdleElement} element
|
|
120651
|
+
* @param {String} idValue
|
|
120652
|
+
* @param {Function} translate
|
|
120653
|
+
*
|
|
120654
|
+
* @return {String} error message
|
|
119123
120655
|
*/
|
|
119124
120656
|
function isIdValid(element, idValue, translate) {
|
|
119125
120657
|
const assigned = element.$model.ids.assigned(idValue);
|
|
@@ -119147,12 +120679,12 @@
|
|
|
119147
120679
|
return SPACE_REGEX.test(value);
|
|
119148
120680
|
}
|
|
119149
120681
|
|
|
119150
|
-
/**
|
|
119151
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120682
|
+
/**
|
|
120683
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119152
120684
|
*/
|
|
119153
120685
|
|
|
119154
|
-
/**
|
|
119155
|
-
* @returns {Array<Entry>} entries
|
|
120686
|
+
/**
|
|
120687
|
+
* @returns {Array<Entry>} entries
|
|
119156
120688
|
*/
|
|
119157
120689
|
function IdProps$1() {
|
|
119158
120690
|
return [{
|
|
@@ -119194,12 +120726,12 @@
|
|
|
119194
120726
|
});
|
|
119195
120727
|
}
|
|
119196
120728
|
|
|
119197
|
-
/**
|
|
119198
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120729
|
+
/**
|
|
120730
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119199
120731
|
*/
|
|
119200
120732
|
|
|
119201
|
-
/**
|
|
119202
|
-
* @returns {Array<Entry>} entries
|
|
120733
|
+
/**
|
|
120734
|
+
* @returns {Array<Entry>} entries
|
|
119203
120735
|
*/
|
|
119204
120736
|
function LinkProps(props) {
|
|
119205
120737
|
const {
|
|
@@ -119247,12 +120779,12 @@
|
|
|
119247
120779
|
const EMPTY_OPTION$3 = '';
|
|
119248
120780
|
const CREATE_NEW_OPTION$2 = 'create-new';
|
|
119249
120781
|
|
|
119250
|
-
/**
|
|
119251
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120782
|
+
/**
|
|
120783
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119252
120784
|
*/
|
|
119253
120785
|
|
|
119254
|
-
/**
|
|
119255
|
-
* @returns {Array<Entry>} entries
|
|
120786
|
+
/**
|
|
120787
|
+
* @returns {Array<Entry>} entries
|
|
119256
120788
|
*/
|
|
119257
120789
|
function MessageProps$1(props) {
|
|
119258
120790
|
const {
|
|
@@ -119395,12 +120927,12 @@
|
|
|
119395
120927
|
return sortBy(elements, e => (e.name || '').toLowerCase());
|
|
119396
120928
|
}
|
|
119397
120929
|
|
|
119398
|
-
/**
|
|
119399
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120930
|
+
/**
|
|
120931
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119400
120932
|
*/
|
|
119401
120933
|
|
|
119402
|
-
/**
|
|
119403
|
-
* @returns {Array<Entry>} entries
|
|
120934
|
+
/**
|
|
120935
|
+
* @returns {Array<Entry>} entries
|
|
119404
120936
|
*/
|
|
119405
120937
|
function MultiInstanceProps$2(props) {
|
|
119406
120938
|
const {
|
|
@@ -119471,45 +121003,45 @@
|
|
|
119471
121003
|
|
|
119472
121004
|
// generic ///////////////////////////
|
|
119473
121005
|
|
|
119474
|
-
/**
|
|
119475
|
-
* isMultiInstanceSupported - check whether given element supports MultiInstanceLoopCharacteristics.
|
|
119476
|
-
*
|
|
119477
|
-
* @param {djs.model.Base} element
|
|
119478
|
-
* @return {boolean}
|
|
121006
|
+
/**
|
|
121007
|
+
* isMultiInstanceSupported - check whether given element supports MultiInstanceLoopCharacteristics.
|
|
121008
|
+
*
|
|
121009
|
+
* @param {djs.model.Base} element
|
|
121010
|
+
* @return {boolean}
|
|
119479
121011
|
*/
|
|
119480
121012
|
function isMultiInstanceSupported$1(element) {
|
|
119481
121013
|
const loopCharacteristics = getLoopCharacteristics$2(element);
|
|
119482
121014
|
return !!loopCharacteristics && is$4(loopCharacteristics, 'bpmn:MultiInstanceLoopCharacteristics');
|
|
119483
121015
|
}
|
|
119484
121016
|
|
|
119485
|
-
/**
|
|
119486
|
-
* getBody - get the body of a given expression.
|
|
119487
|
-
*
|
|
119488
|
-
* @param {ModdleElement<bpmn:FormalExpression>} expression
|
|
119489
|
-
* @return {string} the body (value) of the expression
|
|
121017
|
+
/**
|
|
121018
|
+
* getBody - get the body of a given expression.
|
|
121019
|
+
*
|
|
121020
|
+
* @param {ModdleElement<bpmn:FormalExpression>} expression
|
|
121021
|
+
* @return {string} the body (value) of the expression
|
|
119490
121022
|
*/
|
|
119491
121023
|
function getBody(expression) {
|
|
119492
121024
|
return expression && expression.get('body');
|
|
119493
121025
|
}
|
|
119494
121026
|
|
|
119495
|
-
/**
|
|
119496
|
-
* getProperty - get a property value of the loop characteristics.
|
|
119497
|
-
*
|
|
119498
|
-
* @param {djs.model.Base} element
|
|
119499
|
-
* @param {string} propertyName
|
|
119500
|
-
*
|
|
119501
|
-
* @return {any} the property value
|
|
121027
|
+
/**
|
|
121028
|
+
* getProperty - get a property value of the loop characteristics.
|
|
121029
|
+
*
|
|
121030
|
+
* @param {djs.model.Base} element
|
|
121031
|
+
* @param {string} propertyName
|
|
121032
|
+
*
|
|
121033
|
+
* @return {any} the property value
|
|
119502
121034
|
*/
|
|
119503
121035
|
function getProperty$3(element, propertyName) {
|
|
119504
121036
|
const loopCharacteristics = getLoopCharacteristics$2(element);
|
|
119505
121037
|
return loopCharacteristics && loopCharacteristics.get(propertyName);
|
|
119506
121038
|
}
|
|
119507
121039
|
|
|
119508
|
-
/**
|
|
119509
|
-
* getLoopCharacteristics - get loopCharacteristics of a given element.
|
|
119510
|
-
*
|
|
119511
|
-
* @param {djs.model.Base} element
|
|
119512
|
-
* @return {ModdleElement<bpmn:MultiInstanceLoopCharacteristics> | undefined}
|
|
121040
|
+
/**
|
|
121041
|
+
* getLoopCharacteristics - get loopCharacteristics of a given element.
|
|
121042
|
+
*
|
|
121043
|
+
* @param {djs.model.Base} element
|
|
121044
|
+
* @return {ModdleElement<bpmn:MultiInstanceLoopCharacteristics> | undefined}
|
|
119513
121045
|
*/
|
|
119514
121046
|
function getLoopCharacteristics$2(element) {
|
|
119515
121047
|
const bo = getBusinessObject$2(element);
|
|
@@ -119518,23 +121050,23 @@
|
|
|
119518
121050
|
|
|
119519
121051
|
// loopCardinality
|
|
119520
121052
|
|
|
119521
|
-
/**
|
|
119522
|
-
* getLoopCardinality - get the loop cardinality of the loop characteristics.
|
|
119523
|
-
*
|
|
119524
|
-
* @param {djs.model.Base} element
|
|
119525
|
-
*
|
|
119526
|
-
* @return {ModdleElement<bpmn:FormalExpression>} an expression representing the loop cardinality
|
|
121053
|
+
/**
|
|
121054
|
+
* getLoopCardinality - get the loop cardinality of the loop characteristics.
|
|
121055
|
+
*
|
|
121056
|
+
* @param {djs.model.Base} element
|
|
121057
|
+
*
|
|
121058
|
+
* @return {ModdleElement<bpmn:FormalExpression>} an expression representing the loop cardinality
|
|
119527
121059
|
*/
|
|
119528
121060
|
function getLoopCardinality(element) {
|
|
119529
121061
|
return getProperty$3(element, 'loopCardinality');
|
|
119530
121062
|
}
|
|
119531
121063
|
|
|
119532
|
-
/**
|
|
119533
|
-
* getLoopCardinalityValue - get the loop cardinality value of the loop characteristics.
|
|
119534
|
-
*
|
|
119535
|
-
* @param {djs.model.Base} element
|
|
119536
|
-
*
|
|
119537
|
-
* @return {string} the loop cardinality value
|
|
121064
|
+
/**
|
|
121065
|
+
* getLoopCardinalityValue - get the loop cardinality value of the loop characteristics.
|
|
121066
|
+
*
|
|
121067
|
+
* @param {djs.model.Base} element
|
|
121068
|
+
*
|
|
121069
|
+
* @return {string} the loop cardinality value
|
|
119538
121070
|
*/
|
|
119539
121071
|
function getLoopCardinalityValue(element) {
|
|
119540
121072
|
const loopCardinality = getLoopCardinality(element);
|
|
@@ -119543,35 +121075,35 @@
|
|
|
119543
121075
|
|
|
119544
121076
|
// completionCondition /////////////////////
|
|
119545
121077
|
|
|
119546
|
-
/**
|
|
119547
|
-
* getCompletionCondition - get the completion condition of the loop characteristics.
|
|
119548
|
-
*
|
|
119549
|
-
* @param {djs.model.Base} element
|
|
119550
|
-
*
|
|
119551
|
-
* @return {ModdleElement<bpmn:FormalExpression>} an expression representing the completion condition
|
|
121078
|
+
/**
|
|
121079
|
+
* getCompletionCondition - get the completion condition of the loop characteristics.
|
|
121080
|
+
*
|
|
121081
|
+
* @param {djs.model.Base} element
|
|
121082
|
+
*
|
|
121083
|
+
* @return {ModdleElement<bpmn:FormalExpression>} an expression representing the completion condition
|
|
119552
121084
|
*/
|
|
119553
121085
|
function getCompletionCondition$1(element) {
|
|
119554
121086
|
return getProperty$3(element, 'completionCondition');
|
|
119555
121087
|
}
|
|
119556
121088
|
|
|
119557
|
-
/**
|
|
119558
|
-
* getCompletionConditionValue - get the completion condition value of the loop characteristics.
|
|
119559
|
-
*
|
|
119560
|
-
* @param {djs.model.Base} element
|
|
119561
|
-
*
|
|
119562
|
-
* @return {string} the completion condition value
|
|
121089
|
+
/**
|
|
121090
|
+
* getCompletionConditionValue - get the completion condition value of the loop characteristics.
|
|
121091
|
+
*
|
|
121092
|
+
* @param {djs.model.Base} element
|
|
121093
|
+
*
|
|
121094
|
+
* @return {string} the completion condition value
|
|
119563
121095
|
*/
|
|
119564
121096
|
function getCompletionConditionValue(element) {
|
|
119565
121097
|
const completionCondition = getCompletionCondition$1(element);
|
|
119566
121098
|
return getBody(completionCondition);
|
|
119567
121099
|
}
|
|
119568
121100
|
|
|
119569
|
-
/**
|
|
119570
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
121101
|
+
/**
|
|
121102
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119571
121103
|
*/
|
|
119572
121104
|
|
|
119573
|
-
/**
|
|
119574
|
-
* @returns {Array<Entry>} entries
|
|
121105
|
+
/**
|
|
121106
|
+
* @returns {Array<Entry>} entries
|
|
119575
121107
|
*/
|
|
119576
121108
|
function NameProps(props) {
|
|
119577
121109
|
const {
|
|
@@ -119675,12 +121207,12 @@
|
|
|
119675
121207
|
return categoryValue;
|
|
119676
121208
|
}
|
|
119677
121209
|
|
|
119678
|
-
/**
|
|
119679
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
121210
|
+
/**
|
|
121211
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119680
121212
|
*/
|
|
119681
121213
|
|
|
119682
|
-
/**
|
|
119683
|
-
* @returns {Array<Entry>} entries
|
|
121214
|
+
/**
|
|
121215
|
+
* @returns {Array<Entry>} entries
|
|
119684
121216
|
*/
|
|
119685
121217
|
function ProcessProps$1(props) {
|
|
119686
121218
|
const {
|
|
@@ -119771,15 +121303,15 @@
|
|
|
119771
121303
|
return is$4(element, 'bpmn:Participant') && element.businessObject.get('processRef');
|
|
119772
121304
|
}
|
|
119773
121305
|
|
|
119774
|
-
/**
|
|
119775
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
121306
|
+
/**
|
|
121307
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
119776
121308
|
*/
|
|
119777
121309
|
|
|
119778
121310
|
const EMPTY_OPTION$2 = '';
|
|
119779
121311
|
const CREATE_NEW_OPTION$1 = 'create-new';
|
|
119780
121312
|
|
|
119781
|
-
/**
|
|
119782
|
-
* @returns {Entry[]}
|
|
121313
|
+
/**
|
|
121314
|
+
* @returns {Entry[]}
|
|
119783
121315
|
*/
|
|
119784
121316
|
function SignalProps$1(props) {
|
|
119785
121317
|
const {
|
|
@@ -119929,12 +121461,12 @@
|
|
|
119929
121461
|
return isAny$1(element, ['bpmn:StartEvent', 'bpmn:IntermediateCatchEvent', 'bpmn:BoundaryEvent']) && !!getTimerEventDefinition$1(element);
|
|
119930
121462
|
}
|
|
119931
121463
|
|
|
119932
|
-
/**
|
|
119933
|
-
* Get the timer definition type for a given timer event definition.
|
|
119934
|
-
*
|
|
119935
|
-
* @param {ModdleElement<bpmn:TimerEventDefinition>} timer
|
|
119936
|
-
*
|
|
119937
|
-
* @return {string|undefined} the timer definition type
|
|
121464
|
+
/**
|
|
121465
|
+
* Get the timer definition type for a given timer event definition.
|
|
121466
|
+
*
|
|
121467
|
+
* @param {ModdleElement<bpmn:TimerEventDefinition>} timer
|
|
121468
|
+
*
|
|
121469
|
+
* @return {string|undefined} the timer definition type
|
|
119938
121470
|
*/
|
|
119939
121471
|
function getTimerDefinitionType(timer) {
|
|
119940
121472
|
if (!timer) {
|
|
@@ -120017,12 +121549,12 @@
|
|
|
120017
121549
|
return entries;
|
|
120018
121550
|
}
|
|
120019
121551
|
|
|
120020
|
-
/**
|
|
120021
|
-
* TimerEventDefinitionType - Generic select entry allowing to select a specific
|
|
120022
|
-
* timerEventDefintionType. To be used together with timerEventDefinitionValue.
|
|
120023
|
-
*
|
|
120024
|
-
* @param {type} props
|
|
120025
|
-
* @return {SelectEntry}
|
|
121552
|
+
/**
|
|
121553
|
+
* TimerEventDefinitionType - Generic select entry allowing to select a specific
|
|
121554
|
+
* timerEventDefintionType. To be used together with timerEventDefinitionValue.
|
|
121555
|
+
*
|
|
121556
|
+
* @param {type} props
|
|
121557
|
+
* @return {SelectEntry}
|
|
120026
121558
|
*/
|
|
120027
121559
|
function TimerEventDefinitionType$2(props) {
|
|
120028
121560
|
const {
|
|
@@ -120090,13 +121622,13 @@
|
|
|
120090
121622
|
});
|
|
120091
121623
|
}
|
|
120092
121624
|
|
|
120093
|
-
/**
|
|
120094
|
-
* TimerEventDefinitionValue - Generic textField entry allowing to specify the
|
|
120095
|
-
* timerEventDefintionValue based on the set timerEventDefintionType. To be used
|
|
120096
|
-
* together with timerEventDefinitionType.
|
|
120097
|
-
*
|
|
120098
|
-
* @param {type} props
|
|
120099
|
-
* @return {TextFieldEntry}
|
|
121625
|
+
/**
|
|
121626
|
+
* TimerEventDefinitionValue - Generic textField entry allowing to specify the
|
|
121627
|
+
* timerEventDefintionValue based on the set timerEventDefintionType. To be used
|
|
121628
|
+
* together with timerEventDefinitionType.
|
|
121629
|
+
*
|
|
121630
|
+
* @param {type} props
|
|
121631
|
+
* @return {TextFieldEntry}
|
|
120100
121632
|
*/
|
|
120101
121633
|
function TimerEventDefinitionValue$2(props) {
|
|
120102
121634
|
const {
|
|
@@ -120396,12 +121928,12 @@
|
|
|
120396
121928
|
bpmnPropertiesProvider: ['type', BpmnPropertiesProvider]
|
|
120397
121929
|
};
|
|
120398
121930
|
|
|
120399
|
-
/**
|
|
120400
|
-
* Get extension elements of business object. Optionally filter by type.
|
|
120401
|
-
*
|
|
120402
|
-
* @param {ModdleElement} businessObject
|
|
120403
|
-
* @param {string} [type=undefined]
|
|
120404
|
-
* @returns {Array<ModdleElement>}
|
|
121931
|
+
/**
|
|
121932
|
+
* Get extension elements of business object. Optionally filter by type.
|
|
121933
|
+
*
|
|
121934
|
+
* @param {ModdleElement} businessObject
|
|
121935
|
+
* @param {string} [type=undefined]
|
|
121936
|
+
* @returns {Array<ModdleElement>}
|
|
120405
121937
|
*/
|
|
120406
121938
|
function getExtensionElementsList$2(businessObject, type = undefined) {
|
|
120407
121939
|
const extensionElements = businessObject.get('extensionElements');
|
|
@@ -120418,13 +121950,13 @@
|
|
|
120418
121950
|
return values;
|
|
120419
121951
|
}
|
|
120420
121952
|
|
|
120421
|
-
/**
|
|
120422
|
-
* Add one or more extension elements. Create bpmn:ExtensionElements if it doesn't exist.
|
|
120423
|
-
*
|
|
120424
|
-
* @param {ModdleElement} element
|
|
120425
|
-
* @param {ModdleElement} businessObject
|
|
120426
|
-
* @param {ModdleElement|Array<ModdleElement>} extensionElementsToAdd
|
|
120427
|
-
* @param {CommandStack} commandStack
|
|
121953
|
+
/**
|
|
121954
|
+
* Add one or more extension elements. Create bpmn:ExtensionElements if it doesn't exist.
|
|
121955
|
+
*
|
|
121956
|
+
* @param {ModdleElement} element
|
|
121957
|
+
* @param {ModdleElement} businessObject
|
|
121958
|
+
* @param {ModdleElement|Array<ModdleElement>} extensionElementsToAdd
|
|
121959
|
+
* @param {CommandStack} commandStack
|
|
120428
121960
|
*/
|
|
120429
121961
|
function addExtensionElements(element, businessObject, extensionElementToAdd, bpmnFactory, commandStack) {
|
|
120430
121962
|
const commands = [];
|
|
@@ -120462,13 +121994,13 @@
|
|
|
120462
121994
|
commandStack.execute('properties-panel.multi-command-executor', commands);
|
|
120463
121995
|
}
|
|
120464
121996
|
|
|
120465
|
-
/**
|
|
120466
|
-
* Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
|
|
120467
|
-
*
|
|
120468
|
-
* @param {ModdleElement} element
|
|
120469
|
-
* @param {ModdleElement} businessObject
|
|
120470
|
-
* @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
|
|
120471
|
-
* @param {CommandStack} commandStack
|
|
121997
|
+
/**
|
|
121998
|
+
* Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.
|
|
121999
|
+
*
|
|
122000
|
+
* @param {ModdleElement} element
|
|
122001
|
+
* @param {ModdleElement} businessObject
|
|
122002
|
+
* @param {ModdleElement|Array<ModdleElement>} extensionElementsToRemove
|
|
122003
|
+
* @param {CommandStack} commandStack
|
|
120472
122004
|
*/
|
|
120473
122005
|
function removeExtensionElements$1(element, businessObject, extensionElementsToRemove, commandStack) {
|
|
120474
122006
|
if (!isArray$6(extensionElementsToRemove)) {
|
|
@@ -120656,12 +122188,12 @@
|
|
|
120656
122188
|
return extensions[0];
|
|
120657
122189
|
}
|
|
120658
122190
|
|
|
120659
|
-
/**
|
|
120660
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
122191
|
+
/**
|
|
122192
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
120661
122193
|
*/
|
|
120662
122194
|
|
|
120663
|
-
/**
|
|
120664
|
-
* @returns {Array<Entry>} entries
|
|
122195
|
+
/**
|
|
122196
|
+
* @returns {Array<Entry>} entries
|
|
120665
122197
|
*/
|
|
120666
122198
|
function AdHocCompletionProps(props) {
|
|
120667
122199
|
const {
|
|
@@ -121033,24 +122565,24 @@
|
|
|
121033
122565
|
return is$4(element, 'bpmn:UserTask') || isZeebeServiceTask(element);
|
|
121034
122566
|
}
|
|
121035
122567
|
|
|
121036
|
-
/**
|
|
121037
|
-
* Get first zeebe:TaskHeaders element for a specific element.
|
|
121038
|
-
*
|
|
121039
|
-
* @param {ModdleElement} element
|
|
121040
|
-
*
|
|
121041
|
-
* @return {ModdleElement} a zeebe:TaskHeader element
|
|
122568
|
+
/**
|
|
122569
|
+
* Get first zeebe:TaskHeaders element for a specific element.
|
|
122570
|
+
*
|
|
122571
|
+
* @param {ModdleElement} element
|
|
122572
|
+
*
|
|
122573
|
+
* @return {ModdleElement} a zeebe:TaskHeader element
|
|
121042
122574
|
*/
|
|
121043
122575
|
function getTaskHeaders$1$1(element) {
|
|
121044
122576
|
const businessObject = getBusinessObject$2(element);
|
|
121045
122577
|
return getExtensionElementsList$2(businessObject, 'zeebe:TaskHeaders')[0];
|
|
121046
122578
|
}
|
|
121047
122579
|
|
|
121048
|
-
/**
|
|
121049
|
-
* Retrieve all zeebe:Header elements for a specific element.
|
|
121050
|
-
*
|
|
121051
|
-
* @param {ModdleElement} element
|
|
121052
|
-
*
|
|
121053
|
-
* @return {Array<ModdleElement>} a list of zeebe:Header elements
|
|
122580
|
+
/**
|
|
122581
|
+
* Retrieve all zeebe:Header elements for a specific element.
|
|
122582
|
+
*
|
|
122583
|
+
* @param {ModdleElement} element
|
|
122584
|
+
*
|
|
122585
|
+
* @return {Array<ModdleElement>} a list of zeebe:Header elements
|
|
121054
122586
|
*/
|
|
121055
122587
|
function getHeaders(element) {
|
|
121056
122588
|
const taskHeaders = getTaskHeaders$1$1(element);
|
|
@@ -121091,10 +122623,10 @@
|
|
|
121091
122623
|
return DEFAULT_IMPLEMENTATION_OPTION$1;
|
|
121092
122624
|
};
|
|
121093
122625
|
|
|
121094
|
-
/**
|
|
121095
|
-
* Set value by either creating a zeebe:calledDecision or a zeebe:taskDefintion
|
|
121096
|
-
* extension element. Note that they must not exist both at the same time, however
|
|
121097
|
-
* this will be ensured by a bpmn-js behavior (and not by the propPanel).
|
|
122626
|
+
/**
|
|
122627
|
+
* Set value by either creating a zeebe:calledDecision or a zeebe:taskDefintion
|
|
122628
|
+
* extension element. Note that they must not exist both at the same time, however
|
|
122629
|
+
* this will be ensured by a bpmn-js behavior (and not by the propPanel).
|
|
121098
122630
|
*/
|
|
121099
122631
|
const setValue = value => {
|
|
121100
122632
|
let extensionElement, extensionElementType;
|
|
@@ -121645,12 +123177,12 @@
|
|
|
121645
123177
|
return isAny$1(element, CONDITIONAL_SOURCES$1);
|
|
121646
123178
|
}
|
|
121647
123179
|
|
|
121648
|
-
/**
|
|
121649
|
-
* getConditionExpression - get the body value of a condition expression for a given element
|
|
121650
|
-
*
|
|
121651
|
-
* @param {ModdleElement} element
|
|
121652
|
-
*
|
|
121653
|
-
* @return {string|undefined}
|
|
123180
|
+
/**
|
|
123181
|
+
* getConditionExpression - get the body value of a condition expression for a given element
|
|
123182
|
+
*
|
|
123183
|
+
* @param {ModdleElement} element
|
|
123184
|
+
*
|
|
123185
|
+
* @return {string|undefined}
|
|
121654
123186
|
*/
|
|
121655
123187
|
function getConditionExpression$1(element) {
|
|
121656
123188
|
const businessObject = getBusinessObject$2(element);
|
|
@@ -121706,12 +123238,12 @@
|
|
|
121706
123238
|
});
|
|
121707
123239
|
}
|
|
121708
123240
|
|
|
121709
|
-
/**
|
|
121710
|
-
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
123241
|
+
/**
|
|
123242
|
+
* @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry
|
|
121711
123243
|
*/
|
|
121712
123244
|
|
|
121713
|
-
/**
|
|
121714
|
-
* @returns {Array<Entry>} entries
|
|
123245
|
+
/**
|
|
123246
|
+
* @returns {Array<Entry>} entries
|
|
121715
123247
|
*/
|
|
121716
123248
|
function EscalationProps$1(props) {
|
|
121717
123249
|
const {
|
|
@@ -122351,24 +123883,24 @@
|
|
|
122351
123883
|
|
|
122352
123884
|
// helpers /////////////
|
|
122353
123885
|
|
|
122354
|
-
/**
|
|
122355
|
-
* @typedef { { cmd: string, context: Object } } Command
|
|
122356
|
-
* @typedef {Command[]} Commands
|
|
122357
|
-
*
|
|
122358
|
-
* @typedef {import('diagram-js/lib/model/Types').Element} Element
|
|
122359
|
-
* @typedef {import('bpmn-js/lib/model/Types').ModdleElement} ModdleElement
|
|
122360
|
-
*
|
|
122361
|
-
* @param {import('didi').Injector} Injector
|
|
123886
|
+
/**
|
|
123887
|
+
* @typedef { { cmd: string, context: Object } } Command
|
|
123888
|
+
* @typedef {Command[]} Commands
|
|
123889
|
+
*
|
|
123890
|
+
* @typedef {import('diagram-js/lib/model/Types').Element} Element
|
|
123891
|
+
* @typedef {import('bpmn-js/lib/model/Types').ModdleElement} ModdleElement
|
|
123892
|
+
*
|
|
123893
|
+
* @param {import('didi').Injector} Injector
|
|
122362
123894
|
*/
|
|
122363
123895
|
|
|
122364
|
-
/**
|
|
122365
|
-
* @param {Injector} injector
|
|
122366
|
-
* @param {Element} element
|
|
122367
|
-
*
|
|
122368
|
-
* @returns { {
|
|
122369
|
-
* commands: Commands,
|
|
122370
|
-
* extensionElements: ModdleElement
|
|
122371
|
-
* } }
|
|
123896
|
+
/**
|
|
123897
|
+
* @param {Injector} injector
|
|
123898
|
+
* @param {Element} element
|
|
123899
|
+
*
|
|
123900
|
+
* @returns { {
|
|
123901
|
+
* commands: Commands,
|
|
123902
|
+
* extensionElements: ModdleElement
|
|
123903
|
+
* } }
|
|
122372
123904
|
*/
|
|
122373
123905
|
function getOrCreateExtensionElements(injector, element, moddleElement) {
|
|
122374
123906
|
const businessObject = moddleElement || getBusinessObject$2(element);
|
|
@@ -122391,14 +123923,14 @@
|
|
|
122391
123923
|
};
|
|
122392
123924
|
}
|
|
122393
123925
|
|
|
122394
|
-
/**
|
|
122395
|
-
* @param {Injector} injector
|
|
122396
|
-
* @param {Element} element
|
|
122397
|
-
*
|
|
122398
|
-
* @returns { {
|
|
122399
|
-
* commands: Commands,
|
|
122400
|
-
* formDefinition: ModdleElement
|
|
122401
|
-
* } }
|
|
123926
|
+
/**
|
|
123927
|
+
* @param {Injector} injector
|
|
123928
|
+
* @param {Element} element
|
|
123929
|
+
*
|
|
123930
|
+
* @returns { {
|
|
123931
|
+
* commands: Commands,
|
|
123932
|
+
* formDefinition: ModdleElement
|
|
123933
|
+
* } }
|
|
122402
123934
|
*/
|
|
122403
123935
|
function getOrCreateFormDefintition(injector, element) {
|
|
122404
123936
|
let formDefinition = getFormDefinition$2(element);
|
|
@@ -122421,15 +123953,15 @@
|
|
|
122421
123953
|
};
|
|
122422
123954
|
}
|
|
122423
123955
|
|
|
122424
|
-
/**
|
|
122425
|
-
* @param {Injector} injector
|
|
122426
|
-
* @param {Element} element
|
|
122427
|
-
*
|
|
122428
|
-
* @returns { {
|
|
122429
|
-
* commands: Commands,
|
|
122430
|
-
* formDefinition: ModdleElement,
|
|
122431
|
-
* userTaskForm: ModdleElement
|
|
122432
|
-
* } }
|
|
123956
|
+
/**
|
|
123957
|
+
* @param {Injector} injector
|
|
123958
|
+
* @param {Element} element
|
|
123959
|
+
*
|
|
123960
|
+
* @returns { {
|
|
123961
|
+
* commands: Commands,
|
|
123962
|
+
* formDefinition: ModdleElement,
|
|
123963
|
+
* userTaskForm: ModdleElement
|
|
123964
|
+
* } }
|
|
122433
123965
|
*/
|
|
122434
123966
|
function getOrCreateUserTaskForm(injector, element) {
|
|
122435
123967
|
let userTaskForm = getUserTaskForm$1(element);
|
|
@@ -122506,8 +124038,8 @@
|
|
|
122506
124038
|
function removeFormDefinition(injector, element) {
|
|
122507
124039
|
const formDefinition = getFormDefinition$2(element);
|
|
122508
124040
|
|
|
122509
|
-
/**
|
|
122510
|
-
* @type {import('bpmn-js/lib/features/modeling/Modeling').default}
|
|
124041
|
+
/**
|
|
124042
|
+
* @type {import('bpmn-js/lib/features/modeling/Modeling').default}
|
|
122511
124043
|
*/
|
|
122512
124044
|
const modeling = injector.get('modeling');
|
|
122513
124045
|
if (formDefinition) {
|
|
@@ -122519,36 +124051,36 @@
|
|
|
122519
124051
|
}
|
|
122520
124052
|
}
|
|
122521
124053
|
|
|
122522
|
-
/**
|
|
122523
|
-
* @param {Injector} injector
|
|
122524
|
-
* @param {Object} properties
|
|
122525
|
-
* @param {ModdleElement} parent
|
|
122526
|
-
*
|
|
122527
|
-
* @returns {ModdleElement}
|
|
124054
|
+
/**
|
|
124055
|
+
* @param {Injector} injector
|
|
124056
|
+
* @param {Object} properties
|
|
124057
|
+
* @param {ModdleElement} parent
|
|
124058
|
+
*
|
|
124059
|
+
* @returns {ModdleElement}
|
|
122528
124060
|
*/
|
|
122529
124061
|
function createFormDefinition$2(injector, properties, parent) {
|
|
122530
124062
|
const bpmnFactory = injector.get('bpmnFactory');
|
|
122531
124063
|
return createElement$6('zeebe:FormDefinition', properties, parent, bpmnFactory);
|
|
122532
124064
|
}
|
|
122533
124065
|
|
|
122534
|
-
/**
|
|
122535
|
-
* @param {Injector} injector
|
|
122536
|
-
* @param {Object} properties
|
|
122537
|
-
* @param {ModdleElement} parent
|
|
122538
|
-
*
|
|
122539
|
-
* @returns {ModdleElement}
|
|
124066
|
+
/**
|
|
124067
|
+
* @param {Injector} injector
|
|
124068
|
+
* @param {Object} properties
|
|
124069
|
+
* @param {ModdleElement} parent
|
|
124070
|
+
*
|
|
124071
|
+
* @returns {ModdleElement}
|
|
122540
124072
|
*/
|
|
122541
124073
|
function createUserTaskForm(injector, properties, parent) {
|
|
122542
124074
|
const bpmnFactory = injector.get('bpmnFactory');
|
|
122543
124075
|
return createElement$6('zeebe:UserTaskForm', properties, parent, bpmnFactory);
|
|
122544
124076
|
}
|
|
122545
124077
|
|
|
122546
|
-
/**
|
|
122547
|
-
* @param {Element} element
|
|
122548
|
-
* @param {ModdleElement} moddleElement
|
|
122549
|
-
* @param {Object} properties
|
|
122550
|
-
*
|
|
122551
|
-
* @returns {Command}
|
|
124078
|
+
/**
|
|
124079
|
+
* @param {Element} element
|
|
124080
|
+
* @param {ModdleElement} moddleElement
|
|
124081
|
+
* @param {Object} properties
|
|
124082
|
+
*
|
|
124083
|
+
* @returns {Command}
|
|
122552
124084
|
*/
|
|
122553
124085
|
function createUpdateModdlePropertiesCommand(element, moddleElement, properties) {
|
|
122554
124086
|
return {
|
|
@@ -122893,11 +124425,11 @@
|
|
|
122893
124425
|
|
|
122894
124426
|
// helper //////////////////////////
|
|
122895
124427
|
|
|
122896
|
-
/**
|
|
122897
|
-
* Check whether the propagateAllParentVariables attribute is set on an element.
|
|
122898
|
-
* @param {Object} element
|
|
122899
|
-
*
|
|
122900
|
-
* @returns {boolean}
|
|
124428
|
+
/**
|
|
124429
|
+
* Check whether the propagateAllParentVariables attribute is set on an element.
|
|
124430
|
+
* @param {Object} element
|
|
124431
|
+
*
|
|
124432
|
+
* @returns {boolean}
|
|
122901
124433
|
*/
|
|
122902
124434
|
function isPropagateAllParentVariables(element) {
|
|
122903
124435
|
if (!is$4(element, 'bpmn:CallActivity')) {
|
|
@@ -122998,37 +124530,37 @@
|
|
|
122998
124530
|
return ioMapping && ioMapping.get(prop) || [];
|
|
122999
124531
|
}
|
|
123000
124532
|
|
|
123001
|
-
/**
|
|
123002
|
-
* Get a ioMapping from the business object
|
|
123003
|
-
*
|
|
123004
|
-
* @param {djs.model.Base} element
|
|
123005
|
-
*
|
|
123006
|
-
* @return {ModdleElement} the ioMapping object
|
|
124533
|
+
/**
|
|
124534
|
+
* Get a ioMapping from the business object
|
|
124535
|
+
*
|
|
124536
|
+
* @param {djs.model.Base} element
|
|
124537
|
+
*
|
|
124538
|
+
* @return {ModdleElement} the ioMapping object
|
|
123007
124539
|
*/
|
|
123008
124540
|
function getIoMapping$1(element) {
|
|
123009
124541
|
const bo = getBusinessObject$2(element);
|
|
123010
124542
|
return (getElements$1(bo, 'zeebe:IoMapping') || [])[0];
|
|
123011
124543
|
}
|
|
123012
124544
|
|
|
123013
|
-
/**
|
|
123014
|
-
* Return all input parameters existing in the business object, and
|
|
123015
|
-
* an empty array if none exist.
|
|
123016
|
-
*
|
|
123017
|
-
* @param {djs.model.Base} element
|
|
123018
|
-
*
|
|
123019
|
-
* @return {Array} a list of input parameter objects
|
|
124545
|
+
/**
|
|
124546
|
+
* Return all input parameters existing in the business object, and
|
|
124547
|
+
* an empty array if none exist.
|
|
124548
|
+
*
|
|
124549
|
+
* @param {djs.model.Base} element
|
|
124550
|
+
*
|
|
124551
|
+
* @return {Array} a list of input parameter objects
|
|
123020
124552
|
*/
|
|
123021
124553
|
function getInputParameters$1(element) {
|
|
123022
124554
|
return getParameters$1.apply(this, [element, 'inputParameters']);
|
|
123023
124555
|
}
|
|
123024
124556
|
|
|
123025
|
-
/**
|
|
123026
|
-
* Return all output parameters existing in the business object, and
|
|
123027
|
-
* an empty array if none exist.
|
|
123028
|
-
*
|
|
123029
|
-
* @param {djs.model.Base} element
|
|
123030
|
-
*
|
|
123031
|
-
* @return {Array} a list of output parameter objects
|
|
124557
|
+
/**
|
|
124558
|
+
* Return all output parameters existing in the business object, and
|
|
124559
|
+
* an empty array if none exist.
|
|
124560
|
+
*
|
|
124561
|
+
* @param {djs.model.Base} element
|
|
124562
|
+
*
|
|
124563
|
+
* @return {Array} a list of output parameter objects
|
|
123032
124564
|
*/
|
|
123033
124565
|
function getOutputParameters$1(element) {
|
|
123034
124566
|
return getParameters$1.apply(this, [element, 'outputParameters']);
|
|
@@ -123802,11 +125334,11 @@
|
|
|
123802
125334
|
|
|
123803
125335
|
// helper //////////////////////////
|
|
123804
125336
|
|
|
123805
|
-
/**
|
|
123806
|
-
* Determine default value for propagateAllChildVariables attribute
|
|
123807
|
-
* @param {Object} element representing a bpmn:CallActivity
|
|
123808
|
-
*
|
|
123809
|
-
* @returns {boolean}
|
|
125337
|
+
/**
|
|
125338
|
+
* Determine default value for propagateAllChildVariables attribute
|
|
125339
|
+
* @param {Object} element representing a bpmn:CallActivity
|
|
125340
|
+
*
|
|
125341
|
+
* @returns {boolean}
|
|
123810
125342
|
*/
|
|
123811
125343
|
function determinePropAllChildVariablesDefault(element) {
|
|
123812
125344
|
const outputParameters = getOutputParameters$1(element);
|
|
@@ -123815,12 +125347,12 @@
|
|
|
123815
125347
|
}
|
|
123816
125348
|
}
|
|
123817
125349
|
|
|
123818
|
-
/**
|
|
123819
|
-
* Check whether the propagateAllChildVariables attribute is set on an element.
|
|
123820
|
-
* Note that a default logic will be determine if it is not explicitly set.
|
|
123821
|
-
* @param {Object} element
|
|
123822
|
-
*
|
|
123823
|
-
* @returns {boolean}
|
|
125350
|
+
/**
|
|
125351
|
+
* Check whether the propagateAllChildVariables attribute is set on an element.
|
|
125352
|
+
* Note that a default logic will be determine if it is not explicitly set.
|
|
125353
|
+
* @param {Object} element
|
|
125354
|
+
*
|
|
125355
|
+
* @returns {boolean}
|
|
123824
125356
|
*/
|
|
123825
125357
|
function isPropagateAllChildVariables(element) {
|
|
123826
125358
|
if (!is$4(element, 'bpmn:CallActivity')) {
|
|
@@ -124110,10 +125642,10 @@
|
|
|
124110
125642
|
return DEFAULT_IMPLEMENTATION_OPTION;
|
|
124111
125643
|
};
|
|
124112
125644
|
|
|
124113
|
-
/**
|
|
124114
|
-
* Set value by either creating a zeebe:script or a zeebe:taskDefintion
|
|
124115
|
-
* extension element. Note that they must not exist both at the same time, however
|
|
124116
|
-
* this will be ensured by a bpmn-js behavior (and not by the propPanel).
|
|
125645
|
+
/**
|
|
125646
|
+
* Set value by either creating a zeebe:script or a zeebe:taskDefintion
|
|
125647
|
+
* extension element. Note that they must not exist both at the same time, however
|
|
125648
|
+
* this will be ensured by a bpmn-js behavior (and not by the propPanel).
|
|
124117
125649
|
*/
|
|
124118
125650
|
const setValue = value => {
|
|
124119
125651
|
let extensionElement, extensionElementType;
|
|
@@ -124405,8 +125937,8 @@
|
|
|
124405
125937
|
return getExtensionElementsList$2(businessObject, 'zeebe:Script')[0];
|
|
124406
125938
|
}
|
|
124407
125939
|
|
|
124408
|
-
/**
|
|
124409
|
-
* @returns {Entry[]}
|
|
125940
|
+
/**
|
|
125941
|
+
* @returns {Entry[]}
|
|
124410
125942
|
*/
|
|
124411
125943
|
function SignalProps(props) {
|
|
124412
125944
|
const {
|
|
@@ -125145,13 +126677,13 @@
|
|
|
125145
126677
|
return getExtensionElementsList$2(businessObject, 'zeebe:TaskSchedule')[0];
|
|
125146
126678
|
}
|
|
125147
126679
|
|
|
125148
|
-
/**
|
|
125149
|
-
* Check whether a given timer expression type is supported for a given element.
|
|
125150
|
-
*
|
|
125151
|
-
* @param {string} type
|
|
125152
|
-
* @param {Element|ModdleElement} element
|
|
125153
|
-
*
|
|
125154
|
-
* @return {boolean}
|
|
126680
|
+
/**
|
|
126681
|
+
* Check whether a given timer expression type is supported for a given element.
|
|
126682
|
+
*
|
|
126683
|
+
* @param {string} type
|
|
126684
|
+
* @param {Element|ModdleElement} element
|
|
126685
|
+
*
|
|
126686
|
+
* @return {boolean}
|
|
125155
126687
|
*/
|
|
125156
126688
|
function isTimerExpressionTypeSupported$1(type, element) {
|
|
125157
126689
|
const businessObject = getBusinessObject$2(element);
|
|
@@ -125244,12 +126776,12 @@
|
|
|
125244
126776
|
return options;
|
|
125245
126777
|
}
|
|
125246
126778
|
|
|
125247
|
-
/**
|
|
125248
|
-
* TimerEventDefinitionType - Generic select entry allowing to select a specific
|
|
125249
|
-
* timerEventDefintionType. To be used together with timerEventDefinitionValue.
|
|
125250
|
-
*
|
|
125251
|
-
* @param {type} props
|
|
125252
|
-
* @return {SelectEntry}
|
|
126779
|
+
/**
|
|
126780
|
+
* TimerEventDefinitionType - Generic select entry allowing to select a specific
|
|
126781
|
+
* timerEventDefintionType. To be used together with timerEventDefinitionValue.
|
|
126782
|
+
*
|
|
126783
|
+
* @param {type} props
|
|
126784
|
+
* @return {SelectEntry}
|
|
125253
126785
|
*/
|
|
125254
126786
|
function TimerEventDefinitionType$1(props) {
|
|
125255
126787
|
const {
|
|
@@ -125307,16 +126839,16 @@
|
|
|
125307
126839
|
});
|
|
125308
126840
|
}
|
|
125309
126841
|
|
|
125310
|
-
/**
|
|
125311
|
-
* TimerEventDefinitionValue - Generic textField entry allowing to specify the
|
|
125312
|
-
* timerEventDefintionValue based on the set timerEventDefintionType. To be used
|
|
125313
|
-
* together with timerEventDefinitionType.
|
|
125314
|
-
*
|
|
125315
|
-
* @param {object} props
|
|
125316
|
-
* @param {ModdleElement} props.element
|
|
125317
|
-
* @param {'timeCycle'|'timeDate'|'timeDuration'} props.timerEventDefinitionType?
|
|
125318
|
-
* @param {string} props.label?
|
|
125319
|
-
* @return {TextFieldEntry}
|
|
126842
|
+
/**
|
|
126843
|
+
* TimerEventDefinitionValue - Generic textField entry allowing to specify the
|
|
126844
|
+
* timerEventDefintionValue based on the set timerEventDefintionType. To be used
|
|
126845
|
+
* together with timerEventDefinitionType.
|
|
126846
|
+
*
|
|
126847
|
+
* @param {object} props
|
|
126848
|
+
* @param {ModdleElement} props.element
|
|
126849
|
+
* @param {'timeCycle'|'timeDate'|'timeDuration'} props.timerEventDefinitionType?
|
|
126850
|
+
* @param {string} props.label?
|
|
126851
|
+
* @return {TextFieldEntry}
|
|
125320
126852
|
*/
|
|
125321
126853
|
function TimerEventDefinitionValue$1(props) {
|
|
125322
126854
|
const {
|
|
@@ -125485,10 +127017,10 @@
|
|
|
125485
127017
|
return JOB_WORKER_IMPLEMENTATION_OPTION;
|
|
125486
127018
|
};
|
|
125487
127019
|
|
|
125488
|
-
/**
|
|
125489
|
-
* Set value by either creating or removing zeebe:userTask extension element.
|
|
125490
|
-
* Note that they must not exist both at the same time, however this
|
|
125491
|
-
* will be ensured by a camunda-bpmn-js behavior (and not by the propPanel).
|
|
127020
|
+
/**
|
|
127021
|
+
* Set value by either creating or removing zeebe:userTask extension element.
|
|
127022
|
+
* Note that they must not exist both at the same time, however this
|
|
127023
|
+
* will be ensured by a camunda-bpmn-js behavior (and not by the propPanel).
|
|
125492
127024
|
*/
|
|
125493
127025
|
const setValue = value => {
|
|
125494
127026
|
if (value === ZEEBE_USER_TASK_IMPLEMENTATION_OPTION) {
|
|
@@ -126763,54 +128295,54 @@
|
|
|
126763
128295
|
}
|
|
126764
128296
|
};
|
|
126765
128297
|
|
|
126766
|
-
/**
|
|
126767
|
-
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
126768
|
-
*
|
|
126769
|
-
* @typedef {import('didi').ModuleDeclaration} ModuleDeclaration
|
|
126770
|
-
*/
|
|
126771
|
-
|
|
126772
|
-
/**
|
|
126773
|
-
*
|
|
126774
|
-
* @param {BaseViewerOptions} options
|
|
126775
|
-
*/
|
|
126776
|
-
function Modeler$1(options = {}) {
|
|
126777
|
-
Modeler$2.call(this, options);
|
|
126778
|
-
}
|
|
126779
|
-
|
|
126780
|
-
e$7(Modeler$1, Modeler$2);
|
|
126781
|
-
|
|
126782
|
-
/**
|
|
126783
|
-
* @param { {
|
|
126784
|
-
* disableAdjustOrigin?: boolean;
|
|
126785
|
-
* disableGrid?: boolean;
|
|
126786
|
-
* } } [options]
|
|
126787
|
-
*
|
|
126788
|
-
* @returns {ModuleDeclaration[]}
|
|
126789
|
-
*/
|
|
126790
|
-
Modeler$1.prototype.getModules = function(options = {}) {
|
|
126791
|
-
const modules = Modeler$2.prototype.getModules.call(this, options);
|
|
126792
|
-
|
|
126793
|
-
return [
|
|
126794
|
-
...modules,
|
|
126795
|
-
options.disableAdjustOrigin
|
|
126796
|
-
? diagramOriginModule
|
|
126797
|
-
: alignToOriginModule,
|
|
126798
|
-
options.disableGrid
|
|
126799
|
-
? {}
|
|
126800
|
-
: index$5
|
|
126801
|
-
];
|
|
126802
|
-
};
|
|
126803
|
-
|
|
126804
|
-
Modeler$1.prototype._extensionModules = [
|
|
126805
|
-
index$6,
|
|
126806
|
-
ExecutableFixModule,
|
|
126807
|
-
index$3$1,
|
|
126808
|
-
index$2$1
|
|
126809
|
-
];
|
|
126810
|
-
|
|
126811
|
-
Modeler$1.prototype._modules = [].concat(
|
|
126812
|
-
Modeler$2.prototype._modules,
|
|
126813
|
-
Modeler$1.prototype._extensionModules
|
|
128298
|
+
/**
|
|
128299
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
128300
|
+
*
|
|
128301
|
+
* @typedef {import('didi').ModuleDeclaration} ModuleDeclaration
|
|
128302
|
+
*/
|
|
128303
|
+
|
|
128304
|
+
/**
|
|
128305
|
+
*
|
|
128306
|
+
* @param {BaseViewerOptions} options
|
|
128307
|
+
*/
|
|
128308
|
+
function Modeler$1(options = {}) {
|
|
128309
|
+
Modeler$2.call(this, options);
|
|
128310
|
+
}
|
|
128311
|
+
|
|
128312
|
+
e$7(Modeler$1, Modeler$2);
|
|
128313
|
+
|
|
128314
|
+
/**
|
|
128315
|
+
* @param { {
|
|
128316
|
+
* disableAdjustOrigin?: boolean;
|
|
128317
|
+
* disableGrid?: boolean;
|
|
128318
|
+
* } } [options]
|
|
128319
|
+
*
|
|
128320
|
+
* @returns {ModuleDeclaration[]}
|
|
128321
|
+
*/
|
|
128322
|
+
Modeler$1.prototype.getModules = function(options = {}) {
|
|
128323
|
+
const modules = Modeler$2.prototype.getModules.call(this, options);
|
|
128324
|
+
|
|
128325
|
+
return [
|
|
128326
|
+
...modules,
|
|
128327
|
+
options.disableAdjustOrigin
|
|
128328
|
+
? diagramOriginModule
|
|
128329
|
+
: alignToOriginModule,
|
|
128330
|
+
options.disableGrid
|
|
128331
|
+
? {}
|
|
128332
|
+
: index$5
|
|
128333
|
+
];
|
|
128334
|
+
};
|
|
128335
|
+
|
|
128336
|
+
Modeler$1.prototype._extensionModules = [
|
|
128337
|
+
index$6,
|
|
128338
|
+
ExecutableFixModule,
|
|
128339
|
+
index$3$1,
|
|
128340
|
+
index$2$1
|
|
128341
|
+
];
|
|
128342
|
+
|
|
128343
|
+
Modeler$1.prototype._modules = [].concat(
|
|
128344
|
+
Modeler$2.prototype._modules,
|
|
128345
|
+
Modeler$1.prototype._extensionModules
|
|
126814
128346
|
);
|
|
126815
128347
|
|
|
126816
128348
|
/**
|
|
@@ -142676,7 +144208,7 @@
|
|
|
142676
144208
|
return newVariable;
|
|
142677
144209
|
}
|
|
142678
144210
|
|
|
142679
|
-
class EntriesContext extends VariableContext {
|
|
144211
|
+
class EntriesContext extends VariableContext$1 {
|
|
142680
144212
|
constructor(value = { entries: {} }) {
|
|
142681
144213
|
super(value);
|
|
142682
144214
|
|
|
@@ -142880,7 +144412,7 @@
|
|
|
142880
144412
|
* @returns {EntriesContext}
|
|
142881
144413
|
*/
|
|
142882
144414
|
function getResultContext(expression, variables = {}) {
|
|
142883
|
-
const contextTracker = trackVariables(variables, EntriesContext);
|
|
144415
|
+
const contextTracker = trackVariables$1(variables, EntriesContext);
|
|
142884
144416
|
|
|
142885
144417
|
// This is a hack to get the latest variables from the context tracker
|
|
142886
144418
|
// lezer does not automatically annotate the parse tree with the context
|
|
@@ -142895,7 +144427,7 @@
|
|
|
142895
144427
|
}
|
|
142896
144428
|
});
|
|
142897
144429
|
|
|
142898
|
-
const contextualParser = parser$
|
|
144430
|
+
const contextualParser = parser$3.configure({
|
|
142899
144431
|
contextTracker: customContextTracker
|
|
142900
144432
|
});
|
|
142901
144433
|
|
|
@@ -157237,7 +158769,7 @@
|
|
|
157237
158769
|
*/
|
|
157238
158770
|
_extractExpressionsWithDepth(template) {
|
|
157239
158771
|
// build simplified feelers syntax tree
|
|
157240
|
-
const parseTree = parser.parse(template);
|
|
158772
|
+
const parseTree = parser$1.parse(template);
|
|
157241
158773
|
const tree = buildSimpleTree(parseTree, template);
|
|
157242
158774
|
return function _traverse(n, depth = 0) {
|
|
157243
158775
|
if (['Feel', 'FeelBlock'].includes(n.name)) {
|
|
@@ -164583,17 +166115,17 @@
|
|
|
164583
166115
|
types: types
|
|
164584
166116
|
};
|
|
164585
166117
|
|
|
164586
|
-
const commonModules = [
|
|
164587
|
-
iconRendererModule
|
|
164588
|
-
];
|
|
164589
|
-
|
|
164590
|
-
/**
|
|
164591
|
-
* @type { {
|
|
164592
|
-
* zeebe: any
|
|
164593
|
-
* } }
|
|
164594
|
-
*/
|
|
164595
|
-
const commonModdleExtensions = {
|
|
164596
|
-
zeebe: zeebeModdle
|
|
166118
|
+
const commonModules = [
|
|
166119
|
+
iconRendererModule
|
|
166120
|
+
];
|
|
166121
|
+
|
|
166122
|
+
/**
|
|
166123
|
+
* @type { {
|
|
166124
|
+
* zeebe: any
|
|
166125
|
+
* } }
|
|
166126
|
+
*/
|
|
166127
|
+
const commonModdleExtensions = {
|
|
166128
|
+
zeebe: zeebeModdle
|
|
164597
166129
|
};
|
|
164598
166130
|
|
|
164599
166131
|
/**
|
|
@@ -168826,158 +170358,158 @@
|
|
|
168826
170358
|
]
|
|
168827
170359
|
};
|
|
168828
170360
|
|
|
168829
|
-
/**
|
|
168830
|
-
* @typedef { import('diagram-js/lib/features/popup-menu/PopupMenu').default } PopupMenu
|
|
168831
|
-
* @typedef { import('diagram-js/lib/model').Element } Element
|
|
168832
|
-
* @typedef { import('diagram-js/lib/features/popup-menu/PopupMenuProvider').PopupMenuEntries } PopupMenuEntries
|
|
168833
|
-
*/
|
|
168834
|
-
|
|
168835
|
-
|
|
168836
|
-
const LOW_PRIORITY = 250;
|
|
168837
|
-
|
|
168838
|
-
const ANNOTATIONS = [
|
|
168839
|
-
{
|
|
168840
|
-
entries: [
|
|
168841
|
-
'replace-with-call-activity',
|
|
168842
|
-
'append-call-activity',
|
|
168843
|
-
'create-call-activity'
|
|
168844
|
-
],
|
|
168845
|
-
search: 'child process'
|
|
168846
|
-
},
|
|
168847
|
-
{
|
|
168848
|
-
entries: [
|
|
168849
|
-
'replace-with-receive-task',
|
|
168850
|
-
'append-receive-task',
|
|
168851
|
-
'create-receive-task'
|
|
168852
|
-
],
|
|
168853
|
-
search: 'message'
|
|
168854
|
-
},
|
|
168855
|
-
{
|
|
168856
|
-
entries: [
|
|
168857
|
-
'replace-with-rule-task',
|
|
168858
|
-
'append-rule-task',
|
|
168859
|
-
'create-rule-task'
|
|
168860
|
-
],
|
|
168861
|
-
search: 'dmn decision'
|
|
168862
|
-
},
|
|
168863
|
-
{
|
|
168864
|
-
entries: [
|
|
168865
|
-
'replace-with-service-task',
|
|
168866
|
-
'append-service-task',
|
|
168867
|
-
'create-service-task',
|
|
168868
|
-
],
|
|
168869
|
-
search: [ 'job worker', 'job worker' ] // double mention to increase ranking in search result
|
|
168870
|
-
},
|
|
168871
|
-
{
|
|
168872
|
-
entries: [
|
|
168873
|
-
'replace-with-script-task',
|
|
168874
|
-
'append-script-task',
|
|
168875
|
-
'create-script-task',
|
|
168876
|
-
'replace-with-send-task',
|
|
168877
|
-
'append-send-task',
|
|
168878
|
-
'create-send-task',
|
|
168879
|
-
'replace-with-message-intermediate-throw',
|
|
168880
|
-
'append-message-intermediate-throw',
|
|
168881
|
-
'create-message-intermediate-throw',
|
|
168882
|
-
'replace-with-message-end',
|
|
168883
|
-
'append-message-end',
|
|
168884
|
-
'create-message-end'
|
|
168885
|
-
],
|
|
168886
|
-
search: 'job worker'
|
|
168887
|
-
},
|
|
168888
|
-
{
|
|
168889
|
-
entries: [
|
|
168890
|
-
'replace-with-user-task',
|
|
168891
|
-
'append-user-task',
|
|
168892
|
-
'create-user-task'
|
|
168893
|
-
],
|
|
168894
|
-
search: 'form human'
|
|
168895
|
-
}
|
|
168896
|
-
];
|
|
168897
|
-
|
|
168898
|
-
const ANNOTATIONS_KEYED = reduce(ANNOTATIONS, (annotationsKeyed, annotation) => {
|
|
168899
|
-
|
|
168900
|
-
const { entries, search } = annotation;
|
|
168901
|
-
|
|
168902
|
-
for (const entry of entries) {
|
|
168903
|
-
if (annotationsKeyed[entry]) {
|
|
168904
|
-
annotationsKeyed[entry].search += ' ' + search;
|
|
168905
|
-
} else {
|
|
168906
|
-
annotationsKeyed[entry] = { search };
|
|
168907
|
-
}
|
|
168908
|
-
}
|
|
168909
|
-
|
|
168910
|
-
return annotationsKeyed;
|
|
168911
|
-
}, {});
|
|
168912
|
-
|
|
168913
|
-
|
|
168914
|
-
/**
|
|
168915
|
-
* @param { PopupMenu } popupMenu
|
|
168916
|
-
*
|
|
168917
|
-
* @implements PopupMenuProvider
|
|
168918
|
-
*/
|
|
168919
|
-
function CamundaDetailsPopupMenuProvider(popupMenu) {
|
|
168920
|
-
|
|
168921
|
-
this._popupMenu = popupMenu;
|
|
168922
|
-
|
|
168923
|
-
this.register();
|
|
168924
|
-
}
|
|
168925
|
-
|
|
168926
|
-
CamundaDetailsPopupMenuProvider.$inject = [ 'popupMenu' ];
|
|
168927
|
-
|
|
168928
|
-
|
|
168929
|
-
/**
|
|
168930
|
-
* Register create menu provider in the popup menu
|
|
168931
|
-
*/
|
|
168932
|
-
CamundaDetailsPopupMenuProvider.prototype.register = function() {
|
|
168933
|
-
|
|
168934
|
-
// plug-into create-append-anything <create> menu
|
|
168935
|
-
this._popupMenu.registerProvider('bpmn-create', LOW_PRIORITY, this);
|
|
168936
|
-
|
|
168937
|
-
// plug-into create-append-anything <append> menu
|
|
168938
|
-
this._popupMenu.registerProvider('bpmn-append', LOW_PRIORITY, this);
|
|
168939
|
-
|
|
168940
|
-
// plug-into <replace> menu
|
|
168941
|
-
this._popupMenu.registerProvider('bpmn-replace', LOW_PRIORITY, this);
|
|
168942
|
-
};
|
|
168943
|
-
|
|
168944
|
-
|
|
168945
|
-
/**
|
|
168946
|
-
* Returns the create options as menu entries
|
|
168947
|
-
*
|
|
168948
|
-
* @param { Element } _element
|
|
168949
|
-
*/
|
|
168950
|
-
CamundaDetailsPopupMenuProvider.prototype.getPopupMenuEntries = function(_element) {
|
|
168951
|
-
|
|
168952
|
-
/**
|
|
168953
|
-
* @param { PopupMenuEntries } existingEntries
|
|
168954
|
-
*
|
|
168955
|
-
* @return { PopupMenuEntries }
|
|
168956
|
-
*/
|
|
168957
|
-
return (existingEntries) => {
|
|
168958
|
-
|
|
168959
|
-
return Object.entries(existingEntries).reduce((entries, [ name, entry ]) => {
|
|
168960
|
-
|
|
168961
|
-
entries[name] = this._annotateEntry(name, entry);
|
|
168962
|
-
|
|
168963
|
-
return entries;
|
|
168964
|
-
}, { });
|
|
168965
|
-
};
|
|
168966
|
-
|
|
168967
|
-
};
|
|
168968
|
-
|
|
168969
|
-
CamundaDetailsPopupMenuProvider.prototype._annotateEntry = function(name, entry) {
|
|
168970
|
-
|
|
168971
|
-
const annotation = ANNOTATIONS_KEYED[name];
|
|
168972
|
-
|
|
168973
|
-
if (annotation) {
|
|
168974
|
-
return {
|
|
168975
|
-
...entry,
|
|
168976
|
-
search: entry.search ? `${ entry.search } ${ annotation.search }` : annotation.search
|
|
168977
|
-
};
|
|
168978
|
-
}
|
|
168979
|
-
|
|
168980
|
-
return entry;
|
|
170361
|
+
/**
|
|
170362
|
+
* @typedef { import('diagram-js/lib/features/popup-menu/PopupMenu').default } PopupMenu
|
|
170363
|
+
* @typedef { import('diagram-js/lib/model').Element } Element
|
|
170364
|
+
* @typedef { import('diagram-js/lib/features/popup-menu/PopupMenuProvider').PopupMenuEntries } PopupMenuEntries
|
|
170365
|
+
*/
|
|
170366
|
+
|
|
170367
|
+
|
|
170368
|
+
const LOW_PRIORITY = 250;
|
|
170369
|
+
|
|
170370
|
+
const ANNOTATIONS = [
|
|
170371
|
+
{
|
|
170372
|
+
entries: [
|
|
170373
|
+
'replace-with-call-activity',
|
|
170374
|
+
'append-call-activity',
|
|
170375
|
+
'create-call-activity'
|
|
170376
|
+
],
|
|
170377
|
+
search: 'child process'
|
|
170378
|
+
},
|
|
170379
|
+
{
|
|
170380
|
+
entries: [
|
|
170381
|
+
'replace-with-receive-task',
|
|
170382
|
+
'append-receive-task',
|
|
170383
|
+
'create-receive-task'
|
|
170384
|
+
],
|
|
170385
|
+
search: 'message'
|
|
170386
|
+
},
|
|
170387
|
+
{
|
|
170388
|
+
entries: [
|
|
170389
|
+
'replace-with-rule-task',
|
|
170390
|
+
'append-rule-task',
|
|
170391
|
+
'create-rule-task'
|
|
170392
|
+
],
|
|
170393
|
+
search: 'dmn decision'
|
|
170394
|
+
},
|
|
170395
|
+
{
|
|
170396
|
+
entries: [
|
|
170397
|
+
'replace-with-service-task',
|
|
170398
|
+
'append-service-task',
|
|
170399
|
+
'create-service-task',
|
|
170400
|
+
],
|
|
170401
|
+
search: [ 'job worker', 'job worker' ] // double mention to increase ranking in search result
|
|
170402
|
+
},
|
|
170403
|
+
{
|
|
170404
|
+
entries: [
|
|
170405
|
+
'replace-with-script-task',
|
|
170406
|
+
'append-script-task',
|
|
170407
|
+
'create-script-task',
|
|
170408
|
+
'replace-with-send-task',
|
|
170409
|
+
'append-send-task',
|
|
170410
|
+
'create-send-task',
|
|
170411
|
+
'replace-with-message-intermediate-throw',
|
|
170412
|
+
'append-message-intermediate-throw',
|
|
170413
|
+
'create-message-intermediate-throw',
|
|
170414
|
+
'replace-with-message-end',
|
|
170415
|
+
'append-message-end',
|
|
170416
|
+
'create-message-end'
|
|
170417
|
+
],
|
|
170418
|
+
search: 'job worker'
|
|
170419
|
+
},
|
|
170420
|
+
{
|
|
170421
|
+
entries: [
|
|
170422
|
+
'replace-with-user-task',
|
|
170423
|
+
'append-user-task',
|
|
170424
|
+
'create-user-task'
|
|
170425
|
+
],
|
|
170426
|
+
search: 'form human'
|
|
170427
|
+
}
|
|
170428
|
+
];
|
|
170429
|
+
|
|
170430
|
+
const ANNOTATIONS_KEYED = reduce(ANNOTATIONS, (annotationsKeyed, annotation) => {
|
|
170431
|
+
|
|
170432
|
+
const { entries, search } = annotation;
|
|
170433
|
+
|
|
170434
|
+
for (const entry of entries) {
|
|
170435
|
+
if (annotationsKeyed[entry]) {
|
|
170436
|
+
annotationsKeyed[entry].search += ' ' + search;
|
|
170437
|
+
} else {
|
|
170438
|
+
annotationsKeyed[entry] = { search };
|
|
170439
|
+
}
|
|
170440
|
+
}
|
|
170441
|
+
|
|
170442
|
+
return annotationsKeyed;
|
|
170443
|
+
}, {});
|
|
170444
|
+
|
|
170445
|
+
|
|
170446
|
+
/**
|
|
170447
|
+
* @param { PopupMenu } popupMenu
|
|
170448
|
+
*
|
|
170449
|
+
* @implements PopupMenuProvider
|
|
170450
|
+
*/
|
|
170451
|
+
function CamundaDetailsPopupMenuProvider(popupMenu) {
|
|
170452
|
+
|
|
170453
|
+
this._popupMenu = popupMenu;
|
|
170454
|
+
|
|
170455
|
+
this.register();
|
|
170456
|
+
}
|
|
170457
|
+
|
|
170458
|
+
CamundaDetailsPopupMenuProvider.$inject = [ 'popupMenu' ];
|
|
170459
|
+
|
|
170460
|
+
|
|
170461
|
+
/**
|
|
170462
|
+
* Register create menu provider in the popup menu
|
|
170463
|
+
*/
|
|
170464
|
+
CamundaDetailsPopupMenuProvider.prototype.register = function() {
|
|
170465
|
+
|
|
170466
|
+
// plug-into create-append-anything <create> menu
|
|
170467
|
+
this._popupMenu.registerProvider('bpmn-create', LOW_PRIORITY, this);
|
|
170468
|
+
|
|
170469
|
+
// plug-into create-append-anything <append> menu
|
|
170470
|
+
this._popupMenu.registerProvider('bpmn-append', LOW_PRIORITY, this);
|
|
170471
|
+
|
|
170472
|
+
// plug-into <replace> menu
|
|
170473
|
+
this._popupMenu.registerProvider('bpmn-replace', LOW_PRIORITY, this);
|
|
170474
|
+
};
|
|
170475
|
+
|
|
170476
|
+
|
|
170477
|
+
/**
|
|
170478
|
+
* Returns the create options as menu entries
|
|
170479
|
+
*
|
|
170480
|
+
* @param { Element } _element
|
|
170481
|
+
*/
|
|
170482
|
+
CamundaDetailsPopupMenuProvider.prototype.getPopupMenuEntries = function(_element) {
|
|
170483
|
+
|
|
170484
|
+
/**
|
|
170485
|
+
* @param { PopupMenuEntries } existingEntries
|
|
170486
|
+
*
|
|
170487
|
+
* @return { PopupMenuEntries }
|
|
170488
|
+
*/
|
|
170489
|
+
return (existingEntries) => {
|
|
170490
|
+
|
|
170491
|
+
return Object.entries(existingEntries).reduce((entries, [ name, entry ]) => {
|
|
170492
|
+
|
|
170493
|
+
entries[name] = this._annotateEntry(name, entry);
|
|
170494
|
+
|
|
170495
|
+
return entries;
|
|
170496
|
+
}, { });
|
|
170497
|
+
};
|
|
170498
|
+
|
|
170499
|
+
};
|
|
170500
|
+
|
|
170501
|
+
CamundaDetailsPopupMenuProvider.prototype._annotateEntry = function(name, entry) {
|
|
170502
|
+
|
|
170503
|
+
const annotation = ANNOTATIONS_KEYED[name];
|
|
170504
|
+
|
|
170505
|
+
if (annotation) {
|
|
170506
|
+
return {
|
|
170507
|
+
...entry,
|
|
170508
|
+
search: entry.search ? `${ entry.search } ${ annotation.search }` : annotation.search
|
|
170509
|
+
};
|
|
170510
|
+
}
|
|
170511
|
+
|
|
170512
|
+
return entry;
|
|
168981
170513
|
};
|
|
168982
170514
|
|
|
168983
170515
|
var camundaDetailsPopupMenuModule = {
|