UNPKG

pip-services4-expressions-node

Version:

Tokenizers, parsers and expression calculators in Node.js / ES2017

34 lines (26 loc) 1.08 kB
/** @module csv */ import { GenericWordState } from "../tokenizers/generic/GenericWordState"; import { CsvConstant } from "./CsvConstant"; /** * Implements a word state to tokenize CSV stream. */ export class CsvWordState extends GenericWordState { /** * Constructs this object with specified parameters. * @param fieldSeparators Separators for fields in CSV stream. * @param quoteSymbols Delimiters character to quote strings. */ public constructor(fieldSeparators: number[], quoteSymbols: number[]) { super(); this.clearWordChars(); this.setWordChars(0x0000, 0xfffe, true); this.setWordChars(CsvConstant.CR, CsvConstant.CR, false); this.setWordChars(CsvConstant.LF, CsvConstant.LF, false); for (const fieldSeparator of fieldSeparators) { this.setWordChars(fieldSeparator, fieldSeparator, false); } for (const quoteSymbol of quoteSymbols) { this.setWordChars(quoteSymbol, quoteSymbol, false); } } }