@bpmn-io/dmn-variable-resolver
Advanced tools
Comparing version 0.2.2 to 0.3.0
@@ -37,2 +37,6 @@ /** @typedef {import('./VariableResolver').Variable} Variable */ | ||
} | ||
for (const knowledgeRequirement of decision.get('knowledgeRequirement')) { | ||
handleKnowledgeRequirement(knowledgeRequirement, context); | ||
} | ||
} | ||
@@ -134,2 +138,36 @@ | ||
function handleKnowledgeRequirement(knowledgeRequirement, context) { | ||
const requiredKnowledge = knowledgeRequirement.get('requiredKnowledge'); | ||
if (requiredKnowledge) { | ||
handleRequiredKnowledge(requiredKnowledge, context); | ||
} | ||
} | ||
function handleRequiredKnowledge(reference, context) { | ||
const invocable = getReferencedElement(reference, context.rootElement); | ||
if (!invocable) { | ||
return; | ||
} | ||
if (is(invocable, 'dmn:BusinessKnowledgeModel')) { | ||
handleBusinessKnowledgeModel(invocable, context); | ||
} | ||
} | ||
function handleBusinessKnowledgeModel(bkm, context) { | ||
const name = bkm.get('name'); | ||
/** @type Variable */ | ||
const variable = { | ||
name | ||
}; | ||
context.variables.push(variable); | ||
} | ||
// helpers ////////////////////// | ||
function getRootElement(element) { | ||
@@ -160,2 +198,2 @@ let rootElement = element; | ||
return moddleElement.$instanceOf(type); | ||
} | ||
} |
{ | ||
"name": "@bpmn-io/dmn-variable-resolver", | ||
"version": "0.2.2", | ||
"version": "0.3.0", | ||
"description": "dmn-js plugin for resolving available variables", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
8209
194