summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx49
1 files changed, 49 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx
new file mode 100644
index 0000000000..3ce698563a
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx
@@ -0,0 +1,49 @@
+(function (window) {
+ 'use strict';
+
+ window.Utils = {
+ uuid: function () {
+ /*jshint bitwise:false */
+ var i, random;
+ var uuid = '';
+
+ for (i = 0; i < 32; i++) {
+ random = Math.random() * 16 | 0;
+ if (i === 8 || i === 12 || i === 16 || i === 20) {
+ uuid += '-';
+ }
+ uuid += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random))
+ .toString(16);
+ }
+
+ return uuid;
+ },
+
+ pluralize: function (count, word) {
+ return count === 1 ? word : word + 's';
+ },
+
+ store: function (namespace, data) {
+ if (data) {
+ return localStorage.setItem(namespace, JSON.stringify(data));
+ }
+
+ var store = localStorage.getItem(namespace);
+ return (store && JSON.parse(store)) || [];
+ },
+
+ stringifyObjKeys: function (obj) {
+ var s = '';
+ var key;
+
+ for (key in obj) {
+ if (obj.hasOwnProperty(key) && obj[key]) {
+ s += key + ' ';
+ }
+ }
+
+ return s.trim();
+ }
+ };
+
+})(window);