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 1.0.1 to 1.1.0

.circleci/config.yml

139

index.js

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

});
/* eslint-disable */
var charTable = {

@@ -12,81 +13,111 @@ A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, G: 16,

V: 31, W: 32, X: 33, Y: 34, Z: 35
};
var divider = 97;
var format = /^RF[0-9]{2}[0-9A-Z]+$/;
/* eslint-enable */
var normalizeRef = function normalizeRef(ref) {
return ref ? ('' + ref).replace(/ /g, '').toUpperCase() : '';
};var normalizeReference = exports.normalizeReference = function normalizeReference(reference) {
return reference ? ('' + reference).replace(/ /g, '').toUpperCase() : '';
};
var substituteChar = function substituteChar(char) {
return isNaN(char) ? charTable[char] : char;
var substituteCharWithNumber = exports.substituteCharWithNumber = function substituteCharWithNumber(char) {
return Number.isNaN(Number(char)) ? charTable[char] : char;
};
var mod = function mod(divident) {
var modulo97 = exports.modulo97 = function modulo97(divident) {
var chunks = divident.match(/.{1,7}/g);
return chunks.reduce(function (prev, curr) {
return ('' + prev + curr) % divider;
return ('' + prev + curr) % 97;
}, '');
};
'use strict';
var validate = exports.validate = function validate(reference) {
var normalizedRef = normalizeRef(reference);
Object.defineProperty(exports, "__esModule", {
value: true
});
var isValidFormat = function isValidFormat(ref) {
return !!ref.match(format);
};
var _common = require('./common');
var isValidChecksum = function isValidChecksum(ref) {
var preResult = moveRfToEnd(ref).map(substituteChar).join('');
return mod(preResult) === 1;
};
var ceil10 = function ceil10(num) {
return Math.ceil(num / 10) * 10;
};
var moveRfToEnd = function moveRfToEnd(ref) {
return (ref.substr(4) + ref.substr(0, 4)).split('');
var toSum = function toSum(prev, curr) {
return prev + curr;
};
var multiplyWith = function multiplyWith(multipliers) {
return function (digit, index) {
return digit * multipliers[index % 3];
};
};
return normalizedRef.length <= 25 && isValidFormat(normalizedRef) && isValidChecksum(normalizedRef);
var calculateChecksum = function calculateChecksum(reference) {
var digits = reference.split('').reverse();
var multipliers = [7, 3, 1];
var sum = digits.map(multiplyWith(multipliers)).reduce(toSum);
return (ceil10(sum) - sum) % 10;
};
var generate = exports.generate = function generate(reference) {
var normalizedRef = normalizeRef(reference);
var generateReference = function generateReference() {
var reference = '' + Date.now();
var checksum = calculateChecksum(reference);
return '' + reference + checksum;
};
var generateRFreference = function generateRFreference(ref) {
return 'RF' + calculateRFChecksum(ref) + ref;
};
var calculateRFChecksum = function calculateRFChecksum(reference) {
var preResult = (reference + 'RF00').split('').map(_common.substituteCharWithNumber).join('');
var checksum = 98 - (0, _common.modulo97)(preResult);
return checksum < 10 ? '0' + checksum : checksum;
};
var calculateRFChecksum = function calculateRFChecksum(ref) {
var preResult = (ref + 'RF00').split('').map(substituteChar).join('');
var checksum = 98 - mod(preResult);
return checksum < 10 ? '0' + checksum : checksum;
};
var generateRFreference = function generateRFreference(reference) {
return 'RF' + calculateRFChecksum(reference) + reference;
};
var generateReference = function generateReference() {
var ref = '' + Date.now();
var checksum = calculateChecksum(ref);
return '' + ref + checksum;
};
exports.default = function (reference) {
return generateRFreference((0, _common.normalizeReference)(reference) || generateReference());
};
'use strict';
var calculateChecksum = function calculateChecksum(ref) {
var digits = ref.split('').reverse();
var multipliers = [7, 3, 1];
var sum = digits.map(multiply(multipliers)).reduce(toSum);
return (ceil10(sum) - sum) % 10;
};
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validate = exports.generate = undefined;
var multiply = function multiply(multipliers) {
return function (digit, index) {
return digit * multipliers[index % 3];
};
};
var _generate = require('./generate');
var toSum = function toSum(prev, curr) {
return prev + curr;
};
var _generate2 = _interopRequireDefault(_generate);
var ceil10 = function ceil10(num) {
return Math.ceil(num / 10) * 10;
};
var _validate = require('./validate');
return generateRFreference(normalizedRef || generateReference());
var _validate2 = _interopRequireDefault(_validate);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.generate = _generate2.default;
exports.validate = _validate2.default;
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _common = require('./common');
var REFERENCE_FORMAT = /^RF[0-9]{2}[0-9A-Z]+$/;
var moveRfToEnd = function moveRfToEnd(reference) {
return (reference.substr(4) + reference.substr(0, 4)).split('');
};
var isValidChecksum = function isValidChecksum(reference) {
var preResult = moveRfToEnd(reference).map(_common.substituteCharWithNumber).join('');
return (0, _common.modulo97)(preResult) === 1;
};
var isValidFormat = function isValidFormat(reference) {
return !!reference.match(REFERENCE_FORMAT);
};
exports.default = function (reference) {
var normalizedRef = (0, _common.normalizeReference)(reference);
return normalizedRef.length <= 25 && isValidFormat(normalizedRef) && isValidChecksum(normalizedRef);
};
{
"name": "node-iso11649",
"version": "1.0.1",
"version": "1.1.0",
"description": "ISO 11649:2009 creditor reference library for node",

@@ -8,3 +8,2 @@ "main": "index.js",

"license": "MIT",
"main": "index.js",
"repository": {

@@ -26,15 +25,19 @@ "type": "git",

"test": "babel-tape-runner test/*.js | faucet",
"prepublish": "babel src/ -o index.js",
"lint": "eslint src/*.js"
"prepublishOnly": "babel src/ -o index.js",
"lint": "eslint src/*.js test/*.js"
},
"devDependencies": {
"babel-cli": "6.3.17",
"babel-eslint": "5.0.0-beta6",
"babel-preset-es2015": "6.3.13",
"babel-tape-runner": "2.0.0",
"eslint": "1.10.3",
"eslint-config-airbnb": "2.1.1",
"ajv": "6.2.0",
"babel-cli": "6.26.0",
"babel-eslint": "8.2.2",
"babel-preset-env": "1.6.1",
"babel-tape-runner": "2.0.1",
"eslint": "4.18.1",
"eslint-config-airbnb": "16.1.0",
"eslint-plugin-import": "2.9.0",
"eslint-plugin-jsx-a11y": "6.0.3",
"eslint-plugin-react": "7.7.0",
"faucet": "0.0.1",
"tape": "4.2.2"
"tape": "4.9.0"
}
}
node-iso11649
=============
[![CircleCI](https://circleci.com/gh/nruotsal/node-iso11649/tree/master.svg?style=svg)](https://circleci.com/gh/nruotsal/node-iso11649/tree/master)
[![Greenkeeper badge](https://badges.greenkeeper.io/nruotsal/node-iso11649.svg)](https://greenkeeper.io/)
ISO 11649:2009 RF creditor reference library for node

@@ -5,0 +8,0 @@

@@ -1,72 +0,4 @@

const charTable = {
A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, G: 16,
H: 17, I: 18, J: 19, K: 20, L: 21, M: 22, N: 23,
O: 24, P: 25, Q: 26, R: 27, S: 28, T: 29, U: 30,
V: 31, W: 32, X: 33, Y: 34, Z: 35
}
const divider = 97
const format = /^RF[0-9]{2}[0-9A-Z]+$/
import generate from './generate'
import validate from './validate'
const normalizeRef = (ref) =>
ref ? ('' + ref).replace(/ /g, '').toUpperCase() : ''
const substituteChar = (char) =>
isNaN(char) ? charTable[char] : char
const mod = (divident) => {
const chunks = divident.match(/.{1,7}/g)
return chunks.reduce((prev, curr) => `${prev}${curr}` % divider, '')
}
export const validate = (reference) => {
const normalizedRef = normalizeRef(reference)
const isValidFormat = (ref) =>
!!ref.match(format)
const isValidChecksum = (ref) => {
const preResult = moveRfToEnd(ref).map(substituteChar).join('')
return mod(preResult) === 1
}
const moveRfToEnd = (ref) =>
(ref.substr(4) + ref.substr(0, 4)).split('')
return normalizedRef.length <= 25
&& isValidFormat(normalizedRef)
&& isValidChecksum(normalizedRef)
}
export const generate = (reference) => {
const normalizedRef = normalizeRef(reference)
const generateRFreference = (ref) =>
`RF${calculateRFChecksum(ref)}${ref}`
const calculateRFChecksum = (ref) => {
const preResult = `${ref}RF00`.split('').map(substituteChar).join('')
const checksum = 98 - mod(preResult)
return checksum < 10 ? `0${checksum}` : checksum
}
const generateReference = () => {
const ref = ('' + Date.now())
const checksum = calculateChecksum(ref)
return `${ref}${checksum}`
}
const calculateChecksum = (ref) => {
const digits = ref.split('').reverse()
const multipliers = [7, 3, 1]
const sum = digits.map(multiply(multipliers)).reduce(toSum)
return (ceil10(sum) - sum) % 10
}
const multiply = (multipliers) => (digit, index) => digit * multipliers[index % 3]
const toSum = (prev, curr) => prev + curr
const ceil10 = (num) => Math.ceil(num / 10) * 10
return generateRFreference(normalizedRef || generateReference())
}
export {generate, validate}

Sorry, the diff of this file is not supported yet

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