forked from extern/bruno
33 lines
679 B
JavaScript
33 lines
679 B
JavaScript
|
import each from 'lodash/each';
|
||
|
import find from 'lodash/find';
|
||
|
|
||
|
export const flattenItems = (items = []) => {
|
||
|
const flattenedItems = [];
|
||
|
|
||
|
const flatten = (itms, flattened) => {
|
||
|
each(itms, (i) => {
|
||
|
flattened.push(i);
|
||
|
|
||
|
if(i.items && i.items.length) {
|
||
|
flatten(i.items, flattened);
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
|
||
|
flatten(items, flattenedItems);
|
||
|
|
||
|
return flattenedItems;
|
||
|
};
|
||
|
|
||
|
export const findItem = (items = [], itemId) => {
|
||
|
return find(items, (i) => i.id === itemId);
|
||
|
};
|
||
|
|
||
|
export const isItemARequest = (item) => {
|
||
|
return item.hasOwnProperty('request');
|
||
|
};
|
||
|
|
||
|
export const itemIsOpenedInTabs = (item, tabs) => {
|
||
|
return find(tabs, (t) => t.id === item.id);
|
||
|
};
|