From c836eb401f90018a0ff91dd701037a6042b8e2f5 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Tue, 26 Nov 2019 21:56:37 +0100 Subject: [PATCH] disco: Import individual lodash methods --- src/headless/converse-disco.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/headless/converse-disco.js b/src/headless/converse-disco.js index 952b7783cf..8057acee7f 100644 --- a/src/headless/converse-disco.js +++ b/src/headless/converse-disco.js @@ -8,11 +8,12 @@ * @description * Converse plugin which add support for XEP-0030: Service Discovery */ +import { get, isEmpty, isObject } from "lodash"; import converse from "./converse-core"; import log from "./log"; import sizzle from "sizzle"; -const { Backbone, Strophe, $iq, utils, _ } = converse.env; +const { Backbone, Strophe, $iq, utils } = converse.env; converse.plugins.add('converse-disco', { @@ -174,7 +175,7 @@ converse.plugins.add('converse-disco', { }, async queryForItems () { - if (_.isEmpty(this.identities.where({'category': 'server'}))) { + if (isEmpty(this.identities.where({'category': 'server'}))) { // Don't fetch features and items if this is not a // server or a conference component. return; @@ -196,7 +197,7 @@ converse.plugins.add('converse-disco', { const data = {}; sizzle('field', form).forEach(field => { data[field.getAttribute('var')] = { - 'value': _.get(field.querySelector('value'), 'textContent'), + 'value': get(field.querySelector('value'), 'textContent'), 'type': field.getAttribute('type') }; }); @@ -217,7 +218,7 @@ converse.plugins.add('converse-disco', { sizzle('x[type="result"][xmlns="jabber:x:data"] field', stanza).forEach(field => { this.fields.create({ 'var': field.getAttribute('var'), - 'value': _.get(field.querySelector('value'), 'textContent'), + 'value': get(field.querySelector('value'), 'textContent'), 'from': stanza.getAttribute('from') }); }); @@ -660,12 +661,9 @@ converse.plugins.add('converse-disco', { return; } entity = await entity.waitUntilFeaturesDiscovered; - const promises = _.concat( - entity.items.map(item => item.hasFeature(feature)), - entity.hasFeature(feature) - ); + const promises = [...entity.items.map(i => i.hasFeature(feature)), entity.hasFeature(feature)]; const result = await Promise.all(promises); - return _.filter(result, _.isObject); + return result.filter(isObject); } },