@loaders.gl/arrow 3.4.14 → 3.4.15
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 +4 -4
- package/dist/es5/arrow-loader.js.map +1 -1
- package/dist/es5/arrow-writer.js +3 -3
- package/dist/es5/arrow-writer.js.map +1 -1
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/index.js +8 -28
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/arrow-table-batch.js +31 -61
- package/dist/es5/lib/arrow-table-batch.js.map +1 -1
- package/dist/es5/lib/encode-arrow.js +8 -20
- package/dist/es5/lib/encode-arrow.js.map +1 -1
- package/dist/es5/lib/parse-arrow-in-batches.js +13 -120
- package/dist/es5/lib/parse-arrow-in-batches.js.map +1 -1
- package/dist/es5/lib/parse-arrow-sync.js +12 -12
- package/dist/es5/lib/parse-arrow-sync.js.map +1 -1
- package/dist/es5/types.js +1 -1
- package/dist/esm/arrow-loader.js +1 -1
- package/dist/esm/arrow-writer.js +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.
|
|
14959
|
+
var VERSION = true ? "3.4.15" : "latest";
|
|
14960
14960
|
var DEFAULT_ARROW_LOADER_OPTIONS = {
|
|
14961
14961
|
arrow: {
|
|
14962
14962
|
shape: "columnar-table"
|
package/dist/es5/arrow-loader.js
CHANGED
|
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports._typecheckArrowLoader = exports.ArrowLoader = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
|
|
8
|
+
const DEFAULT_ARROW_LOADER_OPTIONS = {
|
|
9
9
|
arrow: {
|
|
10
10
|
shape: 'columnar-table'
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
const ArrowLoader = {
|
|
14
14
|
name: 'Apache Arrow',
|
|
15
15
|
id: 'arrow',
|
|
16
16
|
module: 'arrow',
|
|
@@ -24,6 +24,6 @@ var ArrowLoader = {
|
|
|
24
24
|
options: DEFAULT_ARROW_LOADER_OPTIONS
|
|
25
25
|
};
|
|
26
26
|
exports.ArrowLoader = ArrowLoader;
|
|
27
|
-
|
|
27
|
+
const _typecheckArrowLoader = ArrowLoader;
|
|
28
28
|
exports._typecheckArrowLoader = _typecheckArrowLoader;
|
|
29
29
|
//# sourceMappingURL=arrow-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-loader.js","names":["VERSION","DEFAULT_ARROW_LOADER_OPTIONS","arrow","shape","ArrowLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","exports","_typecheckArrowLoader"],"sources":["../../src/arrow-loader.ts"],"sourcesContent":["import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type ArrowLoaderOptions = LoaderOptions & {\n arrow?: {\n shape: 'arrow-table' | 'columnar-table' | 'row-table' | 'array-row-table' | 'object-row-table';\n };\n};\n\nconst DEFAULT_ARROW_LOADER_OPTIONS = {\n arrow: {\n shape: 'columnar-table'\n }\n};\n\n/** ArrowJS table loader */\nexport const ArrowLoader = {\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: DEFAULT_ARROW_LOADER_OPTIONS\n};\n\nexport const _typecheckArrowLoader: Loader = ArrowLoader;\n"],"mappings":";;;;;;AAIA,
|
|
1
|
+
{"version":3,"file":"arrow-loader.js","names":["VERSION","DEFAULT_ARROW_LOADER_OPTIONS","arrow","shape","ArrowLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","exports","_typecheckArrowLoader"],"sources":["../../src/arrow-loader.ts"],"sourcesContent":["import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type ArrowLoaderOptions = LoaderOptions & {\n arrow?: {\n shape: 'arrow-table' | 'columnar-table' | 'row-table' | 'array-row-table' | 'object-row-table';\n };\n};\n\nconst DEFAULT_ARROW_LOADER_OPTIONS = {\n arrow: {\n shape: 'columnar-table'\n }\n};\n\n/** ArrowJS table loader */\nexport const ArrowLoader = {\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: DEFAULT_ARROW_LOADER_OPTIONS\n};\n\nexport const _typecheckArrowLoader: Loader = ArrowLoader;\n"],"mappings":";;;;;;AAIA,MAAMA,OAAO,GAAG,eAAkB,KAAK,WAAW,cAAiB,QAAQ;AAQ3E,MAAMC,4BAA4B,GAAG;EACnCC,KAAK,EAAE;IACLC,KAAK,EAAE;EACT;AACF,CAAC;AAGM,MAAMC,WAAW,GAAG;EACzBC,IAAI,EAAE,cAAc;EACpBC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAER,OAAO;EAChBS,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;EAChCC,SAAS,EAAE,CACT,mCAAmC,EACnC,qCAAqC,EACrC,0BAA0B,CAC3B;EACDC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,OAAO,CAAC;EAChBC,OAAO,EAAEd;AACX,CAAC;AAACe,OAAA,CAAAZ,WAAA,GAAAA,WAAA;AAEK,MAAMa,qBAA6B,GAAGb,WAAW;AAACY,OAAA,CAAAC,qBAAA,GAAAA,qBAAA"}
|
package/dist/es5/arrow-writer.js
CHANGED
|
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ArrowWriter = void 0;
|
|
7
7
|
var _encodeArrow = require("./lib/encode-arrow");
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
|
|
9
|
+
const ArrowWriter = {
|
|
10
10
|
name: 'Apache Arrow',
|
|
11
11
|
id: 'arrow',
|
|
12
12
|
module: 'arrow',
|
|
13
13
|
version: VERSION,
|
|
14
14
|
extensions: ['arrow', 'feather'],
|
|
15
15
|
mimeTypes: ['application/vnd.apache.arrow.file', 'application/vnd.apache.arrow.stream', 'application/octet-stream'],
|
|
16
|
-
encodeSync
|
|
16
|
+
encodeSync,
|
|
17
17
|
binary: true,
|
|
18
18
|
options: {}
|
|
19
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-writer.js","names":["_encodeArrow","require","VERSION","ArrowWriter","name","id","module","version","extensions","mimeTypes","encodeSync","binary","options","exports","data","encodeArrowSync"],"sources":["../../src/arrow-writer.ts"],"sourcesContent":["// import type {Writer} from '@loaders.gl/loader-utils';\nimport type {WriterOptions} from '@loaders.gl/loader-utils';\nimport {encodeArrowSync} from './lib/encode-arrow';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\ntype ArrowWriterOptions = WriterOptions;\n\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 encodeSync,\n binary: true,\n options: {}\n};\n\nfunction encodeSync(data, options?: ArrowWriterOptions) {\n return encodeArrowSync(data);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAIA,
|
|
1
|
+
{"version":3,"file":"arrow-writer.js","names":["_encodeArrow","require","VERSION","ArrowWriter","name","id","module","version","extensions","mimeTypes","encodeSync","binary","options","exports","data","encodeArrowSync"],"sources":["../../src/arrow-writer.ts"],"sourcesContent":["// import type {Writer} from '@loaders.gl/loader-utils';\nimport type {WriterOptions} from '@loaders.gl/loader-utils';\nimport {encodeArrowSync} from './lib/encode-arrow';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\ntype ArrowWriterOptions = WriterOptions;\n\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 encodeSync,\n binary: true,\n options: {}\n};\n\nfunction encodeSync(data, options?: ArrowWriterOptions) {\n return encodeArrowSync(data);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAIA,MAAMC,OAAO,GAAG,eAAkB,KAAK,WAAW,cAAiB,QAAQ;AAKpE,MAAMC,WAAW,GAAG;EACzBC,IAAI,EAAE,cAAc;EACpBC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;EAChCC,SAAS,EAAE,CACT,mCAAmC,EACnC,qCAAqC,EACrC,0BAA0B,CAC3B;EACDC,UAAU;EACVC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,CAAC;AACZ,CAAC;AAACC,OAAA,CAAAV,WAAA,GAAAA,WAAA;AAEF,SAASO,UAAUA,CAACI,IAAI,EAAEF,OAA4B,EAAE;EACtD,OAAO,IAAAG,4BAAe,EAACD,IAAI,CAAC;AAC9B"}
|
package/dist/es5/bundle.js
CHANGED
package/dist/es5/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
|
package/dist/es5/index.js
CHANGED
|
@@ -7,26 +7,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.ArrowLoader = void 0;
|
|
8
8
|
Object.defineProperty(exports, "ArrowWorkerLoader", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function
|
|
10
|
+
get: function () {
|
|
11
11
|
return _arrowLoader.ArrowLoader;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "ArrowWriter", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function
|
|
16
|
+
get: function () {
|
|
17
17
|
return _arrowWriter.ArrowWriter;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "VECTOR_TYPES", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function
|
|
22
|
+
get: function () {
|
|
23
23
|
return _types.VECTOR_TYPES;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
exports._typecheckArrowLoader = void 0;
|
|
27
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
28
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
29
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
30
27
|
var _arrowLoader = require("./arrow-loader");
|
|
31
28
|
var _parseArrowSync = _interopRequireDefault(require("./lib/parse-arrow-sync"));
|
|
32
29
|
var _parseArrowInBatches = require("./lib/parse-arrow-in-batches");
|
|
@@ -34,31 +31,14 @@ var _schema = require("@loaders.gl/schema");
|
|
|
34
31
|
var _arrowTableBatch = _interopRequireDefault(require("./lib/arrow-table-batch"));
|
|
35
32
|
var _types = require("./types");
|
|
36
33
|
var _arrowWriter = require("./arrow-writer");
|
|
37
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
39
34
|
_schema.TableBatchBuilder.ArrowBatch = _arrowTableBatch.default;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
44
|
-
while (1) switch (_context.prev = _context.next) {
|
|
45
|
-
case 0:
|
|
46
|
-
return _context.abrupt("return", (0, _parseArrowSync.default)(arraybuffer, options));
|
|
47
|
-
case 1:
|
|
48
|
-
case "end":
|
|
49
|
-
return _context.stop();
|
|
50
|
-
}
|
|
51
|
-
}, _callee);
|
|
52
|
-
}));
|
|
53
|
-
function parse(_x, _x2) {
|
|
54
|
-
return _parse.apply(this, arguments);
|
|
55
|
-
}
|
|
56
|
-
return parse;
|
|
57
|
-
}(),
|
|
35
|
+
const ArrowLoader = {
|
|
36
|
+
..._arrowLoader.ArrowLoader,
|
|
37
|
+
parse: async (arraybuffer, options) => (0, _parseArrowSync.default)(arraybuffer, options),
|
|
58
38
|
parseSync: _parseArrowSync.default,
|
|
59
39
|
parseInBatches: _parseArrowInBatches.parseArrowInBatches
|
|
60
|
-
}
|
|
40
|
+
};
|
|
61
41
|
exports.ArrowLoader = ArrowLoader;
|
|
62
|
-
|
|
42
|
+
const _typecheckArrowLoader = ArrowLoader;
|
|
63
43
|
exports._typecheckArrowLoader = _typecheckArrowLoader;
|
|
64
44
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_arrowLoader","require","_parseArrowSync","_interopRequireDefault","_parseArrowInBatches","_schema","_arrowTableBatch","_types","_arrowWriter","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_arrowLoader","require","_parseArrowSync","_interopRequireDefault","_parseArrowInBatches","_schema","_arrowTableBatch","_types","_arrowWriter","TableBatchBuilder","ArrowBatch","ArrowTableBatchAggregator","ArrowLoader","ArrowWorkerLoader","parse","arraybuffer","options","parseSync","parseInBatches","parseArrowInBatches","exports","_typecheckArrowLoader"],"sources":["../../src/index.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {ArrowLoaderOptions} from './arrow-loader';\nimport {ArrowLoader as ArrowWorkerLoader} from './arrow-loader';\nimport parseSync from './lib/parse-arrow-sync';\nimport {parseArrowInBatches} from './lib/parse-arrow-in-batches';\n\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport ArrowTableBatchAggregator from './lib/arrow-table-batch';\n\n// Make the ArrowBatch type available\nTableBatchBuilder.ArrowBatch = ArrowTableBatchAggregator;\n\n// Types\nexport {VECTOR_TYPES} from './types';\n\n// Arrow writer\n\nexport {ArrowWriter} from './arrow-writer';\n\n// Arrow loader\n\nexport type {ArrowLoaderOptions};\nexport {ArrowWorkerLoader};\n\n/** ArrowJS table loader */\nexport const ArrowLoader: LoaderWithParser = {\n ...ArrowWorkerLoader,\n parse: async (arraybuffer: ArrayBuffer, options?: ArrowLoaderOptions) =>\n parseSync(arraybuffer, options),\n parseSync,\n parseInBatches: parseArrowInBatches\n};\n\nexport const _typecheckArrowLoader: LoaderWithParser = ArrowLoader;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAH,sBAAA,CAAAF,OAAA;AAMA,IAAAM,MAAA,GAAAN,OAAA;AAIA,IAAAO,YAAA,GAAAP,OAAA;AAPAQ,yBAAiB,CAACC,UAAU,GAAGC,wBAAyB;AAejD,MAAMC,WAA6B,GAAG;EAC3C,GAAGC,wBAAiB;EACpBC,KAAK,EAAE,MAAAA,CAAOC,WAAwB,EAAEC,OAA4B,KAClE,IAAAC,uBAAS,EAACF,WAAW,EAAEC,OAAO,CAAC;EACjCC,SAAS,EAATA,uBAAS;EACTC,cAAc,EAAEC;AAClB,CAAC;AAACC,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAEK,MAAMS,qBAAuC,GAAGT,WAAW;AAACQ,OAAA,CAAAC,qBAAA,GAAAA,qBAAA"}
|
|
@@ -5,60 +5,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
12
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
9
|
var _apacheArrow = require("apache-arrow");
|
|
17
10
|
var _schema = require("@loaders.gl/schema");
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var ArrowTableBatchAggregator = function (_ColumnarTableBatchAg) {
|
|
24
|
-
(0, _inherits2.default)(ArrowTableBatchAggregator, _ColumnarTableBatchAg);
|
|
25
|
-
var _super = _createSuper(ArrowTableBatchAggregator);
|
|
26
|
-
function ArrowTableBatchAggregator(schema, options) {
|
|
27
|
-
var _this;
|
|
28
|
-
(0, _classCallCheck2.default)(this, ArrowTableBatchAggregator);
|
|
29
|
-
_this = _super.call(this, schema, options);
|
|
30
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "arrowSchema", void 0);
|
|
31
|
-
_this.arrowSchema = null;
|
|
32
|
-
return _this;
|
|
11
|
+
class ArrowTableBatchAggregator extends _schema.ColumnarTableBatchAggregator {
|
|
12
|
+
constructor(schema, options) {
|
|
13
|
+
super(schema, options);
|
|
14
|
+
(0, _defineProperty2.default)(this, "arrowSchema", void 0);
|
|
15
|
+
this.arrowSchema = null;
|
|
33
16
|
}
|
|
34
|
-
(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
length: batch.length
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
return null;
|
|
17
|
+
getBatch() {
|
|
18
|
+
const batch = super.getBatch();
|
|
19
|
+
if (batch) {
|
|
20
|
+
this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);
|
|
21
|
+
const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);
|
|
22
|
+
const recordBatch = new _apacheArrow.RecordBatch(this.arrowSchema, batch.length, arrowVectors);
|
|
23
|
+
return {
|
|
24
|
+
shape: 'arrow-table',
|
|
25
|
+
batchType: 'data',
|
|
26
|
+
data: recordBatch,
|
|
27
|
+
length: batch.length
|
|
28
|
+
};
|
|
50
29
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
54
33
|
exports.default = ArrowTableBatchAggregator;
|
|
55
34
|
function getArrowSchema(schema) {
|
|
56
|
-
|
|
57
|
-
for (
|
|
58
|
-
|
|
35
|
+
const arrowFields = [];
|
|
36
|
+
for (const key in schema) {
|
|
37
|
+
const field = schema[key];
|
|
59
38
|
if (field.type === Float32Array) {
|
|
60
|
-
|
|
61
|
-
|
|
39
|
+
const metadata = field;
|
|
40
|
+
const arrowField = new _apacheArrow.Field(field.name, new _apacheArrow.Float32(), field.nullable, metadata);
|
|
62
41
|
arrowFields.push(arrowField);
|
|
63
42
|
}
|
|
64
43
|
}
|
|
@@ -68,22 +47,13 @@ function getArrowSchema(schema) {
|
|
|
68
47
|
return new _apacheArrow.Schema(arrowFields);
|
|
69
48
|
}
|
|
70
49
|
function getArrowVectors(arrowSchema, data) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
var vector = data[field.name];
|
|
78
|
-
if (vector instanceof Float32Array) {
|
|
79
|
-
var arrowVector = _apacheArrow.Float32Vector.from(vector);
|
|
80
|
-
arrowVectors.push(arrowVector);
|
|
81
|
-
}
|
|
50
|
+
const arrowVectors = [];
|
|
51
|
+
for (const field of arrowSchema.fields) {
|
|
52
|
+
const vector = data[field.name];
|
|
53
|
+
if (vector instanceof Float32Array) {
|
|
54
|
+
const arrowVector = _apacheArrow.Float32Vector.from(vector);
|
|
55
|
+
arrowVectors.push(arrowVector);
|
|
82
56
|
}
|
|
83
|
-
} catch (err) {
|
|
84
|
-
_iterator.e(err);
|
|
85
|
-
} finally {
|
|
86
|
-
_iterator.f();
|
|
87
57
|
}
|
|
88
58
|
if (arrowSchema.fields.length !== arrowVectors.length) {
|
|
89
59
|
throw new Error('Some columns not arrow convertible');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-table-batch.js","names":["_apacheArrow","require","_schema","
|
|
1
|
+
{"version":3,"file":"arrow-table-batch.js","names":["_apacheArrow","require","_schema","ArrowTableBatchAggregator","ColumnarTableBatchAggregator","constructor","schema","options","_defineProperty2","default","arrowSchema","getBatch","batch","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","RecordBatch","length","shape","batchType","exports","arrowFields","key","field","type","Float32Array","metadata","arrowField","Field","name","Float32","nullable","push","Error","Schema","fields","vector","arrowVector","Float32Vector","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,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEe,MAAME,yBAAyB,SAASC,oCAA4B,CAAC;EAGlFC,WAAWA,CAACC,MAAM,EAAEC,OAAO,EAAE;IAC3B,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;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,CAACN,MAAM,CAAC;MAEnE,MAAMQ,YAAY,GAAGC,eAAe,CAAC,IAAI,CAACL,WAAW,EAAEE,KAAK,CAACI,IAAI,CAAC;MAGlE,MAAMC,WAAW,GAAG,IAAIC,wBAAW,CAAC,IAAI,CAACR,WAAW,EAAEE,KAAK,CAACO,MAAM,EAAEL,YAAY,CAAC;MACjF,OAAO;QACLM,KAAK,EAAE,aAAa;QACpBC,SAAS,EAAE,MAAM;QACjBL,IAAI,EAAEC,WAAW;QACjBE,MAAM,EAAEP,KAAK,CAACO;MAChB,CAAC;IACH;IAEA,OAAO,IAAI;EACb;AACF;AAACG,OAAA,CAAAb,OAAA,GAAAN,yBAAA;AAGD,SAASU,cAAcA,CAACP,MAAM,EAAE;EAC9B,MAAMiB,WAAoB,GAAG,EAAE;EAC/B,KAAK,MAAMC,GAAG,IAAIlB,MAAM,EAAE;IACxB,MAAMmB,KAAK,GAAGnB,MAAM,CAACkB,GAAG,CAAC;IACzB,IAAIC,KAAK,CAACC,IAAI,KAAKC,YAAY,EAAE;MAC/B,MAAMC,QAAQ,GAAGH,KAAK;MAEtB,MAAMI,UAAU,GAAG,IAAIC,kBAAK,CAACL,KAAK,CAACM,IAAI,EAAE,IAAIC,oBAAO,CAAC,CAAC,EAAEP,KAAK,CAACQ,QAAQ,EAAEL,QAAQ,CAAC;MACjFL,WAAW,CAACW,IAAI,CAACL,UAAU,CAAC;IAC9B;EACF;EACA,IAAIN,WAAW,CAACJ,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIgB,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,OAAO,IAAIC,mBAAM,CAACb,WAAW,CAAC;AAChC;AAGA,SAASR,eAAeA,CAACL,WAAW,EAAEM,IAAI,EAAE;EAC1C,MAAMF,YAAmB,GAAG,EAAE;EAC9B,KAAK,MAAMW,KAAK,IAAIf,WAAW,CAAC2B,MAAM,EAAE;IACtC,MAAMC,MAAM,GAAGtB,IAAI,CAACS,KAAK,CAACM,IAAI,CAAC;IAC/B,IAAIO,MAAM,YAAYX,YAAY,EAAE;MAClC,MAAMY,WAAW,GAAGC,0BAAa,CAACC,IAAI,CAACH,MAAM,CAAC;MAC9CxB,YAAY,CAACoB,IAAI,CAACK,WAAW,CAAC;IAChC;EACF;EACA,IAAI7B,WAAW,CAAC2B,MAAM,CAAClB,MAAM,KAAKL,YAAY,CAACK,MAAM,EAAE;IACrD,MAAM,IAAIgB,KAAK,CAAC,oCAAoC,CAAC;EACvD;EACA,OAAOrB,YAAY;AACrB"}
|
|
@@ -6,28 +6,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.encodeArrowSync = encodeArrowSync;
|
|
7
7
|
var _apacheArrow = require("apache-arrow");
|
|
8
8
|
var _types = require("../types");
|
|
9
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
10
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
9
|
function encodeArrowSync(data) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var arrayData = _step.value;
|
|
20
|
-
arrayNames.push(arrayData.name);
|
|
21
|
-
var arrayVector = createVector(arrayData.array, arrayData.type);
|
|
22
|
-
vectors.push(arrayVector);
|
|
23
|
-
}
|
|
24
|
-
} catch (err) {
|
|
25
|
-
_iterator.e(err);
|
|
26
|
-
} finally {
|
|
27
|
-
_iterator.f();
|
|
10
|
+
const vectors = [];
|
|
11
|
+
const arrayNames = [];
|
|
12
|
+
for (const arrayData of data) {
|
|
13
|
+
arrayNames.push(arrayData.name);
|
|
14
|
+
const arrayVector = createVector(arrayData.array, arrayData.type);
|
|
15
|
+
vectors.push(arrayVector);
|
|
28
16
|
}
|
|
29
|
-
|
|
30
|
-
|
|
17
|
+
const table = _apacheArrow.Table.new(vectors, arrayNames);
|
|
18
|
+
const arrowBuffer = table.serialize();
|
|
31
19
|
return arrowBuffer;
|
|
32
20
|
}
|
|
33
21
|
function createVector(array, type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-arrow.js","names":["_apacheArrow","require","_types","
|
|
1
|
+
{"version":3,"file":"encode-arrow.js","names":["_apacheArrow","require","_types","encodeArrowSync","data","vectors","arrayNames","arrayData","push","name","arrayVector","createVector","array","type","table","Table","new","arrowBuffer","serialize","VECTOR_TYPES","DATE","DateVector","from","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;AAeO,SAASE,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,GAAGC,kBAAK,CAACC,GAAG,CAACX,OAAO,EAAEC,UAAU,CAAC;EAC5C,MAAMW,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,CAACC,IAAI,CAACV,KAAK,CAAC;IAC/B,KAAKO,mBAAY,CAACI,KAAK;IACvB;MACE,OAAOC,wBAAW,CAACF,IAAI,CAACV,KAAK,CAAC;EAClC;AACF"}
|
|
@@ -1,138 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.parseArrowInBatches = parseArrowInBatches;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
10
|
-
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
11
7
|
var _apacheArrow = require("apache-arrow");
|
|
12
|
-
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
13
|
-
function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function _return(value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function _throw(value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
|
|
14
8
|
function parseArrowInBatches(asyncIterator) {
|
|
15
|
-
function makeArrowAsyncIterator() {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
case 0:
|
|
24
|
-
readers = _apacheArrow.RecordBatchReader.readAll(asyncIterator);
|
|
25
|
-
_iteratorAbruptCompletion = false;
|
|
26
|
-
_didIteratorError = false;
|
|
27
|
-
_context.prev = 3;
|
|
28
|
-
_iterator = _asyncIterator(readers);
|
|
29
|
-
case 5:
|
|
30
|
-
_context.next = 7;
|
|
31
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
32
|
-
case 7:
|
|
33
|
-
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
34
|
-
_context.next = 42;
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
reader = _step.value;
|
|
38
|
-
_iteratorAbruptCompletion2 = false;
|
|
39
|
-
_didIteratorError2 = false;
|
|
40
|
-
_context.prev = 11;
|
|
41
|
-
_iterator2 = _asyncIterator(reader);
|
|
42
|
-
case 13:
|
|
43
|
-
_context.next = 15;
|
|
44
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator2.next());
|
|
45
|
-
case 15:
|
|
46
|
-
if (!(_iteratorAbruptCompletion2 = !(_step2 = _context.sent).done)) {
|
|
47
|
-
_context.next = 22;
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
batch = _step2.value;
|
|
51
|
-
_context.next = 19;
|
|
52
|
-
return processBatch(batch);
|
|
53
|
-
case 19:
|
|
54
|
-
_iteratorAbruptCompletion2 = false;
|
|
55
|
-
_context.next = 13;
|
|
56
|
-
break;
|
|
57
|
-
case 22:
|
|
58
|
-
_context.next = 28;
|
|
59
|
-
break;
|
|
60
|
-
case 24:
|
|
61
|
-
_context.prev = 24;
|
|
62
|
-
_context.t0 = _context["catch"](11);
|
|
63
|
-
_didIteratorError2 = true;
|
|
64
|
-
_iteratorError2 = _context.t0;
|
|
65
|
-
case 28:
|
|
66
|
-
_context.prev = 28;
|
|
67
|
-
_context.prev = 29;
|
|
68
|
-
if (!(_iteratorAbruptCompletion2 && _iterator2.return != null)) {
|
|
69
|
-
_context.next = 33;
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
_context.next = 33;
|
|
73
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator2.return());
|
|
74
|
-
case 33:
|
|
75
|
-
_context.prev = 33;
|
|
76
|
-
if (!_didIteratorError2) {
|
|
77
|
-
_context.next = 36;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
throw _iteratorError2;
|
|
81
|
-
case 36:
|
|
82
|
-
return _context.finish(33);
|
|
83
|
-
case 37:
|
|
84
|
-
return _context.finish(28);
|
|
85
|
-
case 38:
|
|
86
|
-
return _context.abrupt("break", 42);
|
|
87
|
-
case 39:
|
|
88
|
-
_iteratorAbruptCompletion = false;
|
|
89
|
-
_context.next = 5;
|
|
90
|
-
break;
|
|
91
|
-
case 42:
|
|
92
|
-
_context.next = 48;
|
|
93
|
-
break;
|
|
94
|
-
case 44:
|
|
95
|
-
_context.prev = 44;
|
|
96
|
-
_context.t1 = _context["catch"](3);
|
|
97
|
-
_didIteratorError = true;
|
|
98
|
-
_iteratorError = _context.t1;
|
|
99
|
-
case 48:
|
|
100
|
-
_context.prev = 48;
|
|
101
|
-
_context.prev = 49;
|
|
102
|
-
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
103
|
-
_context.next = 53;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
_context.next = 53;
|
|
107
|
-
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
108
|
-
case 53:
|
|
109
|
-
_context.prev = 53;
|
|
110
|
-
if (!_didIteratorError) {
|
|
111
|
-
_context.next = 56;
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
throw _iteratorError;
|
|
115
|
-
case 56:
|
|
116
|
-
return _context.finish(53);
|
|
117
|
-
case 57:
|
|
118
|
-
return _context.finish(48);
|
|
119
|
-
case 58:
|
|
120
|
-
case "end":
|
|
121
|
-
return _context.stop();
|
|
122
|
-
}
|
|
123
|
-
}, _callee, null, [[3, 44, 48, 58], [11, 24, 28, 38], [29,, 33, 37], [49,, 53, 57]]);
|
|
124
|
-
}));
|
|
125
|
-
return _makeArrowAsyncIterator.apply(this, arguments);
|
|
9
|
+
async function* makeArrowAsyncIterator() {
|
|
10
|
+
const readers = _apacheArrow.RecordBatchReader.readAll(asyncIterator);
|
|
11
|
+
for await (const reader of readers) {
|
|
12
|
+
for await (const batch of reader) {
|
|
13
|
+
yield processBatch(batch);
|
|
14
|
+
}
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
126
17
|
}
|
|
127
18
|
return makeArrowAsyncIterator();
|
|
128
19
|
}
|
|
129
20
|
function processBatch(batch) {
|
|
130
|
-
|
|
21
|
+
const values = {
|
|
131
22
|
metadata: batch.schema.metadata,
|
|
132
23
|
length: batch.length
|
|
133
24
|
};
|
|
134
|
-
batch.schema.fields.forEach(
|
|
135
|
-
|
|
25
|
+
batch.schema.fields.forEach((_ref, index) => {
|
|
26
|
+
let {
|
|
27
|
+
name
|
|
28
|
+
} = _ref;
|
|
136
29
|
values[name] = batch.getChildAt(index).toArray();
|
|
137
30
|
});
|
|
138
31
|
return values;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-in-batches.js","names":["_apacheArrow","require","
|
|
1
|
+
{"version":3,"file":"parse-arrow-in-batches.js","names":["_apacheArrow","require","parseArrowInBatches","asyncIterator","makeArrowAsyncIterator","readers","RecordBatchReader","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,IAAAA,YAAA,GAAAC,OAAA;AAKO,SAASC,mBAAmBA,CACjCC,aAAiE,EAC7C;EAmBpB,gBAAgBC,sBAAsBA,CAAA,EAAG;IAEvC,MAAMC,OAAO,GAAGC,8BAAiB,CAACC,OAAO,CAACJ,aAAa,CAAC;IACxD,WAAW,MAAMK,MAAM,IAAIH,OAAO,EAAE;MAClC,WAAW,MAAMI,KAAK,IAAID,MAAM,EAAE;QAChC,MAAME,YAAY,CAACD,KAAK,CAAC;MAC3B;MACA;IACF;EACF;EACA,OAAOL,sBAAsB,CAAC,CAAC;AACjC;AAEA,SAASM,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"}
|
|
@@ -7,11 +7,11 @@ exports.default = parseArrowSync;
|
|
|
7
7
|
var _apacheArrow = require("apache-arrow");
|
|
8
8
|
function parseArrowSync(arrayBuffer, options) {
|
|
9
9
|
var _options$arrow;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
arrowTable.schema.fields.forEach(
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const arrowTable = _apacheArrow.Table.from([new Uint8Array(arrayBuffer)]);
|
|
11
|
+
const columnarTable = {};
|
|
12
|
+
arrowTable.schema.fields.forEach(field => {
|
|
13
|
+
const arrowColumn = arrowTable.getColumn(field.name);
|
|
14
|
+
const values = arrowColumn.toArray();
|
|
15
15
|
columnarTable[field.name] = values;
|
|
16
16
|
});
|
|
17
17
|
switch (options === null || options === void 0 ? void 0 : (_options$arrow = options.arrow) === null || _options$arrow === void 0 ? void 0 : _options$arrow.shape) {
|
|
@@ -25,13 +25,13 @@ function parseArrowSync(arrayBuffer, options) {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
function convertColumnarToRowFormatTable(columnarTable) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
for (
|
|
32
|
-
|
|
33
|
-
for (
|
|
34
|
-
|
|
28
|
+
const tableKeys = Object.keys(columnarTable);
|
|
29
|
+
const tableRowsCount = columnarTable[tableKeys[0]].length;
|
|
30
|
+
const rowFormatTable = [];
|
|
31
|
+
for (let index = 0; index < tableRowsCount; index++) {
|
|
32
|
+
const tableItem = {};
|
|
33
|
+
for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {
|
|
34
|
+
const fieldName = tableKeys[keyIndex];
|
|
35
35
|
tableItem[fieldName] = columnarTable[fieldName][index];
|
|
36
36
|
}
|
|
37
37
|
rowFormatTable.push(tableItem);
|
|
@@ -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,
|
|
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,MAAMC,UAAU,GAAGC,kBAAK,CAACC,IAAI,CAAC,CAAC,IAAIC,UAAU,CAACN,WAAW,CAAC,CAAC,CAAC;EAM5D,MAAMO,aAAa,GAAG,CAAC,CAAC;EAExBJ,UAAU,CAACK,MAAM,CAACC,MAAM,CAACC,OAAO,CAAEC,KAAK,IAAK;IAE1C,MAAMC,WAAW,GAAGT,UAAU,CAACU,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,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,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/dist/es5/types.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VECTOR_TYPES = void 0;
|
|
7
|
-
|
|
7
|
+
let VECTOR_TYPES = function (VECTOR_TYPES) {
|
|
8
8
|
VECTOR_TYPES[VECTOR_TYPES["FLOAT"] = 0] = "FLOAT";
|
|
9
9
|
VECTOR_TYPES[VECTOR_TYPES["DATE"] = 1] = "DATE";
|
|
10
10
|
return VECTOR_TYPES;
|
package/dist/esm/arrow-loader.js
CHANGED
package/dist/esm/arrow-writer.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/arrow",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.15",
|
|
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.
|
|
40
|
-
"@loaders.gl/schema": "3.4.
|
|
39
|
+
"@loaders.gl/loader-utils": "3.4.15",
|
|
40
|
+
"@loaders.gl/schema": "3.4.15",
|
|
41
41
|
"apache-arrow": "^4.0.0"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "19e941d5805568e449ef9092490d6568a4853298"
|
|
44
44
|
}
|