Comparing version 2.5.0-rc0 to 2.5.0-rc1
{ | ||
"extends": ["eslint:recommended"], | ||
"overrides": [ | ||
{ | ||
"files": ["src/**"], | ||
"files": ["*.ts"], | ||
"extends": [ | ||
"eslint:recommended", | ||
"plugin:@typescript-eslint/eslint-recommended", | ||
@@ -19,6 +19,3 @@ "plugin:@typescript-eslint/recommended", | ||
"files": ["*.js"], | ||
"extends": [ | ||
"eslint:recommended", | ||
"plugin:prettier/recommended" | ||
], | ||
"extends": ["plugin:prettier/recommended"], | ||
"parserOptions": { | ||
@@ -25,0 +22,0 @@ "ecmaVersion": 2015 |
@@ -19,3 +19,3 @@ #!/usr/bin/env node | ||
console.log( | ||
" (--algo defaults to `luhn' or CDIGIT_CLI_DEFAULT_ALGO env var if set)" | ||
" (--algo defaults to 'luhn' or CDIGIT_CLI_DEFAULT_ALGO env var if set)" | ||
); | ||
@@ -34,3 +34,3 @@ }); | ||
if (!cdigit.names.includes(algo)) { | ||
throw Error(`unknown algorithm \`${algo}'`); | ||
throw Error(`unknown algorithm '${algo}'`); | ||
} | ||
@@ -65,7 +65,2 @@ | ||
program.parse(process.argv); | ||
if (program.args.length === 0) { | ||
process.exitCode = 1; | ||
program.help(); | ||
} | ||
} catch (err) { | ||
@@ -72,0 +67,0 @@ process.exitCode = 1; |
@@ -1,73 +0,73 @@ | ||
const cdigit = require('cdigit'); | ||
const cdigit = require("cdigit"); | ||
// Luhn algorithm | ||
console.log(cdigit.luhn.compute('1234')); // '4' | ||
console.log(cdigit.luhn.generate('1234')); // '12344' | ||
console.log(cdigit.luhn.validate('12344')); // true | ||
console.log(cdigit.luhn.validate('12345')); // false | ||
console.log(cdigit.luhn.compute("1234")); // "4" | ||
console.log(cdigit.luhn.generate("1234")); // "12344" | ||
console.log(cdigit.luhn.validate("12344")); // true | ||
console.log(cdigit.luhn.validate("12345")); // false | ||
// Verhoeff algorithm | ||
console.log(cdigit.verhoeff.compute('1234')); // '0' | ||
console.log(cdigit.verhoeff.generate('1234')); // '12340' | ||
console.log(cdigit.verhoeff.validate('12340')); // true | ||
console.log(cdigit.verhoeff.validate('12345')); // false | ||
console.log(cdigit.verhoeff.compute("1234")); // "0" | ||
console.log(cdigit.verhoeff.generate("1234")); // "12340" | ||
console.log(cdigit.verhoeff.validate("12340")); // true | ||
console.log(cdigit.verhoeff.validate("12345")); // false | ||
// Damm algorithm | ||
console.log(cdigit.damm.compute('1234')); // '0' | ||
console.log(cdigit.damm.generate('1234')); // '12340' | ||
console.log(cdigit.damm.validate('12340')); // true | ||
console.log(cdigit.damm.validate('12345')); // false | ||
console.log(cdigit.damm.compute("1234")); // "0" | ||
console.log(cdigit.damm.generate("1234")); // "12340" | ||
console.log(cdigit.damm.validate("12340")); // true | ||
console.log(cdigit.damm.validate("12345")); // false | ||
// ISO/IEC 7064, MOD 11-2 algorithm | ||
console.log(cdigit.mod11_2.compute('1234')); // '4' | ||
console.log(cdigit.mod11_2.generate('1234')); // '12344' | ||
console.log(cdigit.mod11_2.validate('12344')); // true | ||
console.log(cdigit.mod11_2.validate('12345')); // false | ||
console.log(cdigit.mod11_2.compute("1234")); // "4" | ||
console.log(cdigit.mod11_2.generate("1234")); // "12344" | ||
console.log(cdigit.mod11_2.validate("12344")); // true | ||
console.log(cdigit.mod11_2.validate("12345")); // false | ||
// ISO/IEC 7064, MOD 37-2 algorithm | ||
console.log(cdigit.mod37_2.compute('12CD')); // '6' | ||
console.log(cdigit.mod37_2.generate('12CD')); // '12CD6' | ||
console.log(cdigit.mod37_2.validate('12CD6')); // true | ||
console.log(cdigit.mod37_2.validate('12CD5')); // false | ||
console.log(cdigit.mod37_2.compute("12CD")); // "6" | ||
console.log(cdigit.mod37_2.generate("12CD")); // "12CD6" | ||
console.log(cdigit.mod37_2.validate("12CD6")); // true | ||
console.log(cdigit.mod37_2.validate("12CD5")); // false | ||
// ISO/IEC 7064, MOD 97-10 algorithm | ||
console.log(cdigit.mod97_10.compute('1234')); // '82' | ||
console.log(cdigit.mod97_10.generate('1234')); // '123482' | ||
console.log(cdigit.mod97_10.validate('123482')); // true | ||
console.log(cdigit.mod97_10.validate('123456')); // false | ||
console.log(cdigit.mod97_10.compute("1234")); // "82" | ||
console.log(cdigit.mod97_10.generate("1234")); // "123482" | ||
console.log(cdigit.mod97_10.validate("123482")); // true | ||
console.log(cdigit.mod97_10.validate("123456")); // false | ||
// ISO/IEC 7064, MOD 661-26 algorithm | ||
console.log(cdigit.mod661_26.compute('ABCD')); // 'KN' | ||
console.log(cdigit.mod661_26.generate('ABCD')); // 'ABCDKN' | ||
console.log(cdigit.mod661_26.validate('ABCDKN')); // true | ||
console.log(cdigit.mod661_26.validate('ABCDEF')); // false | ||
console.log(cdigit.mod661_26.compute("ABCD")); // "KN" | ||
console.log(cdigit.mod661_26.generate("ABCD")); // "ABCDKN" | ||
console.log(cdigit.mod661_26.validate("ABCDKN")); // true | ||
console.log(cdigit.mod661_26.validate("ABCDEF")); // false | ||
// ISO/IEC 7064, MOD 1271-36 algorithm | ||
console.log(cdigit.mod1271_36.compute('12CD')); // 'JU' | ||
console.log(cdigit.mod1271_36.generate('12CD')); // '12CDJU' | ||
console.log(cdigit.mod1271_36.validate('12CDJU')); // true | ||
console.log(cdigit.mod1271_36.validate('12CD56')); // false | ||
console.log(cdigit.mod1271_36.compute("12CD")); // "JU" | ||
console.log(cdigit.mod1271_36.generate("12CD")); // "12CDJU" | ||
console.log(cdigit.mod1271_36.validate("12CDJU")); // true | ||
console.log(cdigit.mod1271_36.validate("12CD56")); // false | ||
// ISO/IEC 7064, MOD 11-10 algorithm | ||
console.log(cdigit.mod11_10.compute('1234')); // '0' | ||
console.log(cdigit.mod11_10.generate('1234')); // '12340' | ||
console.log(cdigit.mod11_10.validate('12340')); // true | ||
console.log(cdigit.mod11_10.validate('12345')); // false | ||
console.log(cdigit.mod11_10.compute("1234")); // "0" | ||
console.log(cdigit.mod11_10.generate("1234")); // "12340" | ||
console.log(cdigit.mod11_10.validate("12340")); // true | ||
console.log(cdigit.mod11_10.validate("12345")); // false | ||
// ISO/IEC 7064, MOD 27-26 algorithm | ||
console.log(cdigit.mod27_26.compute('ABCD')); // 'R' | ||
console.log(cdigit.mod27_26.generate('ABCD')); // 'ABCDR' | ||
console.log(cdigit.mod27_26.validate('ABCDR')); // true | ||
console.log(cdigit.mod27_26.validate('ABCDE')); // false | ||
console.log(cdigit.mod27_26.compute("ABCD")); // "R" | ||
console.log(cdigit.mod27_26.generate("ABCD")); // "ABCDR" | ||
console.log(cdigit.mod27_26.validate("ABCDR")); // true | ||
console.log(cdigit.mod27_26.validate("ABCDE")); // false | ||
// ISO/IEC 7064, MOD 37-36 algorithm | ||
console.log(cdigit.mod37_36.compute('12CD')); // '5' | ||
console.log(cdigit.mod37_36.generate('12CD')); // '12CD5' | ||
console.log(cdigit.mod37_36.validate('12CD5')); // true | ||
console.log(cdigit.mod37_36.validate('12CDE')); // false | ||
console.log(cdigit.mod37_36.compute("12CD")); // "5" | ||
console.log(cdigit.mod37_36.generate("12CD")); // "12CD5" | ||
console.log(cdigit.mod37_36.validate("12CD5")); // true | ||
console.log(cdigit.mod37_36.validate("12CDE")); // false | ||
// GTINs (including UPC, EAN, ISBN-13, etc.) | ||
console.log(cdigit.gtin.compute('01234567890')); // '5' | ||
console.log(cdigit.gtin.generate('01234567890')); // '012345678905' | ||
console.log(cdigit.gtin.validate('012345678905')); // true | ||
console.log(cdigit.gtin.validate('012345678901')); // false | ||
console.log(cdigit.gtin.compute("01234567890")); // "5" | ||
console.log(cdigit.gtin.generate("01234567890")); // "012345678905" | ||
console.log(cdigit.gtin.validate("012345678905")); // true | ||
console.log(cdigit.gtin.validate("012345678901")); // false |
{ | ||
"name": "cdigit", | ||
"version": "2.5.0-rc0", | ||
"version": "2.5.0-rc1", | ||
"description": "Collection of check digit algorithms implemented in JavaScript", | ||
@@ -12,3 +12,3 @@ "main": "lib/index.js", | ||
"build": "rm -rf lib && tsc", | ||
"lint": "eslint --ext .ts src && eslint --ext .js bin test", | ||
"lint": "eslint --ext .js,.ts example.js bin src test", | ||
"prepare": "npm run lint && npm run build && npm test", | ||
@@ -15,0 +15,0 @@ "test": "mocha", |
@@ -5,3 +5,2 @@ # cdigit: Check Digit Algorithms in JS | ||
## Synopsis | ||
@@ -12,8 +11,8 @@ | ||
```javascript | ||
const cdigit = require('cdigit'); | ||
const cdigit = require("cdigit"); | ||
// Luhn (a.k.a. Mod 10) algorithm | ||
console.log(cdigit.luhn.compute('1234')); // '4' | ||
console.log(cdigit.luhn.generate('1234')); // '12344' | ||
console.log(cdigit.luhn.validate('12344')); // true | ||
console.log(cdigit.luhn.compute("1234")); // "4" | ||
console.log(cdigit.luhn.generate("1234")); // "12344" | ||
console.log(cdigit.luhn.validate("12344")); // true | ||
``` | ||
@@ -30,3 +29,2 @@ | ||
## Supported Algorithms | ||
@@ -37,3 +35,3 @@ | ||
| Algorithm | cdigit name | Input string | Check character(s) | | ||
|------------|-------------|---------------|--------------------| | ||
| ---------- | ----------- | ------------- | ------------------ | | ||
| [Luhn] | luhn | Numeric (0-9) | 1 digit (0-9) | | ||
@@ -56,3 +54,3 @@ | [Verhoeff] | verhoeff | Numeric (0-9) | 1 digit (0-9) | | ||
| Algorithm | cdigit name | Input string | Check character(s) | | ||
|---------------------------|-------------|-----------------------|-------------------------------------| | ||
| ------------------------- | ----------- | --------------------- | ----------------------------------- | | ||
| ISO/IEC 7064, MOD 11-2 | mod11_2 | Numeric (0-9) | 1 digit or 'X' (0-9X) | | ||
@@ -79,3 +77,3 @@ | ISO/IEC 7064, MOD 37-2 | mod37_2 | Alphanumeric (0-9A-Z) | 1 digit, letter, or '\*' (0-9A-Z\*) | | ||
| Algorithm | cdigit name | Input string | Check character(s) | Also known as | | ||
|-----------|-------------|---------------|--------------------|---------------------------| | ||
| --------- | ----------- | ------------- | ------------------ | ------------------------- | | ||
| GTIN-8 | gtin | Numeric (0-9) | 1 digit (0-9) | EAN-8 | | ||
@@ -86,3 +84,2 @@ | GTIN-12 | gtin | Numeric (0-9) | 1 digit (0-9) | UPC, UPC-A | | ||
[GTIN]: https://www.gs1.org/standards/id-keys/gtin | ||
@@ -95,10 +92,9 @@ [UPC]: https://en.wikipedia.org/wiki/Universal_Product_Code | ||
## Usage - Node.js | ||
Load `cdigit` and access to algorithm objects by cdigit.*name* listed in | ||
Load `cdigit` and access to algorithm objects by cdigit._name_ listed in | ||
[Supported Algorithms section](#supported-algorithms). | ||
```javascript | ||
const cdigit = require('cdigit'); | ||
const cdigit = require("cdigit"); | ||
const algo = cdigit.mod97_10; | ||
@@ -115,3 +111,3 @@ ``` | ||
```javascript | ||
console.log(cdigit.mod97_10.validate('123482')); // true | ||
console.log(cdigit.mod97_10.validate("123482")); // true | ||
``` | ||
@@ -126,3 +122,3 @@ | ||
```javascript | ||
console.log(cdigit.mod97_10.generate('1234')); // '123482' | ||
console.log(cdigit.mod97_10.generate("1234")); // "123482" | ||
``` | ||
@@ -136,3 +132,3 @@ | ||
```javascript | ||
console.log(cdigit.mod97_10.compute('1234')); // '82' | ||
console.log(cdigit.mod97_10.compute("1234")); // "82" | ||
``` | ||
@@ -142,3 +138,2 @@ | ||
## Usage - Command-line | ||
@@ -163,3 +158,2 @@ | ||
## License | ||
@@ -171,4 +165,4 @@ | ||
* [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | ||
* [MIT license](http://opensource.org/licenses/MIT) | ||
- [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | ||
- [MIT license](http://opensource.org/licenses/MIT) | ||
@@ -183,7 +177,6 @@ at your option. | ||
## See Also | ||
* [GitHub repository](https://github.com/LiosK/cdigit) | ||
* [npm package](https://www.npmjs.com/package/cdigit) | ||
* [typedoc-generated documentation (experimental)](https://liosk.github.io/cdigit/) | ||
- [GitHub repository](https://github.com/LiosK/cdigit) | ||
- [npm package](https://www.npmjs.com/package/cdigit) | ||
- [typedoc-generated documentation (experimental)](https://liosk.github.io/cdigit/) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
328397
9816
168