New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-iso11649

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-iso11649 - npm Package Compare versions

Comparing version 2.0.2 to 2.1.0

4

CHANGELOG.md
# Changelog
This project uses [Semantic Versioning](http://semver.org/)
## 2.1.0 (2020-30-03)
- [Add parse function](https://github.com/nruotsal/node-iso11649/pull/150) by [davidknezic](https://github.com/davidknezic)
- [Add pretty print](https://github.com/nruotsal/node-iso11649/pull/149) by [davidknezic](https://github.com/davidknezic)
## 2.0.2 (2020-28-03)

@@ -5,0 +9,0 @@ - Remove unnecessary dependency

67

dist/index.js

@@ -5,2 +5,3 @@ 'use strict';

var REFERENCE_FORMAT = /^RF[0-9]{2}[0-9A-Z]+$/;
var charTable = {

@@ -24,2 +25,17 @@ A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, G: 16,

};
var moveRfToEnd = function (reference) {
return (reference.substr(4) + reference.substr(0, 4)).split('');
};
var isValidChecksum = function (reference) {
var preResult = moveRfToEnd(reference).map(substituteCharWithNumber).join('');
return modulo97(preResult) === 1;
};
var isValidFormat = function (reference) {
return reference.match(REFERENCE_FORMAT) !== null;
};
var isValid = function (reference) {
return reference.length <= 25 &&
isValidFormat(reference) &&
isValidChecksum(reference);
};

@@ -55,28 +71,45 @@ var ceil10 = function (num) {

};
var generate = (function (reference) {
var prettyFormatRFreference = function (reference) {
return reference.replace(/(.{4})(?!$)/g, '$1 ');
};
function generate(options) {
var reference;
var pretty = false;
if (typeof options === 'string') {
reference = options;
}
else if (typeof options === 'object') {
reference = options.reference;
pretty = options.pretty === true;
}
else {
reference = undefined;
}
var normalizedReference = typeof reference === 'undefined'
? generateFinnishReference()
: normalizeReference(reference);
return generateRFreference(normalizedReference);
});
var rfReference = generateRFreference(normalizedReference);
return pretty
? prettyFormatRFreference(rfReference)
: rfReference;
}
var REFERENCE_FORMAT = /^RF[0-9]{2}[0-9A-Z]+$/;
var moveRfToEnd = function (reference) {
return (reference.substr(4) + reference.substr(0, 4)).split('');
};
var isValidChecksum = function (reference) {
var preResult = moveRfToEnd(reference).map(substituteCharWithNumber).join('');
return modulo97(preResult) === 1;
};
var isValidFormat = function (reference) {
return reference.match(REFERENCE_FORMAT) !== null;
};
var validate = (function (reference) {
var normalizedRef = normalizeReference(reference);
return normalizedRef.length <= 25 &&
isValidFormat(normalizedRef) &&
isValidChecksum(normalizedRef);
return isValid(normalizedRef);
});
function removeRf(reference) {
return reference.substr(4);
}
function parse(reference) {
var normalizedRef = normalizeReference(reference);
if (!isValid(normalizedRef)) {
return null;
}
return removeRf(normalizedRef);
}
exports.generate = generate;
exports.parse = parse;
exports.validate = validate;

@@ -1,4 +0,11 @@

declare const generate: (reference?: string) => string;
declare const validate: (reference: string) => boolean;
export interface GenerateOptions {
reference?: string;
pretty?: boolean;
}
export { generate, validate }
declare function generate(reference?: string) => string;
declare function generate(options: GenerateOptions) => string;
declare function validate(reference: string) => boolean;
declare const parse: (reference: string) => string | null;
export { generate, validate, parse }
{
"name": "node-iso11649",
"version": "2.0.2",
"version": "2.1.0",
"description": "ISO 11649:2009 creditor reference library for node",

@@ -41,3 +41,3 @@ "main": "dist/index.js",

"eslint-config-standard-with-typescript": "15.0.1",
"eslint-plugin-import": "2.20.1",
"eslint-plugin-import": "2.20.2",
"eslint-plugin-node": "11.1.0",

@@ -48,3 +48,3 @@ "eslint-plugin-promise": "4.2.1",

"faucet": "0.0.1",
"rollup": "2.2.0",
"rollup": "2.3.0",
"rollup-plugin-typescript": "1.0.1",

@@ -51,0 +51,0 @@ "tape": "4.13.2",

@@ -43,2 +43,15 @@ node-iso11649

As creditor references are commonly displayed in groups of 4 characters
you can use the optional `pretty` flag to format the returned value.
```
import {generate} from 'node-iso11649'
console.log(generate({
reference: '12345 12345',
pretty: true
}))
// => RF45 1234 5123 45
```
### Validating RF creditor reference

@@ -65,2 +78,23 @@

### Parsing RF creditor reference
The reference part can be extracted from the RF creditor reference.
This validates the entered RF creditor reference according to the
'Validating RF creditor reference'. It returns the reference string
if valid and null if invalid.
```
import {parse} from 'node-iso11649'
console.log(parse('RF47 1450 8655 4228 64'))
// => 14508655422864
```
```
import {parse} from 'node-iso11649'
console.log(parse('RF00TEST'))
// => null
```
## Tests

@@ -67,0 +101,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc