UNPKG

apache-arrow

Version:
62 lines (61 loc) 2.48 kB
import { Vector } from '../vector'; import { StructVector } from './struct'; import { DataType, Struct } from '../type'; /** @ignore */ declare const kParent: unique symbol; /** @ignore */ declare const kRowIndex: unique symbol; /** @ignore */ declare const kKeyToIdx: unique symbol; /** @ignore */ declare const kIdxToVal: unique symbol; /** @ignore */ declare const kCustomInspect: unique symbol; declare abstract class Row<K extends PropertyKey = any, V = any> implements Map<K, V> { readonly size: number; readonly [Symbol.toStringTag]: string; protected [kRowIndex]: number; protected [kParent]: Vector<Struct>; protected [kKeyToIdx]: Map<K, number>; protected [kIdxToVal]: V[]; constructor(parent: Vector<Struct>, numKeys: number); abstract keys(): IterableIterator<K>; abstract values(): IterableIterator<V>; abstract getKey(idx: number): K; abstract getIndex(key: K): number; abstract getValue(idx: number): V; abstract setValue(idx: number, val: V): void; entries(): IterableIterator<[K, V]>; has(key: K): boolean; get(key: K): V | undefined; set(key: K, val: V): this; clear(): void; delete(_: K): boolean; [Symbol.iterator](): IterableIterator<[K, V]>; forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void; toArray(): V[]; toJSON(): any; inspect(): string; [kCustomInspect](): string; toString(): string; protected static [Symbol.toStringTag]: string; } export declare class MapRow<K extends DataType = any, V extends DataType = any> extends Row<K['TValue'], V['TValue'] | null> { constructor(slice: Vector<Struct<{ key: K; value: V; }>>); keys(): IterableIterator<any>; values(): IterableIterator<any>; getKey(idx: number): K['TValue']; getIndex(key: K['TValue']): number; getValue(index: number): V['TValue'] | null; setValue(index: number, value: V['TValue'] | null): void; } export declare class StructRow<T extends { [key: string]: DataType; } = any> extends Row<keyof T, T[keyof T]['TValue'] | null> { constructor(parent: StructVector<T>); keys(): Generator<keyof T, void, unknown>; values(): Generator<T[string]["TValue"] | null, void, unknown>; getKey(idx: number): keyof T; getIndex(key: keyof T): number; getValue(index: number): T[keyof T]['TValue'] | null; setValue(index: number, value: T[keyof T]['TValue'] | null): void; } export {};