1.0.3 • Published 2 years ago

light-parser v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Light Parser

This is a light, simple and flexible text parser for Node.js. It's based string type as input and could configure to your needs.

Install

Using npm:

$ npm install light-parser --save

Using yarn:

$ yarn add light-parser --save

Usage

var Parser = require('light-parser')

var inputText = "A,B,C\n1,James,20\n2,Nick,24\n3,Kevin,39";

var p = new Parser();
p.setConfig({ rowDelimeter: "\n", columnDelimeter: "," , removeFirstRow:true});
p.setHeader(["No", "Name", "Age"]);
console.log(p.parse(inputText));
// Output : 
// [
// 	{ No: "1", Name: "James", Age: "20" },
// 	{ No: "2", Name: "Nick", Age: "24" },
// 	{ No: "3", Name: "Kevin", Age: "39" }
// ]

API

Instance Methods

These methods can be called on objects returned from new Parser().

parser.setConfig(options)

Configure the options.

parser.setConfig(
  { 
  rowDelimeter: [";","\n"],
  columnDelimeter: [",","="], 
  removeFirstRow: true
  }
  );

Options:

columnDelimeter

Type: String or Array Default: ','

Specifies Column-Delemeter to use as the column separator for each row.

rowDelimeter

Type: String or Array Default: '\n'

Specifies Row-Delemeter to use as the row separator for input text.

Any item(s) of columnDelimeter and rowDelimeter could not be overlapped.

removeFirstRow

Type: bool Default: false

If true, skips the first row from input text.

strict

Type: String Default: false

If true, instructs the parser that the number of columns in each row must match the number of headers specified.

parser.setHeader(header)

Specifies the headers. Headers define the property key for each value in the row. If no headers option is provided, parser will use the first line as the header.

header

Type: Array Default: []

parser.setHeader(["No","Title","Contents","date"]);

parser.setDefaultHeader(prefix)

Set default header with prefix. If prefix option is provided, header will configure prefix value0 to prefix valuen-1.

prefix

Type: String Default: ""

parser.setDefaultHeader("col");

parser.parse(inputText)

return parsed data

Returns: ArrayObject

inputText

Type: String

parser.parse("A,B,C\n1,2,3\n4,5,6\n7,8,9");
// return
//    [
//			{ A: "1", B: "2",C:"3" },
//			{ A: "4", B: "5", C: "6" },
//			{ A: "7", B: "8", C: "9" },
//   ]
1.0.3

2 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago