mt940

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2024 License: MIT Imports: 3 Imported by: 1

README

mt940

Parse mt940 message to struct

  • Package don't handle any logic on fields level it just simply returns struct with all fields from mt940 message as strings.

this package is developed for BaFi project

BaFi allows additional parsing on fields level and create formated output using go templates https://github.com/mmalcek/bafi

struct
type tMessage struct {
	Header       string // Message header {1:......{4:
	Fields       map[string]interface{} // :20:......, :25:......, ...
	Transactions []map[string]interface{} // []{:61:......, :86:......}
}
example
package main

import (
	"fmt"
	"log"
	"os"

	"github.com/mmalcek/mt940"
)

func main() {
	file, err := os.ReadFile("test.sta")
	if err != nil {
		log.Fatal(err)
	}
	message, err := mt940.Parse(file)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(message.Fields["F_20"])
}
  • Parse multiple messages in one file (eg: Multicash)
messages, err := mt940.ParseMultimessage(file, "\r\n$\r\n") // message separator = "\r\n$\r\n"

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse added in v0.0.2

func Parse(data []byte) (tMessage, error)

Parse parses SWIFT message and returns tMessage struct

func ParseMultimessage added in v0.1.0

func ParseMultimessage(data []byte, separator string) ([]tMessage, error)

ParseMultimessage parses SWIFT multimessage and returns slice of tMessage structs separator is a string that separates messages e.g. "\r\n$\r\n"

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL