Skip to content
/ tuef Public

A utility to write and read in TransUnion Enquiry Format

License

Notifications You must be signed in to change notification settings

topscores/tuef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tuef

In TUEF format (TransUnion Enquiry Format), a files might consist of several segments, each segment contains several fields. Based on provided spec this utility provides and easy way to write or read tuef stream

Installation

yarn add tuef or npm -i tuef

Sample spec

  1. Fixed length segment
const spec = {
  lengthType: 'fixed',
  fieldSpecs: [
    { name: 'field1', type: 'N', val: 10, length: 10, required: true }, // Field field1 is a require field
    { name: 'field2', type: 'A', val: 'Hello', length: 10 }, // Field field2 is an optional field
  ],
}
  1. Variable length segment Note: tag is a required field for variable length segment fieldSpec
const spec = {
  lengthType: 'vary',
  fieldSpecs: [
    { name: 'field1', tag: 'T01', type: 'N', val: 10, length: 10, required: true }, // Field field1 is a require field
    { name: 'field2', tag: 'T02', type: 'A', val: 'Hello', length: 10 }, // Field field2 is an optional field
  ],
}
  1. Nested segment spec
const spec = {
  lengthType: 'vary',
  fieldSpecs: [
    { name: 'field1', tag: 'T01', type: 'N', mapKey: f1, mapFunc: val => val* 10, length: 10, required: true }, // Field field1 is a require field
    { name: 'field2', tag: 'T02', type: 'A', val: 10, length: 10 }, // Field field2 is an optional field
  ],
  childSegment: {
    child1: {
      lengthType: '...',
      fieldSpecs: [...],
    }
  }
}
  1. Using mapKey to map value from data object instead of fieldSpec.val
const spec = {
  lengthType: 'vary',
  fieldSpecs: [
    { name: 'field1', tag: 'T01', type: 'N', val: 5, length: 10, required: true }, // Field field1 is a require field
    { name: 'field2', tag: 'T02', type: 'A', mapKey: f2, length: 10 }, // Field field2 is an optional field
  ],
}
const data = {
  f2: 'Hello',
}
  1. Using mapFunc to map data[fieldSpec.mapKey] to other value
const spec = {
  lengthType: 'vary',
  fieldSpecs: [
    { name: 'field1', tag: 'T01', type: 'N', mapKey: f1, mapFunc: val => val* 10, length: 10, required: true }, // Field field1 is a require field
    { name: 'field2', tag: 'T02', type: 'A', val: 10, length: 10 }, // Field field2 is an optional field
  ],
}
const data = {
  f1: 5,
}
  1. Default value
const spec = {
  lengthType: 'fixed',
  fieldSpecs: [
    { name: 'field1', type: 'N', mapKey: 'f1', length: 10, required: true, defaultVal: 5 }, // Field field1 will be 5 if data.f1 not exist
  ],
}
```

## Parsing TUEF string

Coming soon

## Convert an object to TUEF string

Coming soon

About

A utility to write and read in TransUnion Enquiry Format

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published