Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ofx-data-extractor

Package Overview
Dependencies
Maintainers
0
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ofx-data-extractor

A module written in TypeScript that provides a utility to extract data from an OFX file in Node.js and Browser

  • 1.4.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.6K
increased by33.02%
Maintainers
0
Weekly downloads
 
Created
Source

ofx-data-extractor

npm version MIT License codecov Release Package

Ofx Data Extractor and Formatter

This is a Node.js and Browser module written in TypeScript that provides a utility for extracting data from an OFX file. The module can also format some of the data and retrieve specific parts of the file if requested.

Installation

You can install this module using the Node Package Manager (NPM) with the following command:

npm

npm install ofx-data-extractor

yarn

yarn add ofx-data-extractor

Methods

The Ofx class provides the following methods:

  • getType(): Types: Used to get type of transactions from ofx (BANK or CREDIT_CARD)
  • fromBuffer(data: Buffer): Used to read files on the node. Returns the methods
  • fromBlob(data: Blob): Used to read files in the browser. Returns the methods below.
  • config(options: OfxConfig): Used for formatting the generated json.`
  • getHeaders(): OFXMetaData: Returns the metadata section of the OFX file as an object.
  • getBankTransferList(): Pick<BankTransferList, 'STRTTRN'>: Returns a list of bank transfer transactions as an object.
  • getCreditCardTransferList(): Pick<BankTransferList, 'STRTTRN'>: Returns a list of credit card transactions as an object.
  • getTransactionsSummary(): Object: Returns a summary of transactions for a bank statement as an object.
  • getContent(): OfxStructure: Returns the OFX file content as an object.
  • toJson(): OfxResponse: Returns the entire OFX file content as a JSON object.

Usage

The module provides a class called Ofx that can be used to extract and format data from an OFX file. Here's an example of how to use it:

import { Ofx } from 'ofx-data-extractor'

const data = 'OFXHEADER:100\nDATA:OFXSGML\nVERSION:102\n...'
const ofx = new Ofx(data) // works in node.js and browser

const headers = ofx.getHeaders()
console.log(headers)

const transactionsSummary = ofx.getTransactionsSummary()
console.log(transactionsSummary)

const bankTransferList = ofx.getBankTransferList()
console.log(bankTransferList)

const ofxResponse = ofx.toJson()
console.log(ofxResponse)

Constructor

The Ofx class constructor takes in two arguments:

data: The OFX file content as a string or a Buffer. config: Optional configuration options for formatting the OFX data.

Read data - static methods (Node.js)

import { Ofx } from 'ofx-data-extractor'
import fs from 'fs'

const file = await fs.readFile('/path/to/file')
const ofx = await Ofx.fromBuffer(file)

const ofxResponse = ofx.toJson()
console.log(ofxResponse)

Read data - static methods (Browser)

import { Ofx } from 'ofx-data-extractor'

function handleFile(event) {
    const ofx = Ofx.fromBlob(event.target.files[0])
    const ofxResponse = ofx.toJson()
    console.log(ofxResponse)
}

// tsx/jsx/html
<input type="file" onChange={handleFile} />

Configuration

The Ofx (constructor and config method) class can be configured with the following options:

  • formatDate: A function that takes in a date string and returns a formatted date string.
  • fitId: A string that determines how the financial institution transaction ID is handled. Possible values are "separated" (the default) or "included".
  • nativeTypes: A boolean value that determines whether numeric fields should be represented as numbers or strings in the resulting JSON object.

Keywords

FAQs

Package last updated on 03 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc