Skip to main content

Field

info

This page is aligned to Apache Arrow JS v21.x (apache-arrow).

A Field is a named column component with type and nullability metadata.

Usage​

import {Field, Int32} from 'apache-arrow';

const id = Field.new({name: 'id', type: new Int32(), nullable: false});
const cloned = id.clone({nullable: true});

Members​

name: string​

Field name.

type: DataType​

Field data type.

nullable: boolean​

Whether null values are permitted.

metadata: Map<string, string>​

Optional field metadata.

typeId: Type​

The underlying DataType identifier.

readonly [Symbol.toStringTag]: string​

Debug name shown by Object.prototype.toString.

Static methods​

Field.new<T extends DataType = any>(props: { name: string | number; type: T; nullable?: boolean; metadata?: Map<string, string> | null }): Field<T>​

Field.new<T extends DataType = any>(name: string | number | Field<T>, type: T, nullable?: boolean, metadata?: Map<string, string> | null): Field<T>​

Creates a field with explicit constructor arguments.

Constructor​

constructor(name: string, type: DataType, nullable = false, metadata?: Map<string, string> | null)​

Creates a new immutable field descriptor.

Methods​

clone<T extends DataType = any>(props: { name?: string | number; type?: T; nullable?: boolean; metadata?: Map<string, string> | null }): Field<T>​

Returns a copy with overridden metadata.

clone<R extends DataType = any>(name?: string | number | Field<T>, type?: R, nullable?: boolean, metadata?: Map<string, string> | null): Field<R>​

Returns a copy with overridden properties.

toString(): string​

Returns a concise string representation of the field.