@loaders.gl/arrow 3.3.0-alpha.1 → 3.3.0-alpha.11

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.
Files changed (53) hide show
  1. package/dist/arrow-loader.d.ts +1 -1
  2. package/dist/arrow-loader.d.ts.map +1 -1
  3. package/dist/arrow-worker.js +1288 -1304
  4. package/dist/arrow-writer.d.ts +1 -1
  5. package/dist/arrow-writer.d.ts.map +1 -1
  6. package/dist/dist.min.js +1289 -1305
  7. package/dist/es5/arrow-loader.js +2 -1
  8. package/dist/es5/arrow-loader.js.map +1 -1
  9. package/dist/es5/arrow-writer.js +1 -3
  10. package/dist/es5/arrow-writer.js.map +1 -1
  11. package/dist/es5/bundle.js +0 -1
  12. package/dist/es5/bundle.js.map +1 -1
  13. package/dist/es5/index.js +8 -25
  14. package/dist/es5/index.js.map +1 -1
  15. package/dist/es5/lib/arrow-table-batch.js +1 -36
  16. package/dist/es5/lib/arrow-table-batch.js.map +1 -1
  17. package/dist/es5/lib/encode-arrow.js +1 -12
  18. package/dist/es5/lib/encode-arrow.js.map +1 -1
  19. package/dist/es5/lib/parse-arrow-in-batches.js +62 -117
  20. package/dist/es5/lib/parse-arrow-in-batches.js.map +1 -1
  21. package/dist/es5/lib/parse-arrow-sync.js +0 -11
  22. package/dist/es5/lib/parse-arrow-sync.js.map +1 -1
  23. package/dist/es5/types.js +0 -1
  24. package/dist/es5/types.js.map +1 -1
  25. package/dist/es5/workers/arrow-worker.js +0 -2
  26. package/dist/es5/workers/arrow-worker.js.map +1 -1
  27. package/dist/esm/arrow-loader.js +3 -1
  28. package/dist/esm/arrow-loader.js.map +1 -1
  29. package/dist/esm/arrow-writer.js +4 -2
  30. package/dist/esm/arrow-writer.js.map +1 -1
  31. package/dist/esm/bundle.js +1 -1
  32. package/dist/esm/bundle.js.map +1 -1
  33. package/dist/esm/index.js +7 -1
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/lib/arrow-table-batch.js +0 -14
  36. package/dist/esm/lib/arrow-table-batch.js.map +1 -1
  37. package/dist/esm/lib/encode-arrow.js +0 -3
  38. package/dist/esm/lib/encode-arrow.js.map +1 -1
  39. package/dist/esm/lib/parse-arrow-in-batches.js +7 -6
  40. package/dist/esm/lib/parse-arrow-in-batches.js.map +1 -1
  41. package/dist/esm/lib/parse-arrow-sync.js +2 -9
  42. package/dist/esm/lib/parse-arrow-sync.js.map +1 -1
  43. package/dist/esm/types.js +0 -1
  44. package/dist/esm/types.js.map +1 -1
  45. package/dist/esm/workers/arrow-worker.js.map +1 -1
  46. package/dist/lib/encode-arrow.d.ts +1 -1
  47. package/dist/lib/encode-arrow.d.ts.map +1 -1
  48. package/dist/lib/parse-arrow-in-batches.d.ts.map +1 -1
  49. package/dist/lib/parse-arrow-in-batches.js +1 -0
  50. package/dist/types.d.ts +4 -4
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +4 -4
  53. package/src/lib/parse-arrow-in-batches.ts +1 -0
@@ -1,189 +1,134 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.parseArrowInBatches = parseArrowInBatches;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
13
-
14
10
  var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
15
-
16
- var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncIterator"));
17
-
18
11
  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); }
19
14
 
20
15
  function parseArrowInBatches(asyncIterator) {
21
16
  function makeArrowAsyncIterator() {
22
17
  return _makeArrowAsyncIterator.apply(this, arguments);
23
18
  }
24
-
25
19
  function _makeArrowAsyncIterator() {
26
20
  _makeArrowAsyncIterator = (0, _wrapAsyncGenerator2.default)(_regenerator.default.mark(function _callee() {
27
- var readers, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, reader, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _value2, batch;
28
-
21
+ var readers, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, reader, _iteratorAbruptCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, batch;
29
22
  return _regenerator.default.wrap(function _callee$(_context) {
30
23
  while (1) {
31
24
  switch (_context.prev = _context.next) {
32
25
  case 0:
33
26
  readers = _apacheArrow.RecordBatchReader.readAll(asyncIterator);
34
- _iteratorNormalCompletion = true;
27
+ _iteratorAbruptCompletion = false;
35
28
  _didIteratorError = false;
36
29
  _context.prev = 3;
37
- _iterator = (0, _asyncIterator2.default)(readers);
38
-
30
+ _iterator = _asyncIterator(readers);
39
31
  case 5:
40
32
  _context.next = 7;
41
33
  return (0, _awaitAsyncGenerator2.default)(_iterator.next());
42
-
43
34
  case 7:
44
- _step = _context.sent;
45
- _iteratorNormalCompletion = _step.done;
46
- _context.next = 11;
47
- return (0, _awaitAsyncGenerator2.default)(_step.value);
48
-
49
- case 11:
50
- _value = _context.sent;
51
-
52
- if (_iteratorNormalCompletion) {
53
- _context.next = 52;
35
+ if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
36
+ _context.next = 42;
54
37
  break;
55
38
  }
56
-
57
- reader = _value;
58
- _iteratorNormalCompletion2 = true;
39
+ reader = _step.value;
40
+ _iteratorAbruptCompletion2 = false;
59
41
  _didIteratorError2 = false;
60
- _context.prev = 16;
61
- _iterator2 = (0, _asyncIterator2.default)(reader);
62
-
63
- case 18:
64
- _context.next = 20;
42
+ _context.prev = 11;
43
+ _iterator2 = _asyncIterator(reader);
44
+ case 13:
45
+ _context.next = 15;
65
46
  return (0, _awaitAsyncGenerator2.default)(_iterator2.next());
66
-
67
- case 20:
68
- _step2 = _context.sent;
69
- _iteratorNormalCompletion2 = _step2.done;
70
- _context.next = 24;
71
- return (0, _awaitAsyncGenerator2.default)(_step2.value);
72
-
73
- case 24:
74
- _value2 = _context.sent;
75
-
76
- if (_iteratorNormalCompletion2) {
77
- _context.next = 32;
47
+ case 15:
48
+ if (!(_iteratorAbruptCompletion2 = !(_step2 = _context.sent).done)) {
49
+ _context.next = 22;
78
50
  break;
79
51
  }
80
-
81
- batch = _value2;
82
- _context.next = 29;
52
+ batch = _step2.value;
53
+ _context.next = 19;
83
54
  return processBatch(batch);
84
-
85
- case 29:
86
- _iteratorNormalCompletion2 = true;
87
- _context.next = 18;
55
+ case 19:
56
+ _iteratorAbruptCompletion2 = false;
57
+ _context.next = 13;
88
58
  break;
89
-
90
- case 32:
91
- _context.next = 38;
59
+ case 22:
60
+ _context.next = 28;
92
61
  break;
93
-
94
- case 34:
95
- _context.prev = 34;
96
- _context.t0 = _context["catch"](16);
62
+ case 24:
63
+ _context.prev = 24;
64
+ _context.t0 = _context["catch"](11);
97
65
  _didIteratorError2 = true;
98
66
  _iteratorError2 = _context.t0;
99
-
100
- case 38:
101
- _context.prev = 38;
102
- _context.prev = 39;
103
-
104
- if (!(!_iteratorNormalCompletion2 && _iterator2.return != null)) {
105
- _context.next = 43;
67
+ case 28:
68
+ _context.prev = 28;
69
+ _context.prev = 29;
70
+ if (!(_iteratorAbruptCompletion2 && _iterator2.return != null)) {
71
+ _context.next = 33;
106
72
  break;
107
73
  }
108
-
109
- _context.next = 43;
74
+ _context.next = 33;
110
75
  return (0, _awaitAsyncGenerator2.default)(_iterator2.return());
111
-
112
- case 43:
113
- _context.prev = 43;
114
-
76
+ case 33:
77
+ _context.prev = 33;
115
78
  if (!_didIteratorError2) {
116
- _context.next = 46;
79
+ _context.next = 36;
117
80
  break;
118
81
  }
119
-
120
82
  throw _iteratorError2;
121
-
122
- case 46:
123
- return _context.finish(43);
124
-
125
- case 47:
126
- return _context.finish(38);
127
-
128
- case 48:
129
- return _context.abrupt("break", 52);
130
-
131
- case 49:
132
- _iteratorNormalCompletion = true;
83
+ case 36:
84
+ return _context.finish(33);
85
+ case 37:
86
+ return _context.finish(28);
87
+ case 38:
88
+ return _context.abrupt("break", 42);
89
+ case 39:
90
+ _iteratorAbruptCompletion = false;
133
91
  _context.next = 5;
134
92
  break;
135
-
136
- case 52:
137
- _context.next = 58;
93
+ case 42:
94
+ _context.next = 48;
138
95
  break;
139
-
140
- case 54:
141
- _context.prev = 54;
96
+ case 44:
97
+ _context.prev = 44;
142
98
  _context.t1 = _context["catch"](3);
143
99
  _didIteratorError = true;
144
100
  _iteratorError = _context.t1;
145
-
146
- case 58:
147
- _context.prev = 58;
148
- _context.prev = 59;
149
-
150
- if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
151
- _context.next = 63;
101
+ case 48:
102
+ _context.prev = 48;
103
+ _context.prev = 49;
104
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
105
+ _context.next = 53;
152
106
  break;
153
107
  }
154
-
155
- _context.next = 63;
108
+ _context.next = 53;
156
109
  return (0, _awaitAsyncGenerator2.default)(_iterator.return());
157
-
158
- case 63:
159
- _context.prev = 63;
160
-
110
+ case 53:
111
+ _context.prev = 53;
161
112
  if (!_didIteratorError) {
162
- _context.next = 66;
113
+ _context.next = 56;
163
114
  break;
164
115
  }
165
-
166
116
  throw _iteratorError;
167
-
168
- case 66:
169
- return _context.finish(63);
170
-
171
- case 67:
172
- return _context.finish(58);
173
-
174
- case 68:
117
+ case 56:
118
+ return _context.finish(53);
119
+ case 57:
120
+ return _context.finish(48);
121
+ case 58:
175
122
  case "end":
176
123
  return _context.stop();
177
124
  }
178
125
  }
179
- }, _callee, null, [[3, 54, 58, 68], [16, 34, 38, 48], [39,, 43, 47], [59,, 63, 67]]);
126
+ }, _callee, null, [[3, 44, 48, 58], [11, 24, 28, 38], [29,, 33, 37], [49,, 53, 57]]);
180
127
  }));
181
128
  return _makeArrowAsyncIterator.apply(this, arguments);
182
129
  }
183
-
184
130
  return makeArrowAsyncIterator();
185
131
  }
186
-
187
132
  function processBatch(batch) {
188
133
  var values = {
189
134
  metadata: batch.schema.metadata,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/parse-arrow-in-batches.ts"],"names":["parseArrowInBatches","asyncIterator","makeArrowAsyncIterator","readers","RecordBatchReader","readAll","reader","batch","processBatch","values","metadata","schema","length","fields","forEach","index","name","getChildAt","toArray"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AAKO,SAASA,mBAAT,CACLC,aADK,EAEe;AAAA,WAmBJC,sBAnBI;AAAA;AAAA;;AAAA;AAAA,0FAmBpB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACQC,cAAAA,OADR,GACkBC,+BAAkBC,OAAlB,CAA0BJ,aAA1B,CADlB;AAAA;AAAA;AAAA;AAAA,uDAE6BE,OAF7B;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAEmBG,cAAAA,MAFnB;AAAA;AAAA;AAAA;AAAA,wDAG8BA,MAH9B;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAGqBC,cAAAA,KAHrB;AAAA;AAIM,qBAAMC,YAAY,CAACD,KAAD,CAAlB;;AAJN;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAnBoB;AAAA;AAAA;;AA4BpB,SAAOL,sBAAsB,EAA7B;AACD;;AAED,SAASM,YAAT,CAAsBD,KAAtB,EAA6B;AAC3B,MAAME,MAAM,GAAG;AACbC,IAAAA,QAAQ,EAAEH,KAAK,CAACI,MAAN,CAAaD,QADV;AAEbE,IAAAA,MAAM,EAAEL,KAAK,CAACK;AAFD,GAAf;AAIAL,EAAAA,KAAK,CAACI,MAAN,CAAaE,MAAb,CAAoBC,OAApB,CAA4B,gBAASC,KAAT,EAAmB;AAAA,QAAjBC,IAAiB,QAAjBA,IAAiB;AAC7CP,IAAAA,MAAM,CAACO,IAAD,CAAN,GAAeT,KAAK,CAACU,UAAN,CAAiBF,KAAjB,EAAwBG,OAAxB,EAAf;AACD,GAFD;AAGA,SAAOT,MAAP;AACD","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 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"],"file":"parse-arrow-in-batches.js"}
1
+ {"version":3,"file":"parse-arrow-in-batches.js","names":["parseArrowInBatches","asyncIterator","makeArrowAsyncIterator","readers","RecordBatchReader","readAll","reader","batch","processBatch","values","metadata","schema","length","fields","forEach","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;AAA+C;AAAA;;AAKxC,SAASA,mBAAmB,CACjCC,aAAiE,EAC7C;EAAA,SAmBJC,sBAAsB;IAAA;EAAA;EAAA;IAAA,sFAAtC;MAAA;MAAA;QAAA;UAAA;YAAA;cAEQC,OAAO,GAAGC,8BAAiB,CAACC,OAAO,CAACJ,aAAa,CAAC;cAAA;cAAA;cAAA;cAAA,2BAC7BE,OAAO;YAAA;cAAA;cAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;cAAjBG,MAAM;cAAA;cAAA;cAAA;cAAA,4BACKA,MAAM;YAAA;cAAA;cAAA;YAAA;cAAA;gBAAA;gBAAA;cAAA;cAAfC,KAAK;cAAA;cACpB,OAAMC,YAAY,CAACD,KAAK,CAAC;YAAA;cAAA;cAAA;cAAA;YAAA;cAAA;cAAA;YAAA;cAAA;cAAA;cAAA;cAAA;YAAA;cAAA;cAAA;cAAA;gBAAA;gBAAA;cAAA;cAAA;cAAA;YAAA;cAAA;cAAA;gBAAA;gBAAA;cAAA;cAAA;YAAA;cAAA;YAAA;cAAA;YAAA;cAAA;YAAA;cAAA;cAAA;cAAA;YAAA;cAAA;cAAA;YAAA;cAAA;cAAA;cAAA;cAAA;YAAA;cAAA;cAAA;cAAA;gBAAA;gBAAA;cAAA;cAAA;cAAA;YAAA;cAAA;cAAA;gBAAA;gBAAA;cAAA;cAAA;YAAA;cAAA;YAAA;cAAA;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAI9B;IAAA;EAAA;EACD,OAAOL,sBAAsB,EAAE;AACjC;AAEA,SAASM,YAAY,CAACD,KAAK,EAAE;EAC3B,IAAME,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,gBAASC,KAAK,EAAK;IAAA,IAAjBC,IAAI,QAAJA,IAAI;IAChCP,MAAM,CAACO,IAAI,CAAC,GAAGT,KAAK,CAACU,UAAU,CAACF,KAAK,CAAC,CAACG,OAAO,EAAE;EAClD,CAAC,CAAC;EACF,OAAOT,MAAM;AACf"}
@@ -4,12 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = parseArrowSync;
7
-
8
7
  var _apacheArrow = require("apache-arrow");
9
-
10
8
  function parseArrowSync(arrayBuffer, options) {
11
9
  var _options$arrow;
12
-
13
10
  var arrowTable = _apacheArrow.Table.from([new Uint8Array(arrayBuffer)]);
14
11
 
15
12
  var columnarTable = {};
@@ -18,36 +15,28 @@ function parseArrowSync(arrayBuffer, options) {
18
15
  var values = arrowColumn.toArray();
19
16
  columnarTable[field.name] = values;
20
17
  });
21
-
22
18
  switch (options === null || options === void 0 ? void 0 : (_options$arrow = options.arrow) === null || _options$arrow === void 0 ? void 0 : _options$arrow.shape) {
23
19
  case 'arrow-table':
24
20
  return arrowTable;
25
-
26
21
  case 'object-row-table':
27
22
  return convertColumnarToRowFormatTable(columnarTable);
28
-
29
23
  case 'columnar-table':
30
24
  default:
31
25
  return columnarTable;
32
26
  }
33
27
  }
34
-
35
28
  function convertColumnarToRowFormatTable(columnarTable) {
36
29
  var tableKeys = Object.keys(columnarTable);
37
30
  var tableRowsCount = columnarTable[tableKeys[0]].length;
38
31
  var rowFormatTable = [];
39
-
40
32
  for (var index = 0; index < tableRowsCount; index++) {
41
33
  var tableItem = {};
42
-
43
34
  for (var keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {
44
35
  var fieldName = tableKeys[keyIndex];
45
36
  tableItem[fieldName] = columnarTable[fieldName][index];
46
37
  }
47
-
48
38
  rowFormatTable.push(tableItem);
49
39
  }
50
-
51
40
  return rowFormatTable;
52
41
  }
53
42
  //# sourceMappingURL=parse-arrow-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/parse-arrow-sync.ts"],"names":["parseArrowSync","arrayBuffer","options","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"],"mappings":";;;;;;;AACA;;AAGe,SAASA,cAAT,CAAwBC,WAAxB,EAAqCC,OAArC,EAAmE;AAAA;;AAChF,MAAMC,UAAU,GAAGC,mBAAMC,IAAN,CAAW,CAAC,IAAIC,UAAJ,CAAeL,WAAf,CAAD,CAAX,CAAnB;;AAMA,MAAMM,aAAa,GAAG,EAAtB;AAEAJ,EAAAA,UAAU,CAACK,MAAX,CAAkBC,MAAlB,CAAyBC,OAAzB,CAAiC,UAACC,KAAD,EAAW;AAE1C,QAAMC,WAAW,GAAGT,UAAU,CAACU,SAAX,CAAqBF,KAAK,CAACG,IAA3B,CAApB;AACA,QAAMC,MAAM,GAAGH,WAAW,CAACI,OAAZ,EAAf;AACAT,IAAAA,aAAa,CAACI,KAAK,CAACG,IAAP,CAAb,GAA4BC,MAA5B;AACD,GALD;;AAOA,UAAQb,OAAR,aAAQA,OAAR,yCAAQA,OAAO,CAAEe,KAAjB,mDAAQ,eAAgBC,KAAxB;AACE,SAAK,aAAL;AACE,aAAOf,UAAP;;AACF,SAAK,kBAAL;AACE,aAAOgB,+BAA+B,CAACZ,aAAD,CAAtC;;AACF,SAAK,gBAAL;AACA;AACE,aAAOA,aAAP;AAPJ;AASD;;AAED,SAASY,+BAAT,CAAyCZ,aAAzC,EAAwD;AACtD,MAAMa,SAAS,GAAGC,MAAM,CAACC,IAAP,CAAYf,aAAZ,CAAlB;AACA,MAAMgB,cAAc,GAAGhB,aAAa,CAACa,SAAS,CAAC,CAAD,CAAV,CAAb,CAA4BI,MAAnD;AACA,MAAMC,cAAoB,GAAG,EAA7B;;AAEA,OAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGH,cAA5B,EAA4CG,KAAK,EAAjD,EAAqD;AACnD,QAAMC,SAAS,GAAG,EAAlB;;AACA,SAAK,IAAIC,QAAQ,GAAG,CAApB,EAAuBA,QAAQ,GAAGR,SAAS,CAACI,MAA5C,EAAoDI,QAAQ,EAA5D,EAAgE;AAC9D,UAAMC,SAAS,GAAGT,SAAS,CAACQ,QAAD,CAA3B;AACAD,MAAAA,SAAS,CAACE,SAAD,CAAT,GAAuBtB,aAAa,CAACsB,SAAD,CAAb,CAAyBH,KAAzB,CAAvB;AACD;;AACDD,IAAAA,cAAc,CAACK,IAAf,CAAoBH,SAApB;AACD;;AACD,SAAOF,cAAP;AACD","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"],"file":"parse-arrow-sync.js"}
1
+ {"version":3,"file":"parse-arrow-sync.js","names":["parseArrowSync","arrayBuffer","options","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;AAGe,SAASA,cAAc,CAACC,WAAW,EAAEC,OAA4B,EAAE;EAAA;EAChF,IAAMC,UAAU,GAAGC,kBAAK,CAACC,IAAI,CAAC,CAAC,IAAIC,UAAU,CAACL,WAAW,CAAC,CAAC,CAAC;;EAM5D,IAAMM,aAAa,GAAG,CAAC,CAAC;EAExBJ,UAAU,CAACK,MAAM,CAACC,MAAM,CAACC,OAAO,CAAC,UAACC,KAAK,EAAK;IAE1C,IAAMC,WAAW,GAAGT,UAAU,CAACU,SAAS,CAACF,KAAK,CAACG,IAAI,CAAC;IACpD,IAAMC,MAAM,GAAGH,WAAW,CAACI,OAAO,EAAE;IACpCT,aAAa,CAACI,KAAK,CAACG,IAAI,CAAC,GAAGC,MAAM;EACpC,CAAC,CAAC;EAEF,QAAQb,OAAO,aAAPA,OAAO,yCAAPA,OAAO,CAAEe,KAAK,mDAAd,eAAgBC,KAAK;IAC3B,KAAK,aAAa;MAChB,OAAOf,UAAU;IACnB,KAAK,kBAAkB;MACrB,OAAOgB,+BAA+B,CAACZ,aAAa,CAAC;IACvD,KAAK,gBAAgB;IACrB;MACE,OAAOA,aAAa;EAAC;AAE3B;AAEA,SAASY,+BAA+B,CAACZ,aAAa,EAAE;EACtD,IAAMa,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACf,aAAa,CAAC;EAC5C,IAAMgB,cAAc,GAAGhB,aAAa,CAACa,SAAS,CAAC,CAAC,CAAC,CAAC,CAACI,MAAM;EACzD,IAAMC,cAAoB,GAAG,EAAE;EAE/B,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,cAAc,EAAEG,KAAK,EAAE,EAAE;IACnD,IAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,IAAIC,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGR,SAAS,CAACI,MAAM,EAAEI,QAAQ,EAAE,EAAE;MAC9D,IAAMC,SAAS,GAAGT,SAAS,CAACQ,QAAQ,CAAC;MACrCD,SAAS,CAACE,SAAS,CAAC,GAAGtB,aAAa,CAACsB,SAAS,CAAC,CAACH,KAAK,CAAC;IACxD;IACAD,cAAc,CAACK,IAAI,CAACH,SAAS,CAAC;EAChC;EACA,OAAOF,cAAc;AACvB"}
package/dist/es5/types.js CHANGED
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.VECTOR_TYPES = void 0;
7
7
  var VECTOR_TYPES;
8
8
  exports.VECTOR_TYPES = VECTOR_TYPES;
9
-
10
9
  (function (VECTOR_TYPES) {
11
10
  VECTOR_TYPES[VECTOR_TYPES["FLOAT"] = 0] = "FLOAT";
12
11
  VECTOR_TYPES[VECTOR_TYPES["DATE"] = 1] = "DATE";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types.ts"],"names":["VECTOR_TYPES"],"mappings":";;;;;;IAgBYA,Y;;;WAAAA,Y;AAAAA,EAAAA,Y,CAAAA,Y;AAAAA,EAAAA,Y,CAAAA,Y;GAAAA,Y,4BAAAA,Y","sourcesContent":["type TypedIntArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Int32Array\n | Uint32Array;\n\ntype TypedFloatArray = Float32Array | Float64Array;\n\ntype TypedArray = TypedIntArray | TypedFloatArray;\n\nexport type AnyArrayType = Array<any> | TypedArray;\n\nexport enum VECTOR_TYPES {\n FLOAT,\n DATE\n}\n"],"file":"types.js"}
1
+ {"version":3,"file":"types.js","names":["VECTOR_TYPES"],"sources":["../../src/types.ts"],"sourcesContent":["type TypedIntArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Int32Array\n | Uint32Array;\n\ntype TypedFloatArray = Float32Array | Float64Array;\n\ntype TypedArray = TypedIntArray | TypedFloatArray;\n\nexport type AnyArrayType = Array<any> | TypedArray;\n\nexport enum VECTOR_TYPES {\n FLOAT,\n DATE\n}\n"],"mappings":";;;;;;IAgBYA,YAAY;AAAA;AAAA,WAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;AAAA,GAAZA,YAAY,4BAAZA,YAAY"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _loaderUtils = require("@loaders.gl/loader-utils");
4
-
5
4
  var _index = require("../index");
6
-
7
5
  (0, _loaderUtils.createLoaderWorker)(_index.ArrowLoader);
8
6
  //# sourceMappingURL=arrow-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/workers/arrow-worker.ts"],"names":["ArrowLoader"],"mappings":";;AAAA;;AACA;;AAEA,qCAAmBA,kBAAnB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {ArrowLoader} from '../index';\n\ncreateLoaderWorker(ArrowLoader);\n"],"file":"arrow-worker.js"}
1
+ {"version":3,"file":"arrow-worker.js","names":["createLoaderWorker","ArrowLoader"],"sources":["../../../src/workers/arrow-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {ArrowLoader} from '../index';\n\ncreateLoaderWorker(ArrowLoader);\n"],"mappings":";;AAAA;AACA;AAEA,IAAAA,+BAAkB,EAACC,kBAAW,CAAC"}
@@ -1,9 +1,11 @@
1
- const VERSION = typeof "3.3.0-alpha.1" !== 'undefined' ? "3.3.0-alpha.1" : 'latest';
1
+
2
+ const VERSION = typeof "3.3.0-alpha.11" !== 'undefined' ? "3.3.0-alpha.11" : 'latest';
2
3
  const DEFAULT_ARROW_LOADER_OPTIONS = {
3
4
  arrow: {
4
5
  shape: 'columnar-table'
5
6
  }
6
7
  };
8
+
7
9
  export const ArrowLoader = {
8
10
  name: 'Apache Arrow',
9
11
  id: 'arrow',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/arrow-loader.ts"],"names":["VERSION","DEFAULT_ARROW_LOADER_OPTIONS","arrow","shape","ArrowLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","_typecheckArrowLoader"],"mappings":"AAIA,MAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,QAAnE;AAQA,MAAMC,4BAA4B,GAAG;AACnCC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE;AADF;AAD4B,CAArC;AAOA,OAAO,MAAMC,WAAW,GAAG;AACzBC,EAAAA,IAAI,EAAE,cADmB;AAEzBC,EAAAA,EAAE,EAAE,OAFqB;AAGzBC,EAAAA,MAAM,EAAE,OAHiB;AAIzBC,EAAAA,OAAO,EAAER,OAJgB;AAKzBS,EAAAA,MAAM,EAAE,IALiB;AAMzBC,EAAAA,QAAQ,EAAE,OANe;AAOzBC,EAAAA,UAAU,EAAE,CAAC,OAAD,EAAU,SAAV,CAPa;AAQzBC,EAAAA,SAAS,EAAE,CACT,mCADS,EAET,qCAFS,EAGT,0BAHS,CARc;AAazBC,EAAAA,MAAM,EAAE,IAbiB;AAczBC,EAAAA,KAAK,EAAE,CAAC,OAAD,CAdkB;AAezBC,EAAAA,OAAO,EAAEd;AAfgB,CAApB;AAkBP,OAAO,MAAMe,qBAA6B,GAAGZ,WAAtC","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"],"file":"arrow-loader.js"}
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","_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,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAQ3E,MAAMC,4BAA4B,GAAG;EACnCC,KAAK,EAAE;IACLC,KAAK,EAAE;EACT;AACF,CAAC;;AAGD,OAAO,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;AAED,OAAO,MAAMe,qBAA6B,GAAGZ,WAAW"}
@@ -1,5 +1,8 @@
1
+
2
+
1
3
  import { encodeArrowSync } from './lib/encode-arrow';
2
- const VERSION = typeof "3.3.0-alpha.1" !== 'undefined' ? "3.3.0-alpha.1" : 'latest';
4
+
5
+ const VERSION = typeof "3.3.0-alpha.11" !== 'undefined' ? "3.3.0-alpha.11" : 'latest';
3
6
  export const ArrowWriter = {
4
7
  name: 'Apache Arrow',
5
8
  id: 'arrow',
@@ -11,7 +14,6 @@ export const ArrowWriter = {
11
14
  binary: true,
12
15
  options: {}
13
16
  };
14
-
15
17
  function encodeSync(data, options) {
16
18
  return encodeArrowSync(data);
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/arrow-writer.ts"],"names":["encodeArrowSync","VERSION","ArrowWriter","name","id","module","version","extensions","mimeTypes","encodeSync","binary","options","data"],"mappings":"AAEA,SAAQA,eAAR,QAA8B,oBAA9B;AAIA,MAAMC,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,QAAnE;AAKA,OAAO,MAAMC,WAAW,GAAG;AACzBC,EAAAA,IAAI,EAAE,cADmB;AAEzBC,EAAAA,EAAE,EAAE,OAFqB;AAGzBC,EAAAA,MAAM,EAAE,OAHiB;AAIzBC,EAAAA,OAAO,EAAEL,OAJgB;AAKzBM,EAAAA,UAAU,EAAE,CAAC,OAAD,EAAU,SAAV,CALa;AAMzBC,EAAAA,SAAS,EAAE,CACT,mCADS,EAET,qCAFS,EAGT,0BAHS,CANc;AAWzBC,EAAAA,UAXyB;AAYzBC,EAAAA,MAAM,EAAE,IAZiB;AAazBC,EAAAA,OAAO,EAAE;AAbgB,CAApB;;AAgBP,SAASF,UAAT,CAAoBG,IAApB,EAA0BD,OAA1B,EAAwD;AACtD,SAAOX,eAAe,CAACY,IAAD,CAAtB;AACD","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"],"file":"arrow-writer.js"}
1
+ {"version":3,"file":"arrow-writer.js","names":["encodeArrowSync","VERSION","ArrowWriter","name","id","module","version","extensions","mimeTypes","encodeSync","binary","options","data"],"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,SAAQA,eAAe,QAAO,oBAAoB;;AAIlD,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAK3E,OAAO,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;AAED,SAASF,UAAU,CAACG,IAAI,EAAED,OAA4B,EAAE;EACtD,OAAOX,eAAe,CAACY,IAAI,CAAC;AAC9B"}
@@ -1,5 +1,5 @@
1
- const moduleExports = require('./index');
2
1
 
2
+ const moduleExports = require('./index');
3
3
  globalThis.loaders = globalThis.loaders || {};
4
4
  module.exports = Object.assign(globalThis.loaders, moduleExports);
5
5
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
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/esm/index.js CHANGED
@@ -3,11 +3,17 @@ import parseSync from './lib/parse-arrow-sync';
3
3
  import { parseArrowInBatches } from './lib/parse-arrow-in-batches';
4
4
  import { TableBatchBuilder } from '@loaders.gl/schema';
5
5
  import ArrowTableBatchAggregator from './lib/arrow-table-batch';
6
+
6
7
  TableBatchBuilder.ArrowBatch = ArrowTableBatchAggregator;
8
+
7
9
  export { VECTOR_TYPES } from './types';
10
+
8
11
  export { ArrowWriter } from './arrow-writer';
12
+
9
13
  export { ArrowWorkerLoader };
10
- export const ArrowLoader = { ...ArrowWorkerLoader,
14
+
15
+ export const ArrowLoader = {
16
+ ...ArrowWorkerLoader,
11
17
  parse: async (arraybuffer, options) => parseSync(arraybuffer, options),
12
18
  parseSync,
13
19
  parseInBatches: parseArrowInBatches
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["ArrowLoader","ArrowWorkerLoader","parseSync","parseArrowInBatches","TableBatchBuilder","ArrowTableBatchAggregator","ArrowBatch","VECTOR_TYPES","ArrowWriter","parse","arraybuffer","options","parseInBatches","_typecheckArrowLoader"],"mappings":"AAEA,SAAQA,WAAW,IAAIC,iBAAvB,QAA+C,gBAA/C;AACA,OAAOC,SAAP,MAAsB,wBAAtB;AACA,SAAQC,mBAAR,QAAkC,8BAAlC;AAEA,SAAQC,iBAAR,QAAgC,oBAAhC;AACA,OAAOC,yBAAP,MAAsC,yBAAtC;AAGAD,iBAAiB,CAACE,UAAlB,GAA+BD,yBAA/B;AAGA,SAAQE,YAAR,QAA2B,SAA3B;AAIA,SAAQC,WAAR,QAA0B,gBAA1B;AAKA,SAAQP,iBAAR;AAGA,OAAO,MAAMD,WAA6B,GAAG,EAC3C,GAAGC,iBADwC;AAE3CQ,EAAAA,KAAK,EAAE,OAAOC,WAAP,EAAiCC,OAAjC,KACLT,SAAS,CAACQ,WAAD,EAAcC,OAAd,CAHgC;AAI3CT,EAAAA,SAJ2C;AAK3CU,EAAAA,cAAc,EAAET;AAL2B,CAAtC;AAQP,OAAO,MAAMU,qBAAuC,GAAGb,WAAhD","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"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["ArrowLoader","ArrowWorkerLoader","parseSync","parseArrowInBatches","TableBatchBuilder","ArrowTableBatchAggregator","ArrowBatch","VECTOR_TYPES","ArrowWriter","parse","arraybuffer","options","parseInBatches","_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,SAAQA,WAAW,IAAIC,iBAAiB,QAAO,gBAAgB;AAC/D,OAAOC,SAAS,MAAM,wBAAwB;AAC9C,SAAQC,mBAAmB,QAAO,8BAA8B;AAEhE,SAAQC,iBAAiB,QAAO,oBAAoB;AACpD,OAAOC,yBAAyB,MAAM,yBAAyB;;AAG/DD,iBAAiB,CAACE,UAAU,GAAGD,yBAAyB;;AAGxD,SAAQE,YAAY,QAAO,SAAS;;AAIpC,SAAQC,WAAW,QAAO,gBAAgB;;AAK1C,SAAQP,iBAAiB;;AAGzB,OAAO,MAAMD,WAA6B,GAAG;EAC3C,GAAGC,iBAAiB;EACpBQ,KAAK,EAAE,OAAOC,WAAwB,EAAEC,OAA4B,KAClET,SAAS,CAACQ,WAAW,EAAEC,OAAO,CAAC;EACjCT,SAAS;EACTU,cAAc,EAAET;AAClB,CAAC;AAED,OAAO,MAAMU,qBAAuC,GAAGb,WAAW"}
@@ -4,15 +4,11 @@ import { ColumnarTableBatchAggregator } from '@loaders.gl/schema';
4
4
  export default class ArrowTableBatchAggregator extends ColumnarTableBatchAggregator {
5
5
  constructor(schema, options) {
6
6
  super(schema, options);
7
-
8
7
  _defineProperty(this, "arrowSchema", void 0);
9
-
10
8
  this.arrowSchema = null;
11
9
  }
12
-
13
10
  getBatch() {
14
11
  const batch = super.getBatch();
15
-
16
12
  if (batch) {
17
13
  this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);
18
14
  const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);
@@ -24,48 +20,38 @@ export default class ArrowTableBatchAggregator extends ColumnarTableBatchAggrega
24
20
  length: batch.length
25
21
  };
26
22
  }
27
-
28
23
  return null;
29
24
  }
30
-
31
25
  }
32
26
 
33
27
  function getArrowSchema(schema) {
34
28
  const arrowFields = [];
35
-
36
29
  for (const key in schema) {
37
30
  const field = schema[key];
38
-
39
31
  if (field.type === Float32Array) {
40
32
  const metadata = field;
41
33
  const arrowField = new Field(field.name, new Float32(), field.nullable, metadata);
42
34
  arrowFields.push(arrowField);
43
35
  }
44
36
  }
45
-
46
37
  if (arrowFields.length === 0) {
47
38
  throw new Error('No arrow convertible fields');
48
39
  }
49
-
50
40
  return new Schema(arrowFields);
51
41
  }
52
42
 
53
43
  function getArrowVectors(arrowSchema, data) {
54
44
  const arrowVectors = [];
55
-
56
45
  for (const field of arrowSchema.fields) {
57
46
  const vector = data[field.name];
58
-
59
47
  if (vector instanceof Float32Array) {
60
48
  const arrowVector = Float32Vector.from(vector);
61
49
  arrowVectors.push(arrowVector);
62
50
  }
63
51
  }
64
-
65
52
  if (arrowSchema.fields.length !== arrowVectors.length) {
66
53
  throw new Error('Some columns not arrow convertible');
67
54
  }
68
-
69
55
  return arrowVectors;
70
56
  }
71
57
  //# sourceMappingURL=arrow-table-batch.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/arrow-table-batch.ts"],"names":["Schema","Field","RecordBatch","Float32Vector","Float32","ColumnarTableBatchAggregator","ArrowTableBatchAggregator","constructor","schema","options","arrowSchema","getBatch","batch","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","length","shape","batchType","arrowFields","key","field","type","Float32Array","metadata","arrowField","name","nullable","push","Error","fields","vector","arrowVector","from"],"mappings":";AACA,SAAQA,MAAR,EAAgBC,KAAhB,EAAuBC,WAAvB,EAAoCC,aAApC,EAAmDC,OAAnD,QAAiE,cAAjE;AACA,SAAQC,4BAAR,QAA2C,oBAA3C;AAEA,eAAe,MAAMC,yBAAN,SAAwCD,4BAAxC,CAAqE;AAGlFE,EAAAA,WAAW,CAACC,MAAD,EAASC,OAAT,EAAkB;AAC3B,UAAMD,MAAN,EAAcC,OAAd;;AAD2B;;AAE3B,SAAKC,WAAL,GAAmB,IAAnB;AACD;;AAEDC,EAAAA,QAAQ,GAA2B;AACjC,UAAMC,KAAK,GAAG,MAAMD,QAAN,EAAd;;AACA,QAAIC,KAAJ,EAAW;AAET,WAAKF,WAAL,GAAmB,KAAKA,WAAL,IAAoBG,cAAc,CAACD,KAAK,CAACJ,MAAP,CAArD;AAEA,YAAMM,YAAY,GAAGC,eAAe,CAAC,KAAKL,WAAN,EAAmBE,KAAK,CAACI,IAAzB,CAApC;AAGA,YAAMC,WAAW,GAAG,IAAIf,WAAJ,CAAgB,KAAKQ,WAArB,EAAkCE,KAAK,CAACM,MAAxC,EAAgDJ,YAAhD,CAApB;AACA,aAAO;AACLK,QAAAA,KAAK,EAAE,aADF;AAELC,QAAAA,SAAS,EAAE,MAFN;AAGLJ,QAAAA,IAAI,EAAEC,WAHD;AAILC,QAAAA,MAAM,EAAEN,KAAK,CAACM;AAJT,OAAP;AAMD;;AAED,WAAO,IAAP;AACD;;AA3BiF;;AA+BpF,SAASL,cAAT,CAAwBL,MAAxB,EAAgC;AAC9B,QAAMa,WAAoB,GAAG,EAA7B;;AACA,OAAK,MAAMC,GAAX,IAAkBd,MAAlB,EAA0B;AACxB,UAAMe,KAAK,GAAGf,MAAM,CAACc,GAAD,CAApB;;AACA,QAAIC,KAAK,CAACC,IAAN,KAAeC,YAAnB,EAAiC;AAC/B,YAAMC,QAAQ,GAAGH,KAAjB;AAEA,YAAMI,UAAU,GAAG,IAAI1B,KAAJ,CAAUsB,KAAK,CAACK,IAAhB,EAAsB,IAAIxB,OAAJ,EAAtB,EAAqCmB,KAAK,CAACM,QAA3C,EAAqDH,QAArD,CAAnB;AACAL,MAAAA,WAAW,CAACS,IAAZ,CAAiBH,UAAjB;AACD;AACF;;AACD,MAAIN,WAAW,CAACH,MAAZ,KAAuB,CAA3B,EAA8B;AAC5B,UAAM,IAAIa,KAAJ,CAAU,6BAAV,CAAN;AACD;;AAED,SAAO,IAAI/B,MAAJ,CAAWqB,WAAX,CAAP;AACD;;AAGD,SAASN,eAAT,CAAyBL,WAAzB,EAAsCM,IAAtC,EAA4C;AAC1C,QAAMF,YAAmB,GAAG,EAA5B;;AACA,OAAK,MAAMS,KAAX,IAAoBb,WAAW,CAACsB,MAAhC,EAAwC;AACtC,UAAMC,MAAM,GAAGjB,IAAI,CAACO,KAAK,CAACK,IAAP,CAAnB;;AACA,QAAIK,MAAM,YAAYR,YAAtB,EAAoC;AAClC,YAAMS,WAAW,GAAG/B,aAAa,CAACgC,IAAd,CAAmBF,MAAnB,CAApB;AACAnB,MAAAA,YAAY,CAACgB,IAAb,CAAkBI,WAAlB;AACD;AACF;;AACD,MAAIxB,WAAW,CAACsB,MAAZ,CAAmBd,MAAnB,KAA8BJ,YAAY,CAACI,MAA/C,EAAuD;AACrD,UAAM,IAAIa,KAAJ,CAAU,oCAAV,CAAN;AACD;;AACD,SAAOjB,YAAP;AACD","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"],"file":"arrow-table-batch.js"}
1
+ {"version":3,"file":"arrow-table-batch.js","names":["Schema","Field","RecordBatch","Float32Vector","Float32","ColumnarTableBatchAggregator","ArrowTableBatchAggregator","constructor","schema","options","arrowSchema","getBatch","batch","getArrowSchema","arrowVectors","getArrowVectors","data","recordBatch","length","shape","batchType","arrowFields","key","field","type","Float32Array","metadata","arrowField","name","nullable","push","Error","fields","vector","arrowVector","from"],"sources":["../../../src/lib/arrow-table-batch.ts"],"sourcesContent":["import type {ArrowTableBatch} from '@loaders.gl/schema';\nimport {Schema, Field, RecordBatch, Float32Vector, Float32} from 'apache-arrow';\nimport {ColumnarTableBatchAggregator} from '@loaders.gl/schema';\n\nexport default class ArrowTableBatchAggregator extends ColumnarTableBatchAggregator {\n arrowSchema: Schema | null;\n\n constructor(schema, options) {\n super(schema, options);\n this.arrowSchema = null;\n }\n\n getBatch(): ArrowTableBatch | null {\n const batch = super.getBatch();\n if (batch) {\n // Get the arrow schema\n this.arrowSchema = this.arrowSchema || getArrowSchema(batch.schema);\n // Get arrow format vectors\n const arrowVectors = getArrowVectors(this.arrowSchema, batch.data);\n // Create the record batch\n // new RecordBatch(schema, numRows, vectors, ...);\n const recordBatch = new RecordBatch(this.arrowSchema, batch.length, arrowVectors);\n return {\n shape: 'arrow-table',\n batchType: 'data',\n data: recordBatch,\n length: batch.length\n };\n }\n\n return null;\n }\n}\n\n// Convert from a simple loaders.gl schema to an Arrow schema\nfunction getArrowSchema(schema) {\n const arrowFields: Field[] = [];\n for (const key in schema) {\n const field = schema[key];\n if (field.type === Float32Array) {\n const metadata = field; // just store the original field as metadata\n // arrow: new Field(name, nullable, metadata)\n const arrowField = new Field(field.name, new Float32(), field.nullable, metadata);\n arrowFields.push(arrowField);\n }\n }\n if (arrowFields.length === 0) {\n throw new Error('No arrow convertible fields');\n }\n\n return new Schema(arrowFields);\n}\n\n// Convert from simple loaders.gl arrays to arrow vectors\nfunction getArrowVectors(arrowSchema, data) {\n const arrowVectors: any[] = [];\n for (const field of arrowSchema.fields) {\n const vector = data[field.name];\n if (vector instanceof Float32Array) {\n const arrowVector = Float32Vector.from(vector);\n arrowVectors.push(arrowVector);\n }\n }\n if (arrowSchema.fields.length !== arrowVectors.length) {\n throw new Error('Some columns not arrow convertible');\n }\n return arrowVectors;\n}\n"],"mappings":";AACA,SAAQA,MAAM,EAAEC,KAAK,EAAEC,WAAW,EAAEC,aAAa,EAAEC,OAAO,QAAO,cAAc;AAC/E,SAAQC,4BAA4B,QAAO,oBAAoB;AAE/D,eAAe,MAAMC,yBAAyB,SAASD,4BAA4B,CAAC;EAGlFE,WAAW,CAACC,MAAM,EAAEC,OAAO,EAAE;IAC3B,KAAK,CAACD,MAAM,EAAEC,OAAO,CAAC;IAAC;IACvB,IAAI,CAACC,WAAW,GAAG,IAAI;EACzB;EAEAC,QAAQ,GAA2B;IACjC,MAAMC,KAAK,GAAG,KAAK,CAACD,QAAQ,EAAE;IAC9B,IAAIC,KAAK,EAAE;MAET,IAAI,CAACF,WAAW,GAAG,IAAI,CAACA,WAAW,IAAIG,cAAc,CAACD,KAAK,CAACJ,MAAM,CAAC;MAEnE,MAAMM,YAAY,GAAGC,eAAe,CAAC,IAAI,CAACL,WAAW,EAAEE,KAAK,CAACI,IAAI,CAAC;MAGlE,MAAMC,WAAW,GAAG,IAAIf,WAAW,CAAC,IAAI,CAACQ,WAAW,EAAEE,KAAK,CAACM,MAAM,EAAEJ,YAAY,CAAC;MACjF,OAAO;QACLK,KAAK,EAAE,aAAa;QACpBC,SAAS,EAAE,MAAM;QACjBJ,IAAI,EAAEC,WAAW;QACjBC,MAAM,EAAEN,KAAK,CAACM;MAChB,CAAC;IACH;IAEA,OAAO,IAAI;EACb;AACF;;AAGA,SAASL,cAAc,CAACL,MAAM,EAAE;EAC9B,MAAMa,WAAoB,GAAG,EAAE;EAC/B,KAAK,MAAMC,GAAG,IAAId,MAAM,EAAE;IACxB,MAAMe,KAAK,GAAGf,MAAM,CAACc,GAAG,CAAC;IACzB,IAAIC,KAAK,CAACC,IAAI,KAAKC,YAAY,EAAE;MAC/B,MAAMC,QAAQ,GAAGH,KAAK;MAEtB,MAAMI,UAAU,GAAG,IAAI1B,KAAK,CAACsB,KAAK,CAACK,IAAI,EAAE,IAAIxB,OAAO,EAAE,EAAEmB,KAAK,CAACM,QAAQ,EAAEH,QAAQ,CAAC;MACjFL,WAAW,CAACS,IAAI,CAACH,UAAU,CAAC;IAC9B;EACF;EACA,IAAIN,WAAW,CAACH,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIa,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,OAAO,IAAI/B,MAAM,CAACqB,WAAW,CAAC;AAChC;;AAGA,SAASN,eAAe,CAACL,WAAW,EAAEM,IAAI,EAAE;EAC1C,MAAMF,YAAmB,GAAG,EAAE;EAC9B,KAAK,MAAMS,KAAK,IAAIb,WAAW,CAACsB,MAAM,EAAE;IACtC,MAAMC,MAAM,GAAGjB,IAAI,CAACO,KAAK,CAACK,IAAI,CAAC;IAC/B,IAAIK,MAAM,YAAYR,YAAY,EAAE;MAClC,MAAMS,WAAW,GAAG/B,aAAa,CAACgC,IAAI,CAACF,MAAM,CAAC;MAC9CnB,YAAY,CAACgB,IAAI,CAACI,WAAW,CAAC;IAChC;EACF;EACA,IAAIxB,WAAW,CAACsB,MAAM,CAACd,MAAM,KAAKJ,YAAY,CAACI,MAAM,EAAE;IACrD,MAAM,IAAIa,KAAK,CAAC,oCAAoC,CAAC;EACvD;EACA,OAAOjB,YAAY;AACrB"}
@@ -3,13 +3,11 @@ import { VECTOR_TYPES } from '../types';
3
3
  export function encodeArrowSync(data) {
4
4
  const vectors = [];
5
5
  const arrayNames = [];
6
-
7
6
  for (const arrayData of data) {
8
7
  arrayNames.push(arrayData.name);
9
8
  const arrayVector = createVector(arrayData.array, arrayData.type);
10
9
  vectors.push(arrayVector);
11
10
  }
12
-
13
11
  const table = Table.new(vectors, arrayNames);
14
12
  const arrowBuffer = table.serialize();
15
13
  return arrowBuffer;
@@ -19,7 +17,6 @@ function createVector(array, type) {
19
17
  switch (type) {
20
18
  case VECTOR_TYPES.DATE:
21
19
  return DateVector.from(array);
22
-
23
20
  case VECTOR_TYPES.FLOAT:
24
21
  default:
25
22
  return FloatVector.from(array);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/encode-arrow.ts"],"names":["Table","FloatVector","DateVector","VECTOR_TYPES","encodeArrowSync","data","vectors","arrayNames","arrayData","push","name","arrayVector","createVector","array","type","table","new","arrowBuffer","serialize","DATE","from","FLOAT"],"mappings":"AAAA,SAAQA,KAAR,EAAeC,WAAf,EAA4BC,UAA5B,QAA6C,cAA7C;AACA,SAAsBC,YAAtB,QAAyC,UAAzC;AAeA,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAA2D;AAChE,QAAMC,OAAc,GAAG,EAAvB;AACA,QAAMC,UAAoB,GAAG,EAA7B;;AACA,OAAK,MAAMC,SAAX,IAAwBH,IAAxB,EAA8B;AAC5BE,IAAAA,UAAU,CAACE,IAAX,CAAgBD,SAAS,CAACE,IAA1B;AACA,UAAMC,WAAW,GAAGC,YAAY,CAACJ,SAAS,CAACK,KAAX,EAAkBL,SAAS,CAACM,IAA5B,CAAhC;AACAR,IAAAA,OAAO,CAACG,IAAR,CAAaE,WAAb;AACD;;AACD,QAAMI,KAAK,GAAGf,KAAK,CAACgB,GAAN,CAAUV,OAAV,EAAmBC,UAAnB,CAAd;AACA,QAAMU,WAAW,GAAGF,KAAK,CAACG,SAAN,EAApB;AACA,SAAOD,WAAP;AACD;;AAQD,SAASL,YAAT,CAAsBC,KAAtB,EAA6BC,IAA7B,EAAmC;AACjC,UAAQA,IAAR;AACE,SAAKX,YAAY,CAACgB,IAAlB;AACE,aAAOjB,UAAU,CAACkB,IAAX,CAAgBP,KAAhB,CAAP;;AACF,SAAKV,YAAY,CAACkB,KAAlB;AACA;AACE,aAAOpB,WAAW,CAACmB,IAAZ,CAAiBP,KAAjB,CAAP;AALJ;AAOD","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"],"file":"encode-arrow.js"}
1
+ {"version":3,"file":"encode-arrow.js","names":["Table","FloatVector","DateVector","VECTOR_TYPES","encodeArrowSync","data","vectors","arrayNames","arrayData","push","name","arrayVector","createVector","array","type","table","new","arrowBuffer","serialize","DATE","from","FLOAT"],"sources":["../../../src/lib/encode-arrow.ts"],"sourcesContent":["import {Table, FloatVector, DateVector} from 'apache-arrow';\nimport {AnyArrayType, VECTOR_TYPES} from '../types';\n\ntype ColumnarTable = {\n name: string;\n array: AnyArrayType;\n type: number;\n}[];\n\n/**\n * Encodes set of arrays into the Apache Arrow columnar format\n * https://arrow.apache.org/docs/format/Columnar.html#ipc-file-format\n * @param data - columns data\n * @param options - the writer options\n * @returns - encoded ArrayBuffer\n */\nexport function encodeArrowSync(data: ColumnarTable): ArrayBuffer {\n const vectors: any[] = [];\n const arrayNames: string[] = [];\n for (const arrayData of data) {\n arrayNames.push(arrayData.name);\n const arrayVector = createVector(arrayData.array, arrayData.type);\n vectors.push(arrayVector);\n }\n const table = Table.new(vectors, arrayNames);\n const arrowBuffer = table.serialize();\n return arrowBuffer;\n}\n\n/**\n * Create Arrow Vector from given data and vector type\n * @param array {import('../types').AnyArrayType} - columns data\n * @param type {number} - the writer options\n * @return a vector of one of vector's types defined in the Apache Arrow library\n */\nfunction createVector(array, type) {\n switch (type) {\n case VECTOR_TYPES.DATE:\n return DateVector.from(array);\n case VECTOR_TYPES.FLOAT:\n default:\n return FloatVector.from(array);\n }\n}\n"],"mappings":"AAAA,SAAQA,KAAK,EAAEC,WAAW,EAAEC,UAAU,QAAO,cAAc;AAC3D,SAAsBC,YAAY,QAAO,UAAU;AAenD,OAAO,SAASC,eAAe,CAACC,IAAmB,EAAe;EAChE,MAAMC,OAAc,GAAG,EAAE;EACzB,MAAMC,UAAoB,GAAG,EAAE;EAC/B,KAAK,MAAMC,SAAS,IAAIH,IAAI,EAAE;IAC5BE,UAAU,CAACE,IAAI,CAACD,SAAS,CAACE,IAAI,CAAC;IAC/B,MAAMC,WAAW,GAAGC,YAAY,CAACJ,SAAS,CAACK,KAAK,EAAEL,SAAS,CAACM,IAAI,CAAC;IACjER,OAAO,CAACG,IAAI,CAACE,WAAW,CAAC;EAC3B;EACA,MAAMI,KAAK,GAAGf,KAAK,CAACgB,GAAG,CAACV,OAAO,EAAEC,UAAU,CAAC;EAC5C,MAAMU,WAAW,GAAGF,KAAK,CAACG,SAAS,EAAE;EACrC,OAAOD,WAAW;AACpB;;AAQA,SAASL,YAAY,CAACC,KAAK,EAAEC,IAAI,EAAE;EACjC,QAAQA,IAAI;IACV,KAAKX,YAAY,CAACgB,IAAI;MACpB,OAAOjB,UAAU,CAACkB,IAAI,CAACP,KAAK,CAAC;IAC/B,KAAKV,YAAY,CAACkB,KAAK;IACvB;MACE,OAAOpB,WAAW,CAACmB,IAAI,CAACP,KAAK,CAAC;EAAC;AAErC"}