From f6eb3a740dc2884d96a1b97156b1926933544ac1 Mon Sep 17 00:00:00 2001 From: Dave Johnson Date: Fri, 27 Jun 2014 01:27:49 -0700 Subject: [PATCH] reverted the isFunction() and isDefined() refactor PR since you can't pass undefined/undeclared vars to functions in JS --- svg-injector.js | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/svg-injector.js b/svg-injector.js index 82eacab..3165d72 100644 --- a/svg-injector.js +++ b/svg-injector.js @@ -51,14 +51,6 @@ } }; - function isFunction(value) { - return typeof value === 'function'; - } - - function isDefined(value) { - return typeof value !== 'undefined'; - } - // SVG Cache var svgCache = {}; @@ -93,7 +85,7 @@ }; var loadSvg = function (url, callback) { - if (isDefined(svgCache[url])) { + if (svgCache[url] !== undefined) { if (svgCache[url] instanceof SVGSVGElement) { // We already have it in cache, so use it callback(cloneSvg(svgCache[url])); @@ -229,7 +221,7 @@ // Load it up loadSvg(imgUrl, function (svg) { - if (!isDefined(svg) || typeof svg === 'string') { + if (typeof svg === 'undefined' || typeof svg === 'string') { callback(svg); return false; } @@ -374,11 +366,11 @@ var eachCallback = options.each; // Do the injection... - if (isDefined(elements.length)) { + if (elements.length !== undefined) { var elementsLoaded = 0; forEach.call(elements, function (element) { injectElement(element, evalScripts, pngFallback, function (svg) { - if (isFunction(eachCallback)) eachCallback(svg); + if (eachCallback && typeof eachCallback === 'function') eachCallback(svg); if (done && elements.length === ++elementsLoaded) done(elementsLoaded); }); }); @@ -386,7 +378,7 @@ else { if (elements) { injectElement(elements, evalScripts, pngFallback, function (svg) { - if (isFunction(eachCallback)) eachCallback(svg); + if (eachCallback && typeof eachCallback === 'function') eachCallback(svg); if (done) done(1); }); } @@ -402,7 +394,7 @@ module.exports = exports = SVGInjector; } // AMD support - else if (isFunction(define) && define.amd) { + else if (typeof define === 'function' && define.amd) { define(function () { return SVGInjector; });