From 2286ec165a95ee1bb210ac9af0e0df037204c47c Mon Sep 17 00:00:00 2001 From: ggrg Date: Thu, 3 Oct 2019 10:04:25 +0300 Subject: [PATCH 1/2] Uppercase L in MLNumber --- README.md | 30 +-- package-lock.json | 532 ++++++++++++++++++++++--------------- package.json | 11 +- src/index.js | 3 +- src/mlnumber.js | 91 +++---- test/unit/mlnumber.test.js | 65 ++--- 6 files changed, 415 insertions(+), 317 deletions(-) diff --git a/README.md b/README.md index 7b4b67b..5073d32 100644 --- a/README.md +++ b/README.md @@ -16,33 +16,33 @@ npm install @mojaloop/ml-number ### Usage -To create a new instance of the MlNumber class(returns instance of MlNumber): +To create a new instance of the MLNumber class(returns instance of MLNumber): ```javascript 1.8 -const MlNumber = require('@mojaloop/ml-number') -const mlNumber = new MlNumber(6) // can be instantiated with a number -const mlNumber2 = new MlNumber('6') // can be instantiated with a string -const mlNumber3 = new MlNumber(mlNumber2) // can be instantiated with a MlNumber +const MLNumber = require('@mojaloop/ml-number') +const mlNumber = new MLNumber(6) // can be instantiated with a number +const mlNumber2 = new MLNumber('6') // can be instantiated with a string +const mlNumber3 = new MLNumber(mlNumber2) // can be instantiated with a MLNumber ``` -Use different function(returns new instance of new MlNumber): +Use different function(returns new instance of new MLNumber): ```javascript 1.8 -const MlNumber = require('@mojaloop/ml-number') +const MLNumber = require('@mojaloop/ml-number') -const originalValue = new MlNumber(6) // = "{"MlNumber": "6"}" +const originalValue = new MLNumber(6) // = "{"MLNumber": "6"}" -const additionResult = originalValue.add(12) // = "{"MlNumber": "18"}" +const additionResult = originalValue.add(12) // = "{"MLNumber": "18"}" -const multiplyResult = originalValue.multiply('12') // = "{"MlNumber": "72"}" +const multiplyResult = originalValue.multiply('12') // = "{"MLNumber": "72"}" -const divisionResult = originalValue.divide(2) // = "{"MlNumber": "3"}" +const divisionResult = originalValue.divide(2) // = "{"MLNumber": "3"}" -const subtractionResult = originalValue.subtract('2') // = "{"MlNumber": "4"}" +const subtractionResult = originalValue.subtract('2') // = "{"MLNumber": "4"}" -const mixedFunctionsValuesResult = new MlNumber('2').add(originalValue).sumList([additionResult, 5]) // = "{"MlNumber": "31"}" +const mixedFunctionsValuesResult = new MLNumber('2').add(originalValue).sumList([additionResult, 5]) // = "{"MLNumber": "31"}" -const differentFunctionsResult = originalValue.add(2).multiply(3).divide(2).subtract(2) // = "{"MlNumber": "10"}" +const differentFunctionsResult = originalValue.add(2).multiply(3).divide(2).subtract(2) // = "{"MLNumber": "10"}" -const sumListResult = originalValue.sumList([2,3]) // = "{"MlNumber": "11"}" +const sumListResult = originalValue.sumList([2,3]) // = "{"MLNumber": "11"}" const toStringResult = additionResult.toString() // = "18" diff --git a/package-lock.json b/package-lock.json index ef1a273..f2ebf6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/ml-number", - "version": "8.1.0", + "version": "8.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -111,6 +111,13 @@ "to-fast-properties": "^2.0.0" } }, + "@korzio/djv-draft-04": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@korzio/djv-draft-04/-/djv-draft-04-2.0.1.tgz", + "integrity": "sha512-MeTVcNsfCIYxK6T7jW1sroC7dBAb4IfLmQe6RoCqlxHN5NFkzNpgdnBPR+/0D2wJDUJHM9s9NQv+ouhxKjvUjg==", + "dev": true, + "optional": true + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -137,9 +144,9 @@ } }, "acorn": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz", - "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", "dev": true }, "acorn-jsx": { @@ -273,6 +280,30 @@ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, + "audit-resolve-core": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/audit-resolve-core/-/audit-resolve-core-1.1.7.tgz", + "integrity": "sha512-9nLm9SgyMbMv86X5a/E6spcu3V+suceHF6Pg4BwjPqfxWBKDvISagJH9Ji592KihqBev4guKFO3BiNEVNnqh3A==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^4.1.1", + "djv": "^2.1.2", + "spawn-shell": "^2.1.0", + "yargs-parser": "^10.1.0" + }, + "dependencies": { + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -285,9 +316,9 @@ "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", "dev": true }, "boxen": { @@ -380,9 +411,9 @@ } }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } @@ -467,9 +498,9 @@ "dev": true }, "chownr": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", - "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", "dev": true }, "ci-info": { @@ -647,12 +678,6 @@ "requires": { "pify": "^3.0.0" } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true } } }, @@ -851,6 +876,15 @@ } } }, + "djv": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/djv/-/djv-2.1.2.tgz", + "integrity": "sha512-ltQSINn+7aMTp7pKeQpfZg2ACd/Gy6VrL3LYuT25/plwPBb7xlGOekr463Luqn816AWJLuP7KZQGFct2JICyeA==", + "dev": true, + "requires": { + "@korzio/djv-draft-04": "^2.0.1" + } + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -935,9 +969,9 @@ } }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" @@ -1011,9 +1045,9 @@ "dev": true }, "eslint": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.3.0.tgz", - "integrity": "sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz", + "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -1122,13 +1156,21 @@ } }, "eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz", + "integrity": "sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==", "dev": true, "requires": { "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" + "regexpp": "^3.0.0" + }, + "dependencies": { + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", + "dev": true + } } }, "eslint-plugin-import": { @@ -1178,13 +1220,13 @@ } }, "eslint-plugin-node": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-9.1.0.tgz", - "integrity": "sha512-ZwQYGm6EoV2cfLpE1wxJWsfnKUIXfM/KM09/TlorkukgCAwmkgajEJnPCmyzoFPQQkmvo5DrW/nyKutNIw36Mw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz", + "integrity": "sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==", "dev": true, "requires": { - "eslint-plugin-es": "^1.4.0", - "eslint-utils": "^1.3.1", + "eslint-plugin-es": "^2.0.0", + "eslint-utils": "^1.4.2", "ignore": "^5.1.1", "minimatch": "^3.0.4", "resolve": "^1.10.1", @@ -1519,12 +1561,21 @@ "dev": true }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } } }, "flat-cache": { @@ -1648,12 +1699,12 @@ } }, "fs-minipass": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz", - "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs-write-stream-atomic": { @@ -1728,9 +1779,9 @@ } }, "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -1940,9 +1991,9 @@ "dev": true }, "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.2.tgz", + "integrity": "sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw==", "dev": true, "requires": { "minimatch": "^3.0.4" @@ -2302,9 +2353,9 @@ "dev": true }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -2324,6 +2375,12 @@ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, + "jsonlines": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsonlines/-/jsonlines-0.1.1.tgz", + "integrity": "sha1-T80kbcXQ44aRkHxEqwAveC0dlMw=", + "dev": true + }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -2404,15 +2461,6 @@ "path-exists": "^3.0.0" } }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -2421,12 +2469,6 @@ "requires": { "p-limit": "^2.0.0" } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true } } }, @@ -2440,16 +2482,23 @@ "parse-json": "^2.2.0", "pify": "^2.0.0", "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, "lodash": { @@ -2542,9 +2591,9 @@ } }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } @@ -2603,9 +2652,9 @@ "dev": true }, "minipass": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.5.0.tgz", - "integrity": "sha512-9FwMVYhn6ERvMR8XFdOavRz4QK/VJV8elU1x50vYexf9lslDcWe/f4HBRxCPd185ekRSjU6CfYyJCECa/CQy7Q==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "requires": { "safe-buffer": "^5.1.2", @@ -2613,20 +2662,20 @@ }, "dependencies": { "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mississippi": { @@ -2826,31 +2875,24 @@ } }, "normalize-url": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", - "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", "dev": true }, "npm-audit-resolver": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/npm-audit-resolver/-/npm-audit-resolver-1.5.0.tgz", - "integrity": "sha512-pOatk9mNIVqljbjlW8MqpeBWzF9TP9x7RMIyG+Z8i1RW0180w2h/+fhYruDzzLMLwe/FlLlk6uKSygUBVzjHFA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/npm-audit-resolver/-/npm-audit-resolver-2.0.1.tgz", + "integrity": "sha512-8tV9j3A+XicxWo4vv9JczIp7mf99ezXPAKN3d1KmsIwspvAozEzaeMoF+Eo7OgubIYqhdGILnpZ7NpS8EW3C8g==", "dev": true, "requires": { - "chalk": "^2.4.1", - "concat-stream": "^1.6.2", + "audit-resolve-core": "^1.1.7", + "chalk": "^2.4.2", + "djv": "^2.1.2", + "jsonlines": "^0.1.1", "read": "^1.0.7", - "semver": "^5.5.0", "spawn-shell": "^2.1.0", - "yargs-parser": "^10.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "yargs-parser": "^13.1.1" } }, "npm-bundled": { @@ -2860,15 +2902,15 @@ "dev": true }, "npm-check-updates": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.1.21.tgz", - "integrity": "sha512-t7KygdHZ1cF2jS6kcOPiUg6s53Sq5jcOqHnddOe92qW7Xd4mh9AUT52OYYQ0YfAiP7VIdZ5379/G/atG6J0WDA==", + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.1.23.tgz", + "integrity": "sha512-Z2dkMdNgue6OPkQDPcAK62Qrwv+G1PaEmKrDrrSAiSP7pRD3u30xOVy1nLukS1XrJ2/zF8XTVxFe9/ubcvlcPQ==", "dev": true, "requires": { "chalk": "^2.4.2", "cint": "^8.2.1", "cli-table": "^0.3.1", - "commander": "^3.0.0", + "commander": "^3.0.1", "fast-diff": "^1.2.0", "find-up": "4.1.0", "get-stdin": "^7.0.0", @@ -2876,7 +2918,7 @@ "libnpmconfig": "^1.2.1", "lodash": "^4.17.15", "node-alias": "^1.0.4", - "pacote": "^9.5.4", + "pacote": "^9.5.8", "progress": "^2.0.3", "prompts": "^2.2.1", "rc-config-loader": "^2.0.4", @@ -2888,58 +2930,9 @@ }, "dependencies": { "commander": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.1.tgz", - "integrity": "sha512-UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", "dev": true } } @@ -2994,9 +2987,9 @@ } }, "npm-registry-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", - "integrity": "sha512-Jllq35Jag8dtv0M17ue74XtdQTyqKzuAYGiX9mAjOhkmNjib3bBUgK6mUY61+AHnXeSRobQkpY3/xIOS/omptw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.1.tgz", + "integrity": "sha512-1ZQ+yjnxc698R5h9Yje9CASapzAZr7aYDkJDdERg9xg2hOEY0vRJwskOaJAXq8N/eLavzvW4g564YAfq6zMn/A==", "dev": true, "requires": { "JSONStream": "^1.3.4", @@ -3004,7 +2997,8 @@ "figgy-pudding": "^3.4.1", "lru-cache": "^5.1.1", "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0" + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" }, "dependencies": { "lru-cache": { @@ -3016,10 +3010,16 @@ "yallist": "^3.0.2" } }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } @@ -3284,27 +3284,27 @@ "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "package-hash": { @@ -3384,9 +3384,9 @@ "dev": true }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } @@ -3483,12 +3483,20 @@ "dev": true, "requires": { "pify": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pkg-conf": { @@ -3533,15 +3541,6 @@ "path-exists": "^3.0.0" } }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -3551,12 +3550,6 @@ "p-limit": "^2.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -3593,6 +3586,51 @@ "dev": true, "requires": { "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } } }, "pre-commit": { @@ -3785,9 +3823,9 @@ } }, "react-is": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", - "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==", + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.10.1.tgz", + "integrity": "sha512-BXUMf9sIOPXXZWqr7+c5SeOKJykyVr2u0UDzEf4LNGc6taGkQe1A9DFD07umCIXz45RLr9oAAwZbAJ0Pkknfaw==", "dev": true }, "read": { @@ -3818,6 +3856,51 @@ "requires": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } } }, "readable-stream": { @@ -4234,16 +4317,16 @@ } }, "standard": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/standard/-/standard-14.1.0.tgz", - "integrity": "sha512-jeRuTKtBJ9dI1kyYiC1RBbiVzSjGIbswIlO1OQMvnXizO94gEk2Yr80W5e/HmCWWbjzBqJBa+0JGazgL7JN2jQ==", + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/standard/-/standard-14.3.1.tgz", + "integrity": "sha512-TUQwU7znlZLfgKH1Zwn/D84FitWZkUTfbxSiz/vFx+4c9GV+clSfG/qLiLZOlcdyzhw3oF5/pZydNjbNDfHPEw==", "dev": true, "requires": { - "eslint": "~6.2.2", + "eslint": "~6.4.0", "eslint-config-standard": "14.1.0", "eslint-config-standard-jsx": "8.1.0", "eslint-plugin-import": "~2.18.0", - "eslint-plugin-node": "~9.1.0", + "eslint-plugin-node": "~10.0.0", "eslint-plugin-promise": "~4.2.1", "eslint-plugin-react": "~7.14.2", "eslint-plugin-standard": "~4.0.0", @@ -4251,9 +4334,9 @@ }, "dependencies": { "eslint": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.2.2.tgz", - "integrity": "sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.4.0.tgz", + "integrity": "sha512-WTVEzK3lSFoXUovDHEbkJqCVPEPwbhCq4trDktNI6ygs7aO41d4cDT0JFAT5MivzZeVLWlg7vHL+bgrQv/t3vA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -4594,14 +4677,14 @@ } }, "tar": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz", - "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==", + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "dev": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.5", + "minipass": "^2.8.6", "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", @@ -4609,9 +4692,9 @@ }, "dependencies": { "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } @@ -5165,12 +5248,21 @@ } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } } } } diff --git a/package.json b/package.json index 79c31a0..2751312 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,11 @@ { "name": "@mojaloop/ml-number", - "version": "8.1.0", + "version": "8.2.0", "description": "Mojaloop Number Library implementation that handles decimal processing of amounts/numbers", "author": "ModusBox", "contributors": [ "ModusBox", + "Georgi Georgiev ", "Rajiv Mothilal " ], "license": "Apache-2.0", @@ -42,13 +43,13 @@ "bignumber.js": "9.0.0" }, "devDependencies": { - "eslint": "6.3.0", + "eslint": "6.5.1", "faucet": "0.0.1", - "npm-audit-resolver": "1.5.0", - "npm-check-updates": "3.1.21", + "npm-audit-resolver": "2.0.1", + "npm-check-updates": "3.1.23", "nyc": "14.1.1", "pre-commit": "1.2.2", - "standard": "14.1.0", + "standard": "14.3.1", "tap-xunit": "2.4.1", "tape": "4.11.0", "tapes": "4.1.0" diff --git a/src/index.js b/src/index.js index 996adaf..171f293 100644 --- a/src/index.js +++ b/src/index.js @@ -23,10 +23,11 @@ - Name Surname * ModusBox + - Georgi Georgiev - Rajiv Mothilal -------------- ******/ 'use strict' -module.exports = require('./mlnumber').MlNumber +module.exports = require('./mlnumber').MLNumber diff --git a/src/mlnumber.js b/src/mlnumber.js index 4755616..3a1a36c 100644 --- a/src/mlnumber.js +++ b/src/mlnumber.js @@ -23,6 +23,7 @@ - Name Surname * ModusBox + - Georgi Georgiev - Rajiv Mothilal -------------- @@ -32,125 +33,125 @@ const BigNumber = require('bignumber.js') /** - * MlNumber class for performing + * MLNumber class for performing * - * Once you instantiate this class, a MlNumber object will be returned. + * Once you instantiate this class, a MLNumber object will be returned. * * @example - * let mlNumber = new MlNumber(6) + * let mlNumber = new MLNumber(6) * - * @param {string/number/MlNumber} value - value to be transposed to MlNumber + * @param {string/number/MLNumber} value - value to be transposed to MLNumber * @constructor */ -class MlNumber { - constructor(value = 0) { - this.MlNumber = new BigNumber(value) +class MLNumber { + constructor (value = 0) { + this.mlNumber = new BigNumber(value) } /** * @function sumList * - * @description Adds a list of numbers to a MlNumber + * @description Adds a list of numbers to a MLNumber * - * @param {array} values Array of values can be string and or number and or MlNumber values + * @param {array} values Array of values can be string and or number and or MLNumber values * - * @return {MlNumber} - Returns a new MlNumber object and return a new Instance of MlNumber + * @return {MLNumber} - Returns a new MLNumber object and return a new Instance of MLNumber */ - sumList(values) { - return new MlNumber(this.MlNumber.plus(values.reduce((a, b) => { - return new MlNumber(a).add(b) + sumList (values) { + return new MLNumber(this.mlNumber.plus(values.reduce((a, b) => { + return new MLNumber(a).add(b) }))) } /** * @function add * - * @description Adds a number to a MlNumber + * @description Adds a number to a MLNumber * - * @param {string/number/MlNumber} addition - add value to MlNumber + * @param {string/number/MLNumber} addition - add value to MLNumber * - * @return {MlNumber} - Returns a MlNumber object and return a new Instance of MlNumber + * @return {MLNumber} - Returns a MLNumber object and return a new Instance of MLNumber */ - add(addition) { - return new MlNumber(this.MlNumber.plus(addition)) + add (addition) { + return new MLNumber(this.mlNumber.plus(addition)) } /** * @function multiply * - * @description Multiplies a number and a MlNumber + * @description Multiplies a number and a MLNumber * - * @param {string/number/MlNumber} product - multiply value and a MlNumber + * @param {string/number/MLNumber} product - multiply value and a MLNumber * - * @return {MlNumber} - Returns a MlNumber object and return a new Instance of MlNumber + * @return {MLNumber} - Returns a MLNumber object and return a new Instance of MLNumber */ - multiply(product) { - return new MlNumber(this.MlNumber.multipliedBy(product)) + multiply (product) { + return new MLNumber(this.mlNumber.multipliedBy(product)) } /** * @function subtract * - * @description Subtracts a number from a MlNumber + * @description Subtracts a number from a MLNumber * - * @param {string/number/MlNumber} difference - difference to be removed from a MlNumber + * @param {string/number/MLNumber} difference - difference to be removed from a MLNumber * - * @return {MlNumber} - Returns a MlNumber object and return a new Instance of MlNumber + * @return {MLNumber} - Returns a MLNumber object and return a new Instance of MLNumber */ - subtract(difference) { - return new MlNumber(this.MlNumber.minus(difference)) + subtract (difference) { + return new MLNumber(this.mlNumber.minus(difference)) } /** * @function divide * - * @description Divides a MlNumber by a value + * @description Divides a MLNumber by a value * - * @param {string/number/MlNumber} denominator - Divides and MlNumber by a value + * @param {string/number/MLNumber} denominator - Divides and MLNumber by a value * - * @return {MlNumber} - Returns a MlNumber object and return a new Instance of MlNumber + * @return {MLNumber} - Returns a MLNumber object and return a new Instance of MLNumber */ - divide(denominator) { - return new MlNumber(this.MlNumber.dividedBy(denominator)) + divide (denominator) { + return new MLNumber(this.mlNumber.dividedBy(denominator)) } /** * @function toString * - * @description Converts MlNumber to string representation + * @description Converts MLNumber to string representation * - * @return {string} - Returns string value from MlNumber object + * @return {string} - Returns string value from MLNumber object */ - toString() { - return this.MlNumber.valueOf() + toString () { + return this.mlNumber.valueOf() } /** * @function toNumber * - * @description Converts MlNumber to number representation + * @description Converts MLNumber to number representation * - * @return {number} - Returns number value from MlNumber object + * @return {number} - Returns number value from MLNumber object */ - toNumber() { - return this.MlNumber.toNumber() + toNumber () { + return this.mlNumber.toNumber() } /** * @function toFixed * - * @description Converts MlNumber to pretty string with decimal points + * @description Converts MLNumber to pretty string with decimal points * * @param {number} decimalPlaces - number of decimal points * @param roundingMode - rounding mode i.e ROUND_UP, ROUND_DOWN etc * - * @return {string} - Returns pretty string value with decimal points and rounding from MlNumber object + * @return {string} - Returns pretty string value with decimal points and rounding from MLNumber object */ toFixed (decimalPlaces = 4, roundingMode = BigNumber.ROUND_UP) { - return this.MlNumber.toFixed(decimalPlaces, roundingMode) + return this.mlNumber.toFixed(decimalPlaces, roundingMode) } } module.exports = { - MlNumber + MLNumber } diff --git a/test/unit/mlnumber.test.js b/test/unit/mlnumber.test.js index 6cb605a..34de7b2 100644 --- a/test/unit/mlnumber.test.js +++ b/test/unit/mlnumber.test.js @@ -18,120 +18,123 @@ * Gates Foundation * Name Surname - * Rajiv Mothilal + * ModusBox + - Georgi Georgiev + - Rajiv Mothilal + -------------- ******/ 'use strict' const Test = require('tapes')(require('tape')) -const MlNumber = require('../../src') +const MLNumber = require('../../src') -Test('MlNumber', mlNumberTest => { +Test('MLNumber', mlNumberTest => { mlNumberTest.test('sumList should add a list of numbers', test => { - const sum = new MlNumber().sumList([1, 2, 3]) + const sum = new MLNumber().sumList([1, 2, 3]) test.equal(sum.toString(), '6') test.end() }) mlNumberTest.test('sumList should add a list of string numbers', test => { - const sum = new MlNumber().sumList(['1', '2', '3']) + const sum = new MLNumber().sumList(['1', '2', '3']) test.equal(sum.toString(), '6') test.end() }) mlNumberTest.test('sumList should add a list of string numbers and normal numbers', test => { - const sum = new MlNumber().sumList(['1', 2, '3']) + const sum = new MLNumber().sumList(['1', 2, '3']) test.equal(sum.toNumber(), 6) test.end() }) mlNumberTest.test('add should add 2 numbers', test => { - const add = new MlNumber(1).add(2) + const add = new MLNumber(1).add(2) test.equal(add.toString(), '3') test.end() }) mlNumberTest.test('add should add 2 string numbers', test => { - const add = new MlNumber('1').add('2') + const add = new MLNumber('1').add('2') test.equal(add.toString(), '3') test.end() }) mlNumberTest.test('add should add 2 string numbers and return a number', test => { - const add = new MlNumber('1').add('2') + const add = new MLNumber('1').add('2') test.equal(add.toNumber(), 3) test.end() }) mlNumberTest.test('add should add a string number and number', test => { - const add = new MlNumber('1').add(2) + const add = new MLNumber('1').add(2) test.equal(add.toString(), '3') test.end() }) mlNumberTest.test('multiply should multiply 2 numbers', test => { - const multiply = new MlNumber(12).multiply(2) + const multiply = new MLNumber(12).multiply(2) test.equal(multiply.toNumber(), 24) test.end() }) mlNumberTest.test('multiply should multiply 2 string numbers', test => { - const multiply = new MlNumber('12').multiply('2') + const multiply = new MLNumber('12').multiply('2') test.equal(multiply.toString(), '24') test.end() }) mlNumberTest.test('multiply should multiply a string number and normal number', test => { - const multiply = new MlNumber('12').multiply(2) + const multiply = new MLNumber('12').multiply(2) test.equal(multiply.toString(), '24') test.end() }) mlNumberTest.test('subtract should subtract 2 numbers', test => { - const difference = new MlNumber(10).subtract(2) + const difference = new MLNumber(10).subtract(2) test.equal(difference.toNumber(), 8) test.end() }) mlNumberTest.test('subtract should subtract 2 string numbers', test => { - const difference = new MlNumber('10').subtract('2') + const difference = new MLNumber('10').subtract('2') test.equal(difference.toString(), '8') test.end() }) mlNumberTest.test('subtract should subtract a string number and normal number', test => { - const difference = new MlNumber('10').subtract(2) + const difference = new MLNumber('10').subtract(2) test.equal(difference.toString(), '8') test.end() }) mlNumberTest.test('divide should divide 2 numbers', test => { - const divide = new MlNumber(1).divide(2) + const divide = new MLNumber(1).divide(2) test.equal(divide.toNumber(), 0.5) test.end() }) mlNumberTest.test('divide should divide 2 string numbers', test => { - const divide = new MlNumber('1').divide('2') + const divide = new MLNumber('1').divide('2') test.equal(divide.toString(), '0.5') test.end() }) mlNumberTest.test('divide should divide a string number and normal number', test => { - const divide = new MlNumber('1').divide(2) + const divide = new MLNumber('1').divide(2) test.equal(divide.toString(), '0.5') test.end() }) mlNumberTest.test('all functions should be able to be strung together', test => { - const total = new MlNumber('2').add(10) + const total = new MLNumber('2').add(10) const newTotal = total.multiply(5).subtract(10).divide(2).sumList([2, 3]) test.equal(newTotal.toString(), '30') test.end() }) mlNumberTest.test('all functions should be able to be strung together but original value must be unchanged', test => { - const total = new MlNumber('2').add(10) + const total = new MLNumber('2').add(10) const newTotal = total.multiply(5).subtract(10).divide(2).sumList([2, 3]) test.equal(newTotal.toString(), '30') test.equal(total.toString(), '12') @@ -139,28 +142,28 @@ Test('MlNumber', mlNumberTest => { }) mlNumberTest.test('should take in string and be able to represent it as a number', test => { - const mlNumber = new MlNumber('1') + const mlNumber = new MLNumber('1') test.equal(mlNumber.toNumber(), 1) test.end() }) - mlNumberTest.test('toFixed should format the MlNumber to the supplied decimal place and rounding mode', test => { - const mlNumber = new MlNumber('0.1').add(0.2) + mlNumberTest.test('toFixed should format the MLNumber to the supplied decimal place and rounding mode', test => { + const mlNumber = new MLNumber('0.1').add(0.2) test.equal(mlNumber.toFixed(), '0.3000') test.end() }) - mlNumberTest.test('Do calculations with strings number and MlNumbers', test => { - const mlNumber = new MlNumber(9) - const total = new MlNumber('2').add(mlNumber).sumList([mlNumber, 5]) + mlNumberTest.test('Do calculations with strings number and MLNumbers', test => { + const mlNumber = new MLNumber(9) + const total = new MLNumber('2').add(mlNumber).sumList([mlNumber, 5]) test.equal(total.toString(), '25') test.end() }) - mlNumberTest.test('Create MlNumber with MlNumber variable', test => { - const mlNumber = new MlNumber(9) - const mlNumberMlNumber = new MlNumber(mlNumber) - test.deepEqual(mlNumber, mlNumberMlNumber, 'Ml number created from MlNumber are equal') + mlNumberTest.test('Create MLNumber with MLNumber variable', test => { + const mlNumber = new MLNumber(9) + const mlNumber2 = new MLNumber(mlNumber) + test.deepEqual(mlNumber, mlNumber2, 'Ml number created from MLNumber are equal') test.end() }) From 733fb7769c233560cc1107bb746475af10a7589f Mon Sep 17 00:00:00 2001 From: ggrg Date: Thu, 3 Oct 2019 10:11:14 +0300 Subject: [PATCH 2/2] npm audit fix --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index f2ebf6d..3e7e840 100644 --- a/package-lock.json +++ b/package-lock.json @@ -600,9 +600,9 @@ "dev": true }, "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", + "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==", "dev": true, "optional": true }, @@ -1828,9 +1828,9 @@ "dev": true }, "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz", + "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==", "dev": true, "requires": { "neo-async": "^2.6.0",