Abstract
Readonly
childrenReadonly
finished一個布林值,指示是否已在此 Builder
上呼叫 Builder.prototype.finish()
。
Readonly
length尚未清除的寫入到 Builder
的值的數量。
Optional
Readonly
null此 Builder
的 null 值 sentinel 的列表。 當其中一個值寫入到 Builder
(透過 Builder.prototype.set()
或 Builder.prototype.append()
) 時,會將 1 位元寫入到此 Builder 的底層 null BitmapBufferBuilder。
Readonly
stride底層值 TypedArray 中代表單一邏輯元素的元素數量,由這個 Builder 的 DataType
決定。 大多數型別為 1,但當 DataType
為 Int64
、Uint64
、Decimal
、DateMillisecond
、Interval
、Time
或 Timestamp
、FixedSizeBinary
和 FixedSizeList
的某些變體時,則會更大。
Readonly
typeBuilder 的 DataType
實例。
已寫入的值的總長度 (以位元組為單位)。
已保留用於寫入新值的總長度 (以位元組為單位)。
已保留用於寫入新值的總列數。
用於從任意 JavaScript 值建構 Arrow Vectors 的型別的抽象基底類別。
Builder
負責根據每個 DataType 的 Arrow 規範,將任意 JavaScript 值寫入 ArrayBuffers 和/或子 Builder,並在必要時建立或調整底層 ArrayBuffers 的大小。每個 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()
將會把這些值提交到下層的 ArrayBuffers (或子 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
。範例
Typeparam
T 此
Builder
的DataType
。Typeparam
TNull 將被視為 null 值 sentinel 的值的型別。