Abstract
Readonly
childrenReadonly
finished一个布尔值,指示是否已在此 Builder
上调用 Builder.prototype.finish()
。
Readonly
length写入到 Builder
但尚未刷新的值的数量。
Optional
Readonly
null此 Builder
的空值哨兵列表。当这些值之一被写入 Builder
(通过 Builder.prototype.set()
或 Builder.prototype.append()
),则一个 1 位被写入到此 Builder 的底层 null BitmapBufferBuilder。
Readonly
stride底层 values TypedArray 中表示单个逻辑元素的元素数量,由该 Builder 的 DataType
确定。 对于大多数类型,此值为 1,但当 DataType
为 Int64
、Uint64
、Decimal
、DateMillisecond
、Interval
的某些变体、Time
或 Timestamp
、FixedSizeBinary
和 FixedSizeList
时,此值会更大。
Readonly
typeBuilder 的 DataType
实例。
已写入的值的聚合长度(以字节为单位)。
已保留用于写入新值的聚合长度(以字节为单位)。
已保留用于写入新值的聚合行数。
Static
throughDOMStatic
through
一个抽象基类,用于从任意 JavaScript 值构造 Arrow 向量。
Builder
负责根据每个 DataType 的 Arrow 规范将任意 JavaScript 值写入 ArrayBuffer 和/或子 Builder,并在必要时创建或调整底层 ArrayBuffer 的大小。每个 Arrow
DataType
的Builder
处理给定DataType
的值的转换和追加。 高级makeBuilder()
便捷方法为提供的DataType
创建特定的Builder
子类。创建后,
Builder
实例支持将值追加到Builder
的末尾,以及对特定索引进行随机访问写入(Builder.prototype.append(value)
是builder.set(builder.length, value)
的便捷方法)。 追加或设置超出 Builder 当前长度的值可能会导致 builder 增长其底层缓冲区或子 Builder(如果适用)以容纳新值。在将足够的值写入
Builder
后,Builder.prototype.flush()
会将值提交到底层 ArrayBuffer(或子 Builder)。 内部 Builder 状态将被重置,并返回Data<T>
的实例。 或者,Builder.prototype.toVector()
将刷新Builder
并返回Vector<T>
的实例。当没有更多值要写入时,使用
Builder.prototype.finish()
来完成Builder
。 这不会重置内部状态,因此如果仍有值排队等待刷新,则需要最后一次调用Builder.prototype.flush()
或toVector()
。注意:使用
DictionaryBuilder
时,需要调用Builder.prototype.finish()
,因为这是它刷新已在其内部字典的Builder
中排队的值,并为Dictionary
DataType
创建dictionaryVector
的时候。例子
类型参数
T 此
Builder
的DataType
。类型参数
TNull 将被视为 null 值的哨兵的值的类型。