From 6b2fb9bc391a39cdd07c5554a813ed8a72a100d8 Mon Sep 17 00:00:00 2001 From: svetlagasheva Date: Wed, 26 Feb 2020 14:14:08 +0200 Subject: [PATCH] reduce used instead of new Set --- src/routes/Addons/useAddons.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/routes/Addons/useAddons.js b/src/routes/Addons/useAddons.js index 4f7e857b8..0659212f2 100644 --- a/src/routes/Addons/useAddons.js +++ b/src/routes/Addons/useAddons.js @@ -14,18 +14,20 @@ const initAddonsState = () => ({ }); const mapAddonsStateWithCtx = (addons, ctx) => { - const installedSelectableTypes = [...new Set([].concat(...ctx.profile.addons.map(addon => addon.manifest.types)))].map((type) => ({ - name: type, - request: { - base: INSTALLED_CATALOG_BASE, - path: { - resource: 'addon_catalog', - type_name: type, - id: INSTALLED_CATALOG_ID, - extra: [] + const installedSelectableTypes = ctx.profile.addons.map(addon => addon.manifest.types) + .reduce((uniqueTypes, types) => uniqueTypes.concat(types.filter((type) => !uniqueTypes.includes(type))), []) + .map((type) => ({ + name: type, + request: { + base: INSTALLED_CATALOG_BASE, + path: { + resource: 'addon_catalog', + type_name: type, + id: INSTALLED_CATALOG_ID, + extra: [] + } } - } - })); + })); const selectable = { types: addons.selected !== null && addons.selected.request.path.id === INSTALLED_CATALOG_ID ? installedSelectableTypes : addons.selectable.types, catalogs: addons.selectable.catalogs.concat({