@loaders.gl/arrow 4.0.0-alpha.9 → 4.0.0-beta.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-loader.d.ts +1 -2
- package/dist/arrow-loader.d.ts.map +1 -1
- package/dist/arrow-worker.js +9737 -9894
- package/dist/dist.min.js +10963 -11096
- package/dist/es5/arrow-loader.js +2 -4
- package/dist/es5/arrow-loader.js.map +1 -1
- package/dist/es5/arrow-writer.js +1 -1
- package/dist/es5/arrow-writer.js.map +1 -1
- package/dist/es5/index.js +3 -6
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/arrow-table-batch.js +4 -4
- package/dist/es5/lib/arrow-table-batch.js.map +1 -1
- package/dist/es5/lib/arrow-table.js +2 -0
- package/dist/es5/lib/arrow-table.js.map +1 -0
- package/dist/es5/lib/convert-table.js +57 -0
- package/dist/es5/lib/convert-table.js.map +1 -0
- package/dist/es5/lib/parse-arrow-in-batches.js +43 -48
- package/dist/es5/lib/parse-arrow-in-batches.js.map +1 -1
- package/dist/es5/lib/parse-arrow-sync.js +11 -37
- package/dist/es5/lib/parse-arrow-sync.js.map +1 -1
- package/dist/esm/arrow-loader.js +1 -2
- package/dist/esm/arrow-loader.js.map +1 -1
- package/dist/esm/arrow-writer.js +1 -1
- package/dist/esm/arrow-writer.js.map +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/arrow-table-batch.js +3 -3
- package/dist/esm/lib/arrow-table-batch.js.map +1 -1
- package/dist/esm/lib/arrow-table.js +2 -0
- package/dist/esm/lib/arrow-table.js.map +1 -0
- package/dist/esm/lib/convert-table.js +37 -0
- package/dist/esm/lib/convert-table.js.map +1 -0
- package/dist/esm/lib/parse-arrow-in-batches.js +9 -16
- package/dist/esm/lib/parse-arrow-in-batches.js.map +1 -1
- package/dist/esm/lib/parse-arrow-sync.js +11 -25
- package/dist/esm/lib/parse-arrow-sync.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/arrow-table-batch.d.ts +3 -3
- package/dist/lib/arrow-table-batch.d.ts.map +1 -1
- package/dist/lib/arrow-table.d.ts +23 -0
- package/dist/lib/arrow-table.d.ts.map +1 -0
- package/dist/lib/convert-table.d.ts +21 -0
- package/dist/lib/convert-table.d.ts.map +1 -0
- package/dist/lib/parse-arrow-in-batches.d.ts +2 -1
- package/dist/lib/parse-arrow-in-batches.d.ts.map +1 -1
- package/dist/lib/parse-arrow-sync.d.ts +3 -1
- package/dist/lib/parse-arrow-sync.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/arrow-loader.ts +1 -3
- package/src/index.ts +13 -5
- package/src/lib/arrow-table-batch.ts +5 -4
- package/src/lib/arrow-table.ts +26 -0
- package/src/lib/convert-table.ts +66 -0
- package/src/lib/parse-arrow-in-batches.ts +24 -16
- package/src/lib/parse-arrow-sync.ts +21 -35
- package/dist/arrow-loader.js +0 -29
- package/dist/arrow-writer.js +0 -25
- package/dist/bundle.js +0 -5
- package/dist/index.js +0 -28
- package/dist/lib/arrow-table-batch.js +0 -65
- package/dist/lib/encode-arrow.js +0 -38
- package/dist/lib/parse-arrow-in-batches.js +0 -47
- package/dist/lib/parse-arrow-sync.js +0 -41
- package/dist/types.js +0 -8
- package/dist/workers/arrow-worker.js +0 -5
package/dist/es5/arrow-loader.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
var VERSION = typeof "4.0.0-
|
|
6
|
+
exports.ArrowLoader = void 0;
|
|
7
|
+
var VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
|
|
8
8
|
var ArrowLoader = {
|
|
9
9
|
name: 'Apache Arrow',
|
|
10
10
|
id: 'arrow',
|
|
@@ -22,6 +22,4 @@ var ArrowLoader = {
|
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
exports.ArrowLoader = ArrowLoader;
|
|
25
|
-
var _typecheckArrowLoader = ArrowLoader;
|
|
26
|
-
exports._typecheckArrowLoader = _typecheckArrowLoader;
|
|
27
25
|
//# sourceMappingURL=arrow-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-loader.js","names":["VERSION","ArrowLoader","name","id","module","version","category","extensions","mimeTypes","binary","tests","options","arrow","shape","exports"
|
|
1
|
+
{"version":3,"file":"arrow-loader.js","names":["VERSION","ArrowLoader","name","id","module","version","category","extensions","mimeTypes","binary","tests","options","arrow","shape","exports"],"sources":["../../src/arrow-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from './lib/arrow-table';\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\n/** ArrowJS table loader */\nexport const ArrowLoader: Loader<ArrowTable, never, ArrowLoaderOptions> = {\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"],"mappings":";;;;;;AAMA,IAAMA,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AASpE,IAAMC,WAA0D,GAAG;EACxEC,IAAI,EAAE,cAAc;EACpBC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEL,OAAO;EAEhBM,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,EAAE;IACPC,KAAK,EAAE;MACLC,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAACC,OAAA,CAAAb,WAAA,GAAAA,WAAA"}
|
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 "4.0.0-
|
|
8
|
+
var VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
|
|
9
9
|
var ArrowWriter = {
|
|
10
10
|
name: 'Apache Arrow',
|
|
11
11
|
id: 'arrow',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-writer.js","names":["_encodeArrow","require","VERSION","ArrowWriter","name","id","module","version","extensions","mimeTypes","encodeSync","data","options","encodeArrowSync","binary","exports"],"sources":["../../src/arrow-writer.ts"],"sourcesContent":["// import type {} from '@loaders.gl/loader-utils';\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {ColumnarTable} from './lib/encode-arrow';\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 arrow?: {};\n};\n\n/** Apache Arrow writer */\nexport const ArrowWriter: Writer<ColumnarTable, never, ArrowWriterOptions> = {\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(data, options?) {\n return encodeArrowSync(data);\n },\n binary: true,\n options: {}\n};\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAMC,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"arrow-writer.js","names":["_encodeArrow","require","VERSION","ArrowWriter","name","id","module","version","extensions","mimeTypes","encodeSync","data","options","encodeArrowSync","binary","exports"],"sources":["../../src/arrow-writer.ts"],"sourcesContent":["// import type {} from '@loaders.gl/loader-utils';\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {ColumnarTable} from './lib/encode-arrow';\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 arrow?: {};\n};\n\n/** Apache Arrow writer */\nexport const ArrowWriter: Writer<ColumnarTable, never, ArrowWriterOptions> = {\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(data, options?) {\n return encodeArrowSync(data);\n },\n binary: true,\n options: {}\n};\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAMC,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAOpE,IAAMC,WAA6D,GAAG;EAC3EC,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,WAAAA,WAACC,IAAI,EAAEC,OAAQ,EAAE;IACzB,OAAO,IAAAC,4BAAe,EAACF,IAAI,CAAC;EAC9B,CAAC;EACDG,MAAM,EAAE,IAAI;EACZF,OAAO,EAAE,CAAC;AACZ,CAAC;AAACG,OAAA,CAAAZ,WAAA,GAAAA,WAAA"}
|
package/dist/es5/index.js
CHANGED
|
@@ -23,20 +23,19 @@ Object.defineProperty(exports, "VECTOR_TYPES", {
|
|
|
23
23
|
return _types.VECTOR_TYPES;
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
|
-
exports._typecheckArrowLoader = void 0;
|
|
27
26
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
28
27
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
29
28
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
+
var _schema = require("@loaders.gl/schema");
|
|
30
30
|
var _arrowLoader = require("./arrow-loader");
|
|
31
31
|
var _parseArrowSync = _interopRequireDefault(require("./lib/parse-arrow-sync"));
|
|
32
32
|
var _parseArrowInBatches = require("./lib/parse-arrow-in-batches");
|
|
33
|
-
var
|
|
34
|
-
var _arrowTableBatch = _interopRequireDefault(require("./lib/arrow-table-batch"));
|
|
33
|
+
var _arrowTableBatch = require("./lib/arrow-table-batch");
|
|
35
34
|
var _types = require("./types");
|
|
36
35
|
var _arrowWriter = require("./arrow-writer");
|
|
37
36
|
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
37
|
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
|
-
_schema.TableBatchBuilder.ArrowBatch = _arrowTableBatch.
|
|
38
|
+
_schema.TableBatchBuilder.ArrowBatch = _arrowTableBatch.ArrowTableBatchAggregator;
|
|
40
39
|
var ArrowLoader = _objectSpread(_objectSpread({}, _arrowLoader.ArrowLoader), {}, {
|
|
41
40
|
parse: function () {
|
|
42
41
|
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arraybuffer, options) {
|
|
@@ -59,6 +58,4 @@ var ArrowLoader = _objectSpread(_objectSpread({}, _arrowLoader.ArrowLoader), {},
|
|
|
59
58
|
parseInBatches: _parseArrowInBatches.parseArrowInBatches
|
|
60
59
|
});
|
|
61
60
|
exports.ArrowLoader = ArrowLoader;
|
|
62
|
-
var _typecheckArrowLoader = ArrowLoader;
|
|
63
|
-
exports._typecheckArrowLoader = _typecheckArrowLoader;
|
|
64
61
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_schema","require","_arrowLoader","_parseArrowSync","_interopRequireDefault","_parseArrowInBatches","_arrowTableBatch","_types","_arrowWriter","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","TableBatchBuilder","ArrowBatch","ArrowTableBatchAggregator","ArrowLoader","ArrowWorkerLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arraybuffer","options","wrap","_callee$","_context","prev","next","abrupt","parseSync","stop","_x","_x2","parseInBatches","parseArrowInBatches","exports"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {ArrowLoaderOptions} from './arrow-loader';\nimport type {ArrowTableBatch, ColumnarTable, ObjectRowTable} from '@loaders.gl/schema';\nimport type {ArrowTable} from './lib/arrow-table';\n\nimport {TableBatchBuilder} from '@loaders.gl/schema';\nimport {ArrowLoader as ArrowWorkerLoader} from './arrow-loader';\nimport parseSync from './lib/parse-arrow-sync';\nimport {parseArrowInBatches} from './lib/parse-arrow-in-batches';\n\nimport {ArrowTableBatchAggregator} from './lib/arrow-table-batch';\n\n// Make the ArrowBatch type available\nTableBatchBuilder.ArrowBatch = ArrowTableBatchAggregator;\n\n// Types\nexport type {ArrowTable, ArrowTableBatch} from './lib/arrow-table';\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 ArrowTable | ColumnarTable | ObjectRowTable,\n ArrowTableBatch,\n ArrowLoaderOptions\n> = {\n ...ArrowWorkerLoader,\n parse: async (arraybuffer: ArrayBuffer, options?: ArrowLoaderOptions) =>\n parseSync(arraybuffer, options),\n parseSync,\n parseInBatches: parseArrowInBatches\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAEA,IAAAK,gBAAA,GAAAL,OAAA;AAOA,IAAAM,MAAA,GAAAN,OAAA;AAIA,IAAAO,YAAA,GAAAP,OAAA;AAA2C,SAAAQ,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAR3CY,yBAAiB,CAACC,UAAU,GAAGC,0CAAyB;AAgBjD,IAAMC,WAIZ,GAAAhB,aAAA,CAAAA,aAAA,KACIiB,wBAAiB;EACpBC,KAAK;IAAA,IAAAC,MAAA,OAAAC,kBAAA,CAAAX,OAAA,EAAAY,YAAA,CAAAZ,OAAA,CAAAa,IAAA,CAAE,SAAAC,QAAOC,WAAwB,EAAEC,OAA4B;MAAA,OAAAJ,YAAA,CAAAZ,OAAA,CAAAiB,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WAClE,IAAAC,uBAAS,EAACR,WAAW,EAAEC,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAK,IAAA;QAAA;MAAA,GAAAV,OAAA;IAAA;IAAA,SAAAL,MAAAgB,EAAA,EAAAC,GAAA;MAAA,OAAAhB,MAAA,CAAApB,KAAA,OAAAI,SAAA;IAAA;IAAA,OAAAe,KAAA;EAAA;EACjCc,SAAS,EAATA,uBAAS;EACTI,cAAc,EAAEC;AAAmB,EACpC;AAACC,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.ArrowTableBatchAggregator = void 0;
|
|
8
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
@@ -13,8 +13,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
13
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
var _apacheArrow = require("apache-arrow");
|
|
17
16
|
var _schema = require("@loaders.gl/schema");
|
|
17
|
+
var _apacheArrow = require("apache-arrow");
|
|
18
18
|
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; } } }; }
|
|
19
19
|
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); }
|
|
20
20
|
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; }
|
|
@@ -48,7 +48,7 @@ var ArrowTableBatchAggregator = function (_ColumnarTableBatchAg) {
|
|
|
48
48
|
return {
|
|
49
49
|
shape: 'arrow-table',
|
|
50
50
|
batchType: 'data',
|
|
51
|
-
data: recordBatch,
|
|
51
|
+
data: new _apacheArrow.Table([recordBatch]),
|
|
52
52
|
length: batch.length
|
|
53
53
|
};
|
|
54
54
|
}
|
|
@@ -57,7 +57,7 @@ var ArrowTableBatchAggregator = function (_ColumnarTableBatchAg) {
|
|
|
57
57
|
}]);
|
|
58
58
|
return ArrowTableBatchAggregator;
|
|
59
59
|
}(_schema.ColumnarTableBatchAggregator);
|
|
60
|
-
exports.
|
|
60
|
+
exports.ArrowTableBatchAggregator = ArrowTableBatchAggregator;
|
|
61
61
|
function getArrowSchema(schema) {
|
|
62
62
|
var arrowFields = [];
|
|
63
63
|
for (var key in schema) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-table-batch.js","names":["
|
|
1
|
+
{"version":3,"file":"arrow-table-batch.js","names":["_schema","require","_apacheArrow","_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","makeData","type","Struct","fields","children","map","_ref","shape","batchType","ApacheArrowTable","ColumnarTableBatchAggregator","exports","arrowFields","field","Float32Array","metadata","Map","arrowField","Field","Float32","nullable","push","Error","Schema","_iterator","_step","vector","arrowVector","makeVector"],"sources":["../../../src/lib/arrow-table-batch.ts"],"sourcesContent":["import {ColumnarTableBatchAggregator} from '@loaders.gl/schema';\nimport type {ArrowTableBatch} from './arrow-table';\nimport {\n Table as ApacheArrowTable,\n Schema,\n Field,\n RecordBatch,\n Struct,\n makeVector,\n makeData,\n Vector,\n Float32\n} from 'apache-arrow';\n\nexport 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\n // Get arrow format vectors\n const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);\n\n // Create the record batch\n const recordBatch = new RecordBatch(\n this.arrowSchema,\n makeData({\n type: new Struct(this.arrowSchema.fields),\n children: arrowVectors.map(({data}) => data[0])\n })\n );\n\n return {\n shape: 'arrow-table',\n batchType: 'data',\n data: new ApacheArrowTable([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): Schema {\n const arrowFields: Field[] = [];\n for (const key in schema) {\n const field = schema[key];\n if (field.type === Float32Array) {\n // TODO - just store the original field as metadata?\n const metadata = new Map(); // field;\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): Vector[] {\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 = makeVector(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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow-table.js","names":[],"sources":["../../../src/lib/arrow-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Batch, Schema} from '@loaders.gl/schema';\nimport type {Table as ApacheArrowTable} from 'apache-arrow';\n\n/**\n * A table organized as an Apache Arrow table\n * @note This is a variant of the type from loaders.gl/schema\n */\nexport type ArrowTable = {\n shape: 'arrow-table';\n schema?: Schema;\n data: ApacheArrowTable;\n};\n\n/**\n * Batch for a table organized as an Apache Arrow table\n * @note This is a variant of the type from loaders.gl/schema\n */\nexport type ArrowTableBatch = Batch & {\n shape: 'arrow-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: ApacheArrowTable; // ApacheRecordBatch;\n length: number;\n};\n"],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.convertApacheArrowToArrowTable = convertApacheArrowToArrowTable;
|
|
7
|
+
exports.convertArrowToColumnarTable = convertArrowToColumnarTable;
|
|
8
|
+
exports.convertColumnarToRowFormatTable = convertColumnarToRowFormatTable;
|
|
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
|
+
function convertApacheArrowToArrowTable(arrowTable) {
|
|
13
|
+
return {
|
|
14
|
+
shape: 'arrow-table',
|
|
15
|
+
data: arrowTable
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function convertArrowToColumnarTable(table) {
|
|
19
|
+
var arrowTable = table.data;
|
|
20
|
+
var columnarTable = {};
|
|
21
|
+
var _iterator = _createForOfIteratorHelper(arrowTable.schema.fields),
|
|
22
|
+
_step;
|
|
23
|
+
try {
|
|
24
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
25
|
+
var field = _step.value;
|
|
26
|
+
var arrowColumn = arrowTable.getChild(field.name);
|
|
27
|
+
var values = arrowColumn === null || arrowColumn === void 0 ? void 0 : arrowColumn.toArray();
|
|
28
|
+
columnarTable[field.name] = values;
|
|
29
|
+
}
|
|
30
|
+
} catch (err) {
|
|
31
|
+
_iterator.e(err);
|
|
32
|
+
} finally {
|
|
33
|
+
_iterator.f();
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
shape: 'columnar-table',
|
|
37
|
+
data: columnarTable
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function convertColumnarToRowFormatTable(columnarTable) {
|
|
41
|
+
var tableKeys = Object.keys(columnarTable);
|
|
42
|
+
var tableRowsCount = columnarTable[tableKeys[0]].length;
|
|
43
|
+
var rowFormatTable = [];
|
|
44
|
+
for (var index = 0; index < tableRowsCount; index++) {
|
|
45
|
+
var tableItem = {};
|
|
46
|
+
for (var keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {
|
|
47
|
+
var fieldName = tableKeys[keyIndex];
|
|
48
|
+
tableItem[fieldName] = columnarTable[fieldName][index];
|
|
49
|
+
}
|
|
50
|
+
rowFormatTable.push(tableItem);
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
shape: 'object-row-table',
|
|
54
|
+
data: rowFormatTable
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=convert-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-table.js","names":["convertApacheArrowToArrowTable","arrowTable","shape","data","convertArrowToColumnarTable","table","columnarTable","_iterator","_createForOfIteratorHelper","schema","fields","_step","s","n","done","field","value","arrowColumn","getChild","name","values","toArray","err","e","f","convertColumnarToRowFormatTable","tableKeys","Object","keys","tableRowsCount","length","rowFormatTable","index","tableItem","keyIndex","fieldName","push"],"sources":["../../../src/lib/convert-table.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {ColumnarTable, ObjectRowTable} from '@loaders.gl/schema';\nimport type {Table as ApacheArrowTable} from 'apache-arrow';\nimport type {ArrowTable} from './arrow-table';\n\n/**\n * Wrap an apache arrow table in a loaders.gl table wrapper.\n * From this additional conversions are available.\n * @param arrowTable\n * @returns\n */\nexport function convertApacheArrowToArrowTable(arrowTable: ApacheArrowTable): ArrowTable {\n return {\n shape: 'arrow-table',\n data: arrowTable\n };\n}\n\n/**\n * Convert an Apache Arrow table to a ColumnarTable\n * @note Currently does not convert schema\n */\nexport function convertArrowToColumnarTable(table: ArrowTable): ColumnarTable {\n // TODO - avoid calling `getColumn` on columns we are not interested in?\n // Add options object?\n\n const arrowTable = table.data;\n const columnarTable = {};\n\n for (const field of arrowTable.schema.fields) {\n // This (is intended to) coalesce all record batches into a single typed array\n const arrowColumn = arrowTable.getChild(field.name);\n const values = arrowColumn?.toArray();\n columnarTable[field.name] = values;\n }\n\n return {\n shape: 'columnar-table',\n data: columnarTable\n };\n}\n\n/**\n *\n * @note - should be part of schema module\n */\nexport function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable {\n const tableKeys = Object.keys(columnarTable);\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n\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\n return {\n shape: 'object-row-table',\n data: rowFormatTable\n };\n}\n"],"mappings":";;;;;;;;;;;AAWO,SAASA,8BAA8BA,CAACC,UAA4B,EAAc;EACvF,OAAO;IACLC,KAAK,EAAE,aAAa;IACpBC,IAAI,EAAEF;EACR,CAAC;AACH;AAMO,SAASG,2BAA2BA,CAACC,KAAiB,EAAiB;EAI5E,IAAMJ,UAAU,GAAGI,KAAK,CAACF,IAAI;EAC7B,IAAMG,aAAa,GAAG,CAAC,CAAC;EAAC,IAAAC,SAAA,GAAAC,0BAAA,CAELP,UAAU,CAACQ,MAAM,CAACC,MAAM;IAAAC,KAAA;EAAA;IAA5C,KAAAJ,SAAA,CAAAK,CAAA,MAAAD,KAAA,GAAAJ,SAAA,CAAAM,CAAA,IAAAC,IAAA,GAA8C;MAAA,IAAnCC,KAAK,GAAAJ,KAAA,CAAAK,KAAA;MAEd,IAAMC,WAAW,GAAGhB,UAAU,CAACiB,QAAQ,CAACH,KAAK,CAACI,IAAI,CAAC;MACnD,IAAMC,MAAM,GAAGH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,OAAO,CAAC,CAAC;MACrCf,aAAa,CAACS,KAAK,CAACI,IAAI,CAAC,GAAGC,MAAM;IACpC;EAAC,SAAAE,GAAA;IAAAf,SAAA,CAAAgB,CAAA,CAAAD,GAAA;EAAA;IAAAf,SAAA,CAAAiB,CAAA;EAAA;EAED,OAAO;IACLtB,KAAK,EAAE,gBAAgB;IACvBC,IAAI,EAAEG;EACR,CAAC;AACH;AAMO,SAASmB,+BAA+BA,CAACnB,aAA4B,EAAkB;EAC5F,IAAMoB,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACtB,aAAa,CAAC;EAC5C,IAAMuB,cAAc,GAAGvB,aAAa,CAACoB,SAAS,CAAC,CAAC,CAAC,CAAC,CAACI,MAAM;EAEzD,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,GAAG7B,aAAa,CAAC6B,SAAS,CAAC,CAACH,KAAK,CAAC;IACxD;IACAD,cAAc,CAACK,IAAI,CAACH,SAAS,CAAC;EAChC;EAEA,OAAO;IACL/B,KAAK,EAAE,kBAAkB;IACzBC,IAAI,EAAE4B;EACR,CAAC;AACH"}
|
|
@@ -17,7 +17,7 @@ function parseArrowInBatches(asyncIterator) {
|
|
|
17
17
|
}
|
|
18
18
|
function _makeArrowAsyncIterator() {
|
|
19
19
|
_makeArrowAsyncIterator = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
20
|
-
var readers, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, reader, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2,
|
|
20
|
+
var readers, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, reader, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, recordBatch, arrowTabledBatch;
|
|
21
21
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
22
22
|
while (1) switch (_context.prev = _context.next) {
|
|
23
23
|
case 0:
|
|
@@ -31,7 +31,7 @@ function parseArrowInBatches(asyncIterator) {
|
|
|
31
31
|
return (0, _awaitAsyncGenerator2.default)(_iterator.next());
|
|
32
32
|
case 7:
|
|
33
33
|
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
34
|
-
_context.next =
|
|
34
|
+
_context.next = 43;
|
|
35
35
|
break;
|
|
36
36
|
}
|
|
37
37
|
reader = _step.value;
|
|
@@ -44,97 +44,92 @@ function parseArrowInBatches(asyncIterator) {
|
|
|
44
44
|
return (0, _awaitAsyncGenerator2.default)(_iterator2.next());
|
|
45
45
|
case 15:
|
|
46
46
|
if (!(_iteratorAbruptCompletion2 = !(_step2 = _context.sent).done)) {
|
|
47
|
-
_context.next =
|
|
47
|
+
_context.next = 23;
|
|
48
48
|
break;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
recordBatch = _step2.value;
|
|
51
|
+
arrowTabledBatch = {
|
|
52
|
+
shape: 'arrow-table',
|
|
53
|
+
batchType: 'data',
|
|
54
|
+
data: new _apacheArrow.Table([recordBatch]),
|
|
55
|
+
length: recordBatch.data.length
|
|
56
|
+
};
|
|
57
|
+
_context.next = 20;
|
|
58
|
+
return arrowTabledBatch;
|
|
59
|
+
case 20:
|
|
54
60
|
_iteratorAbruptCompletion2 = false;
|
|
55
61
|
_context.next = 13;
|
|
56
62
|
break;
|
|
57
|
-
case
|
|
58
|
-
_context.next =
|
|
63
|
+
case 23:
|
|
64
|
+
_context.next = 29;
|
|
59
65
|
break;
|
|
60
|
-
case
|
|
61
|
-
_context.prev =
|
|
66
|
+
case 25:
|
|
67
|
+
_context.prev = 25;
|
|
62
68
|
_context.t0 = _context["catch"](11);
|
|
63
69
|
_didIteratorError2 = true;
|
|
64
70
|
_iteratorError2 = _context.t0;
|
|
65
|
-
case
|
|
66
|
-
_context.prev = 28;
|
|
71
|
+
case 29:
|
|
67
72
|
_context.prev = 29;
|
|
73
|
+
_context.prev = 30;
|
|
68
74
|
if (!(_iteratorAbruptCompletion2 && _iterator2.return != null)) {
|
|
69
|
-
_context.next =
|
|
75
|
+
_context.next = 34;
|
|
70
76
|
break;
|
|
71
77
|
}
|
|
72
|
-
_context.next =
|
|
78
|
+
_context.next = 34;
|
|
73
79
|
return (0, _awaitAsyncGenerator2.default)(_iterator2.return());
|
|
74
|
-
case
|
|
75
|
-
_context.prev =
|
|
80
|
+
case 34:
|
|
81
|
+
_context.prev = 34;
|
|
76
82
|
if (!_didIteratorError2) {
|
|
77
|
-
_context.next =
|
|
83
|
+
_context.next = 37;
|
|
78
84
|
break;
|
|
79
85
|
}
|
|
80
86
|
throw _iteratorError2;
|
|
81
|
-
case 36:
|
|
82
|
-
return _context.finish(33);
|
|
83
87
|
case 37:
|
|
84
|
-
return _context.finish(
|
|
88
|
+
return _context.finish(34);
|
|
85
89
|
case 38:
|
|
86
|
-
return _context.
|
|
90
|
+
return _context.finish(29);
|
|
87
91
|
case 39:
|
|
92
|
+
return _context.abrupt("break", 43);
|
|
93
|
+
case 40:
|
|
88
94
|
_iteratorAbruptCompletion = false;
|
|
89
95
|
_context.next = 5;
|
|
90
96
|
break;
|
|
91
|
-
case
|
|
92
|
-
_context.next =
|
|
97
|
+
case 43:
|
|
98
|
+
_context.next = 49;
|
|
93
99
|
break;
|
|
94
|
-
case
|
|
95
|
-
_context.prev =
|
|
100
|
+
case 45:
|
|
101
|
+
_context.prev = 45;
|
|
96
102
|
_context.t1 = _context["catch"](3);
|
|
97
103
|
_didIteratorError = true;
|
|
98
104
|
_iteratorError = _context.t1;
|
|
99
|
-
case
|
|
100
|
-
_context.prev = 48;
|
|
105
|
+
case 49:
|
|
101
106
|
_context.prev = 49;
|
|
107
|
+
_context.prev = 50;
|
|
102
108
|
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
103
|
-
_context.next =
|
|
109
|
+
_context.next = 54;
|
|
104
110
|
break;
|
|
105
111
|
}
|
|
106
|
-
_context.next =
|
|
112
|
+
_context.next = 54;
|
|
107
113
|
return (0, _awaitAsyncGenerator2.default)(_iterator.return());
|
|
108
|
-
case
|
|
109
|
-
_context.prev =
|
|
114
|
+
case 54:
|
|
115
|
+
_context.prev = 54;
|
|
110
116
|
if (!_didIteratorError) {
|
|
111
|
-
_context.next =
|
|
117
|
+
_context.next = 57;
|
|
112
118
|
break;
|
|
113
119
|
}
|
|
114
120
|
throw _iteratorError;
|
|
115
|
-
case 56:
|
|
116
|
-
return _context.finish(53);
|
|
117
121
|
case 57:
|
|
118
|
-
return _context.finish(
|
|
122
|
+
return _context.finish(54);
|
|
119
123
|
case 58:
|
|
124
|
+
return _context.finish(49);
|
|
125
|
+
case 59:
|
|
120
126
|
case "end":
|
|
121
127
|
return _context.stop();
|
|
122
128
|
}
|
|
123
|
-
}, _callee, null, [[3,
|
|
129
|
+
}, _callee, null, [[3, 45, 49, 59], [11, 25, 29, 39], [30,, 34, 38], [50,, 54, 58]]);
|
|
124
130
|
}));
|
|
125
131
|
return _makeArrowAsyncIterator.apply(this, arguments);
|
|
126
132
|
}
|
|
127
133
|
return makeArrowAsyncIterator();
|
|
128
134
|
}
|
|
129
|
-
function processBatch(batch) {
|
|
130
|
-
var values = {
|
|
131
|
-
metadata: batch.schema.metadata,
|
|
132
|
-
length: batch.length
|
|
133
|
-
};
|
|
134
|
-
batch.schema.fields.forEach(function (_ref, index) {
|
|
135
|
-
var name = _ref.name;
|
|
136
|
-
values[name] = batch.getChildAt(index).toArray();
|
|
137
|
-
});
|
|
138
|
-
return values;
|
|
139
|
-
}
|
|
140
135
|
//# sourceMappingURL=parse-arrow-in-batches.js.map
|
|
@@ -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","
|
|
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","recordBatch","arrowTabledBatch","wrap","_callee$","_context","prev","RecordBatchReader","readAll","_awaitAsyncGenerator2","sent","shape","batchType","data","ApacheArrowTable","length","t0","finish","abrupt","t1","stop"],"sources":["../../../src/lib/parse-arrow-in-batches.ts"],"sourcesContent":["// TODO - this import defeats the sophisticated typescript checking in ArrowJS\nimport type {ArrowTableBatch} from './arrow-table';\nimport {RecordBatchReader, Table as ApacheArrowTable} from 'apache-arrow';\n// import {isIterable} from '@loaders.gl/core';\n\n/**\n */\nexport function parseArrowInBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n): AsyncIterable<ArrowTableBatch> {\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(): AsyncIterator<ArrowTableBatch> {\n // @ts-ignore\n const readers = RecordBatchReader.readAll(asyncIterator);\n for await (const reader of readers) {\n for await (const recordBatch of reader) {\n const arrowTabledBatch: ArrowTableBatch = {\n shape: 'arrow-table',\n batchType: 'data',\n data: new ApacheArrowTable([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\n return makeArrowAsyncIterator() as any; // as AsyncIterator<ArrowTableBatch>;\n}\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"],"mappings":"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"}
|
|
@@ -4,50 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = parseArrowSync;
|
|
7
|
+
var _schema = require("@loaders.gl/schema");
|
|
7
8
|
var _apacheArrow = require("apache-arrow");
|
|
8
|
-
|
|
9
|
-
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); }
|
|
10
|
-
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; }
|
|
9
|
+
var _convertTable = require("./convert-table");
|
|
11
10
|
function parseArrowSync(arrayBuffer, options) {
|
|
12
11
|
var _options$arrow;
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
19
|
-
var field = _step.value;
|
|
20
|
-
var arrowColumn = arrowTable.getChild(field.name);
|
|
21
|
-
var values = arrowColumn === null || arrowColumn === void 0 ? void 0 : arrowColumn.toArray();
|
|
22
|
-
columnarTable[field.name] = values;
|
|
23
|
-
}
|
|
24
|
-
} catch (err) {
|
|
25
|
-
_iterator.e(err);
|
|
26
|
-
} finally {
|
|
27
|
-
_iterator.f();
|
|
28
|
-
}
|
|
29
|
-
switch (options === null || options === void 0 ? void 0 : (_options$arrow = options.arrow) === null || _options$arrow === void 0 ? void 0 : _options$arrow.shape) {
|
|
12
|
+
var apacheArrowTable = (0, _apacheArrow.tableFromIPC)([new Uint8Array(arrayBuffer)]);
|
|
13
|
+
var arrowTable = (0, _convertTable.convertApacheArrowToArrowTable)(apacheArrowTable);
|
|
14
|
+
var shape = (options === null || options === void 0 ? void 0 : (_options$arrow = options.arrow) === null || _options$arrow === void 0 ? void 0 : _options$arrow.shape) || 'arrow-table';
|
|
15
|
+
switch (shape) {
|
|
30
16
|
case 'arrow-table':
|
|
31
17
|
return arrowTable;
|
|
32
|
-
case 'object-row-table':
|
|
33
|
-
return convertColumnarToRowFormatTable(columnarTable);
|
|
34
18
|
case 'columnar-table':
|
|
19
|
+
return (0, _convertTable.convertArrowToColumnarTable)(arrowTable);
|
|
20
|
+
case 'object-row-table':
|
|
21
|
+
var columnarTable = (0, _convertTable.convertArrowToColumnarTable)(arrowTable);
|
|
22
|
+
return (0, _schema.convertTable)(columnarTable, 'object-row-table');
|
|
35
23
|
default:
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function convertColumnarToRowFormatTable(columnarTable) {
|
|
40
|
-
var tableKeys = Object.keys(columnarTable);
|
|
41
|
-
var tableRowsCount = columnarTable[tableKeys[0]].length;
|
|
42
|
-
var rowFormatTable = [];
|
|
43
|
-
for (var index = 0; index < tableRowsCount; index++) {
|
|
44
|
-
var tableItem = {};
|
|
45
|
-
for (var keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {
|
|
46
|
-
var fieldName = tableKeys[keyIndex];
|
|
47
|
-
tableItem[fieldName] = columnarTable[fieldName][index];
|
|
48
|
-
}
|
|
49
|
-
rowFormatTable.push(tableItem);
|
|
24
|
+
throw new Error(shape);
|
|
50
25
|
}
|
|
51
|
-
return rowFormatTable;
|
|
52
26
|
}
|
|
53
27
|
//# sourceMappingURL=parse-arrow-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow-sync.js","names":["
|
|
1
|
+
{"version":3,"file":"parse-arrow-sync.js","names":["_schema","require","_apacheArrow","_convertTable","parseArrowSync","arrayBuffer","options","_options$arrow","apacheArrowTable","tableFromIPC","Uint8Array","arrowTable","convertApacheArrowToArrowTable","shape","arrow","convertArrowToColumnarTable","columnarTable","convertTable","Error"],"sources":["../../../src/lib/parse-arrow-sync.ts"],"sourcesContent":["import type {ColumnarTable, ObjectRowTable} from '@loaders.gl/schema';\nimport type {ArrowTable} from './arrow-table';\nimport {convertTable} from '@loaders.gl/schema';\nimport {tableFromIPC} from 'apache-arrow';\nimport type {ArrowLoaderOptions} from '../arrow-loader';\nimport {convertApacheArrowToArrowTable, convertArrowToColumnarTable} from './convert-table';\n\n// Parses arrow to a columnar table\nexport default function parseArrowSync(\n arrayBuffer,\n options?: ArrowLoaderOptions\n): ArrowTable | ColumnarTable | ObjectRowTable {\n const apacheArrowTable = tableFromIPC([new Uint8Array(arrayBuffer)]);\n const arrowTable = convertApacheArrowToArrowTable(apacheArrowTable);\n\n const shape = options?.arrow?.shape || 'arrow-table';\n switch (shape) {\n case 'arrow-table':\n return arrowTable;\n\n case 'columnar-table':\n return convertArrowToColumnarTable(arrowTable);\n\n case 'object-row-table':\n const columnarTable = convertArrowToColumnarTable(arrowTable);\n return convertTable(columnarTable, 'object-row-table');\n\n default:\n // TODO\n throw new Error(shape);\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAGe,SAASG,cAAcA,CACpCC,WAAW,EACXC,OAA4B,EACiB;EAAA,IAAAC,cAAA;EAC7C,IAAMC,gBAAgB,GAAG,IAAAC,yBAAY,EAAC,CAAC,IAAIC,UAAU,CAACL,WAAW,CAAC,CAAC,CAAC;EACpE,IAAMM,UAAU,GAAG,IAAAC,4CAA8B,EAACJ,gBAAgB,CAAC;EAEnE,IAAMK,KAAK,GAAG,CAAAP,OAAO,aAAPA,OAAO,wBAAAC,cAAA,GAAPD,OAAO,CAAEQ,KAAK,cAAAP,cAAA,uBAAdA,cAAA,CAAgBM,KAAK,KAAI,aAAa;EACpD,QAAQA,KAAK;IACX,KAAK,aAAa;MAChB,OAAOF,UAAU;IAEnB,KAAK,gBAAgB;MACnB,OAAO,IAAAI,yCAA2B,EAACJ,UAAU,CAAC;IAEhD,KAAK,kBAAkB;MACrB,IAAMK,aAAa,GAAG,IAAAD,yCAA2B,EAACJ,UAAU,CAAC;MAC7D,OAAO,IAAAM,oBAAY,EAACD,aAAa,EAAE,kBAAkB,CAAC;IAExD;MAEE,MAAM,IAAIE,KAAK,CAACL,KAAK,CAAC;EAC1B;AACF"}
|
package/dist/esm/arrow-loader.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const VERSION = typeof "4.0.0-
|
|
1
|
+
const VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
|
|
2
2
|
export const ArrowLoader = {
|
|
3
3
|
name: 'Apache Arrow',
|
|
4
4
|
id: 'arrow',
|
|
@@ -15,5 +15,4 @@ export const ArrowLoader = {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
export const _typecheckArrowLoader = ArrowLoader;
|
|
19
18
|
//# sourceMappingURL=arrow-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-loader.js","names":["VERSION","ArrowLoader","name","id","module","version","category","extensions","mimeTypes","binary","tests","options","arrow","shape"
|
|
1
|
+
{"version":3,"file":"arrow-loader.js","names":["VERSION","ArrowLoader","name","id","module","version","category","extensions","mimeTypes","binary","tests","options","arrow","shape"],"sources":["../../src/arrow-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ArrowTable} from './lib/arrow-table';\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\n/** ArrowJS table loader */\nexport const ArrowLoader: Loader<ArrowTable, never, ArrowLoaderOptions> = {\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"],"mappings":"AAMA,MAAMA,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAS3E,OAAO,MAAMC,WAA0D,GAAG;EACxEC,IAAI,EAAE,cAAc;EACpBC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEL,OAAO;EAEhBM,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,EAAE;IACPC,KAAK,EAAE;MACLC,KAAK,EAAE;IACT;EACF;AACF,CAAC"}
|
package/dist/esm/arrow-writer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodeArrowSync } from './lib/encode-arrow';
|
|
2
|
-
const VERSION = typeof "4.0.0-
|
|
2
|
+
const VERSION = typeof "4.0.0-beta.2" !== 'undefined' ? "4.0.0-beta.2" : 'latest';
|
|
3
3
|
export const ArrowWriter = {
|
|
4
4
|
name: 'Apache Arrow',
|
|
5
5
|
id: 'arrow',
|