@apache-arrow/esnext-cjs
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; | ||
} |
317
Arrow.js
@@ -19,78 +19,255 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const table_1 = require("./vector/table"); | ||
const type_ = require("./type"); | ||
const data_ = require("./data"); | ||
const vector_ = require("./vector"); | ||
const util_ = require("./util/int"); | ||
const visitor_ = require("./visitor"); | ||
const view_ = require("./vector/view"); | ||
const predicate_ = require("./predicate"); | ||
const vector_1 = require("./vector"); | ||
exports.Vector = vector_1.Vector; | ||
const recordbatch_1 = require("./recordbatch"); | ||
exports.RecordBatch = recordbatch_1.RecordBatch; | ||
const type_1 = require("./type"); | ||
exports.Schema = type_1.Schema; | ||
exports.Field = type_1.Field; | ||
exports.Type = type_1.Type; | ||
const table_1 = require("./table"); | ||
exports.Table = table_1.Table; | ||
const vector_1 = require("./vector/vector"); | ||
exports.Vector = vector_1.Vector; | ||
const utf8_1 = require("./vector/utf8"); | ||
exports.Utf8Vector = utf8_1.Utf8Vector; | ||
const dictionary_1 = require("./vector/dictionary"); | ||
exports.DictionaryVector = dictionary_1.DictionaryVector; | ||
const struct_1 = require("./vector/struct"); | ||
exports.StructVector = struct_1.StructVector; | ||
exports.StructRow = struct_1.StructRow; | ||
const arrow_1 = require("./reader/arrow"); | ||
exports.readVectors = arrow_1.readVectors; | ||
exports.readVectorsAsync = arrow_1.readVectorsAsync; | ||
const list_1 = require("./vector/list"); | ||
exports.ListVector = list_1.ListVector; | ||
exports.BinaryVector = list_1.BinaryVector; | ||
exports.FixedSizeListVector = list_1.FixedSizeListVector; | ||
const numeric_1 = require("./vector/numeric"); | ||
exports.BoolVector = numeric_1.BoolVector; | ||
exports.Int8Vector = numeric_1.Int8Vector; | ||
exports.Int16Vector = numeric_1.Int16Vector; | ||
exports.Int32Vector = numeric_1.Int32Vector; | ||
exports.Int64Vector = numeric_1.Int64Vector; | ||
exports.Uint8Vector = numeric_1.Uint8Vector; | ||
exports.Uint16Vector = numeric_1.Uint16Vector; | ||
exports.Uint32Vector = numeric_1.Uint32Vector; | ||
exports.Uint64Vector = numeric_1.Uint64Vector; | ||
exports.Float16Vector = numeric_1.Float16Vector; | ||
exports.Float32Vector = numeric_1.Float32Vector; | ||
exports.Float64Vector = numeric_1.Float64Vector; | ||
exports.Date32Vector = numeric_1.Date32Vector; | ||
exports.Date64Vector = numeric_1.Date64Vector; | ||
exports.Time32Vector = numeric_1.Time32Vector; | ||
exports.Time64Vector = numeric_1.Time64Vector; | ||
exports.DecimalVector = numeric_1.DecimalVector; | ||
exports.TimestampVector = numeric_1.TimestampVector; | ||
/* These exports are needed for the closure umd targets */ | ||
exports.CountByResult = table_1.CountByResult; | ||
const arrow_1 = require("./ipc/reader/arrow"); | ||
exports.read = arrow_1.read; | ||
exports.readAsync = arrow_1.readAsync; | ||
var util; | ||
(function (util) { | ||
util.Uint64 = util_.Uint64; | ||
util.Int64 = util_.Int64; | ||
util.Int128 = util_.Int128; | ||
})(util = exports.util || (exports.util = {})); | ||
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 = exports.data || (exports.data = {})); | ||
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_ = exports.enum_ || (exports.enum_ = {})); | ||
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 = exports.type || (exports.type = {})); | ||
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 = exports.vector || (exports.vector = {})); | ||
var visitor; | ||
(function (visitor) { | ||
visitor.TypeVisitor = visitor_.TypeVisitor; | ||
visitor.VectorVisitor = visitor_.VectorVisitor; | ||
})(visitor = exports.visitor || (exports.visitor = {})); | ||
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 = exports.view || (exports.view = {})); | ||
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 = exports.predicate || (exports.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'] = arrow_1.readVectors; | ||
Arrow['readVectorsAsync'] = arrow_1.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'] = arrow_1.read; | ||
Arrow['readAsync'] = arrow_1.readAsync; | ||
Arrow['Type'] = type_1.Type; | ||
Arrow['Field'] = type_1.Field; | ||
Arrow['Schema'] = type_1.Schema; | ||
Arrow['Vector'] = vector_1.Vector; | ||
Arrow['RecordBatch'] = recordbatch_1.RecordBatch; | ||
Arrow['Table'] = table_1.Table; | ||
Arrow['Vector'] = vector_1.Vector; | ||
Arrow['StructRow'] = struct_1.StructRow; | ||
Arrow['BoolVector'] = numeric_1.BoolVector; | ||
Arrow['ListVector'] = list_1.ListVector; | ||
Arrow['Utf8Vector'] = utf8_1.Utf8Vector; | ||
Arrow['Int8Vector'] = numeric_1.Int8Vector; | ||
Arrow['Int16Vector'] = numeric_1.Int16Vector; | ||
Arrow['Int32Vector'] = numeric_1.Int32Vector; | ||
Arrow['Int64Vector'] = numeric_1.Int64Vector; | ||
Arrow['Uint8Vector'] = numeric_1.Uint8Vector; | ||
Arrow['Uint16Vector'] = numeric_1.Uint16Vector; | ||
Arrow['Uint32Vector'] = numeric_1.Uint32Vector; | ||
Arrow['Uint64Vector'] = numeric_1.Uint64Vector; | ||
Arrow['Date32Vector'] = numeric_1.Date32Vector; | ||
Arrow['Date64Vector'] = numeric_1.Date64Vector; | ||
Arrow['Time32Vector'] = numeric_1.Time32Vector; | ||
Arrow['Time64Vector'] = numeric_1.Time64Vector; | ||
Arrow['BinaryVector'] = list_1.BinaryVector; | ||
Arrow['StructVector'] = struct_1.StructVector; | ||
Arrow['Float16Vector'] = numeric_1.Float16Vector; | ||
Arrow['Float32Vector'] = numeric_1.Float32Vector; | ||
Arrow['Float64Vector'] = numeric_1.Float64Vector; | ||
Arrow['DecimalVector'] = numeric_1.DecimalVector; | ||
Arrow['TimestampVector'] = numeric_1.TimestampVector; | ||
Arrow['DictionaryVector'] = dictionary_1.DictionaryVector; | ||
Arrow['FixedSizeListVector'] = list_1.FixedSizeListVector; | ||
Arrow['CountByResult'] = table_1.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 | ||
type_1.Schema['from'] = type_1.Schema.from; | ||
table_1.Table['from'] = table_1.Table.from; | ||
table_1.Table['fromAsync'] = table_1.Table.fromAsync; | ||
table_1.Table['empty'] = table_1.Table.empty; | ||
vector_1.Vector['create'] = vector_1.Vector.create; | ||
recordbatch_1.RecordBatch['from'] = recordbatch_1.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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Q0FBQyxHQUFHLHNCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLHNCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLHNCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLHNCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLHNCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLHNCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLHNCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLG1CQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLHFCQUFZLENBQUM7UUFDckMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLHVCQUFhLENBQUM7UUFDdkMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLHVCQUFhLENBQUM7UUFDdkMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLHVCQUFhLENBQUM7UUFDdkMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLHVCQUFhLENBQUM7UUFDdkMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcseUJBQWUsQ0FBQztRQUMzQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyw2QkFBZ0IsQ0FBQztRQUM3QyxLQUFLLENBQUMscUJBQXFCLENBQUMsR0FBRywwQkFBbUIsQ0FBQztJQUN2RCxDQUFDO0FBQ0wsQ0FBQztBQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBMEIsQ0FBQztBQUN4Qyx5QkFBeUIiLCJmaWxlIjoiQXJyb3cuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuL3ZlY3Rvci90YWJsZSc7XG5pbXBvcnQgeyBWZWN0b3IgfSBmcm9tICcuL3ZlY3Rvci92ZWN0b3InO1xuaW1wb3J0IHsgVXRmOFZlY3RvciB9IGZyb20gJy4vdmVjdG9yL3V0ZjgnO1xuaW1wb3J0IHsgRGljdGlvbmFyeVZlY3RvciB9IGZyb20gJy4vdmVjdG9yL2RpY3Rpb25hcnknO1xuaW1wb3J0IHsgU3RydWN0VmVjdG9yLCBTdHJ1Y3RSb3cgfSBmcm9tICcuL3ZlY3Rvci9zdHJ1Y3QnO1xuaW1wb3J0IHsgcmVhZFZlY3RvcnMsIHJlYWRWZWN0b3JzQXN5bmMgfSBmcm9tICcuL3JlYWRlci9hcnJvdyc7XG5pbXBvcnQgeyBMaXN0VmVjdG9yLCBCaW5hcnlWZWN0b3IsIEZpeGVkU2l6ZUxpc3RWZWN0b3IgfSBmcm9tICcuL3ZlY3Rvci9saXN0JztcblxuaW1wb3J0IHtcbiAgICBCb29sVmVjdG9yLFxuICAgIEludDhWZWN0b3IsXG4gICAgSW50MTZWZWN0b3IsXG4gICAgSW50MzJWZWN0b3IsXG4gICAgSW50NjRWZWN0b3IsXG4gICAgVWludDhWZWN0b3IsXG4gICAgVWludDE2VmVjdG9yLFxuICAgIFVpbnQzMlZlY3RvcixcbiAgICBVaW50NjRWZWN0b3IsXG4gICAgRmxvYXQxNlZlY3RvcixcbiAgICBGbG9hdDMyVmVjdG9yLFxuICAgIEZsb2F0NjRWZWN0b3IsXG4gICAgRGF0ZTMyVmVjdG9yLFxuICAgIERhdGU2NFZlY3RvcixcbiAgICBUaW1lMzJWZWN0b3IsXG4gICAgVGltZTY0VmVjdG9yLFxuICAgIERlY2ltYWxWZWN0b3IsXG4gICAgVGltZXN0YW1wVmVjdG9yLFxufSBmcm9tICcuL3ZlY3Rvci9udW1lcmljJztcblxuZXhwb3J0IHsgVGFibGUsIFZlY3RvciwgU3RydWN0Um93IH07XG5leHBvcnQgeyByZWFkVmVjdG9ycywgcmVhZFZlY3RvcnNBc3luYyB9O1xuZXhwb3J0IHsgTnVtZXJpY1ZlY3RvckNvbnN0cnVjdG9yIH0gZnJvbSAnLi92ZWN0b3IvbnVtZXJpYyc7XG5leHBvcnQgeyBMaXN0LCBUeXBlZEFycmF5LCBUeXBlZEFycmF5Q29uc3RydWN0b3IgfSBmcm9tICcuL3ZlY3Rvci90eXBlcyc7XG5leHBvcnQge1xuICAgIEJvb2xWZWN0b3IsXG4gICAgTGlzdFZlY3RvcixcbiAgICBVdGY4VmVjdG9yLFxuICAgIEludDhWZWN0b3IsXG4gICAgSW50MTZWZWN0b3IsXG4gICAgSW50MzJWZWN0b3IsXG4gICAgSW50NjRWZWN0b3IsXG4gICAgVWludDhWZWN0b3IsXG4gICAgVWludDE2VmVjdG9yLFxuICAgIFVpbnQzMlZlY3RvcixcbiAgICBVaW50NjRWZWN0b3IsXG4gICAgRGF0ZTMyVmVjdG9yLFxuICAgIERhdGU2NFZlY3RvcixcbiAgICBUaW1lMzJWZWN0b3IsXG4gICAgVGltZTY0VmVjdG9yLFxuICAgIEJpbmFyeVZlY3RvcixcbiAgICBTdHJ1Y3RWZWN0b3IsXG4gICAgRmxvYXQxNlZlY3RvcixcbiAgICBGbG9hdDMyVmVjdG9yLFxuICAgIEZsb2F0NjRWZWN0b3IsXG4gICAgRGVjaW1hbFZlY3RvcixcbiAgICBUaW1lc3RhbXBWZWN0b3IsXG4gICAgRGljdGlvbmFyeVZlY3RvcixcbiAgICBGaXhlZFNpemVMaXN0VmVjdG9yLFxufTtcblxuLyogVGhlc2UgZXhwb3J0cyBhcmUgbmVlZGVkIGZvciB0aGUgY2xvc3VyZSB1bWQgdGFyZ2V0cyAqL1xudHJ5IHtcbiAgICBjb25zdCBBcnJvdyA9IGV2YWwoJ2V4cG9ydHMnKTtcbiAgICBpZiAodHlwZW9mIEFycm93ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyBzdHJpbmcgaW5kZXhlcnMgdGVsbCBjbG9zdXJlIGNvbXBpbGVyIG5vdCB0byByZW5hbWUgdGhlc2UgcHJvcGVydGllc1xuICAgICAgICBBcnJvd1sncmVhZFZlY3RvcnMnXSA9IHJlYWRWZWN0b3JzO1xuICAgICAgICBBcnJvd1sncmVhZFZlY3RvcnNBc3luYyddID0gcmVhZFZlY3RvcnNBc3luYztcbiAgICAgICAgQXJyb3dbJ1RhYmxlJ10gPSBUYWJsZTtcbiAgICAgICAgQXJyb3dbJ1ZlY3RvciddID0gVmVjdG9yO1xuICAgICAgICBBcnJvd1snU3RydWN0Um93J10gPSBTdHJ1Y3RSb3c7XG4gICAgICAgIEFycm93WydCb29sVmVjdG9yJ10gPSBCb29sVmVjdG9yO1xuICAgICAgICBBcnJvd1snTGlzdFZlY3RvciddID0gTGlzdFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1V0ZjhWZWN0b3InXSA9IFV0ZjhWZWN0b3I7XG4gICAgICAgIEFycm93WydJbnQ4VmVjdG9yJ10gPSBJbnQ4VmVjdG9yO1xuICAgICAgICBBcnJvd1snSW50MTZWZWN0b3InXSA9IEludDE2VmVjdG9yO1xuICAgICAgICBBcnJvd1snSW50MzJWZWN0b3InXSA9IEludDMyVmVjdG9yO1xuICAgICAgICBBcnJvd1snSW50NjRWZWN0b3InXSA9IEludDY0VmVjdG9yO1xuICAgICAgICBBcnJvd1snVWludDhWZWN0b3InXSA9IFVpbnQ4VmVjdG9yO1xuICAgICAgICBBcnJvd1snVWludDE2VmVjdG9yJ10gPSBVaW50MTZWZWN0b3I7XG4gICAgICAgIEFycm93WydVaW50MzJWZWN0b3InXSA9IFVpbnQzMlZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1VpbnQ2NFZlY3RvciddID0gVWludDY0VmVjdG9yO1xuICAgICAgICBBcnJvd1snRGF0ZTMyVmVjdG9yJ10gPSBEYXRlMzJWZWN0b3I7XG4gICAgICAgIEFycm93WydEYXRlNjRWZWN0b3InXSA9IERhdGU2NFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1RpbWUzMlZlY3RvciddID0gVGltZTMyVmVjdG9yO1xuICAgICAgICBBcnJvd1snVGltZTY0VmVjdG9yJ10gPSBUaW1lNjRWZWN0b3I7XG4gICAgICAgIEFycm93WydCaW5hcnlWZWN0b3InXSA9IEJpbmFyeVZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1N0cnVjdFZlY3RvciddID0gU3RydWN0VmVjdG9yO1xuICAgICAgICBBcnJvd1snRmxvYXQxNlZlY3RvciddID0gRmxvYXQxNlZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0Zsb2F0MzJWZWN0b3InXSA9IEZsb2F0MzJWZWN0b3I7XG4gICAgICAgIEFycm93WydGbG9hdDY0VmVjdG9yJ10gPSBGbG9hdDY0VmVjdG9yO1xuICAgICAgICBBcnJvd1snRGVjaW1hbFZlY3RvciddID0gRGVjaW1hbFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1RpbWVzdGFtcFZlY3RvciddID0gVGltZXN0YW1wVmVjdG9yO1xuICAgICAgICBBcnJvd1snRGljdGlvbmFyeVZlY3RvciddID0gRGljdGlvbmFyeVZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ0ZpeGVkU2l6ZUxpc3RWZWN0b3InXSA9IEZpeGVkU2l6ZUxpc3RWZWN0b3I7XG4gICAgfVxufSBjYXRjaCAoZSkgeyAvKiBub3QgdGhlIFVNRCBidW5kbGUgKi8gfVxuLyogZW5kIGNsb3N1cmUgZXhwb3J0cyAqL1xuIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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RyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFFBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2hCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFlBQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3hCLFlBQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3hCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFlBQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQ3hCLFVBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3BCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQzVCLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQzFCLFNBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2xCLFdBQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFVBQUssR0FB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LENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0FBRW5ELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDdkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUNqRCxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0FBRXJELEtBQUssQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztBQUV0RSxLQUFLLENBQUMsSUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzdDLEtBQUssQ0FBQyxJQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDN0MsS0FBSyxDQUFDLElBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUMzQyxLQUFLLENBQUMsSUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQy9DLEtBQUssQ0FBQyxJQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDakQsS0FBSyxDQUFDLElBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM3QyxLQUFLLENBQUMsSUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzdDLEtBQUssQ0FBQyxJQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDbkQsS0FBSyxDQUFDLElBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztBQUM3QyxLQUFLLENBQUMsSUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzdDLEtBQUssQ0FBQyxJQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7QUFDdkQsS0FBSyxDQUFDLElBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztBQUNyRCxLQUFLLENBQUMsSUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQzdDLEtBQUssQ0FBQyxJQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDakQsS0FBSyxDQUFDLElBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztBQUMvQyxLQUFLLENBQUMsSUFBWSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7QUFDbkUsS0FBSyxDQUFDLElBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztBQUMvRCxLQUFLLENBQUMsSUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQzNDLEtBQUssQ0FBQyxJQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7QUFDekQsS0FBSyxDQUFDLElBQVksQ0FBQyxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztBQUN6RCxLQUFLLENBQUMsSUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0FBRTVELEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFDakQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztBQUMvQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0FBQ25ELEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7QUFDckQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztBQUNqRCxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0FBQ2pELEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7QUFDdkQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztBQUNqRCxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0FBQ2pELEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7QUFDM0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztBQUN6RCxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0FBQ2pELEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7QUFDckQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztBQUNuRCxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBQzdELEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7QUFDL0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7QUFDdkUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0FBQ25FLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDL0MsS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztBQUU3RCxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0FBQ3JELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7QUFDbkQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztBQUV2RCxRQUFRLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7QUFDL0UsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDIiwiZmlsZSI6IkFycm93LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZVxuLy8gb3IgbW9yZSBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlXG4vLyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvblxuLy8gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZVxuLy8gdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZVxuLy8gXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4vLyB3aXRoIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4vL1xuLy8gICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbi8vXG4vLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsXG4vLyBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhblxuLy8gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcbi8vIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZVxuLy8gc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9uc1xuLy8gdW5kZXIgdGhlIExpY2Vuc2UuXG5cbmltcG9ydCAqIGFzIHR5cGVfIGZyb20gJy4vdHlwZSc7XG5pbXBvcnQgKiBhcyBkYXRhXyBmcm9tICcuL2RhdGEnO1xuaW1wb3J0ICogYXMgdmVjdG9yXyBmcm9tICcuL3ZlY3Rvcic7XG5pbXBvcnQgKiBhcyB1dGlsXyBmcm9tICcuL3V0aWwvaW50JztcbmltcG9ydCAqIGFzIHZpc2l0b3JfIGZyb20gJy4vdmlzaXRvcic7XG5pbXBvcnQgKiBhcyB2aWV3XyBmcm9tICcuL3ZlY3Rvci92aWV3JztcbmltcG9ydCAqIGFzIHByZWRpY2F0ZV8gZnJvbSAnLi9wcmVkaWNhdGUnO1xuaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi92ZWN0b3InO1xuaW1wb3J0IHsgUmVjb3JkQmF0Y2ggfSBmcm9tICcuL3JlY29yZGJhdGNoJztcbmltcG9ydCB7IFNjaGVtYSwgRmllbGQsIFR5cGUgfSBmcm9tICcuL3R5cGUnO1xuaW1wb3J0IHsgVGFibGUsIERhdGFGcmFtZSwgTmV4dEZ1bmMsIEJpbmRGdW5jLCBDb3VudEJ5UmVzdWx0IH0gZnJvbSAnLi90YWJsZSc7XG5pbXBvcnQgeyByZWFkLCByZWFkQXN5bmMgfSBmcm9tICcuL2lwYy9yZWFkZXIvYXJyb3cnO1xuXG5leHBvcnQgaW1wb3J0IFZpZXcgPSB2ZWN0b3JfLlZpZXc7XG5leHBvcnQgaW1wb3J0IFZlY3Rvckxpa2UgPSB2ZWN0b3JfLlZlY3Rvckxpa2U7XG5leHBvcnQgaW1wb3J0IFR5cGVkQXJyYXkgPSB0eXBlXy5UeXBlZEFycmF5O1xuZXhwb3J0IGltcG9ydCBJbnRCaXRXaWR0aCA9IHR5cGVfLkludEJpdFdpZHRoO1xuZXhwb3J0IGltcG9ydCBUaW1lQml0V2lkdGggPSB0eXBlXy5UaW1lQml0V2lkdGg7XG5leHBvcnQgaW1wb3J0IFR5cGVkQXJyYXlDb25zdHJ1Y3RvciA9IHR5cGVfLlR5cGVkQXJyYXlDb25zdHJ1Y3RvcjtcblxuZXhwb3J0IHsgcmVhZCwgcmVhZEFzeW5jIH07XG5leHBvcnQgeyBUYWJsZSwgRGF0YUZyYW1lLCBOZXh0RnVuYywgQmluZEZ1bmMsIENvdW50QnlSZXN1bHQgfTtcbmV4cG9ydCB7IEZpZWxkLCBTY2hlbWEsIFJlY29yZEJhdGNoLCBWZWN0b3IsIFR5cGUgfTtcblxuZXhwb3J0IG5hbWVzcGFjZSB1dGlsIHtcbiAgICBleHBvcnQgaW1wb3J0IFVpbnQ2NCA9IHV0aWxfLlVpbnQ2NDtcbiAgICBleHBvcnQgaW1wb3J0IEludDY0ID0gdXRpbF8uSW50NjQ7XG4gICAgZXhwb3J0IGltcG9ydCBJbnQxMjggPSB1dGlsXy5JbnQxMjg7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZGF0YSB7XG4gICAgZXhwb3J0IGltcG9ydCBCYXNlRGF0YSA9IGRhdGFfLkJhc2VEYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgRmxhdERhdGEgPSBkYXRhXy5GbGF0RGF0YTtcbiAgICBleHBvcnQgaW1wb3J0IEJvb2xEYXRhID0gZGF0YV8uQm9vbERhdGE7XG4gICAgZXhwb3J0IGltcG9ydCBGbGF0TGlzdERhdGEgPSBkYXRhXy5GbGF0TGlzdERhdGE7XG4gICAgZXhwb3J0IGltcG9ydCBEaWN0aW9uYXJ5RGF0YSA9IGRhdGFfLkRpY3Rpb25hcnlEYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgTmVzdGVkRGF0YSA9IGRhdGFfLk5lc3RlZERhdGE7XG4gICAgZXhwb3J0IGltcG9ydCBMaXN0RGF0YSA9IGRhdGFfLkxpc3REYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgVW5pb25EYXRhID0gZGF0YV8uVW5pb25EYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgU3BhcnNlVW5pb25EYXRhID0gZGF0YV8uU3BhcnNlVW5pb25EYXRhO1xuICAgIGV4cG9ydCBpbXBvcnQgRGVuc2VVbmlvbkRhdGEgPSBkYXRhXy5EZW5zZVVuaW9uRGF0YTtcbiAgICBleHBvcnQgaW1wb3J0IENodW5rZWREYXRhID0gZGF0YV8uQ2h1bmtlZERhdGE7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgZW51bV8ge1xuICAgIGV4cG9ydCBpbXBvcnQgVHlwZSA9IHR5cGVfLkFycm93VHlwZTtcbiAgICBleHBvcnQgaW1wb3J0IERhdGVVbml0ID0gdHlwZV8uRGF0ZVVuaXQ7XG4gICAgZXhwb3J0IGltcG9ydCBUaW1lVW5pdCA9IHR5cGVfLlRpbWVVbml0O1xuICAgIGV4cG9ydCBpbXBvcnQgUHJlY2lzaW9uID0gdHlwZV8uUHJlY2lzaW9uO1xuICAgIGV4cG9ydCBpbXBvcnQgVW5pb25Nb2RlID0gdHlwZV8uVW5pb25Nb2RlO1xuICAgIGV4cG9ydCBpbXBvcnQgVmVjdG9yVHlwZSA9IHR5cGVfLlZlY3RvclR5cGU7XG4gICAgZXhwb3J0IGltcG9ydCBJbnRlcnZhbFVuaXQgPSB0eXBlXy5JbnRlcnZhbFVuaXQ7XG4gICAgZXhwb3J0IGltcG9ydCBNZXNzYWdlSGVhZGVyID0gdHlwZV8uTWVzc2FnZUhlYWRlcjtcbiAgICBleHBvcnQgaW1wb3J0IE1ldGFkYXRhVmVyc2lvbiA9IHR5cGVfLk1ldGFkYXRhVmVyc2lvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB0eXBlIHtcbiAgICBleHBvcnQgaW1wb3J0IFNjaGVtYSA9IHR5cGVfLlNjaGVtYTtcbiAgICBleHBvcnQgaW1wb3J0IEZpZWxkID0gdHlwZV8uRmllbGQ7XG4gICAgZXhwb3J0IGltcG9ydCBOdWxsID0gdHlwZV8uTnVsbDtcbiAgICBleHBvcnQgaW1wb3J0IEludCA9IHR5cGVfLkludDtcbiAgICBleHBvcnQgaW1wb3J0IEludDggPSB0eXBlXy5JbnQ4O1xuICAgIGV4cG9ydCBpbXBvcnQgSW50MTYgPSB0eXBlXy5JbnQxNjtcbiAgICBleHBvcnQgaW1wb3J0IEludDMyID0gdHlwZV8uSW50MzI7XG4gICAgZXhwb3J0IGltcG9ydCBJbnQ2NCA9IHR5cGVfLkludDY0O1xuICAgIGV4cG9ydCBpbXBvcnQgVWludDggPSB0eXBlXy5VaW50ODtcbiAgICBleHBvcnQgaW1wb3J0IFVpbnQxNiA9IHR5cGVfLlVpbnQxNjtcbiAgICBleHBvcnQgaW1wb3J0IFVpbnQzMiA9IHR5cGVfLlVpbnQzMjtcbiAgICBleHBvcnQgaW1wb3J0IFVpbnQ2NCA9IHR5cGVfLlVpbnQ2NDtcbiAgICBleHBvcnQgaW1wb3J0IEZsb2F0ID0gdHlwZV8uRmxvYXQ7XG4gICAgZXhwb3J0IGltcG9ydCBGbG9hdDE2ID0gdHlwZV8uRmxvYXQxNjtcbiAgICBleHBvcnQgaW1wb3J0IEZsb2F0MzIgPSB0eXBlXy5GbG9hdDMyO1xuICAgIGV4cG9ydCBpbXBvcnQgRmxvYXQ2NCA9IHR5cGVfLkZsb2F0NjQ7XG4gICAgZXhwb3J0IGltcG9ydCBCaW5hcnkgPSB0eXBlXy5CaW5hcnk7XG4gICAgZXhwb3J0IGltcG9ydCBVdGY4ID0gdHlwZV8uVXRmODtcbiAgICBleHBvcnQgaW1wb3J0IEJvb2wgPSB0eXBlXy5Cb29sO1xuICAgIGV4cG9ydCBpbXBvcnQgRGVjaW1hbCA9IHR5cGVfLkRlY2ltYWw7XG4gICAgZXhwb3J0IGltcG9ydCBEYXRlXyA9IHR5cGVfLkRhdGVfO1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZSA9IHR5cGVfLlRpbWU7XG4gICAgZXhwb3J0IGltcG9ydCBUaW1lc3RhbXAgPSB0eXBlXy5UaW1lc3RhbXA7XG4gICAgZXhwb3J0IGltcG9ydCBJbnRlcnZhbCA9IHR5cGVfLkludGVydmFsO1xuICAgIGV4cG9ydCBpbXBvcnQgTGlzdCA9IHR5cGVfLkxpc3Q7XG4gICAgZXhwb3J0IGltcG9ydCBTdHJ1Y3QgPSB0eXBlXy5TdHJ1Y3Q7XG4gICAgZXhwb3J0IGltcG9ydCBVbmlvbiA9IHR5cGVfLlVuaW9uO1xuICAgIGV4cG9ydCBpbXBvcnQgRGVuc2VVbmlvbiA9IHR5cGVfLkRlbnNlVW5pb247XG4gICAgZXhwb3J0IGltcG9ydCBTcGFyc2VVbmlvbiA9IHR5cGVfLlNwYXJzZVVuaW9uO1xuICAgIGV4cG9ydCBpbXBvcnQgRml4ZWRTaXplQmluYXJ5ID0gdHlwZV8uRml4ZWRTaXplQmluYXJ5O1xuICAgIGV4cG9ydCBpbXBvcnQgRml4ZWRTaXplTGlzdCA9IHR5cGVfLkZpeGVkU2l6ZUxpc3Q7XG4gICAgZXhwb3J0IGltcG9ydCBNYXBfID0gdHlwZV8uTWFwXztcbiAgICBleHBvcnQgaW1wb3J0IERpY3Rpb25hcnkgPSB0eXBlXy5EaWN0aW9uYXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIHZlY3RvciB7XG4gICAgZXhwb3J0IGltcG9ydCBWZWN0b3IgPSB2ZWN0b3JfLlZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IE51bGxWZWN0b3IgPSB2ZWN0b3JfLk51bGxWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBCb29sVmVjdG9yID0gdmVjdG9yXy5Cb29sVmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgSW50VmVjdG9yID0gdmVjdG9yXy5JbnRWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBGbG9hdFZlY3RvciA9IHZlY3Rvcl8uRmxvYXRWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBEYXRlVmVjdG9yID0gdmVjdG9yXy5EYXRlVmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgRGVjaW1hbFZlY3RvciA9IHZlY3Rvcl8uRGVjaW1hbFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IFRpbWVWZWN0b3IgPSB2ZWN0b3JfLlRpbWVWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBUaW1lc3RhbXBWZWN0b3IgPSB2ZWN0b3JfLlRpbWVzdGFtcFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IEludGVydmFsVmVjdG9yID0gdmVjdG9yXy5JbnRlcnZhbFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IEJpbmFyeVZlY3RvciA9IHZlY3Rvcl8uQmluYXJ5VmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgRml4ZWRTaXplQmluYXJ5VmVjdG9yID0gdmVjdG9yXy5GaXhlZFNpemVCaW5hcnlWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBVdGY4VmVjdG9yID0gdmVjdG9yXy5VdGY4VmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgTGlzdFZlY3RvciA9IHZlY3Rvcl8uTGlzdFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IEZpeGVkU2l6ZUxpc3RWZWN0b3IgPSB2ZWN0b3JfLkZpeGVkU2l6ZUxpc3RWZWN0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBNYXBWZWN0b3IgPSB2ZWN0b3JfLk1hcFZlY3RvcjtcbiAgICBleHBvcnQgaW1wb3J0IFN0cnVjdFZlY3RvciA9IHZlY3Rvcl8uU3RydWN0VmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgVW5pb25WZWN0b3IgPSB2ZWN0b3JfLlVuaW9uVmVjdG9yO1xuICAgIGV4cG9ydCBpbXBvcnQgRGljdGlvbmFyeVZlY3RvciA9IHZlY3Rvcl8uRGljdGlvbmFyeVZlY3Rvcjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB2aXNpdG9yIHtcbiAgICBleHBvcnQgaW1wb3J0IFR5cGVWaXNpdG9yID0gdmlzaXRvcl8uVHlwZVZpc2l0b3I7XG4gICAgZXhwb3J0IGltcG9ydCBWZWN0b3JWaXNpdG9yID0gdmlzaXRvcl8uVmVjdG9yVmlzaXRvcjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSB2aWV3IHtcbiAgICBleHBvcnQgaW1wb3J0IENodW5rZWRWaWV3ID0gdmlld18uQ2h1bmtlZFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBEaWN0aW9uYXJ5VmlldyA9IHZpZXdfLkRpY3Rpb25hcnlWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgTGlzdFZpZXcgPSB2aWV3Xy5MaXN0VmlldztcbiAgICBleHBvcnQgaW1wb3J0IEZpeGVkU2l6ZUxpc3RWaWV3ID0gdmlld18uRml4ZWRTaXplTGlzdFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBCaW5hcnlWaWV3ID0gdmlld18uQmluYXJ5VmlldztcbiAgICBleHBvcnQgaW1wb3J0IFV0ZjhWaWV3ID0gdmlld18uVXRmOFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBVbmlvblZpZXcgPSB2aWV3Xy5VbmlvblZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBEZW5zZVVuaW9uVmlldyA9IHZpZXdfLkRlbnNlVW5pb25WaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgTmVzdGVkVmlldyA9IHZpZXdfLk5lc3RlZFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBTdHJ1Y3RWaWV3ID0gdmlld18uU3RydWN0VmlldztcbiAgICBleHBvcnQgaW1wb3J0IE1hcFZpZXcgPSB2aWV3Xy5NYXBWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgRmxhdFZpZXcgPSB2aWV3Xy5GbGF0VmlldztcbiAgICBleHBvcnQgaW1wb3J0IE51bGxWaWV3ID0gdmlld18uTnVsbFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBCb29sVmlldyA9IHZpZXdfLkJvb2xWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgVmFsaWRpdHlWaWV3ID0gdmlld18uVmFsaWRpdHlWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgUHJpbWl0aXZlVmlldyA9IHZpZXdfLlByaW1pdGl2ZVZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBGaXhlZFNpemVWaWV3ID0gdmlld18uRml4ZWRTaXplVmlldztcbiAgICBleHBvcnQgaW1wb3J0IEZsb2F0MTZWaWV3ID0gdmlld18uRmxvYXQxNlZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBEYXRlRGF5VmlldyA9IHZpZXdfLkRhdGVEYXlWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgRGF0ZU1pbGxpc2Vjb25kVmlldyA9IHZpZXdfLkRhdGVNaWxsaXNlY29uZFZpZXc7XG4gICAgZXhwb3J0IGltcG9ydCBUaW1lc3RhbXBEYXlWaWV3ID0gdmlld18uVGltZXN0YW1wRGF5VmlldztcbiAgICBleHBvcnQgaW1wb3J0IFRpbWVzdGFtcFNlY29uZFZpZXcgPSB2aWV3Xy5UaW1lc3RhbXBTZWNvbmRWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZXN0YW1wTWlsbGlzZWNvbmRWaWV3ID0gdmlld18uVGltZXN0YW1wTWlsbGlzZWNvbmRWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZXN0YW1wTWljcm9zZWNvbmRWaWV3ID0gdmlld18uVGltZXN0YW1wTWljcm9zZWNvbmRWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgVGltZXN0YW1wTmFub3NlY29uZFZpZXcgPSB2aWV3Xy5UaW1lc3RhbXBOYW5vc2Vjb25kVmlldztcbiAgICBleHBvcnQgaW1wb3J0IEludGVydmFsWWVhck1vbnRoVmlldyA9IHZpZXdfLkludGVydmFsWWVhck1vbnRoVmlldztcbiAgICBleHBvcnQgaW1wb3J0IEludGVydmFsWWVhclZpZXcgPSB2aWV3Xy5JbnRlcnZhbFllYXJWaWV3O1xuICAgIGV4cG9ydCBpbXBvcnQgSW50ZXJ2YWxNb250aFZpZXcgPSB2aWV3Xy5JbnRlcnZhbE1vbnRoVmlldztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBwcmVkaWNhdGUge1xuICAgIGV4cG9ydCBpbXBvcnQgY29sID0gcHJlZGljYXRlXy5jb2w7XG4gICAgZXhwb3J0IGltcG9ydCBsaXQgPSBwcmVkaWNhdGVfLmxpdDtcbiAgICBleHBvcnQgaW1wb3J0IGN1c3RvbSA9IHByZWRpY2F0ZV8uY3VzdG9tO1xuXG4gICAgZXhwb3J0IGltcG9ydCBPciA9IHByZWRpY2F0ZV8uT3I7XG4gICAgZXhwb3J0IGltcG9ydCBDb2wgPSBwcmVkaWNhdGVfLkNvbDtcbiAgICBleHBvcnQgaW1wb3J0IEFuZCA9IHByZWRpY2F0ZV8uQW5kO1xuICAgIGV4cG9ydCBpbXBvcnQgR1RlcSA9IHByZWRpY2F0ZV8uR1RlcTtcbiAgICBleHBvcnQgaW1wb3J0IExUZXEgPSBwcmVkaWNhdGVfLkxUZXE7XG4gICAgZXhwb3J0IGltcG9ydCBWYWx1ZSA9IHByZWRpY2F0ZV8uVmFsdWU7XG4gICAgZXhwb3J0IGltcG9ydCBFcXVhbHMgPSBwcmVkaWNhdGVfLkVxdWFscztcbiAgICBleHBvcnQgaW1wb3J0IExpdGVyYWwgPSBwcmVkaWNhdGVfLkxpdGVyYWw7XG4gICAgZXhwb3J0IGltcG9ydCBQcmVkaWNhdGUgPSBwcmVkaWNhdGVfLlByZWRpY2F0ZTtcblxuICAgIGV4cG9ydCBpbXBvcnQgUHJlZGljYXRlRnVuYyA9IHByZWRpY2F0ZV8uUHJlZGljYXRlRnVuYztcbn1cblxuLyogVGhlc2UgZXhwb3J0cyBhcmUgbmVlZGVkIGZvciB0aGUgY2xvc3VyZSBhbmQgdWdsaWZ5IHVtZCB0YXJnZXRzICovXG50cnkge1xuICAgIGxldCBBcnJvdzogYW55ID0gZXZhbCgnZXhwb3J0cycpO1xuICAgIGlmIChBcnJvdyAmJiB0eXBlb2YgQXJyb3cgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIHN0cmluZyBpbmRleGVycyB0ZWxsIGNsb3N1cmUgYW5kIHVnbGlmeSBub3QgdG8gcmVuYW1lIHRoZXNlIHByb3BlcnRpZXNcbiAgICAgICAgQXJyb3dbJ2RhdGEnXSA9IGRhdGE7XG4gICAgICAgIEFycm93Wyd0eXBlJ10gPSB0eXBlO1xuICAgICAgICBBcnJvd1sndXRpbCddID0gdXRpbDtcbiAgICAgICAgQXJyb3dbJ3ZpZXcnXSA9IHZpZXc7XG4gICAgICAgIEFycm93WydlbnVtXyddID0gZW51bV87XG4gICAgICAgIEFycm93Wyd2ZWN0b3InXSA9IHZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ3Zpc2l0b3InXSA9IHZpc2l0b3I7XG4gICAgICAgIEFycm93WydwcmVkaWNhdGUnXSA9IHByZWRpY2F0ZTtcblxuICAgICAgICBBcnJvd1sncmVhZCddID0gcmVhZDtcbiAgICAgICAgQXJyb3dbJ3JlYWRBc3luYyddID0gcmVhZEFzeW5jO1xuXG4gICAgICAgIEFycm93WydUeXBlJ10gPSBUeXBlO1xuICAgICAgICBBcnJvd1snRmllbGQnXSA9IEZpZWxkO1xuICAgICAgICBBcnJvd1snU2NoZW1hJ10gPSBTY2hlbWE7XG4gICAgICAgIEFycm93WydWZWN0b3InXSA9IFZlY3RvcjtcbiAgICAgICAgQXJyb3dbJ1JlY29yZEJhdGNoJ10gPSBSZWNvcmRCYXRjaDtcblxuICAgICAgICBBcnJvd1snVGFibGUnXSA9IFRhYmxlO1xuICAgICAgICBBcnJvd1snQ291bnRCeVJlc3VsdCddID0gQ291bnRCeVJlc3VsdDtcbiAgICB9XG59IGNhdGNoIChlKSB7IC8qIG5vdCB0aGUgVU1EIGJ1bmRsZSAqLyB9XG4vKiBlbmQgdW1kIGV4cG9ydHMgKi9cblxuLy8gY2xvc3VyZSBjb21waWxlciBlcmFzZXMgc3RhdGljIHByb3BlcnRpZXMvbWV0aG9kczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvY2xvc3VyZS1jb21waWxlci9pc3N1ZXMvMTc3NlxuLy8gc2V0IHRoZW0gdmlhIHN0cmluZyBpbmRleGVycyB0byBzYXZlIHRoZW0gZnJvbSB0aGUgbWFuZ2xlclxuU2NoZW1hWydmcm9tJ10gPSBTY2hlbWEuZnJvbTtcblRhYmxlWydmcm9tJ10gPSBUYWJsZS5mcm9tO1xuVGFibGVbJ2Zyb21Bc3luYyddID0gVGFibGUuZnJvbUFzeW5jO1xuVGFibGVbJ2VtcHR5J10gPSBUYWJsZS5lbXB0eTtcblZlY3RvclsnY3JlYXRlJ10gPSBWZWN0b3IuY3JlYXRlO1xuUmVjb3JkQmF0Y2hbJ2Zyb20nXSA9IFJlY29yZEJhdGNoLmZyb207XG5cbnV0aWxfLlVpbnQ2NFsnYWRkJ10gPSB1dGlsXy5VaW50NjQuYWRkO1xudXRpbF8uVWludDY0WydtdWx0aXBseSddID0gdXRpbF8uVWludDY0Lm11bHRpcGx5O1xuXG51dGlsXy5JbnQ2NFsnYWRkJ10gPSB1dGlsXy5JbnQ2NC5hZGQ7XG51dGlsXy5JbnQ2NFsnbXVsdGlwbHknXSA9IHV0aWxfLkludDY0Lm11bHRpcGx5O1xudXRpbF8uSW50NjRbJ2Zyb21TdHJpbmcnXSA9IHV0aWxfLkludDY0LmZyb21TdHJpbmc7XG5cbnV0aWxfLkludDEyOFsnYWRkJ10gPSB1dGlsXy5JbnQxMjguYWRkO1xudXRpbF8uSW50MTI4WydtdWx0aXBseSddID0gdXRpbF8uSW50MTI4Lm11bHRpcGx5O1xudXRpbF8uSW50MTI4Wydmcm9tU3RyaW5nJ10gPSB1dGlsXy5JbnQxMjguZnJvbVN0cmluZztcblxuZGF0YV8uQ2h1bmtlZERhdGFbJ2NvbXB1dGVPZmZzZXRzJ10gPSBkYXRhXy5DaHVua2VkRGF0YS5jb21wdXRlT2Zmc2V0cztcblxuKHR5cGVfLlR5cGUgYXMgYW55KVsnTk9ORSddID0gdHlwZV8uVHlwZS5OT05FO1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnTnVsbCddID0gdHlwZV8uVHlwZS5OdWxsO1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnSW50J10gPSB0eXBlXy5UeXBlLkludDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0Zsb2F0J10gPSB0eXBlXy5UeXBlLkZsb2F0O1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnQmluYXJ5J10gPSB0eXBlXy5UeXBlLkJpbmFyeTtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ1V0ZjgnXSA9IHR5cGVfLlR5cGUuVXRmODtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0Jvb2wnXSA9IHR5cGVfLlR5cGUuQm9vbDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0RlY2ltYWwnXSA9IHR5cGVfLlR5cGUuRGVjaW1hbDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0RhdGUnXSA9IHR5cGVfLlR5cGUuRGF0ZTtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ1RpbWUnXSA9IHR5cGVfLlR5cGUuVGltZTtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ1RpbWVzdGFtcCddID0gdHlwZV8uVHlwZS5UaW1lc3RhbXA7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydJbnRlcnZhbCddID0gdHlwZV8uVHlwZS5JbnRlcnZhbDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0xpc3QnXSA9IHR5cGVfLlR5cGUuTGlzdDtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ1N0cnVjdCddID0gdHlwZV8uVHlwZS5TdHJ1Y3Q7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydVbmlvbiddID0gdHlwZV8uVHlwZS5Vbmlvbjtcbih0eXBlXy5UeXBlIGFzIGFueSlbJ0ZpeGVkU2l6ZUJpbmFyeSddID0gdHlwZV8uVHlwZS5GaXhlZFNpemVCaW5hcnk7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydGaXhlZFNpemVMaXN0J10gPSB0eXBlXy5UeXBlLkZpeGVkU2l6ZUxpc3Q7XG4odHlwZV8uVHlwZSBhcyBhbnkpWydNYXAnXSA9IHR5cGVfLlR5cGUuTWFwO1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnRGljdGlvbmFyeSddID0gdHlwZV8uVHlwZS5EaWN0aW9uYXJ5O1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnRGVuc2VVbmlvbiddID0gdHlwZV8uVHlwZS5EZW5zZVVuaW9uO1xuKHR5cGVfLlR5cGUgYXMgYW55KVsnU3BhcnNlVW5pb24nXSA9IHR5cGVfLlR5cGUuU3BhcnNlVW5pb247XG5cbnR5cGVfLkRhdGFUeXBlWydpc051bGwnXSA9IHR5cGVfLkRhdGFUeXBlLmlzTnVsbDtcbnR5cGVfLkRhdGFUeXBlWydpc0ludCddID0gdHlwZV8uRGF0YVR5cGUuaXNJbnQ7XG50eXBlXy5EYXRhVHlwZVsnaXNGbG9hdCddID0gdHlwZV8uRGF0YVR5cGUuaXNGbG9hdDtcbnR5cGVfLkRhdGFUeXBlWydpc0JpbmFyeSddID0gdHlwZV8uRGF0YVR5cGUuaXNCaW5hcnk7XG50eXBlXy5EYXRhVHlwZVsnaXNVdGY4J10gPSB0eXBlXy5EYXRhVHlwZS5pc1V0Zjg7XG50eXBlXy5EYXRhVHlwZVsnaXNCb29sJ10gPSB0eXBlXy5EYXRhVHlwZS5pc0Jvb2w7XG50eXBlXy5EYXRhVHlwZVsnaXNEZWNpbWFsJ10gPSB0eXBlXy5EYXRhVHlwZS5pc0RlY2ltYWw7XG50eXBlXy5EYXRhVHlwZVsnaXNEYXRlJ10gPSB0eXBlXy5EYXRhVHlwZS5pc0RhdGU7XG50eXBlXy5EYXRhVHlwZVsnaXNUaW1lJ10gPSB0eXBlXy5EYXRhVHlwZS5pc1RpbWU7XG50eXBlXy5EYXRhVHlwZVsnaXNUaW1lc3RhbXAnXSA9IHR5cGVfLkRhdGFUeXBlLmlzVGltZXN0YW1wO1xudHlwZV8uRGF0YVR5cGVbJ2lzSW50ZXJ2YWwnXSA9IHR5cGVfLkRhdGFUeXBlLmlzSW50ZXJ2YWw7XG50eXBlXy5EYXRhVHlwZVsnaXNMaXN0J10gPSB0eXBlXy5EYXRhVHlwZS5pc0xpc3Q7XG50eXBlXy5EYXRhVHlwZVsnaXNTdHJ1Y3QnXSA9IHR5cGVfLkRhdGFUeXBlLmlzU3RydWN0O1xudHlwZV8uRGF0YVR5cGVbJ2lzVW5pb24nXSA9IHR5cGVfLkRhdGFUeXBlLmlzVW5pb247XG50eXBlXy5EYXRhVHlwZVsnaXNEZW5zZVVuaW9uJ10gPSB0eXBlXy5EYXRhVHlwZS5pc0RlbnNlVW5pb247XG50eXBlXy5EYXRhVHlwZVsnaXNTcGFyc2VVbmlvbiddID0gdHlwZV8uRGF0YVR5cGUuaXNTcGFyc2VVbmlvbjtcbnR5cGVfLkRhdGFUeXBlWydpc0ZpeGVkU2l6ZUJpbmFyeSddID0gdHlwZV8uRGF0YVR5cGUuaXNGaXhlZFNpemVCaW5hcnk7XG50eXBlXy5EYXRhVHlwZVsnaXNGaXhlZFNpemVMaXN0J10gPSB0eXBlXy5EYXRhVHlwZS5pc0ZpeGVkU2l6ZUxpc3Q7XG50eXBlXy5EYXRhVHlwZVsnaXNNYXAnXSA9IHR5cGVfLkRhdGFUeXBlLmlzTWFwO1xudHlwZV8uRGF0YVR5cGVbJ2lzRGljdGlvbmFyeSddID0gdHlwZV8uRGF0YVR5cGUuaXNEaWN0aW9uYXJ5O1xuXG52ZWN0b3JfLkJvb2xWZWN0b3JbJ2Zyb20nXSA9IHZlY3Rvcl8uQm9vbFZlY3Rvci5mcm9tO1xudmVjdG9yXy5JbnRWZWN0b3JbJ2Zyb20nXSA9IHZlY3Rvcl8uSW50VmVjdG9yLmZyb207XG52ZWN0b3JfLkZsb2F0VmVjdG9yWydmcm9tJ10gPSB2ZWN0b3JfLkZsb2F0VmVjdG9yLmZyb207XG5cbnZpc2l0b3JfLlR5cGVWaXNpdG9yWyd2aXNpdFR5cGVJbmxpbmUnXSA9IHZpc2l0b3JfLlR5cGVWaXNpdG9yLnZpc2l0VHlwZUlubGluZTtcbnZpc2l0b3JfLlZlY3RvclZpc2l0b3JbJ3Zpc2l0VHlwZUlubGluZSddID0gdmlzaXRvcl8uVmVjdG9yVmlzaXRvci52aXNpdFR5cGVJbmxpbmU7Il19 |
{ | ||
"name": "@apache-arrow/esnext-cjs", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"main": "Arrow.js", | ||
@@ -22,6 +22,15 @@ "types": "Arrow.d.ts", | ||
"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; | ||
} |
@@ -19,31 +19,40 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const vector_1 = require("./vector"); | ||
const virtual_1 = require("./virtual"); | ||
class DictionaryVector extends vector_1.Vector { | ||
constructor(argv) { | ||
super(); | ||
this.data = argv.data; | ||
this.keys = argv.keys; | ||
this.length = this.keys.length; | ||
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 virtual_1.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); | ||
} | ||
} | ||
exports.DictionaryVector = DictionaryVector; | ||
exports.DictionaryView = DictionaryView; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlY3Rvci9kaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2REFBNkQ7QUFDN0QsK0RBQStEO0FBQy9ELHdEQUF3RDtBQUN4RCw2REFBNkQ7QUFDN0Qsb0RBQW9EO0FBQ3BELDZEQUE2RDtBQUM3RCw2REFBNkQ7QUFDN0QsRUFBRTtBQUNGLCtDQUErQztBQUMvQyxFQUFFO0FBQ0YsNkRBQTZEO0FBQzdELDhEQUE4RDtBQUM5RCx5REFBeUQ7QUFDekQsNERBQTREO0FBQzVELDBEQUEwRDtBQUMxRCxxQkFBcUI7O0FBRXJCLHFDQUFrQztBQUNsQyx1Q0FBMEM7QUFFMUMsc0JBQWlDLFNBQVEsZUFBUztJQUk5QyxZQUFZLElBQStDO1FBQ3ZELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFDRCxHQUFHLENBQUMsS0FBYTtRQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQWE7UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxRQUFRLENBQUMsR0FBVztRQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFHLE9BQW9CO1FBQzFCLE1BQU0sQ0FBQyxJQUFJLHVCQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNkLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBM0JELDRDQTJCQyIsImZpbGUiOiJ2ZWN0b3IvZGljdGlvbmFyeS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgeyBWZWN0b3IgfSBmcm9tICcuL3ZlY3Rvcic7XG5pbXBvcnQgeyBWaXJ0dWFsVmVjdG9yIH0gZnJvbSAnLi92aXJ0dWFsJztcblxuZXhwb3J0IGNsYXNzIERpY3Rpb25hcnlWZWN0b3I8VD4gZXh0ZW5kcyBWZWN0b3I8VD4ge1xuICAgIHJlYWRvbmx5IGxlbmd0aDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGRhdGE6IFZlY3RvcjxUPjtcbiAgICByZWFkb25seSBrZXlzOiBWZWN0b3I8bnVtYmVyPjtcbiAgICBjb25zdHJ1Y3Rvcihhcmd2OiB7IGRhdGE6IFZlY3RvcjxUPiwga2V5czogVmVjdG9yPG51bWJlcj4gfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRhdGEgPSBhcmd2LmRhdGE7XG4gICAgICAgIHRoaXMua2V5cyA9IGFyZ3Yua2V5cztcbiAgICAgICAgdGhpcy5sZW5ndGggPSB0aGlzLmtleXMubGVuZ3RoO1xuICAgIH1cbiAgICBnZXQoaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSh0aGlzLmdldEtleShpbmRleCkhKTtcbiAgICB9XG4gICAgZ2V0S2V5KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5cy5nZXQoaW5kZXgpO1xuICAgIH1cbiAgICBnZXRWYWx1ZShrZXk6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldChrZXkpO1xuICAgIH1cbiAgICBjb25jYXQoLi4udmVjdG9yczogVmVjdG9yPFQ+W10pOiBWZWN0b3I8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IFZpcnR1YWxWZWN0b3IoQXJyYXksIHRoaXMsIC4uLnZlY3RvcnMpO1xuICAgIH1cbiAgICAqW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAtMSwgbiA9IHRoaXMubGVuZ3RoOyArK2kgPCBuOykge1xuICAgICAgICAgICAgeWllbGQgdGhpcy5nZXQoaSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlY3Rvci9kaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2REFBNkQ7QUFDN0QsK0RBQStEO0FBQy9ELHdEQUF3RDtBQUN4RCw2REFBNkQ7QUFDN0Qsb0RBQW9EO0FBQ3BELDZEQUE2RDtBQUM3RCw2REFBNkQ7QUFDN0QsRUFBRTtBQUNGLCtDQUErQztBQUMvQyxFQUFFO0FBQ0YsNkRBQTZEO0FBQzdELDhEQUE4RDtBQUM5RCx5REFBeUQ7QUFDekQsNERBQTREO0FBQzVELDBEQUEwRDtBQUMxRCxxQkFBcUI7O0FBTXJCO0lBR0ksWUFBWSxVQUFxQixFQUFFLFFBQXFCO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFDTSxLQUFLLENBQUMsSUFBeUI7UUFDbEMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFTLENBQUM7SUFDM0YsQ0FBQztJQUNNLE9BQU8sQ0FBQyxLQUFhO1FBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ00sR0FBRyxDQUFDLEtBQWE7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNNLEdBQUcsQ0FBQyxLQUFhLEVBQUUsS0FBa0I7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNNLE9BQU87UUFDVixNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFDTSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3pELEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3JELE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFDTSxPQUFPLENBQUMsTUFBbUI7UUFDOUIseURBQXlEO1FBQ3pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQUMsQ0FBQztRQUUvQiw0REFBNEQ7UUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSjtBQXBDRCx3Q0FvQ0MiLCJmaWxlIjoidmVjdG9yL2RpY3Rpb25hcnkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgRGF0YSB9IGZyb20gJy4uL2RhdGEnO1xuaW1wb3J0IHsgVmlldywgVmVjdG9yIH0gZnJvbSAnLi4vdmVjdG9yJztcbmltcG9ydCB7IEl0ZXJhYmxlQXJyYXlMaWtlLCBEYXRhVHlwZSwgRGljdGlvbmFyeSwgSW50IH0gZnJvbSAnLi4vdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBEaWN0aW9uYXJ5VmlldzxUIGV4dGVuZHMgRGF0YVR5cGU+IGltcGxlbWVudHMgVmlldzxUPiB7XG4gICAgcHVibGljIGluZGljaWVzOiBWZWN0b3I8SW50PjtcbiAgICBwdWJsaWMgZGljdGlvbmFyeTogVmVjdG9yPFQ+O1xuICAgIGNvbnN0cnVjdG9yKGRpY3Rpb25hcnk6IFZlY3RvcjxUPiwgaW5kaWNpZXM6IFZlY3RvcjxJbnQ+KSB7XG4gICAgICAgIHRoaXMuaW5kaWNpZXMgPSBpbmRpY2llcztcbiAgICAgICAgdGhpcy5kaWN0aW9uYXJ5ID0gZGljdGlvbmFyeTtcbiAgICB9XG4gICAgcHVibGljIGNsb25lKGRhdGE6IERhdGE8RGljdGlvbmFyeTxUPj4pOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEaWN0aW9uYXJ5VmlldyhkYXRhLmRpY3Rpb25hcnksIHRoaXMuaW5kaWNpZXMuY2xvbmUoZGF0YS5pbmRpY2llcykpIGFzIHRoaXM7XG4gICAgfVxuICAgIHB1YmxpYyBpc1ZhbGlkKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kaWNpZXMuaXNWYWxpZChpbmRleCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IFRbJ1RWYWx1ZSddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGljdGlvbmFyeS5nZXQodGhpcy5pbmRpY2llcy5nZXQoaW5kZXgpKTtcbiAgICB9XG4gICAgcHVibGljIHNldChpbmRleDogbnVtYmVyLCB2YWx1ZTogVFsnVFZhbHVlJ10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWN0aW9uYXJ5LnNldCh0aGlzLmluZGljaWVzLmdldChpbmRleCksIHZhbHVlKTtcbiAgICB9XG4gICAgcHVibGljIHRvQXJyYXkoKTogSXRlcmFibGVBcnJheUxpa2U8VFsnVFZhbHVlJ10+IHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzXTtcbiAgICB9XG4gICAgcHVibGljICpbU3ltYm9sLml0ZXJhdG9yXSgpOiBJdGVyYWJsZUl0ZXJhdG9yPFRbJ1RWYWx1ZSddPiB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGljdGlvbmFyeSwgaW5kaWNpZXMgPSB0aGlzLmluZGljaWVzO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IC0xLCBuID0gaW5kaWNpZXMubGVuZ3RoOyArK2luZGV4IDwgbjspIHtcbiAgICAgICAgICAgIHlpZWxkIHZhbHVlcy5nZXQoaW5kaWNpZXMuZ2V0KGluZGV4KSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIGluZGV4T2Yoc2VhcmNoOiBUWydUVmFsdWUnXSkge1xuICAgICAgICAvLyBGaXJzdCBmaW5kIHRoZSBkaWN0aW9uYXJ5IGtleSBmb3IgdGhlIGRlc2lyZWQgdmFsdWUuLi5cbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5kaWN0aW9uYXJ5LmluZGV4T2Yoc2VhcmNoKTtcbiAgICAgICAgaWYgKGtleSA9PT0gLTEpIHsgcmV0dXJuIGtleTsgfVxuXG4gICAgICAgIC8vIC4uLiB0aGVuIGZpbmQgdGhlIGZpcnN0IG9jY3VyZW5jZSBvZiB0aGF0IGtleSBpbiBpbmRpY2llc1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRpY2llcy5pbmRleE9mKGtleSEpO1xuICAgIH1cbn1cbiJdfQ== |
@@ -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; | ||
} |
@@ -19,53 +19,110 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const vector_1 = require("./vector"); | ||
const virtual_1 = require("./virtual"); | ||
class BinaryVector extends vector_1.Vector { | ||
constructor(argv) { | ||
super(); | ||
this.data = argv.data; | ||
this.offsets = argv.offsets; | ||
const vector_1 = require("../vector"); | ||
const text_encoding_utf_8_1 = require("text-encoding-utf-8"); | ||
exports.encodeUtf8 = ((encoder) => encoder.encode.bind(encoder))(new text_encoding_utf_8_1.TextEncoder('utf-8')); | ||
exports.decodeUtf8 = ((decoder) => decoder.decode.bind(decoder))(new text_encoding_utf_8_1.TextDecoder('utf-8')); | ||
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 virtual_1.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; | ||
} | ||
} | ||
exports.BinaryVector = BinaryVector; | ||
class ListVector extends vector_1.Vector { | ||
constructor(argv) { | ||
super(); | ||
this.values = argv.values; | ||
this.offsets = argv.offsets; | ||
exports.ListViewBase = ListViewBase; | ||
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); | ||
} | ||
exports.VariableListViewBase = VariableListViewBase; | ||
class ListView extends VariableListViewBase { | ||
constructor(data) { | ||
super(data); | ||
this.values = vector_1.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 virtual_1.VirtualVector(Array, this, ...vectors); | ||
} | ||
exports.ListView = ListView; | ||
class FixedSizeListView extends ListViewBase { | ||
constructor(data) { | ||
super(data); | ||
this.size = data.type.listSize; | ||
this.values = vector_1.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)); | ||
} | ||
} | ||
} | ||
exports.ListVector = ListVector; | ||
class FixedSizeListVector extends vector_1.Vector { | ||
constructor(argv) { | ||
super(); | ||
this.size = argv.size; | ||
this.values = argv.values; | ||
exports.FixedSizeListView = FixedSizeListView; | ||
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 virtual_1.VirtualVector(Array, this, ...vectors); | ||
} | ||
exports.BinaryView = BinaryView; | ||
class Utf8View extends VariableListViewBase { | ||
getList(values, index, valueOffsets) { | ||
return exports.decodeUtf8(values.subarray(valueOffsets[index], valueOffsets[index + 1])); | ||
} | ||
setList(values, index, value, valueOffsets) { | ||
const offset = valueOffsets[index]; | ||
values.set(exports.encodeUtf8(value).subarray(0, valueOffsets[index + 1] - offset), offset); | ||
} | ||
} | ||
exports.FixedSizeListVector = FixedSizeListVector; | ||
exports.Utf8View = Utf8View; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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LENBQUMsR0FBRyxPQUF5QjtRQUMvQixNQUFNLENBQUMsSUFBSSx1QkFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0o7QUFkRCxrREFjQyIsImZpbGUiOiJ2ZWN0b3IvbGlzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmVcbi8vIG9yIG1vcmUgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZVxuLy8gZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25cbi8vIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGVcbi8vIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGVcbi8vIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuLy8gd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuLy9cbi8vICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4vL1xuLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLFxuLy8gc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW5cbi8vIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXG4vLyBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGVcbi8vIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbi8vIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBWZWN0b3IgfSBmcm9tICcuL3ZlY3Rvcic7XG5pbXBvcnQgeyBWaXJ0dWFsVmVjdG9yIH0gZnJvbSAnLi92aXJ0dWFsJztcblxuZXhwb3J0IGNsYXNzIEJpbmFyeVZlY3RvciBleHRlbmRzIFZlY3RvcjxVaW50OEFycmF5PiB7XG4gICAgcmVhZG9ubHkgZGF0YTogVWludDhBcnJheTtcbiAgICByZWFkb25seSBvZmZzZXRzOiBJbnQzMkFycmF5O1xuICAgIGNvbnN0cnVjdG9yKGFyZ3Y6IHsgb2Zmc2V0czogSW50MzJBcnJheSwgZGF0YTogVWludDhBcnJheSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGF0YSA9IGFyZ3YuZGF0YTtcbiAgICAgICAgdGhpcy5vZmZzZXRzID0gYXJndi5vZmZzZXRzO1xuICAgIH1cbiAgICBnZXQoaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnN1YmFycmF5KHRoaXMub2Zmc2V0c1tpbmRleF0sIHRoaXMub2Zmc2V0c1tpbmRleCArIDFdKTtcbiAgICB9XG4gICAgY29uY2F0KC4uLnZlY3RvcnM6IFZlY3RvcjxVaW50OEFycmF5PltdKTogVmVjdG9yPFVpbnQ4QXJyYXk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBWaXJ0dWFsVmVjdG9yKEFycmF5LCB0aGlzLCAuLi52ZWN0b3JzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0VmVjdG9yPFQ+IGV4dGVuZHMgVmVjdG9yPFRbXT4ge1xuICAgIHJlYWRvbmx5IG9mZnNldHM6IEludDMyQXJyYXk7XG4gICAgcmVhZG9ubHkgdmFsdWVzOiBWZWN0b3I8VD47XG4gICAgY29uc3RydWN0b3IoYXJndjogeyBvZmZzZXRzOiBJbnQzMkFycmF5LCB2YWx1ZXM6IFZlY3RvcjxUPiB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudmFsdWVzID0gYXJndi52YWx1ZXM7XG4gICAgICAgIHRoaXMub2Zmc2V0cyA9IGFyZ3Yub2Zmc2V0cztcbiAgICB9XG4gICAgZ2V0KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgeyBvZmZzZXRzLCB2YWx1ZXMgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGZyb20gPSBvZmZzZXRzW2luZGV4XTtcbiAgICAgICAgY29uc3QgeHMgPSBuZXcgQXJyYXkob2Zmc2V0c1tpbmRleCArIDFdIC0gZnJvbSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAtMSwgbiA9IHhzLmxlbmd0aDsgKytpIDwgbjspIHtcbiAgICAgICAgICAgIHhzW2ldID0gdmFsdWVzLmdldChpICsgZnJvbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHhzO1xuICAgIH1cbiAgICBjb25jYXQoLi4udmVjdG9yczogVmVjdG9yPFRbXT5bXSk6IFZlY3RvcjxUW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBWaXJ0dWFsVmVjdG9yKEFycmF5LCB0aGlzLCAuLi52ZWN0b3JzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaXhlZFNpemVMaXN0VmVjdG9yPFQsIFRBcnJheSBleHRlbmRzIExpc3Q8VD4+IGV4dGVuZHMgVmVjdG9yPFRBcnJheT4ge1xuICAgIHJlYWRvbmx5IHNpemU6IG51bWJlcjtcbiAgICByZWFkb25seSB2YWx1ZXM6IFZlY3RvcjxUPjtcbiAgICBjb25zdHJ1Y3Rvcihhcmd2OiB7IHNpemU6IG51bWJlciwgdmFsdWVzOiBWZWN0b3I8VD4gfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNpemUgPSBhcmd2LnNpemU7XG4gICAgICAgIHRoaXMudmFsdWVzID0gYXJndi52YWx1ZXM7XG4gICAgfVxuICAgIGdldChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5zbGljZTxUQXJyYXk+KHRoaXMuc2l6ZSAqIGluZGV4LCB0aGlzLnNpemUgKiAoaW5kZXggKyAxKSk7XG4gICAgfVxuICAgIGNvbmNhdCguLi52ZWN0b3JzOiBWZWN0b3I8VEFycmF5PltdKTogVmVjdG9yPFRBcnJheT4ge1xuICAgICAgICByZXR1cm4gbmV3IFZpcnR1YWxWZWN0b3IoQXJyYXksIHRoaXMsIC4uLnZlY3RvcnMpO1xuICAgIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNKO0FBUkQsZ0NBUUM7QUFFRCxjQUFzQixTQUFRLG9CQUEwQjtJQUMxQyxPQUFPLENBQUMsTUFBa0IsRUFBRSxLQUFhLEVBQUUsWUFBd0I7UUFDekUsTUFBTSxDQUFDLGtCQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUNTLE9BQU8sQ0FBQyxNQUFrQixFQUFFLEtBQWEsRUFBRSxLQUFhLEVBQUUsWUFBd0I7UUFDeEYsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsa0JBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNKO0FBUkQsNEJBUUMiLCJmaWxlIjoidmVjdG9yL2xpc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lXG4vLyBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGVcbi8vIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uXG4vLyByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4gIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlXG4vLyB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlXG4vLyBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbi8vIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbi8vXG4vLyAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuLy9cbi8vIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZyxcbi8vIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuXG4vLyBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxuLy8gS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlXG4vLyBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG4vLyB1bmRlciB0aGUgTGljZW5zZS5cblxuaW1wb3J0IHsgRGF0YSB9IGZyb20gJy4uL2RhdGEnO1xuaW1wb3J0IHsgVmlldywgVmVjdG9yLCBjcmVhdGVWZWN0b3IgfSBmcm9tICcuLi92ZWN0b3InO1xuaW1wb3J0IHsgVGV4dEVuY29kZXIsIFRleHREZWNvZGVyIH0gZnJvbSAndGV4dC1lbmNvZGluZy11dGYtOCc7XG5pbXBvcnQgeyBMaXN0LCBCaW5hcnksIFV0ZjgsIEZpeGVkU2l6ZUxpc3QsIEZsYXRMaXN0VHlwZSB9IGZyb20gJy4uL3R5cGUnO1xuaW1wb3J0IHsgTGlzdFR5cGUsIERhdGFUeXBlLCBJdGVyYWJsZUFycmF5TGlrZSB9IGZyb20gJy4uL3R5cGUnO1xuXG5leHBvcnQgY29uc3QgZW5jb2RlVXRmOCA9ICgoZW5jb2RlcikgPT5cbiAgICBlbmNvZGVyLmVuY29kZS5iaW5kKGVuY29kZXIpIGFzIChpbnB1dD86IHN0cmluZykgPT4gVWludDhBcnJheVxuKShuZXcgVGV4dEVuY29kZXIoJ3V0Zi04JykpO1xuXG5leHBvcnQgY29uc3QgZGVjb2RlVXRmOCA9ICgoZGVjb2RlcikgPT5cbiAgICBkZWNvZGVyLmRlY29kZS5iaW5kKGRlY29kZXIpIGFzIChpbnB1dD86IEFycmF5QnVmZmVyTGlrZSB8IEFycmF5QnVmZmVyVmlldykgPT4gc3RyaW5nXG4pKG5ldyBUZXh0RGVjb2RlcigndXRmLTgnKSk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaXN0Vmlld0Jhc2U8VCBleHRlbmRzIChMaXN0VHlwZSB8IEZsYXRMaXN0VHlwZSB8IEZpeGVkU2l6ZUxpc3QpPiBpbXBsZW1lbnRzIFZpZXc8VD4ge1xuICAgIHB1YmxpYyBsZW5ndGg6IG51bWJlcjtcbiAgICBwdWJsaWMgdmFsdWVzOiBUWydUQXJyYXknXTtcbiAgICBwdWJsaWMgdmFsdWVPZmZzZXRzPzogSW50MzJBcnJheTtcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBEYXRhPFQ+KSB7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWVzID0gZGF0YS52YWx1ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBjbG9uZShkYXRhOiBEYXRhPFQ+KTogdGhpcyB7XG4gICAgICAgIHJldHVybiBuZXcgKDxhbnk+IHRoaXMuY29uc3RydWN0b3IpKGRhdGEpIGFzIHRoaXM7XG4gICAgfVxuICAgIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcHVibGljIHRvQXJyYXkoKTogSXRlcmFibGVBcnJheUxpa2U8VFsnVFZhbHVlJ10+IHtcbiAgICAgICAgcmV0dXJuIFsuLi50aGlzXTtcbiAgICB9XG4gICAgcHVibGljIGdldChpbmRleDogbnVtYmVyKTogVFsnVFZhbHVlJ10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0KHRoaXMudmFsdWVzLCBpbmRleCwgdGhpcy52YWx1ZU9mZnNldHMpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0KGluZGV4OiBudW1iZXIsIHZhbHVlOiBUWydUVmFsdWUnXSk6IHZvaWQge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRMaXN0KHRoaXMudmFsdWVzLCBpbmRleCwgdmFsdWUsIHRoaXMudmFsdWVPZmZzZXRzKTtcbiAgICB9XG4gICAgcHVibGljICpbU3ltYm9sLml0ZXJhdG9yXSgpOiBJdGVyYWJsZUl0ZXJhdG9yPFRbJ1RWYWx1ZSddPiB7XG4gICAgICAgIGNvbnN0IGdldCA9IHRoaXMuZ2V0TGlzdCwgbGVuZ3RoID0gdGhpcy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWVzLCB2YWx1ZU9mZnNldHMgPSB0aGlzLnZhbHVlT2Zmc2V0cztcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAtMTsgKytpbmRleCA8IGxlbmd0aDspIHtcbiAgICAgICAgICAgIHlpZWxkIGdldCh2YWx1ZXMsIGluZGV4LCB2YWx1ZU9mZnNldHMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBpbmRleE9mKHNlYXJjaDogVFsnVFZhbHVlJ10pIHtcbiAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgdGhpcykge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBzZWFyY2gpIHsgcmV0dXJuIGluZGV4OyB9XG4gICAgICAgICAgICArK2luZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0TGlzdCh2YWx1ZXM6IFRbJ1RBcnJheSddLCBpbmRleDogbnVtYmVyLCB2YWx1ZU9mZnNldHM/OiBJbnQzMkFycmF5KTogVFsnVFZhbHVlJ107XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHNldExpc3QodmFsdWVzOiBUWydUQXJyYXknXSwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFRbJ1RWYWx1ZSddLCB2YWx1ZU9mZnNldHM/OiBJbnQzMkFycmF5KTogdm9pZDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZhcmlhYmxlTGlzdFZpZXdCYXNlPFQgZXh0ZW5kcyAoTGlzdFR5cGUgfCBGbGF0TGlzdFR5cGUpPiBleHRlbmRzIExpc3RWaWV3QmFzZTxUPiB7XG4gICAgY29uc3RydWN0b3IoZGF0YTogRGF0YTxUPikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5sZW5ndGggPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgdGhpcy52YWx1ZU9mZnNldHMgPSBkYXRhLnZhbHVlT2Zmc2V0cztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0VmlldzxUIGV4dGVuZHMgRGF0YVR5cGU+IGV4dGVuZHMgVmFyaWFibGVMaXN0Vmlld0Jhc2U8TGlzdDxUPj4ge1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IERhdGE8TGlzdDxUPj4pIHtcbiAgICAgICAgc3VwZXIoZGF0YSk7XG4gICAgICAgIHRoaXMudmFsdWVzID0gY3JlYXRlVmVjdG9yKGRhdGEudmFsdWVzKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldExpc3QodmFsdWVzOiBWZWN0b3I8VD4sIGluZGV4OiBudW1iZXIsIHZhbHVlT2Zmc2V0czogSW50MzJBcnJheSkge1xuICAgICAgICByZXR1cm4gdmFsdWVzLnNsaWNlKHZhbHVlT2Zmc2V0c1tpbmRleF0sIHZhbHVlT2Zmc2V0c1tpbmRleCArIDFdKSBhcyBWZWN0b3I8VD47XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXRMaXN0KHZhbHVlczogVmVjdG9yPFQ+LCBpbmRleDogbnVtYmVyLCB2YWx1ZTogVmVjdG9yPFQ+LCB2YWx1ZU9mZnNldHM6IEludDMyQXJyYXkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGlkeCA9IC0xO1xuICAgICAgICBsZXQgb2Zmc2V0ID0gdmFsdWVPZmZzZXRzW2luZGV4XTtcbiAgICAgICAgbGV0IGVuZCA9IE1hdGgubWluKHZhbHVlLmxlbmd0aCwgdmFsdWVPZmZzZXRzW2luZGV4ICsgMV0gLSBvZmZzZXQpO1xuICAgICAgICB3aGlsZSAob2Zmc2V0IDwgZW5kKSB7XG4gICAgICAgICAgICB2YWx1ZXMuc2V0KG9mZnNldCsrLCB2YWx1ZS5nZXQoKytpZHgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpeGVkU2l6ZUxpc3RWaWV3PFQgZXh0ZW5kcyBEYXRhVHlwZT4gZXh0ZW5kcyBMaXN0Vmlld0Jhc2U8Rml4ZWRTaXplTGlzdDxUPj4ge1xuICAgIHB1YmxpYyBzaXplOiBudW1iZXI7XG4gICAgY29uc3RydWN0b3IoZGF0YTogRGF0YTxGaXhlZFNpemVMaXN0PFQ+Pikge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICAgICAgdGhpcy5zaXplID0gZGF0YS50eXBlLmxpc3RTaXplO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IGNyZWF0ZVZlY3RvcihkYXRhLnZhbHVlcyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXRMaXN0KHZhbHVlczogVmVjdG9yPFQ+LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLnNpemU7XG4gICAgICAgIHJldHVybiB2YWx1ZXMuc2xpY2UoaW5kZXggKj0gc2l6ZSwgaW5kZXggKyBzaXplKSBhcyBWZWN0b3I8VD47XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXRMaXN0KHZhbHVlczogVmVjdG9yPFQ+LCBpbmRleDogbnVtYmVyLCB2YWx1ZTogVmVjdG9yPFQ+KTogdm9pZCB7XG4gICAgICAgIGxldCBzaXplID0gdGhpcy5zaXplO1xuICAgICAgICBmb3IgKGxldCBpZHggPSAtMSwgb2Zmc2V0ID0gaW5kZXggKiBzaXplOyArK2lkeCA8IHNpemU7KSB7XG4gICAgICAgICAgICB2YWx1ZXMuc2V0KG9mZnNldCArIGlkeCwgdmFsdWUuZ2V0KCsraWR4KSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBCaW5hcnlWaWV3IGV4dGVuZHMgVmFyaWFibGVMaXN0Vmlld0Jhc2U8QmluYXJ5PiB7XG4gICAgcHJvdGVjdGVkIGdldExpc3QodmFsdWVzOiBVaW50OEFycmF5LCBpbmRleDogbnVtYmVyLCB2YWx1ZU9mZnNldHM6IEludDMyQXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5zdWJhcnJheSh2YWx1ZU9mZnNldHNbaW5kZXhdLCB2YWx1ZU9mZnNldHNbaW5kZXggKyAxXSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXRMaXN0KHZhbHVlczogVWludDhBcnJheSwgaW5kZXg6IG51bWJlciwgdmFsdWU6IFVpbnQ4QXJyYXksIHZhbHVlT2Zmc2V0czogSW50MzJBcnJheSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB2YWx1ZU9mZnNldHNbaW5kZXhdO1xuICAgICAgICB2YWx1ZXMuc2V0KHZhbHVlLnN1YmFycmF5KDAsIHZhbHVlT2Zmc2V0c1tpbmRleCArIDFdIC0gb2Zmc2V0KSwgb2Zmc2V0KTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVdGY4VmlldyBleHRlbmRzIFZhcmlhYmxlTGlzdFZpZXdCYXNlPFV0Zjg+IHtcbiAgICBwcm90ZWN0ZWQgZ2V0TGlzdCh2YWx1ZXM6IFVpbnQ4QXJyYXksIGluZGV4OiBudW1iZXIsIHZhbHVlT2Zmc2V0czogSW50MzJBcnJheSkge1xuICAgICAgICByZXR1cm4gZGVjb2RlVXRmOCh2YWx1ZXMuc3ViYXJyYXkodmFsdWVPZmZzZXRzW2luZGV4XSwgdmFsdWVPZmZzZXRzW2luZGV4ICsgMV0pKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldExpc3QodmFsdWVzOiBVaW50OEFycmF5LCBpbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nLCB2YWx1ZU9mZnNldHM6IEludDMyQXJyYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdmFsdWVPZmZzZXRzW2luZGV4XTtcbiAgICAgICAgdmFsdWVzLnNldChlbmNvZGVVdGY4KHZhbHVlKS5zdWJhcnJheSgwLCB2YWx1ZU9mZnNldHNbaW5kZXggKyAxXSAtIG9mZnNldCksIG9mZnNldCk7XG4gICAgfVxufVxuIl19 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
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
1279973
58
14258
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