Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DSVModel

A data model implementation for in-memory delimiter-separated data.

Notes

This model handles data with up to 2**32 characters.

Hierarchy

  • DataModel
    • DSVModel

Implements

  • IDisposable

Index

Constructors

constructor

  • Create a data model with static CSV data.

    Parameters

    • options: IOptions

      The options for initializing the data model.

    Returns DSVModel

Properties

Private _columnCount

_columnCount: any

Private _columnOffsets

_columnOffsets: any

The column offset cache, starting with row _columnOffsetsStartingRow

Notes

The index of the first character in the data string for row r, column c is _columnOffsets[(r-this._columnOffsetsStartingRow)*numColumns+c]

Private _columnOffsetsStartingRow

_columnOffsetsStartingRow: any

The row that _columnOffsets[0] represents.

Private _computeRowOffsets

_computeRowOffsets: any

Compute the row offsets and initialize the column offset cache.

param

The last row to parse, from the start of the data (first row is row 1).

Notes

This method supports parsing the data incrementally by calling it with incrementally higher endRow. Rows that have already been parsed will not be parsed again.

Private _delayedParse

_delayedParse: any

Private _delimiter

_delimiter: any

Private _doneParsing

_doneParsing: any

Private _getField

_getField: any

Get the parsed string field for a row and column.

param

The row number of the data item.

param

The column number of the data item.

returns

The parsed string for the data item.

Private _header

_header: any

The header strings.

Private _initialRows

_initialRows: any

The number of rows to parse initially before doing a delayed parse of the entire data.

Private _isDisposed

_isDisposed: any

Private _maxCacheGet

_maxCacheGet: any

The maximum number of rows to parse when there is a cache miss.

Private _parser

_parser: any

Private _quote

_quote: any

Private _quoteEscaped

_quoteEscaped: any

Private _rawData

_rawData: any

Private _ready

_ready: any

Private _resetParser

_resetParser: any

Reset the parser state.

Private _rowCount

_rowCount: any

Private _rowDelimiter

_rowDelimiter: any

Private _rowOffsets

_rowOffsets: any

The index for the start of each row.

Private _startedParsing

_startedParsing: any

Readonly changed

changed: ISignal<DSVModel, ChangedArgs>

A signal emitted when the data model has changed.

Accessors

delimiter

  • get delimiter(): string
  • The delimiter between entries on the same row.

    Returns string

doneParsing

  • get doneParsing(): boolean
  • A boolean determined by whether parsing has completed.

    Returns boolean

header

  • get header(): string[]
  • set header(value: string[]): void
  • The header strings.

    Returns string[]

  • The header strings.

    Parameters

    • value: string[]

    Returns void

initialRows

  • get initialRows(): number
  • set initialRows(value: number): void
  • The initial chunk of rows to parse.

    Returns number

  • The initial chunk of rows to parse.

    Parameters

    • value: number

    Returns void

isDisposed

  • get isDisposed(): boolean
  • Whether this model has been disposed.

    Returns boolean

rawData

  • get rawData(): string
  • set rawData(value: string): void
  • The string representation of the data.

    Returns string

  • The string representation of the data.

    Parameters

    • value: string

    Returns void

ready

  • get ready(): Promise<void>
  • A promise that resolves when the model has parsed all of its data.

    Returns Promise<void>

rowDelimiter

  • get rowDelimiter(): string
  • The delimiter between rows.

    Returns string

Methods

columnCount

  • columnCount(region: ColumnRegion): number
  • Get the column count for a region in the data model.

    Parameters

    • region: ColumnRegion

      The column region of interest.

    Returns number

    • The column count for the region.

data

  • data(region: CellRegion, row: number, column: number): string
  • Get the data value for a cell in the data model.

    Parameters

    • region: CellRegion

      The cell region of interest.

    • row: number

      The row index of the cell of interest.

    • column: number

      The column index of the cell of interest.

    Returns string

dispose

  • dispose(): void
  • Dispose the resources held by this model.

    Returns void

Protected emitChanged

  • emitChanged(args: ChangedArgs): void
  • Emit the changed signal for the data model.

    Notes

    Subclasses should call this method whenever the data model has changed so that attached data grids can update themselves.

    Parameters

    • args: ChangedArgs

    Returns void

getOffsetIndex

  • getOffsetIndex(row: number, column: number): number
  • Get the index in the data string for the first character of a row and column.

    Parameters

    • row: number

      The row of the data item.

    • column: number

      The column of the data item.

    Returns number

    • The index into the data string where the data item starts.

group

  • group(region: CellRegion, groupIndex: number): CellGroup
  • Get the merged cell group corresponding to a region and index number.

    Parameters

    • region: CellRegion

      the cell region of cell group.

    • groupIndex: number

      the group index of the cell group.

    Returns CellGroup

    a cell group.

groupCount

  • groupCount(region: CellRegion): number
  • Get the count of merged cell groups pertaining to a given cell region.

    Parameters

    • region: CellRegion

      the target cell region.

    Returns number

metadata

  • metadata(region: CellRegion, row: number, column: number): Metadata
  • Get the metadata for a cell in the data model.

    Parameters

    • region: CellRegion

      The cell region of interest.

    • row: number

      The row index of the cell of interest.

    • column: number

      The column index of the cell of interest.

    Returns Metadata

    The metadata for the specified cell.

    Notes

    The returned metadata should be treated as immutable.

    This method is called often, and so should be efficient.

    The default implementation returns {}.

parseAsync

  • parseAsync(): void
  • Parse the data string asynchronously.

    Notes

    It can take several seconds to parse a several hundred megabyte string, so we parse the first 500 rows to get something up on the screen, then we parse the full data string asynchronously.

    Returns void

rowCount

  • rowCount(region: RowRegion): number
  • Get the row count for a region in the data model.

    Parameters

    • region: RowRegion

      The row region of interest.

    Returns number

    • The row count for the region.

Generated using TypeDoc