1.0.17 • Published 4 years ago

tuef v1.0.17

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

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 datafieldSpec.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
1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

6 years ago

1.0.14

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago