Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { ErrorValue } from "./ErrorValues"
export type TableSlug = string // a url friendly name for a table
export type ColumnSlugs = string // slugs cannot have spaces, so this is a space delimited array of ColumnSlugs
export type Integer = number
export enum SortOrder {
asc = "asc",
desc = "desc",
}
export type Year = Integer
export type Color = string
/**
* A concrete point in time (year or date). It's always supposed to be a finite number, but we
* cannot enforce this in TypeScript.
*/
export type Time = Integer
export type TimeRange = [Time, Time]
export type PrimitiveType = number | string | boolean
export type ValueRange = [number, number]
export type TimeTolerance = Integer
export interface CoreRow {
[columnSlug: string]: any
}
export enum InputType {
Delimited = "Delimited",
RowStore = "RowStore",
ColumnStore = "ColumnStore",
Matrix = "Matrix",
}
export enum TransformType {
// Table level ops
LoadFromDelimited = "LoadFromDelimited",
LoadFromRowStore = "LoadFromRowStore",
LoadFromColumnStore = "LoadFromColumnStore",
LoadFromMatrix = "LoadFromMatrix",
Transpose = "Transpose",
Concat = "Concat",
Reduce = "Reduce",
// Row ops
FilterRows = "FilterRows",
SortRows = "SortRows",
AppendRows = "AppendRows", // todo: should this will also rerun any column transforms on the new rows?
UpdateRows = "UpdateRows", // replace values in a row. For example: to prep columns for log scale, or testing messy runtime data scenarios.
InverseFilterRows = "InverseFilterRows",
// Column ops
FilterColumns = "FilterColumns",
SortColumns = "SortColumns",
AppendColumns = "AppendColumns", // This will run column transform fns.
UpdateColumnDefs = "UpdateColumnDefs", // do not use for updates that add a column transform fn.
UpdateColumnDefsAndApply = "UpdateColumnDefsAndApply", // use this for updates that add a column transform fn.
RenameColumns = "RenameColumns",
InverseFilterColumns = "InverseFilterColumns",
}
export enum JsTypes {
string = "string",
boolean = "boolean",
number = "number",
}
export type CsvString = string
export type CoreValueType = PrimitiveType | ErrorValue
/**
* An Object Literal of Column Slugs and Primitives of the same type:
* {
* score: [1, 2, 3],
* year: [2000, 2001]
* }
*/
export type CoreColumnStore = {
[columnSlug: string]: CoreValueType[]
}
export type CoreTableInputOption =
| CoreRow[]
| CoreColumnStore
| CsvString
| CoreMatrix
// Every row will be checked against each column/value(s) pair.
export interface CoreQuery {
[columnSlug: string]: PrimitiveType | PrimitiveType[]
}
type CoreVector = any[]
/**
* This is just an array of arrays where the first array is the header and the rest are rows. An example is:
* [["country", "gdp"],
* ["usa", 123],
* ["can", 456]]
* Having this type is just to provide a common unique name for the basic structure used by HandsOnTable
* and some other popular JS data libraries.
*/
export type CoreMatrix = CoreVector[]
|