aboutsummaryrefslogtreecommitdiffstats
path: root/lib/util.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/util.js')
-rw-r--r--lib/util.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/lib/util.js b/lib/util.js
new file mode 100644
index 0000000..8556951
--- /dev/null
+++ b/lib/util.js
@@ -0,0 +1,65 @@
+/*global exports: false, require: false, console: false, Cc: false, Ci: false */
+/*jslint onevar: false */
+// Released under the MIT/X11 license
+// http://www.opensource.org/licenses/mit-license.php
+"use strict";
+// ==============================================================
+var Cc = require("chrome").Cc;
+var Ci = require("chrome").Ci;
+var urlMod = require("url");
+
+/**
+ * get parameters of URL as an object (name, value)
+ */
+function getParamsFromURL (url, base) {
+ if (!url || (url.toString().length === 0)) {
+ throw new Error("Missing URL value!");
+ }
+
+ if (!(url instanceof urlMod.URL)) {
+ url = new urlMod.URL(url.toString(), base);
+ }
+
+ var paramsArr = url.path.split("?");
+ if (paramsArr.length === 1) {
+ return {};
+ }
+
+ // get convert URL parameters to an Object
+ var params = {}, s = [];
+ paramsArr[1].split('&').forEach(function(par) {
+ s = par.split('=');
+ params[s[0]] = s[1];
+ });
+ return params;
+}
+
+/**
+ * Get a bug no from URL ... fails with aliases
+ * It should theoretically belong to bzpage.js, but we don't have
+ * unit tests there yet, so keeping here.
+ *
+ * @param url String with URL to be analyzed
+ * @return String with the bug ID (hopefully number, but not for aliases)
+ */
+exports.getBugNo = function getBugNo(url) {
+ var params = getParamsFromURL(url);
+ if (params && params.id) {
+ return params.id;
+ }
+};
+
+/**
+ * format date to be in ISO format (just day part)
+ *
+ * @param date
+ * @return string with the formatted date
+ */
+exports.getISODate = function getISODate(dateStr) {
+ function pad(n) {
+ return n < 10 ? '0' + n : n;
+ }
+ var date = new Date(dateStr);
+ return date.getFullYear() + '-' + pad(date.getMonth() + 1) + '-' +
+ pad(date.getDate());
+};