diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/labs/architecture-examples/react/js/utils.jsx | 49 |
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); |