aboutsummaryrefslogtreecommitdiff
path: root/extension/lib/util.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2015-12-14 11:26:55 +0100
committerFlorian Dold <florian.dold@gmail.com>2015-12-14 11:26:55 +0100
commite92d26a93781820391174e95c484956aa90cf8fb (patch)
treef500f49973f90cafe87cecc6b00e2527aa4ca316 /extension/lib/util.js
parent9d43bd45ecdaa2874dc2b110f3f1f03019ef1bad (diff)
downloadwallet-core-e92d26a93781820391174e95c484956aa90cf8fb.tar.xz
More typescript.
Diffstat (limited to 'extension/lib/util.js')
-rw-r--r--extension/lib/util.js122
1 files changed, 20 insertions, 102 deletions
diff --git a/extension/lib/util.js b/extension/lib/util.js
index d364d9593..801d7d189 100644
--- a/extension/lib/util.js
+++ b/extension/lib/util.js
@@ -1,112 +1,30 @@
'use strict';
-
-/**
- * Format amount as String.
- *
- * @param amount
- * Amount to be formatted.
- *
- * @return String, e.g. "1.23"
- */
-function amount_format (amount)
-{
- let separator = "." // FIXME: depends on locale
- return amount.value + separator + amount.fraction.toString().replace(/0+$/, "");
-}
-
-
/**
* Parse an amount that is specified like '5.42 EUR'.
* Returns a {currency,value,fraction} object or null
* if the input is invalid.
*/
function amount_parse_pretty(s) {
- let pattern = /(\d+)(.\d+)?\s*([a-zA-Z]+)/;
- let matches = pattern.exec(s);
- if (null == matches) {
- return null;
- }
- return {
- // Always succeeds due to regex
- value: parseInt(matches[1]),
- // Should we warn / fail on lost precision?
- fraction: Math.round(parseFloat(matches[2] || 0) * 1000000),
- currency: matches[3],
- };
-}
-
-
-/**
- * Format amount with currency as String.
- *
- * @param amount
- * Amount to be formatted.
- *
- * @return String, e.g. "1.23 EUR"
- */
-function amount_format_currency (amount)
-{
- return amount_format(amount) + " " + amount.currency;
-}
-
-
-/**
- * Convert Date to String.
- *
- * Format: YYYY-MM-DD HH:mm
- *
- * @param date
- * Date to be converted.
- *
- * @return String
- */
-function date_format (date)
-{
- function pad (number) {
- if (number < 10) {
- return '0' + number;
+ let pattern = /(\d+)(.\d+)?\s*([a-zA-Z]+)/;
+ let matches = pattern.exec(s);
+ if (null == matches) {
+ return null;
}
- return number;
- }
-
- return date.getUTCFullYear() +
- '-' + pad(date.getUTCMonth() + 1) +
- '-' + pad(date.getUTCDate()) +
- ' ' + pad(date.getUTCHours()) +
- ':' + pad(date.getUTCMinutes());
- //':' + pad(date.getUTCSeconds());
+ return {
+ // Always succeeds due to regex
+ value: parseInt(matches[1]),
+ // Should we warn / fail on lost precision?
+ fraction: Math.round(parseFloat(matches[2] || "0") * 1000000),
+ currency: matches[3],
+ };
}
-
-
-/**
- * Send HTTP request.
- *
- * @param method
- * HTTP method.
- * @param url
- * URL to send to.
- * @param content
- * Content of request.
- * @param content_type
- * Content-Type HTTP header.
- * @param onsuccess
- * Function called by XMLHttpRequest on success.
- * @param onerror
- * Function called by XMLHttpRequest on error.
- *
- */
-function http_req (method, url, content, content_type, onsuccess, onerror) {
- var req = new XMLHttpRequest();
-
- req.onload = function(mintEvt) {
- if (req.readyState == 4)
- onsuccess(req.status, req.responseText);
- };
-
- req.onerror = onerror;
- req.open(method, url, true);
- req.setRequestHeader('Content-Type', content_type);
- req.send(content);
-
- return req;
+function format(s, ...args) {
+ function r(m, n) {
+ let i = parseInt(n);
+ return args[i];
+ }
+ s = s.replace(/{{/g, '{');
+ s = s.replace(/}}/g, '}');
+ s = s.replace(/{([0-9]+)}/g, r);
+ return s;
}