@loaders.gl/arrow 4.4.0-alpha.1 → 4.4.0-alpha.2
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/arrow-writer.js +1 -1
- package/dist/dist.min.js +3 -3
- package/dist/exports/arrow-loader.js +1 -1
- package/dist/geoarrow-writer.js +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/triangulate-on-worker.js +1 -1
- package/package.json +9 -9
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
5
5
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
6
|
-
const VERSION = typeof "4.4.0-alpha.
|
|
6
|
+
const VERSION = typeof "4.4.0-alpha.1" !== 'undefined' ? "4.4.0-alpha.1" : 'latest';
|
|
7
7
|
/** ArrowJS table loader */
|
|
8
8
|
export const ArrowWorkerLoader = {
|
|
9
9
|
dataType: null,
|
package/dist/geoarrow-writer.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { encodeGeoArrowSync } from "./lib/encoders/encode-geoarrow.js";
|
|
3
3
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
4
4
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
5
|
-
const VERSION = typeof "4.4.0-alpha.
|
|
5
|
+
const VERSION = typeof "4.4.0-alpha.1" !== 'undefined' ? "4.4.0-alpha.1" : 'latest';
|
|
6
6
|
/** Apache Arrow writer */
|
|
7
7
|
export const GeoArrowWriter = {
|
|
8
8
|
name: 'Apache Arrow',
|
package/dist/index.cjs
CHANGED
|
@@ -68,7 +68,7 @@ var ArrowFormat = {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
// dist/exports/arrow-loader.js
|
|
71
|
-
var VERSION = true ? "4.4.0-alpha.
|
|
71
|
+
var VERSION = true ? "4.4.0-alpha.1" : "latest";
|
|
72
72
|
var ArrowWorkerLoader = {
|
|
73
73
|
dataType: null,
|
|
74
74
|
batchType: null,
|
|
@@ -158,7 +158,7 @@ function createVector(array, type) {
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
// dist/arrow-writer.js
|
|
161
|
-
var VERSION2 = true ? "4.4.0-alpha.
|
|
161
|
+
var VERSION2 = true ? "4.4.0-alpha.1" : "latest";
|
|
162
162
|
var ArrowWriter = {
|
|
163
163
|
name: "Apache Arrow",
|
|
164
164
|
id: "arrow",
|
|
@@ -260,7 +260,7 @@ function cloneBuffer(arr, force) {
|
|
|
260
260
|
|
|
261
261
|
// dist/triangulate-on-worker.js
|
|
262
262
|
var import_worker_utils = require("@loaders.gl/worker-utils");
|
|
263
|
-
var VERSION3 = true ? "4.4.0-alpha.
|
|
263
|
+
var VERSION3 = true ? "4.4.0-alpha.1" : "latest";
|
|
264
264
|
var TriangulationWorker = {
|
|
265
265
|
id: "triangulation",
|
|
266
266
|
name: "Triangulate",
|
package/dist/index.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["index.js", "lib/types.js", "exports/arrow-format.js", "exports/arrow-loader.js", "lib/parsers/parse-arrow.js", "arrow-loader.js", "lib/encoders/encode-arrow.js", "arrow-writer.js", "exports/geoarrow-loader.js", "lib/parsers/parse-geoarrow.js", "geoarrow-loader.js", "workers/hard-clone.js", "triangulate-on-worker.js"],
|
|
4
|
-
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Types\nexport { VECTOR_TYPES } from \"./lib/types.js\";\n// Arrow loader / Writer\nexport { ArrowFormat } from \"./exports/arrow-format.js\";\nexport { ArrowWorkerLoader } from \"./exports/arrow-loader.js\";\nexport { ArrowLoader } from \"./arrow-loader.js\";\nexport { ArrowWriter } from \"./arrow-writer.js\";\n// Geoarrow loader\nexport { GeoArrowWorkerLoader } from \"./exports/geoarrow-loader.js\";\nexport { GeoArrowLoader } from \"./geoarrow-loader.js\";\n// EXPERIMENTAL\n// Arrow Utils\n// getGeometryColumnsFromArrowTable,\n// getGeoArrowEncoding\n// EXPERIMENTAL WORKER\nexport { hardClone } from \"./workers/hard-clone.js\";\nexport { TriangulationWorker, triangulateOnWorker, parseGeoArrowOnWorker } from \"./triangulate-on-worker.js\";\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nexport var VECTOR_TYPES;\n(function (VECTOR_TYPES) {\n VECTOR_TYPES[VECTOR_TYPES[\"FLOAT\"] = 0] = \"FLOAT\";\n VECTOR_TYPES[VECTOR_TYPES[\"DATE\"] = 1] = \"DATE\";\n})(VECTOR_TYPES || (VECTOR_TYPES = {}));\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n/** ArrowJS table loader */\nexport const ArrowFormat = {\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n category: 'table',\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n tests: ['ARROW']\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.4.0-alpha.0\" !== 'undefined' ? \"4.4.0-alpha.0\" : 'latest';\n/** ArrowJS table loader */\nexport const ArrowWorkerLoader = {\n dataType: null,\n batchType: null,\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n version: VERSION,\n // worker: true,\n category: 'table',\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n tests: ['ARROW'],\n options: {\n arrow: {\n shape: 'columnar-table'\n }\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport * as arrow from 'apache-arrow';\nimport { convertArrowToTable } from '@loaders.gl/schema-utils';\n/** Parses arrow to a loaders.gl table. Defaults to `arrow-table` */\nexport function parseArrowSync(arrayBuffer, options) {\n const shape = options?.shape || 'arrow-table';\n const arrowTable = arrow.tableFromIPC([new Uint8Array(arrayBuffer)]);\n return convertArrowToTable(arrowTable, shape);\n}\nexport function parseArrowInBatches(asyncIterator, options) {\n // Creates the appropriate arrow.RecordBatchReader subclasses from the input\n // This will also close the underlying source in case of early termination or errors\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 async function* makeArrowAsyncIterator() {\n // @ts-ignore\n const readers = arrow.RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const recordBatch of reader) {\n // use options.batchDebounceMs to add a delay between batches if needed (use case: incremental loading)\n if (options?.arrow?.batchDebounceMs !== undefined && options?.arrow?.batchDebounceMs > 0) {\n await new Promise((resolve) => setTimeout(resolve, options.arrow?.batchDebounceMs || 0));\n }\n const arrowTabledBatch = {\n shape: 'arrow-table',\n batchType: 'data',\n data: new arrow.Table([recordBatch]),\n length: recordBatch.data.length\n };\n // processBatch(recordBatch);\n yield arrowTabledBatch;\n }\n break; // only processing one stream of batches\n }\n }\n return makeArrowAsyncIterator(); // as AsyncIterator<ArrowTableBatch>;\n}\n// function processBatch(batch: RecordBatch): ArrowTableBatch {\n// const values = {};\n// batch.schema.fields.forEach(({name}, index) => {\n// values[name] = batch.getChildAt(index)?.toArray();\n// });\n// return {\n// };\n// }\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseArrowSync, parseArrowInBatches } from \"./lib/parsers/parse-arrow.js\";\nimport { ArrowWorkerLoader } from \"./exports/arrow-loader.js\";\n/** ArrowJS table loader */\nexport const ArrowLoader = {\n ...ArrowWorkerLoader,\n parse: async (arraybuffer, options) => parseArrowSync(arraybuffer, options?.arrow),\n parseSync: (arraybuffer, options) => parseArrowSync(arraybuffer, options?.arrow),\n parseInBatches: parseArrowInBatches\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport * as arrow from 'apache-arrow';\nimport { VECTOR_TYPES } from \"../types.js\";\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) {\n const vectors = {};\n for (const arrayData of data) {\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors[arrayData.name] = arrayVector;\n }\n const table = new arrow.Table(vectors);\n const arrowBuffer = arrow.tableToIPC(table);\n return arrowBuffer;\n}\n/**\n * Create Arrow 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 arrow.vectorFromArray(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return arrow.vectorFromArray(array);\n }\n}\n", "// import type {} from '@loaders.gl/loader-utils';\nimport { encodeArrowSync } from \"./lib/encoders/encode-arrow.js\";\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.4.0-alpha.0\" !== 'undefined' ? \"4.4.0-alpha.0\" : 'latest';\n/** Apache Arrow writer */\nexport const ArrowWriter = {\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n version: VERSION,\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n options: {},\n encode: async function encodeArrow(data, options) {\n return encodeArrowSync(data);\n },\n encodeSync(data, options) {\n return encodeArrowSync(data);\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { ArrowWorkerLoader } from \"./arrow-loader.js\";\n/** ArrowJS table loader */\nexport const GeoArrowWorkerLoader = {\n ...ArrowWorkerLoader,\n options: {\n arrow: {\n shape: 'arrow-table'\n }\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseArrowSync, parseArrowInBatches } from \"./parse-arrow.js\";\nimport { convertGeoArrowToTable } from '@loaders.gl/gis';\n// Parses arrow to a columnar table\nexport function parseGeoArrowSync(arrayBuffer, options) {\n // | BinaryGeometry\n const table = parseArrowSync(arrayBuffer, { shape: 'arrow-table' });\n switch (options?.shape) {\n case 'geojson-table':\n return convertGeoArrowToTable(table.data, 'geojson-table');\n default:\n return table;\n }\n}\n/**\n */\nexport function parseGeoArrowInBatches(asyncIterator) {\n // | BinaryGeometry\n return parseArrowInBatches(asyncIterator);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseGeoArrowSync, parseGeoArrowInBatches } from \"./lib/parsers/parse-geoarrow.js\";\nimport { GeoArrowWorkerLoader } from \"./exports/geoarrow-loader.js\";\n/**\n * GeoArrowLoader loads an Apache Arrow table, parses GeoArrow type extension data\n * to convert it to a GeoJSON table or a BinaryGeometry\n */\nexport const GeoArrowLoader = {\n ...GeoArrowWorkerLoader,\n parse: async (arraybuffer, options) => parseGeoArrowSync(arraybuffer, options?.arrow),\n parseSync: (arraybuffer, options) => parseGeoArrowSync(arraybuffer, options?.arrow),\n parseInBatches: parseGeoArrowInBatches\n};\n", "import * as arrow from 'apache-arrow';\nexport function hardClone(data, force = false) {\n // Check if `data` is an arrow.Vector\n if ('data' in data) {\n return new arrow.Vector(data.data.map((data) => hardClone(data, force)));\n }\n // Clone each of the children, recursively\n const clonedChildren = [];\n for (const childData of data.children) {\n clonedChildren.push(hardClone(childData, force));\n }\n // Clone the dictionary if there is one\n let clonedDictionary;\n if (data.dictionary !== undefined) {\n clonedDictionary = hardClone(data.dictionary, force);\n }\n // Buffers can have up to four entries. Each of these can be `undefined` for\n // one or more array types.\n //\n // - OFFSET: value offsets for variable size list types\n // - DATA: the underlying data\n // - VALIDITY: the null buffer. This may be empty or undefined if all elements\n // are non-null/valid.\n // - TYPE: type ids for a union type.\n const clonedBuffers = {\n [arrow.BufferType.OFFSET]: cloneBuffer(data.buffers[arrow.BufferType.OFFSET], force),\n [arrow.BufferType.DATA]: cloneBuffer(data.buffers[arrow.BufferType.DATA], force),\n [arrow.BufferType.VALIDITY]: cloneBuffer(data.buffers[arrow.BufferType.VALIDITY], force),\n [arrow.BufferType.TYPE]: cloneBuffer(data.buffers[arrow.BufferType.TYPE], force)\n };\n // Note: the data.offset is passed on so that a sliced Data instance will not\n // be \"un-sliced\". However keep in mind that this means we're cloning the\n // _original backing buffer_, not only the portion of the Data that was\n // sliced.\n return new arrow.Data(data.type, data.offset, data.length, \n // @ts-expect-error _nullCount is protected. We're using it here to mimic\n // `Data.clone`\n data._nullCount, clonedBuffers, clonedChildren, clonedDictionary);\n}\n/**\n * Test whether an arrow.Data instance is a slice of a larger `ArrayBuffer`.\n */\nexport function isShared(data) {\n // Loop over arrow.Vector\n if ('data' in data) {\n return data.data.some((data) => isShared(data));\n }\n // Check child data\n for (const childData of data.children) {\n if (isShared(childData)) {\n return true;\n }\n }\n // Check dictionary\n if (data.dictionary !== undefined) {\n if (isShared(data.dictionary)) {\n return true;\n }\n }\n const bufferTypes = [\n arrow.BufferType.OFFSET,\n arrow.BufferType.DATA,\n arrow.BufferType.VALIDITY,\n arrow.BufferType.TYPE\n ];\n for (const bufferType of bufferTypes) {\n if (data.buffers[bufferType] !== undefined && isTypedArraySliced(data.buffers[bufferType])) {\n return true;\n }\n }\n return false;\n}\n/**\n * Returns true if the current typed array is a partial slice on a larger\n * ArrayBuffer\n */\nfunction isTypedArraySliced(arr) {\n return !(arr.byteOffset === 0 && arr.byteLength === arr.buffer.byteLength);\n}\n/**\n * If a slice of a larger ArrayBuffer, clone to a fresh `ArrayBuffer`.\n *\n * If `force` is `true`, always clone the array, even if not shared.\n */\nfunction cloneBuffer(arr, force) {\n // Not all buffer types are defined for every type of Arrow array. E.g.\n // `arrow.BufferType.TYPE` is only defined for the Union type.\n if (arr === undefined) {\n return arr;\n }\n // The current array is not a part of a larger ArrayBuffer, don't clone it\n if (!force && !isTypedArraySliced(arr)) {\n return arr;\n }\n // Note: TypedArray.slice() **copies** into a new ArrayBuffer\n // @ts-expect-error 'Uint8Array' is assignable to the constraint of type 'A',\n // but 'A' could be instantiated with a different subtype of constraint\n // 'TypedArray'\n // We know from arr.slice that it will always return the same\n return arr.slice();\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { processOnWorker } from '@loaders.gl/worker-utils';\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.4.0-alpha.0\" !== 'undefined' ? \"4.4.0-alpha.0\" : 'latest';\n/**\n * Worker for tessellating geometries. Normally called through triangulateOnWorker\n */\nexport const TriangulationWorker = {\n id: 'triangulation',\n name: 'Triangulate',\n module: 'arrow',\n version: VERSION,\n options: {}\n};\n/**\n * Triangulate a set of polygons on worker, type safe API\n */\nexport function triangulateOnWorker(data, options = {}) {\n return processOnWorker(TriangulationWorker, { ...data, operation: 'triangulate' }, options);\n}\n/**\n * Parse GeoArrow geometry colum on worker, type safe API\n */\nexport function parseGeoArrowOnWorker(data, options = {}) {\n return processOnWorker(TriangulationWorker, { ...data, operation: 'parse-geoarrow' }, options);\n}\n"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// Types\nexport { VECTOR_TYPES } from \"./lib/types.js\";\n// Arrow loader / Writer\nexport { ArrowFormat } from \"./exports/arrow-format.js\";\nexport { ArrowWorkerLoader } from \"./exports/arrow-loader.js\";\nexport { ArrowLoader } from \"./arrow-loader.js\";\nexport { ArrowWriter } from \"./arrow-writer.js\";\n// Geoarrow loader\nexport { GeoArrowWorkerLoader } from \"./exports/geoarrow-loader.js\";\nexport { GeoArrowLoader } from \"./geoarrow-loader.js\";\n// EXPERIMENTAL\n// Arrow Utils\n// getGeometryColumnsFromArrowTable,\n// getGeoArrowEncoding\n// EXPERIMENTAL WORKER\nexport { hardClone } from \"./workers/hard-clone.js\";\nexport { TriangulationWorker, triangulateOnWorker, parseGeoArrowOnWorker } from \"./triangulate-on-worker.js\";\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nexport var VECTOR_TYPES;\n(function (VECTOR_TYPES) {\n VECTOR_TYPES[VECTOR_TYPES[\"FLOAT\"] = 0] = \"FLOAT\";\n VECTOR_TYPES[VECTOR_TYPES[\"DATE\"] = 1] = \"DATE\";\n})(VECTOR_TYPES || (VECTOR_TYPES = {}));\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n/** ArrowJS table loader */\nexport const ArrowFormat = {\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n category: 'table',\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n tests: ['ARROW']\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.4.0-alpha.1\" !== 'undefined' ? \"4.4.0-alpha.1\" : 'latest';\n/** ArrowJS table loader */\nexport const ArrowWorkerLoader = {\n dataType: null,\n batchType: null,\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n version: VERSION,\n // worker: true,\n category: 'table',\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n tests: ['ARROW'],\n options: {\n arrow: {\n shape: 'columnar-table'\n }\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport * as arrow from 'apache-arrow';\nimport { convertArrowToTable } from '@loaders.gl/schema-utils';\n/** Parses arrow to a loaders.gl table. Defaults to `arrow-table` */\nexport function parseArrowSync(arrayBuffer, options) {\n const shape = options?.shape || 'arrow-table';\n const arrowTable = arrow.tableFromIPC([new Uint8Array(arrayBuffer)]);\n return convertArrowToTable(arrowTable, shape);\n}\nexport function parseArrowInBatches(asyncIterator, options) {\n // Creates the appropriate arrow.RecordBatchReader subclasses from the input\n // This will also close the underlying source in case of early termination or errors\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 async function* makeArrowAsyncIterator() {\n // @ts-ignore\n const readers = arrow.RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const recordBatch of reader) {\n // use options.batchDebounceMs to add a delay between batches if needed (use case: incremental loading)\n if (options?.arrow?.batchDebounceMs !== undefined && options?.arrow?.batchDebounceMs > 0) {\n await new Promise((resolve) => setTimeout(resolve, options.arrow?.batchDebounceMs || 0));\n }\n const arrowTabledBatch = {\n shape: 'arrow-table',\n batchType: 'data',\n data: new arrow.Table([recordBatch]),\n length: recordBatch.data.length\n };\n // processBatch(recordBatch);\n yield arrowTabledBatch;\n }\n break; // only processing one stream of batches\n }\n }\n return makeArrowAsyncIterator(); // as AsyncIterator<ArrowTableBatch>;\n}\n// function processBatch(batch: RecordBatch): ArrowTableBatch {\n// const values = {};\n// batch.schema.fields.forEach(({name}, index) => {\n// values[name] = batch.getChildAt(index)?.toArray();\n// });\n// return {\n// };\n// }\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseArrowSync, parseArrowInBatches } from \"./lib/parsers/parse-arrow.js\";\nimport { ArrowWorkerLoader } from \"./exports/arrow-loader.js\";\n/** ArrowJS table loader */\nexport const ArrowLoader = {\n ...ArrowWorkerLoader,\n parse: async (arraybuffer, options) => parseArrowSync(arraybuffer, options?.arrow),\n parseSync: (arraybuffer, options) => parseArrowSync(arraybuffer, options?.arrow),\n parseInBatches: parseArrowInBatches\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport * as arrow from 'apache-arrow';\nimport { VECTOR_TYPES } from \"../types.js\";\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) {\n const vectors = {};\n for (const arrayData of data) {\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors[arrayData.name] = arrayVector;\n }\n const table = new arrow.Table(vectors);\n const arrowBuffer = arrow.tableToIPC(table);\n return arrowBuffer;\n}\n/**\n * Create Arrow 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 arrow.vectorFromArray(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return arrow.vectorFromArray(array);\n }\n}\n", "// import type {} from '@loaders.gl/loader-utils';\nimport { encodeArrowSync } from \"./lib/encoders/encode-arrow.js\";\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.4.0-alpha.1\" !== 'undefined' ? \"4.4.0-alpha.1\" : 'latest';\n/** Apache Arrow writer */\nexport const ArrowWriter = {\n name: 'Apache Arrow',\n id: 'arrow',\n module: 'arrow',\n version: VERSION,\n extensions: ['arrow', 'feather'],\n mimeTypes: [\n 'application/vnd.apache.arrow.file',\n 'application/vnd.apache.arrow.stream',\n 'application/octet-stream'\n ],\n binary: true,\n options: {},\n encode: async function encodeArrow(data, options) {\n return encodeArrowSync(data);\n },\n encodeSync(data, options) {\n return encodeArrowSync(data);\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { ArrowWorkerLoader } from \"./arrow-loader.js\";\n/** ArrowJS table loader */\nexport const GeoArrowWorkerLoader = {\n ...ArrowWorkerLoader,\n options: {\n arrow: {\n shape: 'arrow-table'\n }\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseArrowSync, parseArrowInBatches } from \"./parse-arrow.js\";\nimport { convertGeoArrowToTable } from '@loaders.gl/gis';\n// Parses arrow to a columnar table\nexport function parseGeoArrowSync(arrayBuffer, options) {\n // | BinaryGeometry\n const table = parseArrowSync(arrayBuffer, { shape: 'arrow-table' });\n switch (options?.shape) {\n case 'geojson-table':\n return convertGeoArrowToTable(table.data, 'geojson-table');\n default:\n return table;\n }\n}\n/**\n */\nexport function parseGeoArrowInBatches(asyncIterator) {\n // | BinaryGeometry\n return parseArrowInBatches(asyncIterator);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { parseGeoArrowSync, parseGeoArrowInBatches } from \"./lib/parsers/parse-geoarrow.js\";\nimport { GeoArrowWorkerLoader } from \"./exports/geoarrow-loader.js\";\n/**\n * GeoArrowLoader loads an Apache Arrow table, parses GeoArrow type extension data\n * to convert it to a GeoJSON table or a BinaryGeometry\n */\nexport const GeoArrowLoader = {\n ...GeoArrowWorkerLoader,\n parse: async (arraybuffer, options) => parseGeoArrowSync(arraybuffer, options?.arrow),\n parseSync: (arraybuffer, options) => parseGeoArrowSync(arraybuffer, options?.arrow),\n parseInBatches: parseGeoArrowInBatches\n};\n", "import * as arrow from 'apache-arrow';\nexport function hardClone(data, force = false) {\n // Check if `data` is an arrow.Vector\n if ('data' in data) {\n return new arrow.Vector(data.data.map((data) => hardClone(data, force)));\n }\n // Clone each of the children, recursively\n const clonedChildren = [];\n for (const childData of data.children) {\n clonedChildren.push(hardClone(childData, force));\n }\n // Clone the dictionary if there is one\n let clonedDictionary;\n if (data.dictionary !== undefined) {\n clonedDictionary = hardClone(data.dictionary, force);\n }\n // Buffers can have up to four entries. Each of these can be `undefined` for\n // one or more array types.\n //\n // - OFFSET: value offsets for variable size list types\n // - DATA: the underlying data\n // - VALIDITY: the null buffer. This may be empty or undefined if all elements\n // are non-null/valid.\n // - TYPE: type ids for a union type.\n const clonedBuffers = {\n [arrow.BufferType.OFFSET]: cloneBuffer(data.buffers[arrow.BufferType.OFFSET], force),\n [arrow.BufferType.DATA]: cloneBuffer(data.buffers[arrow.BufferType.DATA], force),\n [arrow.BufferType.VALIDITY]: cloneBuffer(data.buffers[arrow.BufferType.VALIDITY], force),\n [arrow.BufferType.TYPE]: cloneBuffer(data.buffers[arrow.BufferType.TYPE], force)\n };\n // Note: the data.offset is passed on so that a sliced Data instance will not\n // be \"un-sliced\". However keep in mind that this means we're cloning the\n // _original backing buffer_, not only the portion of the Data that was\n // sliced.\n return new arrow.Data(data.type, data.offset, data.length, \n // @ts-expect-error _nullCount is protected. We're using it here to mimic\n // `Data.clone`\n data._nullCount, clonedBuffers, clonedChildren, clonedDictionary);\n}\n/**\n * Test whether an arrow.Data instance is a slice of a larger `ArrayBuffer`.\n */\nexport function isShared(data) {\n // Loop over arrow.Vector\n if ('data' in data) {\n return data.data.some((data) => isShared(data));\n }\n // Check child data\n for (const childData of data.children) {\n if (isShared(childData)) {\n return true;\n }\n }\n // Check dictionary\n if (data.dictionary !== undefined) {\n if (isShared(data.dictionary)) {\n return true;\n }\n }\n const bufferTypes = [\n arrow.BufferType.OFFSET,\n arrow.BufferType.DATA,\n arrow.BufferType.VALIDITY,\n arrow.BufferType.TYPE\n ];\n for (const bufferType of bufferTypes) {\n if (data.buffers[bufferType] !== undefined && isTypedArraySliced(data.buffers[bufferType])) {\n return true;\n }\n }\n return false;\n}\n/**\n * Returns true if the current typed array is a partial slice on a larger\n * ArrayBuffer\n */\nfunction isTypedArraySliced(arr) {\n return !(arr.byteOffset === 0 && arr.byteLength === arr.buffer.byteLength);\n}\n/**\n * If a slice of a larger ArrayBuffer, clone to a fresh `ArrayBuffer`.\n *\n * If `force` is `true`, always clone the array, even if not shared.\n */\nfunction cloneBuffer(arr, force) {\n // Not all buffer types are defined for every type of Arrow array. E.g.\n // `arrow.BufferType.TYPE` is only defined for the Union type.\n if (arr === undefined) {\n return arr;\n }\n // The current array is not a part of a larger ArrayBuffer, don't clone it\n if (!force && !isTypedArraySliced(arr)) {\n return arr;\n }\n // Note: TypedArray.slice() **copies** into a new ArrayBuffer\n // @ts-expect-error 'Uint8Array' is assignable to the constraint of type 'A',\n // but 'A' could be instantiated with a different subtype of constraint\n // 'TypedArray'\n // We know from arr.slice that it will always return the same\n return arr.slice();\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { processOnWorker } from '@loaders.gl/worker-utils';\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof \"4.4.0-alpha.1\" !== 'undefined' ? \"4.4.0-alpha.1\" : 'latest';\n/**\n * Worker for tessellating geometries. Normally called through triangulateOnWorker\n */\nexport const TriangulationWorker = {\n id: 'triangulation',\n name: 'Triangulate',\n module: 'arrow',\n version: VERSION,\n options: {}\n};\n/**\n * Triangulate a set of polygons on worker, type safe API\n */\nexport function triangulateOnWorker(data, options = {}) {\n return processOnWorker(TriangulationWorker, { ...data, operation: 'triangulate' }, options);\n}\n/**\n * Parse GeoArrow geometry colum on worker, type safe API\n */\nexport function parseGeoArrowOnWorker(data, options = {}) {\n return processOnWorker(TriangulationWorker, { ...data, operation: 'parse-geoarrow' }, options);\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["VECTOR_TYPES", "_a", "arrow", "VERSION", "arrow", "data", "VERSION"]
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { processOnWorker } from '@loaders.gl/worker-utils';
|
|
5
5
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
6
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
-
const VERSION = typeof "4.4.0-alpha.
|
|
7
|
+
const VERSION = typeof "4.4.0-alpha.1" !== 'undefined' ? "4.4.0-alpha.1" : 'latest';
|
|
8
8
|
/**
|
|
9
9
|
* Worker for tessellating geometries. Normally called through triangulateOnWorker
|
|
10
10
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/arrow",
|
|
3
|
-
"version": "4.4.0-alpha.
|
|
3
|
+
"version": "4.4.0-alpha.2",
|
|
4
4
|
"description": "Simple columnar table loader for the Apache Arrow format",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -57,17 +57,17 @@
|
|
|
57
57
|
"build-worker2": "esbuild src/workers/arrow-worker.ts --bundle --outfile=dist/arrow-worker.js --platform=browser --external:{stream}"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@loaders.gl/gis": "4.4.0-alpha.
|
|
61
|
-
"@loaders.gl/loader-utils": "4.4.0-alpha.
|
|
62
|
-
"@loaders.gl/schema": "4.4.0-alpha.
|
|
63
|
-
"@loaders.gl/schema-utils": "4.4.0-alpha.
|
|
64
|
-
"@loaders.gl/wkt": "4.4.0-alpha.
|
|
65
|
-
"@loaders.gl/worker-utils": "4.4.0-alpha.
|
|
60
|
+
"@loaders.gl/gis": "4.4.0-alpha.2",
|
|
61
|
+
"@loaders.gl/loader-utils": "4.4.0-alpha.2",
|
|
62
|
+
"@loaders.gl/schema": "4.4.0-alpha.2",
|
|
63
|
+
"@loaders.gl/schema-utils": "4.4.0-alpha.2",
|
|
64
|
+
"@loaders.gl/wkt": "4.4.0-alpha.2",
|
|
65
|
+
"@loaders.gl/worker-utils": "4.4.0-alpha.2",
|
|
66
66
|
"@math.gl/polygon": "^4.1.0",
|
|
67
67
|
"apache-arrow": ">= 16.1.0"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"@loaders.gl/core": "4.4.0-alpha.
|
|
70
|
+
"@loaders.gl/core": "4.4.0-alpha.1"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "3d9fed050eabdc0812ddf2f4d5fb9914a34ee0c2"
|
|
73
73
|
}
|