Replace lodash methods with native ones and remove lodash.fp
This commit is contained in:
parent
b1ef3f5b24
commit
6193a9dc80
|
@ -261,7 +261,7 @@
|
|||
// You can retrieve multiple contacts by passing in an array
|
||||
const jid2 = mock.cur_names[1].replace(/ /g,'.').toLowerCase() + '@localhost';
|
||||
let list = await _converse.api.contacts.get([jid, jid2]);
|
||||
expect(_.isArray(list)).toBeTruthy();
|
||||
expect(Array.isArray(list)).toBeTruthy();
|
||||
expect(list[0].get('fullname')).toBe(mock.cur_names[0]);
|
||||
expect(list[1].get('fullname')).toBe(mock.cur_names[1]);
|
||||
// Check that all JIDs are returned if you call without any parameters
|
||||
|
@ -313,7 +313,7 @@
|
|||
test_utils.openChatBoxFor(_converse, jid2);
|
||||
await test_utils.waitUntil(() => _converse.chatboxes.length == 2);
|
||||
const list = _converse.api.chats.get([jid, jid2]);
|
||||
expect(_.isArray(list)).toBeTruthy();
|
||||
expect(Array.isArray(list)).toBeTruthy();
|
||||
expect(list[0].get('box_id')).toBe(`box-${btoa(jid)}`);
|
||||
expect(list[1].get('box_id')).toBe(`box-${btoa(jid2)}`);
|
||||
done();
|
||||
|
@ -343,7 +343,7 @@
|
|||
expect(u.isVisible(chatboxview.el)).toBeTruthy();
|
||||
// Test for multiple JIDs
|
||||
const list = await _converse.api.chats.open([jid, jid2]);
|
||||
expect(_.isArray(list)).toBeTruthy();
|
||||
expect(Array.isArray(list)).toBeTruthy();
|
||||
expect(list[0].get('box_id')).toBe(`box-${btoa(jid)}`);
|
||||
expect(list[1].get('box_id')).toBe(`box-${btoa(jid2)}`);
|
||||
done();
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
const $iq = converse.env.$iq;
|
||||
const Strophe = converse.env.Strophe;
|
||||
const _ = converse.env._;
|
||||
const f = converse.env.f;
|
||||
|
||||
describe("XEP-0357 Push Notifications", function () {
|
||||
|
||||
|
@ -30,7 +29,7 @@
|
|||
_converse.bare_jid,
|
||||
[{'category': 'account', 'type':'registered'}],
|
||||
['urn:xmpp:push:0'], [], 'info');
|
||||
const node = await test_utils.waitUntil(() =>
|
||||
const node = await test_utils.waitUntil(() =>
|
||||
_.filter(IQ_stanzas, iq => iq.nodeTree.querySelector('iq[type="set"] enable[xmlns="urn:xmpp:push:0"]')).pop()
|
||||
);
|
||||
const stanza = node.nodeTree;
|
||||
|
@ -84,7 +83,7 @@
|
|||
'type': 'result',
|
||||
'id': stanza.nodeTree.getAttribute('id')
|
||||
})));
|
||||
await test_utils.waitUntil(() => f.includes('chat.shakespeare.lit', _converse.session.get('push_enabled')));
|
||||
await test_utils.waitUntil(() => _.includes(_converse.session.get('push_enabled'), 'chat.shakespeare.lit'));
|
||||
done();
|
||||
}));
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ import tpl_user_details_modal from "templates/user_details_modal.html";
|
|||
import u from "@converse/headless/utils/emoji";
|
||||
import xss from "xss/dist/xss";
|
||||
|
||||
const { $msg, Backbone, Promise, Strophe, _, b64_sha1, f, sizzle, dayjs } = converse.env;
|
||||
const { $msg, Backbone, Promise, Strophe, _, b64_sha1, sizzle, dayjs } = converse.env;
|
||||
|
||||
|
||||
converse.plugins.add('converse-chatview', {
|
||||
|
@ -593,10 +593,7 @@ converse.plugins.add('converse-chatview', {
|
|||
},
|
||||
|
||||
clearSpinner () {
|
||||
_.each(
|
||||
this.content.querySelectorAll('span.spinner'),
|
||||
(el) => el.parentNode.removeChild(el)
|
||||
);
|
||||
this.content.querySelectorAll('.spinner').forEach(u.removeElement);
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -696,7 +693,7 @@ converse.plugins.add('converse-chatview', {
|
|||
},
|
||||
|
||||
showHelpMessages (msgs, type, spinner) {
|
||||
_.each(msgs, (msg) => {
|
||||
msgs.forEach(msg => {
|
||||
this.content.insertAdjacentHTML(
|
||||
'beforeend',
|
||||
tpl_help_message({
|
||||
|
@ -996,7 +993,7 @@ converse.plugins.add('converse-chatview', {
|
|||
},
|
||||
|
||||
getOwnMessages () {
|
||||
return f(this.model.messages.filter({'sender': 'me'}));
|
||||
return this.model.messages.filter({'sender': 'me'});
|
||||
},
|
||||
|
||||
onEscapePressed (ev) {
|
||||
|
@ -1065,7 +1062,7 @@ converse.plugins.add('converse-chatview', {
|
|||
}
|
||||
}
|
||||
}
|
||||
message = message || this.getOwnMessages().findLast((msg) => msg.get('message'));
|
||||
message = message || _.findLast(this.getOwnMessages(), msg => msg.get('message'));
|
||||
if (message) {
|
||||
this.insertIntoTextArea(message.get('message'), true, true);
|
||||
message.save('correcting', true);
|
||||
|
|
|
@ -12,7 +12,6 @@ import "converse-rosterview";
|
|||
import _FormData from "formdata-polyfill";
|
||||
import bootstrap from "bootstrap.native";
|
||||
import converse from "@converse/headless/converse-core";
|
||||
import fp from "@converse/headless/lodash.fp";
|
||||
import tpl_brand_heading from "templates/converse_brand_heading.html";
|
||||
import tpl_controlbox from "templates/controlbox.html";
|
||||
import tpl_controlbox_toggle from "templates/controlbox_toggle.html";
|
||||
|
|
|
@ -26,7 +26,7 @@ converse.plugins.add('converse-embedded', {
|
|||
'hide_muc_server': true
|
||||
});
|
||||
const { _converse } = this;
|
||||
if (!_.isArray(_converse.auto_join_rooms) && !_.isArray(_converse.auto_join_private_chats)) {
|
||||
if (!Array.isArray(_converse.auto_join_rooms) && !_.isArray(_converse.auto_join_private_chats)) {
|
||||
throw new Error("converse-embedded: auto_join_rooms must be an Array");
|
||||
}
|
||||
if (_converse.auto_join_rooms.length > 1 && _converse.auto_join_private_chats.length > 1) {
|
||||
|
|
|
@ -38,7 +38,7 @@ import tpl_spinner from "templates/spinner.html";
|
|||
import xss from "xss/dist/xss";
|
||||
|
||||
|
||||
const { Backbone, Promise, Strophe, dayjs, f, sizzle, _, $build, $iq, $msg, $pres } = converse.env;
|
||||
const { Backbone, Promise, Strophe, dayjs, sizzle, _, $build, $iq, $msg, $pres } = converse.env;
|
||||
const u = converse.env.utils;
|
||||
const AFFILIATION_CHANGE_COMANDS = ['admin', 'ban', 'owner', 'member', 'revoke'];
|
||||
const OWNER_COMMANDS = ['owner'];
|
||||
|
@ -341,9 +341,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
},
|
||||
|
||||
removeSpinner () {
|
||||
_.each(this.el.querySelectorAll('span.spinner'),
|
||||
(el) => el.parentNode.removeChild(el)
|
||||
);
|
||||
sizzle('.spinner', this.el).forEach(u.removeElement);
|
||||
},
|
||||
|
||||
informNoRoomsFound () {
|
||||
|
@ -359,12 +357,14 @@ converse.plugins.add('converse-muc-views', {
|
|||
* all its public groupchats.
|
||||
*/
|
||||
const available_chatrooms = this.el.querySelector('.available-chatrooms');
|
||||
this.rooms = iq.querySelectorAll('query item');
|
||||
if (this.rooms.length) {
|
||||
const rooms = sizzle('query item', iq);
|
||||
if (rooms.length) {
|
||||
available_chatrooms.innerHTML = tpl_rooms_results({'feedback_text': __('Groupchats found:')});
|
||||
const fragment = document.createDocumentFragment();
|
||||
const children = _.reject(_.map(this.rooms, this.roomStanzaItemToHTMLElement), _.isNil)
|
||||
_.each(children, (child) => fragment.appendChild(child));
|
||||
rooms.map(this.roomStanzaItemToHTMLElement)
|
||||
.filter(r => r)
|
||||
.forEach(child => fragment.appendChild(child));
|
||||
|
||||
available_chatrooms.appendChild(fragment);
|
||||
this.removeSpinner();
|
||||
} else {
|
||||
|
@ -890,26 +890,28 @@ converse.plugins.add('converse-muc-views', {
|
|||
if (!occupant) {
|
||||
occupant = this.model.occupants.findWhere({'jid': _converse.bare_jid});
|
||||
}
|
||||
if (!_.includes(roles, occupant.get('role'))) {
|
||||
if (show_error) {
|
||||
this.showErrorMessage(__('Forbidden: you do not have the necessary role in order to do that.'))
|
||||
}
|
||||
return false;
|
||||
const role = occupant.get('role');
|
||||
if (Array.isArray(roles) && roles.includes(role) || roles === role) {
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
if (show_error) {
|
||||
this.showErrorMessage(__('Forbidden: you do not have the necessary role in order to do that.'))
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
verifyAffiliations (affiliations, occupant, show_error=true) {
|
||||
if (!occupant) {
|
||||
occupant = this.model.occupants.findWhere({'jid': _converse.bare_jid});
|
||||
}
|
||||
if (!_.includes(affiliations, occupant.get('affiliation'))) {
|
||||
if (show_error) {
|
||||
this.showErrorMessage(__('Forbidden: you do not have the necessary affiliation in order to do that.'))
|
||||
}
|
||||
return false;
|
||||
const a = occupant.get('affiliation');
|
||||
if (Array.isArray(affiliations) && affiliations.includes(a) || affiliations === a) {
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
if (show_error) {
|
||||
this.showErrorMessage(__('Forbidden: you do not have the necessary affiliation in order to do that.'))
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
validateRoleChangeCommand (command, args) {
|
||||
|
@ -922,9 +924,9 @@ converse.plugins.add('converse-muc-views', {
|
|||
);
|
||||
return false;
|
||||
}
|
||||
if (!(_.includes(AFFILIATION_CHANGE_COMANDS, command) && u.isValidJID(args[0])) &&
|
||||
if (!(AFFILIATION_CHANGE_COMANDS.includes(command) && u.isValidJID(args[0])) &&
|
||||
!this.model.occupants.findWhere({'nick': args[0]}) &&
|
||||
!this.model.occupants.findWhere({'jid': args[0]})) {
|
||||
!this.model.occupants.findWhere({'jid': args[0]})) {
|
||||
this.showErrorMessage(__('Error: couldn\'t find a groupchat participant "%1$s"', args[0]));
|
||||
return false;
|
||||
}
|
||||
|
@ -937,14 +939,13 @@ converse.plugins.add('converse-muc-views', {
|
|||
},
|
||||
|
||||
parseMessageForCommands (text) {
|
||||
if (_converse.muc_disable_slash_commands &&
|
||||
!_.isArray(_converse.muc_disable_slash_commands)) {
|
||||
if (_converse.muc_disable_slash_commands && !Array.isArray(_converse.muc_disable_slash_commands)) {
|
||||
return _converse.ChatBoxView.prototype.parseMessageForCommands.apply(this, arguments);
|
||||
}
|
||||
const match = text.replace(/^\s*/, "").match(/^\/(.*?)(?: (.*))?$/) || [false, '', ''],
|
||||
args = match[2] && match[2].splitOnce(' ').filter(s => s) || [],
|
||||
command = match[1].toLowerCase(),
|
||||
disabled_commands = _.isArray(_converse.muc_disable_slash_commands) ?
|
||||
disabled_commands = Array.isArray(_converse.muc_disable_slash_commands) ?
|
||||
_converse.muc_disable_slash_commands : [];
|
||||
if (_.includes(disabled_commands, command)) {
|
||||
return false;
|
||||
|
@ -992,7 +993,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
break;
|
||||
}
|
||||
case 'destroy': {
|
||||
if (!this.verifyAffiliations(['owner'])) {
|
||||
if (!this.verifyAffiliations('owner')) {
|
||||
break;
|
||||
}
|
||||
this.destroy(this.model.get('jid'), args[0])
|
||||
|
@ -1374,7 +1375,8 @@ converse.plugins.add('converse-muc-views', {
|
|||
showDestroyedMessage (error) {
|
||||
u.hideElement(this.el.querySelector('.chat-area'));
|
||||
u.hideElement(this.el.querySelector('.occupants'));
|
||||
_.each(this.el.querySelectorAll('.spinner'), u.removeElement);
|
||||
sizzle('.spinner', this.el).forEach(u.removeElement);
|
||||
|
||||
const container = this.el.querySelector('.disconnect-container');
|
||||
const moved_jid = _.get(
|
||||
sizzle('gone[xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"]', error).pop(),
|
||||
|
@ -1410,7 +1412,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
}
|
||||
u.hideElement(this.el.querySelector('.chat-area'));
|
||||
u.hideElement(this.el.querySelector('.occupants'));
|
||||
_.each(this.el.querySelectorAll('.spinner'), u.removeElement);
|
||||
sizzle('.spinner', this.el).forEach(u.removeElement);
|
||||
const container = this.el.querySelector('.disconnect-container');
|
||||
container.innerHTML = tpl_chatroom_disconnect({
|
||||
'_': _,
|
||||
|
@ -1524,7 +1526,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
this.model.save('connection_status', converse.ROOMSTATUS.DISCONNECTED);
|
||||
return;
|
||||
}
|
||||
_.each(notification.messages, (message) => {
|
||||
notification.messages.forEach(message => {
|
||||
this.content.insertAdjacentHTML(
|
||||
'beforeend',
|
||||
tpl_info({
|
||||
|
@ -1709,7 +1711,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
const is_self = stanza.querySelectorAll("status[code='110']").length;
|
||||
const iteratee = _.partial(this.parseXUserElement.bind(this), _, stanza, is_self);
|
||||
const notifications = _.reject(_.map(elements, iteratee), _.isEmpty);
|
||||
_.each(notifications, this.showNotificationsforUser.bind(this));
|
||||
notifications.forEach(n => this.showNotificationsforUser(n));
|
||||
},
|
||||
|
||||
showErrorMessageFromPresence (presence) {
|
||||
|
@ -1768,7 +1770,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
},
|
||||
|
||||
showSpinner () {
|
||||
u.removeElement(this.el.querySelector('.spinner'));
|
||||
sizzle('.spinner', this.el).forEach(u.removeElement);
|
||||
this.hideChatRoomContents();
|
||||
const container_el = this.el.querySelector('.chatroom-body');
|
||||
container_el.insertAdjacentHTML('afterbegin', tpl_spinner());
|
||||
|
@ -2075,7 +2077,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
picks = _.pick(features.attributes, converse.ROOM_FEATURES),
|
||||
iteratee = (a, v) => a || v;
|
||||
|
||||
if (_.reduce(_.values(picks), iteratee)) {
|
||||
if (_.reduce(Object.values(picks), iteratee)) {
|
||||
const el = this.el.querySelector('.chatroom-features');
|
||||
el.innerHTML = tpl_chatroom_features(Object.assign(features.toJSON(), {__}));
|
||||
this.setOccupantsHeight();
|
||||
|
@ -2283,7 +2285,7 @@ converse.plugins.add('converse-muc-views', {
|
|||
*
|
||||
*/
|
||||
get (jids) {
|
||||
if (_.isArray(jids)) {
|
||||
if (Array.isArray(jids)) {
|
||||
const views = _converse.api.chatviews.get(jids);
|
||||
return views.filter(v => v.model.get('type') === _converse.CHATROOMS_TYPE)
|
||||
} else {
|
||||
|
@ -2306,21 +2308,19 @@ converse.plugins.add('converse-muc-views', {
|
|||
* @param {(String[]|String)} jids The JID or array of JIDs of the chatroom(s)
|
||||
*/
|
||||
'close' (jids) {
|
||||
let views;
|
||||
if (_.isUndefined(jids)) {
|
||||
_converse.chatboxviews.each(function (view) {
|
||||
if (view.is_chatroom && view.model) {
|
||||
view.close();
|
||||
}
|
||||
});
|
||||
views = _converse.chatboxviews;
|
||||
} else if (_.isString(jids)) {
|
||||
const view = _converse.chatboxviews.get(jids);
|
||||
if (view) { view.close(); }
|
||||
} else {
|
||||
_.each(jids, function (jid) {
|
||||
const view = _converse.chatboxviews.get(jid);
|
||||
if (view) { view.close(); }
|
||||
});
|
||||
views = [_converse.chatboxviews.get(jids)].filter(v => v);
|
||||
} else if (Array.isArray(jids)) {
|
||||
views = jids.map(jid => _converse.chatboxviews.get(jid));
|
||||
}
|
||||
views.forEach(view => {
|
||||
if (view.is_chatroom && view.model) {
|
||||
view.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -66,7 +66,7 @@ converse.plugins.add('converse-notification', {
|
|||
}
|
||||
const mentioned = (new RegExp(`\\b${room.get('nick')}\\b`)).test(body.textContent);
|
||||
notify_all = notify_all === true ||
|
||||
(_.isArray(notify_all) && _.includes(notify_all, room_jid));
|
||||
(Array.isArray(notify_all) && _.includes(notify_all, room_jid));
|
||||
if (sender === room.get('nick') || (!notify_all && !mentioned)) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
import converse from "@converse/headless/converse-core";
|
||||
import tpl_toolbar_omemo from "templates/toolbar_omemo.html";
|
||||
|
||||
const { Backbone, Promise, Strophe, dayjs, sizzle, $build, $iq, $msg, _, f } = converse.env;
|
||||
const { Backbone, Promise, Strophe, dayjs, sizzle, $build, $iq, $msg, _ } = converse.env;
|
||||
const u = converse.env.utils;
|
||||
|
||||
Strophe.addNamespace('OMEMO_DEVICELIST', Strophe.NS.OMEMO+".devicelist");
|
||||
|
@ -67,7 +67,7 @@ function parseBundle (bundle_el) {
|
|||
converse.plugins.add('converse-omemo', {
|
||||
|
||||
enabled (_converse) {
|
||||
return !_.isNil(window.libsignal) && !f.includes('converse-omemo', _converse.blacklisted_plugins) && _converse.config.get('trusted');
|
||||
return !_.isNil(window.libsignal) && !_converse.blacklisted_plugins.includes('converse-omemo') && _converse.config.get('trusted');
|
||||
},
|
||||
|
||||
dependencies: ["converse-chatview", "converse-pubsub"],
|
||||
|
|
|
@ -438,7 +438,7 @@ converse.plugins.add('converse-register', {
|
|||
},
|
||||
|
||||
renderLegacyRegistrationForm (form) {
|
||||
_.each(Object.keys(this.fields), (key) => {
|
||||
Object.keys(this.fields).forEach(key => {
|
||||
if (key === "username") {
|
||||
form.insertAdjacentHTML(
|
||||
'beforeend',
|
||||
|
@ -466,12 +466,10 @@ converse.plugins.add('converse-register', {
|
|||
}
|
||||
});
|
||||
// Show urls
|
||||
_.each(this.urls, (url) => {
|
||||
form.insertAdjacentHTML(
|
||||
'afterend',
|
||||
'<a target="blank" rel="noopener" href="'+url+'">'+url+'</a>'
|
||||
);
|
||||
});
|
||||
this.urls.forEach(u => form.insertAdjacentHTML(
|
||||
'afterend',
|
||||
'<a target="blank" rel="noopener" href="'+u+'">'+u+'</a>'
|
||||
));
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -493,7 +491,7 @@ converse.plugins.add('converse-register', {
|
|||
|
||||
const buttons = form.querySelector('fieldset.buttons');
|
||||
if (this.form_type === 'xform') {
|
||||
_.each(stanza.querySelectorAll('field'), (field) => {
|
||||
stanza.querySelectorAll('field').forEach(field => {
|
||||
buttons.insertAdjacentHTML(
|
||||
'beforebegin',
|
||||
utils.xForm2webForm(field, stanza, {'domain': this.domain})
|
||||
|
@ -540,9 +538,7 @@ converse.plugins.add('converse-register', {
|
|||
*/
|
||||
reportErrors (stanza) {
|
||||
const errors = stanza.querySelectorAll('error');
|
||||
_.each(errors, (error) => {
|
||||
this.showValidationError(error.textContent);
|
||||
});
|
||||
errors.forEach(e => this.showValidationError(e.textContent));
|
||||
if (!errors.length) {
|
||||
const message = __('The provider rejected your registration attempt. '+
|
||||
'Please check the values you entered for correctness.');
|
||||
|
@ -596,13 +592,9 @@ converse.plugins.add('converse-register', {
|
|||
|
||||
if (this.form_type === 'xform') {
|
||||
iq.c("x", {xmlns: Strophe.NS.XFORM, type: 'submit'});
|
||||
_.each(inputs, (input) => {
|
||||
iq.cnode(utils.webForm2xForm(input)).up();
|
||||
});
|
||||
inputs.forEach(input => iq.cnode(utils.webForm2xForm(input)).up());
|
||||
} else {
|
||||
_.each(inputs, (input) => {
|
||||
iq.c(input.getAttribute('name'), {}, input.value);
|
||||
});
|
||||
inputs.forEach(input => iq.c(input.getAttribute('name'), {}, input.value));
|
||||
}
|
||||
_converse.connection._addSysHandler(this._onRegisterIQ.bind(this), null, "iq", null, null);
|
||||
_converse.connection.send(iq);
|
||||
|
@ -625,7 +617,7 @@ converse.plugins.add('converse-register', {
|
|||
},
|
||||
|
||||
_setFieldsFromLegacy (query) {
|
||||
_.each(query.children, (field) => {
|
||||
[].forEach.call(query.children, field => {
|
||||
if (field.tagName.toLowerCase() === 'instructions') {
|
||||
this.instructions = Strophe.getText(field);
|
||||
return;
|
||||
|
@ -643,7 +635,7 @@ converse.plugins.add('converse-register', {
|
|||
_setFieldsFromXForm (xform) {
|
||||
this.title = _.get(xform.querySelector('title'), 'textContent');
|
||||
this.instructions = _.get(xform.querySelector('instructions'), 'textContent');
|
||||
_.each(xform.querySelectorAll('field'), (field) => {
|
||||
xform.querySelectorAll('field').forEach(field => {
|
||||
const _var = field.getAttribute('var');
|
||||
if (_var) {
|
||||
this.fields[_var.toLowerCase()] = _.get(field.querySelector('value'), 'textContent', '');
|
||||
|
|
|
@ -57,7 +57,7 @@ const WHITELISTED_PLUGINS = [
|
|||
const initialize = converse.initialize;
|
||||
|
||||
converse.initialize = function (settings, callback) {
|
||||
if (converse.env._.isArray(settings.whitelisted_plugins)) {
|
||||
if (Array.isArray(settings.whitelisted_plugins)) {
|
||||
settings.whitelisted_plugins = settings.whitelisted_plugins.concat(WHITELISTED_PLUGINS);
|
||||
} else {
|
||||
settings.whitelisted_plugins = WHITELISTED_PLUGINS;
|
||||
|
|
1041
src/headless/3rdparty/lodash.fp.js
vendored
1041
src/headless/3rdparty/lodash.fp.js
vendored
File diff suppressed because it is too large
Load Diff
|
@ -1104,7 +1104,7 @@ converse.plugins.add('converse-chatboxes', {
|
|||
}
|
||||
return chatbox;
|
||||
}
|
||||
if (_.isArray(jids)) {
|
||||
if (Array.isArray(jids)) {
|
||||
return Promise.all(jids.forEach(async jid => {
|
||||
const contact = await _converse.api.contacts.get(jids);
|
||||
attrs.fullname = _.get(contact, 'attributes.fullname');
|
||||
|
@ -1168,7 +1168,7 @@ converse.plugins.add('converse-chatboxes', {
|
|||
if (_.isString(jids)) {
|
||||
const chat = await _converse.api.chats.create(jids, attrs);
|
||||
return chat.maybeShow(force);
|
||||
} else if (_.isArray(jids)) {
|
||||
} else if (Array.isArray(jids)) {
|
||||
return Promise.all(jids.map(j => _converse.api.chats.create(j, attrs).then(c => c.maybeShow(force))));
|
||||
}
|
||||
const err_msg = "chats.open: You need to provide at least one JID";
|
||||
|
|
|
@ -11,7 +11,6 @@ import Promise from "es6-promise/dist/es6-promise.auto";
|
|||
import _ from "./lodash.noconflict";
|
||||
import advancedFormat from 'dayjs/plugin/advancedFormat'
|
||||
import dayjs from "dayjs";
|
||||
import f from "./lodash.fp";
|
||||
import i18n from "./i18n";
|
||||
import pluggable from "pluggable.js/src/pluggable";
|
||||
import polyfill from "./polyfill";
|
||||
|
@ -548,7 +547,7 @@ function cleanup () {
|
|||
_converse.initialize = async function (settings, callback) {
|
||||
settings = !_.isUndefined(settings) ? settings : {};
|
||||
const init_promise = u.getResolveablePromise();
|
||||
_.each(PROMISES, addPromise);
|
||||
PROMISES.forEach(addPromise);
|
||||
if (!_.isUndefined(_converse.connection)) {
|
||||
cleanup();
|
||||
}
|
||||
|
@ -941,7 +940,7 @@ _converse.initialize = async function (settings, callback) {
|
|||
_converse.tearDown();
|
||||
}
|
||||
// Recreate all the promises
|
||||
_.each(Object.keys(_converse.promises), addPromise);
|
||||
Object.keys(_converse.promises).forEach(addPromise);
|
||||
/**
|
||||
* Triggered once the user has logged out.
|
||||
* @event _converse#logout
|
||||
|
@ -1674,8 +1673,8 @@ _converse.api = {
|
|||
* @example _converse.api.promises.add('foo-completed');
|
||||
*/
|
||||
'add' (promises) {
|
||||
promises = _.isArray(promises) ? promises : [promises]
|
||||
_.each(promises, addPromise);
|
||||
promises = Array.isArray(promises) ? promises : [promises]
|
||||
promises.forEach(addPromise);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -1927,7 +1926,6 @@ const converse = {
|
|||
* @property {function} converse.env.Strophe - The [Strophe](http://strophe.im/strophejs) XMPP library used by Converse.
|
||||
* @property {object} converse.env._ - The instance of [lodash](http://lodash.com) used by Converse.
|
||||
* @property {function} converse.env.f - And instance of Lodash with its methods wrapped to produce immutable auto-curried iteratee-first data-last methods.
|
||||
* @property {function} converse.env.b64_sha1 - Utility method from Strophe for creating base64 encoded sha1 hashes.
|
||||
* @property {object} converse.env.dayjs - [DayJS](https://github.com/iamkun/dayjs) date manipulation library.
|
||||
* @property {function} converse.env.sizzle - [Sizzle](https://sizzlejs.com) CSS selector engine.
|
||||
* @property {object} converse.env.utils - Module containing common utility methods used by Converse.
|
||||
|
@ -1941,7 +1939,6 @@ const converse = {
|
|||
'Promise': Promise,
|
||||
'Strophe': Strophe,
|
||||
'_': _,
|
||||
'f': f,
|
||||
'b64_sha1': b64_sha1,
|
||||
'dayjs': dayjs,
|
||||
'sizzle': sizzle,
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
import converse from "./converse-core";
|
||||
import sizzle from "sizzle";
|
||||
|
||||
const { Backbone, Promise, Strophe, $iq, utils, _, f } = converse.env;
|
||||
const { Backbone, Promise, Strophe, $iq, utils, _ } = converse.env;
|
||||
|
||||
converse.plugins.add('converse-disco', {
|
||||
|
||||
|
@ -584,8 +584,8 @@ converse.plugins.add('converse-disco', {
|
|||
entity.hasFeature(feature)
|
||||
);
|
||||
const result = await Promise.all(promises);
|
||||
return f.filter(f.isObject, result);
|
||||
},
|
||||
return _.filter(result, _.isObject);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,7 +19,7 @@ const MUC_ROLE_WEIGHTS = {
|
|||
'none': 2,
|
||||
};
|
||||
|
||||
const { Strophe, Backbone, Promise, $iq, $build, $msg, $pres, sizzle, f, dayjs, _ } = converse.env;
|
||||
const { Strophe, Backbone, Promise, $iq, $build, $msg, $pres, sizzle, dayjs, _ } = converse.env;
|
||||
|
||||
// Add Strophe Namespaces
|
||||
Strophe.addNamespace('MUC_ADMIN', Strophe.NS.MUC + "#admin");
|
||||
|
@ -84,7 +84,7 @@ converse.plugins.add('converse-muc', {
|
|||
const { _converse } = this.__super__,
|
||||
groupchats = this.chatboxes.where({'type': _converse.CHATROOMS_TYPE});
|
||||
|
||||
_.each(groupchats, gc => u.safeSave(gc, {'connection_status': converse.ROOMSTATUS.DISCONNECTED}));
|
||||
groupchats.forEach(gc => u.safeSave(gc, {'connection_status': converse.ROOMSTATUS.DISCONNECTED}));
|
||||
this.__super__.tearDown.call(this, arguments);
|
||||
},
|
||||
|
||||
|
@ -193,7 +193,7 @@ converse.plugins.add('converse-muc', {
|
|||
'chat_state': undefined,
|
||||
'connection_status': converse.ROOMSTATUS.DISCONNECTED,
|
||||
'description': '',
|
||||
'hidden': _.includes(['mobile', 'fullscreen'], _converse.view_mode),
|
||||
'hidden': ['mobile', 'fullscreen'].includes(_converse.view_mode),
|
||||
'message_type': 'groupchat',
|
||||
'name': '',
|
||||
'nick': _converse.xmppstatus.get('nickname') || _converse.nickname,
|
||||
|
@ -248,16 +248,16 @@ converse.plugins.add('converse-muc', {
|
|||
*/
|
||||
const room_jid = this.get('jid');
|
||||
this.removeHandlers();
|
||||
this.presence_handler = _converse.connection.addHandler((stanza) => {
|
||||
_.each(_.values(this.handlers.presence), (callback) => callback(stanza));
|
||||
this.presence_handler = _converse.connection.addHandler(stanza => {
|
||||
Object.values(this.handlers.presence).forEach(callback => callback(stanza));
|
||||
this.onPresence(stanza);
|
||||
return true;
|
||||
},
|
||||
null, 'presence', null, null, room_jid,
|
||||
{'ignoreNamespaceFragment': true, 'matchBareFromJid': true}
|
||||
);
|
||||
this.message_handler = _converse.connection.addHandler((stanza) => {
|
||||
_.each(_.values(this.handlers.message), (callback) => callback(stanza));
|
||||
this.message_handler = _converse.connection.addHandler(stanza => {
|
||||
Object.values(this.handlers.message).forEach(callback => callback(stanza));
|
||||
this.onMessage(stanza);
|
||||
return true;
|
||||
}, null, 'message', 'groupchat', null, room_jid,
|
||||
|
@ -720,11 +720,11 @@ converse.plugins.add('converse-muc', {
|
|||
* groupchat configuration.
|
||||
* The second is the response IQ from the server.
|
||||
*/
|
||||
sendConfiguration (config, callback, errback) {
|
||||
sendConfiguration (config=[], callback, errback) {
|
||||
const iq = $iq({to: this.get('jid'), type: "set"})
|
||||
.c("query", {xmlns: Strophe.NS.MUC_OWNER})
|
||||
.c("x", {xmlns: Strophe.NS.XFORM, type: "submit"});
|
||||
_.each(config || [], function (node) { iq.cnode(node).up(); });
|
||||
config.forEach(node => iq.cnode(node).up());
|
||||
callback = _.isUndefined(callback) ? _.noop : _.partial(callback, iq.nodeTree);
|
||||
errback = _.isUndefined(errback) ? _.noop : _.partial(errback, iq.nodeTree);
|
||||
return _converse.api.sendIQ(iq).then(callback).catch(errback);
|
||||
|
@ -818,7 +818,7 @@ converse.plugins.add('converse-muc', {
|
|||
* a string if only one affiliation.
|
||||
* @param { function } deltaFunc - The function to compute the delta
|
||||
* between old and new member lists.
|
||||
* @returns { promise }
|
||||
* @returns { promise }
|
||||
* A promise which is resolved once the list has been
|
||||
* updated or once it's been established there's no need
|
||||
* to update the list.
|
||||
|
@ -952,7 +952,8 @@ converse.plugins.add('converse-muc', {
|
|||
'states': [],
|
||||
'show': type !== 'unavailable' ? 'online' : 'offline'
|
||||
};
|
||||
_.each(pres.childNodes, function (child) {
|
||||
|
||||
pres.childNodes.forEach(child => {
|
||||
switch (child.nodeName) {
|
||||
case "status":
|
||||
data.status = child.textContent || null;
|
||||
|
@ -962,7 +963,7 @@ converse.plugins.add('converse-muc', {
|
|||
break;
|
||||
case "x":
|
||||
if (child.getAttribute("xmlns") === Strophe.NS.MUC_USER) {
|
||||
_.each(child.childNodes, function (item) {
|
||||
child.childNodes.forEach(item => {
|
||||
switch (item.nodeName) {
|
||||
case "item":
|
||||
data.affiliation = item.getAttribute("affiliation");
|
||||
|
@ -1309,18 +1310,18 @@ converse.plugins.add('converse-muc', {
|
|||
const new_jids = new_members.map(m => m.jid).filter(m => !_.isUndefined(m)),
|
||||
new_nicks = new_members.map(m => !m.jid && m.nick || undefined).filter(m => !_.isUndefined(m)),
|
||||
removed_members = this.filter(m => {
|
||||
return f.includes(m.get('affiliation'), ['admin', 'member', 'owner']) &&
|
||||
!f.includes(m.get('nick'), new_nicks) &&
|
||||
!f.includes(m.get('jid'), new_jids);
|
||||
return ['admin', 'member', 'owner'].includes(m.get('affiliation')) &&
|
||||
!new_nicks.includes(m.get('nick')) &&
|
||||
!new_jids.includes(m.get('jid'));
|
||||
});
|
||||
|
||||
_.each(removed_members, (occupant) => {
|
||||
removed_members.forEach(occupant => {
|
||||
if (occupant.get('jid') === _converse.bare_jid) { return; }
|
||||
if (occupant.get('show') === 'offline') {
|
||||
occupant.destroy();
|
||||
}
|
||||
});
|
||||
_.each(new_members, (attrs) => {
|
||||
new_members.forEach(attrs => {
|
||||
let occupant;
|
||||
if (attrs.jid) {
|
||||
occupant = this.findOccupant({'jid': attrs.jid});
|
||||
|
@ -1447,7 +1448,7 @@ converse.plugins.add('converse-muc', {
|
|||
* of strings (groupchat JIDs) or objects (with groupchat JID and other
|
||||
* settings).
|
||||
*/
|
||||
_.each(_converse.auto_join_rooms, function (groupchat) {
|
||||
_converse.auto_join_rooms.forEach(groupchat => {
|
||||
if (_converse.chatboxes.where({'jid': groupchat}).length) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
import "./converse-disco";
|
||||
import converse from "./converse-core";
|
||||
|
||||
const { Strophe, Backbone, Promise, $iq, $build, $msg, $pres, f, dayjs, _ } = converse.env;
|
||||
const { Strophe, Backbone, Promise, $iq, $build, $msg, $pres, dayjs, _ } = converse.env;
|
||||
|
||||
Strophe.addNamespace('PUBSUB_ERROR', Strophe.NS.PUBSUB+"#errors");
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
define(['lodash', './3rdparty/lodash.fp'], function (_, lodashConverter) {
|
||||
var fp = lodashConverter(_.runInContext());
|
||||
return fp;
|
||||
});
|
|
@ -144,7 +144,7 @@ u.applyUserSettings = function applyUserSettings (context, settings, user_settin
|
|||
if (_.isUndefined(user_settings[k])) {
|
||||
continue;
|
||||
}
|
||||
if (_.isObject(settings[k]) && !_.isArray(settings[k])) {
|
||||
if (_.isObject(settings[k]) && !Array.isArray(settings[k])) {
|
||||
applyUserSettings(context[k], settings[k], user_settings[k]);
|
||||
} else {
|
||||
context[k] = user_settings[k];
|
||||
|
|
|
@ -203,7 +203,7 @@ u.getEmojisByCategory = function (_converse) {
|
|||
* lists of emojis in that category as values.
|
||||
*/
|
||||
if (_.isUndefined(_converse.emojis_by_category)) {
|
||||
const emojis = _.values(_.mapValues(emoji_list, function (value, key, o) {
|
||||
const emojis = Object.values(_.mapValues(emoji_list, function (value, key, o) {
|
||||
value._shortname = key;
|
||||
return value
|
||||
}));
|
||||
|
|
Loading…
Reference in New Issue
Block a user