UNPKG

@talentsoft-opensource/widget-display-tool

Version:

Widget Simulator

26 lines (20 loc) 838 B
const pattern: string = "integration/"; const patternMock: string = pattern + "mock"; const property: string = "Widget"; const regexp = new RegExp(pattern, "i"); const regexpMock = new RegExp(patternMock, "i"); export function getWidgetDefinition (window: any, isMockWidget: boolean = false) { const filterName = (name: string) => isMockWidget ? name.match(regexpMock) : name.match(regexp) && !name.match(regexpMock); const widgetNames = Object.keys(window) .filter(name => filterName(name) && window[name].hasOwnProperty(property)); if (widgetNames.length) { const name: string = widgetNames[0]; return { name: name.substring(name.lastIndexOf('/') + 1), component: window[name].Widget }; } return null; }