{"version":3,"sources":["interfaces.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,+DAA+D;AAC/D,wDAAwD;AACxD,6DAA6D;AAC7D,oDAAoD;AACpD,6DAA6D;AAC7D,6DAA6D;AAC7D,EAAE;AACF,+CAA+C;AAC/C,EAAE;AACF,6DAA6D;AAC7D,8DAA8D;AAC9D,yDAAyD;AACzD,4DAA4D;AAC5D,0DAA0D;AAC1D,qBAAqB;AAGrB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC","file":"interfaces.js","sourcesContent":["// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data } from './data';\nimport { Type } from './enum';\nimport * as type from './type';\nimport { DataType } from './type';\nimport * as vecs from './vector/index';\nimport * as builders from './builder/index';\nimport { BuilderOptions } from './builder/index';\n\n/** @ignore */ type FloatArray = Float32Array | Float64Array;\n/** @ignore */ type IntArray = Int8Array | Int16Array | Int32Array;\n/** @ignore */ type UintArray = Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray;\n/** @ignore */\nexport type TypedArray = FloatArray | IntArray | UintArray;\n/** @ignore */\nexport type BigIntArray = BigInt64Array | BigUint64Array;\n\n/** @ignore */\nexport interface TypedArrayConstructor {\n readonly prototype: T;\n new(length?: number): T;\n new(array: Iterable): T;\n new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): T;\n /**\n * The size in bytes of each element in the array.\n */\n readonly BYTES_PER_ELEMENT: number;\n /**\n * Returns a new array from a set of elements.\n * @param items A set of elements to include in the new array object.\n */\n of(...items: number[]): T;\n /**\n * Creates an array from an array-like or iterable object.\n * @param arrayLike An array-like or iterable object to convert to an array.\n * @param mapfn A mapping function to call on every element of the array.\n * @param thisArg Value of 'this' used to invoke the mapfn.\n */\n from(arrayLike: ArrayLike, mapfn?: (v: number, k: number) => number, thisArg?: any): T;\n from(arrayLike: ArrayLike, mapfn: (v: U, k: number) => number, thisArg?: any): T;\n}\n\n/** @ignore */\nexport interface BigIntArrayConstructor {\n readonly prototype: T;\n new(length?: number): T;\n new(array: Iterable): T;\n new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): T;\n /**\n * The size in bytes of each element in the array.\n */\n readonly BYTES_PER_ELEMENT: number;\n /**\n * Returns a new array from a set of elements.\n * @param items A set of elements to include in the new array object.\n */\n of(...items: bigint[]): T;\n /**\n * Creates an array from an array-like or iterable object.\n * @param arrayLike An array-like or iterable object to convert to an array.\n * @param mapfn A mapping function to call on every element of the array.\n * @param thisArg Value of 'this' used to invoke the mapfn.\n */\n from(arrayLike: ArrayLike, mapfn?: (v: bigint, k: number) => bigint, thisArg?: any): T;\n from(arrayLike: ArrayLike, mapfn: (v: U, k: number) => bigint, thisArg?: any): T;\n}\n\n/** @ignore */\nexport type VectorCtorArgs<\n T extends VectorType,\n R extends DataType = any,\n TArgs extends any[] = any[],\n TCtor extends new (data: Data, ...args: TArgs) => T =\n new (data: Data, ...args: TArgs) => T\n> = TCtor extends new (data: Data, ...args: infer TArgs) => T ? TArgs : never;\n\n/** @ignore */\nexport type BuilderCtorArgs<\n T extends BuilderType,\n R extends DataType = any,\n TArgs extends any[] = any[],\n TCtor extends new (type: R, ...args: TArgs) => T =\n new (type: R, ...args: TArgs) => T\n> = TCtor extends new (type: R, ...args: infer TArgs) => T ? TArgs : never;\n\n/**\n * Obtain the constructor function of an instance type\n * @ignore\n */\nexport type ConstructorType<\n T,\n TCtor extends new (...args: any[]) => T =\n new (...args: any[]) => T\n> = TCtor extends new (...args: any[]) => T ? TCtor : never;\n\n/** @ignore */\nexport type VectorCtorType<\n T extends VectorType,\n R extends DataType = any,\n TCtor extends new (data: Data, ...args: VectorCtorArgs) => T =\n new (data: Data, ...args: VectorCtorArgs) => T\n> = TCtor extends new (data: Data, ...args: VectorCtorArgs) => T ? TCtor : never;\n\n/** @ignore */\nexport type BuilderCtorType<\n T extends BuilderType,\n R extends DataType = any,\n TCtor extends new (options: BuilderOptions) => T =\n new (options: BuilderOptions) => T\n> = TCtor extends new (options: BuilderOptions) => T ? TCtor : never;\n\n/** @ignore */\nexport type VectorType =\n T extends Type ? TypeToVector :\n T extends DataType ? DataTypeToVector :\n vecs.BaseVector\n ;\n\n/** @ignore */\nexport type BuilderType =\n T extends Type ? TypeToBuilder :\n T extends DataType ? DataTypeToBuilder :\n builders.Builder\n ;\n\n/** @ignore */\nexport type VectorCtor =\n T extends VectorType ? VectorCtorType :\n T extends Type ? VectorCtorType> :\n T extends DataType ? VectorCtorType> :\n VectorCtorType\n ;\n\n/** @ignore */\nexport type BuilderCtor =\n T extends Type ? BuilderCtorType> :\n T extends DataType ? BuilderCtorType> :\n BuilderCtorType\n ;\n\n/** @ignore */\nexport type DataTypeCtor =\n T extends DataType ? ConstructorType :\n T extends VectorType ? ConstructorType :\n T extends Type ? ConstructorType> :\n never\n ;\n\n/** @ignore */\ntype TypeToVector = {\n [key: number ]: any ;\n [Type.Null ]: vecs.NullVector ;\n [Type.Bool ]: vecs.BoolVector ;\n [Type.Int8 ]: vecs.Int8Vector ;\n [Type.Int16 ]: vecs.Int16Vector ;\n [Type.Int32 ]: vecs.Int32Vector ;\n [Type.Int64 ]: vecs.Int64Vector ;\n [Type.Uint8 ]: vecs.Uint8Vector ;\n [Type.Uint16 ]: vecs.Uint16Vector ;\n [Type.Uint32 ]: vecs.Uint32Vector ;\n [Type.Uint64 ]: vecs.Uint64Vector ;\n [Type.Int ]: vecs.IntVector ;\n [Type.Float16 ]: vecs.Float16Vector ;\n [Type.Float32 ]: vecs.Float32Vector ;\n [Type.Float64 ]: vecs.Float64Vector ;\n [Type.Float ]: vecs.FloatVector ;\n [Type.Utf8 ]: vecs.Utf8Vector ;\n [Type.Binary ]: vecs.BinaryVector ;\n [Type.FixedSizeBinary ]: vecs.FixedSizeBinaryVector ;\n [Type.Date ]: vecs.DateVector ;\n [Type.DateDay ]: vecs.DateDayVector ;\n [Type.DateMillisecond ]: vecs.DateMillisecondVector ;\n [Type.Timestamp ]: vecs.TimestampVector ;\n [Type.TimestampSecond ]: vecs.TimestampSecondVector ;\n [Type.TimestampMillisecond ]: vecs.TimestampMillisecondVector ;\n [Type.TimestampMicrosecond ]: vecs.TimestampMicrosecondVector ;\n [Type.TimestampNanosecond ]: vecs.TimestampNanosecondVector ;\n [Type.Time ]: vecs.TimeVector ;\n [Type.TimeSecond ]: vecs.TimeSecondVector ;\n [Type.TimeMillisecond ]: vecs.TimeMillisecondVector ;\n [Type.TimeMicrosecond ]: vecs.TimeMicrosecondVector ;\n [Type.TimeNanosecond ]: vecs.TimeNanosecondVector ;\n [Type.Decimal ]: vecs.DecimalVector ;\n [Type.Union ]: vecs.UnionVector ;\n [Type.DenseUnion ]: vecs.DenseUnionVector ;\n [Type.SparseUnion ]: vecs.SparseUnionVector ;\n [Type.Interval ]: vecs.IntervalVector ;\n [Type.IntervalDayTime ]: vecs.IntervalDayTimeVector ;\n [Type.IntervalYearMonth ]: vecs.IntervalYearMonthVector ;\n [Type.Map ]: vecs.MapVector ;\n [Type.List ]: vecs.ListVector ;\n [Type.Struct ]: vecs.StructVector ;\n [Type.Dictionary ]: vecs.DictionaryVector ;\n [Type.FixedSizeList ]: vecs.FixedSizeListVector ;\n}[T];\n\n/** @ignore */\ntype DataTypeToVector = {\n [key: number ]: any ;\n [Type.Null ]: T extends type.Null ? vecs.NullVector : vecs.BaseVector ;\n [Type.Bool ]: T extends type.Bool ? vecs.BoolVector : vecs.BaseVector ;\n [Type.Int8 ]: T extends type.Int8 ? vecs.Int8Vector : vecs.BaseVector ;\n [Type.Int16 ]: T extends type.Int16 ? vecs.Int16Vector : vecs.BaseVector ;\n [Type.Int32 ]: T extends type.Int32 ? vecs.Int32Vector : vecs.BaseVector ;\n [Type.Int64 ]: T extends type.Int64 ? vecs.Int64Vector : vecs.BaseVector ;\n [Type.Uint8 ]: T extends type.Uint8 ? vecs.Uint8Vector : vecs.BaseVector ;\n [Type.Uint16 ]: T extends type.Uint16 ? vecs.Uint16Vector : vecs.BaseVector ;\n [Type.Uint32 ]: T extends type.Uint32 ? vecs.Uint32Vector : vecs.BaseVector ;\n [Type.Uint64 ]: T extends type.Uint64 ? vecs.Uint64Vector : vecs.BaseVector ;\n [Type.Int ]: T extends type.Int ? vecs.IntVector : vecs.BaseVector ;\n [Type.Float16 ]: T extends type.Float16 ? vecs.Float16Vector : vecs.BaseVector ;\n [Type.Float32 ]: T extends type.Float32 ? vecs.Float32Vector : vecs.BaseVector ;\n [Type.Float64 ]: T extends type.Float64 ? vecs.Float64Vector : vecs.BaseVector ;\n [Type.Float ]: T extends type.Float ? vecs.FloatVector : vecs.BaseVector ;\n [Type.Utf8 ]: T extends type.Utf8 ? vecs.Utf8Vector : vecs.BaseVector ;\n [Type.Binary ]: T extends type.Binary ? vecs.BinaryVector : vecs.BaseVector ;\n [Type.FixedSizeBinary ]: T extends type.FixedSizeBinary ? vecs.FixedSizeBinaryVector : vecs.BaseVector ;\n [Type.Date ]: T extends type.Date_ ? vecs.DateVector : vecs.BaseVector ;\n [Type.DateDay ]: T extends type.DateDay ? vecs.DateDayVector : vecs.BaseVector ;\n [Type.DateMillisecond ]: T extends type.DateMillisecond ? vecs.DateMillisecondVector : vecs.BaseVector ;\n [Type.Timestamp ]: T extends type.Timestamp ? vecs.TimestampVector : vecs.BaseVector ;\n [Type.TimestampSecond ]: T extends type.TimestampSecond ? vecs.TimestampSecondVector : vecs.BaseVector ;\n [Type.TimestampMillisecond ]: T extends type.TimestampMillisecond ? vecs.TimestampMillisecondVector : vecs.BaseVector ;\n [Type.TimestampMicrosecond ]: T extends type.TimestampMicrosecond ? vecs.TimestampMicrosecondVector : vecs.BaseVector ;\n [Type.TimestampNanosecond ]: T extends type.TimestampNanosecond ? vecs.TimestampNanosecondVector : vecs.BaseVector ;\n [Type.Time ]: T extends type.Time ? vecs.TimeVector : vecs.BaseVector ;\n [Type.TimeSecond ]: T extends type.TimeSecond ? vecs.TimeSecondVector : vecs.BaseVector ;\n [Type.TimeMillisecond ]: T extends type.TimeMillisecond ? vecs.TimeMillisecondVector : vecs.BaseVector ;\n [Type.TimeMicrosecond ]: T extends type.TimeMicrosecond ? vecs.TimeMicrosecondVector : vecs.BaseVector ;\n [Type.TimeNanosecond ]: T extends type.TimeNanosecond ? vecs.TimeNanosecondVector : vecs.BaseVector ;\n [Type.Decimal ]: T extends type.Decimal ? vecs.DecimalVector : vecs.BaseVector ;\n [Type.Union ]: T extends type.Union ? vecs.UnionVector : vecs.BaseVector ;\n [Type.DenseUnion ]: T extends type.DenseUnion ? vecs.DenseUnionVector : vecs.BaseVector ;\n [Type.SparseUnion ]: T extends type.SparseUnion ? vecs.SparseUnionVector : vecs.BaseVector ;\n [Type.Interval ]: T extends type.Interval ? vecs.IntervalVector : vecs.BaseVector ;\n [Type.IntervalDayTime ]: T extends type.IntervalDayTime ? vecs.IntervalDayTimeVector : vecs.BaseVector ;\n [Type.IntervalYearMonth ]: T extends type.IntervalYearMonth ? vecs.IntervalYearMonthVector : vecs.BaseVector ;\n [Type.Map ]: T extends type.Map_ ? vecs.MapVector : vecs.BaseVector ;\n [Type.List ]: T extends type.List ? vecs.ListVector : vecs.BaseVector ;\n [Type.Struct ]: T extends type.Struct ? vecs.StructVector : vecs.BaseVector ;\n [Type.Dictionary ]: T extends type.Dictionary ? vecs.DictionaryVector : vecs.BaseVector ;\n [Type.FixedSizeList ]: T extends type.FixedSizeList ? vecs.FixedSizeListVector : vecs.BaseVector ;\n}[T['TType']];\n\n/** @ignore */\nexport type TypeToDataType = {\n [key: number ]: type.DataType ;\n [Type.Null ]: type.Null ;\n [Type.Bool ]: type.Bool ;\n [Type.Int ]: type.Int ;\n [Type.Int16 ]: type.Int16 ;\n [Type.Int32 ]: type.Int32 ;\n [Type.Int64 ]: type.Int64 ;\n [Type.Uint8 ]: type.Uint8 ;\n [Type.Uint16 ]: type.Uint16 ;\n [Type.Uint32 ]: type.Uint32 ;\n [Type.Uint64 ]: type.Uint64 ;\n [Type.Int8 ]: type.Int8 ;\n [Type.Float16 ]: type.Float16 ;\n [Type.Float32 ]: type.Float32 ;\n [Type.Float64 ]: type.Float64 ;\n [Type.Float ]: type.Float ;\n [Type.Utf8 ]: type.Utf8 ;\n [Type.Binary ]: type.Binary ;\n [Type.FixedSizeBinary ]: type.FixedSizeBinary ;\n [Type.Date ]: type.Date_ ;\n [Type.DateDay ]: type.DateDay ;\n [Type.DateMillisecond ]: type.DateMillisecond ;\n [Type.Timestamp ]: type.Timestamp ;\n [Type.TimestampSecond ]: type.TimestampSecond ;\n [Type.TimestampMillisecond ]: type.TimestampMillisecond ;\n [Type.TimestampMicrosecond ]: type.TimestampMicrosecond ;\n [Type.TimestampNanosecond ]: type.TimestampNanosecond ;\n [Type.Time ]: type.Time ;\n [Type.TimeSecond ]: type.TimeSecond ;\n [Type.TimeMillisecond ]: type.TimeMillisecond ;\n [Type.TimeMicrosecond ]: type.TimeMicrosecond ;\n [Type.TimeNanosecond ]: type.TimeNanosecond ;\n [Type.Decimal ]: type.Decimal ;\n [Type.Union ]: type.Union ;\n [Type.DenseUnion ]: type.DenseUnion ;\n [Type.SparseUnion ]: type.SparseUnion ;\n [Type.Interval ]: type.Interval ;\n [Type.IntervalDayTime ]: type.IntervalDayTime ;\n [Type.IntervalYearMonth ]: type.IntervalYearMonth ;\n [Type.Map ]: type.Map_ ;\n [Type.List ]: type.List ;\n [Type.Struct ]: type.Struct ;\n [Type.Dictionary ]: type.Dictionary ;\n [Type.FixedSizeList ]: type.FixedSizeList ;\n}[T];\n\n/** @ignore */\ntype TypeToBuilder = {\n [key: number ]: builders.Builder ;\n [Type.Null ]: builders.NullBuilder ;\n [Type.Bool ]: builders.BoolBuilder ;\n [Type.Int8 ]: builders.Int8Builder ;\n [Type.Int16 ]: builders.Int16Builder ;\n [Type.Int32 ]: builders.Int32Builder ;\n [Type.Int64 ]: builders.Int64Builder ;\n [Type.Uint8 ]: builders.Uint8Builder ;\n [Type.Uint16 ]: builders.Uint16Builder ;\n [Type.Uint32 ]: builders.Uint32Builder ;\n [Type.Uint64 ]: builders.Uint64Builder ;\n [Type.Int ]: builders.IntBuilder ;\n [Type.Float16 ]: builders.Float16Builder ;\n [Type.Float32 ]: builders.Float32Builder ;\n [Type.Float64 ]: builders.Float64Builder ;\n [Type.Float ]: builders.FloatBuilder ;\n [Type.Utf8 ]: builders.Utf8Builder ;\n [Type.Binary ]: builders.BinaryBuilder ;\n [Type.FixedSizeBinary ]: builders.FixedSizeBinaryBuilder ;\n [Type.Date ]: builders.DateBuilder ;\n [Type.DateDay ]: builders.DateDayBuilder ;\n [Type.DateMillisecond ]: builders.DateMillisecondBuilder ;\n [Type.Timestamp ]: builders.TimestampBuilder ;\n [Type.TimestampSecond ]: builders.TimestampSecondBuilder ;\n [Type.TimestampMillisecond ]: builders.TimestampMillisecondBuilder ;\n [Type.TimestampMicrosecond ]: builders.TimestampMicrosecondBuilder ;\n [Type.TimestampNanosecond ]: builders.TimestampNanosecondBuilder ;\n [Type.Time ]: builders.TimeBuilder ;\n [Type.TimeSecond ]: builders.TimeSecondBuilder ;\n [Type.TimeMillisecond ]: builders.TimeMillisecondBuilder ;\n [Type.TimeMicrosecond ]: builders.TimeMicrosecondBuilder ;\n [Type.TimeNanosecond ]: builders.TimeNanosecondBuilder ;\n [Type.Decimal ]: builders.DecimalBuilder ;\n [Type.Union ]: builders.UnionBuilder ;\n [Type.DenseUnion ]: builders.DenseUnionBuilder ;\n [Type.SparseUnion ]: builders.SparseUnionBuilder ;\n [Type.Interval ]: builders.IntervalBuilder ;\n [Type.IntervalDayTime ]: builders.IntervalDayTimeBuilder ;\n [Type.IntervalYearMonth ]: builders.IntervalYearMonthBuilder ;\n [Type.Map ]: builders.MapBuilder ;\n [Type.List ]: builders.ListBuilder ;\n [Type.Struct ]: builders.StructBuilder ;\n [Type.Dictionary ]: builders.DictionaryBuilder ;\n [Type.FixedSizeList ]: builders.FixedSizeListBuilder ;\n}[T];\n\n/** @ignore */\ntype DataTypeToBuilder = {\n [key: number ]: builders.Builder ;\n [Type.Null ]: T extends type.Null ? builders.NullBuilder : builders.Builder ;\n [Type.Bool ]: T extends type.Bool ? builders.BoolBuilder : builders.Builder ;\n [Type.Int8 ]: T extends type.Int8 ? builders.Int8Builder : builders.Builder ;\n [Type.Int16 ]: T extends type.Int16 ? builders.Int16Builder : builders.Builder ;\n [Type.Int32 ]: T extends type.Int32 ? builders.Int32Builder : builders.Builder ;\n [Type.Int64 ]: T extends type.Int64 ? builders.Int64Builder : builders.Builder ;\n [Type.Uint8 ]: T extends type.Uint8 ? builders.Uint8Builder : builders.Builder ;\n [Type.Uint16 ]: T extends type.Uint16 ? builders.Uint16Builder : builders.Builder ;\n [Type.Uint32 ]: T extends type.Uint32 ? builders.Uint32Builder : builders.Builder ;\n [Type.Uint64 ]: T extends type.Uint64 ? builders.Uint64Builder : builders.Builder ;\n [Type.Int ]: T extends type.Int ? builders.IntBuilder : builders.Builder ;\n [Type.Float16 ]: T extends type.Float16 ? builders.Float16Builder : builders.Builder ;\n [Type.Float32 ]: T extends type.Float32 ? builders.Float32Builder : builders.Builder ;\n [Type.Float64 ]: T extends type.Float64 ? builders.Float64Builder : builders.Builder ;\n [Type.Float ]: T extends type.Float ? builders.FloatBuilder : builders.Builder ;\n [Type.Utf8 ]: T extends type.Utf8 ? builders.Utf8Builder : builders.Builder ;\n [Type.Binary ]: T extends type.Binary ? builders.BinaryBuilder : builders.Builder ;\n [Type.FixedSizeBinary ]: T extends type.FixedSizeBinary ? builders.FixedSizeBinaryBuilder : builders.Builder ;\n [Type.Date ]: T extends type.Date_ ? builders.DateBuilder : builders.Builder ;\n [Type.DateDay ]: T extends type.DateDay ? builders.DateDayBuilder : builders.Builder ;\n [Type.DateMillisecond ]: T extends type.DateMillisecond ? builders.DateMillisecondBuilder : builders.Builder ;\n [Type.Timestamp ]: T extends type.Timestamp ? builders.TimestampBuilder : builders.Builder ;\n [Type.TimestampSecond ]: T extends type.TimestampSecond ? builders.TimestampSecondBuilder : builders.Builder ;\n [Type.TimestampMillisecond ]: T extends type.TimestampMillisecond ? builders.TimestampMillisecondBuilder : builders.Builder ;\n [Type.TimestampMicrosecond ]: T extends type.TimestampMicrosecond ? builders.TimestampMicrosecondBuilder : builders.Builder ;\n [Type.TimestampNanosecond ]: T extends type.TimestampNanosecond ? builders.TimestampNanosecondBuilder : builders.Builder ;\n [Type.Time ]: T extends type.Time ? builders.TimeBuilder : builders.Builder ;\n [Type.TimeSecond ]: T extends type.TimeSecond ? builders.TimeSecondBuilder : builders.Builder ;\n [Type.TimeMillisecond ]: T extends type.TimeMillisecond ? builders.TimeMillisecondBuilder : builders.Builder ;\n [Type.TimeMicrosecond ]: T extends type.TimeMicrosecond ? builders.TimeMicrosecondBuilder : builders.Builder ;\n [Type.TimeNanosecond ]: T extends type.TimeNanosecond ? builders.TimeNanosecondBuilder : builders.Builder ;\n [Type.Decimal ]: T extends type.Decimal ? builders.DecimalBuilder : builders.Builder ;\n [Type.Union ]: T extends type.Union ? builders.UnionBuilder : builders.Builder ;\n [Type.DenseUnion ]: T extends type.DenseUnion ? builders.DenseUnionBuilder : builders.Builder ;\n [Type.SparseUnion ]: T extends type.SparseUnion ? builders.SparseUnionBuilder : builders.Builder ;\n [Type.Interval ]: T extends type.Interval ? builders.IntervalBuilder : builders.Builder ;\n [Type.IntervalDayTime ]: T extends type.IntervalDayTime ? builders.IntervalDayTimeBuilder : builders.Builder ;\n [Type.IntervalYearMonth ]: T extends type.IntervalYearMonth ? builders.IntervalYearMonthBuilder : builders.Builder ;\n [Type.Map ]: T extends type.Map_ ? builders.MapBuilder : builders.Builder ;\n [Type.List ]: T extends type.List ? builders.ListBuilder : builders.Builder ;\n [Type.Struct ]: T extends type.Struct ? builders.StructBuilder : builders.Builder ;\n [Type.Dictionary ]: T extends type.Dictionary ? builders.DictionaryBuilder : builders.Builder ;\n [Type.FixedSizeList ]: T extends type.FixedSizeList ? builders.FixedSizeListBuilder : builders.Builder ;\n}[T['TType']];\n"]}