@loaders.gl/arrow 3.4.0-alpha.3 → 3.4.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/arrow-worker.js +1 -1
- package/dist/es5/arrow-loader.js +1 -1
- package/dist/es5/arrow-writer.js +1 -1
- package/dist/es5/lib/arrow-table-batch.js.map +1 -1
- package/dist/es5/lib/encode-arrow.js.map +1 -1
- package/dist/es5/lib/parse-arrow-in-batches.js.map +1 -1
- package/dist/es5/lib/parse-arrow-sync.js.map +1 -1
- package/dist/esm/arrow-loader.js +1 -1
- package/dist/esm/arrow-writer.js +1 -1
- package/dist/esm/lib/arrow-table-batch.js.map +1 -1
- package/dist/esm/lib/encode-arrow.js.map +1 -1
- package/dist/esm/lib/parse-arrow-in-batches.js.map +1 -1
- package/dist/esm/lib/parse-arrow-sync.js.map +1 -1
- package/package.json +4 -4
package/dist/arrow-worker.js
CHANGED
|
@@ -14956,7 +14956,7 @@ return true;`);
|
|
|
14956
14956
|
}
|
|
14957
14957
|
|
|
14958
14958
|
// src/arrow-loader.ts
|
|
14959
|
-
var VERSION = true ? "3.4.0-alpha.
|
|
14959
|
+
var VERSION = true ? "3.4.0-alpha.5" : "latest";
|
|
14960
14960
|
var DEFAULT_ARROW_LOADER_OPTIONS = {
|
|
14961
14961
|
arrow: {
|
|
14962
14962
|
shape: "columnar-table"
|
package/dist/es5/arrow-loader.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports._typecheckArrowLoader = exports.ArrowLoader = void 0;
|
|
7
|
-
var VERSION = typeof "3.4.0-alpha.
|
|
7
|
+
var VERSION = typeof "3.4.0-alpha.5" !== 'undefined' ? "3.4.0-alpha.5" : 'latest';
|
|
8
8
|
var DEFAULT_ARROW_LOADER_OPTIONS = {
|
|
9
9
|
arrow: {
|
|
10
10
|
shape: 'columnar-table'
|
package/dist/es5/arrow-writer.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ArrowWriter = void 0;
|
|
7
7
|
var _encodeArrow = require("./lib/encode-arrow");
|
|
8
|
-
var VERSION = typeof "3.4.0-alpha.
|
|
8
|
+
var VERSION = typeof "3.4.0-alpha.5" !== 'undefined' ? "3.4.0-alpha.5" : 'latest';
|
|
9
9
|
var ArrowWriter = {
|
|
10
10
|
name: 'Apache Arrow',
|
|
11
11
|
id: 'arrow',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-table-batch.js","names":["_apacheArrow","require","_schema","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ArrowTableBatchAggregator","_ColumnarTableBatchAg","_inherits2","_super","schema","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","arrowSchema","_createClass2","key","getBatch","batch","_get2","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","RecordBatch","shape","batchType","ColumnarTableBatchAggregator","exports","arrowFields","field","type","Float32Array","metadata","arrowField","Field","Float32","nullable","push","Error","Schema","_iterator","fields","_step","vector","arrowVector","Float32Vector"],"sources":["../../../src/lib/arrow-table-batch.ts"],"sourcesContent":["import type {ArrowTableBatch} from '@loaders.gl/schema';\nimport {Schema, Field, RecordBatch, Float32Vector, Float32} from 'apache-arrow';\nimport {ColumnarTableBatchAggregator} from '@loaders.gl/schema';\n\nexport default class ArrowTableBatchAggregator extends ColumnarTableBatchAggregator {\n arrowSchema: Schema | null;\n\n constructor(schema, options) {\n super(schema, options);\n this.arrowSchema = null;\n }\n\n getBatch(): ArrowTableBatch | null {\n const batch = super.getBatch();\n if (batch) {\n // Get the arrow schema\n this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);\n // Get arrow format vectors\n const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);\n // Create the record batch\n // new RecordBatch(schema, numRows, vectors, ...);\n const recordBatch = new RecordBatch(this.arrowSchema, batch.length, arrowVectors);\n return {\n shape: 'arrow-table',\n batchType: 'data',\n data: recordBatch,\n length: batch.length\n };\n }\n\n return null;\n }\n}\n\n// Convert from a simple loaders.gl schema to an Arrow schema\nfunction getArrowSchema(schema) {\n const arrowFields: Field[] = [];\n for (const key in schema) {\n const field = schema[key];\n if (field.type === Float32Array) {\n const metadata = field; // just store the original field as metadata\n // arrow: new Field(name, nullable, metadata)\n const arrowField = new Field(field.name, new Float32(), field.nullable, metadata);\n arrowFields.push(arrowField);\n }\n }\n if (arrowFields.length === 0) {\n throw new Error('No arrow convertible fields');\n }\n\n return new Schema(arrowFields);\n}\n\n// Convert from simple loaders.gl arrays to arrow vectors\nfunction getArrowVectors(arrowSchema, data) {\n const arrowVectors: any[] = [];\n for (const field of arrowSchema.fields) {\n const vector = data[field.name];\n if (vector instanceof Float32Array) {\n const arrowVector = Float32Vector.from(vector);\n arrowVectors.push(arrowVector);\n }\n }\n if (arrowSchema.fields.length !== arrowVectors.length) {\n throw new Error('Some columns not arrow convertible');\n }\n return arrowVectors;\n}\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAAgE,SAAAE,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAoB,IAAA,CAAAtB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAArB,EAAA,CAAAsB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,CAAAwB,MAAA,UAAAxB,EAAA,CAAAwB,MAAA,oBAAAN,MAAA,QAAAC,GAAA;AAAA,SAAAd,4BAAAP,CAAA,EAAA2B,MAAA,SAAA3B,CAAA,qBAAAA,CAAA,sBAAA4B,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA,OAAAf,CAAA,GAAAiB,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAT,IAAA,CAAAtB,CAAA,EAAAgC,KAAA,aAAApB,CAAA,iBAAAZ,CAAA,CAAAiC,WAAA,EAAArB,CAAA,GAAAZ,CAAA,CAAAiC,WAAA,CAAAC,IAAA,MAAAtB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA8B,IAAA,CAAAnC,CAAA,OAAAY,CAAA,+DAAAwB,IAAA,CAAAxB,CAAA,UAAAgB,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA;AAAA,SAAAC,kBAAAS,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAA7B,MAAA,EAAA8B,GAAA,GAAAD,GAAA,CAAA7B,MAAA,WAAAC,CAAA,MAAA8B,IAAA,OAAAlC,KAAA,CAAAiC,GAAA,GAAA7B,CAAA,GAAA6B,GAAA,EAAA7B,CAAA,IAAA8B,IAAA,CAAA9B,CAAA,IAAA4B,GAAA,CAAA5B,CAAA,UAAA8B,IAAA;AAAA,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAd,WAAA,EAAAe,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAA3B,SAAA,CAAA4B,OAAA,CAAApC,IAAA,CAAA4B,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAA1C,CAAA;AAAA,IAE3C4C,yBAAyB,aAAAC,qBAAA;EAAA,IAAAC,UAAA,CAAAd,OAAA,EAAAY,yBAAA,EAAAC,qBAAA;EAAA,IAAAE,MAAA,GAAAtB,YAAA,CAAAmB,yBAAA;EAG5C,SAAAA,0BAAYI,MAAM,EAAEC,OAAO,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAnB,OAAA,QAAAY,yBAAA;IAC3BM,KAAA,GAAAH,MAAA,CAAAxC,IAAA,OAAMyC,MAAM,EAAEC,OAAO;IAAE,IAAAG,gBAAA,CAAApB,OAAA,MAAAqB,uBAAA,CAAArB,OAAA,EAAAkB,KAAA;IACvBA,KAAA,CAAKI,WAAW,GAAG,IAAI;IAAC,OAAAJ,KAAA;EAC1B;EAAC,IAAAK,aAAA,CAAAvB,OAAA,EAAAY,yBAAA;IAAAY,GAAA;IAAAzD,KAAA,EAED,SAAA0D,SAAA,EAAmC;MACjC,IAAMC,KAAK,OAAAC,KAAA,CAAA3B,OAAA,MAAAD,gBAAA,CAAAC,OAAA,EAAAY,yBAAA,CAAA7B,SAAA,qBAAAR,IAAA,MAAmB;MAC9B,IAAImD,KAAK,EAAE;QAET,IAAI,CAACJ,WAAW,GAAG,IAAI,CAACA,WAAW,IAAIM,cAAc,CAACF,KAAK,CAACV,MAAM,CAAC;QAEnE,IAAMa,YAAY,GAAGC,eAAe,CAAC,IAAI,CAACR,WAAW,EAAEI,KAAK,CAACK,IAAI,CAAC;QAGlE,IAAMC,WAAW,GAAG,IAAIC,wBAAW,CAAC,IAAI,CAACX,WAAW,EAAEI,KAAK,CAACjE,MAAM,EAAEoE,YAAY,CAAC;QACjF,OAAO;UACLK,KAAK,EAAE,aAAa;UACpBC,SAAS,EAAE,MAAM;UACjBJ,IAAI,EAAEC,WAAW;UACjBvE,MAAM,EAAEiE,KAAK,CAACjE;QAChB,CAAC;MACH;MAEA,OAAO,IAAI;IACb;EAAC;EAAA,OAAAmD,yBAAA;AAAA,EA3BoDwB,oCAA4B;AAAAC,OAAA,CAAArC,OAAA,GAAAY,yBAAA;AA+BnF,SAASgB,cAAcA,CAACZ,MAAM,EAAE;EAC9B,IAAMsB,WAAoB,GAAG,EAAE;EAC/B,KAAK,IAAMd,GAAG,IAAIR,MAAM,EAAE;IACxB,IAAMuB,KAAK,GAAGvB,MAAM,CAACQ,GAAG,CAAC;IACzB,IAAIe,KAAK,CAACC,IAAI,KAAKC,YAAY,EAAE;MAC/B,IAAMC,QAAQ,GAAGH,KAAK;MAEtB,IAAMI,UAAU,GAAG,IAAIC,kBAAK,CAACL,KAAK,CAACpD,IAAI,EAAE,IAAI0D,oBAAO,
|
|
1
|
+
{"version":3,"file":"arrow-table-batch.js","names":["_apacheArrow","require","_schema","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ArrowTableBatchAggregator","_ColumnarTableBatchAg","_inherits2","_super","schema","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","arrowSchema","_createClass2","key","getBatch","batch","_get2","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","RecordBatch","shape","batchType","ColumnarTableBatchAggregator","exports","arrowFields","field","type","Float32Array","metadata","arrowField","Field","Float32","nullable","push","Error","Schema","_iterator","fields","_step","vector","arrowVector","Float32Vector"],"sources":["../../../src/lib/arrow-table-batch.ts"],"sourcesContent":["import type {ArrowTableBatch} from '@loaders.gl/schema';\nimport {Schema, Field, RecordBatch, Float32Vector, Float32} from 'apache-arrow';\nimport {ColumnarTableBatchAggregator} from '@loaders.gl/schema';\n\nexport default class ArrowTableBatchAggregator extends ColumnarTableBatchAggregator {\n arrowSchema: Schema | null;\n\n constructor(schema, options) {\n super(schema, options);\n this.arrowSchema = null;\n }\n\n getBatch(): ArrowTableBatch | null {\n const batch = super.getBatch();\n if (batch) {\n // Get the arrow schema\n this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);\n // Get arrow format vectors\n const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);\n // Create the record batch\n // new RecordBatch(schema, numRows, vectors, ...);\n const recordBatch = new RecordBatch(this.arrowSchema, batch.length, arrowVectors);\n return {\n shape: 'arrow-table',\n batchType: 'data',\n data: recordBatch,\n length: batch.length\n };\n }\n\n return null;\n }\n}\n\n// Convert from a simple loaders.gl schema to an Arrow schema\nfunction getArrowSchema(schema) {\n const arrowFields: Field[] = [];\n for (const key in schema) {\n const field = schema[key];\n if (field.type === Float32Array) {\n const metadata = field; // just store the original field as metadata\n // arrow: new Field(name, nullable, metadata)\n const arrowField = new Field(field.name, new Float32(), field.nullable, metadata);\n arrowFields.push(arrowField);\n }\n }\n if (arrowFields.length === 0) {\n throw new Error('No arrow convertible fields');\n }\n\n return new Schema(arrowFields);\n}\n\n// Convert from simple loaders.gl arrays to arrow vectors\nfunction getArrowVectors(arrowSchema, data) {\n const arrowVectors: any[] = [];\n for (const field of arrowSchema.fields) {\n const vector = data[field.name];\n if (vector instanceof Float32Array) {\n const arrowVector = Float32Vector.from(vector);\n arrowVectors.push(arrowVector);\n }\n }\n if (arrowSchema.fields.length !== arrowVectors.length) {\n throw new Error('Some columns not arrow convertible');\n }\n return arrowVectors;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-arrow.js","names":["_apacheArrow","require","_types","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","encodeArrowSync","data","vectors","arrayNames","_iterator","_step","arrayData","push","arrayVector","createVector","array","type","table","Table","new","arrowBuffer","serialize","VECTOR_TYPES","DATE","DateVector","FLOAT","FloatVector"],"sources":["../../../src/lib/encode-arrow.ts"],"sourcesContent":["import {Table, FloatVector, DateVector} from 'apache-arrow';\nimport {AnyArrayType, VECTOR_TYPES} from '../types';\n\ntype ColumnarTable = {\n name: string;\n array: AnyArrayType;\n type: number;\n}[];\n\n/**\n * Encodes set of arrays into the Apache Arrow columnar format\n * https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format\n * @param data - columns data\n * @param options - the writer options\n * @returns - encoded ArrayBuffer\n */\nexport function encodeArrowSync(data: ColumnarTable): ArrayBuffer {\n const vectors: any[] = [];\n const arrayNames: string[] = [];\n for (const arrayData of data) {\n arrayNames.push(arrayData.name);\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors.push(arrayVector);\n }\n const table = Table.new(vectors, arrayNames);\n const arrowBuffer = table.serialize();\n return arrowBuffer;\n}\n\n/**\n * Create Arrow Vector from given data and vector type\n * @param array {import('../types').AnyArrayType} - columns data\n * @param type {number} - the writer options\n * @return a vector of one of vector's types defined in the Apache Arrow library\n */\nfunction createVector(array, type) {\n switch (type) {\n case VECTOR_TYPES.DATE:\n return DateVector.from(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return FloatVector.from(array);\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"encode-arrow.js","names":["_apacheArrow","require","_types","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","encodeArrowSync","data","vectors","arrayNames","_iterator","_step","arrayData","push","arrayVector","createVector","array","type","table","Table","new","arrowBuffer","serialize","VECTOR_TYPES","DATE","DateVector","FLOAT","FloatVector"],"sources":["../../../src/lib/encode-arrow.ts"],"sourcesContent":["import {Table, FloatVector, DateVector} from 'apache-arrow';\nimport {AnyArrayType, VECTOR_TYPES} from '../types';\n\ntype ColumnarTable = {\n name: string;\n array: AnyArrayType;\n type: number;\n}[];\n\n/**\n * Encodes set of arrays into the Apache Arrow columnar format\n * https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format\n * @param data - columns data\n * @param options - the writer options\n * @returns - encoded ArrayBuffer\n */\nexport function encodeArrowSync(data: ColumnarTable): ArrayBuffer {\n const vectors: any[] = [];\n const arrayNames: string[] = [];\n for (const arrayData of data) {\n arrayNames.push(arrayData.name);\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors.push(arrayVector);\n }\n const table = Table.new(vectors, arrayNames);\n const arrowBuffer = table.serialize();\n return arrowBuffer;\n}\n\n/**\n * Create Arrow Vector from given data and vector type\n * @param array {import('../types').AnyArrayType} - columns data\n * @param type {number} - the writer options\n * @return a vector of one of vector's types defined in the Apache Arrow library\n */\nfunction createVector(array, type) {\n switch (type) {\n case VECTOR_TYPES.DATE:\n return DateVector.from(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return FloatVector.from(array);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAoD,SAAAE,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAoB,IAAA,CAAAtB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAArB,EAAA,CAAAsB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,CAAAwB,MAAA,UAAAxB,EAAA,CAAAwB,MAAA,oBAAAN,MAAA,QAAAC,GAAA;AAAA,SAAAd,4BAAAP,CAAA,EAAA2B,MAAA,SAAA3B,CAAA,qBAAAA,CAAA,sBAAA4B,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA,OAAAf,CAAA,GAAAiB,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAT,IAAA,CAAAtB,CAAA,EAAAgC,KAAA,aAAApB,CAAA,iBAAAZ,CAAA,CAAAiC,WAAA,EAAArB,CAAA,GAAAZ,CAAA,CAAAiC,WAAA,CAAAC,IAAA,MAAAtB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA8B,IAAA,CAAAnC,CAAA,OAAAY,CAAA,+DAAAwB,IAAA,CAAAxB,CAAA,UAAAgB,iBAAA,CAAA5B,CAAA,EAAA2B,MAAA;AAAA,SAAAC,kBAAAS,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAA7B,MAAA,EAAA8B,GAAA,GAAAD,GAAA,CAAA7B,MAAA,WAAAC,CAAA,MAAA8B,IAAA,OAAAlC,KAAA,CAAAiC,GAAA,GAAA7B,CAAA,GAAA6B,GAAA,EAAA7B,CAAA,IAAA8B,IAAA,CAAA9B,CAAA,IAAA4B,GAAA,CAAA5B,CAAA,UAAA8B,IAAA;AAe7C,SAASC,eAAeA,CAACC,IAAmB,EAAe;EAChE,IAAMC,OAAc,GAAG,EAAE;EACzB,IAAMC,UAAoB,GAAG,EAAE;EAAC,IAAAC,SAAA,GAAA7C,0BAAA,CACR0C,IAAI;IAAAI,KAAA;EAAA;IAA5B,KAAAD,SAAA,CAAAjC,CAAA,MAAAkC,KAAA,GAAAD,SAAA,CAAAhC,CAAA,IAAAC,IAAA,GAA8B;MAAA,IAAnBiC,SAAS,GAAAD,KAAA,CAAA/B,KAAA;MAClB6B,UAAU,CAACI,IAAI,CAACD,SAAS,CAACZ,IAAI,CAAC;MAC/B,IAAMc,WAAW,GAAGC,YAAY,CAACH,SAAS,CAACI,KAAK,EAAEJ,SAAS,CAACK,IAAI,CAAC;MACjET,OAAO,CAACK,IAAI,CAACC,WAAW,CAAC;IAC3B;EAAC,SAAA3B,GAAA;IAAAuB,SAAA,CAAA7B,CAAA,CAAAM,GAAA;EAAA;IAAAuB,SAAA,CAAA3B,CAAA;EAAA;EACD,IAAMmC,KAAK,GAAGC,kBAAK,CAACC,GAAG,CAACZ,OAAO,EAAEC,UAAU,CAAC;EAC5C,IAAMY,WAAW,GAAGH,KAAK,CAACI,SAAS,CAAC,CAAC;EACrC,OAAOD,WAAW;AACpB;AAQA,SAASN,YAAYA,CAACC,KAAK,EAAEC,IAAI,EAAE;EACjC,QAAQA,IAAI;IACV,KAAKM,mBAAY,CAACC,IAAI;MACpB,OAAOC,uBAAU,CAACxB,IAAI,CAACe,KAAK,CAAC;IAC/B,KAAKO,mBAAY,CAACG,KAAK;IACvB;MACE,OAAOC,wBAAW,CAAC1B,IAAI,CAACe,KAAK,CAAC;EAClC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-in-batches.js","names":["_apacheArrow","require","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Object","Promise","reject","done","resolve","value","then","n","next","prototype","apply","arguments","return","_return","ret","throw","_throw","thr","parseArrowInBatches","makeArrowAsyncIterator","_makeArrowAsyncIterator","_wrapAsyncGenerator2","default","_regenerator","mark","_callee","readers","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","reader","_iteratorAbruptCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","batch","wrap","_callee$","_context","prev","RecordBatchReader","readAll","_awaitAsyncGenerator2","sent","processBatch","t0","finish","abrupt","t1","stop","values","metadata","schema","length","fields","forEach","_ref","index","name","getChildAt","toArray"],"sources":["../../../src/lib/parse-arrow-in-batches.ts"],"sourcesContent":["// TODO - this import defeats the sophisticated typescript checking in ArrowJS\nimport {RecordBatchReader} from 'apache-arrow';\n// import {isIterable} from '@loaders.gl/core';\n\n/**\n */\nexport function parseArrowInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): AsyncIterable<any> {\n // Creates the appropriate RecordBatchReader subclasses from the input\n // This will also close the underlying source in case of early termination or errors\n\n // As an optimization, return a non-async iterator\n /*\n if (isIterable(readers)) {\n function* makeArrowIterator() {\n for (const reader of readers) {\n for (const batch of reader) {\n yield processBatch(batch, reader);\n }\n break; // only processing one stream of batches\n }\n }\n const arrowIterator = makeArrowIterator();\n }\n */\n\n async function* makeArrowAsyncIterator() {\n // @ts-expect-error Fixed in arrow 9\n const readers = RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const batch of reader) {\n yield processBatch(batch);\n }\n break; // only processing one stream of batches\n }\n }\n return makeArrowAsyncIterator();\n}\n\nfunction processBatch(batch) {\n const values = {\n metadata: batch.schema.metadata,\n length: batch.length\n };\n batch.schema.fields.forEach(({name}, index) => {\n values[name] = batch.getChildAt(index).toArray();\n });\n return values;\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parse-arrow-in-batches.js","names":["_apacheArrow","require","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Object","Promise","reject","done","resolve","value","then","n","next","prototype","apply","arguments","return","_return","ret","throw","_throw","thr","parseArrowInBatches","makeArrowAsyncIterator","_makeArrowAsyncIterator","_wrapAsyncGenerator2","default","_regenerator","mark","_callee","readers","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","reader","_iteratorAbruptCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","batch","wrap","_callee$","_context","prev","RecordBatchReader","readAll","_awaitAsyncGenerator2","sent","processBatch","t0","finish","abrupt","t1","stop","values","metadata","schema","length","fields","forEach","_ref","index","name","getChildAt","toArray"],"sources":["../../../src/lib/parse-arrow-in-batches.ts"],"sourcesContent":["// TODO - this import defeats the sophisticated typescript checking in ArrowJS\nimport {RecordBatchReader} from 'apache-arrow';\n// import {isIterable} from '@loaders.gl/core';\n\n/**\n */\nexport function parseArrowInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): AsyncIterable<any> {\n // Creates the appropriate RecordBatchReader subclasses from the input\n // This will also close the underlying source in case of early termination or errors\n\n // As an optimization, return a non-async iterator\n /*\n if (isIterable(readers)) {\n function* makeArrowIterator() {\n for (const reader of readers) {\n for (const batch of reader) {\n yield processBatch(batch, reader);\n }\n break; // only processing one stream of batches\n }\n }\n const arrowIterator = makeArrowIterator();\n }\n */\n\n async function* makeArrowAsyncIterator() {\n // @ts-expect-error Fixed in arrow 9\n const readers = RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const batch of reader) {\n yield processBatch(batch);\n }\n break; // only processing one stream of batches\n }\n }\n return makeArrowAsyncIterator();\n}\n\nfunction processBatch(batch) {\n const values = {\n metadata: batch.schema.metadata,\n length: batch.length\n };\n batch.schema.fields.forEach(({name}, index) => {\n values[name] = batch.getChildAt(index).toArray();\n });\n return values;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-sync.js","names":["_apacheArrow","require","parseArrowSync","arrayBuffer","options","_options$arrow","arrowTable","Table","from","Uint8Array","columnarTable","schema","fields","forEach","field","arrowColumn","getColumn","name","values","toArray","arrow","shape","convertColumnarToRowFormatTable","tableKeys","Object","keys","tableRowsCount","length","rowFormatTable","index","tableItem","keyIndex","fieldName","push"],"sources":["../../../src/lib/parse-arrow-sync.ts"],"sourcesContent":["import type {ArrowLoaderOptions} from '../arrow-loader';\nimport {Table} from 'apache-arrow';\n\n// Parses arrow to a columnar table\nexport default function parseArrowSync(arrayBuffer, options?: ArrowLoaderOptions) {\n const arrowTable = Table.from([new Uint8Array(arrayBuffer)]);\n\n // Extract columns\n\n // TODO - avoid calling `getColumn` on columns we are not interested in?\n // Add options object?\n const columnarTable = {};\n\n arrowTable.schema.fields.forEach((field) => {\n // This (is intended to) coalesce all record batches into a single typed array\n const arrowColumn = arrowTable.getColumn(field.name);\n const values = arrowColumn.toArray();\n columnarTable[field.name] = values;\n });\n\n switch (options?.arrow?.shape) {\n case 'arrow-table':\n return arrowTable;\n case 'object-row-table':\n return convertColumnarToRowFormatTable(columnarTable);\n case 'columnar-table':\n default:\n return columnarTable;\n }\n}\n\nfunction convertColumnarToRowFormatTable(columnarTable) {\n const tableKeys = Object.keys(columnarTable);\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n const rowFormatTable: {}[] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const tableItem = {};\n for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {\n const fieldName = tableKeys[keyIndex];\n tableItem[fieldName] = columnarTable[fieldName][index];\n }\n rowFormatTable.push(tableItem);\n }\n return rowFormatTable;\n}\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAGe,SAASC,cAAcA,CAACC,WAAW,EAAEC,OAA4B,EAAE;EAAA,IAAAC,cAAA;EAChF,IAAMC,UAAU,GAAGC,kBAAK,CAACC,IAAI,CAAC,CAAC,IAAIC,UAAU,CAACN,WAAW,CAAC,CAAC,CAAC;EAM5D,IAAMO,aAAa,GAAG,CAAC,CAAC;EAExBJ,UAAU,CAACK,MAAM,CAACC,MAAM,CAACC,OAAO,CAAC,UAACC,KAAK,EAAK;IAE1C,IAAMC,WAAW,GAAGT,UAAU,CAACU,SAAS,CAACF,KAAK,CAACG,IAAI,CAAC;IACpD,IAAMC,MAAM,GAAGH,WAAW,CAACI,OAAO,
|
|
1
|
+
{"version":3,"file":"parse-arrow-sync.js","names":["_apacheArrow","require","parseArrowSync","arrayBuffer","options","_options$arrow","arrowTable","Table","from","Uint8Array","columnarTable","schema","fields","forEach","field","arrowColumn","getColumn","name","values","toArray","arrow","shape","convertColumnarToRowFormatTable","tableKeys","Object","keys","tableRowsCount","length","rowFormatTable","index","tableItem","keyIndex","fieldName","push"],"sources":["../../../src/lib/parse-arrow-sync.ts"],"sourcesContent":["import type {ArrowLoaderOptions} from '../arrow-loader';\nimport {Table} from 'apache-arrow';\n\n// Parses arrow to a columnar table\nexport default function parseArrowSync(arrayBuffer, options?: ArrowLoaderOptions) {\n const arrowTable = Table.from([new Uint8Array(arrayBuffer)]);\n\n // Extract columns\n\n // TODO - avoid calling `getColumn` on columns we are not interested in?\n // Add options object?\n const columnarTable = {};\n\n arrowTable.schema.fields.forEach((field) => {\n // This (is intended to) coalesce all record batches into a single typed array\n const arrowColumn = arrowTable.getColumn(field.name);\n const values = arrowColumn.toArray();\n columnarTable[field.name] = values;\n });\n\n switch (options?.arrow?.shape) {\n case 'arrow-table':\n return arrowTable;\n case 'object-row-table':\n return convertColumnarToRowFormatTable(columnarTable);\n case 'columnar-table':\n default:\n return columnarTable;\n }\n}\n\nfunction convertColumnarToRowFormatTable(columnarTable) {\n const tableKeys = Object.keys(columnarTable);\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n const rowFormatTable: {}[] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const tableItem = {};\n for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {\n const fieldName = tableKeys[keyIndex];\n tableItem[fieldName] = columnarTable[fieldName][index];\n }\n rowFormatTable.push(tableItem);\n }\n return rowFormatTable;\n}\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAGe,SAASC,cAAcA,CAACC,WAAW,EAAEC,OAA4B,EAAE;EAAA,IAAAC,cAAA;EAChF,IAAMC,UAAU,GAAGC,kBAAK,CAACC,IAAI,CAAC,CAAC,IAAIC,UAAU,CAACN,WAAW,CAAC,CAAC,CAAC;EAM5D,IAAMO,aAAa,GAAG,CAAC,CAAC;EAExBJ,UAAU,CAACK,MAAM,CAACC,MAAM,CAACC,OAAO,CAAC,UAACC,KAAK,EAAK;IAE1C,IAAMC,WAAW,GAAGT,UAAU,CAACU,SAAS,CAACF,KAAK,CAACG,IAAI,CAAC;IACpD,IAAMC,MAAM,GAAGH,WAAW,CAACI,OAAO,CAAC,CAAC;IACpCT,aAAa,CAACI,KAAK,CAACG,IAAI,CAAC,GAAGC,MAAM;EACpC,CAAC,CAAC;EAEF,QAAQd,OAAO,aAAPA,OAAO,wBAAAC,cAAA,GAAPD,OAAO,CAAEgB,KAAK,cAAAf,cAAA,uBAAdA,cAAA,CAAgBgB,KAAK;IAC3B,KAAK,aAAa;MAChB,OAAOf,UAAU;IACnB,KAAK,kBAAkB;MACrB,OAAOgB,+BAA+B,CAACZ,aAAa,CAAC;IACvD,KAAK,gBAAgB;IACrB;MACE,OAAOA,aAAa;EACxB;AACF;AAEA,SAASY,+BAA+BA,CAACZ,aAAa,EAAE;EACtD,IAAMa,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACf,aAAa,CAAC;EAC5C,IAAMgB,cAAc,GAAGhB,aAAa,CAACa,SAAS,CAAC,CAAC,CAAC,CAAC,CAACI,MAAM;EACzD,IAAMC,cAAoB,GAAG,EAAE;EAE/B,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,cAAc,EAAEG,KAAK,EAAE,EAAE;IACnD,IAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,IAAIC,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGR,SAAS,CAACI,MAAM,EAAEI,QAAQ,EAAE,EAAE;MAC9D,IAAMC,SAAS,GAAGT,SAAS,CAACQ,QAAQ,CAAC;MACrCD,SAAS,CAACE,SAAS,CAAC,GAAGtB,aAAa,CAACsB,SAAS,CAAC,CAACH,KAAK,CAAC;IACxD;IACAD,cAAc,CAACK,IAAI,CAACH,SAAS,CAAC;EAChC;EACA,OAAOF,cAAc;AACvB"}
|
package/dist/esm/arrow-loader.js
CHANGED
package/dist/esm/arrow-writer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodeArrowSync } from './lib/encode-arrow';
|
|
2
|
-
const VERSION = typeof "3.4.0-alpha.
|
|
2
|
+
const VERSION = typeof "3.4.0-alpha.5" !== 'undefined' ? "3.4.0-alpha.5" : 'latest';
|
|
3
3
|
export const ArrowWriter = {
|
|
4
4
|
name: 'Apache Arrow',
|
|
5
5
|
id: 'arrow',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-table-batch.js","names":["Schema","Field","RecordBatch","Float32Vector","Float32","ColumnarTableBatchAggregator","ArrowTableBatchAggregator","constructor","schema","options","_defineProperty","arrowSchema","getBatch","batch","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","length","shape","batchType","arrowFields","key","field","type","Float32Array","metadata","arrowField","name","nullable","push","Error","fields","vector","arrowVector","from"],"sources":["../../../src/lib/arrow-table-batch.ts"],"sourcesContent":["import type {ArrowTableBatch} from '@loaders.gl/schema';\nimport {Schema, Field, RecordBatch, Float32Vector, Float32} from 'apache-arrow';\nimport {ColumnarTableBatchAggregator} from '@loaders.gl/schema';\n\nexport default class ArrowTableBatchAggregator extends ColumnarTableBatchAggregator {\n arrowSchema: Schema | null;\n\n constructor(schema, options) {\n super(schema, options);\n this.arrowSchema = null;\n }\n\n getBatch(): ArrowTableBatch | null {\n const batch = super.getBatch();\n if (batch) {\n // Get the arrow schema\n this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);\n // Get arrow format vectors\n const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);\n // Create the record batch\n // new RecordBatch(schema, numRows, vectors, ...);\n const recordBatch = new RecordBatch(this.arrowSchema, batch.length, arrowVectors);\n return {\n shape: 'arrow-table',\n batchType: 'data',\n data: recordBatch,\n length: batch.length\n };\n }\n\n return null;\n }\n}\n\n// Convert from a simple loaders.gl schema to an Arrow schema\nfunction getArrowSchema(schema) {\n const arrowFields: Field[] = [];\n for (const key in schema) {\n const field = schema[key];\n if (field.type === Float32Array) {\n const metadata = field; // just store the original field as metadata\n // arrow: new Field(name, nullable, metadata)\n const arrowField = new Field(field.name, new Float32(), field.nullable, metadata);\n arrowFields.push(arrowField);\n }\n }\n if (arrowFields.length === 0) {\n throw new Error('No arrow convertible fields');\n }\n\n return new Schema(arrowFields);\n}\n\n// Convert from simple loaders.gl arrays to arrow vectors\nfunction getArrowVectors(arrowSchema, data) {\n const arrowVectors: any[] = [];\n for (const field of arrowSchema.fields) {\n const vector = data[field.name];\n if (vector instanceof Float32Array) {\n const arrowVector = Float32Vector.from(vector);\n arrowVectors.push(arrowVector);\n }\n }\n if (arrowSchema.fields.length !== arrowVectors.length) {\n throw new Error('Some columns not arrow convertible');\n }\n return arrowVectors;\n}\n"],"mappings":";AACA,SAAQA,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAEC,aAAa,EAAEC,OAAO,QAAO,cAAc;AAC/E,SAAQC,4BAA4B,QAAO,oBAAoB;AAE/D,eAAe,MAAMC,yBAAyB,SAASD,4BAA4B,CAAC;EAGlFE,WAAWA,CAACC,MAAM,EAAEC,OAAO,EAAE;IAC3B,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC;IAACC,eAAA;IACvB,IAAI,CAACC,WAAW,GAAG,IAAI;EACzB;EAEAC,QAAQA,CAAA,EAA2B;IACjC,MAAMC,KAAK,GAAG,KAAK,CAACD,QAAQ,
|
|
1
|
+
{"version":3,"file":"arrow-table-batch.js","names":["Schema","Field","RecordBatch","Float32Vector","Float32","ColumnarTableBatchAggregator","ArrowTableBatchAggregator","constructor","schema","options","_defineProperty","arrowSchema","getBatch","batch","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","length","shape","batchType","arrowFields","key","field","type","Float32Array","metadata","arrowField","name","nullable","push","Error","fields","vector","arrowVector","from"],"sources":["../../../src/lib/arrow-table-batch.ts"],"sourcesContent":["import type {ArrowTableBatch} from '@loaders.gl/schema';\nimport {Schema, Field, RecordBatch, Float32Vector, Float32} from 'apache-arrow';\nimport {ColumnarTableBatchAggregator} from '@loaders.gl/schema';\n\nexport default class ArrowTableBatchAggregator extends ColumnarTableBatchAggregator {\n arrowSchema: Schema | null;\n\n constructor(schema, options) {\n super(schema, options);\n this.arrowSchema = null;\n }\n\n getBatch(): ArrowTableBatch | null {\n const batch = super.getBatch();\n if (batch) {\n // Get the arrow schema\n this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);\n // Get arrow format vectors\n const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);\n // Create the record batch\n // new RecordBatch(schema, numRows, vectors, ...);\n const recordBatch = new RecordBatch(this.arrowSchema, batch.length, arrowVectors);\n return {\n shape: 'arrow-table',\n batchType: 'data',\n data: recordBatch,\n length: batch.length\n };\n }\n\n return null;\n }\n}\n\n// Convert from a simple loaders.gl schema to an Arrow schema\nfunction getArrowSchema(schema) {\n const arrowFields: Field[] = [];\n for (const key in schema) {\n const field = schema[key];\n if (field.type === Float32Array) {\n const metadata = field; // just store the original field as metadata\n // arrow: new Field(name, nullable, metadata)\n const arrowField = new Field(field.name, new Float32(), field.nullable, metadata);\n arrowFields.push(arrowField);\n }\n }\n if (arrowFields.length === 0) {\n throw new Error('No arrow convertible fields');\n }\n\n return new Schema(arrowFields);\n}\n\n// Convert from simple loaders.gl arrays to arrow vectors\nfunction getArrowVectors(arrowSchema, data) {\n const arrowVectors: any[] = [];\n for (const field of arrowSchema.fields) {\n const vector = data[field.name];\n if (vector instanceof Float32Array) {\n const arrowVector = Float32Vector.from(vector);\n arrowVectors.push(arrowVector);\n }\n }\n if (arrowSchema.fields.length !== arrowVectors.length) {\n throw new Error('Some columns not arrow convertible');\n }\n return arrowVectors;\n}\n"],"mappings":";AACA,SAAQA,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAEC,aAAa,EAAEC,OAAO,QAAO,cAAc;AAC/E,SAAQC,4BAA4B,QAAO,oBAAoB;AAE/D,eAAe,MAAMC,yBAAyB,SAASD,4BAA4B,CAAC;EAGlFE,WAAWA,CAACC,MAAM,EAAEC,OAAO,EAAE;IAC3B,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC;IAACC,eAAA;IACvB,IAAI,CAACC,WAAW,GAAG,IAAI;EACzB;EAEAC,QAAQA,CAAA,EAA2B;IACjC,MAAMC,KAAK,GAAG,KAAK,CAACD,QAAQ,CAAC,CAAC;IAC9B,IAAIC,KAAK,EAAE;MAET,IAAI,CAACF,WAAW,GAAG,IAAI,CAACA,WAAW,IAAIG,cAAc,CAACD,KAAK,CAACL,MAAM,CAAC;MAEnE,MAAMO,YAAY,GAAGC,eAAe,CAAC,IAAI,CAACL,WAAW,EAAEE,KAAK,CAACI,IAAI,CAAC;MAGlE,MAAMC,WAAW,GAAG,IAAIhB,WAAW,CAAC,IAAI,CAACS,WAAW,EAAEE,KAAK,CAACM,MAAM,EAAEJ,YAAY,CAAC;MACjF,OAAO;QACLK,KAAK,EAAE,aAAa;QACpBC,SAAS,EAAE,MAAM;QACjBJ,IAAI,EAAEC,WAAW;QACjBC,MAAM,EAAEN,KAAK,CAACM;MAChB,CAAC;IACH;IAEA,OAAO,IAAI;EACb;AACF;AAGA,SAASL,cAAcA,CAACN,MAAM,EAAE;EAC9B,MAAMc,WAAoB,GAAG,EAAE;EAC/B,KAAK,MAAMC,GAAG,IAAIf,MAAM,EAAE;IACxB,MAAMgB,KAAK,GAAGhB,MAAM,CAACe,GAAG,CAAC;IACzB,IAAIC,KAAK,CAACC,IAAI,KAAKC,YAAY,EAAE;MAC/B,MAAMC,QAAQ,GAAGH,KAAK;MAEtB,MAAMI,UAAU,GAAG,IAAI3B,KAAK,CAACuB,KAAK,CAACK,IAAI,EAAE,IAAIzB,OAAO,CAAC,CAAC,EAAEoB,KAAK,CAACM,QAAQ,EAAEH,QAAQ,CAAC;MACjFL,WAAW,CAACS,IAAI,CAACH,UAAU,CAAC;IAC9B;EACF;EACA,IAAIN,WAAW,CAACH,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIa,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,OAAO,IAAIhC,MAAM,CAACsB,WAAW,CAAC;AAChC;AAGA,SAASN,eAAeA,CAACL,WAAW,EAAEM,IAAI,EAAE;EAC1C,MAAMF,YAAmB,GAAG,EAAE;EAC9B,KAAK,MAAMS,KAAK,IAAIb,WAAW,CAACsB,MAAM,EAAE;IACtC,MAAMC,MAAM,GAAGjB,IAAI,CAACO,KAAK,CAACK,IAAI,CAAC;IAC/B,IAAIK,MAAM,YAAYR,YAAY,EAAE;MAClC,MAAMS,WAAW,GAAGhC,aAAa,CAACiC,IAAI,CAACF,MAAM,CAAC;MAC9CnB,YAAY,CAACgB,IAAI,CAACI,WAAW,CAAC;IAChC;EACF;EACA,IAAIxB,WAAW,CAACsB,MAAM,CAACd,MAAM,KAAKJ,YAAY,CAACI,MAAM,EAAE;IACrD,MAAM,IAAIa,KAAK,CAAC,oCAAoC,CAAC;EACvD;EACA,OAAOjB,YAAY;AACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-arrow.js","names":["Table","FloatVector","DateVector","VECTOR_TYPES","encodeArrowSync","data","vectors","arrayNames","arrayData","push","name","arrayVector","createVector","array","type","table","new","arrowBuffer","serialize","DATE","from","FLOAT"],"sources":["../../../src/lib/encode-arrow.ts"],"sourcesContent":["import {Table, FloatVector, DateVector} from 'apache-arrow';\nimport {AnyArrayType, VECTOR_TYPES} from '../types';\n\ntype ColumnarTable = {\n name: string;\n array: AnyArrayType;\n type: number;\n}[];\n\n/**\n * Encodes set of arrays into the Apache Arrow columnar format\n * https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format\n * @param data - columns data\n * @param options - the writer options\n * @returns - encoded ArrayBuffer\n */\nexport function encodeArrowSync(data: ColumnarTable): ArrayBuffer {\n const vectors: any[] = [];\n const arrayNames: string[] = [];\n for (const arrayData of data) {\n arrayNames.push(arrayData.name);\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors.push(arrayVector);\n }\n const table = Table.new(vectors, arrayNames);\n const arrowBuffer = table.serialize();\n return arrowBuffer;\n}\n\n/**\n * Create Arrow Vector from given data and vector type\n * @param array {import('../types').AnyArrayType} - columns data\n * @param type {number} - the writer options\n * @return a vector of one of vector's types defined in the Apache Arrow library\n */\nfunction createVector(array, type) {\n switch (type) {\n case VECTOR_TYPES.DATE:\n return DateVector.from(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return FloatVector.from(array);\n }\n}\n"],"mappings":"AAAA,SAAQA,KAAK,EAAEC,WAAW,EAAEC,UAAU,QAAO,cAAc;AAC3D,SAAsBC,YAAY,QAAO,UAAU;AAenD,OAAO,SAASC,eAAeA,CAACC,IAAmB,EAAe;EAChE,MAAMC,OAAc,GAAG,EAAE;EACzB,MAAMC,UAAoB,GAAG,EAAE;EAC/B,KAAK,MAAMC,SAAS,IAAIH,IAAI,EAAE;IAC5BE,UAAU,CAACE,IAAI,CAACD,SAAS,CAACE,IAAI,CAAC;IAC/B,MAAMC,WAAW,GAAGC,YAAY,CAACJ,SAAS,CAACK,KAAK,EAAEL,SAAS,CAACM,IAAI,CAAC;IACjER,OAAO,CAACG,IAAI,CAACE,WAAW,CAAC;EAC3B;EACA,MAAMI,KAAK,GAAGf,KAAK,CAACgB,GAAG,CAACV,OAAO,EAAEC,UAAU,CAAC;EAC5C,MAAMU,WAAW,GAAGF,KAAK,CAACG,SAAS,
|
|
1
|
+
{"version":3,"file":"encode-arrow.js","names":["Table","FloatVector","DateVector","VECTOR_TYPES","encodeArrowSync","data","vectors","arrayNames","arrayData","push","name","arrayVector","createVector","array","type","table","new","arrowBuffer","serialize","DATE","from","FLOAT"],"sources":["../../../src/lib/encode-arrow.ts"],"sourcesContent":["import {Table, FloatVector, DateVector} from 'apache-arrow';\nimport {AnyArrayType, VECTOR_TYPES} from '../types';\n\ntype ColumnarTable = {\n name: string;\n array: AnyArrayType;\n type: number;\n}[];\n\n/**\n * Encodes set of arrays into the Apache Arrow columnar format\n * https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format\n * @param data - columns data\n * @param options - the writer options\n * @returns - encoded ArrayBuffer\n */\nexport function encodeArrowSync(data: ColumnarTable): ArrayBuffer {\n const vectors: any[] = [];\n const arrayNames: string[] = [];\n for (const arrayData of data) {\n arrayNames.push(arrayData.name);\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors.push(arrayVector);\n }\n const table = Table.new(vectors, arrayNames);\n const arrowBuffer = table.serialize();\n return arrowBuffer;\n}\n\n/**\n * Create Arrow Vector from given data and vector type\n * @param array {import('../types').AnyArrayType} - columns data\n * @param type {number} - the writer options\n * @return a vector of one of vector's types defined in the Apache Arrow library\n */\nfunction createVector(array, type) {\n switch (type) {\n case VECTOR_TYPES.DATE:\n return DateVector.from(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return FloatVector.from(array);\n }\n}\n"],"mappings":"AAAA,SAAQA,KAAK,EAAEC,WAAW,EAAEC,UAAU,QAAO,cAAc;AAC3D,SAAsBC,YAAY,QAAO,UAAU;AAenD,OAAO,SAASC,eAAeA,CAACC,IAAmB,EAAe;EAChE,MAAMC,OAAc,GAAG,EAAE;EACzB,MAAMC,UAAoB,GAAG,EAAE;EAC/B,KAAK,MAAMC,SAAS,IAAIH,IAAI,EAAE;IAC5BE,UAAU,CAACE,IAAI,CAACD,SAAS,CAACE,IAAI,CAAC;IAC/B,MAAMC,WAAW,GAAGC,YAAY,CAACJ,SAAS,CAACK,KAAK,EAAEL,SAAS,CAACM,IAAI,CAAC;IACjER,OAAO,CAACG,IAAI,CAACE,WAAW,CAAC;EAC3B;EACA,MAAMI,KAAK,GAAGf,KAAK,CAACgB,GAAG,CAACV,OAAO,EAAEC,UAAU,CAAC;EAC5C,MAAMU,WAAW,GAAGF,KAAK,CAACG,SAAS,CAAC,CAAC;EACrC,OAAOD,WAAW;AACpB;AAQA,SAASL,YAAYA,CAACC,KAAK,EAAEC,IAAI,EAAE;EACjC,QAAQA,IAAI;IACV,KAAKX,YAAY,CAACgB,IAAI;MACpB,OAAOjB,UAAU,CAACkB,IAAI,CAACP,KAAK,CAAC;IAC/B,KAAKV,YAAY,CAACkB,KAAK;IACvB;MACE,OAAOpB,WAAW,CAACmB,IAAI,CAACP,KAAK,CAAC;EAClC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-in-batches.js","names":["RecordBatchReader","parseArrowInBatches","asyncIterator","makeArrowAsyncIterator","readers","readAll","reader","batch","processBatch","values","metadata","schema","length","fields","forEach","_ref","index","name","getChildAt","toArray"],"sources":["../../../src/lib/parse-arrow-in-batches.ts"],"sourcesContent":["// TODO - this import defeats the sophisticated typescript checking in ArrowJS\nimport {RecordBatchReader} from 'apache-arrow';\n// import {isIterable} from '@loaders.gl/core';\n\n/**\n */\nexport function parseArrowInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): AsyncIterable<any> {\n // Creates the appropriate RecordBatchReader subclasses from the input\n // This will also close the underlying source in case of early termination or errors\n\n // As an optimization, return a non-async iterator\n /*\n if (isIterable(readers)) {\n function* makeArrowIterator() {\n for (const reader of readers) {\n for (const batch of reader) {\n yield processBatch(batch, reader);\n }\n break; // only processing one stream of batches\n }\n }\n const arrowIterator = makeArrowIterator();\n }\n */\n\n async function* makeArrowAsyncIterator() {\n // @ts-expect-error Fixed in arrow 9\n const readers = RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const batch of reader) {\n yield processBatch(batch);\n }\n break; // only processing one stream of batches\n }\n }\n return makeArrowAsyncIterator();\n}\n\nfunction processBatch(batch) {\n const values = {\n metadata: batch.schema.metadata,\n length: batch.length\n };\n batch.schema.fields.forEach(({name}, index) => {\n values[name] = batch.getChildAt(index).toArray();\n });\n return values;\n}\n"],"mappings":"AACA,SAAQA,iBAAiB,QAAO,cAAc;AAK9C,OAAO,SAASC,mBAAmBA,CACjCC,aAAiE,EAC7C;EAmBpB,gBAAgBC,sBAAsBA,CAAA,EAAG;IAEvC,MAAMC,OAAO,GAAGJ,iBAAiB,CAACK,OAAO,CAACH,aAAa,CAAC;IACxD,WAAW,MAAMI,MAAM,IAAIF,OAAO,EAAE;MAClC,WAAW,MAAMG,KAAK,IAAID,MAAM,EAAE;QAChC,MAAME,YAAY,CAACD,KAAK,CAAC;MAC3B;MACA;IACF;EACF;EACA,OAAOJ,sBAAsB,
|
|
1
|
+
{"version":3,"file":"parse-arrow-in-batches.js","names":["RecordBatchReader","parseArrowInBatches","asyncIterator","makeArrowAsyncIterator","readers","readAll","reader","batch","processBatch","values","metadata","schema","length","fields","forEach","_ref","index","name","getChildAt","toArray"],"sources":["../../../src/lib/parse-arrow-in-batches.ts"],"sourcesContent":["// TODO - this import defeats the sophisticated typescript checking in ArrowJS\nimport {RecordBatchReader} from 'apache-arrow';\n// import {isIterable} from '@loaders.gl/core';\n\n/**\n */\nexport function parseArrowInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): AsyncIterable<any> {\n // Creates the appropriate RecordBatchReader subclasses from the input\n // This will also close the underlying source in case of early termination or errors\n\n // As an optimization, return a non-async iterator\n /*\n if (isIterable(readers)) {\n function* makeArrowIterator() {\n for (const reader of readers) {\n for (const batch of reader) {\n yield processBatch(batch, reader);\n }\n break; // only processing one stream of batches\n }\n }\n const arrowIterator = makeArrowIterator();\n }\n */\n\n async function* makeArrowAsyncIterator() {\n // @ts-expect-error Fixed in arrow 9\n const readers = RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const batch of reader) {\n yield processBatch(batch);\n }\n break; // only processing one stream of batches\n }\n }\n return makeArrowAsyncIterator();\n}\n\nfunction processBatch(batch) {\n const values = {\n metadata: batch.schema.metadata,\n length: batch.length\n };\n batch.schema.fields.forEach(({name}, index) => {\n values[name] = batch.getChildAt(index).toArray();\n });\n return values;\n}\n"],"mappings":"AACA,SAAQA,iBAAiB,QAAO,cAAc;AAK9C,OAAO,SAASC,mBAAmBA,CACjCC,aAAiE,EAC7C;EAmBpB,gBAAgBC,sBAAsBA,CAAA,EAAG;IAEvC,MAAMC,OAAO,GAAGJ,iBAAiB,CAACK,OAAO,CAACH,aAAa,CAAC;IACxD,WAAW,MAAMI,MAAM,IAAIF,OAAO,EAAE;MAClC,WAAW,MAAMG,KAAK,IAAID,MAAM,EAAE;QAChC,MAAME,YAAY,CAACD,KAAK,CAAC;MAC3B;MACA;IACF;EACF;EACA,OAAOJ,sBAAsB,CAAC,CAAC;AACjC;AAEA,SAASK,YAAYA,CAACD,KAAK,EAAE;EAC3B,MAAME,MAAM,GAAG;IACbC,QAAQ,EAAEH,KAAK,CAACI,MAAM,CAACD,QAAQ;IAC/BE,MAAM,EAAEL,KAAK,CAACK;EAChB,CAAC;EACDL,KAAK,CAACI,MAAM,CAACE,MAAM,CAACC,OAAO,CAAC,CAAAC,IAAA,EAASC,KAAK,KAAK;IAAA,IAAlB;MAACC;IAAI,CAAC,GAAAF,IAAA;IACjCN,MAAM,CAACQ,IAAI,CAAC,GAAGV,KAAK,CAACW,UAAU,CAACF,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC;EAClD,CAAC,CAAC;EACF,OAAOV,MAAM;AACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-sync.js","names":["Table","parseArrowSync","arrayBuffer","options","_options$arrow","arrowTable","from","Uint8Array","columnarTable","schema","fields","forEach","field","arrowColumn","getColumn","name","values","toArray","arrow","shape","convertColumnarToRowFormatTable","tableKeys","Object","keys","tableRowsCount","length","rowFormatTable","index","tableItem","keyIndex","fieldName","push"],"sources":["../../../src/lib/parse-arrow-sync.ts"],"sourcesContent":["import type {ArrowLoaderOptions} from '../arrow-loader';\nimport {Table} from 'apache-arrow';\n\n// Parses arrow to a columnar table\nexport default function parseArrowSync(arrayBuffer, options?: ArrowLoaderOptions) {\n const arrowTable = Table.from([new Uint8Array(arrayBuffer)]);\n\n // Extract columns\n\n // TODO - avoid calling `getColumn` on columns we are not interested in?\n // Add options object?\n const columnarTable = {};\n\n arrowTable.schema.fields.forEach((field) => {\n // This (is intended to) coalesce all record batches into a single typed array\n const arrowColumn = arrowTable.getColumn(field.name);\n const values = arrowColumn.toArray();\n columnarTable[field.name] = values;\n });\n\n switch (options?.arrow?.shape) {\n case 'arrow-table':\n return arrowTable;\n case 'object-row-table':\n return convertColumnarToRowFormatTable(columnarTable);\n case 'columnar-table':\n default:\n return columnarTable;\n }\n}\n\nfunction convertColumnarToRowFormatTable(columnarTable) {\n const tableKeys = Object.keys(columnarTable);\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n const rowFormatTable: {}[] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const tableItem = {};\n for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {\n const fieldName = tableKeys[keyIndex];\n tableItem[fieldName] = columnarTable[fieldName][index];\n }\n rowFormatTable.push(tableItem);\n }\n return rowFormatTable;\n}\n"],"mappings":"AACA,SAAQA,KAAK,QAAO,cAAc;AAGlC,eAAe,SAASC,cAAcA,CAACC,WAAW,EAAEC,OAA4B,EAAE;EAAA,IAAAC,cAAA;EAChF,MAAMC,UAAU,GAAGL,KAAK,CAACM,IAAI,CAAC,CAAC,IAAIC,UAAU,CAACL,WAAW,CAAC,CAAC,CAAC;EAM5D,MAAMM,aAAa,GAAG,CAAC,CAAC;EAExBH,UAAU,CAACI,MAAM,CAACC,MAAM,CAACC,OAAO,CAAEC,KAAK,IAAK;IAE1C,MAAMC,WAAW,GAAGR,UAAU,CAACS,SAAS,CAACF,KAAK,CAACG,IAAI,CAAC;IACpD,MAAMC,MAAM,GAAGH,WAAW,CAACI,OAAO,
|
|
1
|
+
{"version":3,"file":"parse-arrow-sync.js","names":["Table","parseArrowSync","arrayBuffer","options","_options$arrow","arrowTable","from","Uint8Array","columnarTable","schema","fields","forEach","field","arrowColumn","getColumn","name","values","toArray","arrow","shape","convertColumnarToRowFormatTable","tableKeys","Object","keys","tableRowsCount","length","rowFormatTable","index","tableItem","keyIndex","fieldName","push"],"sources":["../../../src/lib/parse-arrow-sync.ts"],"sourcesContent":["import type {ArrowLoaderOptions} from '../arrow-loader';\nimport {Table} from 'apache-arrow';\n\n// Parses arrow to a columnar table\nexport default function parseArrowSync(arrayBuffer, options?: ArrowLoaderOptions) {\n const arrowTable = Table.from([new Uint8Array(arrayBuffer)]);\n\n // Extract columns\n\n // TODO - avoid calling `getColumn` on columns we are not interested in?\n // Add options object?\n const columnarTable = {};\n\n arrowTable.schema.fields.forEach((field) => {\n // This (is intended to) coalesce all record batches into a single typed array\n const arrowColumn = arrowTable.getColumn(field.name);\n const values = arrowColumn.toArray();\n columnarTable[field.name] = values;\n });\n\n switch (options?.arrow?.shape) {\n case 'arrow-table':\n return arrowTable;\n case 'object-row-table':\n return convertColumnarToRowFormatTable(columnarTable);\n case 'columnar-table':\n default:\n return columnarTable;\n }\n}\n\nfunction convertColumnarToRowFormatTable(columnarTable) {\n const tableKeys = Object.keys(columnarTable);\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n const rowFormatTable: {}[] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const tableItem = {};\n for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {\n const fieldName = tableKeys[keyIndex];\n tableItem[fieldName] = columnarTable[fieldName][index];\n }\n rowFormatTable.push(tableItem);\n }\n return rowFormatTable;\n}\n"],"mappings":"AACA,SAAQA,KAAK,QAAO,cAAc;AAGlC,eAAe,SAASC,cAAcA,CAACC,WAAW,EAAEC,OAA4B,EAAE;EAAA,IAAAC,cAAA;EAChF,MAAMC,UAAU,GAAGL,KAAK,CAACM,IAAI,CAAC,CAAC,IAAIC,UAAU,CAACL,WAAW,CAAC,CAAC,CAAC;EAM5D,MAAMM,aAAa,GAAG,CAAC,CAAC;EAExBH,UAAU,CAACI,MAAM,CAACC,MAAM,CAACC,OAAO,CAAEC,KAAK,IAAK;IAE1C,MAAMC,WAAW,GAAGR,UAAU,CAACS,SAAS,CAACF,KAAK,CAACG,IAAI,CAAC;IACpD,MAAMC,MAAM,GAAGH,WAAW,CAACI,OAAO,CAAC,CAAC;IACpCT,aAAa,CAACI,KAAK,CAACG,IAAI,CAAC,GAAGC,MAAM;EACpC,CAAC,CAAC;EAEF,QAAQb,OAAO,aAAPA,OAAO,wBAAAC,cAAA,GAAPD,OAAO,CAAEe,KAAK,cAAAd,cAAA,uBAAdA,cAAA,CAAgBe,KAAK;IAC3B,KAAK,aAAa;MAChB,OAAOd,UAAU;IACnB,KAAK,kBAAkB;MACrB,OAAOe,+BAA+B,CAACZ,aAAa,CAAC;IACvD,KAAK,gBAAgB;IACrB;MACE,OAAOA,aAAa;EACxB;AACF;AAEA,SAASY,+BAA+BA,CAACZ,aAAa,EAAE;EACtD,MAAMa,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACf,aAAa,CAAC;EAC5C,MAAMgB,cAAc,GAAGhB,aAAa,CAACa,SAAS,CAAC,CAAC,CAAC,CAAC,CAACI,MAAM;EACzD,MAAMC,cAAoB,GAAG,EAAE;EAE/B,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,cAAc,EAAEG,KAAK,EAAE,EAAE;IACnD,MAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,IAAIC,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGR,SAAS,CAACI,MAAM,EAAEI,QAAQ,EAAE,EAAE;MAC9D,MAAMC,SAAS,GAAGT,SAAS,CAACQ,QAAQ,CAAC;MACrCD,SAAS,CAACE,SAAS,CAAC,GAAGtB,aAAa,CAACsB,SAAS,CAAC,CAACH,KAAK,CAAC;IACxD;IACAD,cAAc,CAACK,IAAI,CAACH,SAAS,CAAC;EAChC;EACA,OAAOF,cAAc;AACvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/arrow",
|
|
3
|
-
"version": "3.4.0-alpha.
|
|
3
|
+
"version": "3.4.0-alpha.5",
|
|
4
4
|
"description": "Simple columnar table loader for the Apache Arrow format",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"build-worker": "esbuild src/workers/arrow-worker.ts --bundle --outfile=dist/arrow-worker.js --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@loaders.gl/loader-utils": "3.4.0-alpha.
|
|
40
|
-
"@loaders.gl/schema": "3.4.0-alpha.
|
|
39
|
+
"@loaders.gl/loader-utils": "3.4.0-alpha.5",
|
|
40
|
+
"@loaders.gl/schema": "3.4.0-alpha.5",
|
|
41
41
|
"apache-arrow": "^4.0.0"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "686929f85b3420c15df051eab769942b260dd242"
|
|
44
44
|
}
|