Replace format util with ES6 string templates.

This commit is contained in:
Florian Dold 2016-01-10 23:52:58 +01:00
parent 473503a246
commit b3f0b76f7f
8 changed files with 7 additions and 69 deletions

View File

@ -1,55 +0,0 @@
/*
This file is part of TALER
(C) 2015 GNUnet e.V.
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 3, or (at your option) any later version.
TALER is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/>
*/
'use strict';
/**
* 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],
};
}
function format(s: string, ...args: any[]) {
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;
}
function promiseFinally<T>(p: Promise<T>, fn): Promise<T> {
return p.then((x) => { fn(); return x; })
.catch((e) => {fn(); throw e;});
}

View File

@ -595,7 +595,7 @@ export class HashCode extends PackedArenaObject {
qual = RandomQuality.NONCE; qual = RandomQuality.NONCE;
break; break;
default: default:
throw Error(format("unknown crypto quality: {0}", qual)); throw Error(`unknown crypto quality: ${qual}`);
} }
this.alloc(); this.alloc();
emsc.hash_create_random(qual, this.nativePtr); emsc.hash_create_random(qual, this.nativePtr);
@ -680,7 +680,7 @@ abstract class SignatureStruct {
let name = f[0]; let name = f[0];
let member = this.members[name]; let member = this.members[name];
if (!member) { if (!member) {
throw Error(format("Member {0} not set", name)); throw Error(`Member ${name} not set`);
} }
totalSize += member.size(); totalSize += member.size();
} }
@ -705,7 +705,7 @@ abstract class SignatureStruct {
let name = f[0]; let name = f[0];
let member = this.members[name]; let member = this.members[name];
if (!member) { if (!member) {
throw Error(format("Member {0} not set", name)); throw Error(`Member ${name} not set`);
} }
res[name] = member.toJson(); res[name] = member.toJson();
} }
@ -719,10 +719,10 @@ abstract class SignatureStruct {
typemap[f[0]] = f[1]; typemap[f[0]] = f[1];
} }
if (!(name in typemap)) { if (!(name in typemap)) {
throw Error(format("Key {0} not found", name)); throw Error(`Key ${name} not found`);
} }
if (!(value instanceof typemap[name])) { if (!(value instanceof typemap[name])) {
throw Error(format("Wrong type for {0}", name)); throw Error("Wrong type for ${name}");
} }
this.members[name] = value; this.members[name] = value;
} }

View File

@ -98,7 +98,7 @@ System.register(["./wallet", "./db", "./http"], function(exports_1) {
if (req.type in handlers) { if (req.type in handlers) {
return handlers[req.type](db, req.detail, onresponse); return handlers[req.type](db, req.detail, onresponse);
} }
console.error(format("Request type {1} unknown, req {0}", JSON.stringify(req), req.type)); console.error("Request type " + JSON.stringify(req) + " unknown, req " + req.type);
return false; return false;
}); });
}); });

View File

@ -127,9 +127,7 @@ export function wxMain() {
if (req.type in handlers) { if (req.type in handlers) {
return handlers[req.type](db, req.detail, onresponse); return handlers[req.type](db, req.detail, onresponse);
} }
console.error(format("Request type {1} unknown, req {0}", console.error(`Request type ${JSON.stringify(req)} unknown, req ${req.type}`);
JSON.stringify(req),
req.type));
return false; return false;
}); });
}); });

View File

@ -28,7 +28,6 @@
"js": [ "js": [
"lib/vendor/system.src.js", "lib/vendor/system.src.js",
"lib/vendor/URI.js", "lib/vendor/URI.js",
"lib/util.js",
"content_scripts/notify.js" "content_scripts/notify.js"
], ],
"run_at": "document_start" "run_at": "document_start"
@ -44,7 +43,6 @@
"scripts": [ "scripts": [
"lib/vendor/URI.js", "lib/vendor/URI.js",
"lib/vendor/handlebars-v4.0.5.js", "lib/vendor/handlebars-v4.0.5.js",
"lib/util.js",
"lib/emscripten/libwrapper.js", "lib/emscripten/libwrapper.js",
"lib/vendor/system.src.js", "lib/vendor/system.src.js",
"background/main.js" "background/main.js"

View File

@ -4,7 +4,6 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<link rel="stylesheet" href="popup.css" type="text/css"> <link rel="stylesheet" href="popup.css" type="text/css">
<script src="../lib/util.js" type="text/javascript"></script>
<script src="../lib/vendor/handlebars-v4.0.5.js" type="text/javascript"></script> <script src="../lib/vendor/handlebars-v4.0.5.js" type="text/javascript"></script>
<script src="../lib/commonHelpers.js" type="text/javascript"></script> <script src="../lib/commonHelpers.js" type="text/javascript"></script>
<script src="balance-overview.js" type="text/javascript"></script> <script src="balance-overview.js" type="text/javascript"></script>

View File

@ -4,7 +4,6 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<link rel="stylesheet" href="popup.css" type="text/css"> <link rel="stylesheet" href="popup.css" type="text/css">
<script src="../lib/util.js" type="text/javascript"></script>
<script src="history.js" type="text/javascript"></script> <script src="history.js" type="text/javascript"></script>
<script id="balance-template" type="text/x-handlebars-template"> <script id="balance-template" type="text/x-handlebars-template">

View File

@ -17,7 +17,6 @@
"lib/wallet/checkable.ts", "lib/wallet/checkable.ts",
"lib/wallet/wxmessaging.ts", "lib/wallet/wxmessaging.ts",
"lib/wallet/types.ts", "lib/wallet/types.ts",
"lib/util.ts",
"lib/commonHelpers.ts", "lib/commonHelpers.ts",
"lib/polyfill-react.ts", "lib/polyfill-react.ts",
"lib/wallet/timerThread.ts", "lib/wallet/timerThread.ts",