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[] |