diff options
Diffstat (limited to 'lib/handlebars/utils.js')
-rw-r--r-- | lib/handlebars/utils.js | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/handlebars/utils.js b/lib/handlebars/utils.js index 998c9ca..65e91f9 100644 --- a/lib/handlebars/utils.js +++ b/lib/handlebars/utils.js @@ -1,7 +1,5 @@ import SafeString from "./safe-string"; -var isArray = Array.isArray; - var escape = { "&": "&", "<": "<", @@ -26,6 +24,26 @@ export function extend(obj, value) { } } +export var toString = Object.prototype.toString; + +// Sourced from lodash +// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt +var isFunction = function(value) { + return typeof value === 'function'; +}; +// fallback for older versions of Chrome and Safari +if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; +} +export var isFunction; + +export var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; +}; + + export function escapeExpression(string) { // don't escape SafeStrings, since they're already safe if (string instanceof SafeString) { |