iso8583_esm
Version:
A javascript library for messaging in iso 8583 messaging format.
79 lines (78 loc) • 3.13 kB
JavaScript
import { safeToLog as toSafeLog } from './safeToLog';
import * as SpT from './specialFields/tools';
import { maskPan } from './maskPan';
/**
* Set of methods for unpacking TCP message encoded in ISO 8583 format. Members of Main Class
* @module Message-UnPackage
*/
import { unpack_0_127 } from './unpack/unpack_0_127';
import { unpack_127_1_63 } from './unpack/unpack_127_1_63';
import { unpack_127_25_1_63 } from './unpack/unpack_127_25_1_63';
/**
* Set of methods for assembling the bitmaps for message field 0-127, 127.0-63, 127.25.0-39. Members of Main Class
* @module Bitmap-Assemble
*/
import { assembleBitmap as assembleBitMap } from './bitmap/assembleBitMap';
import { assembleBitmap_127 as assembleBitMap_127 } from './bitmap/assembleBitMap_127';
import { assembleBitmap_127_25 as assembleBitMap_127_25 } from './bitmap/assembleBitMap_127_25';
/**
* Set of methods for packing JSON message into a Buffer message. Members of Main Class
* @module Message-Package
*/
import { assemble0_127_Fields } from './pack/assemble0_127_Fields';
import { assemble0_127_extensions as assemble127_extensions } from './pack/assemble127_extensions';
import { assemble127_25_extensions } from './pack/assemble127_25_extensions';
export class ISO8583Base {
MsgType = null;
BufferMsg = null;
Msg = {};
formats;
hasSpecialFields;
optionalSecondaryBitmap = false;
bitmaps;
fields;
requiredFieldsSchema;
config = {};
metaData = '';
excessBuffer = null;
embededProperties = { field_127_25_key_value_string: false, exclude127Bitmap: false };
maskPan;
toSafeLog;
assembleBitMap;
assembleBitMap_127;
assembleBitMap_127_25;
unpack_0_127;
unpack_127_1_63;
unpack_127_25_1_63;
assemble0_127_Fields;
assemble127_extensions;
assemble127_25_extensions;
includesSecondaryBitmap;
constructor(message, customFormats, requiredFieldsSchema) {
this.formats = customFormats || {};
this.hasSpecialFields = false;
if (Buffer.isBuffer(message)) {
this.BufferMsg = message;
}
else if (message) {
this.MsgType = message[0];
this.Msg = message;
this.hasSpecialFields = SpT.detectSpecial(this.Msg);
}
this.bitmaps = new Uint8Array();
this.fields = {};
this.requiredFieldsSchema = requiredFieldsSchema;
this.maskPan = maskPan.bind(this);
this.toSafeLog = toSafeLog.bind(this);
this.assembleBitMap = assembleBitMap.bind(this);
this.assembleBitMap_127 = assembleBitMap_127.bind(this);
this.assembleBitMap_127_25 = assembleBitMap_127_25.bind(this);
this.unpack_0_127 = unpack_0_127.bind(this);
this.unpack_127_1_63 = unpack_127_1_63.bind(this);
this.unpack_127_25_1_63 = unpack_127_25_1_63.bind(this);
this.assemble0_127_Fields = assemble0_127_Fields.bind(this);
this.assemble127_extensions = assemble127_extensions.bind(this);
this.assemble127_25_extensions = assemble127_25_extensions.bind(this);
this.includesSecondaryBitmap = false;
}
}