aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/pegjs/lib/utils/objects.js
diff options
context:
space:
mode:
Diffstat (limited to 'cordova/node_modules/pegjs/lib/utils/objects.js')
-rw-r--r--cordova/node_modules/pegjs/lib/utils/objects.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/cordova/node_modules/pegjs/lib/utils/objects.js b/cordova/node_modules/pegjs/lib/utils/objects.js
new file mode 100644
index 0000000..09587c1
--- /dev/null
+++ b/cordova/node_modules/pegjs/lib/utils/objects.js
@@ -0,0 +1,54 @@
+"use strict";
+
+/* Object utilities. */
+var objects = {
+ keys: function(object) {
+ var result = [], key;
+
+ for (key in object) {
+ if (object.hasOwnProperty(key)) {
+ result.push(key);
+ }
+ }
+
+ return result;
+ },
+
+ values: function(object) {
+ var result = [], key;
+
+ for (key in object) {
+ if (object.hasOwnProperty(key)) {
+ result.push(object[key]);
+ }
+ }
+
+ return result;
+ },
+
+ clone: function(object) {
+ var result = {}, key;
+
+ for (key in object) {
+ if (object.hasOwnProperty(key)) {
+ result[key] = object[key];
+ }
+ }
+
+ return result;
+ },
+
+ defaults: function(object, defaults) {
+ var key;
+
+ for (key in defaults) {
+ if (defaults.hasOwnProperty(key)) {
+ if (!(key in object)) {
+ object[key] = defaults[key];
+ }
+ }
+ }
+ }
+};
+
+module.exports = objects;