@apache-arrow/es2015-esm
Advanced tools
Comparing version 0.2.0 to 0.3.0
168
Arrow.d.ts
@@ -1,13 +0,155 @@ | ||
import { Table } from './vector/table'; | ||
import { Vector } from './vector/vector'; | ||
import { Utf8Vector } from './vector/utf8'; | ||
import { DictionaryVector } from './vector/dictionary'; | ||
import { StructVector, StructRow } from './vector/struct'; | ||
import { readVectors, readVectorsAsync } from './reader/arrow'; | ||
import { ListVector, BinaryVector, FixedSizeListVector } from './vector/list'; | ||
import { BoolVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector, Float16Vector, Float32Vector, Float64Vector, Date32Vector, Date64Vector, Time32Vector, Time64Vector, DecimalVector, TimestampVector } from './vector/numeric'; | ||
export { Table, Vector, StructRow }; | ||
export { readVectors, readVectorsAsync }; | ||
export { NumericVectorConstructor } from './vector/numeric'; | ||
export { List, TypedArray, TypedArrayConstructor } from './vector/types'; | ||
export { BoolVector, ListVector, Utf8Vector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector, Date32Vector, Date64Vector, Time32Vector, Time64Vector, BinaryVector, StructVector, Float16Vector, Float32Vector, Float64Vector, DecimalVector, TimestampVector, DictionaryVector, FixedSizeListVector }; | ||
import * as type_ from './type'; | ||
import * as data_ from './data'; | ||
import * as vector_ from './vector'; | ||
import * as util_ from './util/int'; | ||
import * as visitor_ from './visitor'; | ||
import * as view_ from './vector/view'; | ||
import * as predicate_ from './predicate'; | ||
import { Vector } from './vector'; | ||
import { RecordBatch } from './recordbatch'; | ||
import { Schema, Field, Type } from './type'; | ||
import { Table, DataFrame, NextFunc, BindFunc, CountByResult } from './table'; | ||
import { read, readAsync } from './ipc/reader/arrow'; | ||
export import View = vector_.View; | ||
export import VectorLike = vector_.VectorLike; | ||
export import TypedArray = type_.TypedArray; | ||
export import IntBitWidth = type_.IntBitWidth; | ||
export import TimeBitWidth = type_.TimeBitWidth; | ||
export import TypedArrayConstructor = type_.TypedArrayConstructor; | ||
export { read, readAsync }; | ||
export { Table, DataFrame, NextFunc, BindFunc, CountByResult }; | ||
export { Field, Schema, RecordBatch, Vector, Type }; | ||
export declare namespace util { | ||
export import Uint64 = util_.Uint64; | ||
export import Int64 = util_.Int64; | ||
export import Int128 = util_.Int128; | ||
} | ||
export declare namespace data { | ||
export import BaseData = data_.BaseData; | ||
export import FlatData = data_.FlatData; | ||
export import BoolData = data_.BoolData; | ||
export import FlatListData = data_.FlatListData; | ||
export import DictionaryData = data_.DictionaryData; | ||
export import NestedData = data_.NestedData; | ||
export import ListData = data_.ListData; | ||
export import UnionData = data_.UnionData; | ||
export import SparseUnionData = data_.SparseUnionData; | ||
export import DenseUnionData = data_.DenseUnionData; | ||
export import ChunkedData = data_.ChunkedData; | ||
} | ||
export declare namespace enum_ { | ||
export import Type = type_.ArrowType; | ||
export import DateUnit = type_.DateUnit; | ||
export import TimeUnit = type_.TimeUnit; | ||
export import Precision = type_.Precision; | ||
export import UnionMode = type_.UnionMode; | ||
export import VectorType = type_.VectorType; | ||
export import IntervalUnit = type_.IntervalUnit; | ||
export import MessageHeader = type_.MessageHeader; | ||
export import MetadataVersion = type_.MetadataVersion; | ||
} | ||
export declare namespace type { | ||
export import Schema = type_.Schema; | ||
export import Field = type_.Field; | ||
export import Null = type_.Null; | ||
export import Int = type_.Int; | ||
export import Int8 = type_.Int8; | ||
export import Int16 = type_.Int16; | ||
export import Int32 = type_.Int32; | ||
export import Int64 = type_.Int64; | ||
export import Uint8 = type_.Uint8; | ||
export import Uint16 = type_.Uint16; | ||
export import Uint32 = type_.Uint32; | ||
export import Uint64 = type_.Uint64; | ||
export import Float = type_.Float; | ||
export import Float16 = type_.Float16; | ||
export import Float32 = type_.Float32; | ||
export import Float64 = type_.Float64; | ||
export import Binary = type_.Binary; | ||
export import Utf8 = type_.Utf8; | ||
export import Bool = type_.Bool; | ||
export import Decimal = type_.Decimal; | ||
export import Date_ = type_.Date_; | ||
export import Time = type_.Time; | ||
export import Timestamp = type_.Timestamp; | ||
export import Interval = type_.Interval; | ||
export import List = type_.List; | ||
export import Struct = type_.Struct; | ||
export import Union = type_.Union; | ||
export import DenseUnion = type_.DenseUnion; | ||
export import SparseUnion = type_.SparseUnion; | ||
export import FixedSizeBinary = type_.FixedSizeBinary; | ||
export import FixedSizeList = type_.FixedSizeList; | ||
export import Map_ = type_.Map_; | ||
export import Dictionary = type_.Dictionary; | ||
} | ||
export declare namespace vector { | ||
export import Vector = vector_.Vector; | ||
export import NullVector = vector_.NullVector; | ||
export import BoolVector = vector_.BoolVector; | ||
export import IntVector = vector_.IntVector; | ||
export import FloatVector = vector_.FloatVector; | ||
export import DateVector = vector_.DateVector; | ||
export import DecimalVector = vector_.DecimalVector; | ||
export import TimeVector = vector_.TimeVector; | ||
export import TimestampVector = vector_.TimestampVector; | ||
export import IntervalVector = vector_.IntervalVector; | ||
export import BinaryVector = vector_.BinaryVector; | ||
export import FixedSizeBinaryVector = vector_.FixedSizeBinaryVector; | ||
export import Utf8Vector = vector_.Utf8Vector; | ||
export import ListVector = vector_.ListVector; | ||
export import FixedSizeListVector = vector_.FixedSizeListVector; | ||
export import MapVector = vector_.MapVector; | ||
export import StructVector = vector_.StructVector; | ||
export import UnionVector = vector_.UnionVector; | ||
export import DictionaryVector = vector_.DictionaryVector; | ||
} | ||
export declare namespace visitor { | ||
export import TypeVisitor = visitor_.TypeVisitor; | ||
export import VectorVisitor = visitor_.VectorVisitor; | ||
} | ||
export declare namespace view { | ||
export import ChunkedView = view_.ChunkedView; | ||
export import DictionaryView = view_.DictionaryView; | ||
export import ListView = view_.ListView; | ||
export import FixedSizeListView = view_.FixedSizeListView; | ||
export import BinaryView = view_.BinaryView; | ||
export import Utf8View = view_.Utf8View; | ||
export import UnionView = view_.UnionView; | ||
export import DenseUnionView = view_.DenseUnionView; | ||
export import NestedView = view_.NestedView; | ||
export import StructView = view_.StructView; | ||
export import MapView = view_.MapView; | ||
export import FlatView = view_.FlatView; | ||
export import NullView = view_.NullView; | ||
export import BoolView = view_.BoolView; | ||
export import ValidityView = view_.ValidityView; | ||
export import PrimitiveView = view_.PrimitiveView; | ||
export import FixedSizeView = view_.FixedSizeView; | ||
export import Float16View = view_.Float16View; | ||
export import DateDayView = view_.DateDayView; | ||
export import DateMillisecondView = view_.DateMillisecondView; | ||
export import TimestampDayView = view_.TimestampDayView; | ||
export import TimestampSecondView = view_.TimestampSecondView; | ||
export import TimestampMillisecondView = view_.TimestampMillisecondView; | ||
export import TimestampMicrosecondView = view_.TimestampMicrosecondView; | ||
export import TimestampNanosecondView = view_.TimestampNanosecondView; | ||
export import IntervalYearMonthView = view_.IntervalYearMonthView; | ||
export import IntervalYearView = view_.IntervalYearView; | ||
export import IntervalMonthView = view_.IntervalMonthView; | ||
} | ||
export declare namespace predicate { | ||
export import col = predicate_.col; | ||
export import lit = predicate_.lit; | ||
export import custom = predicate_.custom; | ||
export import Or = predicate_.Or; | ||
export import Col = predicate_.Col; | ||
export import And = predicate_.And; | ||
export import GTeq = predicate_.GTeq; | ||
export import LTeq = predicate_.LTeq; | ||
export import Value = predicate_.Value; | ||
export import Equals = predicate_.Equals; | ||
export import Literal = predicate_.Literal; | ||
export import Predicate = predicate_.Predicate; | ||
export import PredicateFunc = predicate_.PredicateFunc; | ||
} |
287
Arrow.js
@@ -17,52 +17,249 @@ // Licensed to the Apache Software Foundation (ASF) under one | ||
// under the License. | ||
import { Table } from './vector/table'; | ||
import { Vector } from './vector/vector'; | ||
import { Utf8Vector } from './vector/utf8'; | ||
import { DictionaryVector } from './vector/dictionary'; | ||
import { StructVector, StructRow } from './vector/struct'; | ||
import { readVectors, readVectorsAsync } from './reader/arrow'; | ||
import { ListVector, BinaryVector, FixedSizeListVector } from './vector/list'; | ||
import { BoolVector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector, Float16Vector, Float32Vector, Float64Vector, Date32Vector, Date64Vector, Time32Vector, Time64Vector, DecimalVector, TimestampVector, } from './vector/numeric'; | ||
export { Table, Vector, StructRow }; | ||
export { readVectors, readVectorsAsync }; | ||
export { BoolVector, ListVector, Utf8Vector, Int8Vector, Int16Vector, Int32Vector, Int64Vector, Uint8Vector, Uint16Vector, Uint32Vector, Uint64Vector, Date32Vector, Date64Vector, Time32Vector, Time64Vector, BinaryVector, StructVector, Float16Vector, Float32Vector, Float64Vector, DecimalVector, TimestampVector, DictionaryVector, FixedSizeListVector, }; | ||
/* These exports are needed for the closure umd targets */ | ||
import * as type_ from './type'; | ||
import * as data_ from './data'; | ||
import * as vector_ from './vector'; | ||
import * as util_ from './util/int'; | ||
import * as visitor_ from './visitor'; | ||
import * as view_ from './vector/view'; | ||
import * as predicate_ from './predicate'; | ||
import { Vector } from './vector'; | ||
import { RecordBatch } from './recordbatch'; | ||
import { Schema, Field, Type } from './type'; | ||
import { Table, CountByResult } from './table'; | ||
import { read, readAsync } from './ipc/reader/arrow'; | ||
export { read, readAsync }; | ||
export { Table, CountByResult }; | ||
export { Field, Schema, RecordBatch, Vector, Type }; | ||
export var util; | ||
(function (util) { | ||
util.Uint64 = util_.Uint64; | ||
util.Int64 = util_.Int64; | ||
util.Int128 = util_.Int128; | ||
})(util || (util = {})); | ||
export var data; | ||
(function (data) { | ||
data.BaseData = data_.BaseData; | ||
data.FlatData = data_.FlatData; | ||
data.BoolData = data_.BoolData; | ||
data.FlatListData = data_.FlatListData; | ||
data.DictionaryData = data_.DictionaryData; | ||
data.NestedData = data_.NestedData; | ||
data.ListData = data_.ListData; | ||
data.UnionData = data_.UnionData; | ||
data.SparseUnionData = data_.SparseUnionData; | ||
data.DenseUnionData = data_.DenseUnionData; | ||
data.ChunkedData = data_.ChunkedData; | ||
})(data || (data = {})); | ||
export var enum_; | ||
(function (enum_) { | ||
enum_.Type = type_.ArrowType; | ||
enum_.DateUnit = type_.DateUnit; | ||
enum_.TimeUnit = type_.TimeUnit; | ||
enum_.Precision = type_.Precision; | ||
enum_.UnionMode = type_.UnionMode; | ||
enum_.VectorType = type_.VectorType; | ||
enum_.IntervalUnit = type_.IntervalUnit; | ||
enum_.MessageHeader = type_.MessageHeader; | ||
enum_.MetadataVersion = type_.MetadataVersion; | ||
})(enum_ || (enum_ = {})); | ||
export var type; | ||
(function (type) { | ||
type.Schema = type_.Schema; | ||
type.Field = type_.Field; | ||
type.Null = type_.Null; | ||
type.Int = type_.Int; | ||
type.Int8 = type_.Int8; | ||
type.Int16 = type_.Int16; | ||
type.Int32 = type_.Int32; | ||
type.Int64 = type_.Int64; | ||
type.Uint8 = type_.Uint8; | ||
type.Uint16 = type_.Uint16; | ||
type.Uint32 = type_.Uint32; | ||
type.Uint64 = type_.Uint64; | ||
type.Float = type_.Float; | ||
type.Float16 = type_.Float16; | ||
type.Float32 = type_.Float32; | ||
type.Float64 = type_.Float64; | ||
type.Binary = type_.Binary; | ||
type.Utf8 = type_.Utf8; | ||
type.Bool = type_.Bool; | ||
type.Decimal = type_.Decimal; | ||
type.Date_ = type_.Date_; | ||
type.Time = type_.Time; | ||
type.Timestamp = type_.Timestamp; | ||
type.Interval = type_.Interval; | ||
type.List = type_.List; | ||
type.Struct = type_.Struct; | ||
type.Union = type_.Union; | ||
type.DenseUnion = type_.DenseUnion; | ||
type.SparseUnion = type_.SparseUnion; | ||
type.FixedSizeBinary = type_.FixedSizeBinary; | ||
type.FixedSizeList = type_.FixedSizeList; | ||
type.Map_ = type_.Map_; | ||
type.Dictionary = type_.Dictionary; | ||
})(type || (type = {})); | ||
export var vector; | ||
(function (vector) { | ||
vector.Vector = vector_.Vector; | ||
vector.NullVector = vector_.NullVector; | ||
vector.BoolVector = vector_.BoolVector; | ||
vector.IntVector = vector_.IntVector; | ||
vector.FloatVector = vector_.FloatVector; | ||
vector.DateVector = vector_.DateVector; | ||
vector.DecimalVector = vector_.DecimalVector; | ||
vector.TimeVector = vector_.TimeVector; | ||
vector.TimestampVector = vector_.TimestampVector; | ||
vector.IntervalVector = vector_.IntervalVector; | ||
vector.BinaryVector = vector_.BinaryVector; | ||
vector.FixedSizeBinaryVector = vector_.FixedSizeBinaryVector; | ||
vector.Utf8Vector = vector_.Utf8Vector; | ||
vector.ListVector = vector_.ListVector; | ||
vector.FixedSizeListVector = vector_.FixedSizeListVector; | ||
vector.MapVector = vector_.MapVector; | ||
vector.StructVector = vector_.StructVector; | ||
vector.UnionVector = vector_.UnionVector; | ||
vector.DictionaryVector = vector_.DictionaryVector; | ||
})(vector || (vector = {})); | ||
export var visitor; | ||
(function (visitor) { | ||
visitor.TypeVisitor = visitor_.TypeVisitor; | ||
visitor.VectorVisitor = visitor_.VectorVisitor; | ||
})(visitor || (visitor = {})); | ||
export var view; | ||
(function (view) { | ||
view.ChunkedView = view_.ChunkedView; | ||
view.DictionaryView = view_.DictionaryView; | ||
view.ListView = view_.ListView; | ||
view.FixedSizeListView = view_.FixedSizeListView; | ||
view.BinaryView = view_.BinaryView; | ||
view.Utf8View = view_.Utf8View; | ||
view.UnionView = view_.UnionView; | ||
view.DenseUnionView = view_.DenseUnionView; | ||
view.NestedView = view_.NestedView; | ||
view.StructView = view_.StructView; | ||
view.MapView = view_.MapView; | ||
view.FlatView = view_.FlatView; | ||
view.NullView = view_.NullView; | ||
view.BoolView = view_.BoolView; | ||
view.ValidityView = view_.ValidityView; | ||
view.PrimitiveView = view_.PrimitiveView; | ||
view.FixedSizeView = view_.FixedSizeView; | ||
view.Float16View = view_.Float16View; | ||
view.DateDayView = view_.DateDayView; | ||
view.DateMillisecondView = view_.DateMillisecondView; | ||
view.TimestampDayView = view_.TimestampDayView; | ||
view.TimestampSecondView = view_.TimestampSecondView; | ||
view.TimestampMillisecondView = view_.TimestampMillisecondView; | ||
view.TimestampMicrosecondView = view_.TimestampMicrosecondView; | ||
view.TimestampNanosecondView = view_.TimestampNanosecondView; | ||
view.IntervalYearMonthView = view_.IntervalYearMonthView; | ||
view.IntervalYearView = view_.IntervalYearView; | ||
view.IntervalMonthView = view_.IntervalMonthView; | ||
})(view || (view = {})); | ||
export var predicate; | ||
(function (predicate) { | ||
predicate.col = predicate_.col; | ||
predicate.lit = predicate_.lit; | ||
predicate.custom = predicate_.custom; | ||
predicate.Or = predicate_.Or; | ||
predicate.Col = predicate_.Col; | ||
predicate.And = predicate_.And; | ||
predicate.GTeq = predicate_.GTeq; | ||
predicate.LTeq = predicate_.LTeq; | ||
predicate.Value = predicate_.Value; | ||
predicate.Equals = predicate_.Equals; | ||
predicate.Literal = predicate_.Literal; | ||
predicate.Predicate = predicate_.Predicate; | ||
})(predicate || (predicate = {})); | ||
/* These exports are needed for the closure and uglify umd targets */ | ||
try { | ||
const Arrow = eval('exports'); | ||
if (typeof Arrow === 'object') { | ||
// string indexers tell closure compiler not to rename these properties | ||
Arrow['readVectors'] = readVectors; | ||
Arrow['readVectorsAsync'] = readVectorsAsync; | ||
let Arrow = eval('exports'); | ||
if (Arrow && typeof Arrow === 'object') { | ||
// string indexers tell closure and uglify not to rename these properties | ||
Arrow['data'] = data; | ||
Arrow['type'] = type; | ||
Arrow['util'] = util; | ||
Arrow['view'] = view; | ||
Arrow['enum_'] = enum_; | ||
Arrow['vector'] = vector; | ||
Arrow['visitor'] = visitor; | ||
Arrow['predicate'] = predicate; | ||
Arrow['read'] = read; | ||
Arrow['readAsync'] = readAsync; | ||
Arrow['Type'] = Type; | ||
Arrow['Field'] = Field; | ||
Arrow['Schema'] = Schema; | ||
Arrow['Vector'] = Vector; | ||
Arrow['RecordBatch'] = RecordBatch; | ||
Arrow['Table'] = Table; | ||
Arrow['Vector'] = Vector; | ||
Arrow['StructRow'] = StructRow; | ||
Arrow['BoolVector'] = BoolVector; | ||
Arrow['ListVector'] = ListVector; | ||
Arrow['Utf8Vector'] = Utf8Vector; | ||
Arrow['Int8Vector'] = Int8Vector; | ||
Arrow['Int16Vector'] = Int16Vector; | ||
Arrow['Int32Vector'] = Int32Vector; | ||
Arrow['Int64Vector'] = Int64Vector; | ||
Arrow['Uint8Vector'] = Uint8Vector; | ||
Arrow['Uint16Vector'] = Uint16Vector; | ||
Arrow['Uint32Vector'] = Uint32Vector; | ||
Arrow['Uint64Vector'] = Uint64Vector; | ||
Arrow['Date32Vector'] = Date32Vector; | ||
Arrow['Date64Vector'] = Date64Vector; | ||
Arrow['Time32Vector'] = Time32Vector; | ||
Arrow['Time64Vector'] = Time64Vector; | ||
Arrow['BinaryVector'] = BinaryVector; | ||
Arrow['StructVector'] = StructVector; | ||
Arrow['Float16Vector'] = Float16Vector; | ||
Arrow['Float32Vector'] = Float32Vector; | ||
Arrow['Float64Vector'] = Float64Vector; | ||
Arrow['DecimalVector'] = DecimalVector; | ||
Arrow['TimestampVector'] = TimestampVector; | ||
Arrow['DictionaryVector'] = DictionaryVector; | ||
Arrow['FixedSizeListVector'] = FixedSizeListVector; | ||
Arrow['CountByResult'] = CountByResult; | ||
} | ||
} | ||
catch (e) { } | ||
/* end closure exports */ | ||
/* end umd exports */ | ||
// closure compiler erases static properties/methods: | ||
// https://github.com/google/closure-compiler/issues/1776 | ||
// set them via string indexers to save them from the mangler | ||
Schema['from'] = Schema.from; | ||
Table['from'] = Table.from; | ||
Table['fromAsync'] = Table.fromAsync; | ||
Table['empty'] = Table.empty; | ||
Vector['create'] = Vector.create; | ||
RecordBatch['from'] = RecordBatch.from; | ||
util_.Uint64['add'] = util_.Uint64.add; | ||
util_.Uint64['multiply'] = util_.Uint64.multiply; | ||
util_.Int64['add'] = util_.Int64.add; | ||
util_.Int64['multiply'] = util_.Int64.multiply; | ||
util_.Int64['fromString'] = util_.Int64.fromString; | ||
util_.Int128['add'] = util_.Int128.add; | ||
util_.Int128['multiply'] = util_.Int128.multiply; | ||
util_.Int128['fromString'] = util_.Int128.fromString; | ||
data_.ChunkedData['computeOffsets'] = data_.ChunkedData.computeOffsets; | ||
type_.Type['NONE'] = type_.Type.NONE; | ||
type_.Type['Null'] = type_.Type.Null; | ||
type_.Type['Int'] = type_.Type.Int; | ||
type_.Type['Float'] = type_.Type.Float; | ||
type_.Type['Binary'] = type_.Type.Binary; | ||
type_.Type['Utf8'] = type_.Type.Utf8; | ||
type_.Type['Bool'] = type_.Type.Bool; | ||
type_.Type['Decimal'] = type_.Type.Decimal; | ||
type_.Type['Date'] = type_.Type.Date; | ||
type_.Type['Time'] = type_.Type.Time; | ||
type_.Type['Timestamp'] = type_.Type.Timestamp; | ||
type_.Type['Interval'] = type_.Type.Interval; | ||
type_.Type['List'] = type_.Type.List; | ||
type_.Type['Struct'] = type_.Type.Struct; | ||
type_.Type['Union'] = type_.Type.Union; | ||
type_.Type['FixedSizeBinary'] = type_.Type.FixedSizeBinary; | ||
type_.Type['FixedSizeList'] = type_.Type.FixedSizeList; | ||
type_.Type['Map'] = type_.Type.Map; | ||
type_.Type['Dictionary'] = type_.Type.Dictionary; | ||
type_.Type['DenseUnion'] = type_.Type.DenseUnion; | ||
type_.Type['SparseUnion'] = type_.Type.SparseUnion; | ||
type_.DataType['isNull'] = type_.DataType.isNull; | ||
type_.DataType['isInt'] = type_.DataType.isInt; | ||
type_.DataType['isFloat'] = type_.DataType.isFloat; | ||
type_.DataType['isBinary'] = type_.DataType.isBinary; | ||
type_.DataType['isUtf8'] = type_.DataType.isUtf8; | ||
type_.DataType['isBool'] = type_.DataType.isBool; | ||
type_.DataType['isDecimal'] = type_.DataType.isDecimal; | ||
type_.DataType['isDate'] = type_.DataType.isDate; | ||
type_.DataType['isTime'] = type_.DataType.isTime; | ||
type_.DataType['isTimestamp'] = type_.DataType.isTimestamp; | ||
type_.DataType['isInterval'] = type_.DataType.isInterval; | ||
type_.DataType['isList'] = type_.DataType.isList; | ||
type_.DataType['isStruct'] = type_.DataType.isStruct; | ||
type_.DataType['isUnion'] = type_.DataType.isUnion; | ||
type_.DataType['isDenseUnion'] = type_.DataType.isDenseUnion; | ||
type_.DataType['isSparseUnion'] = type_.DataType.isSparseUnion; | ||
type_.DataType['isFixedSizeBinary'] = type_.DataType.isFixedSizeBinary; | ||
type_.DataType['isFixedSizeList'] = type_.DataType.isFixedSizeList; | ||
type_.DataType['isMap'] = type_.DataType.isMap; | ||
type_.DataType['isDictionary'] = type_.DataType.isDictionary; | ||
vector_.BoolVector['from'] = vector_.BoolVector.from; | ||
vector_.IntVector['from'] = vector_.IntVector.from; | ||
vector_.FloatVector['from'] = vector_.FloatVector.from; | ||
visitor_.TypeVisitor['visitTypeInline'] = visitor_.TypeVisitor.visitTypeInline; | ||
visitor_.VectorVisitor['visitTypeInline'] = visitor_.VectorVisitor.visitTypeInline; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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LEdBQUcsV0FBVyxDQUFDO1FBQ25DLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDbkMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUNyQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUNyQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUNyQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGFBQWEsQ0FBQztRQUN2QyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxhQUFhLENBQUM7UUFDdkMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGFBQWEsQ0FBQztRQUN2QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxlQUFlLENBQUM7UUFDM0MsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0MsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsbUJBQW1CLENBQUM7SUFDdkQsQ0FBQztBQUNMLENBQUM7QUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQTBCLENBQUM7QUFDeEMseUJBQXlCIiwiZmlsZSI6IkFycm93LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZVxuLy8gb3IgbW9yZSBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlXG4vLyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvblxuLy8gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZVxuLy8gdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZVxuLy8gXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4vLyB3aXRoIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4vL1xuLy8gICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbi8vXG4vLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsXG4vLyBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhblxuLy8gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcbi8vIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZVxuLy8gc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9uc1xuLy8gdW5kZXIgdGhlIExpY2Vuc2UuXG5cbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAnLi92ZWN0b3IvdGFibGUnO1xuaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi92ZWN0b3IvdmVjdG9yJztcbmltcG9ydCB7IFV0ZjhWZWN0b3IgfSBmcm9tICcuL3ZlY3Rvci91dGY4JztcbmltcG9ydCB7IERpY3Rpb25hcnlWZWN0b3IgfSBmcm9tICcuL3ZlY3Rvci9kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFN0cnVjdFZlY3RvciwgU3RydWN0Um93IH0gZnJvbSAnLi92ZWN0b3Ivc3RydWN0JztcbmltcG9ydCB7IHJlYWRWZWN0b3JzLCByZWFkVmVjdG9yc0FzeW5jIH0gZnJvbSAnLi9yZWFkZXIvYXJyb3cnO1xuaW1wb3J0IHsgTGlzdFZlY3RvciwgQmluYXJ5VmVjdG9yLCBGaXhlZFNpemVMaXN0VmVjdG9yIH0gZnJvbSAnLi92ZWN0b3IvbGlzdCc7XG5cbmltcG9ydCB7XG4gICAgQm9vbFZlY3RvcixcbiAgICBJbnQ4VmVjdG9yLFxuICAgIEludDE2VmVjdG9yLFxuICAgIEludDMyVmVjdG9yLFxuICAgIEludDY0VmVjdG9yLFxuICAgIFVpbnQ4VmVjdG9yLFxuICAgIFVpbnQxNlZlY3RvcixcbiAgICBVaW50MzJWZWN0b3IsXG4gICAgVWludDY0VmVjdG9yLFxuICAgIEZsb2F0MTZWZWN0b3IsXG4gICAgRmxvYXQzMlZlY3RvcixcbiAgICBGbG9hdDY0VmVjdG9yLFxuICAgIERhdGUzMlZlY3RvcixcbiAgICBEYXRlNjRWZWN0b3IsXG4gICAgVGltZTMyVmVjdG9yLFxuICAgIFRpbWU2NFZlY3RvcixcbiAgICBEZWNpbWFsVmVjdG9yLFxuICAgIFRpbWVzdGFtcFZlY3Rvcixcbn0gZnJvbSAnLi92ZWN0b3IvbnVtZXJpYyc7XG5cbmV4cG9ydCB7IFRhYmxlLCBWZWN0b3IsIFN0cnVjdFJvdyB9O1xuZXhwb3J0IHsgcmVhZFZlY3RvcnMsIHJlYWRWZWN0b3JzQXN5bmMgfTtcbmV4cG9ydCB7IE51bWVyaWNWZWN0b3JDb25zdHJ1Y3RvciB9IGZyb20gJy4vdmVjdG9yL251bWVyaWMnO1xuZXhwb3J0IHsgTGlzdCwgVHlwZWRBcnJheSwgVHlwZWRBcnJheUNvbnN0cnVjdG9yIH0gZnJvbSAnLi92ZWN0b3IvdHlwZXMnO1xuZXhwb3J0IHtcbiAgICBCb29sVmVjdG9yLFxuICAgIExpc3RWZWN0b3IsXG4gICAgVXRmOFZlY3RvcixcbiAgICBJbnQ4VmVjdG9yLFxuICAgIEludDE2VmVjdG9yLFxuICAgIEludDMyVmVjdG9yLFxuICAgIEludDY0VmVjdG9yLFxuICAgIFVpbnQ4VmVjdG9yLFxuICAgIFVpbnQxNlZlY3RvcixcbiAgICBVaW50MzJWZWN0b3IsXG4gICAgVWludDY0VmVjdG9yLFxuICAgIERhdGUzMlZlY3RvcixcbiAgICBEYXRlNjRWZWN0b3IsXG4gICAgVGltZTMyVmVjdG9yLFxuICAgIFRpbWU2NFZlY3RvcixcbiAgICBCaW5hcnlWZWN0b3IsXG4gICAgU3RydWN0VmVjdG9yLFxuICAgIEZsb2F0MTZWZWN0b3IsXG4gICAgRmxvYXQzMlZlY3RvcixcbiAgICBGbG9hdDY0VmVjdG9yLFxuICAgIERlY2ltYWxWZWN0b3IsXG4gICAgVGltZXN0YW1wVmVjdG9yLFxuICAgIERpY3Rpb25hcnlWZWN0b3IsXG4gICAgRml4ZWRTaXplTGlzdFZlY3Rvcixcbn07XG5cbi8qIFRoZXNlIGV4cG9ydHMgYXJlIG5lZWRlZCBmb3IgdGhlIGNsb3N1cmUgdW1kIHRhcmdldHMgKi9cbnRyeSB7XG4gICAgY29uc3QgQXJyb3cgPSBldmFsKCdleHBvcnRzJyk7XG4gICAgaWYgKHR5cGVvZiBBcnJvdyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gc3RyaW5nIGluZGV4ZXJzIHRlbGwgY2xvc3VyZSBjb21waWxlciBub3QgdG8gcmVuYW1lIHRoZXNlIHByb3BlcnRpZXNcbiAgICAgICAgQXJyb3dbJ3JlYWRWZWN0b3JzJ10gPSByZWFkVmVjdG9ycztcbiAgICAgICAgQXJyb3dbJ3JlYWRWZWN0b3JzQXN5bmMnXSA9IHJlYWRWZWN0b3JzQXN5bmM7XG4gICAgICAgIEFycm93WydUYWJsZSddID0gVGFibGU7XG4gICAgICAgIEFycm93WydWZWN0b3InXSA9IFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1N0cnVjdFJvdyddID0gU3RydWN0Um93O1xuICAgICAgICBBcnJvd1snQm9vbFZlY3RvciddID0gQm9vbFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0xpc3RWZWN0b3InXSA9IExpc3RWZWN0b3I7XG4gICAgICAgIEFycm93WydVdGY4VmVjdG9yJ10gPSBVdGY4VmVjdG9yO1xuICAgICAgICBBcnJvd1snSW50OFZlY3RvciddID0gSW50OFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0ludDE2VmVjdG9yJ10gPSBJbnQxNlZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0ludDMyVmVjdG9yJ10gPSBJbnQzMlZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0ludDY0VmVjdG9yJ10gPSBJbnQ2NFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1VpbnQ4VmVjdG9yJ10gPSBVaW50OFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1VpbnQxNlZlY3RvciddID0gVWludDE2VmVjdG9yO1xuICAgICAgICBBcnJvd1snVWludDMyVmVjdG9yJ10gPSBVaW50MzJWZWN0b3I7XG4gICAgICAgIEFycm93WydVaW50NjRWZWN0b3InXSA9IFVpbnQ2NFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0RhdGUzMlZlY3RvciddID0gRGF0ZTMyVmVjdG9yO1xuICAgICAgICBBcnJvd1snRGF0ZTY0VmVjdG9yJ10gPSBEYXRlNjRWZWN0b3I7XG4gICAgICAgIEFycm93WydUaW1lMzJWZWN0b3InXSA9IFRpbWUzMlZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1RpbWU2NFZlY3RvciddID0gVGltZTY0VmVjdG9yO1xuICAgICAgICBBcnJvd1snQmluYXJ5VmVjdG9yJ10gPSBCaW5hcnlWZWN0b3I7XG4gICAgICAgIEFycm93WydTdHJ1Y3RWZWN0b3InXSA9IFN0cnVjdFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0Zsb2F0MTZWZWN0b3InXSA9IEZsb2F0MTZWZWN0b3I7XG4gICAgICAgIEFycm93WydGbG9hdDMyVmVjdG9yJ10gPSBGbG9hdDMyVmVjdG9yO1xuICAgICAgICBBcnJvd1snRmxvYXQ2NFZlY3RvciddID0gRmxvYXQ2NFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0RlY2ltYWxWZWN0b3InXSA9IERlY2ltYWxWZWN0b3I7XG4gICAgICAgIEFycm93WydUaW1lc3RhbXBWZWN0b3InXSA9IFRpbWVzdGFtcFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0RpY3Rpb25hcnlWZWN0b3InXSA9IERpY3Rpb25hcnlWZWN0b3I7XG4gICAgICAgIEFycm93WydGaXhlZFNpemVMaXN0VmVjdG9yJ10gPSBGaXhlZFNpemVMaXN0VmVjdG9yO1xuICAgIH1cbn0gY2F0Y2ggKGUpIHsgLyogbm90IHRoZSBVTUQgYnVuZGxlICovIH1cbi8qIGVuZCBjbG9zdXJlIGV4cG9ydHMgKi9cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUM7SUFDNUIsZ0JBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQzlCLGtCQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztJQUNsQyxtQkFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDcEMscUJBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0FBQzFELENBQUMsRUFWZ0IsS0FBSyxLQUFMLEtBQUssUUFVckI7QUFFRCxNQUFNLEtBQVcsSUFBSSxDQWtDcEI7QUFsQ0QsV0FBaUIsSUFBSTtJQUNILFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFFBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2hCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFlBQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3hCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFNBQUksR0FBRyxLQUFL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QVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQ2pELEtBQUssQ0FBQyxJQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDN0MsS0FBSyxDQUFDLElBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM3QyxLQUFLLENBQUMsSUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ25ELEtBQUssQ0FBQyxJQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDN0MsS0FBSyxDQUFDLElBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM3QyxLQUFLLENBQUMsSUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0FBQ3ZELEtBQUssQ0FBQyxJQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDckQsS0FBSyxDQUFDLElBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM3QyxLQUFLLENBQUMsSUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQ2pELEtBQUssQ0FBQyxJQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDL0MsS0FBSyxDQUFDLElBQVksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0FBQ25FLEtBQUssQ0FBQyxJQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7QUFD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QUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0FBQ25ELE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7QUFFdkQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO0FBQy9FLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyIsImZpbGUiOiJBcnJvdy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgKiBhcyB0eXBlXyBmcm9tICcuL3R5cGUnO1xuaW1wb3J0ICogYXMgZGF0YV8gZnJvbSAnLi9kYXRhJztcbmltcG9ydCAqIGFzIHZlY3Rvcl8gZnJvbSAnLi92ZWN0b3InO1xuaW1wb3J0ICogYXMgdXRpbF8gZnJvbSAnLi91dGlsL2ludCc7XG5pbXBvcnQgKiBhcyB2aXNpdG9yXyBmcm9tICcuL3Zpc2l0b3InO1xuaW1wb3J0ICogYXMgdmlld18gZnJvbSAnLi92ZWN0b3Ivdmlldyc7XG5pbXBvcnQgKiBhcyBwcmVkaWNhdGVfIGZyb20gJy4vcHJlZGljYXRlJztcbmltcG9ydCB7IFZlY3RvciB9IGZyb20gJy4vdmVjdG9yJztcbmltcG9ydCB7IFJlY29yZEJhdGNoIH0gZnJvbSAnLi9yZWNvcmRiYXRjaCc7XG5pbXBvcnQgeyBTY2hlbWEsIEZpZWxkLCBUeXBlIH0gZnJvbSAnLi90eXBlJztcbmltcG9ydCB7IFRhYmxlLCBEYXRhRnJhbWUsIE5leHRGdW5jLCBCaW5kRnVuYywgQ291bnRCeVJlc3VsdCB9IGZyb20gJy4vdGFibGUnO1xuaW1wb3J0IHsgcmVhZCwgcmVhZEFzeW5jIH0gZnJvbSAnLi9pcGMvcmVhZGVyL2Fycm93JztcblxuZXhwb3J0IGltcG9ydCBWaWV3ID0gdmVjdG9yXy5WaWV3O1xuZXhwb3J0IGltcG9ydCBWZWN0b3JMaWtlID0gdmVjdG9yXy5WZWN0b3JMaWtlO1xuZXhwb3J0IGltcG9ydCBUeXBlZEFycmF5ID0gdHlwZV8uVHlwZWRBcnJheTtcbmV4cG9ydCBpbXBvcnQgSW50Qml0V2lkdGggPSB0eXBlXy5JbnRCaXRXaWR0aDtcbmV4cG9ydCBpbXBvcnQgVGltZUJpdFdpZHRoID0gdHlwZV8uVGltZUJpdFdpZHRoO1xuZXhwb3J0IGltcG9ydCBUeXBlZEFycmF5Q29uc3RydWN0b3IgPSB0eXBlXy5UeXBlZEFycmF5Q29uc3RydWN0b3I7XG5cbmV4cG9ydCB7IHJlYWQsIHJlYWRBc3luYyB9O1xuZXhwb3J0IHsgVGFibGUsIERhdGFGcmFtZSwgTmV4dEZ1bmMsIEJpbmRGdW5jLCBDb3VudEJ5UmVzdWx0IH07XG5leHBvcnQgeyBGaWVsZCwgU2NoZW1hLCBSZWNvcmRCYXRjaCwgVmVjdG9yLCBUeXBlIH07XG5cbmV4cG9ydCBuYW1lc3BhY2UgdXRpbCB7XG4gICAgZXhwb3J0IGltcG9ydCBVaW50NjQgPSB1dGlsXy5VaW50NjQ7XG4gICAgZXhwb3J0IGltcG9ydCBJbnQ2NCA9IHV0aWxfLkludDY0O1xuICAgIGV4cG9ydCBpbXBvcnQgSW50MTI4ID0gdXRpbF8uSW50MTI4O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIGRhdGEge1xuICAgIGV4cG9ydCBpbXBvcnQgQmFzZURhdGEgPSBkYXRhXy5CYXNlRGF0YTtcbiAgICBleHBvcnQgaW1wb3J0IEZsYXREYXRhID0gZGF0YV8uRmxhdERhdGE7XG4gICAgZXhwb3J0IGltcG9ydCBCb29sRGF0YSA9IGRhdGFfLkJvb2xEYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgRmxhdExpc3REYXRhID0gZGF0YV8uRmxhdExpc3REYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgRGljdGlvbmFyeURhdGEgPSBkYXRhXy5EaWN0aW9uYXJ5RGF0YTtcbiAgICBleHBvcnQgaW1wb3J0IE5lc3RlZERhdGEgPSBkYXRhXy5OZXN0ZWREYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgTGlzdERhdGEgPSBkYXRhXy5MaXN0RGF0YTtcbiAgICBleHBvcnQgaW1wb3J0IFVuaW9uRGF0YSA9IGRhdGFfLlVuaW9uRGF0YTtcbiAgICBleHBvcnQgaW1wb3J0IFNwYXJzZVVuaW9uRGF0YSA9IGRhdGFfLlNwYXJzZVVuaW9uRGF0YTtcbiAgICBleHBvcnQgaW1wb3J0IERlbnNlVW5pb25EYXRhID0gZGF0YV8uRGVuc2VVbmlvbkRhdGE7XG4gICAgZXhwb3J0IGltcG9ydCBDaHVua2VkRGF0YSA9IGRhdGFfLkNodW5rZWREYXRhO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIGVudW1fIHtcbiAgICBleHBvcnQgaW1wb3J0IFR5cGUgPSB0eXBlXy5BcnJvd1R5cGU7XG4gICAgZXhwb3J0IGltcG9ydCBEYXRlVW5pdCA9IHR5cGVfLkRhdGVVbml0O1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZVVuaXQgPSB0eXBlXy5UaW1lVW5pdDtcbiAgICBleHBvcnQgaW1wb3J0IFByZWNpc2lvbiA9IHR5cGVfLlByZWNpc2lvbjtcbiAgICBleHBvcnQgaW1wb3J0IFVuaW9uTW9kZSA9IHR5cGVfLlVuaW9uTW9kZTtcbiAgICBleHBvcnQgaW1wb3J0IFZlY3RvclR5cGUgPSB0eXBlXy5WZWN0b3JUeXBlO1xuICAgIGV4cG9ydCBpbXBvcnQgSW50ZXJ2YWxVbml0ID0gdHlwZV8uSW50ZXJ2YWxVbml0O1xuICAgIGV4cG9ydCBpbXBvcnQgTWVzc2FnZUhlYWRlciA9IHR5cGVfLk1lc3NhZ2VIZWFkZXI7XG4gICAgZXhwb3J0IGltcG9ydCBNZXRhZGF0YVZlcnNpb24gPSB0eXBlXy5NZXRhZGF0YVZlcnNpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdHlwZSB7XG4gICAgZXhwb3J0IGltcG9ydCBTY2hlbWEgPSB0eXBlXy5TY2hlbWE7XG4gICAgZXhwb3J0IGltcG9ydCBGaWVsZCA9IHR5cGVfLkZpZWxkO1xuICAgIGV4cG9ydCBpbXBvcnQgTnVsbCA9IHR5cGVfLk51bGw7XG4gICAgZXhwb3J0IGltcG9ydCBJbnQgPSB0eXBlXy5JbnQ7XG4gICAgZXhwb3J0IGltcG9ydCBJbnQ4ID0gdHlwZV8uSW50ODtcbiAgICBleHBvcnQgaW1wb3J0IEludDE2ID0gdHlwZV8uSW50MTY7XG4gICAgZXhwb3J0IGltcG9ydCBJbnQzMiA9IHR5cGVfLkludDMyO1xuICAgIGV4cG9ydCBpbXBvcnQgSW50NjQgPSB0eXBlXy5JbnQ2NDtcbiAgICBleHBvcnQgaW1wb3J0IFVpbnQ4ID0gdHlwZV8uVWludDg7XG4gICAgZXhwb3J0IGltcG9ydCBVaW50MTYgPSB0eXBlXy5VaW50MTY7XG4gICAgZXhwb3J0IGltcG9ydCBVaW50MzIgPSB0eXBlXy5VaW50MzI7XG4gICAgZXhwb3J0IGltcG9ydCBVaW50NjQgPSB0eXBlXy5VaW50NjQ7XG4gICAgZXhwb3J0IGltcG9ydCBGbG9hdCA9IHR5cGVfLkZsb2F0O1xuICAgIGV4cG9ydCBpbXBvcnQgRmxvYXQxNiA9IHR5cGVfLkZsb2F0MTY7XG4gICAgZXhwb3J0IGltcG9ydCBGbG9hdDMyID0gdHlwZV8uRmxvYXQzMjtcbiAgICBleHBvcnQgaW1wb3J0IEZsb2F0NjQgPSB0eXBlXy5GbG9hdDY0O1xuICAgIGV4cG9ydCBpbXBvcnQgQmluYXJ5ID0gdHlwZV8uQmluYXJ5O1xuICAgIGV4cG9ydCBpbXBvcnQgVXRmOCA9IHR5cGVfLlV0Zjg7XG4gICAgZXhwb3J0IGltcG9ydCBCb29sID0gdHlwZV8uQm9vbDtcbiAgICBleHBvcnQgaW1wb3J0IERlY2ltYWwgPSB0eXBlXy5EZWNpbWFsO1xuICAgIGV4cG9ydCBpbXBvcnQgRGF0ZV8gPSB0eXBlXy5EYXRlXztcbiAgICBleHBvcnQgaW1wb3J0IFRpbWUgPSB0eXBlXy5UaW1lO1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZXN0YW1wID0gdHlwZV8uVGltZXN0YW1wO1xuICAgIGV4cG9ydCBpbXBvcnQgSW50ZXJ2YWwgPSB0eXBlXy5JbnRlcnZhbDtcbiAgICBleHBvcnQgaW1wb3J0IExpc3QgPSB0eXBlXy5MaXN0O1xuICAgIGV4cG9ydCBpbXBvcnQgU3RydWN0ID0gdHlwZV8uU3RydWN0O1xuICAgIGV4cG9ydCBpbXBvcnQgVW5pb24gPSB0eXBlXy5VbmlvbjtcbiAgICBleHBvcnQgaW1wb3J0IERlbnNlVW5pb24gPSB0eXBlXy5EZW5zZVVuaW9uO1xuICAgIGV4cG9ydCBpbXBvcnQgU3BhcnNlVW5pb24gPSB0eXBlXy5TcGFyc2VVbmlvbjtcbiAgICBleHBvcnQgaW1wb3J0IEZpeGVkU2l6ZUJpbmFyeSA9IHR5cGVfLkZpeGVkU2l6ZUJpbmFyeTtcbiAgICBleHBvcnQgaW1wb3J0IEZpeGVkU2l6ZUxpc3QgPSB0eXBlXy5GaXhlZFNpemVMaXN0O1xuICAgIGV4cG9ydCBpbXBvcnQgTWFwXyA9IHR5cGVfLk1hcF87XG4gICAgZXhwb3J0IGltcG9ydCBEaWN0aW9uYXJ5ID0gdHlwZV8uRGljdGlvbmFyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB2ZWN0b3Ige1xuICAgIGV4cG9ydCBpbXBvcnQgVmVjdG9yID0gdmVjdG9yXy5WZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBOdWxsVmVjdG9yID0gdmVjdG9yXy5OdWxsVmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgQm9vbFZlY3RvciA9IHZlY3Rvcl8uQm9vbFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IEludFZlY3RvciA9IHZlY3Rvcl8uSW50VmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgRmxvYXRWZWN0b3IgPSB2ZWN0b3JfLkZsb2F0VmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgRGF0ZVZlY3RvciA9IHZlY3Rvcl8uRGF0ZVZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IERlY2ltYWxWZWN0b3IgPSB2ZWN0b3JfLkRlY2ltYWxWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBUaW1lVmVjdG9yID0gdmVjdG9yXy5UaW1lVmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZXN0YW1wVmVjdG9yID0gdmVjdG9yXy5UaW1lc3RhbXBWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBJbnRlcnZhbFZlY3RvciA9IHZlY3Rvcl8uSW50ZXJ2YWxWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBCaW5hcnlWZWN0b3IgPSB2ZWN0b3JfLkJpbmFyeVZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IEZpeGVkU2l6ZUJpbmFyeVZlY3RvciA9IHZlY3Rvcl8uRml4ZWRTaXplQmluYXJ5VmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgVXRmOFZlY3RvciA9IHZlY3Rvcl8uVXRmOFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IExpc3RWZWN0b3IgPSB2ZWN0b3JfLkxpc3RWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBGaXhlZFNpemVMaXN0VmVjdG9yID0gdmVjdG9yXy5GaXhlZFNpemVMaXN0VmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgTWFwVmVjdG9yID0gdmVjdG9yXy5NYXBWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBTdHJ1Y3RWZWN0b3IgPSB2ZWN0b3JfLlN0cnVjdFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IFVuaW9uVmVjdG9yID0gdmVjdG9yXy5VbmlvblZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IERpY3Rpb25hcnlWZWN0b3IgPSB2ZWN0b3JfLkRpY3Rpb25hcnlWZWN0b3I7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdmlzaXRvciB7XG4gICAgZXhwb3J0IGltcG9ydCBUeXBlVmlzaXRvciA9IHZpc2l0b3JfLlR5cGVWaXNpdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgVmVjdG9yVmlzaXRvciA9IHZpc2l0b3JfLlZlY3RvclZpc2l0b3I7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgdmlldyB7XG4gICAgZXhwb3J0IGltcG9ydCBDaHVua2VkVmlldyA9IHZpZXdfLkNodW5rZWRWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgRGljdGlvbmFyeVZpZXcgPSB2aWV3Xy5EaWN0aW9uYXJ5VmlldztcbiAgICBleHBvcnQgaW1wb3J0IExpc3RWaWV3ID0gdmlld18uTGlzdFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBGaXhlZFNpemVMaXN0VmlldyA9IHZpZXdfLkZpeGVkU2l6ZUxpc3RWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgQmluYXJ5VmlldyA9IHZpZXdfLkJpbmFyeVZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBVdGY4VmlldyA9IHZpZXdfLlV0ZjhWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgVW5pb25WaWV3ID0gdmlld18uVW5pb25WaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgRGVuc2VVbmlvblZpZXcgPSB2aWV3Xy5EZW5zZVVuaW9uVmlldztcbiAgICBleHBvcnQgaW1wb3J0IE5lc3RlZFZpZXcgPSB2aWV3Xy5OZXN0ZWRWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgU3RydWN0VmlldyA9IHZpZXdfLlN0cnVjdFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBNYXBWaWV3ID0gdmlld18uTWFwVmlldztcbiAgICBleHBvcnQgaW1wb3J0IEZsYXRWaWV3ID0gdmlld18uRmxhdFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBOdWxsVmlldyA9IHZpZXdfLk51bGxWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgQm9vbFZpZXcgPSB2aWV3Xy5Cb29sVmlldztcbiAgICBleHBvcnQgaW1wb3J0IFZhbGlkaXR5VmlldyA9IHZpZXdfLlZhbGlkaXR5VmlldztcbiAgICBleHBvcnQgaW1wb3J0IFByaW1pdGl2ZVZpZXcgPSB2aWV3Xy5QcmltaXRpdmVWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgRml4ZWRTaXplVmlldyA9IHZpZXdfLkZpeGVkU2l6ZVZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBGbG9hdDE2VmlldyA9IHZpZXdfLkZsb2F0MTZWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgRGF0ZURheVZpZXcgPSB2aWV3Xy5EYXRlRGF5VmlldztcbiAgICBleHBvcnQgaW1wb3J0IERhdGVNaWxsaXNlY29uZFZpZXcgPSB2aWV3Xy5EYXRlTWlsbGlzZWNvbmRWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZXN0YW1wRGF5VmlldyA9IHZpZXdfLlRpbWVzdGFtcERheVZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBUaW1lc3RhbXBTZWNvbmRWaWV3ID0gdmlld18uVGltZXN0YW1wU2Vjb25kVmlldztcbiAgICBleHBvcnQgaW1wb3J0IFRpbWVzdGFtcE1pbGxpc2Vjb25kVmlldyA9IHZpZXdfLlRpbWVzdGFtcE1pbGxpc2Vjb25kVmlldztcbiAgICBleHBvcnQgaW1wb3J0IFRpbWVzdGFtcE1pY3Jvc2Vjb25kVmlldyA9IHZpZXdfLlRpbWVzdGFtcE1pY3Jvc2Vjb25kVmlldztcbiAgICBleHBvcnQgaW1wb3J0IFRpbWVzdGFtcE5hbm9zZWNvbmRWaWV3ID0gdmlld18uVGltZXN0YW1wTmFub3NlY29uZFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBJbnRlcnZhbFllYXJNb250aFZpZXcgPSB2aWV3Xy5JbnRlcnZhbFllYXJNb250aFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBJbnRlcnZhbFllYXJWaWV3ID0gdmlld18uSW50ZXJ2YWxZZWFyVmlldztcbiAgICBleHBvcnQgaW1wb3J0IEludGVydmFsTW9udGhWaWV3ID0gdmlld18uSW50ZXJ2YWxNb250aFZpZXc7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgcHJlZGljYXRlIHtcbiAgICBleHBvcnQgaW1wb3J0IGNvbCA9IHByZWRpY2F0ZV8uY29sO1xuICAgIGV4cG9ydCBpbXBvcnQgbGl0ID0gcHJlZGljYXRlXy5saXQ7XG4gICAgZXhwb3J0IGltcG9ydCBjdXN0b20gPSBwcmVkaWNhdGVfLmN1c3RvbTtcblxuICAgIGV4cG9ydCBpbXBvcnQgT3IgPSBwcmVkaWNhdGVfLk9yO1xuICAgIGV4cG9ydCBpbXBvcnQgQ29sID0gcHJlZGljYXRlXy5Db2w7XG4gICAgZXhwb3J0IGltcG9ydCBBbmQgPSBwcmVkaWNhdGVfLkFuZDtcbiAgICBleHBvcnQgaW1wb3J0IEdUZXEgPSBwcmVkaWNhdGVfLkdUZXE7XG4gICAgZXhwb3J0IGltcG9ydCBMVGVxID0gcHJlZGljYXRlXy5MVGVxO1xuICAgIGV4cG9ydCBpbXBvcnQgVmFsdWUgPSBwcmVkaWNhdGVfLlZhbHVlO1xuICAgIGV4cG9ydCBpbXBvcnQgRXF1YWxzID0gcHJlZGljYXRlXy5FcXVhbHM7XG4gICAgZXhwb3J0IGltcG9ydCBMaXRlcmFsID0gcHJlZGljYXRlXy5MaXRlcmFsO1xuICAgIGV4cG9ydCBpbXBvcnQgUHJlZGljYXRlID0gcHJlZGljYXRlXy5QcmVkaWNhdGU7XG5cbiAgICBleHBvcnQgaW1wb3J0IFByZWRpY2F0ZUZ1bmMgPSBwcmVkaWNhdGVfLlByZWRpY2F0ZUZ1bmM7XG59XG5cbi8qIFRoZXNlIGV4cG9ydHMgYXJlIG5lZWRlZCBmb3IgdGhlIGNsb3N1cmUgYW5kIHVnbGlmeSB1bWQgdGFyZ2V0cyAqL1xudHJ5IHtcbiAgICBsZXQgQXJyb3c6IGFueSA9IGV2YWwoJ2V4cG9ydHMnKTtcbiAgICBpZiAoQXJyb3cgJiYgdHlwZW9mIEFycm93ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyBzdHJpbmcgaW5kZXhlcnMgdGVsbCBjbG9zdXJlIGFuZCB1Z2xpZnkgbm90IHRvIHJlbmFtZSB0aGVzZSBwcm9wZXJ0aWVzXG4gICAgICAgIEFycm93WydkYXRhJ10gPSBkYXRhO1xuICAgICAgICBBcnJvd1sndHlwZSddID0gdHlwZTtcbiAgICAgICAgQXJyb3dbJ3V0aWwnXSA9IHV0aWw7XG4gICAgICAgIEFycm93Wyd2aWV3J10gPSB2aWV3O1xuICAgICAgICBBcnJvd1snZW51bV8nXSA9IGVudW1fO1xuICAgICAgICBBcnJvd1sndmVjdG9yJ10gPSB2ZWN0b3I7XG4gICAgICAgIEFycm93Wyd2aXNpdG9yJ10gPSB2aXNpdG9yO1xuICAgICAgICBBcnJvd1sncHJlZGljYXRlJ10gPSBwcmVkaWNhdGU7XG5cbiAgICAgICAgQXJyb3dbJ3JlYWQnXSA9IHJlYWQ7XG4gICAgICAgIEFycm93WydyZWFkQXN5bmMnXSA9IHJlYWRBc3luYztcblxuICAgICAgICBBcnJvd1snVHlwZSddID0gVHlwZTtcbiAgICAgICAgQXJyb3dbJ0ZpZWxkJ10gPSBGaWVsZDtcbiAgICAgICAgQXJyb3dbJ1NjaGVtYSddID0gU2NoZW1hO1xuICAgICAgICBBcnJvd1snVmVjdG9yJ10gPSBWZWN0b3I7XG4gICAgICAgIEFycm93WydSZWNvcmRCYXRjaCddID0gUmVjb3JkQmF0Y2g7XG5cbiAgICAgICAgQXJyb3dbJ1RhYmxlJ10gPSBUYWJsZTtcbiAgICAgICAgQXJyb3dbJ0NvdW50QnlSZXN1bHQnXSA9IENvdW50QnlSZXN1bHQ7XG4gICAgfVxufSBjYXRjaCAoZSkgeyAvKiBub3QgdGhlIFVNRCBidW5kbGUgKi8gfVxuLyogZW5kIHVtZCBleHBvcnRzICovXG5cbi8vIGNsb3N1cmUgY29tcGlsZXIgZXJhc2VzIHN0YXRpYyBwcm9wZXJ0aWVzL21ldGhvZHM6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtY29tcGlsZXIvaXNzdWVzLzE3NzZcbi8vIHNldCB0aGVtIHZpYSBzdHJpbmcgaW5kZXhlcnMgdG8gc2F2ZSB0aGVtIGZyb20gdGhlIG1hbmdsZXJcblNjaGVtYVsnZnJvbSddID0gU2NoZW1hLmZyb207XG5UYWJsZVsnZnJvbSddID0gVGFibGUuZnJvbTtcblRhYmxlWydmcm9tQXN5bmMnXSA9IFRhYmxlLmZyb21Bc3luYztcblRhYmxlWydlbXB0eSddID0gVGFibGUuZW1wdHk7XG5WZWN0b3JbJ2NyZWF0ZSddID0gVmVjdG9yLmNyZWF0ZTtcblJlY29yZEJhdGNoWydmcm9tJ10gPSBSZWNvcmRCYXRjaC5mcm9tO1xuXG51dGlsXy5VaW50NjRbJ2FkZCddID0gdXRpbF8uVWludDY0LmFkZDtcbnV0aWxfLlVpbnQ2NFsnbXVsdGlwbHknXSA9IHV0aWxfLlVpbnQ2NC5tdWx0aXBseTtcblxudXRpbF8uSW50NjRbJ2FkZCddID0gdXRpbF8uSW50NjQuYWRkO1xudXRpbF8uSW50NjRbJ211bHRpcGx5J10gPSB1dGlsXy5JbnQ2NC5tdWx0aXBseTtcbnV0aWxfLkludDY0Wydmcm9tU3RyaW5nJ10gPSB1dGlsXy5JbnQ2NC5mcm9tU3RyaW5nO1xuXG51dGlsXy5JbnQxMjhbJ2FkZCddID0gdXRpbF8uSW50MTI4LmFkZDtcbnV0aWxfLkludDEyOFsnbXVsdGlwbHknXSA9IHV0aWxfLkludDEyOC5tdWx0aXBseTtcbnV0aWxfLkludDEyOFsnZnJvbVN0cmluZyddID0gdXRpbF8uSW50MTI4LmZyb21TdHJpbmc7XG5cbmRhdGFfLkNodW5rZWREYXRhWydjb21wdXRlT2Zmc2V0cyddID0gZGF0YV8uQ2h1bmtlZERhdGEuY29tcHV0ZU9mZnNldHM7XG5cbih0eXBlXy5UeXBlIGFzIGFueSlbJ05PTkUnXSA9IHR5cGVfLlR5cGUuTk9ORTtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ051bGwnXSA9IHR5cGVfLlR5cGUuTnVsbDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0ludCddID0gdHlwZV8uVHlwZS5JbnQ7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydGbG9hdCddID0gdHlwZV8uVHlwZS5GbG9hdDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0JpbmFyeSddID0gdHlwZV8uVHlwZS5CaW5hcnk7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydVdGY4J10gPSB0eXBlXy5UeXBlLlV0Zjg7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydCb29sJ10gPSB0eXBlXy5UeXBlLkJvb2w7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydEZWNpbWFsJ10gPSB0eXBlXy5UeXBlLkRlY2ltYWw7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydEYXRlJ10gPSB0eXBlXy5UeXBlLkRhdGU7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydUaW1lJ10gPSB0eXBlXy5UeXBlLlRpbWU7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydUaW1lc3RhbXAnXSA9IHR5cGVfLlR5cGUuVGltZXN0YW1wO1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnSW50ZXJ2YWwnXSA9IHR5cGVfLlR5cGUuSW50ZXJ2YWw7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydMaXN0J10gPSB0eXBlXy5UeXBlLkxpc3Q7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydTdHJ1Y3QnXSA9IHR5cGVfLlR5cGUuU3RydWN0O1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnVW5pb24nXSA9IHR5cGVfLlR5cGUuVW5pb247XG4odHlwZV8uVHlwZSBhcyBhbnkpWydGaXhlZFNpemVCaW5hcnknXSA9IHR5cGVfLlR5cGUuRml4ZWRTaXplQmluYXJ5O1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnRml4ZWRTaXplTGlzdCddID0gdHlwZV8uVHlwZS5GaXhlZFNpemVMaXN0O1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnTWFwJ10gPSB0eXBlXy5UeXBlLk1hcDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0RpY3Rpb25hcnknXSA9IHR5cGVfLlR5cGUuRGljdGlvbmFyeTtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0RlbnNlVW5pb24nXSA9IHR5cGVfLlR5cGUuRGVuc2VVbmlvbjtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ1NwYXJzZVVuaW9uJ10gPSB0eXBlXy5UeXBlLlNwYXJzZVVuaW9uO1xuXG50eXBlXy5EYXRhVHlwZVsnaXNOdWxsJ10gPSB0eXBlXy5EYXRhVHlwZS5pc051bGw7XG50eXBlXy5EYXRhVHlwZVsnaXNJbnQnXSA9IHR5cGVfLkRhdGFUeXBlLmlzSW50O1xudHlwZV8uRGF0YVR5cGVbJ2lzRmxvYXQnXSA9IHR5cGVfLkRhdGFUeXBlLmlzRmxvYXQ7XG50eXBlXy5EYXRhVHlwZVsnaXNCaW5hcnknXSA9IHR5cGVfLkRhdGFUeXBlLmlzQmluYXJ5O1xudHlwZV8uRGF0YVR5cGVbJ2lzVXRmOCddID0gdHlwZV8uRGF0YVR5cGUuaXNVdGY4O1xudHlwZV8uRGF0YVR5cGVbJ2lzQm9vbCddID0gdHlwZV8uRGF0YVR5cGUuaXNCb29sO1xudHlwZV8uRGF0YVR5cGVbJ2lzRGVjaW1hbCddID0gdHlwZV8uRGF0YVR5cGUuaXNEZWNpbWFsO1xudHlwZV8uRGF0YVR5cGVbJ2lzRGF0ZSddID0gdHlwZV8uRGF0YVR5cGUuaXNEYXRlO1xudHlwZV8uRGF0YVR5cGVbJ2lzVGltZSddID0gdHlwZV8uRGF0YVR5cGUuaXNUaW1lO1xudHlwZV8uRGF0YVR5cGVbJ2lzVGltZXN0YW1wJ10gPSB0eXBlXy5EYXRhVHlwZS5pc1RpbWVzdGFtcDtcbnR5cGVfLkRhdGFUeXBlWydpc0ludGVydmFsJ10gPSB0eXBlXy5EYXRhVHlwZS5pc0ludGVydmFsO1xudHlwZV8uRGF0YVR5cGVbJ2lzTGlzdCddID0gdHlwZV8uRGF0YVR5cGUuaXNMaXN0O1xudHlwZV8uRGF0YVR5cGVbJ2lzU3RydWN0J10gPSB0eXBlXy5EYXRhVHlwZS5pc1N0cnVjdDtcbnR5cGVfLkRhdGFUeXBlWydpc1VuaW9uJ10gPSB0eXBlXy5EYXRhVHlwZS5pc1VuaW9uO1xudHlwZV8uRGF0YVR5cGVbJ2lzRGVuc2VVbmlvbiddID0gdHlwZV8uRGF0YVR5cGUuaXNEZW5zZVVuaW9uO1xudHlwZV8uRGF0YVR5cGVbJ2lzU3BhcnNlVW5pb24nXSA9IHR5cGVfLkRhdGFUeXBlLmlzU3BhcnNlVW5pb247XG50eXBlXy5EYXRhVHlwZVsnaXNGaXhlZFNpemVCaW5hcnknXSA9IHR5cGVfLkRhdGFUeXBlLmlzRml4ZWRTaXplQmluYXJ5O1xudHlwZV8uRGF0YVR5cGVbJ2lzRml4ZWRTaXplTGlzdCddID0gdHlwZV8uRGF0YVR5cGUuaXNGaXhlZFNpemVMaXN0O1xudHlwZV8uRGF0YVR5cGVbJ2lzTWFwJ10gPSB0eXBlXy5EYXRhVHlwZS5pc01hcDtcbnR5cGVfLkRhdGFUeXBlWydpc0RpY3Rpb25hcnknXSA9IHR5cGVfLkRhdGFUeXBlLmlzRGljdGlvbmFyeTtcblxudmVjdG9yXy5Cb29sVmVjdG9yWydmcm9tJ10gPSB2ZWN0b3JfLkJvb2xWZWN0b3IuZnJvbTtcbnZlY3Rvcl8uSW50VmVjdG9yWydmcm9tJ10gPSB2ZWN0b3JfLkludFZlY3Rvci5mcm9tO1xudmVjdG9yXy5GbG9hdFZlY3RvclsnZnJvbSddID0gdmVjdG9yXy5GbG9hdFZlY3Rvci5mcm9tO1xuXG52aXNpdG9yXy5UeXBlVmlzaXRvclsndmlzaXRUeXBlSW5saW5lJ10gPSB2aXNpdG9yXy5UeXBlVmlzaXRvci52aXNpdFR5cGVJbmxpbmU7XG52aXNpdG9yXy5WZWN0b3JWaXNpdG9yWyd2aXNpdFR5cGVJbmxpbmUnXSA9IHZpc2l0b3JfLlZlY3RvclZpc2l0b3IudmlzaXRUeXBlSW5saW5lOyJdfQ== |
{ | ||
"name": "@apache-arrow/es2015-esm", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"main": "Arrow.js", | ||
"types": "Arrow.d.ts", | ||
"@std/esm": { | ||
"esm": "js" | ||
"esm": "js", | ||
"warnings": false, | ||
"sourceMap": true | ||
}, | ||
@@ -25,6 +27,15 @@ "license": "Apache-2.0", | ||
"dependencies": { | ||
"@types/flatbuffers": "1.6.5", | ||
"@types/node": "9.3.0", | ||
"@types/text-encoding-utf-8": "1.0.1", | ||
"command-line-args": "5.0.1", | ||
"command-line-usage": "4.1.0", | ||
"flatbuffers": "trxcllnt/flatbuffers-esm", | ||
"json-bignum": "0.0.3", | ||
"text-encoding-utf-8": "^1.0.2", | ||
"tslib": "^1.8.0" | ||
"tslib": "1.9.0" | ||
}, | ||
"bin": { | ||
"arrow2csv": "bin/arrow2csv.js" | ||
} | ||
} | ||
} |
@@ -25,3 +25,3 @@ <!--- | ||
Arrow is a set of technologies that enable big-data systems to process and transfer data quickly. | ||
Arrow is a set of technologies that enable big data systems to process and transfer data quickly. | ||
@@ -36,11 +36,6 @@ ## install [apache-arrow from npm](https://www.npmjs.com/package/apache-arrow) | ||
Apache Arrow is a columnar memory layout specification for encoding vectors and table-like containers of flat and nested data. The Arrow spec aligns columnar data in memory to minimize cache misses and take advantage of the latest SIMD (Single input multiple data) and GPU operations on modern processors. | ||
[Apache Arrow](https://github.com/apache/arrow) is a columnar memory layout specification for encoding vectors and table-like containers of flat and nested data. The Arrow spec aligns columnar data in memory to minimize cache misses and take advantage of the latest SIMD (Single input multiple data) and GPU operations on modern processors. | ||
Apache Arrow is the emerging standard for large in-memory columnar data ([Spark](https://spark.apache.org/), [Pandas](http://wesmckinney.com/blog/pandas-and-apache-arrow/), [Drill](https://drill.apache.org/), ...). By standardizing on a common binary interchange format, big data systems can reduce the costs and friction associated with cross-system communication. | ||
Apache Arrow is the emerging standard for large in-memory columnar data ([Spark](https://spark.apache.org/), [Pandas](http://wesmckinney.com/blog/pandas-and-apache-arrow/), [Drill](https://drill.apache.org/), [Graphistry](https://www.graphistry.com), ...). By standardizing on a common binary interchange format, big data systems can reduce the costs and friction associated with cross-system communication. | ||
# Related Projects | ||
* [GoAI](http://gpuopenanalytics.com/) -- Arrow-powered GPU analytics | ||
* [rxjs-mapd](https://github.com/graphistry/rxjs-mapd) -- A MapD Core node-driver that returns query results as Arrow columns | ||
# Usage | ||
@@ -188,3 +183,3 @@ | ||
```sh | ||
npm install apache-arrow # <-- combined es5/CommonJS + UMD, es2015/ESModules + UMD, and TypeScript package | ||
npm install apache-arrow # <-- combined es5/UMD, es2015/CommonJS/ESModules/UMD, and TypeScript package | ||
npm install @apache-arrow/ts # standalone TypeScript package | ||
@@ -208,2 +203,24 @@ npm install @apache-arrow/es5-cjs # standalone es5/CommonJS package | ||
# People | ||
Full list of broader Apache Arrow [committers](https://arrow.apache.org/committers/). | ||
* Brian Hulette, CCRi, _contributor_ | ||
* Paul Taylor, Graphistry, Inc., _committer_ | ||
# Powered By Apache Arrow in JS | ||
Full list of broader Apache Arrow [projects & organizations](https://github.com/apache/arrow/blob/master/site/powered_by.md). | ||
## Open Source Projects | ||
* [Apache Arrow](https://arrow.apache.org) -- Parent project for Powering Columnar In-Memory Analytics, including affiliated open source projects | ||
* [rxjs-mapd](https://github.com/graphistry/rxjs-mapd) -- A MapD Core node-driver that returns query results as Arrow columns | ||
## Companies & Organizations | ||
* [CCRi](http://www.ccri.com/) -- Commonwealth Computer Research Inc, or CCRi, is a Central Virginia based data science and software engineering company | ||
* [GOAI](http://gpuopenanalytics.com/) -- GPU Open Analytics Initiative standardizes on Arrow as part of creating common data frameworks that enable developers and statistical researchers to accelerate data science on GPUs | ||
* [Graphistry, Inc.](https://www.graphistry.com/) - An end-to-end GPU accelerated visual investigation platform used by teams for security, anti-fraud, and related investigations. Graphistry uses Arrow in its NodeJS GPU backend and client libraries, and is an early contributing member to GOAI and Arrow\[JS\] working to bring these technologies to the enterprise. | ||
# License | ||
@@ -216,2 +233,2 @@ | ||
[3]: https://issues.apache.org/jira/browse/ARROW | ||
[4]: https://github.com/apache/arrow | ||
[4]: https://github.com/apache/arrow |
@@ -1,15 +0,15 @@ | ||
import { Vector } from './vector'; | ||
export declare class DictionaryVector<T> extends Vector<T> { | ||
readonly length: number; | ||
readonly data: Vector<T>; | ||
readonly keys: Vector<number>; | ||
constructor(argv: { | ||
data: Vector<T>; | ||
keys: Vector<number>; | ||
}); | ||
get(index: number): T | null; | ||
getKey(index: number): number | null; | ||
getValue(key: number): T | null; | ||
concat(...vectors: Vector<T>[]): Vector<T>; | ||
[Symbol.iterator](): IterableIterator<T | null>; | ||
import { Data } from '../data'; | ||
import { View, Vector } from '../vector'; | ||
import { IterableArrayLike, DataType, Dictionary, Int } from '../type'; | ||
export declare class DictionaryView<T extends DataType> implements View<T> { | ||
indicies: Vector<Int>; | ||
dictionary: Vector<T>; | ||
constructor(dictionary: Vector<T>, indicies: Vector<Int>); | ||
clone(data: Data<Dictionary<T>>): this; | ||
isValid(index: number): boolean; | ||
get(index: number): T['TValue']; | ||
set(index: number, value: T['TValue']): void; | ||
toArray(): IterableArrayLike<T['TValue']>; | ||
[Symbol.iterator](): IterableIterator<T['TValue']>; | ||
indexOf(search: T['TValue']): number; | ||
} |
@@ -17,30 +17,39 @@ // Licensed to the Apache Software Foundation (ASF) under one | ||
// under the License. | ||
import { Vector } from './vector'; | ||
import { VirtualVector } from './virtual'; | ||
export class DictionaryVector extends Vector { | ||
constructor(argv) { | ||
super(); | ||
this.data = argv.data; | ||
this.keys = argv.keys; | ||
this.length = this.keys.length; | ||
export class DictionaryView { | ||
constructor(dictionary, indicies) { | ||
this.indicies = indicies; | ||
this.dictionary = dictionary; | ||
} | ||
clone(data) { | ||
return new DictionaryView(data.dictionary, this.indicies.clone(data.indicies)); | ||
} | ||
isValid(index) { | ||
return this.indicies.isValid(index); | ||
} | ||
get(index) { | ||
return this.getValue(this.getKey(index)); | ||
return this.dictionary.get(this.indicies.get(index)); | ||
} | ||
getKey(index) { | ||
return this.keys.get(index); | ||
set(index, value) { | ||
this.dictionary.set(this.indicies.get(index), value); | ||
} | ||
getValue(key) { | ||
return this.data.get(key); | ||
toArray() { | ||
return [...this]; | ||
} | ||
concat(...vectors) { | ||
return new VirtualVector(Array, this, ...vectors); | ||
} | ||
*[Symbol.iterator]() { | ||
for (let i = -1, n = this.length; ++i < n;) { | ||
yield this.get(i); | ||
const values = this.dictionary, indicies = this.indicies; | ||
for (let index = -1, n = indicies.length; ++index < n;) { | ||
yield values.get(indicies.get(index)); | ||
} | ||
} | ||
indexOf(search) { | ||
// First find the dictionary key for the desired value... | ||
const key = this.dictionary.indexOf(search); | ||
if (key === -1) { | ||
return key; | ||
} | ||
// ... then find the first occurence of that key in indicies | ||
return this.indicies.indexOf(key); | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlY3Rvci9kaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCwrREFBK0Q7QUFDL0Qsd0RBQXdEO0FBQ3hELDZEQUE2RDtBQUM3RCxvREFBb0Q7QUFDcEQsNkRBQTZEO0FBQzdELDZEQUE2RDtBQUM3RCxFQUFFO0FBQ0YsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiw2REFBNkQ7QUFDN0QsOERBQThEO0FBQzlELHlEQUF5RDtBQUN6RCw0REFBNEQ7QUFDNUQsMERBQTBEO0FBQzFELHFCQUFxQjtBQUVyQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsTUFBTSx1QkFBMkIsU0FBUSxNQUFTO0lBSTlDLFlBQVksSUFBK0M7UUFDdkQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUNELEdBQUcsQ0FBQyxLQUFhO1FBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBYTtRQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELFFBQVEsQ0FBQyxHQUFXO1FBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsT0FBb0I7UUFDMUIsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUN6QyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsImZpbGUiOiJ2ZWN0b3IvZGljdGlvbmFyeS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgeyBWZWN0b3IgfSBmcm9tICcuL3ZlY3Rvcic7XG5pbXBvcnQgeyBWaXJ0dWFsVmVjdG9yIH0gZnJvbSAnLi92aXJ0dWFsJztcblxuZXhwb3J0IGNsYXNzIERpY3Rpb25hcnlWZWN0b3I8VD4gZXh0ZW5kcyBWZWN0b3I8VD4ge1xuICAgIHJlYWRvbmx5IGxlbmd0aDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGRhdGE6IFZlY3RvcjxUPjtcbiAgICByZWFkb25seSBrZXlzOiBWZWN0b3I8bnVtYmVyPjtcbiAgICBjb25zdHJ1Y3Rvcihhcmd2OiB7IGRhdGE6IFZlY3RvcjxUPiwga2V5czogVmVjdG9yPG51bWJlcj4gfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRhdGEgPSBhcmd2LmRhdGE7XG4gICAgICAgIHRoaXMua2V5cyA9IGFyZ3Yua2V5cztcbiAgICAgICAgdGhpcy5sZW5ndGggPSB0aGlzLmtleXMubGVuZ3RoO1xuICAgIH1cbiAgICBnZXQoaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSh0aGlzLmdldEtleShpbmRleCkhKTtcbiAgICB9XG4gICAgZ2V0S2V5KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5cy5nZXQoaW5kZXgpO1xuICAgIH1cbiAgICBnZXRWYWx1ZShrZXk6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldChrZXkpO1xuICAgIH1cbiAgICBjb25jYXQoLi4udmVjdG9yczogVmVjdG9yPFQ+W10pOiBWZWN0b3I8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IFZpcnR1YWxWZWN0b3IoQXJyYXksIHRoaXMsIC4uLnZlY3RvcnMpO1xuICAgIH1cbiAgICAqW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAtMSwgbiA9IHRoaXMubGVuZ3RoOyArK2kgPCBuOykge1xuICAgICAgICAgICAgeWllbGQgdGhpcy5nZXQoaSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlY3Rvci9kaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCwrREFBK0Q7QUFDL0Qsd0RBQXdEO0FBQ3hELDZEQUE2RDtBQUM3RCxvREFBb0Q7QUFDcEQsNkRBQTZEO0FBQzdELDZEQUE2RDtBQUM3RCxFQUFFO0FBQ0YsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiw2REFBNkQ7QUFDN0QsOERBQThEO0FBQzlELHlEQUF5RDtBQUN6RCw0REFBNEQ7QUFDNUQsMERBQTBEO0FBQzFELHFCQUFxQjtBQU1yQixNQUFNO0lBR0YsWUFBWSxVQUFxQixFQUFFLFFBQXFCO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFDTSxLQUFLLENBQUMsSUFBeUI7UUFDbEMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFTLENBQUM7SUFDM0YsQ0FBQztJQUNNLE9BQU8sQ0FBQyxLQUFhO1FBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ00sR0FBRyxDQUFDLEtBQWE7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNNLEdBQUcsQ0FBQyxLQUFhLEVBQUUsS0FBa0I7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNNLE9BQU87UUFDVixNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFDTSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3pELEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3JELE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFDTSxPQUFPLENBQUMsTUFBbUI7UUFDOUIseURBQXlEO1FBQ3pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQUMsQ0FBQztRQUUvQiw0REFBNEQ7UUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSiIsImZpbGUiOiJ2ZWN0b3IvZGljdGlvbmFyeS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgeyBEYXRhIH0gZnJvbSAnLi4vZGF0YSc7XG5pbXBvcnQgeyBWaWV3LCBWZWN0b3IgfSBmcm9tICcuLi92ZWN0b3InO1xuaW1wb3J0IHsgSXRlcmFibGVBcnJheUxpa2UsIERhdGFUeXBlLCBEaWN0aW9uYXJ5LCBJbnQgfSBmcm9tICcuLi90eXBlJztcblxuZXhwb3J0IGNsYXNzIERpY3Rpb25hcnlWaWV3PFQgZXh0ZW5kcyBEYXRhVHlwZT4gaW1wbGVtZW50cyBWaWV3PFQ+IHtcbiAgICBwdWJsaWMgaW5kaWNpZXM6IFZlY3RvcjxJbnQ+O1xuICAgIHB1YmxpYyBkaWN0aW9uYXJ5OiBWZWN0b3I8VD47XG4gICAgY29uc3RydWN0b3IoZGljdGlvbmFyeTogVmVjdG9yPFQ+LCBpbmRpY2llczogVmVjdG9yPEludD4pIHtcbiAgICAgICAgdGhpcy5pbmRpY2llcyA9IGluZGljaWVzO1xuICAgICAgICB0aGlzLmRpY3Rpb25hcnkgPSBkaWN0aW9uYXJ5O1xuICAgIH1cbiAgICBwdWJsaWMgY2xvbmUoZGF0YTogRGF0YTxEaWN0aW9uYXJ5PFQ+Pik6IHRoaXMge1xuICAgICAgICByZXR1cm4gbmV3IERpY3Rpb25hcnlWaWV3KGRhdGEuZGljdGlvbmFyeSwgdGhpcy5pbmRpY2llcy5jbG9uZShkYXRhLmluZGljaWVzKSkgYXMgdGhpcztcbiAgICB9XG4gICAgcHVibGljIGlzVmFsaWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRpY2llcy5pc1ZhbGlkKGluZGV4KTtcbiAgICB9XG4gICAgcHVibGljIGdldChpbmRleDogbnVtYmVyKTogVFsnVFZhbHVlJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaWN0aW9uYXJ5LmdldCh0aGlzLmluZGljaWVzLmdldChpbmRleCkpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0KGluZGV4OiBudW1iZXIsIHZhbHVlOiBUWydUVmFsdWUnXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpY3Rpb25hcnkuc2V0KHRoaXMuaW5kaWNpZXMuZ2V0KGluZGV4KSwgdmFsdWUpO1xuICAgIH1cbiAgICBwdWJsaWMgdG9BcnJheSgpOiBJdGVyYWJsZUFycmF5TGlrZTxUWydUVmFsdWUnXT4ge1xuICAgICAgICByZXR1cm4gWy4uLnRoaXNdO1xuICAgIH1cbiAgICBwdWJsaWMgKltTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhYmxlSXRlcmF0b3I8VFsnVFZhbHVlJ10+IHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5kaWN0aW9uYXJ5LCBpbmRpY2llcyA9IHRoaXMuaW5kaWNpZXM7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gLTEsIG4gPSBpbmRpY2llcy5sZW5ndGg7ICsraW5kZXggPCBuOykge1xuICAgICAgICAgICAgeWllbGQgdmFsdWVzLmdldChpbmRpY2llcy5nZXQoaW5kZXgpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgaW5kZXhPZihzZWFyY2g6IFRbJ1RWYWx1ZSddKSB7XG4gICAgICAgIC8vIEZpcnN0IGZpbmQgdGhlIGRpY3Rpb25hcnkga2V5IGZvciB0aGUgZGVzaXJlZCB2YWx1ZS4uLlxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmRpY3Rpb25hcnkuaW5kZXhPZihzZWFyY2gpO1xuICAgICAgICBpZiAoa2V5ID09PSAtMSkgeyByZXR1cm4ga2V5OyB9XG5cbiAgICAgICAgLy8gLi4uIHRoZW4gZmluZCB0aGUgZmlyc3Qgb2NjdXJlbmNlIG9mIHRoYXQga2V5IGluIGluZGljaWVzXG4gICAgICAgIHJldHVybiB0aGlzLmluZGljaWVzLmluZGV4T2Yoa2V5ISk7XG4gICAgfVxufVxuIl19 |
@@ -1,32 +0,43 @@ | ||
import { List } from './types'; | ||
import { Vector } from './vector'; | ||
export declare class BinaryVector extends Vector<Uint8Array> { | ||
readonly data: Uint8Array; | ||
readonly offsets: Int32Array; | ||
constructor(argv: { | ||
offsets: Int32Array; | ||
data: Uint8Array; | ||
}); | ||
get(index: number): Uint8Array; | ||
concat(...vectors: Vector<Uint8Array>[]): Vector<Uint8Array>; | ||
import { Data } from '../data'; | ||
import { View, Vector } from '../vector'; | ||
import { List, Binary, Utf8, FixedSizeList, FlatListType } from '../type'; | ||
import { ListType, DataType, IterableArrayLike } from '../type'; | ||
export declare const encodeUtf8: (input?: string | undefined) => Uint8Array; | ||
export declare const decodeUtf8: (input?: SharedArrayBuffer | ArrayBuffer | ArrayBufferView | undefined) => string; | ||
export declare abstract class ListViewBase<T extends (ListType | FlatListType | FixedSizeList)> implements View<T> { | ||
length: number; | ||
values: T['TArray']; | ||
valueOffsets?: Int32Array; | ||
constructor(data: Data<T>); | ||
clone(data: Data<T>): this; | ||
isValid(): boolean; | ||
toArray(): IterableArrayLike<T['TValue']>; | ||
get(index: number): T['TValue']; | ||
set(index: number, value: T['TValue']): void; | ||
[Symbol.iterator](): IterableIterator<T['TValue']>; | ||
indexOf(search: T['TValue']): number; | ||
protected abstract getList(values: T['TArray'], index: number, valueOffsets?: Int32Array): T['TValue']; | ||
protected abstract setList(values: T['TArray'], index: number, value: T['TValue'], valueOffsets?: Int32Array): void; | ||
} | ||
export declare class ListVector<T> extends Vector<T[]> { | ||
readonly offsets: Int32Array; | ||
readonly values: Vector<T>; | ||
constructor(argv: { | ||
offsets: Int32Array; | ||
values: Vector<T>; | ||
}); | ||
get(index: number): any[]; | ||
concat(...vectors: Vector<T[]>[]): Vector<T[]>; | ||
export declare abstract class VariableListViewBase<T extends (ListType | FlatListType)> extends ListViewBase<T> { | ||
constructor(data: Data<T>); | ||
} | ||
export declare class FixedSizeListVector<T, TArray extends List<T>> extends Vector<TArray> { | ||
readonly size: number; | ||
readonly values: Vector<T>; | ||
constructor(argv: { | ||
size: number; | ||
values: Vector<T>; | ||
}); | ||
get(index: number): TArray; | ||
concat(...vectors: Vector<TArray>[]): Vector<TArray>; | ||
export declare class ListView<T extends DataType> extends VariableListViewBase<List<T>> { | ||
constructor(data: Data<List<T>>); | ||
protected getList(values: Vector<T>, index: number, valueOffsets: Int32Array): Vector<T>; | ||
protected setList(values: Vector<T>, index: number, value: Vector<T>, valueOffsets: Int32Array): void; | ||
} | ||
export declare class FixedSizeListView<T extends DataType> extends ListViewBase<FixedSizeList<T>> { | ||
size: number; | ||
constructor(data: Data<FixedSizeList<T>>); | ||
protected getList(values: Vector<T>, index: number): Vector<T>; | ||
protected setList(values: Vector<T>, index: number, value: Vector<T>): void; | ||
} | ||
export declare class BinaryView extends VariableListViewBase<Binary> { | ||
protected getList(values: Uint8Array, index: number, valueOffsets: Int32Array): Uint8Array; | ||
protected setList(values: Uint8Array, index: number, value: Uint8Array, valueOffsets: Int32Array): void; | ||
} | ||
export declare class Utf8View extends VariableListViewBase<Utf8> { | ||
protected getList(values: Uint8Array, index: number, valueOffsets: Int32Array): string; | ||
protected setList(values: Uint8Array, index: number, value: string, valueOffsets: Int32Array): void; | ||
} |
@@ -17,50 +17,104 @@ // Licensed to the Apache Software Foundation (ASF) under one | ||
// under the License. | ||
import { Vector } from './vector'; | ||
import { VirtualVector } from './virtual'; | ||
export class BinaryVector extends Vector { | ||
constructor(argv) { | ||
super(); | ||
this.data = argv.data; | ||
this.offsets = argv.offsets; | ||
import { createVector } from '../vector'; | ||
import { TextEncoder, TextDecoder } from 'text-encoding-utf-8'; | ||
export const encodeUtf8 = ((encoder) => encoder.encode.bind(encoder))(new TextEncoder('utf-8')); | ||
export const decodeUtf8 = ((decoder) => decoder.decode.bind(decoder))(new TextDecoder('utf-8')); | ||
export class ListViewBase { | ||
constructor(data) { | ||
this.length = data.length; | ||
this.values = data.values; | ||
} | ||
clone(data) { | ||
return new this.constructor(data); | ||
} | ||
isValid() { | ||
return true; | ||
} | ||
toArray() { | ||
return [...this]; | ||
} | ||
get(index) { | ||
return this.data.subarray(this.offsets[index], this.offsets[index + 1]); | ||
return this.getList(this.values, index, this.valueOffsets); | ||
} | ||
concat(...vectors) { | ||
return new VirtualVector(Array, this, ...vectors); | ||
set(index, value) { | ||
return this.setList(this.values, index, value, this.valueOffsets); | ||
} | ||
*[Symbol.iterator]() { | ||
const get = this.getList, length = this.length; | ||
const values = this.values, valueOffsets = this.valueOffsets; | ||
for (let index = -1; ++index < length;) { | ||
yield get(values, index, valueOffsets); | ||
} | ||
} | ||
indexOf(search) { | ||
let index = 0; | ||
for (let value of this) { | ||
if (value === search) { | ||
return index; | ||
} | ||
++index; | ||
} | ||
return -1; | ||
} | ||
} | ||
export class ListVector extends Vector { | ||
constructor(argv) { | ||
super(); | ||
this.values = argv.values; | ||
this.offsets = argv.offsets; | ||
export class VariableListViewBase extends ListViewBase { | ||
constructor(data) { | ||
super(data); | ||
this.length = data.length; | ||
this.valueOffsets = data.valueOffsets; | ||
} | ||
get(index) { | ||
const { offsets, values } = this; | ||
const from = offsets[index]; | ||
const xs = new Array(offsets[index + 1] - from); | ||
for (let i = -1, n = xs.length; ++i < n;) { | ||
xs[i] = values.get(i + from); | ||
} | ||
export class ListView extends VariableListViewBase { | ||
constructor(data) { | ||
super(data); | ||
this.values = createVector(data.values); | ||
} | ||
getList(values, index, valueOffsets) { | ||
return values.slice(valueOffsets[index], valueOffsets[index + 1]); | ||
} | ||
setList(values, index, value, valueOffsets) { | ||
let idx = -1; | ||
let offset = valueOffsets[index]; | ||
let end = Math.min(value.length, valueOffsets[index + 1] - offset); | ||
while (offset < end) { | ||
values.set(offset++, value.get(++idx)); | ||
} | ||
return xs; | ||
} | ||
concat(...vectors) { | ||
return new VirtualVector(Array, this, ...vectors); | ||
} | ||
export class FixedSizeListView extends ListViewBase { | ||
constructor(data) { | ||
super(data); | ||
this.size = data.type.listSize; | ||
this.values = createVector(data.values); | ||
} | ||
getList(values, index) { | ||
const size = this.size; | ||
return values.slice(index *= size, index + size); | ||
} | ||
setList(values, index, value) { | ||
let size = this.size; | ||
for (let idx = -1, offset = index * size; ++idx < size;) { | ||
values.set(offset + idx, value.get(++idx)); | ||
} | ||
} | ||
} | ||
export class FixedSizeListVector extends Vector { | ||
constructor(argv) { | ||
super(); | ||
this.size = argv.size; | ||
this.values = argv.values; | ||
export class BinaryView extends VariableListViewBase { | ||
getList(values, index, valueOffsets) { | ||
return values.subarray(valueOffsets[index], valueOffsets[index + 1]); | ||
} | ||
get(index) { | ||
return this.values.slice(this.size * index, this.size * (index + 1)); | ||
setList(values, index, value, valueOffsets) { | ||
const offset = valueOffsets[index]; | ||
values.set(value.subarray(0, valueOffsets[index + 1] - offset), offset); | ||
} | ||
concat(...vectors) { | ||
return new VirtualVector(Array, this, ...vectors); | ||
} | ||
export class Utf8View extends VariableListViewBase { | ||
getList(values, index, valueOffsets) { | ||
return decodeUtf8(values.subarray(valueOffsets[index], valueOffsets[index + 1])); | ||
} | ||
setList(values, index, value, valueOffsets) { | ||
const offset = valueOffsets[index]; | ||
values.set(encodeUtf8(value).subarray(0, valueOffsets[index + 1] - offset), offset); | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsT0FBeUI7UUFDL0IsTUFBTSxDQUFDLElBQUksYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0oiLCJmaWxlIjoidmVjdG9yL2xpc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi92ZWN0b3InO1xuaW1wb3J0IHsgVmlydHVhbFZlY3RvciB9IGZyb20gJy4vdmlydHVhbCc7XG5cbmV4cG9ydCBjbGFzcyBCaW5hcnlWZWN0b3IgZXh0ZW5kcyBWZWN0b3I8VWludDhBcnJheT4ge1xuICAgIHJlYWRvbmx5IGRhdGE6IFVpbnQ4QXJyYXk7XG4gICAgcmVhZG9ubHkgb2Zmc2V0czogSW50MzJBcnJheTtcbiAgICBjb25zdHJ1Y3Rvcihhcmd2OiB7IG9mZnNldHM6IEludDMyQXJyYXksIGRhdGE6IFVpbnQ4QXJyYXkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRhdGEgPSBhcmd2LmRhdGE7XG4gICAgICAgIHRoaXMub2Zmc2V0cyA9IGFyZ3Yub2Zmc2V0cztcbiAgICB9XG4gICAgZ2V0KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5zdWJhcnJheSh0aGlzLm9mZnNldHNbaW5kZXhdLCB0aGlzLm9mZnNldHNbaW5kZXggKyAxXSk7XG4gICAgfVxuICAgIGNvbmNhdCguLi52ZWN0b3JzOiBWZWN0b3I8VWludDhBcnJheT5bXSk6IFZlY3RvcjxVaW50OEFycmF5PiB7XG4gICAgICAgIHJldHVybiBuZXcgVmlydHVhbFZlY3RvcihBcnJheSwgdGhpcywgLi4udmVjdG9ycyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdFZlY3RvcjxUPiBleHRlbmRzIFZlY3RvcjxUW10+IHtcbiAgICByZWFkb25seSBvZmZzZXRzOiBJbnQzMkFycmF5O1xuICAgIHJlYWRvbmx5IHZhbHVlczogVmVjdG9yPFQ+O1xuICAgIGNvbnN0cnVjdG9yKGFyZ3Y6IHsgb2Zmc2V0czogSW50MzJBcnJheSwgdmFsdWVzOiBWZWN0b3I8VD4gfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IGFyZ3YudmFsdWVzO1xuICAgICAgICB0aGlzLm9mZnNldHMgPSBhcmd2Lm9mZnNldHM7XG4gICAgfVxuICAgIGdldChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHsgb2Zmc2V0cywgdmFsdWVzIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBmcm9tID0gb2Zmc2V0c1tpbmRleF07XG4gICAgICAgIGNvbnN0IHhzID0gbmV3IEFycmF5KG9mZnNldHNbaW5kZXggKyAxXSAtIGZyb20pO1xuICAgICAgICBmb3IgKGxldCBpID0gLTEsIG4gPSB4cy5sZW5ndGg7ICsraSA8IG47KSB7XG4gICAgICAgICAgICB4c1tpXSA9IHZhbHVlcy5nZXQoaSArIGZyb20pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB4cztcbiAgICB9XG4gICAgY29uY2F0KC4uLnZlY3RvcnM6IFZlY3RvcjxUW10+W10pOiBWZWN0b3I8VFtdPiB7XG4gICAgICAgIHJldHVybiBuZXcgVmlydHVhbFZlY3RvcihBcnJheSwgdGhpcywgLi4udmVjdG9ycyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRml4ZWRTaXplTGlzdFZlY3RvcjxULCBUQXJyYXkgZXh0ZW5kcyBMaXN0PFQ+PiBleHRlbmRzIFZlY3RvcjxUQXJyYXk+IHtcbiAgICByZWFkb25seSBzaXplOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgdmFsdWVzOiBWZWN0b3I8VD47XG4gICAgY29uc3RydWN0b3IoYXJndjogeyBzaXplOiBudW1iZXIsIHZhbHVlczogVmVjdG9yPFQ+IH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zaXplID0gYXJndi5zaXplO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IGFyZ3YudmFsdWVzO1xuICAgIH1cbiAgICBnZXQoaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuc2xpY2U8VEFycmF5Pih0aGlzLnNpemUgKiBpbmRleCwgdGhpcy5zaXplICogKGluZGV4ICsgMSkpO1xuICAgIH1cbiAgICBjb25jYXQoLi4udmVjdG9yczogVmVjdG9yPFRBcnJheT5bXSk6IFZlY3RvcjxUQXJyYXk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBWaXJ0dWFsVmVjdG9yKEFycmF5LCB0aGlzLCAuLi52ZWN0b3JzKTtcbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlY3Rvci9saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCwrREFBK0Q7QUFDL0Qsd0RBQXdEO0FBQ3hELDZEQUE2RDtBQUM3RCxvREFBb0Q7QUFDcEQsNkRBQTZEO0FBQzdELDZEQUE2RDtBQUM3RCxFQUFFO0FBQ0YsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiw2REFBNkQ7QUFDN0QsOERBQThEO0FBQzlELHlEQUF5RDtBQUN6RCw0REFBNEQ7QUFDNUQsMERBQTBEO0FBQzFELHFCQUFxQjtBQUdyQixPQUFPLEVBQWdCLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSS9ELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDbkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFtQyxDQUNqRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFFNUIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNuQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQTBELENBQ3hGLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUU1QixNQUFNO0lBSUYsWUFBWSxJQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUNNLEtBQUssQ0FBQyxJQUFhO1FBQ3RCLE1BQU0sQ0FBQyxJQUFXLElBQUksQ0FBQyxXQUFZLENBQUMsSUFBSSxDQUFTLENBQUM7SUFDdEQsQ0FBQztJQUNNLE9BQU87UUFDVixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDTSxPQUFPO1FBQ1YsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ00sR0FBRyxDQUFDLEtBQWE7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDTSxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQWtCO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNNLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM3RCxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssR0FBRyxNQUFNLEdBQUcsQ0FBQztZQUNyQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0lBQ00sT0FBTyxDQUFDLE1BQW1CO1FBQzlCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckIsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFDLENBQUM7WUFDdkMsRUFBRSxLQUFLLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztDQUdKO0FBRUQsTUFBTSwyQkFBMEUsU0FBUSxZQUFlO0lBQ25HLFlBQVksSUFBYTtRQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFDLENBQUM7Q0FDSjtBQUVELE1BQU0sZUFBb0MsU0FBUSxvQkFBNkI7SUFDM0UsWUFBWSxJQUFtQjtRQUMzQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNTLE9BQU8sQ0FBQyxNQUFpQixFQUFFLEtBQWEsRUFBRSxZQUF3QjtRQUN4RSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBYyxDQUFDO0lBQ25GLENBQUM7SUFDUyxPQUFPLENBQUMsTUFBaUIsRUFBRSxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxZQUF3QjtRQUMxRixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNiLElBQUksTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNuRSxPQUFPLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNsQixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLHdCQUE2QyxTQUFRLFlBQThCO0lBRXJGLFlBQVksSUFBNEI7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNTLE9BQU8sQ0FBQyxNQUFpQixFQUFFLEtBQWE7UUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssR0FBRyxJQUFJLENBQWMsQ0FBQztJQUNsRSxDQUFDO0lBQ1MsT0FBTyxDQUFDLE1BQWlCLEVBQUUsS0FBYSxFQUFFLEtBQWdCO1FBQ2hFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDdEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLGlCQUFrQixTQUFRLG9CQUE0QjtJQUM5QyxPQUFPLENBQUMsTUFBa0IsRUFBRSxLQUFhLEVBQUUsWUFBd0I7UUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQ1MsT0FBTyxDQUFDLE1BQWtCLEVBQUUsS0FBYSxFQUFFLEtBQWlCLEVBQUUsWUFBd0I7UUFDNUYsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RSxDQUFDO0NBQ0o7QUFFRCxNQUFNLGVBQWdCLFNBQVEsb0JBQTBCO0lBQzFDLE9BQU8sQ0FBQyxNQUFrQixFQUFFLEtBQWEsRUFBRSxZQUF3QjtRQUN6RSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDUyxPQUFPLENBQUMsTUFBa0IsRUFBRSxLQUFhLEVBQUUsS0FBYSxFQUFFLFlBQXdCO1FBQ3hGLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNKIiwiZmlsZSI6InZlY3Rvci9saXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZVxuLy8gb3IgbW9yZSBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlXG4vLyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvblxuLy8gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZVxuLy8gdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZVxuLy8gXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4vLyB3aXRoIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4vL1xuLy8gICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbi8vXG4vLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsXG4vLyBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhblxuLy8gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcbi8vIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZVxuLy8gc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9uc1xuLy8gdW5kZXIgdGhlIExpY2Vuc2UuXG5cbmltcG9ydCB7IERhdGEgfSBmcm9tICcuLi9kYXRhJztcbmltcG9ydCB7IFZpZXcsIFZlY3RvciwgY3JlYXRlVmVjdG9yIH0gZnJvbSAnLi4vdmVjdG9yJztcbmltcG9ydCB7IFRleHRFbmNvZGVyLCBUZXh0RGVjb2RlciB9IGZyb20gJ3RleHQtZW5jb2RpbmctdXRmLTgnO1xuaW1wb3J0IHsgTGlzdCwgQmluYXJ5LCBVdGY4LCBGaXhlZFNpemVMaXN0LCBGbGF0TGlzdFR5cGUgfSBmcm9tICcuLi90eXBlJztcbmltcG9ydCB7IExpc3RUeXBlLCBEYXRhVHlwZSwgSXRlcmFibGVBcnJheUxpa2UgfSBmcm9tICcuLi90eXBlJztcblxuZXhwb3J0IGNvbnN0IGVuY29kZVV0ZjggPSAoKGVuY29kZXIpID0+XG4gICAgZW5jb2Rlci5lbmNvZGUuYmluZChlbmNvZGVyKSBhcyAoaW5wdXQ/OiBzdHJpbmcpID0+IFVpbnQ4QXJyYXlcbikobmV3IFRleHRFbmNvZGVyKCd1dGYtOCcpKTtcblxuZXhwb3J0IGNvbnN0IGRlY29kZVV0ZjggPSAoKGRlY29kZXIpID0+XG4gICAgZGVjb2Rlci5kZWNvZGUuYmluZChkZWNvZGVyKSBhcyAoaW5wdXQ/OiBBcnJheUJ1ZmZlckxpa2UgfCBBcnJheUJ1ZmZlclZpZXcpID0+IHN0cmluZ1xuKShuZXcgVGV4dERlY29kZXIoJ3V0Zi04JykpO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTGlzdFZpZXdCYXNlPFQgZXh0ZW5kcyAoTGlzdFR5cGUgfCBGbGF0TGlzdFR5cGUgfCBGaXhlZFNpemVMaXN0KT4gaW1wbGVtZW50cyBWaWV3PFQ+IHtcbiAgICBwdWJsaWMgbGVuZ3RoOiBudW1iZXI7XG4gICAgcHVibGljIHZhbHVlczogVFsnVEFycmF5J107XG4gICAgcHVibGljIHZhbHVlT2Zmc2V0cz86IEludDMyQXJyYXk7XG4gICAgY29uc3RydWN0b3IoZGF0YTogRGF0YTxUPikge1xuICAgICAgICB0aGlzLmxlbmd0aCA9IGRhdGEubGVuZ3RoO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IGRhdGEudmFsdWVzO1xuICAgIH1cbiAgICBwdWJsaWMgY2xvbmUoZGF0YTogRGF0YTxUPik6IHRoaXMge1xuICAgICAgICByZXR1cm4gbmV3ICg8YW55PiB0aGlzLmNvbnN0cnVjdG9yKShkYXRhKSBhcyB0aGlzO1xuICAgIH1cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHB1YmxpYyB0b0FycmF5KCk6IEl0ZXJhYmxlQXJyYXlMaWtlPFRbJ1RWYWx1ZSddPiB7XG4gICAgICAgIHJldHVybiBbLi4udGhpc107XG4gICAgfVxuICAgIHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IFRbJ1RWYWx1ZSddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGlzdCh0aGlzLnZhbHVlcywgaW5kZXgsIHRoaXMudmFsdWVPZmZzZXRzKTtcbiAgICB9XG4gICAgcHVibGljIHNldChpbmRleDogbnVtYmVyLCB2YWx1ZTogVFsnVFZhbHVlJ10pOiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0TGlzdCh0aGlzLnZhbHVlcywgaW5kZXgsIHZhbHVlLCB0aGlzLnZhbHVlT2Zmc2V0cyk7XG4gICAgfVxuICAgIHB1YmxpYyAqW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmFibGVJdGVyYXRvcjxUWydUVmFsdWUnXT4ge1xuICAgICAgICBjb25zdCBnZXQgPSB0aGlzLmdldExpc3QsIGxlbmd0aCA9IHRoaXMubGVuZ3RoO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZhbHVlcywgdmFsdWVPZmZzZXRzID0gdGhpcy52YWx1ZU9mZnNldHM7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gLTE7ICsraW5kZXggPCBsZW5ndGg7KSB7XG4gICAgICAgICAgICB5aWVsZCBnZXQodmFsdWVzLCBpbmRleCwgdmFsdWVPZmZzZXRzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgaW5kZXhPZihzZWFyY2g6IFRbJ1RWYWx1ZSddKSB7XG4gICAgICAgIGxldCBpbmRleCA9IDA7XG4gICAgICAgIGZvciAobGV0IHZhbHVlIG9mIHRoaXMpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gc2VhcmNoKSB7IHJldHVybiBpbmRleDsgfVxuICAgICAgICAgICAgKytpbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldExpc3QodmFsdWVzOiBUWydUQXJyYXknXSwgaW5kZXg6IG51bWJlciwgdmFsdWVPZmZzZXRzPzogSW50MzJBcnJheSk6IFRbJ1RWYWx1ZSddO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRMaXN0KHZhbHVlczogVFsnVEFycmF5J10sIGluZGV4OiBudW1iZXIsIHZhbHVlOiBUWydUVmFsdWUnXSwgdmFsdWVPZmZzZXRzPzogSW50MzJBcnJheSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWYXJpYWJsZUxpc3RWaWV3QmFzZTxUIGV4dGVuZHMgKExpc3RUeXBlIHwgRmxhdExpc3RUeXBlKT4gZXh0ZW5kcyBMaXN0Vmlld0Jhc2U8VD4ge1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IERhdGE8VD4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWVPZmZzZXRzID0gZGF0YS52YWx1ZU9mZnNldHM7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdFZpZXc8VCBleHRlbmRzIERhdGFUeXBlPiBleHRlbmRzIFZhcmlhYmxlTGlzdFZpZXdCYXNlPExpc3Q8VD4+IHtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEYXRhPExpc3Q8VD4+KSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IGNyZWF0ZVZlY3RvcihkYXRhLnZhbHVlcyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXRMaXN0KHZhbHVlczogVmVjdG9yPFQ+LCBpbmRleDogbnVtYmVyLCB2YWx1ZU9mZnNldHM6IEludDMyQXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5zbGljZSh2YWx1ZU9mZnNldHNbaW5kZXhdLCB2YWx1ZU9mZnNldHNbaW5kZXggKyAxXSkgYXMgVmVjdG9yPFQ+O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0TGlzdCh2YWx1ZXM6IFZlY3RvcjxUPiwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFZlY3RvcjxUPiwgdmFsdWVPZmZzZXRzOiBJbnQzMkFycmF5KTogdm9pZCB7XG4gICAgICAgIGxldCBpZHggPSAtMTtcbiAgICAgICAgbGV0IG9mZnNldCA9IHZhbHVlT2Zmc2V0c1tpbmRleF07XG4gICAgICAgIGxldCBlbmQgPSBNYXRoLm1pbih2YWx1ZS5sZW5ndGgsIHZhbHVlT2Zmc2V0c1tpbmRleCArIDFdIC0gb2Zmc2V0KTtcbiAgICAgICAgd2hpbGUgKG9mZnNldCA8IGVuZCkge1xuICAgICAgICAgICAgdmFsdWVzLnNldChvZmZzZXQrKywgdmFsdWUuZ2V0KCsraWR4KSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaXhlZFNpemVMaXN0VmlldzxUIGV4dGVuZHMgRGF0YVR5cGU+IGV4dGVuZHMgTGlzdFZpZXdCYXNlPEZpeGVkU2l6ZUxpc3Q8VD4+IHtcbiAgICBwdWJsaWMgc2l6ZTogbnVtYmVyO1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IERhdGE8Rml4ZWRTaXplTGlzdDxUPj4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMuc2l6ZSA9IGRhdGEudHlwZS5saXN0U2l6ZTtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSBjcmVhdGVWZWN0b3IoZGF0YS52YWx1ZXMpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZ2V0TGlzdCh2YWx1ZXM6IFZlY3RvcjxUPiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBzaXplID0gdGhpcy5zaXplO1xuICAgICAgICByZXR1cm4gdmFsdWVzLnNsaWNlKGluZGV4ICo9IHNpemUsIGluZGV4ICsgc2l6ZSkgYXMgVmVjdG9yPFQ+O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0TGlzdCh2YWx1ZXM6IFZlY3RvcjxUPiwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFZlY3RvcjxUPik6IHZvaWQge1xuICAgICAgICBsZXQgc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gLTEsIG9mZnNldCA9IGluZGV4ICogc2l6ZTsgKytpZHggPCBzaXplOykge1xuICAgICAgICAgICAgdmFsdWVzLnNldChvZmZzZXQgKyBpZHgsIHZhbHVlLmdldCgrK2lkeCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmluYXJ5VmlldyBleHRlbmRzIFZhcmlhYmxlTGlzdFZpZXdCYXNlPEJpbmFyeT4ge1xuICAgIHByb3RlY3RlZCBnZXRMaXN0KHZhbHVlczogVWludDhBcnJheSwgaW5kZXg6IG51bWJlciwgdmFsdWVPZmZzZXRzOiBJbnQzMkFycmF5KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZXMuc3ViYXJyYXkodmFsdWVPZmZzZXRzW2luZGV4XSwgdmFsdWVPZmZzZXRzW2luZGV4ICsgMV0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0TGlzdCh2YWx1ZXM6IFVpbnQ4QXJyYXksIGluZGV4OiBudW1iZXIsIHZhbHVlOiBVaW50OEFycmF5LCB2YWx1ZU9mZnNldHM6IEludDMyQXJyYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdmFsdWVPZmZzZXRzW2luZGV4XTtcbiAgICAgICAgdmFsdWVzLnNldCh2YWx1ZS5zdWJhcnJheSgwLCB2YWx1ZU9mZnNldHNbaW5kZXggKyAxXSAtIG9mZnNldCksIG9mZnNldCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXRmOFZpZXcgZXh0ZW5kcyBWYXJpYWJsZUxpc3RWaWV3QmFzZTxVdGY4PiB7XG4gICAgcHJvdGVjdGVkIGdldExpc3QodmFsdWVzOiBVaW50OEFycmF5LCBpbmRleDogbnVtYmVyLCB2YWx1ZU9mZnNldHM6IEludDMyQXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZVV0ZjgodmFsdWVzLnN1YmFycmF5KHZhbHVlT2Zmc2V0c1tpbmRleF0sIHZhbHVlT2Zmc2V0c1tpbmRleCArIDFdKSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXRMaXN0KHZhbHVlczogVWludDhBcnJheSwgaW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZywgdmFsdWVPZmZzZXRzOiBJbnQzMkFycmF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHZhbHVlT2Zmc2V0c1tpbmRleF07XG4gICAgICAgIHZhbHVlcy5zZXQoZW5jb2RlVXRmOCh2YWx1ZSkuc3ViYXJyYXkoMCwgdmFsdWVPZmZzZXRzW2luZGV4ICsgMV0gLSBvZmZzZXQpLCBvZmZzZXQpO1xuICAgIH1cbn1cbiJdfQ== |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
1274897
58
14063
230
9
2
+ Added@types/flatbuffers@1.6.5
+ Added@types/node@9.3.0
+ Addedcommand-line-args@5.0.1
+ Addedcommand-line-usage@4.1.0
+ Addedjson-bignum@0.0.3
+ Added@types/flatbuffers@1.6.5(transitive)
+ Added@types/node@9.3.0(transitive)
+ Added@types/text-encoding-utf-8@1.0.1(transitive)
+ Addedansi-escape-sequences@4.1.0(transitive)
+ Addedargv-tools@0.1.2(transitive)
+ Addedarray-back@2.0.03.1.0(transitive)
+ Addedcommand-line-args@5.0.1(transitive)
+ Addedcommand-line-usage@4.1.0(transitive)
+ Addeddeep-extend@0.6.0(transitive)
+ Addedfind-replace@2.0.1(transitive)
+ Addedjson-bignum@0.0.3(transitive)
+ Addedlodash.camelcase@4.3.0(transitive)
+ Addedlodash.padend@4.6.1(transitive)
+ Addedreduce-flatten@1.0.1(transitive)
+ Addedtable-layout@0.4.5(transitive)
+ Addedtest-value@3.0.0(transitive)
+ Addedtslib@1.9.0(transitive)
+ Addedtypical@2.6.1(transitive)
+ Addedwordwrapjs@3.0.0(transitive)
- Removedtslib@1.14.1(transitive)
Updatedtslib@1.9.0