import { some } from 'min-dash';
|
|
/**
|
* Is an element of the given BPMN type?
|
*
|
* @param {djs.model.Base|ModdleElement} element
|
* @param {string} type
|
*
|
* @return {boolean}
|
*/
|
export function is(element: any, type: any) {
|
var bo = getBusinessObject(element);
|
|
return bo && typeof bo.$instanceOf === 'function' && bo.$instanceOf(type);
|
}
|
|
/**
|
* Return true if element has any of the given types.
|
*
|
* @param {djs.model.Base} element
|
* @param {Array<string>} types
|
*
|
* @return {boolean}
|
*/
|
export function isAny(element: any, types: any) {
|
return some(types, function (t: any) {
|
return is(element, t);
|
});
|
}
|
|
/**
|
* Return the business object for a given element.
|
*
|
* @param {djs.model.Base|ModdleElement} element
|
*
|
* @return {ModdleElement}
|
*/
|
export function getBusinessObject(element: any) {
|
return (element && element.businessObject) || element;
|
}
|
|
/**
|
* Return the di object for a given element.
|
*
|
* @param {djs.model.Base} element
|
*
|
* @return {ModdleElement}
|
*/
|
export function getDi(element: any) {
|
return element && element.di;
|
}
|