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