From 4f36dcbad194fd0335ffb0c649cdbeb1cc14a072 Mon Sep 17 00:00:00 2001 From: Marie <marie.lefort@gmail.com> Date: Fri, 23 Mar 2018 01:39:35 +0100 Subject: [PATCH] =?UTF-8?q?refacto=20+=20g=C3=A8re=20plus=20de=20param?= =?UTF-8?q?=C3=A8tres=20dont=20certains=20ne=20correspondent=20pas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + main.js | 36 +++++++++++++++++++++++++++++++++--- main.test.js | 12 ++++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c5471e9..6edf225 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ duniter-parameters-parser convertit le format brut des paramètres du bloc 0 d'une monnaie basée sur Duniter en un objet où chaque paramètre est associé à ce à quoi il correspond. +[Référentiel de conversion](https://git.duniter.org/nodes/typescript/duniter/blob/1.6/doc/Protocol.md#protocol-parameters) ## Usage: ```javascript diff --git a/main.js b/main.js index 0e96367..28034ac 100644 --- a/main.js +++ b/main.js @@ -1,6 +1,36 @@ +const parametersOrder = [ + "c", + "dt", +// "dtReeval", + "ud0", +// "udTime0", +// "udReevalTime0", + "sigPeriod", + "msPeriod", + "sigStock", + "sigWindow", + "sigValidity", + "sigQty", + "idtyWindow", + "msWindow", + "xpercent", + "msValidity", + "stepMax", + "medianTimeBlock", + "savgGenTime", + "dtDiffEval", + "percentRot", + "txWindow" +]; + module.exports = function(data){ - return{ - c:parseFloat(data[0]), - dt:parseFloat(data[1]) + const resultat = {}; + for(let i in parametersOrder) { + const parameter = parametersOrder[i]; + resultat[parameter] = parseFloat(data[i]); } + //TODO: doc.fr et doc.en + //TODO: humanReadable + //TODO: longName.fr .en + return resultat; } diff --git a/main.test.js b/main.test.js index d125083..53826df 100644 --- a/main.test.js +++ b/main.test.js @@ -8,3 +8,15 @@ test('app parse c', () => { test('app parse dt', () => { expect(app(data).dt).toBe(86400); }); +test('app parse ud0', () => { + expect(app(data).ud0).toBe(1000); +}); +test('app parse sigPeriod', () => { + expect(app(data).sigPeriod).toBe(432000); +}); +test('app parse percentRot', () => { + expect(app(data).percentRot).toBe(15778800); +}); +test('app parse txWindow', () => { + expect(app(data).txWindow).toBe("???"); +}); -- GitLab