tuef
TypeScript icon, indicating that this package has built-in type declarations

1.0.17 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i tuef

Weekly Downloads

1

Version

1.0.17

License

MIT

Unpacked Size

84.4 kB

Total Files

17

Last publish

Collaborators

  • topscores