An isomorphic Javascript library for working with MT940 format
input
{Buffer|ArrayBuffer} - input buffer that contains data of mt940 file.options
{ReadOptions}- returns list of Statement.
input
{Readable} - a stream of data, e.g. created from fs.createReadStreamoptions
{Options}- returns Readable, emitting Statement.
statementSplitSequence
- only used in the readAsync method, splits the incoming stream based on this char sequence, processing each chunk synchronously. Default is:20:
getTransactionId(transaction, index)
- a custom generator for transaction id. By default it's:
function getTransactionId(transaction, index) {
return md5(JSON.strinfigy(transaction));
}
import * as mt940 from 'mt940-js';
import fs from 'fs';
const stream = mt940.readStream(fs.createReadStream('mt940.sta'));
stream.on('data', (statement: Statement) => console.log(statement));
stream.on('error', (e) => console.error(e));
stream.on('end', () => console.log('finished parsing'));
// or
const stream = mt940.readStream(fs.createReadStream('mt940.sta', {encoding: 'utf-8'}));
for await (const statement of stream) {
console.log(statement);
}
<input type="file" onchange="onFileSelected(this.files[0])" />
import * as mt940 from 'mt940-js';
function onFileSelected(file) {
const reader = new FileReader();
reader.onload = () => {
const statements = mt940.read(reader.result);
console.log(statements);
};
reader.readAsArrayBuffer(file);
}
import * as mt940 from 'mt940-js';
fetch('/url/to/mt940/file')
.then((response) => response.arrayBuffer())
.then((buffer) => mt940.read(buffer))
.then((statements) => /* a list of the Statements */)
Coming soon
- :20:
- :21:
- :25:
- :28(C):
- :60(M|F):
- :61:
- :62(M|F):
- :64:
- :65:
- :86: