aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@sinonjs/commons/lib/function-name.js
diff options
context:
space:
mode:
authorJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
committerJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
commit080c5819d87b933816d724a83f3bf4f1686770a7 (patch)
tree4a2ccc68b27edf7d4cbc586c932cc7542b655e19 /node_modules/@sinonjs/commons/lib/function-name.js
parent5ac7049a9d30733165cc212dee308163c2a14644 (diff)
parentd003b82235a9329f912522a2f70aa950dfce4998 (diff)
downloadLYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.tar.gz
LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.zip
Merge branch 'master' of https://github.com/JoelHMikael/FoodJS
Updating remote changes
Diffstat (limited to 'node_modules/@sinonjs/commons/lib/function-name.js')
-rw-r--r--node_modules/@sinonjs/commons/lib/function-name.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/node_modules/@sinonjs/commons/lib/function-name.js b/node_modules/@sinonjs/commons/lib/function-name.js
new file mode 100644
index 0000000..199b04e
--- /dev/null
+++ b/node_modules/@sinonjs/commons/lib/function-name.js
@@ -0,0 +1,29 @@
+"use strict";
+
+/**
+ * Returns a display name for a function
+ *
+ * @param {Function} func
+ * @returns {string}
+ */
+module.exports = function functionName(func) {
+ if (!func) {
+ return "";
+ }
+
+ try {
+ return (
+ func.displayName ||
+ func.name ||
+ // Use function decomposition as a last resort to get function
+ // name. Does not rely on function decomposition to work - if it
+ // doesn't debugging will be slightly less informative
+ // (i.e. toString will say 'spy' rather than 'myFunc').
+ (String(func).match(/function ([^\s(]+)/) || [])[1]
+ );
+ } catch (e) {
+ // Stringify may fail and we might get an exception, as a last-last
+ // resort fall back to empty string.
+ return "";
+ }
+};