Index: chrome/renderer/resources/extensions/utils.js |
diff --git a/chrome/renderer/resources/extensions/utils.js b/chrome/renderer/resources/extensions/utils.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..47d827745128bb7e40b2af5baa633957ee25dc21 |
--- /dev/null |
+++ b/chrome/renderer/resources/extensions/utils.js |
@@ -0,0 +1,29 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+function forEach(dict, f) { |
+ for (key in dict) { |
+ if (dict.hasOwnProperty(key)) |
+ f(key, dict[key]); |
+ } |
+} |
+ |
+// Assuming |array_of_dictionaries| is structured like this: |
+// [{id: 1, ... }, {id: 2, ...}, ...], you can use |
+// lookup(array_of_dictionaries, 'id', 2) to get the dictionary with id == 2. |
+function lookup(array_of_dictionaries, field, value) { |
+ var filter = function (dict) {return dict[field] == value;}; |
+ var matches = array_of_dictionaries.filter(filter); |
+ if (matches.length == 0) { |
+ return undefined; |
+ } else if (matches.length == 1) { |
+ return matches[0] |
+ } else { |
+ throw new Error("Failed lookup of field '" + field + "' with value '" + |
+ value + "'"); |
+ } |
+} |
+ |
+exports.forEach = forEach; |
+exports.lookup = lookup; |