-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathcolumn.d.ts
More file actions
25 lines (25 loc) · 1.26 KB
/
column.d.ts
File metadata and controls
25 lines (25 loc) · 1.26 KB
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
import { Data } from './data';
import { Field } from './schema';
import { DataType } from './type';
import { Vector } from './vector';
import { VectorCtorArgs, Vector as V } from './interfaces';
import { Clonable, Sliceable, Applicative } from './vector';
import { Chunked } from './vector/chunked';
export interface Column<T extends DataType = any> {
typeId: T['TType'];
concat(...others: Vector<T>[]): Column<T>;
slice(begin?: number, end?: number): Column<T>;
clone(chunks?: Vector<T>[], offsets?: Uint32Array): Column<T>;
}
export declare class Column<T extends DataType = any> extends Chunked<T> implements Clonable<Column<T>>, Sliceable<Column<T>>, Applicative<T, Column<T>> {
static new<T extends DataType>(field: string | Field<T>, ...chunks: (Vector<T> | Vector<T>[])[]): Column<T>;
static new<T extends DataType>(field: string | Field<T>, data: Data<T>, ...args: VectorCtorArgs<V<T>>): Column<T>;
constructor(field: Field<T>, vectors?: Vector<T>[], offsets?: Uint32Array);
protected _field: Field<T>;
protected _children?: Column[];
readonly field: Field<T>;
readonly name: string;
readonly nullable: boolean;
readonly metadata: Map<string, string>;
getChildAt<R extends DataType = any>(index: number): Column<R> | null;
}