Version 1
[yaffs-website] / node_modules / grunt-legacy-log-utils / node_modules / lodash / size.js
diff --git a/node_modules/grunt-legacy-log-utils/node_modules/lodash/size.js b/node_modules/grunt-legacy-log-utils/node_modules/lodash/size.js
new file mode 100644 (file)
index 0000000..fbe2b3b
--- /dev/null
@@ -0,0 +1,37 @@
+var isArrayLike = require('./isArrayLike'),
+    isString = require('./isString'),
+    keys = require('./keys'),
+    stringSize = require('./_stringSize');
+
+/**
+ * Gets the size of `collection` by returning its length for array-like
+ * values or the number of own enumerable properties for objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Collection
+ * @param {Array|Object} collection The collection to inspect.
+ * @returns {number} Returns the collection size.
+ * @example
+ *
+ * _.size([1, 2, 3]);
+ * // => 3
+ *
+ * _.size({ 'a': 1, 'b': 2 });
+ * // => 2
+ *
+ * _.size('pebbles');
+ * // => 7
+ */
+function size(collection) {
+  if (collection == null) {
+    return 0;
+  }
+  if (isArrayLike(collection)) {
+    var result = collection.length;
+    return (result && isString(collection)) ? stringSize(collection) : result;
+  }
+  return keys(collection).length;
+}
+
+module.exports = size;