mt940-js
v1.0.0
Published
An isomorphic Javascript library for working with MT940 format
Downloads
4,248
Readme
mt940-js
An isomorphic Javascript library for working with MT940 format
Changelog
Reading
API
read(buffer, options)
buffer
{Buffer|ArrayBuffer} - income buffer that contains data of mt940 file.options
{ReadOptions}- returns
Promise
with list of Statement.
ReadOptions
getTransactionId(transaction, index)
- a custom generator for transaction id. By default it's:
/**
* @description version 0.5.x
* @param {Transaction} transaction
* @param {number} index
* @returns {string}
*/
function getTransactionId (transaction, index) {
return md5(`${ date }${ transaction.description }${ amount }${ transaction.currency }`);
}
/**
* @description version 0.6.x+
* @param {Transaction} transaction
* @param {number} index
* @returns {string}
*/
function getTransactionId (transaction, index) {
return md5(JSON.strinfigy(transaction));
}
Node.js environment
import * as mt940 from 'mt940-js';
import fs from 'fs';
fs.readFile('/path/to/your/mt940/file', (error, buffer) => {
mt940.read(buffer).then((statements) => {
//
});
});
Browser environment
Reading a local file
<input type="file" onchange="onFileSelected(this.files[0])"/>
import * as mt940 from 'mt940-js';
function onFileSelected (file) {
const reader = new FileReader();
reader.onload = () => {
mt940.read(reader.result).then((statements) => {
// List of the Statements
});
};
reader.readAsArrayBuffer(file);
}
Reading a remote file
import * as mt940 from 'mt940-js';
fetch('/url/to/mt940/file')
.then((response) => response.arrayBuffer())
.then((buffer) => {
mt940.read(buffer).then((statements) => {
// List of the Statements
});
});
Writing
Coming soon
Supported MT940 tags
- :20:
- :21:
- :25:
- :28(C):
- :60(M|F):
- :61:
- :62(M|F):
- :64:
- :65:
- :86: