diff --git a/README.md b/README.md index c5471e9648af626cafe1a8cdca994b76fc908c77..6edf225b0f80f341c52923eb2907cfe9e8922ba2 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 0e9636706549c3305c18e1348511d90465402315..28034acc193319f5a05cdabbbb622f8c6bc18d8e 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 d1250836c5063d53ea01273e97568f133ad09d97..53826df66a79ee1b059d36c624f9edb5e50e5f77 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("???"); +});