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

@banco-br/nodejs-cnab

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@banco-br/nodejs-cnab - npm Package Compare versions

Comparing version 0.0.2 to 0.1.0

dist/lib/helperGenerateRemessaCNAB240.js

6

dist/lib/nodejs-cnab.js

@@ -9,4 +9,6 @@ "use strict";

exports.parseRemessaCnab = retorno_1.parseRemessaCnab;
var helperGenerateRemessaCNAB_1 = require("./helperGenerateRemessaCNAB");
exports.helperGenerateRemessaCNAB240 = helperGenerateRemessaCNAB_1.helperGenerateRemessaCNAB240;
var helperGenerateRemessaCNAB240_1 = require("./helperGenerateRemessaCNAB240");
exports.helperGenerateRemessaCNAB240 = helperGenerateRemessaCNAB240_1.helperGenerateRemessaCNAB240;
var helperGenerateRemessaCNAB400_1 = require("./helperGenerateRemessaCNAB400");
exports.helperGenerateRemessaCNAB400 = helperGenerateRemessaCNAB400_1.helperGenerateRemessaCNAB400;
//# sourceMappingURL=nodejs-cnab.js.map

@@ -61,3 +61,3 @@ "use strict";

var out = regexPicture(/9\((\w+?)\)/g, picture);
return formatCurrency(value, Number(out[0]), Number(out[1]));
return formatCurrency(Number(value), Number(out[0]), Number(out[1]));
}

@@ -67,3 +67,3 @@ else if (picture.startsWith('9')) {

if (item.date_format) {
return formatDate(value, out[0]); // , item.date_format
return formatDate(value, out[0], item.date_format); // , item.date_format
}

@@ -100,6 +100,3 @@ else {

var formatText = function (value, size) {
while (value.length < size) {
value = value + ' ';
}
return value;
return pad(value.slice(0, size), size, ' ');
};

@@ -113,3 +110,2 @@ /* Numérico (picture 9): alinhado à direita com zeros à esquerda e os campos não utilizados deverão ser preenchidos

var formatNumber = function (value, size) {
// value = value.replace(/[^0-9]/g, "")
while (value.length < size) {

@@ -120,22 +116,32 @@ value = '0' + value;

};
var formatDate = function (value, size) {
// if(!value){
// return new Date()
// }
// value = value.replace(/[^0-9]/g, "")
var formatDate = function (value, size, dateFormat) {
switch (dateFormat) {
case '%d%m%Y':
value = value.slice(0, 8);
break;
case '%d%m%y':
value = value.slice(0, 4) + value.slice(6, 8);
break;
default:
throw new Error('dateFormat inválido: ' + dateFormat);
}
while (value.length < size) {
value = '0' + value;
}
// date_format: '%d%m%y'
return value;
};
function formatCurrency(value, integer, decimal) {
if (value === void 0) { value = ''; }
if (value === void 0) { value = 0; }
if (integer === void 0) { integer = 0; }
if (decimal === void 0) { decimal = 0; }
value = value ? value.toString().replace(/[.R$]/g, '') : '';
var vals = value.split(',');
value = Number(value);
if (typeof value !== 'number') {
throw new Error('formatCurrency: ' + value + integer + decimal);
}
// Efetua o arredondamento
var vals = value.toFixed(decimal).split('.');
vals[1] = vals[1] || '';
vals[0] = pad(Number(integer), vals[0].toString(), '0');
vals[1] = pad(vals[1].toString(), Number(decimal), '0');
// Limita os caracteres
vals[0] = pad(Number(integer), vals[0].toString().slice(0, integer), '0');
vals[1] = pad(vals[1].toString().slice(0, decimal), Number(decimal), '0');
return vals.join('');

@@ -142,0 +148,0 @@ }

@@ -117,3 +117,3 @@ var CNAB_YAML_DIR = './node_modules/@banco-br/cnab_yaml';

var out = regexPicture(/9\((\w+?)\)/g, picture);
return formatCurrency(value, Number(out[0]), Number(out[1]));
return formatCurrency(Number(value), Number(out[0]), Number(out[1]));
}

@@ -123,3 +123,3 @@ else if (picture.startsWith('9')) {

if (item.date_format) {
return formatDate(value, out[0]); // , item.date_format
return formatDate(value, out[0], item.date_format); // , item.date_format
}

@@ -156,6 +156,3 @@ else {

var formatText = function (value, size) {
while (value.length < size) {
value = value + ' ';
}
return value;
return pad(value.slice(0, size), size, ' ');
};

@@ -169,3 +166,2 @@ /* Numérico (picture 9): alinhado à direita com zeros à esquerda e os campos não utilizados deverão ser preenchidos

var formatNumber = function (value, size) {
// value = value.replace(/[^0-9]/g, "")
while (value.length < size) {

@@ -176,22 +172,32 @@ value = '0' + value;

};
var formatDate = function (value, size) {
// if(!value){
// return new Date()
// }
// value = value.replace(/[^0-9]/g, "")
var formatDate = function (value, size, dateFormat) {
switch (dateFormat) {
case '%d%m%Y':
value = value.slice(0, 8);
break;
case '%d%m%y':
value = value.slice(0, 4) + value.slice(6, 8);
break;
default:
throw new Error('dateFormat inválido: ' + dateFormat);
}
while (value.length < size) {
value = '0' + value;
}
// date_format: '%d%m%y'
return value;
};
function formatCurrency(value, integer, decimal) {
if (value === void 0) { value = ''; }
if (value === void 0) { value = 0; }
if (integer === void 0) { integer = 0; }
if (decimal === void 0) { decimal = 0; }
value = value ? value.toString().replace(/[.R$]/g, '') : '';
var vals = value.split(',');
value = Number(value);
if (typeof value !== 'number') {
throw new Error('formatCurrency: ' + value + integer + decimal);
}
// Efetua o arredondamento
var vals = value.toFixed(decimal).split('.');
vals[1] = vals[1] || '';
vals[0] = pad(Number(integer), vals[0].toString(), '0');
vals[1] = pad(vals[1].toString(), Number(decimal), '0');
// Limita os caracteres
vals[0] = pad(Number(integer), vals[0].toString().slice(0, integer), '0');
vals[1] = pad(vals[1].toString().slice(0, decimal), Number(decimal), '0');
return vals.join('');

@@ -406,3 +412,63 @@ }

export { BANK, generateRemessaCnab, helperGenerateRemessaCNAB240, parseRemessaCnab };
// tslint:disable:variable-name
var _a$1 = require('brazilian-values'), isCNPJ$1 = _a$1.isCNPJ, isCPF$1 = _a$1.isCPF;
var dayjs$1 = require('dayjs');
var sumBy = require('lodash').sumBy;
function helperGenerateRemessaCNAB400(dadosGeracao, bankCode) {
var Return = [];
var numero_sequencial = 0;
/**
* Header - Arquivo
*/
numero_sequencial++;
var header_arquivo = {
codigo_convenio: dadosGeracao.codigo_convenio,
nome_empresa: dadosGeracao.nome_empresa,
data_geracao: dayjs$1(dadosGeracao.data_geracao).format('DDMMYYYY'),
numero_sequencial: Number(numero_sequencial)
};
Return.push({ header_arquivo: header_arquivo });
/**
* Detalhe Segmento
*/
dadosGeracao.detalhe_segmento.forEach(function (detalhe_segmento) {
numero_sequencial++;
var sacado_codigo_inscricao = 99;
if (isCPF$1(detalhe_segmento.sacado_numero_inscricao))
sacado_codigo_inscricao = 1;
if (isCNPJ$1(detalhe_segmento.sacado_numero_inscricao))
sacado_codigo_inscricao = 2;
var detalhe = {
codigo_convenio: dadosGeracao.codigo_convenio,
uso_empresa: detalhe_segmento.uso_empresa,
mensagem: detalhe_segmento.mensagem,
numero_documento: detalhe_segmento.numero_documento,
vencimento: dayjs$1(detalhe_segmento.vencimento).format('DDMMYYYY'),
valor_titulo: detalhe_segmento.valor_titulo,
data_emissao: dayjs$1(detalhe_segmento.data_emissao).format('DDMMYYYY'),
sacado_codigo_inscricao: sacado_codigo_inscricao,
sacado_numero_inscricao: detalhe_segmento.sacado_numero_inscricao,
nome: detalhe_segmento.nome,
logradouro: detalhe_segmento.logradouro,
bairro: detalhe_segmento.bairro,
cep: detalhe_segmento.cep,
cidade: detalhe_segmento.cidade,
estado: detalhe_segmento.estado,
numero_sequencial: Number(numero_sequencial)
};
Return.push({ detalhe: detalhe });
});
/**
* Trailler Arquivo
*/
numero_sequencial++;
var trailer_arquivo = {
valor_total: sumBy(dadosGeracao.detalhe_segmento, function (Row) { return Number(Row.valor_titulo); }),
numero_sequencial: Number(numero_sequencial)
};
Return.push({ trailer_arquivo: trailer_arquivo });
return Return.map(function (Row) { return generateRemessaCnab(Row, 400, bankCode); }).join('\n');
}
export { BANK, generateRemessaCnab, helperGenerateRemessaCNAB240, helperGenerateRemessaCNAB400, parseRemessaCnab };
//# sourceMappingURL=nodejs-cnab.es5.js.map

@@ -123,3 +123,3 @@ (function (global, factory) {

var out = regexPicture(/9\((\w+?)\)/g, picture);
return formatCurrency(value, Number(out[0]), Number(out[1]));
return formatCurrency(Number(value), Number(out[0]), Number(out[1]));
}

@@ -129,3 +129,3 @@ else if (picture.startsWith('9')) {

if (item.date_format) {
return formatDate(value, out[0]); // , item.date_format
return formatDate(value, out[0], item.date_format); // , item.date_format
}

@@ -162,6 +162,3 @@ else {

var formatText = function (value, size) {
while (value.length < size) {
value = value + ' ';
}
return value;
return pad(value.slice(0, size), size, ' ');
};

@@ -175,3 +172,2 @@ /* Numérico (picture 9): alinhado à direita com zeros à esquerda e os campos não utilizados deverão ser preenchidos

var formatNumber = function (value, size) {
// value = value.replace(/[^0-9]/g, "")
while (value.length < size) {

@@ -182,22 +178,32 @@ value = '0' + value;

};
var formatDate = function (value, size) {
// if(!value){
// return new Date()
// }
// value = value.replace(/[^0-9]/g, "")
var formatDate = function (value, size, dateFormat) {
switch (dateFormat) {
case '%d%m%Y':
value = value.slice(0, 8);
break;
case '%d%m%y':
value = value.slice(0, 4) + value.slice(6, 8);
break;
default:
throw new Error('dateFormat inválido: ' + dateFormat);
}
while (value.length < size) {
value = '0' + value;
}
// date_format: '%d%m%y'
return value;
};
function formatCurrency(value, integer, decimal) {
if (value === void 0) { value = ''; }
if (value === void 0) { value = 0; }
if (integer === void 0) { integer = 0; }
if (decimal === void 0) { decimal = 0; }
value = value ? value.toString().replace(/[.R$]/g, '') : '';
var vals = value.split(',');
value = Number(value);
if (typeof value !== 'number') {
throw new Error('formatCurrency: ' + value + integer + decimal);
}
// Efetua o arredondamento
var vals = value.toFixed(decimal).split('.');
vals[1] = vals[1] || '';
vals[0] = pad(Number(integer), vals[0].toString(), '0');
vals[1] = pad(vals[1].toString(), Number(decimal), '0');
// Limita os caracteres
vals[0] = pad(Number(integer), vals[0].toString().slice(0, integer), '0');
vals[1] = pad(vals[1].toString().slice(0, decimal), Number(decimal), '0');
return vals.join('');

@@ -412,5 +418,66 @@ }

// tslint:disable:variable-name
var _a$1 = require('brazilian-values'), isCNPJ$1 = _a$1.isCNPJ, isCPF$1 = _a$1.isCPF;
var dayjs$1 = require('dayjs');
var sumBy = require('lodash').sumBy;
function helperGenerateRemessaCNAB400(dadosGeracao, bankCode) {
var Return = [];
var numero_sequencial = 0;
/**
* Header - Arquivo
*/
numero_sequencial++;
var header_arquivo = {
codigo_convenio: dadosGeracao.codigo_convenio,
nome_empresa: dadosGeracao.nome_empresa,
data_geracao: dayjs$1(dadosGeracao.data_geracao).format('DDMMYYYY'),
numero_sequencial: Number(numero_sequencial)
};
Return.push({ header_arquivo: header_arquivo });
/**
* Detalhe Segmento
*/
dadosGeracao.detalhe_segmento.forEach(function (detalhe_segmento) {
numero_sequencial++;
var sacado_codigo_inscricao = 99;
if (isCPF$1(detalhe_segmento.sacado_numero_inscricao))
sacado_codigo_inscricao = 1;
if (isCNPJ$1(detalhe_segmento.sacado_numero_inscricao))
sacado_codigo_inscricao = 2;
var detalhe = {
codigo_convenio: dadosGeracao.codigo_convenio,
uso_empresa: detalhe_segmento.uso_empresa,
mensagem: detalhe_segmento.mensagem,
numero_documento: detalhe_segmento.numero_documento,
vencimento: dayjs$1(detalhe_segmento.vencimento).format('DDMMYYYY'),
valor_titulo: detalhe_segmento.valor_titulo,
data_emissao: dayjs$1(detalhe_segmento.data_emissao).format('DDMMYYYY'),
sacado_codigo_inscricao: sacado_codigo_inscricao,
sacado_numero_inscricao: detalhe_segmento.sacado_numero_inscricao,
nome: detalhe_segmento.nome,
logradouro: detalhe_segmento.logradouro,
bairro: detalhe_segmento.bairro,
cep: detalhe_segmento.cep,
cidade: detalhe_segmento.cidade,
estado: detalhe_segmento.estado,
numero_sequencial: Number(numero_sequencial)
};
Return.push({ detalhe: detalhe });
});
/**
* Trailler Arquivo
*/
numero_sequencial++;
var trailer_arquivo = {
valor_total: sumBy(dadosGeracao.detalhe_segmento, function (Row) { return Number(Row.valor_titulo); }),
numero_sequencial: Number(numero_sequencial)
};
Return.push({ trailer_arquivo: trailer_arquivo });
return Return.map(function (Row) { return generateRemessaCnab(Row, 400, bankCode); }).join('\n');
}
exports.BANK = BANK;
exports.generateRemessaCnab = generateRemessaCnab;
exports.helperGenerateRemessaCNAB240 = helperGenerateRemessaCNAB240;
exports.helperGenerateRemessaCNAB400 = helperGenerateRemessaCNAB400;
exports.parseRemessaCnab = parseRemessaCnab;

@@ -417,0 +484,0 @@

import { BANK } from './const';
import { generateRemessaCnab } from './remessa';
import { parseRemessaCnab } from './retorno';
import { helperGenerateRemessaCNAB240 } from './helperGenerateRemessaCNAB';
export { generateRemessaCnab, parseRemessaCnab, BANK, helperGenerateRemessaCNAB240 };
import { helperGenerateRemessaCNAB240 } from './helperGenerateRemessaCNAB240';
import { helperGenerateRemessaCNAB400 } from './helperGenerateRemessaCNAB400';
export { generateRemessaCnab, parseRemessaCnab, BANK, helperGenerateRemessaCNAB240, helperGenerateRemessaCNAB400 };

@@ -6,3 +6,3 @@ export declare function makeLine(layout: any, data: any): any;

};
export declare function formatCurrency(value?: string, integer?: number, decimal?: number): string;
export declare function formatCurrency(value?: number, integer?: number, decimal?: number): string;
export declare function readYaml(filename: string): any;
{
"name": "@banco-br/nodejs-cnab",
"version": "0.0.2",
"version": "0.1.0",
"description": "Nodejs Library for Cnab files",

@@ -89,2 +89,3 @@ "keywords": [],

"@types/js-yaml": "^3.12.1",
"@types/lodash": "^4.14.142",
"@types/node": "^12.7.3",

@@ -124,8 +125,9 @@ "@types/pad": "^1.0.2",

"dependencies": {
"@banco-br/cnab_yaml": "^2.0.2",
"@banco-br/cnab_yaml": "^2.0.3",
"brazilian-values": "^0.5.1",
"dayjs": "^1.8.16",
"js-yaml": "^3.13.1",
"lodash": "^4.17.15",
"pad": "^3.2.0"
}
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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