bpmn-js-cli
Version:
A command-line interface for bpmn-js
32 lines (25 loc) • 600 B
JavaScript
import {
isObject
} from 'min-dash';
export default function ElementParser(elementRegistry) {
return function(arg, options) {
// assume element passed is shape already
if (isObject(arg)) {
return arg;
}
var e = elementRegistry.get(arg);
if (!e) {
if (options.optional) {
return null;
} else {
if (arg) {
throw new Error('element with id <' + arg + '> does not exist');
} else {
throw new Error('argument required');
}
}
}
return e;
};
}
ElementParser.$inject = [ 'elementRegistry' ];