3.3.0 • Published 4 years ago

yadbf v3.3.0

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

YADBF (Yet Another DBF parser)

Greenkeeper badge Build Status Coverage Status Dependency Status

This project is a streaming DBF parser that throws errors for the slightest transgressions.

It was originally written to support .dbf files found in Esri shapefiles for the OpenAddresses submit-service but it may work for your .dbf file.

Requirements

Node.js 8 or higher is required.

Installation

Using yarn:

$ yarn add --save yadbf

In Node.js:

const YADBF = require('yadbf');
const fs = require('fs');

fs.createReadStream('file.dbf')
  .pipe(new YADBF())
  .on('header', header => {
    console.log(`header: ${JSON.stringify(header, null, 2)}`);
  })
  .on('data', record => {
    console.log(`record: ${JSON.stringify(record, null, 2)}`);
  })
  .on('end', () => {
    console.log('Done!');
  })
  .on('error', err => {
    console.error(`an error was thrown: ${err}`);
  });

Options

The following options are available and can be passed to the constructor in a single object parameter:

NameTypeDescriptionDefault
deletedbooleanrecords flagged as deleted should be returned, non-boolean value is treated as "not supplied"false
offsetintegernumber of records to process before emitting0
sizeintegernumber of records to emitInfinity
encodingstringencoding supported by iconv-liteutf-8

offset and size are implemented to follow pagination functionality. Errors are thrown if any option value type is not the supported type.

Using the pagination functionality destroys the stream after the records within the requested page have been pushed. For example, if offset=20 and size=10 are supplied in options, then YADBF will immediately stop processing after the 30th record.

Notes

Deleted records do not affect operation of offset and size options. That is, if the entire .dbf contains 2 records, deleted and not deleted, respectively, then offset and size both set to 1 would output the second record.

3.3.0

4 years ago

3.2.3

4 years ago

3.2.2

5 years ago

3.2.1

5 years ago

3.2.0

5 years ago

3.1.3

6 years ago

3.1.2

6 years ago

3.1.1

6 years ago

3.1.0

6 years ago

3.0.2

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.2.0

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.0.0

6 years ago