@loaders.gl/parquet 4.0.0-alpha.8 → 4.0.0-beta.1

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 (463) hide show
  1. package/dist/dist.min.js +21 -32
  2. package/dist/dist.min.js.map +3 -3
  3. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +12 -0
  4. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
  5. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +16 -0
  6. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
  7. package/dist/es5/buffer-polyfill/buffer.js +1665 -0
  8. package/dist/es5/buffer-polyfill/buffer.js.map +1 -0
  9. package/dist/es5/buffer-polyfill/index.js +27 -0
  10. package/dist/es5/buffer-polyfill/index.js.map +1 -0
  11. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +10 -0
  12. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
  13. package/dist/es5/index.js +25 -28
  14. package/dist/es5/index.js.map +1 -1
  15. package/dist/es5/lib/geo/decode-geo-column.js +53 -0
  16. package/dist/es5/lib/geo/decode-geo-column.js.map +1 -0
  17. package/dist/es5/lib/geo/decode-geo-metadata.js +52 -16
  18. package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -1
  19. package/dist/es5/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +4 -4
  20. package/dist/es5/lib/geo/geoparquet-metadata-schema.js.map +1 -0
  21. package/dist/es5/lib/geo/geoparquet-metadata-schema.json +60 -0
  22. package/dist/es5/lib/parsers/get-parquet-schema.js +41 -0
  23. package/dist/es5/lib/parsers/get-parquet-schema.js.map +1 -0
  24. package/dist/es5/lib/parsers/parse-parquet-to-columns.js +71 -72
  25. package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -1
  26. package/dist/es5/lib/parsers/parse-parquet-to-rows.js +95 -62
  27. package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -1
  28. package/dist/es5/parquet-loader.js +14 -14
  29. package/dist/es5/parquet-loader.js.map +1 -1
  30. package/dist/es5/parquet-wasm-loader.js +8 -11
  31. package/dist/es5/parquet-wasm-loader.js.map +1 -1
  32. package/dist/es5/parquet-wasm-writer.js +6 -7
  33. package/dist/es5/parquet-wasm-writer.js.map +1 -1
  34. package/dist/es5/parquet-writer.js +2 -3
  35. package/dist/es5/parquet-writer.js.map +1 -1
  36. package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
  37. package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
  38. package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -1
  39. package/dist/es5/parquetjs/parquet-thrift/index.js +75 -0
  40. package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -1
  41. package/dist/es5/parquetjs/parser/decoders.js +53 -36
  42. package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
  43. package/dist/es5/parquetjs/parser/parquet-reader.js +15 -13
  44. package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
  45. package/dist/es5/parquetjs/schema/declare.js.map +1 -1
  46. package/dist/es5/parquetjs/utils/read-utils.js +6 -7
  47. package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
  48. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js +6 -0
  49. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
  50. package/dist/esm/buffer-polyfill/buffer-polyfill.node.js +10 -0
  51. package/dist/esm/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
  52. package/dist/esm/buffer-polyfill/buffer.js +1489 -0
  53. package/dist/esm/buffer-polyfill/buffer.js.map +1 -0
  54. package/dist/esm/buffer-polyfill/index.js +4 -0
  55. package/dist/esm/buffer-polyfill/index.js.map +1 -0
  56. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js +3 -0
  57. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
  58. package/dist/esm/index.js +4 -10
  59. package/dist/esm/index.js.map +1 -1
  60. package/dist/esm/lib/geo/decode-geo-column.js +47 -0
  61. package/dist/esm/lib/geo/decode-geo-column.js.map +1 -0
  62. package/dist/esm/lib/geo/decode-geo-metadata.js +32 -5
  63. package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -1
  64. package/dist/esm/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +2 -2
  65. package/dist/esm/lib/geo/geoparquet-metadata-schema.js.map +1 -0
  66. package/dist/esm/lib/geo/geoparquet-metadata-schema.json +60 -0
  67. package/dist/esm/lib/parsers/get-parquet-schema.js +11 -0
  68. package/dist/esm/lib/parsers/get-parquet-schema.js.map +1 -0
  69. package/dist/esm/lib/parsers/parse-parquet-to-columns.js +10 -11
  70. package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -1
  71. package/dist/esm/lib/parsers/parse-parquet-to-rows.js +32 -7
  72. package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -1
  73. package/dist/esm/parquet-loader.js +12 -12
  74. package/dist/esm/parquet-loader.js.map +1 -1
  75. package/dist/esm/parquet-wasm-loader.js +7 -9
  76. package/dist/esm/parquet-wasm-loader.js.map +1 -1
  77. package/dist/esm/parquet-wasm-writer.js +6 -7
  78. package/dist/esm/parquet-wasm-writer.js.map +1 -1
  79. package/dist/esm/parquet-writer.js +2 -3
  80. package/dist/esm/parquet-writer.js.map +1 -1
  81. package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
  82. package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
  83. package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -1
  84. package/dist/esm/parquetjs/parquet-thrift/index.js +2 -0
  85. package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -1
  86. package/dist/esm/parquetjs/parser/decoders.js +48 -32
  87. package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
  88. package/dist/esm/parquetjs/parser/parquet-reader.js +14 -12
  89. package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
  90. package/dist/esm/parquetjs/schema/declare.js.map +1 -1
  91. package/dist/esm/parquetjs/utils/read-utils.js +1 -1
  92. package/dist/esm/parquetjs/utils/read-utils.js.map +1 -1
  93. package/dist/parquet-worker.js +23 -34
  94. package/dist/parquet-worker.js.map +3 -3
  95. package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts +4 -0
  96. package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts.map +1 -0
  97. package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts +4 -0
  98. package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts.map +1 -0
  99. package/dist/src/buffer-polyfill/buffer.d.ts +222 -0
  100. package/dist/src/buffer-polyfill/buffer.d.ts.map +1 -0
  101. package/dist/src/buffer-polyfill/index.d.ts +4 -0
  102. package/dist/src/buffer-polyfill/index.d.ts.map +1 -0
  103. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts +30 -0
  104. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts.map +1 -0
  105. package/dist/src/bundle.d.ts.map +1 -0
  106. package/dist/src/constants.d.ts.map +1 -0
  107. package/dist/{index.d.ts → src/index.d.ts} +6 -10
  108. package/dist/src/index.d.ts.map +1 -0
  109. package/dist/src/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
  110. package/dist/src/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
  111. package/dist/src/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
  112. package/dist/src/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
  113. package/dist/src/lib/geo/decode-geo-column.d.ts +4 -0
  114. package/dist/src/lib/geo/decode-geo-column.d.ts.map +1 -0
  115. package/dist/src/lib/geo/decode-geo-metadata.d.ts +44 -0
  116. package/dist/src/lib/geo/decode-geo-metadata.d.ts.map +1 -0
  117. package/dist/{lib/geo/geoparquet-schema.d.ts → src/lib/geo/geoparquet-metadata-schema.d.ts} +2 -3
  118. package/dist/src/lib/geo/geoparquet-metadata-schema.d.ts.map +1 -0
  119. package/dist/src/lib/parsers/get-parquet-schema.d.ts +4 -0
  120. package/dist/src/lib/parsers/get-parquet-schema.d.ts.map +1 -0
  121. package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts +6 -0
  122. package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
  123. package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts +6 -0
  124. package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
  125. package/dist/src/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
  126. package/dist/src/lib/wasm/load-wasm/index.d.ts.map +1 -0
  127. package/dist/src/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
  128. package/dist/src/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
  129. package/dist/src/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
  130. package/dist/src/parquet-loader.d.ts +22 -0
  131. package/dist/src/parquet-loader.d.ts.map +1 -0
  132. package/dist/src/parquet-wasm-loader.d.ts +12 -0
  133. package/dist/src/parquet-wasm-loader.d.ts.map +1 -0
  134. package/dist/src/parquet-wasm-writer.d.ts +6 -0
  135. package/dist/src/parquet-wasm-writer.d.ts.map +1 -0
  136. package/dist/src/parquet-writer.d.ts.map +1 -0
  137. package/dist/src/parquetjs/codecs/declare.d.ts.map +1 -0
  138. package/dist/src/parquetjs/codecs/dictionary.d.ts.map +1 -0
  139. package/dist/src/parquetjs/codecs/index.d.ts.map +1 -0
  140. package/dist/src/parquetjs/codecs/plain.d.ts.map +1 -0
  141. package/dist/src/parquetjs/codecs/rle.d.ts.map +1 -0
  142. package/dist/src/parquetjs/compression.d.ts.map +1 -0
  143. package/dist/src/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
  144. package/dist/src/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
  145. package/dist/src/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
  146. package/dist/src/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
  147. package/dist/src/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
  148. package/dist/src/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
  149. package/dist/src/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
  150. package/dist/src/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
  151. package/dist/src/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
  152. package/dist/src/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
  153. package/dist/src/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
  154. package/dist/src/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
  155. package/dist/src/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
  156. package/dist/src/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
  157. package/dist/src/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
  158. package/dist/src/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
  159. package/dist/src/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
  160. package/dist/src/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
  161. package/dist/src/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
  162. package/dist/src/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
  163. package/dist/src/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
  164. package/dist/src/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
  165. package/dist/src/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
  166. package/dist/src/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
  167. package/dist/src/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
  168. package/dist/src/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
  169. package/dist/src/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
  170. package/dist/src/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
  171. package/dist/src/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
  172. package/dist/src/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
  173. package/dist/src/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
  174. package/dist/src/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
  175. package/dist/src/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
  176. package/dist/src/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
  177. package/dist/src/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
  178. package/dist/src/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
  179. package/dist/src/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
  180. package/dist/src/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
  181. package/dist/src/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
  182. package/dist/src/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
  183. package/dist/src/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
  184. package/dist/src/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
  185. package/dist/src/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
  186. package/dist/src/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
  187. package/dist/{parquetjs → src/parquetjs}/parquet-thrift/index.d.ts +2 -0
  188. package/dist/src/parquetjs/parquet-thrift/index.d.ts.map +1 -0
  189. package/dist/{parquetjs → src/parquetjs}/parser/decoders.d.ts +4 -4
  190. package/dist/src/parquetjs/parser/decoders.d.ts.map +1 -0
  191. package/dist/{parquetjs → src/parquetjs}/parser/parquet-reader.d.ts +5 -3
  192. package/dist/src/parquetjs/parser/parquet-reader.d.ts.map +1 -0
  193. package/dist/{parquetjs → src/parquetjs}/schema/declare.d.ts +3 -1
  194. package/dist/src/parquetjs/schema/declare.d.ts.map +1 -0
  195. package/dist/src/parquetjs/schema/schema.d.ts.map +1 -0
  196. package/dist/src/parquetjs/schema/shred.d.ts.map +1 -0
  197. package/dist/src/parquetjs/schema/types.d.ts.map +1 -0
  198. package/dist/src/parquetjs/utils/file-utils.d.ts.map +1 -0
  199. package/dist/src/parquetjs/utils/read-utils.d.ts.map +1 -0
  200. package/dist/src/workers/parquet-worker.d.ts.map +1 -0
  201. package/dist/tsconfig.tsbuildinfo +1 -0
  202. package/package.json +21 -9
  203. package/src/buffer-polyfill/buffer-polyfill.browser.ts +11 -0
  204. package/src/buffer-polyfill/buffer-polyfill.node.ts +15 -0
  205. package/src/buffer-polyfill/buffer.ts +2207 -0
  206. package/src/buffer-polyfill/index.ts +8 -0
  207. package/src/buffer-polyfill/install-buffer-polyfill.ts +3 -0
  208. package/src/index.ts +31 -17
  209. package/src/lib/geo/decode-geo-column.ts +54 -0
  210. package/src/lib/geo/decode-geo-metadata.ts +81 -15
  211. package/src/lib/geo/geoparquet-metadata-schema.json +60 -0
  212. package/src/lib/geo/{geoparquet-schema.ts → geoparquet-metadata-schema.ts} +1 -1
  213. package/src/lib/parsers/get-parquet-schema.ts +14 -0
  214. package/src/lib/parsers/parse-parquet-to-columns.ts +15 -13
  215. package/src/lib/parsers/parse-parquet-to-rows.ts +39 -11
  216. package/src/parquet-loader.ts +29 -16
  217. package/src/parquet-wasm-loader.ts +13 -13
  218. package/src/parquet-wasm-writer.ts +10 -8
  219. package/src/parquet-writer.ts +1 -3
  220. package/src/parquetjs/codecs/plain.ts +1 -0
  221. package/src/parquetjs/codecs/rle.ts +2 -0
  222. package/src/parquetjs/encoder/parquet-encoder.ts +1 -0
  223. package/src/parquetjs/parquet-thrift/index.ts +4 -0
  224. package/src/parquetjs/parser/decoders.ts +63 -41
  225. package/src/parquetjs/parser/parquet-reader.ts +19 -14
  226. package/src/parquetjs/schema/declare.ts +3 -1
  227. package/src/parquetjs/utils/read-utils.ts +2 -2
  228. package/dist/bundle.d.ts.map +0 -1
  229. package/dist/bundle.js +0 -5
  230. package/dist/constants.d.ts.map +0 -1
  231. package/dist/constants.js +0 -18
  232. package/dist/es5/lib/geo/geoparquet-schema.js.map +0 -1
  233. package/dist/esm/lib/geo/geoparquet-schema.js.map +0 -1
  234. package/dist/index.d.ts.map +0 -1
  235. package/dist/index.js +0 -58
  236. package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
  237. package/dist/lib/arrow/convert-columns-to-row-group.js +0 -1
  238. package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
  239. package/dist/lib/arrow/convert-row-group-to-columns.js +0 -12
  240. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
  241. package/dist/lib/arrow/convert-schema-from-parquet.js +0 -86
  242. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
  243. package/dist/lib/arrow/convert-schema-to-parquet.js +0 -71
  244. package/dist/lib/geo/decode-geo-metadata.d.ts +0 -31
  245. package/dist/lib/geo/decode-geo-metadata.d.ts.map +0 -1
  246. package/dist/lib/geo/decode-geo-metadata.js +0 -77
  247. package/dist/lib/geo/geoparquet-schema.d.ts.map +0 -1
  248. package/dist/lib/geo/geoparquet-schema.js +0 -69
  249. package/dist/lib/parsers/parse-parquet-to-columns.d.ts +0 -5
  250. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +0 -1
  251. package/dist/lib/parsers/parse-parquet-to-columns.js +0 -46
  252. package/dist/lib/parsers/parse-parquet-to-rows.d.ts +0 -5
  253. package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
  254. package/dist/lib/parsers/parse-parquet-to-rows.js +0 -37
  255. package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
  256. package/dist/lib/wasm/encode-parquet-wasm.js +0 -30
  257. package/dist/lib/wasm/load-wasm/index.d.ts.map +0 -1
  258. package/dist/lib/wasm/load-wasm/index.js +0 -5
  259. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
  260. package/dist/lib/wasm/load-wasm/load-wasm-browser.js +0 -38
  261. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
  262. package/dist/lib/wasm/load-wasm/load-wasm-node.js +0 -31
  263. package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
  264. package/dist/lib/wasm/parse-parquet-wasm.js +0 -27
  265. package/dist/parquet-loader.d.ts +0 -14
  266. package/dist/parquet-loader.d.ts.map +0 -1
  267. package/dist/parquet-loader.js +0 -41
  268. package/dist/parquet-wasm-loader.d.ts +0 -23
  269. package/dist/parquet-wasm-loader.d.ts.map +0 -1
  270. package/dist/parquet-wasm-loader.js +0 -27
  271. package/dist/parquet-wasm-writer.d.ts +0 -3
  272. package/dist/parquet-wasm-writer.d.ts.map +0 -1
  273. package/dist/parquet-wasm-writer.js +0 -23
  274. package/dist/parquet-writer.d.ts.map +0 -1
  275. package/dist/parquet-writer.js +0 -22
  276. package/dist/parquetjs/codecs/declare.d.ts.map +0 -1
  277. package/dist/parquetjs/codecs/declare.js +0 -2
  278. package/dist/parquetjs/codecs/dictionary.d.ts.map +0 -1
  279. package/dist/parquetjs/codecs/dictionary.js +0 -14
  280. package/dist/parquetjs/codecs/index.d.ts.map +0 -1
  281. package/dist/parquetjs/codecs/index.js +0 -55
  282. package/dist/parquetjs/codecs/plain.d.ts.map +0 -1
  283. package/dist/parquetjs/codecs/plain.js +0 -211
  284. package/dist/parquetjs/codecs/rle.d.ts.map +0 -1
  285. package/dist/parquetjs/codecs/rle.js +0 -145
  286. package/dist/parquetjs/compression.d.ts.map +0 -1
  287. package/dist/parquetjs/compression.js +0 -183
  288. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
  289. package/dist/parquetjs/encoder/parquet-encoder.js +0 -484
  290. package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
  291. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +0 -15
  292. package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
  293. package/dist/parquetjs/parquet-thrift/BsonType.js +0 -62
  294. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
  295. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +0 -211
  296. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
  297. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +0 -217
  298. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
  299. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +0 -402
  300. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
  301. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +0 -108
  302. package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
  303. package/dist/parquetjs/parquet-thrift/CompressionCodec.js +0 -20
  304. package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
  305. package/dist/parquetjs/parquet-thrift/ConvertedType.js +0 -34
  306. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
  307. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +0 -170
  308. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
  309. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -230
  310. package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
  311. package/dist/parquetjs/parquet-thrift/DateType.js +0 -62
  312. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
  313. package/dist/parquetjs/parquet-thrift/DecimalType.js +0 -109
  314. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
  315. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -126
  316. package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
  317. package/dist/parquetjs/parquet-thrift/Encoding.js +0 -20
  318. package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
  319. package/dist/parquetjs/parquet-thrift/EnumType.js +0 -62
  320. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
  321. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -15
  322. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
  323. package/dist/parquetjs/parquet-thrift/FileMetaData.js +0 -260
  324. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
  325. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +0 -62
  326. package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
  327. package/dist/parquetjs/parquet-thrift/IntType.js +0 -109
  328. package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
  329. package/dist/parquetjs/parquet-thrift/JsonType.js +0 -62
  330. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
  331. package/dist/parquetjs/parquet-thrift/KeyValue.js +0 -106
  332. package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
  333. package/dist/parquetjs/parquet-thrift/ListType.js +0 -62
  334. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
  335. package/dist/parquetjs/parquet-thrift/LogicalType.js +0 -384
  336. package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
  337. package/dist/parquetjs/parquet-thrift/MapType.js +0 -62
  338. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
  339. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +0 -62
  340. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
  341. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +0 -62
  342. package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
  343. package/dist/parquetjs/parquet-thrift/NullType.js +0 -62
  344. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
  345. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +0 -101
  346. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
  347. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +0 -131
  348. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
  349. package/dist/parquetjs/parquet-thrift/PageHeader.js +0 -220
  350. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
  351. package/dist/parquetjs/parquet-thrift/PageLocation.js +0 -145
  352. package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
  353. package/dist/parquetjs/parquet-thrift/PageType.js +0 -16
  354. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
  355. package/dist/parquetjs/parquet-thrift/RowGroup.js +0 -186
  356. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
  357. package/dist/parquetjs/parquet-thrift/SchemaElement.js +0 -243
  358. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
  359. package/dist/parquetjs/parquet-thrift/SortingColumn.js +0 -131
  360. package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
  361. package/dist/parquetjs/parquet-thrift/Statistics.js +0 -180
  362. package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
  363. package/dist/parquetjs/parquet-thrift/StringType.js +0 -62
  364. package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
  365. package/dist/parquetjs/parquet-thrift/TimeType.js +0 -110
  366. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
  367. package/dist/parquetjs/parquet-thrift/TimeUnit.js +0 -131
  368. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
  369. package/dist/parquetjs/parquet-thrift/TimestampType.js +0 -110
  370. package/dist/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
  371. package/dist/parquetjs/parquet-thrift/Type.js +0 -20
  372. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
  373. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -62
  374. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
  375. package/dist/parquetjs/parquet-thrift/UUIDType.js +0 -62
  376. package/dist/parquetjs/parquet-thrift/index.d.ts.map +0 -1
  377. package/dist/parquetjs/parquet-thrift/index.js +0 -65
  378. package/dist/parquetjs/parser/decoders.d.ts.map +0 -1
  379. package/dist/parquetjs/parser/decoders.js +0 -318
  380. package/dist/parquetjs/parser/parquet-reader.d.ts.map +0 -1
  381. package/dist/parquetjs/parser/parquet-reader.js +0 -200
  382. package/dist/parquetjs/schema/declare.d.ts.map +0 -1
  383. package/dist/parquetjs/schema/declare.js +0 -12
  384. package/dist/parquetjs/schema/schema.d.ts.map +0 -1
  385. package/dist/parquetjs/schema/schema.js +0 -162
  386. package/dist/parquetjs/schema/shred.d.ts.map +0 -1
  387. package/dist/parquetjs/schema/shred.js +0 -355
  388. package/dist/parquetjs/schema/types.d.ts.map +0 -1
  389. package/dist/parquetjs/schema/types.js +0 -416
  390. package/dist/parquetjs/utils/file-utils.d.ts.map +0 -1
  391. package/dist/parquetjs/utils/file-utils.js +0 -43
  392. package/dist/parquetjs/utils/read-utils.d.ts.map +0 -1
  393. package/dist/parquetjs/utils/read-utils.js +0 -109
  394. package/dist/workers/parquet-worker.d.ts.map +0 -1
  395. package/dist/workers/parquet-worker.js +0 -5
  396. /package/dist/{bundle.d.ts → src/bundle.d.ts} +0 -0
  397. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  398. /package/dist/{lib → src/lib}/arrow/convert-columns-to-row-group.d.ts +0 -0
  399. /package/dist/{lib → src/lib}/arrow/convert-row-group-to-columns.d.ts +0 -0
  400. /package/dist/{lib → src/lib}/arrow/convert-schema-from-parquet.d.ts +0 -0
  401. /package/dist/{lib → src/lib}/arrow/convert-schema-to-parquet.d.ts +0 -0
  402. /package/dist/{lib → src/lib}/wasm/encode-parquet-wasm.d.ts +0 -0
  403. /package/dist/{lib → src/lib}/wasm/load-wasm/index.d.ts +0 -0
  404. /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-browser.d.ts +0 -0
  405. /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-node.d.ts +0 -0
  406. /package/dist/{lib → src/lib}/wasm/parse-parquet-wasm.d.ts +0 -0
  407. /package/dist/{parquet-writer.d.ts → src/parquet-writer.d.ts} +0 -0
  408. /package/dist/{parquetjs → src/parquetjs}/codecs/declare.d.ts +0 -0
  409. /package/dist/{parquetjs → src/parquetjs}/codecs/dictionary.d.ts +0 -0
  410. /package/dist/{parquetjs → src/parquetjs}/codecs/index.d.ts +0 -0
  411. /package/dist/{parquetjs → src/parquetjs}/codecs/plain.d.ts +0 -0
  412. /package/dist/{parquetjs → src/parquetjs}/codecs/rle.d.ts +0 -0
  413. /package/dist/{parquetjs → src/parquetjs}/compression.d.ts +0 -0
  414. /package/dist/{parquetjs → src/parquetjs}/encoder/parquet-encoder.d.ts +0 -0
  415. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BoundaryOrder.d.ts +0 -0
  416. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BsonType.d.ts +0 -0
  417. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnChunk.d.ts +0 -0
  418. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnIndex.d.ts +0 -0
  419. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnMetaData.d.ts +0 -0
  420. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnOrder.d.ts +0 -0
  421. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/CompressionCodec.d.ts +0 -0
  422. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ConvertedType.d.ts +0 -0
  423. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeader.d.ts +0 -0
  424. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeaderV2.d.ts +0 -0
  425. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DateType.d.ts +0 -0
  426. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DecimalType.d.ts +0 -0
  427. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DictionaryPageHeader.d.ts +0 -0
  428. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Encoding.d.ts +0 -0
  429. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/EnumType.d.ts +0 -0
  430. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FieldRepetitionType.d.ts +0 -0
  431. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FileMetaData.d.ts +0 -0
  432. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IndexPageHeader.d.ts +0 -0
  433. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IntType.d.ts +0 -0
  434. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/JsonType.d.ts +0 -0
  435. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/KeyValue.d.ts +0 -0
  436. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ListType.d.ts +0 -0
  437. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/LogicalType.d.ts +0 -0
  438. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MapType.d.ts +0 -0
  439. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MicroSeconds.d.ts +0 -0
  440. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MilliSeconds.d.ts +0 -0
  441. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/NullType.d.ts +0 -0
  442. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/OffsetIndex.d.ts +0 -0
  443. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageEncodingStats.d.ts +0 -0
  444. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageHeader.d.ts +0 -0
  445. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageLocation.d.ts +0 -0
  446. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageType.d.ts +0 -0
  447. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/RowGroup.d.ts +0 -0
  448. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SchemaElement.d.ts +0 -0
  449. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SortingColumn.d.ts +0 -0
  450. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Statistics.d.ts +0 -0
  451. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/StringType.d.ts +0 -0
  452. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeType.d.ts +0 -0
  453. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeUnit.d.ts +0 -0
  454. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimestampType.d.ts +0 -0
  455. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Type.d.ts +0 -0
  456. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TypeDefinedOrder.d.ts +0 -0
  457. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/UUIDType.d.ts +0 -0
  458. /package/dist/{parquetjs → src/parquetjs}/schema/schema.d.ts +0 -0
  459. /package/dist/{parquetjs → src/parquetjs}/schema/shred.d.ts +0 -0
  460. /package/dist/{parquetjs → src/parquetjs}/schema/types.d.ts +0 -0
  461. /package/dist/{parquetjs → src/parquetjs}/utils/file-utils.d.ts +0 -0
  462. /package/dist/{parquetjs → src/parquetjs}/utils/read-utils.d.ts +0 -0
  463. /package/dist/{workers → src/workers}/parquet-worker.d.ts +0 -0
@@ -0,0 +1,60 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "GeoParquet",
4
+ "description": "Parquet metadata included in the geo field.",
5
+ "type": "object",
6
+ "required": ["version", "primary_column", "columns"],
7
+ "properties": {
8
+ "version": {"type": "string", "const": "1.0.0-beta.1"},
9
+ "primary_column": {"type": "string", "minLength": 1},
10
+ "columns": {
11
+ "type": "object",
12
+ "minProperties": 1,
13
+ "patternProperties": {
14
+ ".+": {
15
+ "type": "object",
16
+ "required": ["encoding", "geometry_types"],
17
+ "properties": {
18
+ "encoding": {"type": "string", "const": "WKB"},
19
+ "geometry_types": {
20
+ "type": "array",
21
+ "uniqueItems": true,
22
+ "items": {
23
+ "type": "string",
24
+ "pattern": "^(GeometryCollection|(Multi)?(Point|LineString|Polygon))( Z)?$"
25
+ }
26
+ },
27
+ "crs": {
28
+ "oneOf": [
29
+ {
30
+ "$ref": "https://proj.org/schemas/v0.5/projjson.schema.json"
31
+ },
32
+ {"type": "null"}
33
+ ]
34
+ },
35
+ "edges": {"type": "string", "enum": ["planar", "spherical"]},
36
+ "orientation": {"type": "string", "const": "counterclockwise"},
37
+ "bbox": {
38
+ "type": "array",
39
+ "items": {"type": "number"},
40
+ "oneOf": [
41
+ {
42
+ "description": "2D bbox consisting of (xmin, ymin, xmax, ymax)",
43
+ "minItems": 4,
44
+ "maxItems": 4
45
+ },
46
+ {
47
+ "description": "3D bbox consisting of (xmin, ymin, zmin, xmax, ymax, zmax)",
48
+ "minItems": 6,
49
+ "maxItems": 6
50
+ }
51
+ ]
52
+ },
53
+ "epoch": {"type": "number"}
54
+ }
55
+ }
56
+ },
57
+ "additionalProperties": false
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,11 @@
1
+ import { convertParquetSchema } from '../arrow/convert-schema-from-parquet';
2
+ import { unpackGeoMetadata, unpackJSONStringMetadata } from '../geo/decode-geo-metadata';
3
+ export async function getSchemaFromParquetReader(reader) {
4
+ const parquetSchema = await reader.getSchema();
5
+ const parquetMetadata = await reader.getFileMetadata();
6
+ const schema = convertParquetSchema(parquetSchema, parquetMetadata);
7
+ unpackGeoMetadata(schema);
8
+ unpackJSONStringMetadata(schema, 'pandas');
9
+ return schema;
10
+ }
11
+ //# sourceMappingURL=get-parquet-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-parquet-schema.js","names":["convertParquetSchema","unpackGeoMetadata","unpackJSONStringMetadata","getSchemaFromParquetReader","reader","parquetSchema","getSchema","parquetMetadata","getFileMetadata","schema"],"sources":["../../../../src/lib/parsers/get-parquet-schema.ts"],"sourcesContent":["// loaders.gl\nimport {Schema} from '@loaders.gl/schema';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {convertParquetSchema} from '../arrow/convert-schema-from-parquet';\nimport {unpackGeoMetadata, unpackJSONStringMetadata} from '../geo/decode-geo-metadata';\n\nexport async function getSchemaFromParquetReader(reader: ParquetReader): Promise<Schema> {\n const parquetSchema = await reader.getSchema();\n const parquetMetadata = await reader.getFileMetadata();\n const schema = convertParquetSchema(parquetSchema, parquetMetadata);\n unpackGeoMetadata(schema);\n unpackJSONStringMetadata(schema, 'pandas');\n return schema;\n}\n"],"mappings":"AAGA,SAAQA,oBAAoB,QAAO,sCAAsC;AACzE,SAAQC,iBAAiB,EAAEC,wBAAwB,QAAO,4BAA4B;AAEtF,OAAO,eAAeC,0BAA0BA,CAACC,MAAqB,EAAmB;EACvF,MAAMC,aAAa,GAAG,MAAMD,MAAM,CAACE,SAAS,CAAC,CAAC;EAC9C,MAAMC,eAAe,GAAG,MAAMH,MAAM,CAACI,eAAe,CAAC,CAAC;EACtD,MAAMC,MAAM,GAAGT,oBAAoB,CAACK,aAAa,EAAEE,eAAe,CAAC;EACnEN,iBAAiB,CAACQ,MAAM,CAAC;EACzBP,wBAAwB,CAACO,MAAM,EAAE,QAAQ,CAAC;EAC1C,OAAOA,MAAM;AACf"}
@@ -1,11 +1,14 @@
1
1
  import { makeReadableFile } from '@loaders.gl/loader-utils';
2
2
  import { ParquetReader } from '../../parquetjs/parser/parquet-reader';
3
- import { convertParquetSchema } from '../arrow/convert-schema-from-parquet';
4
3
  import { materializeColumns } from '../../parquetjs/schema/shred';
5
- import { unpackGeoMetadata } from '../geo/decode-geo-metadata';
4
+ import { getSchemaFromParquetReader } from './get-parquet-schema';
5
+ import { installBufferPolyfill } from '../../buffer-polyfill';
6
6
  export async function parseParquetInColumns(arrayBuffer, options) {
7
+ installBufferPolyfill();
7
8
  const blob = new Blob([arrayBuffer]);
8
- for await (const batch of parseParquetFileInColumnarBatches(blob, options)) {
9
+ const file = makeReadableFile(blob);
10
+ const reader = new ParquetReader(file);
11
+ for await (const batch of parseParquetFileInColumnarBatches(reader, options)) {
9
12
  return {
10
13
  shape: 'columnar-table',
11
14
  schema: batch.schema,
@@ -14,19 +17,15 @@ export async function parseParquetInColumns(arrayBuffer, options) {
14
17
  }
15
18
  throw new Error('empty table');
16
19
  }
17
- export async function* parseParquetFileInColumnarBatches(blob, options) {
18
- const file = makeReadableFile(blob);
19
- const reader = new ParquetReader(file);
20
+ export async function* parseParquetFileInColumnarBatches(reader, options) {
21
+ const schema = await getSchemaFromParquetReader(reader);
20
22
  const parquetSchema = await reader.getSchema();
21
- const parquetMetadata = await reader.getFileMetadata();
22
- const schema = convertParquetSchema(parquetSchema, parquetMetadata);
23
- unpackGeoMetadata(schema);
24
23
  const rowGroups = reader.rowGroupIterator(options === null || options === void 0 ? void 0 : options.parquet);
25
24
  for await (const rowGroup of rowGroups) {
26
- yield convertRowGroupToTableBatch(parquetSchema, rowGroup, schema);
25
+ yield convertRowGroupToTableBatch(rowGroup, parquetSchema, schema);
27
26
  }
28
27
  }
29
- function convertRowGroupToTableBatch(parquetSchema, rowGroup, schema) {
28
+ function convertRowGroupToTableBatch(rowGroup, parquetSchema, schema) {
30
29
  const data = materializeColumns(parquetSchema, rowGroup);
31
30
  return {
32
31
  shape: 'columnar-table',
@@ -1 +1 @@
1
- {"version":3,"file":"parse-parquet-to-columns.js","names":["makeReadableFile","ParquetReader","convertParquetSchema","materializeColumns","unpackGeoMetadata","parseParquetInColumns","arrayBuffer","options","blob","Blob","batch","parseParquetFileInColumnarBatches","shape","schema","data","Error","file","reader","parquetSchema","getSchema","parquetMetadata","getFileMetadata","rowGroups","rowGroupIterator","parquet","rowGroup","convertRowGroupToTableBatch","batchType","length","rowCount"],"sources":["../../../../src/lib/parsers/parse-parquet-to-columns.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// import type {LoaderWithParser, Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {ColumnarTable, ColumnarTableBatch, Schema} from '@loaders.gl/schema';\nimport {makeReadableFile} from '@loaders.gl/loader-utils';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {ParquetRowGroup} from '../../parquetjs/schema/declare';\nimport {ParquetSchema} from '../../parquetjs/schema/schema';\nimport {convertParquetSchema} from '../arrow/convert-schema-from-parquet';\nimport {materializeColumns} from '../../parquetjs/schema/shred';\n// import {convertParquetRowGroupToColumns} from '../arrow/convert-row-group-to-columns';\nimport {unpackGeoMetadata} from '../geo/decode-geo-metadata';\n\nexport async function parseParquetInColumns(\n arrayBuffer: ArrayBuffer,\n options?: ParquetLoaderOptions\n): Promise<ColumnarTable> {\n const blob = new Blob([arrayBuffer]);\n for await (const batch of parseParquetFileInColumnarBatches(blob, options)) {\n return {\n shape: 'columnar-table',\n schema: batch.schema,\n data: batch.data\n };\n }\n throw new Error('empty table');\n}\n\nexport async function* parseParquetFileInColumnarBatches(\n blob: Blob,\n options?: ParquetLoaderOptions\n): AsyncIterable<ColumnarTableBatch> {\n const file = makeReadableFile(blob);\n const reader = new ParquetReader(file);\n const parquetSchema = await reader.getSchema();\n const parquetMetadata = await reader.getFileMetadata();\n const schema = convertParquetSchema(parquetSchema, parquetMetadata);\n unpackGeoMetadata(schema);\n const rowGroups = reader.rowGroupIterator(options?.parquet);\n for await (const rowGroup of rowGroups) {\n yield convertRowGroupToTableBatch(parquetSchema, rowGroup, schema);\n }\n}\n\nfunction convertRowGroupToTableBatch(\n parquetSchema: ParquetSchema,\n rowGroup: ParquetRowGroup,\n schema: Schema\n): ColumnarTableBatch {\n // const data = convertParquetRowGroupToColumns(schema, rowGroup);\n const data = materializeColumns(parquetSchema, rowGroup);\n return {\n shape: 'columnar-table',\n batchType: 'data',\n schema,\n data,\n length: rowGroup.rowCount\n };\n}\n"],"mappings":"AAIA,SAAQA,gBAAgB,QAAO,0BAA0B;AAEzD,SAAQC,aAAa,QAAO,uCAAuC;AAGnE,SAAQC,oBAAoB,QAAO,sCAAsC;AACzE,SAAQC,kBAAkB,QAAO,8BAA8B;AAE/D,SAAQC,iBAAiB,QAAO,4BAA4B;AAE5D,OAAO,eAAeC,qBAAqBA,CACzCC,WAAwB,EACxBC,OAA8B,EACN;EACxB,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAAC,CAACH,WAAW,CAAC,CAAC;EACpC,WAAW,MAAMI,KAAK,IAAIC,iCAAiC,CAACH,IAAI,EAAED,OAAO,CAAC,EAAE;IAC1E,OAAO;MACLK,KAAK,EAAE,gBAAgB;MACvBC,MAAM,EAAEH,KAAK,CAACG,MAAM;MACpBC,IAAI,EAAEJ,KAAK,CAACI;IACd,CAAC;EACH;EACA,MAAM,IAAIC,KAAK,CAAC,aAAa,CAAC;AAChC;AAEA,OAAO,gBAAgBJ,iCAAiCA,CACtDH,IAAU,EACVD,OAA8B,EACK;EACnC,MAAMS,IAAI,GAAGhB,gBAAgB,CAACQ,IAAI,CAAC;EACnC,MAAMS,MAAM,GAAG,IAAIhB,aAAa,CAACe,IAAI,CAAC;EACtC,MAAME,aAAa,GAAG,MAAMD,MAAM,CAACE,SAAS,CAAC,CAAC;EAC9C,MAAMC,eAAe,GAAG,MAAMH,MAAM,CAACI,eAAe,CAAC,CAAC;EACtD,MAAMR,MAAM,GAAGX,oBAAoB,CAACgB,aAAa,EAAEE,eAAe,CAAC;EACnEhB,iBAAiB,CAACS,MAAM,CAAC;EACzB,MAAMS,SAAS,GAAGL,MAAM,CAACM,gBAAgB,CAAChB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiB,OAAO,CAAC;EAC3D,WAAW,MAAMC,QAAQ,IAAIH,SAAS,EAAE;IACtC,MAAMI,2BAA2B,CAACR,aAAa,EAAEO,QAAQ,EAAEZ,MAAM,CAAC;EACpE;AACF;AAEA,SAASa,2BAA2BA,CAClCR,aAA4B,EAC5BO,QAAyB,EACzBZ,MAAc,EACM;EAEpB,MAAMC,IAAI,GAAGX,kBAAkB,CAACe,aAAa,EAAEO,QAAQ,CAAC;EACxD,OAAO;IACLb,KAAK,EAAE,gBAAgB;IACvBe,SAAS,EAAE,MAAM;IACjBd,MAAM;IACNC,IAAI;IACJc,MAAM,EAAEH,QAAQ,CAACI;EACnB,CAAC;AACH"}
1
+ {"version":3,"file":"parse-parquet-to-columns.js","names":["makeReadableFile","ParquetReader","materializeColumns","getSchemaFromParquetReader","installBufferPolyfill","parseParquetInColumns","arrayBuffer","options","blob","Blob","file","reader","batch","parseParquetFileInColumnarBatches","shape","schema","data","Error","parquetSchema","getSchema","rowGroups","rowGroupIterator","parquet","rowGroup","convertRowGroupToTableBatch","batchType","length","rowCount"],"sources":["../../../../src/lib/parsers/parse-parquet-to-columns.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {ColumnarTable, ColumnarTableBatch, Schema} from '@loaders.gl/schema';\nimport {makeReadableFile} from '@loaders.gl/loader-utils';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {ParquetRowGroup} from '../../parquetjs/schema/declare';\nimport {ParquetSchema} from '../../parquetjs/schema/schema';\nimport {materializeColumns} from '../../parquetjs/schema/shred';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../buffer-polyfill';\n\nexport async function parseParquetInColumns(\n arrayBuffer: ArrayBuffer,\n options?: ParquetLoaderOptions\n): Promise<ColumnarTable> {\n installBufferPolyfill();\n const blob = new Blob([arrayBuffer]);\n const file = makeReadableFile(blob);\n const reader = new ParquetReader(file);\n\n for await (const batch of parseParquetFileInColumnarBatches(reader, options)) {\n return {\n shape: 'columnar-table',\n schema: batch.schema,\n data: batch.data\n };\n }\n throw new Error('empty table');\n}\n\nexport async function* parseParquetFileInColumnarBatches(\n reader: ParquetReader,\n options?: ParquetLoaderOptions\n): AsyncIterable<ColumnarTableBatch> {\n // Extract schema and geo metadata\n const schema = await getSchemaFromParquetReader(reader);\n\n const parquetSchema = await reader.getSchema();\n\n // Iterate over row batches\n const rowGroups = reader.rowGroupIterator(options?.parquet);\n for await (const rowGroup of rowGroups) {\n yield convertRowGroupToTableBatch(rowGroup, parquetSchema, schema);\n }\n}\n\nfunction convertRowGroupToTableBatch(\n rowGroup: ParquetRowGroup,\n parquetSchema: ParquetSchema,\n schema: Schema\n): ColumnarTableBatch {\n // const data = convertParquetRowGroupToColumns(schema, rowGroup);\n const data = materializeColumns(parquetSchema, rowGroup);\n return {\n shape: 'columnar-table',\n batchType: 'data',\n schema,\n data,\n length: rowGroup.rowCount\n };\n}\n"],"mappings":"AAGA,SAAQA,gBAAgB,QAAO,0BAA0B;AAEzD,SAAQC,aAAa,QAAO,uCAAuC;AAGnE,SAAQC,kBAAkB,QAAO,8BAA8B;AAC/D,SAAQC,0BAA0B,QAAO,sBAAsB;AAC/D,SAAQC,qBAAqB,QAAO,uBAAuB;AAE3D,OAAO,eAAeC,qBAAqBA,CACzCC,WAAwB,EACxBC,OAA8B,EACN;EACxBH,qBAAqB,CAAC,CAAC;EACvB,MAAMI,IAAI,GAAG,IAAIC,IAAI,CAAC,CAACH,WAAW,CAAC,CAAC;EACpC,MAAMI,IAAI,GAAGV,gBAAgB,CAACQ,IAAI,CAAC;EACnC,MAAMG,MAAM,GAAG,IAAIV,aAAa,CAACS,IAAI,CAAC;EAEtC,WAAW,MAAME,KAAK,IAAIC,iCAAiC,CAACF,MAAM,EAAEJ,OAAO,CAAC,EAAE;IAC5E,OAAO;MACLO,KAAK,EAAE,gBAAgB;MACvBC,MAAM,EAAEH,KAAK,CAACG,MAAM;MACpBC,IAAI,EAAEJ,KAAK,CAACI;IACd,CAAC;EACH;EACA,MAAM,IAAIC,KAAK,CAAC,aAAa,CAAC;AAChC;AAEA,OAAO,gBAAgBJ,iCAAiCA,CACtDF,MAAqB,EACrBJ,OAA8B,EACK;EAEnC,MAAMQ,MAAM,GAAG,MAAMZ,0BAA0B,CAACQ,MAAM,CAAC;EAEvD,MAAMO,aAAa,GAAG,MAAMP,MAAM,CAACQ,SAAS,CAAC,CAAC;EAG9C,MAAMC,SAAS,GAAGT,MAAM,CAACU,gBAAgB,CAACd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEe,OAAO,CAAC;EAC3D,WAAW,MAAMC,QAAQ,IAAIH,SAAS,EAAE;IACtC,MAAMI,2BAA2B,CAACD,QAAQ,EAAEL,aAAa,EAAEH,MAAM,CAAC;EACpE;AACF;AAEA,SAASS,2BAA2BA,CAClCD,QAAyB,EACzBL,aAA4B,EAC5BH,MAAc,EACM;EAEpB,MAAMC,IAAI,GAAGd,kBAAkB,CAACgB,aAAa,EAAEK,QAAQ,CAAC;EACxD,OAAO;IACLT,KAAK,EAAE,gBAAgB;IACvBW,SAAS,EAAE,MAAM;IACjBV,MAAM;IACNC,IAAI;IACJU,MAAM,EAAEH,QAAQ,CAACI;EACnB,CAAC;AACH"}
@@ -1,27 +1,52 @@
1
1
  import { makeReadableFile } from '@loaders.gl/loader-utils';
2
2
  import { ParquetReader } from '../../parquetjs/parser/parquet-reader';
3
+ import { getSchemaFromParquetReader } from './get-parquet-schema';
4
+ import { installBufferPolyfill } from '../../buffer-polyfill';
5
+ import { convertWKBTableToGeoJSON } from '../geo/decode-geo-column';
3
6
  export async function parseParquet(arrayBuffer, options) {
7
+ var _options$parquet, _options$parquet2;
8
+ installBufferPolyfill();
4
9
  const blob = new Blob([arrayBuffer]);
10
+ const file = makeReadableFile(blob);
11
+ const reader = new ParquetReader(file, {
12
+ preserveBinary: options === null || options === void 0 ? void 0 : (_options$parquet = options.parquet) === null || _options$parquet === void 0 ? void 0 : _options$parquet.preserveBinary
13
+ });
14
+ const schema = await getSchemaFromParquetReader(reader);
5
15
  const rows = [];
6
- for await (const batch of parseParquetFileInBatches(blob, options)) {
7
- for (const row of batch.data) {
16
+ const rowBatches = reader.rowBatchIterator(options === null || options === void 0 ? void 0 : options.parquet);
17
+ for await (const rowBatch of rowBatches) {
18
+ for (const row of rowBatch) {
8
19
  rows.push(row);
9
20
  }
10
21
  }
11
- return {
22
+ const objectRowTable = {
12
23
  shape: 'object-row-table',
24
+ schema,
13
25
  data: rows
14
26
  };
27
+ const shape = options === null || options === void 0 ? void 0 : (_options$parquet2 = options.parquet) === null || _options$parquet2 === void 0 ? void 0 : _options$parquet2.shape;
28
+ switch (shape) {
29
+ case 'object-row-table':
30
+ return objectRowTable;
31
+ case 'geojson-table':
32
+ try {
33
+ return convertWKBTableToGeoJSON(objectRowTable, schema);
34
+ } catch (error) {
35
+ return objectRowTable;
36
+ }
37
+ default:
38
+ throw new Error(shape);
39
+ }
15
40
  }
16
- export async function* parseParquetFileInBatches(blob, options) {
17
- const file = makeReadableFile(blob);
18
- const reader = new ParquetReader(file);
41
+ export async function* parseParquetFileInBatches(reader, options) {
42
+ const schema = await getSchemaFromParquetReader(reader);
19
43
  const rowBatches = reader.rowBatchIterator(options === null || options === void 0 ? void 0 : options.parquet);
20
44
  for await (const rows of rowBatches) {
21
45
  yield {
46
+ batchType: 'data',
22
47
  shape: 'object-row-table',
48
+ schema,
23
49
  data: rows,
24
- batchType: 'data',
25
50
  length: rows.length
26
51
  };
27
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-parquet-to-rows.js","names":["makeReadableFile","ParquetReader","parseParquet","arrayBuffer","options","blob","Blob","rows","batch","parseParquetFileInBatches","row","data","push","shape","file","reader","rowBatches","rowBatchIterator","parquet","batchType","length"],"sources":["../../../../src/lib/parsers/parse-parquet-to-rows.ts"],"sourcesContent":["// import type {LoaderWithParser, Loader, LoaderOptions} from '@loaders.gl/loader-utils';\n// import {ColumnarTableBatch} from '@loaders.gl/schema';\nimport {makeReadableFile} from '@loaders.gl/loader-utils';\nimport {ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport type {ParquetRow} from '../../parquetjs/schema/declare';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\n\nexport async function parseParquet(\n arrayBuffer: ArrayBuffer,\n options?: ParquetLoaderOptions\n): Promise<ObjectRowTable> {\n const blob = new Blob([arrayBuffer]);\n\n const rows: ParquetRow[] = [];\n for await (const batch of parseParquetFileInBatches(blob, options)) {\n // we have only one input batch so return\n for (const row of batch.data) {\n rows.push(row);\n }\n }\n\n return {\n shape: 'object-row-table',\n // TODO - spread can fail for very large number of batches\n data: rows\n };\n}\n\nexport async function* parseParquetFileInBatches(\n blob: Blob,\n options?: ParquetLoaderOptions\n): AsyncIterable<ObjectRowTableBatch> {\n const file = makeReadableFile(blob);\n const reader = new ParquetReader(file);\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rows of rowBatches) {\n yield {\n shape: 'object-row-table',\n data: rows,\n batchType: 'data',\n length: rows.length\n };\n }\n}\n"],"mappings":"AAEA,SAAQA,gBAAgB,QAAO,0BAA0B;AAIzD,SAAQC,aAAa,QAAO,uCAAuC;AAEnE,OAAO,eAAeC,YAAYA,CAChCC,WAAwB,EACxBC,OAA8B,EACL;EACzB,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAAC,CAACH,WAAW,CAAC,CAAC;EAEpC,MAAMI,IAAkB,GAAG,EAAE;EAC7B,WAAW,MAAMC,KAAK,IAAIC,yBAAyB,CAACJ,IAAI,EAAED,OAAO,CAAC,EAAE;IAElE,KAAK,MAAMM,GAAG,IAAIF,KAAK,CAACG,IAAI,EAAE;MAC5BJ,IAAI,CAACK,IAAI,CAACF,GAAG,CAAC;IAChB;EACF;EAEA,OAAO;IACLG,KAAK,EAAE,kBAAkB;IAEzBF,IAAI,EAAEJ;EACR,CAAC;AACH;AAEA,OAAO,gBAAgBE,yBAAyBA,CAC9CJ,IAAU,EACVD,OAA8B,EACM;EACpC,MAAMU,IAAI,GAAGd,gBAAgB,CAACK,IAAI,CAAC;EACnC,MAAMU,MAAM,GAAG,IAAId,aAAa,CAACa,IAAI,CAAC;EACtC,MAAME,UAAU,GAAGD,MAAM,CAACE,gBAAgB,CAACb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEc,OAAO,CAAC;EAC5D,WAAW,MAAMX,IAAI,IAAIS,UAAU,EAAE;IACnC,MAAM;MACJH,KAAK,EAAE,kBAAkB;MACzBF,IAAI,EAAEJ,IAAI;MACVY,SAAS,EAAE,MAAM;MACjBC,MAAM,EAAEb,IAAI,CAACa;IACf,CAAC;EACH;AACF"}
1
+ {"version":3,"file":"parse-parquet-to-rows.js","names":["makeReadableFile","ParquetReader","getSchemaFromParquetReader","installBufferPolyfill","convertWKBTableToGeoJSON","parseParquet","arrayBuffer","options","_options$parquet","_options$parquet2","blob","Blob","file","reader","preserveBinary","parquet","schema","rows","rowBatches","rowBatchIterator","rowBatch","row","push","objectRowTable","shape","data","error","Error","parseParquetFileInBatches","batchType","length"],"sources":["../../../../src/lib/parsers/parse-parquet-to-rows.ts"],"sourcesContent":["// import type {LoaderWithParser, Loader, LoaderOptions} from '@loaders.gl/loader-utils';\n// import {ColumnarTableBatch} from '@loaders.gl/schema';\nimport {makeReadableFile} from '@loaders.gl/loader-utils';\nimport {GeoJSONTable, ObjectRowTable, ObjectRowTableBatch} from '@loaders.gl/schema';\nimport type {ParquetLoaderOptions} from '../../parquet-loader';\nimport type {ParquetRow} from '../../parquetjs/schema/declare';\nimport {ParquetReader} from '../../parquetjs/parser/parquet-reader';\nimport {getSchemaFromParquetReader} from './get-parquet-schema';\nimport {installBufferPolyfill} from '../../buffer-polyfill';\nimport {convertWKBTableToGeoJSON} from '../geo/decode-geo-column';\n\nexport async function parseParquet(\n arrayBuffer: ArrayBuffer,\n options?: ParquetLoaderOptions\n): Promise<ObjectRowTable | GeoJSONTable> {\n installBufferPolyfill();\n\n const blob = new Blob([arrayBuffer]);\n const file = makeReadableFile(blob);\n const reader = new ParquetReader(file, {\n preserveBinary: options?.parquet?.preserveBinary\n });\n\n const schema = await getSchemaFromParquetReader(reader);\n\n const rows: ParquetRow[] = [];\n\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rowBatch of rowBatches) {\n // we have only one input batch so return\n for (const row of rowBatch) {\n rows.push(row);\n }\n }\n const objectRowTable: ObjectRowTable = {\n shape: 'object-row-table',\n schema,\n data: rows\n };\n\n const shape = options?.parquet?.shape;\n switch (shape) {\n case 'object-row-table':\n return objectRowTable;\n\n case 'geojson-table':\n try {\n return convertWKBTableToGeoJSON(objectRowTable, schema);\n } catch (error) {\n return objectRowTable;\n }\n\n default:\n throw new Error(shape);\n }\n}\n\nexport async function* parseParquetFileInBatches(\n reader: ParquetReader,\n options?: ParquetLoaderOptions\n): AsyncIterable<ObjectRowTableBatch> {\n const schema = await getSchemaFromParquetReader(reader);\n const rowBatches = reader.rowBatchIterator(options?.parquet);\n for await (const rows of rowBatches) {\n yield {\n batchType: 'data',\n shape: 'object-row-table',\n schema,\n data: rows,\n length: rows.length\n };\n }\n}\n"],"mappings":"AAEA,SAAQA,gBAAgB,QAAO,0BAA0B;AAIzD,SAAQC,aAAa,QAAO,uCAAuC;AACnE,SAAQC,0BAA0B,QAAO,sBAAsB;AAC/D,SAAQC,qBAAqB,QAAO,uBAAuB;AAC3D,SAAQC,wBAAwB,QAAO,0BAA0B;AAEjE,OAAO,eAAeC,YAAYA,CAChCC,WAAwB,EACxBC,OAA8B,EACU;EAAA,IAAAC,gBAAA,EAAAC,iBAAA;EACxCN,qBAAqB,CAAC,CAAC;EAEvB,MAAMO,IAAI,GAAG,IAAIC,IAAI,CAAC,CAACL,WAAW,CAAC,CAAC;EACpC,MAAMM,IAAI,GAAGZ,gBAAgB,CAACU,IAAI,CAAC;EACnC,MAAMG,MAAM,GAAG,IAAIZ,aAAa,CAACW,IAAI,EAAE;IACrCE,cAAc,EAAEP,OAAO,aAAPA,OAAO,wBAAAC,gBAAA,GAAPD,OAAO,CAAEQ,OAAO,cAAAP,gBAAA,uBAAhBA,gBAAA,CAAkBM;EACpC,CAAC,CAAC;EAEF,MAAME,MAAM,GAAG,MAAMd,0BAA0B,CAACW,MAAM,CAAC;EAEvD,MAAMI,IAAkB,GAAG,EAAE;EAE7B,MAAMC,UAAU,GAAGL,MAAM,CAACM,gBAAgB,CAACZ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,OAAO,CAAC;EAC5D,WAAW,MAAMK,QAAQ,IAAIF,UAAU,EAAE;IAEvC,KAAK,MAAMG,GAAG,IAAID,QAAQ,EAAE;MAC1BH,IAAI,CAACK,IAAI,CAACD,GAAG,CAAC;IAChB;EACF;EACA,MAAME,cAA8B,GAAG;IACrCC,KAAK,EAAE,kBAAkB;IACzBR,MAAM;IACNS,IAAI,EAAER;EACR,CAAC;EAED,MAAMO,KAAK,GAAGjB,OAAO,aAAPA,OAAO,wBAAAE,iBAAA,GAAPF,OAAO,CAAEQ,OAAO,cAAAN,iBAAA,uBAAhBA,iBAAA,CAAkBe,KAAK;EACrC,QAAQA,KAAK;IACX,KAAK,kBAAkB;MACrB,OAAOD,cAAc;IAEvB,KAAK,eAAe;MAClB,IAAI;QACF,OAAOnB,wBAAwB,CAACmB,cAAc,EAAEP,MAAM,CAAC;MACzD,CAAC,CAAC,OAAOU,KAAK,EAAE;QACd,OAAOH,cAAc;MACvB;IAEF;MACE,MAAM,IAAII,KAAK,CAACH,KAAK,CAAC;EAC1B;AACF;AAEA,OAAO,gBAAgBI,yBAAyBA,CAC9Cf,MAAqB,EACrBN,OAA8B,EACM;EACpC,MAAMS,MAAM,GAAG,MAAMd,0BAA0B,CAACW,MAAM,CAAC;EACvD,MAAMK,UAAU,GAAGL,MAAM,CAACM,gBAAgB,CAACZ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,OAAO,CAAC;EAC5D,WAAW,MAAME,IAAI,IAAIC,UAAU,EAAE;IACnC,MAAM;MACJW,SAAS,EAAE,MAAM;MACjBL,KAAK,EAAE,kBAAkB;MACzBR,MAAM;MACNS,IAAI,EAAER,IAAI;MACVa,MAAM,EAAEb,IAAI,CAACa;IACf,CAAC;EACH;AACF"}
@@ -1,12 +1,4 @@
1
- const VERSION = typeof "4.0.0-alpha.8" !== 'undefined' ? "4.0.0-alpha.8" : 'latest';
2
- const DEFAULT_PARQUET_LOADER_OPTIONS = {
3
- parquet: {
4
- type: 'object-row-table',
5
- url: undefined,
6
- columnList: [],
7
- geoparquet: true
8
- }
9
- };
1
+ const VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
10
2
  export const ParquetLoader = {
11
3
  name: 'Apache Parquet',
12
4
  id: 'parquet',
@@ -18,9 +10,17 @@ export const ParquetLoader = {
18
10
  mimeTypes: ['application/octet-stream'],
19
11
  binary: true,
20
12
  tests: ['PAR1', 'PARE'],
21
- options: DEFAULT_PARQUET_LOADER_OPTIONS
13
+ options: {
14
+ parquet: {
15
+ shape: 'object-row-table',
16
+ columnList: [],
17
+ geoparquet: true,
18
+ url: undefined,
19
+ preserveBinary: false
20
+ }
21
+ }
22
22
  };
23
- export const ParqueColumnnartLoader = {
23
+ export const ParquetColumnnarLoader = {
24
24
  name: 'Apache Parquet',
25
25
  id: 'parquet',
26
26
  module: 'parquet',
@@ -31,6 +31,6 @@ export const ParqueColumnnartLoader = {
31
31
  mimeTypes: ['application/octet-stream'],
32
32
  binary: true,
33
33
  tests: ['PAR1', 'PARE'],
34
- options: DEFAULT_PARQUET_LOADER_OPTIONS
34
+ options: ParquetLoader.options
35
35
  };
36
36
  //# sourceMappingURL=parquet-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-loader.js","names":["VERSION","DEFAULT_PARQUET_LOADER_OPTIONS","parquet","type","url","undefined","columnList","geoparquet","ParquetLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","ParqueColumnnartLoader"],"sources":["../../src/parquet-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n ColumnarTable,\n ColumnarTableBatch\n} from '@loaders.gl/schema';\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 ParquetLoaderOptions = LoaderOptions & {\n parquet?: {\n type?: 'object-row-table';\n url?: string;\n columnList?: string[] | string[][];\n geoparquet?: boolean;\n };\n};\n\nconst DEFAULT_PARQUET_LOADER_OPTIONS: ParquetLoaderOptions = {\n parquet: {\n type: 'object-row-table',\n url: undefined,\n columnList: [],\n geoparquet: true\n }\n};\n\n/** ParquetJS table loader */\nexport const ParquetLoader: Loader<ObjectRowTable, ObjectRowTableBatch, ParquetLoaderOptions> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: DEFAULT_PARQUET_LOADER_OPTIONS\n};\n\nexport const ParqueColumnnartLoader: Loader<\n ColumnarTable,\n ColumnarTableBatch,\n ParquetLoaderOptions\n> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: DEFAULT_PARQUET_LOADER_OPTIONS\n};\n"],"mappings":"AAWA,MAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAW3E,MAAMC,8BAAoD,GAAG;EAC3DC,OAAO,EAAE;IACPC,IAAI,EAAE,kBAAkB;IACxBC,GAAG,EAAEC,SAAS;IACdC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE;EACd;AACF,CAAC;AAGD,OAAO,MAAMC,aAAgF,GAAG;EAC9FC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEZ,OAAO;EAChBa,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAElB;AACX,CAAC;AAED,OAAO,MAAMmB,sBAIZ,GAAG;EACFX,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEZ,OAAO;EAChBa,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAElB;AACX,CAAC"}
1
+ {"version":3,"file":"parquet-loader.js","names":["VERSION","ParquetLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","parquet","shape","columnList","geoparquet","url","undefined","preserveBinary","ParquetColumnnarLoader"],"sources":["../../src/parquet-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n ColumnarTable,\n ColumnarTableBatch,\n GeoJSONTable,\n GeoJSONTableBatch\n} from '@loaders.gl/schema';\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\n/** Options for the parquet loader */\nexport type ParquetLoaderOptions = LoaderOptions & {\n /** Options for the parquet loader */\n parquet?: {\n /** Format of returned parsed data */\n shape?: 'object-row-table' | 'geojson-table';\n /** Restrict which columns that are parsed from the table. Can save significant memory. */\n columnList?: string[] | string[][];\n /** If true, binary values are not converted to strings */\n preserveBinary?: boolean;\n /** @deprecated not used? Set to true to indicate that this is a geoparquet file. */\n geoparquet?: boolean;\n /** @deprecated URL to override loaders.gl/core parser system */\n url?: string;\n };\n};\n\n/** ParquetJS table loader */\nexport const ParquetLoader: Loader<\n ObjectRowTable | GeoJSONTable,\n ObjectRowTableBatch | GeoJSONTableBatch,\n ParquetLoaderOptions\n> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: {\n parquet: {\n shape: 'object-row-table',\n columnList: [],\n geoparquet: true,\n url: undefined,\n preserveBinary: false\n }\n }\n};\n\nexport const ParquetColumnnarLoader: Loader<\n ColumnarTable,\n ColumnarTableBatch,\n ParquetLoaderOptions\n> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n worker: true,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: ParquetLoader.options\n};\n"],"mappings":"AAaA,MAAMA,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAoB3E,OAAO,MAAMC,aAIZ,GAAG;EACFC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,KAAK,EAAE,kBAAkB;MACzBC,UAAU,EAAE,EAAE;MACdC,UAAU,EAAE,IAAI;MAChBC,GAAG,EAAEC,SAAS;MACdC,cAAc,EAAE;IAClB;EACF;AACF,CAAC;AAED,OAAO,MAAMC,sBAIZ,GAAG;EACFlB,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAEX,aAAa,CAACW;AACzB,CAAC"}
@@ -1,10 +1,4 @@
1
- const VERSION = typeof "4.0.0-alpha.8" !== 'undefined' ? "4.0.0-alpha.8" : 'latest';
2
- const DEFAULT_PARQUET_LOADER_OPTIONS = {
3
- parquet: {
4
- type: 'arrow-table',
5
- wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
6
- }
7
- };
1
+ const VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
8
2
  export const ParquetWasmLoader = {
9
3
  name: 'Apache Parquet',
10
4
  id: 'parquet-wasm',
@@ -16,7 +10,11 @@ export const ParquetWasmLoader = {
16
10
  mimeTypes: ['application/octet-stream'],
17
11
  binary: true,
18
12
  tests: ['PAR1', 'PARE'],
19
- options: DEFAULT_PARQUET_LOADER_OPTIONS
13
+ options: {
14
+ parquet: {
15
+ type: 'arrow-table',
16
+ wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
17
+ }
18
+ }
20
19
  };
21
- export const _typecheckParquetLoader = ParquetWasmLoader;
22
20
  //# sourceMappingURL=parquet-wasm-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-wasm-loader.js","names":["VERSION","DEFAULT_PARQUET_LOADER_OPTIONS","parquet","type","wasmUrl","ParquetWasmLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","_typecheckParquetLoader"],"sources":["../../src/parquet-wasm-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 ParquetLoaderOptions = LoaderOptions & {\n parquet?: {\n type?: 'arrow-table';\n wasmUrl?: string;\n };\n};\n\nconst DEFAULT_PARQUET_LOADER_OPTIONS: ParquetLoaderOptions = {\n parquet: {\n type: 'arrow-table',\n wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'\n }\n};\n\n/** ParquetJS table loader */\nexport const ParquetWasmLoader = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n worker: false,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: DEFAULT_PARQUET_LOADER_OPTIONS\n};\n\nexport const _typecheckParquetLoader: Loader = ParquetWasmLoader;\n"],"mappings":"AAIA,MAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAS3E,MAAMC,8BAAoD,GAAG;EAC3DC,OAAO,EAAE;IACPC,IAAI,EAAE,aAAa;IACnBC,OAAO,EAAE;EACX;AACF,CAAC;AAGD,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAET,OAAO;EAChBU,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAEf;AACX,CAAC;AAED,OAAO,MAAMgB,uBAA+B,GAAGZ,iBAAiB"}
1
+ {"version":3,"file":"parquet-wasm-loader.js","names":["VERSION","ParquetWasmLoader","name","id","module","version","worker","category","extensions","mimeTypes","binary","tests","options","parquet","type","wasmUrl"],"sources":["../../src/parquet-wasm-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {Table as ArrowTable} from 'apache-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\n/** Parquet WASM loader options */\nexport type ParquetWasmLoaderOptions = LoaderOptions & {\n parquet?: {\n type?: 'arrow-table';\n wasmUrl?: string;\n };\n};\n\n/** Parquet WASM table loader */\nexport const ParquetWasmLoader: Loader<ArrowTable, never, ParquetWasmLoaderOptions> = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n worker: false,\n category: 'table',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE'],\n options: {\n parquet: {\n type: 'arrow-table',\n wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'\n }\n }\n};\n"],"mappings":"AAOA,MAAMA,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAW3E,OAAO,MAAMC,iBAAsE,GAAG;EACpFC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,OAAO;EACjBC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,IAAI,EAAE,aAAa;MACnBC,OAAO,EAAE;IACX;EACF;AACF,CAAC"}
@@ -1,10 +1,5 @@
1
1
  import { encode } from './lib/wasm/encode-parquet-wasm';
2
- const VERSION = typeof "4.0.0-alpha.8" !== 'undefined' ? "4.0.0-alpha.8" : 'latest';
3
- const DEFAULT_PARQUET_WRITER_OPTIONS = {
4
- parquet: {
5
- wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
6
- }
7
- };
2
+ const VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
8
3
  export const ParquetWasmWriter = {
9
4
  name: 'Apache Parquet',
10
5
  id: 'parquet-wasm',
@@ -14,6 +9,10 @@ export const ParquetWasmWriter = {
14
9
  mimeTypes: ['application/octet-stream'],
15
10
  encode,
16
11
  binary: true,
17
- options: DEFAULT_PARQUET_WRITER_OPTIONS
12
+ options: {
13
+ parquet: {
14
+ wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'
15
+ }
16
+ }
18
17
  };
19
18
  //# sourceMappingURL=parquet-wasm-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-wasm-writer.js","names":["encode","VERSION","DEFAULT_PARQUET_WRITER_OPTIONS","parquet","wasmUrl","ParquetWasmWriter","name","id","module","version","extensions","mimeTypes","binary","options"],"sources":["../../src/parquet-wasm-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {encode, ParquetWriterOptions} from './lib/wasm/encode-parquet-wasm';\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\nconst DEFAULT_PARQUET_WRITER_OPTIONS: ParquetWriterOptions = {\n parquet: {\n wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'\n }\n};\n\nexport const ParquetWasmWriter: Writer = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n encode,\n binary: true,\n options: DEFAULT_PARQUET_WRITER_OPTIONS\n};\n"],"mappings":"AACA,SAAQA,MAAM,QAA6B,gCAAgC;AAI3E,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAE3E,MAAMC,8BAAoD,GAAG;EAC3DC,OAAO,EAAE;IACPC,OAAO,EAAE;EACX;AACF,CAAC;AAED,OAAO,MAAMC,iBAAyB,GAAG;EACvCC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAER,OAAO;EAChBS,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCX,MAAM;EACNY,MAAM,EAAE,IAAI;EACZC,OAAO,EAAEX;AACX,CAAC"}
1
+ {"version":3,"file":"parquet-wasm-writer.js","names":["encode","VERSION","ParquetWasmWriter","name","id","module","version","extensions","mimeTypes","binary","options","parquet","wasmUrl"],"sources":["../../src/parquet-wasm-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer} from '@loaders.gl/loader-utils';\nimport {encode, ParquetWriterOptions} from './lib/wasm/encode-parquet-wasm';\nimport type {Table as ArrowTable} from 'apache-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\n/** Parquet WASM writer */\nexport const ParquetWasmWriter: Writer<ArrowTable, never, ParquetWriterOptions> = {\n name: 'Apache Parquet',\n id: 'parquet-wasm',\n module: 'parquet',\n version: VERSION,\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n encode,\n binary: true,\n options: {\n parquet: {\n wasmUrl: 'https://unpkg.com/parquet-wasm@0.3.1/esm2/arrow1_bg.wasm'\n }\n }\n};\n"],"mappings":"AAGA,SAAQA,MAAM,QAA6B,gCAAgC;AAK3E,MAAMC,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAG3E,OAAO,MAAMC,iBAAkE,GAAG;EAChFC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,cAAc;EAClBC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCR,MAAM;EACNS,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,OAAO,EAAE;IACX;EACF;AACF,CAAC"}
@@ -1,5 +1,4 @@
1
- const VERSION = typeof "4.0.0-alpha.8" !== 'undefined' ? "4.0.0-alpha.8" : 'latest';
2
- const DEFAULT_PARQUET_LOADER_OPTIONS = {};
1
+ const VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
3
2
  export const ParquetWriter = {
4
3
  name: 'Apache Parquet',
5
4
  id: 'parquet',
@@ -9,7 +8,7 @@ export const ParquetWriter = {
9
8
  mimeTypes: ['application/octet-stream'],
10
9
  encodeSync,
11
10
  binary: true,
12
- options: DEFAULT_PARQUET_LOADER_OPTIONS
11
+ options: {}
13
12
  };
14
13
  function encodeSync(data, options) {
15
14
  return new ArrayBuffer(0);
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-writer.js","names":["VERSION","DEFAULT_PARQUET_LOADER_OPTIONS","ParquetWriter","name","id","module","version","extensions","mimeTypes","encodeSync","binary","options","data","ArrayBuffer"],"sources":["../../src/parquet-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer} from '@loaders.gl/loader-utils';\nimport {Table, TableBatch} from '@loaders.gl/schema';\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 ParquetWriterOptions = {};\n\nconst DEFAULT_PARQUET_LOADER_OPTIONS = {};\n\nexport const ParquetWriter: Writer<Table, TableBatch, ParquetWriterOptions> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n encodeSync,\n binary: true,\n options: DEFAULT_PARQUET_LOADER_OPTIONS\n};\n\nfunction encodeSync(data, options?: ParquetWriterOptions) {\n return new ArrayBuffer(0);\n}\n"],"mappings":"AAOA,MAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAI3E,MAAMC,8BAA8B,GAAG,CAAC,CAAC;AAEzC,OAAO,MAAMC,aAA8D,GAAG;EAC5EC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEN,OAAO;EAChBO,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,UAAU;EACVC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAEV;AACX,CAAC;AAED,SAASQ,UAAUA,CAACG,IAAI,EAAED,OAA8B,EAAE;EACxD,OAAO,IAAIE,WAAW,CAAC,CAAC,CAAC;AAC3B"}
1
+ {"version":3,"file":"parquet-writer.js","names":["VERSION","ParquetWriter","name","id","module","version","extensions","mimeTypes","encodeSync","binary","options","data","ArrayBuffer"],"sources":["../../src/parquet-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer} from '@loaders.gl/loader-utils';\nimport {Table, TableBatch} from '@loaders.gl/schema';\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 ParquetWriterOptions = {};\n\nexport const ParquetWriter: Writer<Table, TableBatch, ParquetWriterOptions> = {\n name: 'Apache Parquet',\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n encodeSync,\n binary: true,\n options: {}\n};\n\nfunction encodeSync(data, options?: ParquetWriterOptions) {\n return new ArrayBuffer(0);\n}\n"],"mappings":"AAOA,MAAMA,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAI3E,OAAO,MAAMC,aAA8D,GAAG;EAC5EC,IAAI,EAAE,gBAAgB;EACtBC,EAAE,EAAE,SAAS;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,UAAU;EACVC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAASF,UAAUA,CAACG,IAAI,EAAED,OAA8B,EAAE;EACxD,OAAO,IAAIE,WAAW,CAAC,CAAC,CAAC;AAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"plain.js","names":["INT53","encodeValues","type","values","opts","encodeValues_BOOLEAN","encodeValues_INT32","encodeValues_INT64","encodeValues_INT96","encodeValues_FLOAT","encodeValues_DOUBLE","encodeValues_BYTE_ARRAY","encodeValues_FIXED_LEN_BYTE_ARRAY","Error","concat","decodeValues","cursor","count","decodeValues_BOOLEAN","decodeValues_INT32","decodeValues_INT64","decodeValues_INT96","decodeValues_FLOAT","decodeValues_DOUBLE","decodeValues_BYTE_ARRAY","decodeValues_FIXED_LEN_BYTE_ARRAY","buf","Buffer","alloc","Math","ceil","length","fill","i","floor","b","buffer","offset","push","writeInt32LE","readInt32LE","writeInt64LE","readInt64LE","writeUInt32LE","low","high","readUInt32LE","writeFloatLE","readFloatLE","writeDoubleLE","readDoubleLE","buf_len","from","buf_pos","copy","len","slice","typeLength"],"sources":["../../../../src/parquetjs/codecs/plain.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport INT53 from 'int53';\n\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n switch (type) {\n case 'BOOLEAN':\n return encodeValues_BOOLEAN(values);\n case 'INT32':\n return encodeValues_INT32(values);\n case 'INT64':\n return encodeValues_INT64(values);\n case 'INT96':\n return encodeValues_INT96(values);\n case 'FLOAT':\n return encodeValues_FLOAT(values);\n case 'DOUBLE':\n return encodeValues_DOUBLE(values);\n case 'BYTE_ARRAY':\n return encodeValues_BYTE_ARRAY(values);\n case 'FIXED_LEN_BYTE_ARRAY':\n return encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n switch (type) {\n case 'BOOLEAN':\n return decodeValues_BOOLEAN(cursor, count);\n case 'INT32':\n return decodeValues_INT32(cursor, count);\n case 'INT64':\n return decodeValues_INT64(cursor, count);\n case 'INT96':\n return decodeValues_INT96(cursor, count);\n case 'FLOAT':\n return decodeValues_FLOAT(cursor, count);\n case 'DOUBLE':\n return decodeValues_DOUBLE(cursor, count);\n case 'BYTE_ARRAY':\n return decodeValues_BYTE_ARRAY(cursor, count);\n case 'FIXED_LEN_BYTE_ARRAY':\n return decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nfunction encodeValues_BOOLEAN(values: boolean[]): Buffer {\n const buf = Buffer.alloc(Math.ceil(values.length / 8));\n buf.fill(0);\n for (let i = 0; i < values.length; i++) {\n if (values[i]) {\n buf[Math.floor(i / 8)] |= 1 << i % 8;\n }\n }\n return buf;\n}\n\nfunction decodeValues_BOOLEAN(cursor: CursorBuffer, count: number): boolean[] {\n const values: boolean[] = [];\n for (let i = 0; i < count; i++) {\n const b = cursor.buffer[cursor.offset + Math.floor(i / 8)];\n values.push((b & (1 << i % 8)) > 0);\n }\n cursor.offset += Math.ceil(count / 8);\n return values;\n}\n\nfunction encodeValues_INT32(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeInt32LE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_INT32(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readInt32LE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_INT64(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n INT53.writeInt64LE(values[i], buf, i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_INT64(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(INT53.readInt64LE(cursor.buffer, cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_INT96(values: number[]): Buffer {\n const buf = Buffer.alloc(12 * values.length);\n for (let i = 0; i < values.length; i++) {\n if (values[i] >= 0) {\n INT53.writeInt64LE(values[i], buf, i * 12);\n buf.writeUInt32LE(0, i * 12 + 8); // truncate to 64 actual precision\n } else {\n INT53.writeInt64LE(~-values[i] + 1, buf, i * 12);\n buf.writeUInt32LE(0xffffffff, i * 12 + 8); // truncate to 64 actual precision\n }\n }\n return buf;\n}\n\nfunction decodeValues_INT96(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n const low = INT53.readInt64LE(cursor.buffer, cursor.offset);\n const high = cursor.buffer.readUInt32LE(cursor.offset + 8);\n if (high === 0xffffffff) {\n values.push(~-low + 1); // truncate to 64 actual precision\n } else {\n values.push(low); // truncate to 64 actual precision\n }\n cursor.offset += 12;\n }\n return values;\n}\n\nfunction encodeValues_FLOAT(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeFloatLE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_FLOAT(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readFloatLE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_DOUBLE(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeDoubleLE(values[i], i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_DOUBLE(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readDoubleLE(cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_BYTE_ARRAY(values: Buffer[]): Buffer {\n // tslint:disable-next-line:variable-name\n let buf_len = 0;\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n buf_len += 4 + values[i].length;\n }\n const buf = Buffer.alloc(buf_len);\n // tslint:disable-next-line:variable-name\n let buf_pos = 0;\n for (let i = 0; i < values.length; i++) {\n buf.writeUInt32LE(values[i].length, buf_pos);\n values[i].copy(buf, buf_pos + 4);\n buf_pos += 4 + values[i].length;\n }\n return buf;\n}\n\nfunction decodeValues_BYTE_ARRAY(cursor: CursorBuffer, count: number): Buffer[] {\n const values: Buffer[] = [];\n for (let i = 0; i < count; i++) {\n const len = cursor.buffer.readUInt32LE(cursor.offset);\n cursor.offset += 4;\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));\n cursor.offset += len;\n }\n return values;\n}\n\nfunction encodeValues_FIXED_LEN_BYTE_ARRAY(values: Buffer[], opts: ParquetCodecOptions): Buffer {\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n if (values[i].length !== opts.typeLength) {\n throw new Error(`invalid value for FIXED_LEN_BYTE_ARRAY: ${values[i]}`);\n }\n }\n return Buffer.concat(values);\n}\n\nfunction decodeValues_FIXED_LEN_BYTE_ARRAY(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): Buffer[] {\n const values: Buffer[] = [];\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + opts.typeLength));\n cursor.offset += opts.typeLength;\n }\n return values;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"plain.js","names":["INT53","encodeValues","type","values","opts","encodeValues_BOOLEAN","encodeValues_INT32","encodeValues_INT64","encodeValues_INT96","encodeValues_FLOAT","encodeValues_DOUBLE","encodeValues_BYTE_ARRAY","encodeValues_FIXED_LEN_BYTE_ARRAY","Error","concat","decodeValues","cursor","count","decodeValues_BOOLEAN","decodeValues_INT32","decodeValues_INT64","decodeValues_INT96","decodeValues_FLOAT","decodeValues_DOUBLE","decodeValues_BYTE_ARRAY","decodeValues_FIXED_LEN_BYTE_ARRAY","buf","Buffer","alloc","Math","ceil","length","fill","i","floor","b","buffer","offset","push","writeInt32LE","readInt32LE","writeInt64LE","readInt64LE","writeUInt32LE","low","high","readUInt32LE","writeFloatLE","readFloatLE","writeDoubleLE","readDoubleLE","buf_len","from","buf_pos","copy","len","slice","typeLength"],"sources":["../../../../src/parquetjs/codecs/plain.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport INT53 from 'int53';\n\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n switch (type) {\n case 'BOOLEAN':\n return encodeValues_BOOLEAN(values);\n case 'INT32':\n return encodeValues_INT32(values);\n case 'INT64':\n return encodeValues_INT64(values);\n case 'INT96':\n return encodeValues_INT96(values);\n case 'FLOAT':\n return encodeValues_FLOAT(values);\n case 'DOUBLE':\n return encodeValues_DOUBLE(values);\n case 'BYTE_ARRAY':\n return encodeValues_BYTE_ARRAY(values);\n case 'FIXED_LEN_BYTE_ARRAY':\n return encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n switch (type) {\n case 'BOOLEAN':\n return decodeValues_BOOLEAN(cursor, count);\n case 'INT32':\n return decodeValues_INT32(cursor, count);\n case 'INT64':\n return decodeValues_INT64(cursor, count);\n case 'INT96':\n return decodeValues_INT96(cursor, count);\n case 'FLOAT':\n return decodeValues_FLOAT(cursor, count);\n case 'DOUBLE':\n return decodeValues_DOUBLE(cursor, count);\n case 'BYTE_ARRAY':\n return decodeValues_BYTE_ARRAY(cursor, count);\n case 'FIXED_LEN_BYTE_ARRAY':\n return decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts);\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n}\n\nfunction encodeValues_BOOLEAN(values: boolean[]): Buffer {\n const buf = Buffer.alloc(Math.ceil(values.length / 8));\n buf.fill(0);\n for (let i = 0; i < values.length; i++) {\n if (values[i]) {\n buf[Math.floor(i / 8)] |= 1 << i % 8;\n }\n }\n return buf;\n}\n\nfunction decodeValues_BOOLEAN(cursor: CursorBuffer, count: number): boolean[] {\n const values: boolean[] = [];\n for (let i = 0; i < count; i++) {\n const b = cursor.buffer[cursor.offset + Math.floor(i / 8)];\n values.push((b & (1 << i % 8)) > 0);\n }\n cursor.offset += Math.ceil(count / 8);\n return values;\n}\n\nfunction encodeValues_INT32(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeInt32LE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_INT32(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readInt32LE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_INT64(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n INT53.writeInt64LE(values[i], buf, i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_INT64(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(INT53.readInt64LE(cursor.buffer, cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_INT96(values: number[]): Buffer {\n const buf = Buffer.alloc(12 * values.length);\n for (let i = 0; i < values.length; i++) {\n if (values[i] >= 0) {\n INT53.writeInt64LE(values[i], buf, i * 12);\n buf.writeUInt32LE(0, i * 12 + 8); // truncate to 64 actual precision\n } else {\n INT53.writeInt64LE(~-values[i] + 1, buf, i * 12);\n buf.writeUInt32LE(0xffffffff, i * 12 + 8); // truncate to 64 actual precision\n }\n }\n return buf;\n}\n\nfunction decodeValues_INT96(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n const low = INT53.readInt64LE(cursor.buffer, cursor.offset);\n const high = cursor.buffer.readUInt32LE(cursor.offset + 8);\n if (high === 0xffffffff) {\n values.push(~-low + 1); // truncate to 64 actual precision\n } else {\n values.push(low); // truncate to 64 actual precision\n }\n cursor.offset += 12;\n }\n return values;\n}\n\nfunction encodeValues_FLOAT(values: number[]): Buffer {\n const buf = Buffer.alloc(4 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeFloatLE(values[i], i * 4);\n }\n return buf;\n}\n\nfunction decodeValues_FLOAT(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readFloatLE(cursor.offset));\n cursor.offset += 4;\n }\n return values;\n}\n\nfunction encodeValues_DOUBLE(values: number[]): Buffer {\n const buf = Buffer.alloc(8 * values.length);\n for (let i = 0; i < values.length; i++) {\n buf.writeDoubleLE(values[i], i * 8);\n }\n return buf;\n}\n\nfunction decodeValues_DOUBLE(cursor: CursorBuffer, count: number): number[] {\n const values: number[] = [];\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.readDoubleLE(cursor.offset));\n cursor.offset += 8;\n }\n return values;\n}\n\nfunction encodeValues_BYTE_ARRAY(values: Buffer[]): Buffer {\n // tslint:disable-next-line:variable-name\n let buf_len = 0;\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n buf_len += 4 + values[i].length;\n }\n const buf = Buffer.alloc(buf_len);\n // tslint:disable-next-line:variable-name\n let buf_pos = 0;\n for (let i = 0; i < values.length; i++) {\n buf.writeUInt32LE(values[i].length, buf_pos);\n values[i].copy(buf, buf_pos + 4);\n buf_pos += 4 + values[i].length;\n }\n return buf;\n}\n\nfunction decodeValues_BYTE_ARRAY(cursor: CursorBuffer, count: number): Buffer[] {\n const values: Buffer[] = [];\n for (let i = 0; i < count; i++) {\n const len = cursor.buffer.readUInt32LE(cursor.offset);\n cursor.offset += 4;\n // values.push(cursor.buffer.buffer.slice(cursor.offset, cursor.offset + len));\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));\n cursor.offset += len;\n }\n return values;\n}\n\nfunction encodeValues_FIXED_LEN_BYTE_ARRAY(values: Buffer[], opts: ParquetCodecOptions): Buffer {\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < values.length; i++) {\n values[i] = Buffer.from(values[i]);\n if (values[i].length !== opts.typeLength) {\n throw new Error(`invalid value for FIXED_LEN_BYTE_ARRAY: ${values[i]}`);\n }\n }\n return Buffer.concat(values);\n}\n\nfunction decodeValues_FIXED_LEN_BYTE_ARRAY(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): Buffer[] {\n const values: Buffer[] = [];\n if (!opts.typeLength) {\n throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');\n }\n for (let i = 0; i < count; i++) {\n values.push(cursor.buffer.slice(cursor.offset, cursor.offset + opts.typeLength));\n cursor.offset += opts.typeLength;\n }\n return values;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rle.js","names":["varint","encodeValues","type","values","opts","Error","map","x","parseInt","concat","buf","Buffer","alloc","run","repeats","i","length","encodeRunBitpacked","encodeRunRepeated","push","disableEnvelope","envelope","writeUInt32LE","undefined","copy","decodeValues","cursor","count","offset","header","decode","buffer","encodingLength","decodeRunBitpacked","decodeRunRepeated","slice","bitWidth","Array","fill","b","Math","floor","value","ceil","from","encode","writeUInt8"],"sources":["../../../../src/parquetjs/codecs/rle.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport varint from 'varint';\n\n// eslint-disable-next-line max-statements, complexity\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n switch (type) {\n case 'BOOLEAN':\n case 'INT32':\n case 'INT64':\n // tslint:disable-next-line:no-parameter-reassignment\n values = values.map((x) => parseInt(x, 10));\n break;\n\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n\n let buf = Buffer.alloc(0);\n let run: any[] = [];\n let repeats = 0;\n\n for (let i = 0; i < values.length; i++) {\n // If we are at the beginning of a run and the next value is same we start\n // collecting repeated values\n if (repeats === 0 && run.length % 8 === 0 && values[i] === values[i + 1]) {\n // If we have any data in runs we need to encode them\n if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n run = [];\n }\n repeats = 1;\n } else if (repeats > 0 && values[i] === values[i - 1]) {\n repeats += 1;\n } else {\n // If values changes we need to post any previous repeated values\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[i - 1], repeats, opts)]);\n repeats = 0;\n }\n run.push(values[i]);\n }\n }\n\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[values.length - 1], repeats, opts)]);\n } else if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n }\n\n if (opts.disableEnvelope) {\n return buf;\n }\n\n const envelope = Buffer.alloc(buf.length + 4);\n envelope.writeUInt32LE(buf.length, undefined);\n buf.copy(envelope, 4);\n\n return envelope;\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n if (!opts.disableEnvelope) {\n cursor.offset += 4;\n }\n\n let values: number[] = [];\n while (values.length < count) {\n const header = varint.decode(cursor.buffer, cursor.offset);\n cursor.offset += varint.encodingLength(header);\n if (header & 1) {\n const count = (header >> 1) * 8;\n values.push(...decodeRunBitpacked(cursor, count, opts));\n } else {\n const count = header >> 1;\n values.push(...decodeRunRepeated(cursor, count, opts));\n }\n }\n values = values.slice(0, count);\n\n if (values.length !== count) {\n throw new Error('invalid RLE encoding');\n }\n\n return values;\n}\n\nfunction decodeRunBitpacked(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n if (count % 8 !== 0) {\n throw new Error('must be a multiple of 8');\n }\n\n // tslint:disable-next-line:prefer-array-literal\n const values = new Array(count).fill(0);\n for (let b = 0; b < bitWidth * count; b++) {\n if (cursor.buffer[cursor.offset + Math.floor(b / 8)] & (1 << b % 8)) {\n values[Math.floor(b / bitWidth)] |= 1 << b % bitWidth;\n }\n }\n\n cursor.offset += bitWidth * (count / 8);\n return values;\n}\n\nfunction decodeRunRepeated(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n let value = 0;\n for (let i = 0; i < Math.ceil(bitWidth / 8); i++) {\n // eslint-disable-next-line\n value << 8; // TODO - this looks wrong\n value += cursor.buffer[cursor.offset];\n cursor.offset += 1;\n }\n\n // tslint:disable-next-line:prefer-array-literal\n return new Array(count).fill(value);\n}\n\nfunction encodeRunBitpacked(values: number[], opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n for (let i = 0; i < values.length % 8; i++) {\n values.push(0);\n }\n\n const buf = Buffer.alloc(Math.ceil(bitWidth * (values.length / 8)));\n for (let b = 0; b < bitWidth * values.length; b++) {\n if ((values[Math.floor(b / bitWidth)] & (1 << b % bitWidth)) > 0) {\n buf[Math.floor(b / 8)] |= 1 << b % 8;\n }\n }\n\n return Buffer.concat([Buffer.from(varint.encode(((values.length / 8) << 1) | 1)), buf]);\n}\n\nfunction encodeRunRepeated(value: number, count: number, opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n const buf = Buffer.alloc(Math.ceil(bitWidth / 8));\n\n for (let i = 0; i < buf.length; i++) {\n buf.writeUInt8(value & 0xff, i);\n // eslint-disable-next-line\n value >> 8; // TODO - this looks wrong\n }\n\n return Buffer.concat([Buffer.from(varint.encode(count << 1)), buf]);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"rle.js","names":["varint","encodeValues","type","values","opts","Error","map","x","parseInt","concat","buf","Buffer","alloc","run","repeats","i","length","encodeRunBitpacked","encodeRunRepeated","push","disableEnvelope","envelope","writeUInt32LE","undefined","copy","decodeValues","cursor","count","offset","header","decode","buffer","encodingLength","decodeRunBitpacked","decodeRunRepeated","slice","bitWidth","Array","fill","b","Math","floor","value","ceil","from","encode","writeUInt8"],"sources":["../../../../src/parquetjs/codecs/rle.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n\nimport type {PrimitiveType} from '../schema/declare';\nimport type {CursorBuffer, ParquetCodecOptions} from './declare';\nimport varint from 'varint';\n\n// eslint-disable-next-line max-statements, complexity\nexport function encodeValues(\n type: PrimitiveType,\n values: any[],\n opts: ParquetCodecOptions\n): Buffer {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n switch (type) {\n case 'BOOLEAN':\n case 'INT32':\n case 'INT64':\n // tslint:disable-next-line:no-parameter-reassignment\n values = values.map((x) => parseInt(x, 10));\n break;\n\n default:\n throw new Error(`unsupported type: ${type}`);\n }\n\n let buf = Buffer.alloc(0);\n let run: any[] = [];\n let repeats = 0;\n\n for (let i = 0; i < values.length; i++) {\n // If we are at the beginning of a run and the next value is same we start\n // collecting repeated values\n if (repeats === 0 && run.length % 8 === 0 && values[i] === values[i + 1]) {\n // If we have any data in runs we need to encode them\n if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n run = [];\n }\n repeats = 1;\n } else if (repeats > 0 && values[i] === values[i - 1]) {\n repeats += 1;\n } else {\n // If values changes we need to post any previous repeated values\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[i - 1], repeats, opts)]);\n repeats = 0;\n }\n run.push(values[i]);\n }\n }\n\n if (repeats) {\n buf = Buffer.concat([buf, encodeRunRepeated(values[values.length - 1], repeats, opts)]);\n } else if (run.length) {\n buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);\n }\n\n if (opts.disableEnvelope) {\n return buf;\n }\n\n const envelope = Buffer.alloc(buf.length + 4);\n\n // @ts-ignore buffer polyfill\n envelope.writeUInt32LE(buf.length, undefined);\n buf.copy(envelope, 4);\n\n return envelope;\n}\n\nexport function decodeValues(\n type: PrimitiveType,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n if (!('bitWidth' in opts)) {\n throw new Error('bitWidth is required');\n }\n\n if (!opts.disableEnvelope) {\n cursor.offset += 4;\n }\n\n let values: number[] = [];\n while (values.length < count) {\n const header = varint.decode(cursor.buffer, cursor.offset);\n cursor.offset += varint.encodingLength(header);\n if (header & 1) {\n const count = (header >> 1) * 8;\n values.push(...decodeRunBitpacked(cursor, count, opts));\n } else {\n const count = header >> 1;\n values.push(...decodeRunRepeated(cursor, count, opts));\n }\n }\n values = values.slice(0, count);\n\n if (values.length !== count) {\n throw new Error('invalid RLE encoding');\n }\n\n return values;\n}\n\nfunction decodeRunBitpacked(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n if (count % 8 !== 0) {\n throw new Error('must be a multiple of 8');\n }\n\n // tslint:disable-next-line:prefer-array-literal\n const values = new Array(count).fill(0);\n for (let b = 0; b < bitWidth * count; b++) {\n if (cursor.buffer[cursor.offset + Math.floor(b / 8)] & (1 << b % 8)) {\n values[Math.floor(b / bitWidth)] |= 1 << b % bitWidth;\n }\n }\n\n cursor.offset += bitWidth * (count / 8);\n return values;\n}\n\nfunction decodeRunRepeated(\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): number[] {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n let value = 0;\n for (let i = 0; i < Math.ceil(bitWidth / 8); i++) {\n // eslint-disable-next-line\n value << 8; // TODO - this looks wrong\n value += cursor.buffer[cursor.offset];\n cursor.offset += 1;\n }\n\n // tslint:disable-next-line:prefer-array-literal\n return new Array(count).fill(value);\n}\n\nfunction encodeRunBitpacked(values: number[], opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n for (let i = 0; i < values.length % 8; i++) {\n values.push(0);\n }\n\n const buf = Buffer.alloc(Math.ceil(bitWidth * (values.length / 8)));\n for (let b = 0; b < bitWidth * values.length; b++) {\n if ((values[Math.floor(b / bitWidth)] & (1 << b % bitWidth)) > 0) {\n buf[Math.floor(b / 8)] |= 1 << b % 8;\n }\n }\n\n return Buffer.concat([Buffer.from(varint.encode(((values.length / 8) << 1) | 1)), buf]);\n}\n\nfunction encodeRunRepeated(value: number, count: number, opts: ParquetCodecOptions): Buffer {\n // @ts-ignore\n const bitWidth: number = opts.bitWidth;\n\n const buf = Buffer.alloc(Math.ceil(bitWidth / 8));\n\n for (let i = 0; i < buf.length; i++) {\n buf.writeUInt8(value & 0xff, i);\n // eslint-disable-next-line\n value >> 8; // TODO - this looks wrong\n }\n\n return Buffer.concat([Buffer.from(varint.encode(count << 1)), buf]);\n}\n"],"mappings":"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"}