Interface CSVDataServiceOptions<T>

Type Parameters

  • T

Hierarchy

  • DataServiceOptions<T>
  • Options
    • CSVDataServiceOptions

Properties

deserialize?: ((obj) => T)

Type declaration

    • (obj): T
    • Parameters

      • obj: any

      Returns T

escape?: string

A single-character string used to specify the character used to escape strings in a CSV row.

Default

'"'
file: string
headers?: boolean | readonly string[]

Specifies the headers to use. Headers define the property key for each value in a CSV row. If no headers option is provided, csv-parser will use the first line in a CSV file as the header specification.

If false, specifies that the first row in a data file does not contain headers, and instructs the parser to use the row index as the key for each row.

Suppose you have a CSV file data.csv which contains the data:

NAME,AGE
Daffy Duck,24
Bugs Bunny,22

Using headers: false with the data from data.csv would yield:

[
{ '0': 'Daffy Duck', '1': 24 },
{ '0': 'Bugs Bunny', '1': 22 }
]
mapHeaders?: ((args) => string)

Type declaration

    • (args): string
    • A function that can be used to modify the values of each header. Return null to remove the header, and it's column, from the results.

      Parameters

      • args: {
            header: string;
            index: number;
        }
        • header: string
        • index: number

      Returns string

      Example

      csv({
      mapHeaders: ({ header, index }) => header.toLowerCase()
      });
mapValues?: ((args) => any)

Type declaration

    • (args): any
    • A function that can be used to modify the value of each column value.

      Parameters

      • args: {
            header: string;
            index: number;
            value: any;
        }
        • header: string
        • index: number
        • value: any

      Returns any

      Example

      csv({
      mapValues: ({ header, index, value }) => value.toLowerCase()
      });
maxRowBytes?: number

Maximum number of bytes per row. An error is thrown if a line exeeds this value. The default value is on 8 peta byte.

Default

Number.MAX_SAFE_INTEGER
newline?: string

Specifies a single-character string to denote the end of a line in a CSV file.

Default

'\n'
quote?: string

Specifies a single-character string to denote a quoted string.

Default

'"'
raw?: boolean

If true, instructs the parser not to decode UTF-8 strings.

rowCallback: ((row) => T | Promise<T>)

Type declaration

    • (row): T | Promise<T>
    • Parameters

      • row: any

      Returns T | Promise<T>

separator?: string

Specifies a single-character string to use as the column separator for each row.

Default

','
serialize?: ((obj) => any)

Type declaration

    • (obj): any
    • Parameters

      • obj: T

      Returns any

skipComments?: string | boolean

Instructs the parser to ignore lines which represent comments in a CSV file. Since there is no specification that dictates what a CSV comment looks like, comments should be considered non-standard. The "most common" character used to signify a comment in a CSV file is "#". If this option is set to true, lines which begin with # will be skipped. If a custom character is needed to denote a commented line, this option may be set to a string which represents the leading character(s) signifying a comment line.

Default

false
skipLines?: number

Specifies the number of lines at the beginning of a data file that the parser should skip over, prior to parsing headers.

Default

0
strict?: boolean

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