UNPKG

iso8583_esm

Version:

A javascript library for messaging in iso 8583 messaging format.

79 lines (78 loc) 3.13 kB
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; } }