Explorar o código

Get rid of lodash's isFunction

JC Brand %!s(int64=2) %!d(string=hai) anos
pai
achega
9a63629b40

+ 1 - 2
src/headless/shared/api/events.js

@@ -1,6 +1,5 @@
 import _converse from '@converse/headless/shared/_converse.js';
-import isFunction from 'lodash-es/isFunction';
-import { Events } from '@converse/skeletor/src/events.js';
+import isFunction from '../../utils/core.js';
 
 
 export default {

+ 1 - 2
src/headless/shared/api/promise.js

@@ -1,7 +1,6 @@
 import _converse from '@converse/headless/shared/_converse.js';
-import isFunction from 'lodash-es/isFunction';
 import { getOpenPromise } from '@converse/openpromise';
-import { waitUntil } from '../../utils/core.js';
+import { waitUntil, isFunction } from '../../utils/core.js';
 
 export default {
     /**

+ 4 - 0
src/headless/utils/core.js

@@ -24,6 +24,10 @@ export function isError (obj) {
     return Object.prototype.toString.call(obj) === "[object Error]";
 }
 
+export function isFunction (val) {
+    return typeof val === 'function';
+}
+
 export function isEmptyMessage (attrs) {
     if (attrs instanceof Model) {
         attrs = attrs.attributes;

+ 1 - 4
src/utils/html.js

@@ -3,7 +3,6 @@
  * @license Mozilla Public License (MPLv2)
  * @description This is the DOM/HTML utilities module.
  */
-import isFunction from 'lodash-es/isFunction';
 import log from '@converse/headless/log';
 import tplAudio from 'templates/audio.js';
 import tplFile from 'templates/file.js';
@@ -477,9 +476,7 @@ export function slideIn (el, duration = 200) {
 
 function afterAnimationEnds (el, callback) {
     el.classList.remove('visible');
-    if (isFunction(callback)) {
-        callback();
-    }
+    callback?.();
 }
 
 u.isInDOM = function (el) {