From e4c5f3d14ff877449f6a87849756417653eee2b1 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Tue, 11 Aug 2020 09:13:52 +0200 Subject: [PATCH] Allow whitespace in token config --- packages/faucet/src/tokens.spec.ts | 8 ++++++++ packages/faucet/src/tokens.ts | 5 ++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/faucet/src/tokens.spec.ts b/packages/faucet/src/tokens.spec.ts index d0a57ee2..39836c9e 100644 --- a/packages/faucet/src/tokens.spec.ts +++ b/packages/faucet/src/tokens.spec.ts @@ -9,6 +9,14 @@ describe("tokens", () => { denom: "ucosm", }); }); + + it("allows using whitespace", () => { + expect(parseBankToken("COSM = 10^6 ucosm")).toEqual({ + tickerSymbol: "COSM", + fractionalDigits: 6, + denom: "ucosm", + }); + }); }); describe("parseBankTokens", () => { diff --git a/packages/faucet/src/tokens.ts b/packages/faucet/src/tokens.ts index 011e861d..bc1ec528 100644 --- a/packages/faucet/src/tokens.ts +++ b/packages/faucet/src/tokens.ts @@ -21,7 +21,7 @@ export interface BankTokenMeta { const parseBankTokenPattern = /^([a-zA-Z]{2,20})=10\^([0-9]+)([a-zA-Z]{2,20})$/; export function parseBankToken(input: string): BankTokenMeta { - const match = input.match(parseBankTokenPattern); + const match = input.replace(/\s/g, "").match(parseBankTokenPattern); if (!match) { throw new Error("Token could not be parsed. Format: DISPLAY=10^DIGITSbase, e.g. ATOM=10^6uatom"); } @@ -36,7 +36,6 @@ export function parseBankTokens(input: string): BankTokenMeta[] { return input .trim() .split(",") - .map((part) => part.trim()) - .filter((part) => part !== "") + .filter((part) => part.trim() !== "") .map((part) => parseBankToken(part)); }