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} 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; }