@loaders.gl/parquet 4.5.3 → 5.0.0-alpha.10

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 (790) hide show
  1. package/LICENSE +14 -3
  2. package/dist/bundled.d.ts +9 -0
  3. package/dist/bundled.d.ts.map +1 -0
  4. package/dist/bundled.js +10 -0
  5. package/dist/bundled.js.map +1 -0
  6. package/dist/delta-format.d.ts +9 -0
  7. package/dist/delta-format.d.ts.map +1 -0
  8. package/dist/delta-format.js +12 -0
  9. package/dist/delta-format.js.map +1 -0
  10. package/dist/delta-source-loader-types.d.ts +27 -0
  11. package/dist/delta-source-loader-types.d.ts.map +1 -0
  12. package/dist/delta-source-loader-types.js +28 -0
  13. package/dist/delta-source-loader-types.js.map +1 -0
  14. package/dist/delta-source.d.ts +48 -0
  15. package/dist/delta-source.d.ts.map +1 -0
  16. package/dist/delta-source.js +222 -0
  17. package/dist/delta-source.js.map +1 -0
  18. package/dist/delta-types.d.ts +38 -0
  19. package/dist/delta-types.d.ts.map +1 -0
  20. package/dist/delta-types.js +5 -0
  21. package/dist/delta-types.js.map +1 -0
  22. package/dist/geoparquet-loader-with-parser.d.ts +33 -0
  23. package/dist/geoparquet-loader-with-parser.d.ts.map +1 -0
  24. package/dist/geoparquet-loader-with-parser.js +52 -0
  25. package/dist/geoparquet-loader-with-parser.js.map +1 -0
  26. package/dist/geoparquet-loader.d.ts +59 -0
  27. package/dist/geoparquet-loader.d.ts.map +1 -0
  28. package/dist/geoparquet-loader.js +30 -0
  29. package/dist/geoparquet-loader.js.map +1 -0
  30. package/dist/iceberg-rest-catalog.d.ts +49 -0
  31. package/dist/iceberg-rest-catalog.d.ts.map +1 -0
  32. package/dist/iceberg-rest-catalog.js +78 -0
  33. package/dist/iceberg-rest-catalog.js.map +1 -0
  34. package/dist/iceberg-table-source.d.ts +63 -0
  35. package/dist/iceberg-table-source.d.ts.map +1 -0
  36. package/dist/iceberg-table-source.js +797 -0
  37. package/dist/iceberg-table-source.js.map +1 -0
  38. package/dist/iceberg-types.d.ts +150 -0
  39. package/dist/iceberg-types.d.ts.map +1 -0
  40. package/dist/iceberg-types.js +5 -0
  41. package/dist/iceberg-types.js.map +1 -0
  42. package/dist/index.cjs +41568 -6781
  43. package/dist/index.cjs.map +3 -4
  44. package/dist/index.d.ts +15 -9
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +11 -12
  47. package/dist/index.js.map +1 -1
  48. package/dist/lib/arrow/convert-columns-to-row-group.js +3 -0
  49. package/dist/lib/arrow/convert-columns-to-row-group.js.map +1 -1
  50. package/dist/lib/arrow/convert-schema-from-parquet.d.ts +3 -1
  51. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -1
  52. package/dist/lib/arrow/convert-schema-from-parquet.js +164 -29
  53. package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -1
  54. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -1
  55. package/dist/lib/arrow/convert-schema-to-parquet.js +16 -7
  56. package/dist/lib/arrow/convert-schema-to-parquet.js.map +1 -1
  57. package/dist/lib/arrow/create-nested-arrow-vector.d.ts +8 -0
  58. package/dist/lib/arrow/create-nested-arrow-vector.d.ts.map +1 -0
  59. package/dist/lib/arrow/create-nested-arrow-vector.js +485 -0
  60. package/dist/lib/arrow/create-nested-arrow-vector.js.map +1 -0
  61. package/dist/lib/constants.d.ts +0 -1
  62. package/dist/lib/constants.d.ts.map +1 -1
  63. package/dist/lib/constants.js +1 -2
  64. package/dist/lib/constants.js.map +1 -1
  65. package/dist/lib/encoders/encode-arrow-to-parquet.d.ts +2 -2
  66. package/dist/lib/encoders/encode-arrow-to-parquet.d.ts.map +1 -1
  67. package/dist/lib/encoders/encode-arrow-to-parquet.js +3 -10
  68. package/dist/lib/encoders/encode-arrow-to-parquet.js.map +1 -1
  69. package/dist/lib/encoders/encode-table-to-parquet-js.d.ts +5 -0
  70. package/dist/lib/encoders/encode-table-to-parquet-js.d.ts.map +1 -0
  71. package/dist/lib/encoders/encode-table-to-parquet-js.js +394 -0
  72. package/dist/lib/encoders/encode-table-to-parquet-js.js.map +1 -0
  73. package/dist/lib/geo/geoparquet-covering.d.ts +19 -0
  74. package/dist/lib/geo/geoparquet-covering.d.ts.map +1 -0
  75. package/dist/lib/geo/geoparquet-covering.js +137 -0
  76. package/dist/lib/geo/geoparquet-covering.js.map +1 -0
  77. package/dist/lib/geo/geospatial-metadata.d.ts +67 -0
  78. package/dist/lib/geo/geospatial-metadata.d.ts.map +1 -0
  79. package/dist/lib/geo/geospatial-metadata.js +412 -0
  80. package/dist/lib/geo/geospatial-metadata.js.map +1 -0
  81. package/dist/lib/parquet-bloom-filter-planner.d.ts +16 -0
  82. package/dist/lib/parquet-bloom-filter-planner.d.ts.map +1 -0
  83. package/dist/lib/parquet-bloom-filter-planner.js +57 -0
  84. package/dist/lib/parquet-bloom-filter-planner.js.map +1 -0
  85. package/dist/lib/parquet-bloom-filter.d.ts +30 -0
  86. package/dist/lib/parquet-bloom-filter.d.ts.map +1 -0
  87. package/dist/lib/parquet-bloom-filter.js +289 -0
  88. package/dist/lib/parquet-bloom-filter.js.map +1 -0
  89. package/dist/lib/parquet-encryption.d.ts +80 -0
  90. package/dist/lib/parquet-encryption.d.ts.map +1 -0
  91. package/dist/lib/parquet-encryption.js +190 -0
  92. package/dist/lib/parquet-encryption.js.map +1 -0
  93. package/dist/lib/parquet-page-index.d.ts +91 -0
  94. package/dist/lib/parquet-page-index.d.ts.map +1 -0
  95. package/dist/lib/parquet-page-index.js +463 -0
  96. package/dist/lib/parquet-page-index.js.map +1 -0
  97. package/dist/lib/parquet-predicate.d.ts +21 -0
  98. package/dist/lib/parquet-predicate.d.ts.map +1 -0
  99. package/dist/lib/parquet-predicate.js +328 -0
  100. package/dist/lib/parquet-predicate.js.map +1 -0
  101. package/dist/lib/parquet-source-worker-client.d.ts +6 -0
  102. package/dist/lib/parquet-source-worker-client.d.ts.map +1 -0
  103. package/dist/lib/parquet-source-worker-client.js +24 -0
  104. package/dist/lib/parquet-source-worker-client.js.map +1 -0
  105. package/dist/lib/parquet-source-worker-decoder.d.ts +7 -0
  106. package/dist/lib/parquet-source-worker-decoder.d.ts.map +1 -0
  107. package/dist/lib/parquet-source-worker-decoder.js +181 -0
  108. package/dist/lib/parquet-source-worker-decoder.js.map +1 -0
  109. package/dist/lib/parquet-source-worker-file.d.ts +24 -0
  110. package/dist/lib/parquet-source-worker-file.d.ts.map +1 -0
  111. package/dist/lib/parquet-source-worker-file.js +40 -0
  112. package/dist/lib/parquet-source-worker-file.js.map +1 -0
  113. package/dist/lib/parquet-source-worker-types.d.ts +121 -0
  114. package/dist/lib/parquet-source-worker-types.d.ts.map +1 -0
  115. package/dist/lib/parquet-source-worker-types.js +5 -0
  116. package/dist/lib/parquet-source-worker-types.js.map +1 -0
  117. package/dist/lib/parquet-worker-transport.d.ts +8 -0
  118. package/dist/lib/parquet-worker-transport.d.ts.map +1 -0
  119. package/dist/lib/parquet-worker-transport.js +40 -0
  120. package/dist/lib/parquet-worker-transport.js.map +1 -0
  121. package/dist/lib/parsers/convert-parquet-tables.d.ts +16 -0
  122. package/dist/lib/parsers/convert-parquet-tables.d.ts.map +1 -0
  123. package/dist/lib/parsers/convert-parquet-tables.js +30 -0
  124. package/dist/lib/parsers/convert-parquet-tables.js.map +1 -0
  125. package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -1
  126. package/dist/lib/parsers/get-parquet-schema.js +6 -2
  127. package/dist/lib/parsers/get-parquet-schema.js.map +1 -1
  128. package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts +4 -4
  129. package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts.map +1 -1
  130. package/dist/lib/parsers/parse-geoparquet-to-geojson.js +19 -6
  131. package/dist/lib/parsers/parse-geoparquet-to-geojson.js.map +1 -1
  132. package/dist/lib/parsers/parse-parquet-tables.d.ts +37 -0
  133. package/dist/lib/parsers/parse-parquet-tables.d.ts.map +1 -0
  134. package/dist/lib/parsers/parse-parquet-tables.js +50 -0
  135. package/dist/lib/parsers/parse-parquet-tables.js.map +1 -0
  136. package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts +19 -0
  137. package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts.map +1 -0
  138. package/dist/lib/parsers/parse-parquet-to-arrow-js.js +921 -0
  139. package/dist/lib/parsers/parse-parquet-to-arrow-js.js.map +1 -0
  140. package/dist/lib/parsers/parse-parquet-to-arrow.d.ts +7 -7
  141. package/dist/lib/parsers/parse-parquet-to-arrow.d.ts.map +1 -1
  142. package/dist/lib/parsers/parse-parquet-to-arrow.js +45 -32
  143. package/dist/lib/parsers/parse-parquet-to-arrow.js.map +1 -1
  144. package/dist/lib/parsers/parse-parquet-to-columns.d.ts +3 -3
  145. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -1
  146. package/dist/lib/parsers/parse-parquet-to-columns.js +4 -5
  147. package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -1
  148. package/dist/lib/parsers/parse-parquet-to-json.d.ts +3 -3
  149. package/dist/lib/parsers/parse-parquet-to-json.d.ts.map +1 -1
  150. package/dist/lib/parsers/parse-parquet-to-json.js +95 -28
  151. package/dist/lib/parsers/parse-parquet-to-json.js.map +1 -1
  152. package/dist/lib/slice-parquet-batch.d.ts +9 -0
  153. package/dist/lib/slice-parquet-batch.d.ts.map +1 -0
  154. package/dist/lib/slice-parquet-batch.js +28 -0
  155. package/dist/lib/slice-parquet-batch.js.map +1 -0
  156. package/dist/lib/sources/parquet-range-file.d.ts +80 -0
  157. package/dist/lib/sources/parquet-range-file.d.ts.map +1 -0
  158. package/dist/lib/sources/parquet-range-file.js +267 -0
  159. package/dist/lib/sources/parquet-range-file.js.map +1 -0
  160. package/dist/lib/sources/single-batch-queue.d.ts +24 -0
  161. package/dist/lib/sources/single-batch-queue.d.ts.map +1 -0
  162. package/dist/lib/sources/single-batch-queue.js +91 -0
  163. package/dist/lib/sources/single-batch-queue.js.map +1 -0
  164. package/dist/lib/utils/load-wasm-node.d.ts +3 -0
  165. package/dist/lib/utils/load-wasm-node.d.ts.map +1 -0
  166. package/dist/lib/utils/load-wasm-node.js +23 -0
  167. package/dist/lib/utils/load-wasm-node.js.map +1 -0
  168. package/dist/lib/utils/load-wasm.d.ts +2 -2
  169. package/dist/lib/utils/load-wasm.d.ts.map +1 -1
  170. package/dist/lib/utils/load-wasm.js +28 -12
  171. package/dist/lib/utils/load-wasm.js.map +1 -1
  172. package/dist/lib/utils/make-stream-iterator.d.ts +2 -0
  173. package/dist/lib/utils/make-stream-iterator.d.ts.map +1 -1
  174. package/dist/lib/utils/make-stream-iterator.js +123 -14
  175. package/dist/lib/utils/make-stream-iterator.js.map +1 -1
  176. package/dist/lib/utils/normalize-parquet-options.d.ts +5 -0
  177. package/dist/lib/utils/normalize-parquet-options.d.ts.map +1 -0
  178. package/dist/lib/utils/normalize-parquet-options.js +25 -0
  179. package/dist/lib/utils/normalize-parquet-options.js.map +1 -0
  180. package/dist/parquet-dataset-source.cjs +38974 -0
  181. package/dist/parquet-dataset-source.cjs.map +6 -0
  182. package/dist/parquet-dataset-source.d.ts +81 -0
  183. package/dist/parquet-dataset-source.d.ts.map +1 -0
  184. package/dist/parquet-dataset-source.js +602 -0
  185. package/dist/parquet-dataset-source.js.map +1 -0
  186. package/dist/parquet-encoded-page-types.d.ts +108 -0
  187. package/dist/parquet-encoded-page-types.d.ts.map +1 -0
  188. package/dist/parquet-encoded-page-types.js +5 -0
  189. package/dist/parquet-encoded-page-types.js.map +1 -0
  190. package/dist/parquet-format.d.ts +2 -0
  191. package/dist/parquet-format.d.ts.map +1 -1
  192. package/dist/parquet-format.js +2 -0
  193. package/dist/parquet-format.js.map +1 -1
  194. package/dist/parquet-js-loader-types.d.ts +59 -0
  195. package/dist/parquet-js-loader-types.d.ts.map +1 -0
  196. package/dist/parquet-js-loader-types.js +34 -0
  197. package/dist/parquet-js-loader-types.js.map +1 -0
  198. package/dist/parquet-js-loader.d.ts +18 -22
  199. package/dist/parquet-js-loader.d.ts.map +1 -1
  200. package/dist/parquet-js-loader.js +53 -14
  201. package/dist/parquet-js-loader.js.map +1 -1
  202. package/dist/parquet-js-writer.d.ts +65 -0
  203. package/dist/parquet-js-writer.d.ts.map +1 -0
  204. package/dist/parquet-js-writer.js +28 -0
  205. package/dist/parquet-js-writer.js.map +1 -0
  206. package/dist/parquet-loader-base.d.ts +25 -0
  207. package/dist/parquet-loader-base.d.ts.map +1 -0
  208. package/dist/parquet-loader-base.js +23 -0
  209. package/dist/parquet-loader-base.js.map +1 -0
  210. package/dist/parquet-loader-options.d.ts +55 -0
  211. package/dist/parquet-loader-options.d.ts.map +1 -0
  212. package/dist/parquet-loader-options.js +10 -0
  213. package/dist/parquet-loader-options.js.map +1 -0
  214. package/dist/parquet-loader-types.d.ts +61 -0
  215. package/dist/parquet-loader-types.d.ts.map +1 -0
  216. package/dist/parquet-loader-types.js +17 -0
  217. package/dist/parquet-loader-types.js.map +1 -0
  218. package/dist/parquet-loader.d.ts +42 -0
  219. package/dist/parquet-loader.d.ts.map +1 -0
  220. package/dist/parquet-loader.js +68 -0
  221. package/dist/parquet-loader.js.map +1 -0
  222. package/dist/parquet-source-capabilities.d.ts +43 -0
  223. package/dist/parquet-source-capabilities.d.ts.map +1 -0
  224. package/dist/parquet-source-capabilities.js +32 -0
  225. package/dist/parquet-source-capabilities.js.map +1 -0
  226. package/dist/parquet-source-loader-types.d.ts +82 -0
  227. package/dist/parquet-source-loader-types.d.ts.map +1 -0
  228. package/dist/parquet-source-loader-types.js +84 -0
  229. package/dist/parquet-source-loader-types.js.map +1 -0
  230. package/dist/parquet-source-loader.cjs +38261 -0
  231. package/dist/parquet-source-loader.cjs.map +6 -0
  232. package/dist/parquet-source-loader.d.ts +167 -0
  233. package/dist/parquet-source-loader.d.ts.map +1 -0
  234. package/dist/parquet-source-loader.js +1438 -0
  235. package/dist/parquet-source-loader.js.map +1 -0
  236. package/dist/parquet-source-types.d.ts +534 -0
  237. package/dist/parquet-source-types.d.ts.map +1 -0
  238. package/dist/parquet-source-types.js +5 -0
  239. package/dist/parquet-source-types.js.map +1 -0
  240. package/dist/parquet-source-worker-factory.d.ts +4 -0
  241. package/dist/parquet-source-worker-factory.d.ts.map +1 -0
  242. package/dist/parquet-source-worker-factory.js +6 -0
  243. package/dist/parquet-source-worker-factory.js.map +1 -0
  244. package/dist/parquet-source-worker-url.d.ts +3 -0
  245. package/dist/parquet-source-worker-url.d.ts.map +1 -0
  246. package/dist/parquet-source-worker-url.js +22 -0
  247. package/dist/parquet-source-worker-url.js.map +1 -0
  248. package/dist/parquet-source-worker.js +38871 -0
  249. package/dist/parquet-source-worker.js.map +7 -0
  250. package/dist/parquet-worker-node.cjs +78507 -0
  251. package/dist/parquet-worker-node.cjs.map +7 -0
  252. package/dist/parquet-worker-url.d.ts +3 -0
  253. package/dist/parquet-worker-url.d.ts.map +1 -0
  254. package/dist/parquet-worker-url.js +19 -0
  255. package/dist/parquet-worker-url.js.map +1 -0
  256. package/dist/parquet-worker.js +20094 -0
  257. package/dist/parquet-worker.js.map +7 -0
  258. package/dist/parquet-writer.d.ts +10 -0
  259. package/dist/parquet-writer.d.ts.map +1 -0
  260. package/dist/parquet-writer.js +27 -0
  261. package/dist/parquet-writer.js.map +1 -0
  262. package/dist/parquet_wasm_bg.wasm +0 -0
  263. package/dist/parquetjs/codecs/byte-stream-split.d.ts +9 -0
  264. package/dist/parquetjs/codecs/byte-stream-split.d.ts.map +1 -0
  265. package/dist/parquetjs/codecs/byte-stream-split.js +159 -0
  266. package/dist/parquetjs/codecs/byte-stream-split.js.map +1 -0
  267. package/dist/parquetjs/codecs/declare.d.ts +35 -3
  268. package/dist/parquetjs/codecs/declare.d.ts.map +1 -1
  269. package/dist/parquetjs/codecs/declare.js +17 -1
  270. package/dist/parquetjs/codecs/declare.js.map +1 -1
  271. package/dist/parquetjs/codecs/delta.d.ts +17 -0
  272. package/dist/parquetjs/codecs/delta.d.ts.map +1 -0
  273. package/dist/parquetjs/codecs/delta.js +788 -0
  274. package/dist/parquetjs/codecs/delta.js.map +1 -0
  275. package/dist/parquetjs/codecs/dictionary.d.ts +5 -2
  276. package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -1
  277. package/dist/parquetjs/codecs/dictionary.js +16 -4
  278. package/dist/parquetjs/codecs/dictionary.js.map +1 -1
  279. package/dist/parquetjs/codecs/index.d.ts.map +1 -1
  280. package/dist/parquetjs/codecs/index.js +22 -0
  281. package/dist/parquetjs/codecs/index.js.map +1 -1
  282. package/dist/parquetjs/codecs/plain.d.ts +3 -3
  283. package/dist/parquetjs/codecs/plain.d.ts.map +1 -1
  284. package/dist/parquetjs/codecs/plain.js +231 -78
  285. package/dist/parquetjs/codecs/plain.js.map +1 -1
  286. package/dist/parquetjs/codecs/rle.d.ts +7 -3
  287. package/dist/parquetjs/codecs/rle.d.ts.map +1 -1
  288. package/dist/parquetjs/codecs/rle.js +613 -69
  289. package/dist/parquetjs/codecs/rle.js.map +1 -1
  290. package/dist/parquetjs/compression.d.ts +16 -8
  291. package/dist/parquetjs/compression.d.ts.map +1 -1
  292. package/dist/parquetjs/compression.js +114 -141
  293. package/dist/parquetjs/compression.js.map +1 -1
  294. package/dist/parquetjs/encoder/dictionary-planner.d.ts +17 -0
  295. package/dist/parquetjs/encoder/dictionary-planner.d.ts.map +1 -0
  296. package/dist/parquetjs/encoder/dictionary-planner.js +67 -0
  297. package/dist/parquetjs/encoder/dictionary-planner.js.map +1 -0
  298. package/dist/parquetjs/encoder/page-planner.d.ts +11 -0
  299. package/dist/parquetjs/encoder/page-planner.d.ts.map +1 -0
  300. package/dist/parquetjs/encoder/page-planner.js +60 -0
  301. package/dist/parquetjs/encoder/page-planner.js.map +1 -0
  302. package/dist/parquetjs/encoder/parquet-encoder.d.ts +54 -5
  303. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -1
  304. package/dist/parquetjs/encoder/parquet-encoder.js +930 -66
  305. package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -1
  306. package/dist/parquetjs/parquet-thrift/BoundingBox.d.ts +29 -0
  307. package/dist/parquetjs/parquet-thrift/BoundingBox.d.ts.map +1 -0
  308. package/dist/parquetjs/parquet-thrift/BoundingBox.js +85 -0
  309. package/dist/parquetjs/parquet-thrift/BoundingBox.js.map +1 -0
  310. package/dist/parquetjs/parquet-thrift/BsonType.d.ts +1 -1
  311. package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -1
  312. package/dist/parquetjs/parquet-thrift/BsonType.js +1 -1
  313. package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -1
  314. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts +7 -2
  315. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -1
  316. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +37 -2
  317. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
  318. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.d.ts +35 -0
  319. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.d.ts.map +1 -0
  320. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.js +135 -0
  321. package/dist/parquetjs/parquet-thrift/ColumnCryptoMetaData.js.map +1 -0
  322. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts +6 -6
  323. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -1
  324. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +3 -3
  325. package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
  326. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts +12 -2
  327. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -1
  328. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +75 -2
  329. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
  330. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts +1 -1
  331. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -1
  332. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +1 -1
  333. package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
  334. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts +1 -1
  335. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -1
  336. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +1 -1
  337. package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
  338. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts +1 -1
  339. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -1
  340. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +1 -1
  341. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
  342. package/dist/parquetjs/parquet-thrift/DateType.d.ts +1 -1
  343. package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -1
  344. package/dist/parquetjs/parquet-thrift/DateType.js +1 -1
  345. package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -1
  346. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts +1 -1
  347. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -1
  348. package/dist/parquetjs/parquet-thrift/DecimalType.js +1 -1
  349. package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
  350. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts +1 -1
  351. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -1
  352. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +1 -1
  353. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
  354. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts +8 -0
  355. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts.map +1 -0
  356. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js +14 -0
  357. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js.map +1 -0
  358. package/dist/parquetjs/parquet-thrift/Encoding.d.ts +2 -1
  359. package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -1
  360. package/dist/parquetjs/parquet-thrift/Encoding.js +1 -0
  361. package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -1
  362. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.d.ts +22 -0
  363. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.d.ts.map +1 -0
  364. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.js +111 -0
  365. package/dist/parquetjs/parquet-thrift/EncryptionAlgorithm.js.map +1 -0
  366. package/dist/parquetjs/parquet-thrift/EnumType.d.ts +1 -1
  367. package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -1
  368. package/dist/parquetjs/parquet-thrift/EnumType.js +1 -1
  369. package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -1
  370. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.d.ts +16 -0
  371. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.d.ts.map +1 -0
  372. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.js +57 -0
  373. package/dist/parquetjs/parquet-thrift/FileCryptoMetaData.js.map +1 -0
  374. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts +7 -2
  375. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -1
  376. package/dist/parquetjs/parquet-thrift/FileMetaData.js +37 -2
  377. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
  378. package/dist/parquetjs/parquet-thrift/Float16Type.d.ts +9 -0
  379. package/dist/parquetjs/parquet-thrift/Float16Type.d.ts.map +1 -0
  380. package/dist/parquetjs/parquet-thrift/Float16Type.js +27 -0
  381. package/dist/parquetjs/parquet-thrift/Float16Type.js.map +1 -0
  382. package/dist/parquetjs/parquet-thrift/GeographyType.d.ts +14 -0
  383. package/dist/parquetjs/parquet-thrift/GeographyType.d.ts.map +1 -0
  384. package/dist/parquetjs/parquet-thrift/GeographyType.js +51 -0
  385. package/dist/parquetjs/parquet-thrift/GeographyType.js.map +1 -0
  386. package/dist/parquetjs/parquet-thrift/GeometryType.d.ts +11 -0
  387. package/dist/parquetjs/parquet-thrift/GeometryType.d.ts.map +1 -0
  388. package/dist/parquetjs/parquet-thrift/GeometryType.js +41 -0
  389. package/dist/parquetjs/parquet-thrift/GeometryType.js.map +1 -0
  390. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.d.ts +18 -0
  391. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.d.ts.map +1 -0
  392. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.js +62 -0
  393. package/dist/parquetjs/parquet-thrift/GeospatialStatistics.js.map +1 -0
  394. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts +1 -1
  395. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -1
  396. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +1 -1
  397. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
  398. package/dist/parquetjs/parquet-thrift/IntType.d.ts +1 -1
  399. package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -1
  400. package/dist/parquetjs/parquet-thrift/IntType.js +1 -1
  401. package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -1
  402. package/dist/parquetjs/parquet-thrift/JsonType.d.ts +1 -1
  403. package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -1
  404. package/dist/parquetjs/parquet-thrift/JsonType.js +1 -1
  405. package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -1
  406. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts +1 -1
  407. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -1
  408. package/dist/parquetjs/parquet-thrift/KeyValue.js +1 -1
  409. package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
  410. package/dist/parquetjs/parquet-thrift/ListType.d.ts +1 -1
  411. package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -1
  412. package/dist/parquetjs/parquet-thrift/ListType.js +1 -1
  413. package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -1
  414. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts +17 -1
  415. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -1
  416. package/dist/parquetjs/parquet-thrift/LogicalType.js +97 -1
  417. package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
  418. package/dist/parquetjs/parquet-thrift/MapType.d.ts +1 -1
  419. package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -1
  420. package/dist/parquetjs/parquet-thrift/MapType.js +1 -1
  421. package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -1
  422. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts +1 -1
  423. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -1
  424. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +1 -1
  425. package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
  426. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts +1 -1
  427. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -1
  428. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +1 -1
  429. package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
  430. package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts +9 -0
  431. package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts.map +1 -0
  432. package/dist/parquetjs/parquet-thrift/NanoSeconds.js +27 -0
  433. package/dist/parquetjs/parquet-thrift/NanoSeconds.js.map +1 -0
  434. package/dist/parquetjs/parquet-thrift/NullType.d.ts +1 -1
  435. package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -1
  436. package/dist/parquetjs/parquet-thrift/NullType.js +1 -1
  437. package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -1
  438. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts +1 -1
  439. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -1
  440. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +1 -1
  441. package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
  442. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts +1 -1
  443. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -1
  444. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +1 -1
  445. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
  446. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts +1 -1
  447. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -1
  448. package/dist/parquetjs/parquet-thrift/PageHeader.js +1 -1
  449. package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
  450. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts +2 -2
  451. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -1
  452. package/dist/parquetjs/parquet-thrift/PageLocation.js +2 -2
  453. package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
  454. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts +2 -2
  455. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -1
  456. package/dist/parquetjs/parquet-thrift/RowGroup.js +2 -2
  457. package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
  458. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts +1 -1
  459. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -1
  460. package/dist/parquetjs/parquet-thrift/SchemaElement.js +1 -1
  461. package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
  462. package/dist/parquetjs/parquet-thrift/SizeStatistics.d.ts +26 -0
  463. package/dist/parquetjs/parquet-thrift/SizeStatistics.d.ts.map +1 -0
  464. package/dist/parquetjs/parquet-thrift/SizeStatistics.js +85 -0
  465. package/dist/parquetjs/parquet-thrift/SizeStatistics.js.map +1 -0
  466. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts +1 -1
  467. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -1
  468. package/dist/parquetjs/parquet-thrift/SortingColumn.js +1 -1
  469. package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
  470. package/dist/parquetjs/parquet-thrift/Statistics.d.ts +14 -10
  471. package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -1
  472. package/dist/parquetjs/parquet-thrift/Statistics.js +38 -2
  473. package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -1
  474. package/dist/parquetjs/parquet-thrift/StringType.d.ts +1 -1
  475. package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -1
  476. package/dist/parquetjs/parquet-thrift/StringType.js +1 -1
  477. package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -1
  478. package/dist/parquetjs/parquet-thrift/TimeType.d.ts +1 -1
  479. package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -1
  480. package/dist/parquetjs/parquet-thrift/TimeType.js +1 -1
  481. package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -1
  482. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts +5 -1
  483. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -1
  484. package/dist/parquetjs/parquet-thrift/TimeUnit.js +25 -1
  485. package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
  486. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts +1 -1
  487. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -1
  488. package/dist/parquetjs/parquet-thrift/TimestampType.js +1 -1
  489. package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
  490. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts +1 -1
  491. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -1
  492. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +1 -1
  493. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
  494. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts +1 -1
  495. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -1
  496. package/dist/parquetjs/parquet-thrift/UUIDType.js +1 -1
  497. package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
  498. package/dist/parquetjs/parquet-thrift/VariantType.d.ts +11 -0
  499. package/dist/parquetjs/parquet-thrift/VariantType.d.ts.map +1 -0
  500. package/dist/parquetjs/parquet-thrift/VariantType.js +41 -0
  501. package/dist/parquetjs/parquet-thrift/VariantType.js.map +1 -0
  502. package/dist/parquetjs/parquet-thrift/index.d.ts +12 -2
  503. package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -1
  504. package/dist/parquetjs/parquet-thrift/index.js +12 -2
  505. package/dist/parquetjs/parquet-thrift/index.js.map +1 -1
  506. package/dist/parquetjs/parser/decoders.d.ts +23 -3
  507. package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
  508. package/dist/parquetjs/parser/decoders.js +687 -119
  509. package/dist/parquetjs/parser/decoders.js.map +1 -1
  510. package/dist/parquetjs/parser/encoded-pages.d.ts +24 -0
  511. package/dist/parquetjs/parser/encoded-pages.d.ts.map +1 -0
  512. package/dist/parquetjs/parser/encoded-pages.js +206 -0
  513. package/dist/parquetjs/parser/encoded-pages.js.map +1 -0
  514. package/dist/parquetjs/parser/parquet-reader.d.ts +111 -10
  515. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
  516. package/dist/parquetjs/parser/parquet-reader.js +836 -69
  517. package/dist/parquetjs/parser/parquet-reader.js.map +1 -1
  518. package/dist/parquetjs/schema/declare.d.ts +83 -10
  519. package/dist/parquetjs/schema/declare.d.ts.map +1 -1
  520. package/dist/parquetjs/schema/declare.js.map +1 -1
  521. package/dist/parquetjs/schema/schema.d.ts +3 -0
  522. package/dist/parquetjs/schema/schema.d.ts.map +1 -1
  523. package/dist/parquetjs/schema/schema.js +31 -3
  524. package/dist/parquetjs/schema/schema.js.map +1 -1
  525. package/dist/parquetjs/schema/shred.d.ts +2 -0
  526. package/dist/parquetjs/schema/shred.d.ts.map +1 -1
  527. package/dist/parquetjs/schema/shred.js +285 -29
  528. package/dist/parquetjs/schema/shred.js.map +1 -1
  529. package/dist/parquetjs/schema/types.d.ts.map +1 -1
  530. package/dist/parquetjs/schema/types.js +290 -71
  531. package/dist/parquetjs/schema/types.js.map +1 -1
  532. package/dist/parquetjs/schema/variant.d.ts +3 -0
  533. package/dist/parquetjs/schema/variant.d.ts.map +1 -0
  534. package/dist/parquetjs/schema/variant.js +248 -0
  535. package/dist/parquetjs/schema/variant.js.map +1 -0
  536. package/dist/parquetjs/utils/binary-utils.d.ts +41 -0
  537. package/dist/parquetjs/utils/binary-utils.d.ts.map +1 -0
  538. package/dist/parquetjs/utils/binary-utils.js +106 -0
  539. package/dist/parquetjs/utils/binary-utils.js.map +1 -0
  540. package/dist/parquetjs/utils/crc32.d.ts +3 -0
  541. package/dist/parquetjs/utils/crc32.d.ts.map +1 -0
  542. package/dist/parquetjs/utils/crc32.js +15 -0
  543. package/dist/parquetjs/utils/crc32.js.map +1 -0
  544. package/dist/parquetjs/utils/file-utils.d.ts +1 -1
  545. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
  546. package/dist/parquetjs/utils/file-utils.js +3 -3
  547. package/dist/parquetjs/utils/file-utils.js.map +1 -1
  548. package/dist/parquetjs/utils/read-utils.d.ts +25 -7
  549. package/dist/parquetjs/utils/read-utils.d.ts.map +1 -1
  550. package/dist/parquetjs/utils/read-utils.js +66 -39
  551. package/dist/parquetjs/utils/read-utils.js.map +1 -1
  552. package/dist/parquetjs/utils/thrift-runtime.d.ts +106 -0
  553. package/dist/parquetjs/utils/thrift-runtime.d.ts.map +1 -0
  554. package/dist/parquetjs/utils/thrift-runtime.js +50 -0
  555. package/dist/parquetjs/utils/thrift-runtime.js.map +1 -0
  556. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts +78 -0
  557. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts.map +1 -0
  558. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js +213 -0
  559. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js.map +1 -0
  560. package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts +80 -0
  561. package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts.map +1 -0
  562. package/dist/parquetjs/utils/uint8-array-compact-protocol.js +276 -0
  563. package/dist/parquetjs/utils/uint8-array-compact-protocol.js.map +1 -0
  564. package/dist/parquetjs/utils/uint8-array-transport.d.ts +25 -0
  565. package/dist/parquetjs/utils/uint8-array-transport.d.ts.map +1 -0
  566. package/dist/parquetjs/utils/uint8-array-transport.js +62 -0
  567. package/dist/parquetjs/utils/uint8-array-transport.js.map +1 -0
  568. package/dist/polyfills/process.d.ts +12 -0
  569. package/dist/polyfills/process.d.ts.map +1 -0
  570. package/dist/polyfills/process.js +17 -0
  571. package/dist/polyfills/process.js.map +1 -0
  572. package/dist/unbundled.d.ts +10 -0
  573. package/dist/unbundled.d.ts.map +1 -0
  574. package/dist/unbundled.js +11 -0
  575. package/dist/unbundled.js.map +1 -0
  576. package/dist/wasm.d.ts +3 -0
  577. package/dist/wasm.d.ts.map +1 -0
  578. package/dist/wasm.js +6 -0
  579. package/dist/wasm.js.map +1 -0
  580. package/dist/workers/parquet-source-worker.d.ts +2 -0
  581. package/dist/workers/parquet-source-worker.d.ts.map +1 -0
  582. package/dist/workers/parquet-source-worker.js +17 -0
  583. package/dist/workers/parquet-source-worker.js.map +1 -0
  584. package/dist/workers/parquet-worker-node.d.ts +2 -0
  585. package/dist/workers/parquet-worker-node.d.ts.map +1 -0
  586. package/dist/workers/parquet-worker-node.js +5 -0
  587. package/dist/workers/parquet-worker-node.js.map +1 -0
  588. package/dist/workers/parquet-worker.d.ts +2 -0
  589. package/dist/workers/parquet-worker.d.ts.map +1 -0
  590. package/dist/workers/parquet-worker.js +27 -0
  591. package/dist/workers/parquet-worker.js.map +1 -0
  592. package/package.json +84 -40
  593. package/src/bundled.ts +43 -0
  594. package/src/delta-format.ts +12 -0
  595. package/src/delta-source-loader-types.ts +40 -0
  596. package/src/delta-source.ts +305 -0
  597. package/src/delta-types.ts +40 -0
  598. package/src/geoparquet-loader-with-parser.ts +95 -0
  599. package/src/geoparquet-loader.ts +54 -0
  600. package/src/iceberg-rest-catalog.ts +122 -0
  601. package/src/iceberg-table-source.ts +1037 -0
  602. package/src/iceberg-types.ts +165 -0
  603. package/src/index.ts +105 -26
  604. package/src/lib/arrow/convert-columns-to-row-group.ts +3 -0
  605. package/src/lib/arrow/convert-schema-from-parquet.ts +193 -32
  606. package/src/lib/arrow/convert-schema-to-parquet.ts +16 -7
  607. package/src/lib/arrow/create-nested-arrow-vector.ts +705 -0
  608. package/src/lib/constants.ts +0 -2
  609. package/src/lib/encoders/encode-arrow-to-parquet.ts +10 -16
  610. package/src/lib/encoders/encode-table-to-parquet-js.ts +526 -0
  611. package/src/lib/geo/geoparquet-covering.ts +201 -0
  612. package/src/lib/geo/geospatial-metadata.ts +547 -0
  613. package/src/lib/parquet-bloom-filter-planner.ts +86 -0
  614. package/src/lib/parquet-bloom-filter.ts +345 -0
  615. package/src/lib/parquet-encryption.ts +344 -0
  616. package/src/lib/parquet-page-index.ts +727 -0
  617. package/src/lib/parquet-predicate.ts +410 -0
  618. package/src/lib/parquet-source-worker-client.ts +41 -0
  619. package/src/lib/parquet-source-worker-decoder.ts +252 -0
  620. package/src/lib/parquet-source-worker-file.ts +56 -0
  621. package/src/lib/parquet-source-worker-types.ts +132 -0
  622. package/src/lib/parquet-worker-transport.ts +57 -0
  623. package/src/lib/parsers/convert-parquet-tables.ts +39 -0
  624. package/src/lib/parsers/get-parquet-schema.ts +6 -2
  625. package/src/lib/parsers/parse-geoparquet-to-geojson.ts +27 -14
  626. package/src/lib/parsers/parse-parquet-tables.ts +82 -0
  627. package/src/lib/parsers/parse-parquet-to-arrow-js.ts +1213 -0
  628. package/src/lib/parsers/parse-parquet-to-arrow.ts +62 -36
  629. package/src/lib/parsers/parse-parquet-to-columns.ts +9 -8
  630. package/src/lib/parsers/parse-parquet-to-json.ts +119 -35
  631. package/src/lib/slice-parquet-batch.ts +32 -0
  632. package/src/lib/sources/parquet-range-file.ts +365 -0
  633. package/src/lib/sources/single-batch-queue.ts +95 -0
  634. package/src/lib/utils/load-wasm-node.ts +25 -0
  635. package/src/lib/utils/load-wasm.ts +36 -13
  636. package/src/lib/utils/make-stream-iterator.ts +126 -14
  637. package/src/lib/utils/normalize-parquet-options.ts +30 -0
  638. package/src/parquet-dataset-source.ts +800 -0
  639. package/src/parquet-encoded-page-types.ts +122 -0
  640. package/src/parquet-format.ts +2 -0
  641. package/src/parquet-js-loader-types.ts +53 -0
  642. package/src/parquet-js-loader.ts +76 -19
  643. package/src/parquet-js-writer.ts +98 -0
  644. package/src/parquet-loader-base.ts +34 -0
  645. package/src/parquet-loader-options.ts +62 -0
  646. package/src/parquet-loader-types.ts +35 -0
  647. package/src/parquet-loader.ts +115 -0
  648. package/src/parquet-source-capabilities.ts +73 -0
  649. package/src/parquet-source-loader-types.ts +97 -0
  650. package/src/parquet-source-loader.ts +2254 -0
  651. package/src/parquet-source-types.ts +627 -0
  652. package/src/parquet-source-worker-factory.ts +8 -0
  653. package/src/parquet-source-worker-url.ts +23 -0
  654. package/src/parquet-worker-url.ts +23 -0
  655. package/src/parquet-writer.ts +42 -0
  656. package/src/parquetjs/LICENSE +23 -1
  657. package/src/parquetjs/codecs/byte-stream-split.ts +221 -0
  658. package/src/parquetjs/codecs/declare.ts +62 -3
  659. package/src/parquetjs/codecs/delta.ts +1047 -0
  660. package/src/parquetjs/codecs/dictionary.ts +22 -4
  661. package/src/parquetjs/codecs/index.ts +22 -0
  662. package/src/parquetjs/codecs/plain.ts +317 -89
  663. package/src/parquetjs/codecs/rle.ts +852 -82
  664. package/src/parquetjs/compression.ts +137 -156
  665. package/src/parquetjs/encoder/dictionary-planner.ts +104 -0
  666. package/src/parquetjs/encoder/page-planner.ts +83 -0
  667. package/src/parquetjs/encoder/parquet-encoder.ts +1374 -95
  668. package/src/parquetjs/parquet-thrift/BoundingBox.ts +108 -0
  669. package/src/parquetjs/parquet-thrift/BsonType.ts +1 -1
  670. package/src/parquetjs/parquet-thrift/ColumnChunk.ts +37 -2
  671. package/src/parquetjs/parquet-thrift/ColumnCryptoMetaData.ts +139 -0
  672. package/src/parquetjs/parquet-thrift/ColumnIndex.ts +13 -13
  673. package/src/parquetjs/parquet-thrift/ColumnMetaData.ts +75 -2
  674. package/src/parquetjs/parquet-thrift/ColumnOrder.ts +1 -1
  675. package/src/parquetjs/parquet-thrift/DataPageHeader.ts +1 -1
  676. package/src/parquetjs/parquet-thrift/DataPageHeaderV2.ts +1 -1
  677. package/src/parquetjs/parquet-thrift/DateType.ts +1 -1
  678. package/src/parquetjs/parquet-thrift/DecimalType.ts +1 -1
  679. package/src/parquetjs/parquet-thrift/DictionaryPageHeader.ts +1 -1
  680. package/src/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.ts +13 -0
  681. package/src/parquetjs/parquet-thrift/Encoding.ts +2 -1
  682. package/src/parquetjs/parquet-thrift/EncryptionAlgorithm.ts +127 -0
  683. package/src/parquetjs/parquet-thrift/EnumType.ts +1 -1
  684. package/src/parquetjs/parquet-thrift/FileCryptoMetaData.ts +60 -0
  685. package/src/parquetjs/parquet-thrift/FileMetaData.ts +37 -2
  686. package/src/parquetjs/parquet-thrift/Float16Type.ts +28 -0
  687. package/src/parquetjs/parquet-thrift/GeographyType.ts +54 -0
  688. package/src/parquetjs/parquet-thrift/GeometryType.ts +43 -0
  689. package/src/parquetjs/parquet-thrift/GeospatialStatistics.ts +68 -0
  690. package/src/parquetjs/parquet-thrift/IndexPageHeader.ts +1 -1
  691. package/src/parquetjs/parquet-thrift/IntType.ts +1 -1
  692. package/src/parquetjs/parquet-thrift/JsonType.ts +1 -1
  693. package/src/parquetjs/parquet-thrift/KeyValue.ts +1 -1
  694. package/src/parquetjs/parquet-thrift/ListType.ts +1 -1
  695. package/src/parquetjs/parquet-thrift/LogicalType.ts +97 -1
  696. package/src/parquetjs/parquet-thrift/MapType.ts +1 -1
  697. package/src/parquetjs/parquet-thrift/MicroSeconds.ts +1 -1
  698. package/src/parquetjs/parquet-thrift/MilliSeconds.ts +1 -1
  699. package/src/parquetjs/parquet-thrift/NanoSeconds.ts +28 -0
  700. package/src/parquetjs/parquet-thrift/NullType.ts +1 -1
  701. package/src/parquetjs/parquet-thrift/OffsetIndex.ts +1 -1
  702. package/src/parquetjs/parquet-thrift/PageEncodingStats.ts +1 -1
  703. package/src/parquetjs/parquet-thrift/PageHeader.ts +1 -1
  704. package/src/parquetjs/parquet-thrift/PageLocation.ts +2 -2
  705. package/src/parquetjs/parquet-thrift/RowGroup.ts +2 -2
  706. package/src/parquetjs/parquet-thrift/SchemaElement.ts +1 -1
  707. package/src/parquetjs/parquet-thrift/SizeStatistics.ts +98 -0
  708. package/src/parquetjs/parquet-thrift/SortingColumn.ts +1 -1
  709. package/src/parquetjs/parquet-thrift/Statistics.ts +50 -14
  710. package/src/parquetjs/parquet-thrift/StringType.ts +1 -1
  711. package/src/parquetjs/parquet-thrift/TimeType.ts +1 -1
  712. package/src/parquetjs/parquet-thrift/TimeUnit.ts +25 -1
  713. package/src/parquetjs/parquet-thrift/TimestampType.ts +1 -1
  714. package/src/parquetjs/parquet-thrift/TypeDefinedOrder.ts +1 -1
  715. package/src/parquetjs/parquet-thrift/UUIDType.ts +1 -1
  716. package/src/parquetjs/parquet-thrift/VariantType.ts +43 -0
  717. package/src/parquetjs/parquet-thrift/index.ts +12 -4
  718. package/src/parquetjs/parser/decoders.ts +922 -143
  719. package/src/parquetjs/parser/encoded-pages.ts +278 -0
  720. package/src/parquetjs/parser/parquet-reader.ts +1334 -83
  721. package/src/parquetjs/schema/declare.ts +121 -9
  722. package/src/parquetjs/schema/schema.ts +33 -3
  723. package/src/parquetjs/schema/shred.ts +345 -41
  724. package/src/parquetjs/schema/types.ts +308 -84
  725. package/src/parquetjs/schema/variant.ts +313 -0
  726. package/src/parquetjs/utils/binary-utils.ts +132 -0
  727. package/src/parquetjs/utils/crc32.ts +15 -0
  728. package/src/parquetjs/utils/file-utils.ts +4 -4
  729. package/src/parquetjs/utils/read-utils.ts +77 -51
  730. package/src/parquetjs/utils/thrift-runtime.ts +109 -0
  731. package/src/parquetjs/utils/uint8-array-compact-protocol-writer.ts +254 -0
  732. package/src/parquetjs/utils/uint8-array-compact-protocol.ts +322 -0
  733. package/src/parquetjs/utils/uint8-array-transport.ts +79 -0
  734. package/src/polyfills/process.ts +17 -0
  735. package/src/unbundled.ts +47 -0
  736. package/src/wasm.ts +6 -0
  737. package/src/workers/parquet-source-worker.ts +21 -0
  738. package/src/workers/parquet-worker-node.ts +5 -0
  739. package/src/workers/parquet-worker.ts +31 -0
  740. package/dist/parquet-arrow-loader.d.ts +0 -43
  741. package/dist/parquet-arrow-loader.d.ts.map +0 -1
  742. package/dist/parquet-arrow-loader.js +0 -49
  743. package/dist/parquet-arrow-loader.js.map +0 -1
  744. package/dist/parquet-arrow-writer.d.ts +0 -9
  745. package/dist/parquet-arrow-writer.d.ts.map +0 -1
  746. package/dist/parquet-arrow-writer.js +0 -23
  747. package/dist/parquet-arrow-writer.js.map +0 -1
  748. package/dist/parquet-json-loader.d.ts +0 -148
  749. package/dist/parquet-json-loader.d.ts.map +0 -1
  750. package/dist/parquet-json-loader.js +0 -106
  751. package/dist/parquet-json-loader.js.map +0 -1
  752. package/dist/parquet-json-writer.d.ts +0 -19
  753. package/dist/parquet-json-writer.d.ts.map +0 -1
  754. package/dist/parquet-json-writer.js +0 -20
  755. package/dist/parquet-json-writer.js.map +0 -1
  756. package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts +0 -3
  757. package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts.map +0 -1
  758. package/dist/polyfills/buffer/buffer-polyfill.browser.js +0 -12
  759. package/dist/polyfills/buffer/buffer-polyfill.browser.js.map +0 -1
  760. package/dist/polyfills/buffer/buffer-polyfill.node.d.ts +0 -3
  761. package/dist/polyfills/buffer/buffer-polyfill.node.d.ts.map +0 -1
  762. package/dist/polyfills/buffer/buffer-polyfill.node.js +0 -17
  763. package/dist/polyfills/buffer/buffer-polyfill.node.js.map +0 -1
  764. package/dist/polyfills/buffer/buffer.d.ts +0 -222
  765. package/dist/polyfills/buffer/buffer.d.ts.map +0 -1
  766. package/dist/polyfills/buffer/buffer.js +0 -1868
  767. package/dist/polyfills/buffer/buffer.js.map +0 -1
  768. package/dist/polyfills/buffer/index.d.ts +0 -4
  769. package/dist/polyfills/buffer/index.d.ts.map +0 -1
  770. package/dist/polyfills/buffer/index.js +0 -9
  771. package/dist/polyfills/buffer/index.js.map +0 -1
  772. package/dist/polyfills/buffer/install-buffer-polyfill.d.ts +0 -2
  773. package/dist/polyfills/buffer/install-buffer-polyfill.d.ts.map +0 -1
  774. package/dist/polyfills/buffer/install-buffer-polyfill.js +0 -10
  775. package/dist/polyfills/buffer/install-buffer-polyfill.js.map +0 -1
  776. package/dist/workers/parquet-json-worker.d.ts +0 -2
  777. package/dist/workers/parquet-json-worker.d.ts.map +0 -1
  778. package/dist/workers/parquet-json-worker.js +0 -7
  779. package/dist/workers/parquet-json-worker.js.map +0 -1
  780. package/src/parquet-arrow-loader.ts +0 -74
  781. package/src/parquet-arrow-writer.ts +0 -33
  782. package/src/parquet-json-loader.ts +0 -160
  783. package/src/parquet-json-writer.ts +0 -27
  784. package/src/parquetjs/modules.d.ts +0 -25
  785. package/src/polyfills/buffer/buffer-polyfill.browser.ts +0 -14
  786. package/src/polyfills/buffer/buffer-polyfill.node.ts +0 -19
  787. package/src/polyfills/buffer/buffer.ts +0 -2205
  788. package/src/polyfills/buffer/index.ts +0 -11
  789. package/src/polyfills/buffer/install-buffer-polyfill.ts +0 -12
  790. package/src/workers/parquet-json-worker.ts +0 -8
@@ -0,0 +1,108 @@
1
+ import type { ParquetBoundingBox, ParquetPredicate, ParquetRowGroupMetadata } from "./parquet-source-types.js";
2
+ /** Byte range within an encoded Parquet page body. */
3
+ export type ParquetEncodedPageSection = Readonly<{
4
+ /** Byte offset relative to {@link ParquetEncodedPage.data}. */
5
+ byteOffset: number;
6
+ /** Number of bytes in this section. */
7
+ byteLength: number;
8
+ }>;
9
+ /** Whether the page value payload still uses the column chunk's compression codec. */
10
+ export type ParquetPageCompressionState = 'compressed' | 'decompressed';
11
+ /** Encoded Parquet page body suitable for deferred CPU or GPU decoding. */
12
+ export type ParquetEncodedPage = Readonly<{
13
+ /** Page role and data-page version. */
14
+ type: 'dictionary' | 'data-v1' | 'data-v2';
15
+ /** Zero-based data-page ordinal within the column chunk; dictionaries use `-1`. */
16
+ pageOrdinal: number;
17
+ /** Value encoding declared by the page header. */
18
+ encoding: string;
19
+ /** Repetition-level encoding for V1 pages. V2 levels always use RLE. */
20
+ repetitionLevelEncoding?: string;
21
+ /** Definition-level encoding for V1 pages. V2 levels always use RLE. */
22
+ definitionLevelEncoding?: string;
23
+ /** Compression codec declared by the containing column chunk. */
24
+ compression: string;
25
+ /** Whether the page value payload remains compressed. */
26
+ compressionState: ParquetPageCompressionState;
27
+ /** Number of encoded values declared by the page header. */
28
+ valueCount: number;
29
+ /** Number of non-null values when the page header reports it directly. */
30
+ nonNullValueCount?: number;
31
+ /** Encoded page body without its Thrift page header. */
32
+ data: Uint8Array;
33
+ /** Repetition-level bytes, when their range can be known without decoding values. */
34
+ repetitionLevels?: ParquetEncodedPageSection;
35
+ /** Definition-level bytes, when their range can be known without decoding values. */
36
+ definitionLevels?: ParquetEncodedPageSection;
37
+ /** Value or dictionary bytes, when their range can be known before deferred decoding. */
38
+ values?: ParquetEncodedPageSection;
39
+ /** Compressed body byte length reported by the page header. */
40
+ compressedByteLength: number;
41
+ /** Uncompressed body byte length reported by the page header. */
42
+ uncompressedByteLength: number;
43
+ }>;
44
+ /** One projected Parquet leaf column whose encoded pages have not been value-decoded. */
45
+ export type ParquetEncodedColumnChunk = Readonly<{
46
+ /** Nested Parquet schema path. */
47
+ path: readonly string[];
48
+ /** Physical Parquet scalar type. */
49
+ physicalType: string;
50
+ /** Fixed byte width for FIXED_LEN_BYTE_ARRAY columns. */
51
+ typeLength?: number;
52
+ /** Maximum repetition level for this leaf column. */
53
+ maxRepetitionLevel: number;
54
+ /** Maximum definition level for this leaf column. */
55
+ maxDefinitionLevel: number;
56
+ /** Compression codec declared by the column chunk. */
57
+ compression: string;
58
+ /** Number of encoded values declared by the column chunk. */
59
+ valueCount: number;
60
+ /** Optional dictionary page associated only with this column chunk. */
61
+ dictionary?: ParquetEncodedPage;
62
+ /** Ordered data pages in this column chunk. */
63
+ pages: readonly ParquetEncodedPage[];
64
+ }>;
65
+ /** Exact filters a deferred decoder must apply after conservative metadata pruning. */
66
+ export type ParquetDeferredPageFilter = Readonly<{
67
+ /** Exact scalar predicate requested by the caller. */
68
+ predicate?: ParquetPredicate;
69
+ /** Exact spatial extent requested by the caller. */
70
+ bbox?: ParquetBoundingBox;
71
+ /** Geometry column associated with `bbox`. */
72
+ geometryColumn?: string;
73
+ }>;
74
+ /** Candidate encoded pages returned for one Parquet row group. */
75
+ export type ParquetEncodedPageBatch = Readonly<{
76
+ /** Stable discriminator for transport-neutral deferred Parquet pages. */
77
+ shape: 'parquet-encoded-pages';
78
+ /** Normalized row-group metadata. */
79
+ rowGroup: ParquetRowGroupMetadata;
80
+ /** Columns explicitly requested for final output. Empty means all columns. */
81
+ projectedColumns: readonly string[];
82
+ /** Hidden columns included so a deferred decoder can evaluate residual filters. */
83
+ filterColumns: readonly string[];
84
+ /** Ordered selected column chunks. Each chunk retains its complete nested schema path. */
85
+ columns: readonly ParquetEncodedColumnChunk[];
86
+ /** Exact work left after loaders.gl's conservative statistics and Bloom-filter pruning. */
87
+ residualFilter?: ParquetDeferredPageFilter;
88
+ }>;
89
+ /** Options for reading encoded Parquet pages without materializing values or Arrow arrays. */
90
+ export type ParquetEncodedPageReadOptions = Readonly<{
91
+ /** Zero-based row-group indexes to inspect, in output order. Defaults to all row groups. */
92
+ rowGroups?: readonly number[];
93
+ /** Top-level output columns. Defaults to all columns. */
94
+ columns?: readonly string[];
95
+ /** Retains candidate row groups for which the callback returns true. */
96
+ rowGroupFilter?: (rowGroup: ParquetRowGroupMetadata) => boolean;
97
+ /** Exact predicate used for conservative pruning and returned as residual work. */
98
+ predicate?: ParquetPredicate;
99
+ /** Spatial extent used for conservative pruning and returned as residual work. */
100
+ bbox?: ParquetBoundingBox;
101
+ /** Geometry column associated with `bbox`; defaults to the GeoParquet primary column. */
102
+ geometryColumn?: string;
103
+ /** Compression codecs to preserve for a downstream decoder instead of inflating on the CPU. */
104
+ preserveCompression?: readonly string[];
105
+ /** Abort this page read and its outstanding range requests. */
106
+ signal?: AbortSignal;
107
+ }>;
108
+ //# sourceMappingURL=parquet-encoded-page-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-encoded-page-types.d.ts","sourceRoot":"","sources":["../src/parquet-encoded-page-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACxB,kCAA+B;AAEhC,sDAAsD;AACtD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC/C,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,MAAM,2BAA2B,GAAG,YAAY,GAAG,cAAc,CAAC;AAExE,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,uCAAuC;IACvC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3C,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wEAAwE;IACxE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,gBAAgB,EAAE,2BAA2B,CAAC;IAC9C,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wDAAwD;IACxD,IAAI,EAAE,UAAU,CAAC;IACjB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,yFAAyF;IACzF,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC,CAAC;AAEH,yFAAyF;AACzF,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC/C,kCAAkC;IAClC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,+CAA+C;IAC/C,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACtC,CAAC,CAAC;AAEH,uFAAuF;AACvF,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC/C,sDAAsD;IACtD,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,oDAAoD;IACpD,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,yEAAyE;IACzE,KAAK,EAAE,uBAAuB,CAAC;IAC/B,qCAAqC;IACrC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,8EAA8E;IAC9E,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,mFAAmF;IACnF,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,0FAA0F;IAC1F,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC9C,2FAA2F;IAC3F,cAAc,CAAC,EAAE,yBAAyB,CAAC;CAC5C,CAAC,CAAC;AAEH,8FAA8F;AAC9F,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,4FAA4F;IAC5F,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,yDAAyD;IACzD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,wEAAwE;IACxE,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC;IAChE,mFAAmF;IACnF,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,kFAAkF;IAClF,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,yFAAyF;IACzF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ export {};
5
+ //# sourceMappingURL=parquet-encoded-page-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-encoded-page-types.js","sourceRoot":"","sources":["../src/parquet-encoded-page-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC"}
@@ -1,6 +1,8 @@
1
1
  export declare const ParquetFormat: {
2
2
  readonly name: "Apache Parquet";
3
3
  readonly category: "table";
4
+ readonly encoding: "parquet";
5
+ readonly format: "parquet";
4
6
  readonly extensions: ["parquet"];
5
7
  readonly mimeTypes: ["application/octet-stream"];
6
8
  readonly binary: true;
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-format.d.ts","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa;;;;;;;CAOU,CAAC"}
1
+ {"version":3,"file":"parquet-format.d.ts","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa;;;;;;;;;CASU,CAAC"}
@@ -4,6 +4,8 @@
4
4
  export const ParquetFormat = {
5
5
  name: 'Apache Parquet',
6
6
  category: 'table',
7
+ encoding: 'parquet',
8
+ format: 'parquet',
7
9
  extensions: ['parquet'],
8
10
  mimeTypes: ['application/octet-stream'],
9
11
  binary: true,
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-format.js","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,0BAA0B,CAAC;IACvC,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;CACW,CAAC"}
1
+ {"version":3,"file":"parquet-format.js","sourceRoot":"","sources":["../src/parquet-format.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,0BAA0B,CAAC;IACvC,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;CACW,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { ArrowTable, ArrowTableBatch, ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
2
+ import type { ParquetJSLoaderOptions } from "./parquet-loader-options.js";
3
+ /** Preloads the parser-bearing TypeScript Parquet loader implementation. */
4
+ declare function preloadParquetJSLoader(): Promise<{
5
+ readonly worker: false;
6
+ readonly parse: (arrayBuffer: ArrayBuffer, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
7
+ readonly parseFile: (file: import("@loaders.gl/loader-utils").ReadableFile, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
8
+ readonly parseFileInBatches: (file: import("@loaders.gl/loader-utils").ReadableFile, options?: ParquetJSLoaderOptions) => AsyncIterable<ArrowTableBatch> | AsyncIterable<ObjectRowTableBatch>;
9
+ readonly parseInBatches: (asyncIterator: AsyncIterable<ArrayBufferLike | ArrayBufferView> | Iterable<ArrayBufferLike | ArrayBufferView>, options?: ParquetJSLoaderOptions, _context?: unknown) => AsyncGenerator<ObjectRowTableBatch | ArrowTableBatch, void, any>;
10
+ readonly dataType: ObjectRowTable | ArrowTable;
11
+ readonly batchType: ObjectRowTableBatch | ArrowTableBatch;
12
+ readonly id: "parquet-js";
13
+ readonly module: "parquet";
14
+ readonly version: any;
15
+ readonly options: {
16
+ readonly parquet: {
17
+ columns: undefined;
18
+ preserveBinary: boolean;
19
+ verifyFooterSignature: boolean;
20
+ shape: "arrow-table";
21
+ };
22
+ };
23
+ readonly name: "Apache Parquet";
24
+ readonly category: "table";
25
+ readonly encoding: "parquet";
26
+ readonly format: "parquet";
27
+ readonly extensions: ["parquet"];
28
+ readonly mimeTypes: ["application/octet-stream"];
29
+ readonly binary: true;
30
+ readonly tests: ["PAR1", "PARE"];
31
+ }>;
32
+ /** Metadata-only Parquet loader backed by the experimental TypeScript implementation. */
33
+ export declare const ParquetJSLoader: {
34
+ readonly dataType: ObjectRowTable | ArrowTable;
35
+ readonly batchType: ObjectRowTableBatch | ArrowTableBatch;
36
+ readonly id: "parquet-js";
37
+ readonly module: "parquet";
38
+ readonly version: any;
39
+ readonly worker: false;
40
+ readonly options: {
41
+ readonly parquet: {
42
+ columns: undefined;
43
+ preserveBinary: boolean;
44
+ verifyFooterSignature: boolean;
45
+ shape: "arrow-table";
46
+ };
47
+ };
48
+ readonly preload: typeof preloadParquetJSLoader;
49
+ readonly name: "Apache Parquet";
50
+ readonly category: "table";
51
+ readonly encoding: "parquet";
52
+ readonly format: "parquet";
53
+ readonly extensions: ["parquet"];
54
+ readonly mimeTypes: ["application/octet-stream"];
55
+ readonly binary: true;
56
+ readonly tests: ["PAR1", "PARE"];
57
+ };
58
+ export {};
59
+ //# sourceMappingURL=parquet-js-loader-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-js-loader-types.d.ts","sourceRoot":"","sources":["../src/parquet-js-loader-types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAC,sBAAsB,EAAC,oCAAiC;AAcrE,4EAA4E;AAC5E,iBAAe,sBAAsB;;;;;;uBASN,cAAc,GAAG,UAAU;wBAC1B,mBAAmB,GAAG,eAAe;;;;;;;;;;;;;;;;;;;;GAPpE;AAED,yFAAyF;AACzF,eAAO,MAAM,eAAe;uBAGG,cAAc,GAAG,UAAU;wBAC1B,mBAAmB,GAAG,eAAe;;;;;;;;;;;;;;;;;;;;;;CAcpE,CAAC"}
@@ -0,0 +1,34 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { ParquetFormat } from "./parquet-format.js";
5
+ // __VERSION__ is injected by babel-plugin-version-inline
6
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
7
+ const VERSION = typeof "5.0.0-alpha.10" !== 'undefined' ? "5.0.0-alpha.10" : 'latest';
8
+ /** Default option bag for the experimental TypeScript-backed Parquet loader. */
9
+ const DEFAULT_PARQUET_JS_OPTIONS = {
10
+ columns: undefined,
11
+ preserveBinary: false,
12
+ verifyFooterSignature: true,
13
+ shape: 'arrow-table'
14
+ };
15
+ /** Preloads the parser-bearing TypeScript Parquet loader implementation. */
16
+ async function preloadParquetJSLoader() {
17
+ const { ParquetJSLoaderWithParser } = await import('@loaders.gl/parquet/parquet-js-loader');
18
+ return ParquetJSLoaderWithParser;
19
+ }
20
+ /** Metadata-only Parquet loader backed by the experimental TypeScript implementation. */
21
+ export const ParquetJSLoader = {
22
+ ...ParquetFormat,
23
+ dataType: null,
24
+ batchType: null,
25
+ id: 'parquet-js',
26
+ module: 'parquet',
27
+ version: VERSION,
28
+ worker: false,
29
+ options: {
30
+ parquet: DEFAULT_PARQUET_JS_OPTIONS
31
+ },
32
+ preload: preloadParquetJSLoader
33
+ };
34
+ //# sourceMappingURL=parquet-js-loader-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-js-loader-types.js","sourceRoot":"","sources":["../src/parquet-js-loader-types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAUpC,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAG/C,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,uBAAkB,KAAK,WAAW,CAAC,CAAC,kBAAa,CAAC,CAAC,QAAQ,CAAC;AAE5E,gFAAgF;AAChF,MAAM,0BAA0B,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,KAAK;IACrB,qBAAqB,EAAE,IAAI;IAC3B,KAAK,EAAE,aAAsB;CAC9B,CAAC;AAEF,4EAA4E;AAC5E,KAAK,UAAU,sBAAsB;IACnC,MAAM,EAAC,yBAAyB,EAAC,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;IAC1F,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,aAAa;IAEhB,QAAQ,EAAE,IAA8C;IACxD,SAAS,EAAE,IAAwD;IAEnE,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE;QACP,OAAO,EAAE,0BAA0B;KACpC;IACD,OAAO,EAAE,sBAAsB;CAKhC,CAAC"}
@@ -1,34 +1,30 @@
1
- import type { ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
2
- import { parseParquetFile, parseParquetFileInBatches } from "./lib/parsers/parse-parquet-to-json.js";
3
- import { type ParquetJSONLoaderOptions } from "./parquet-json-loader.js";
4
- /** Options for the TypeScript-backed `ParquetJSLoader`. */
5
- export type ParquetJSLoaderOptions = ParquetJSONLoaderOptions;
6
- /**
7
- * Parser-bearing Parquet loader that uses the built-in TypeScript decoder.
8
- *
9
- * This opt-in loader preserves the existing Parquet JSON-loader output while making the
10
- * TypeScript backend explicit. The legacy `ParquetLoader` alias remains unchanged.
11
- */
12
- export declare const ParquetJSLoader: {
13
- readonly id: "parquet-js";
1
+ import type { ReadableFile } from '@loaders.gl/loader-utils';
2
+ import type { ArrowTable, ArrowTableBatch, ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
3
+ import type { ParquetJSLoaderOptions } from "./parquet-loader-options.js";
4
+ /** Parser-bearing TypeScript-only Parquet loader implementation. */
5
+ export declare const ParquetJSLoaderWithParser: {
14
6
  readonly worker: false;
15
- readonly parse: (arrayBuffer: ArrayBuffer, options?: ParquetJSLoaderOptions) => Promise<ObjectRowTable>;
16
- readonly parseFile: typeof parseParquetFile;
17
- readonly parseFileInBatches: typeof parseParquetFileInBatches;
18
- readonly dataType: ObjectRowTable;
19
- readonly batchType: ObjectRowTableBatch;
7
+ readonly parse: (arrayBuffer: ArrayBuffer, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
8
+ readonly parseFile: (file: ReadableFile, options?: ParquetJSLoaderOptions) => Promise<ArrowTable> | Promise<ObjectRowTable>;
9
+ readonly parseFileInBatches: (file: ReadableFile, options?: ParquetJSLoaderOptions) => AsyncIterable<ArrowTableBatch> | AsyncIterable<ObjectRowTableBatch>;
10
+ readonly parseInBatches: (asyncIterator: AsyncIterable<ArrayBufferLike | ArrayBufferView> | Iterable<ArrayBufferLike | ArrayBufferView>, options?: ParquetJSLoaderOptions, _context?: unknown) => AsyncGenerator<ObjectRowTableBatch | ArrowTableBatch, void, any>;
11
+ readonly dataType: ObjectRowTable | ArrowTable;
12
+ readonly batchType: ObjectRowTableBatch | ArrowTableBatch;
13
+ readonly id: "parquet-js";
20
14
  readonly module: "parquet";
21
15
  readonly version: any;
22
16
  readonly options: {
23
17
  readonly parquet: {
24
- readonly columnList: [];
25
- readonly geoparquet: true;
26
- readonly url: undefined;
27
- readonly preserveBinary: false;
18
+ columns: undefined;
19
+ preserveBinary: boolean;
20
+ verifyFooterSignature: boolean;
21
+ shape: "arrow-table";
28
22
  };
29
23
  };
30
24
  readonly name: "Apache Parquet";
31
25
  readonly category: "table";
26
+ readonly encoding: "parquet";
27
+ readonly format: "parquet";
32
28
  readonly extensions: ["parquet"];
33
29
  readonly mimeTypes: ["application/octet-stream"];
34
30
  readonly binary: true;
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-js-loader.d.ts","sourceRoot":"","sources":["../src/parquet-js-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAC,gBAAgB,EAAE,yBAAyB,EAAC,+CAA4C;AAChG,OAAO,EAA0B,KAAK,wBAAwB,EAAC,iCAA8B;AAE7F,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;kCAIL,WAAW,YAAY,sBAAsB;;;;;;;;;;;;;;;;;;;;;CAI8B,CAAC"}
1
+ {"version":3,"file":"parquet-js-loader.d.ts","sourceRoot":"","sources":["../src/parquet-js-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAE7E,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,KAAK,EAAC,sBAAsB,EAAC,oCAAiC;AAarE,oEAAoE;AACpE,eAAO,MAAM,yBAAyB;;kCAGjB,WAAW,YAAY,sBAAsB;+BAOhD,YAAY,YAAY,sBAAsB;wCAMrC,YAAY,YAAY,sBAAsB;6CAQjE,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,YACrC,sBAAsB,aACrB,OAAO;;;;;;;;;;;;;;;;;;;;;;CAerB,CAAC"}
@@ -1,21 +1,60 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { BlobFile } from '@loaders.gl/loader-utils';
4
+ import { ArrayBufferFile, concatenateArrayBuffersAsync } from '@loaders.gl/loader-utils';
5
5
  import { parseParquetFile, parseParquetFileInBatches } from "./lib/parsers/parse-parquet-to-json.js";
6
- import { ParquetJSONWorkerLoader } from "./parquet-json-loader.js";
7
- /**
8
- * Parser-bearing Parquet loader that uses the built-in TypeScript decoder.
9
- *
10
- * This opt-in loader preserves the existing Parquet JSON-loader output while making the
11
- * TypeScript backend explicit. The legacy `ParquetLoader` alias remains unchanged.
12
- */
13
- export const ParquetJSLoader = {
14
- ...ParquetJSONWorkerLoader,
15
- id: 'parquet-js',
6
+ import { parseParquetFileToArrowInBatchesWithJs, parseParquetFileToArrowWithJs } from "./lib/parsers/parse-parquet-to-arrow-js.js";
7
+ import { normalizeParquetOptions } from "./lib/utils/normalize-parquet-options.js";
8
+ import { ParquetJSLoader as ParquetJSLoaderMetadata } from "./parquet-js-loader-types.js";
9
+ const { preload: _ParquetJSLoaderPreload, ...ParquetJSLoaderMetadataWithoutPreload } = ParquetJSLoaderMetadata;
10
+ /** Default option bag for the experimental TypeScript-backed Parquet loader. */
11
+ const DEFAULT_PARQUET_JS_OPTIONS = {
12
+ columns: undefined,
13
+ preserveBinary: false,
14
+ verifyFooterSignature: true,
15
+ shape: 'arrow-table'
16
+ };
17
+ /** Parser-bearing TypeScript-only Parquet loader implementation. */
18
+ export const ParquetJSLoaderWithParser = {
19
+ ...ParquetJSLoaderMetadataWithoutPreload,
16
20
  worker: false,
17
- parse: (arrayBuffer, options) => parseParquetFile(new BlobFile(arrayBuffer), options),
18
- parseFile: parseParquetFile,
19
- parseFileInBatches: parseParquetFileInBatches
21
+ parse(arrayBuffer, options) {
22
+ const parquetOptions = getParquetOptions(options);
23
+ const file = new ArrayBufferFile(arrayBuffer);
24
+ return parquetOptions.parquet?.shape === 'arrow-table'
25
+ ? parseParquetFileToArrowWithJs(file, parquetOptions)
26
+ : parseParquetFile(file, parquetOptions);
27
+ },
28
+ parseFile(file, options) {
29
+ const parquetOptions = getParquetOptions(options);
30
+ return parquetOptions.parquet?.shape === 'arrow-table'
31
+ ? parseParquetFileToArrowWithJs(file, parquetOptions)
32
+ : parseParquetFile(file, parquetOptions);
33
+ },
34
+ parseFileInBatches(file, options) {
35
+ const parquetOptions = getParquetOptions(options);
36
+ return parquetOptions.parquet?.shape === 'arrow-table'
37
+ ? parseParquetFileToArrowInBatchesWithJs(file, parquetOptions)
38
+ : parseParquetFileInBatches(file, parquetOptions);
39
+ },
40
+ async *parseInBatches(asyncIterator, options, _context) {
41
+ const arrayBuffer = await concatenateArrayBuffersAsync(asyncIterator);
42
+ const parquetOptions = getParquetOptions(options);
43
+ const file = new ArrayBufferFile(arrayBuffer);
44
+ if (parquetOptions.parquet?.shape === 'arrow-table') {
45
+ yield* parseParquetFileToArrowInBatchesWithJs(file, parquetOptions);
46
+ }
47
+ else {
48
+ yield* parseParquetFileInBatches(file, parquetOptions);
49
+ }
50
+ }
20
51
  };
52
+ /**
53
+ * Normalizes caller options for the TypeScript-backed Parquet loader.
54
+ * @param options caller-supplied loader options
55
+ * @returns normalized options with TypeScript defaults applied
56
+ */
57
+ function getParquetOptions(options) {
58
+ return normalizeParquetOptions(options, DEFAULT_PARQUET_JS_OPTIONS);
59
+ }
21
60
  //# sourceMappingURL=parquet-js-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-js-loader.js","sourceRoot":"","sources":["../src/parquet-js-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAC,gBAAgB,EAAE,yBAAyB,EAAC,+CAA4C;AAChG,OAAO,EAAC,uBAAuB,EAAgC,iCAA8B;AAK7F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,uBAAuB;IAC1B,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,CAAC,WAAwB,EAAE,OAAgC,EAAE,EAAE,CACpE,gBAAgB,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtD,SAAS,EAAE,gBAAgB;IAC3B,kBAAkB,EAAE,yBAAyB;CACmD,CAAC"}
1
+ {"version":3,"file":"parquet-js-loader.js","sourceRoot":"","sources":["../src/parquet-js-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,eAAe,EAAE,4BAA4B,EAAC,MAAM,0BAA0B,CAAC;AAOvF,OAAO,EAAC,gBAAgB,EAAE,yBAAyB,EAAC,+CAA4C;AAChG,OAAO,EACL,sCAAsC,EACtC,6BAA6B,EAC9B,mDAAgD;AACjD,OAAO,EAAC,uBAAuB,EAAC,iDAA8C;AAC9E,OAAO,EAAC,eAAe,IAAI,uBAAuB,EAAC,qCAAkC;AAGrF,MAAM,EAAC,OAAO,EAAE,uBAAuB,EAAE,GAAG,qCAAqC,EAAC,GAChF,uBAAuB,CAAC;AAE1B,gFAAgF;AAChF,MAAM,0BAA0B,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,KAAK;IACrB,qBAAqB,EAAE,IAAI;IAC3B,KAAK,EAAE,aAAsB;CAC9B,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,qCAAqC;IACxC,MAAM,EAAE,KAAK;IACb,KAAK,CAAC,WAAwB,EAAE,OAAgC;QAC9D,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,KAAK,aAAa;YACpD,CAAC,CAAC,6BAA6B,CAAC,IAAI,EAAE,cAAc,CAAC;YACrD,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,CAAC;IACD,SAAS,CAAC,IAAkB,EAAE,OAAgC;QAC5D,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,KAAK,aAAa;YACpD,CAAC,CAAC,6BAA6B,CAAC,IAAI,EAAE,cAAc,CAAC;YACrD,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7C,CAAC;IACD,kBAAkB,CAAC,IAAkB,EAAE,OAAgC;QACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,KAAK,aAAa;YACpD,CAAC,CAAC,sCAAsC,CAAC,IAAI,EAAE,cAAc,CAAC;YAC9D,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,CAAC,cAAc,CACnB,aAE+C,EAC/C,OAAgC,EAChC,QAAkB;QAElB,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC,aAAa,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,KAAK,aAAa,EAAE,CAAC;YACpD,KAAK,CAAC,CAAC,sCAAsC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CAKF,CAAC;AAEF;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAAgC;IACzD,OAAO,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,65 @@
1
+ import type { WriterOptions } from '@loaders.gl/loader-utils';
2
+ import type { Table } from '@loaders.gl/schema';
3
+ import type { ParquetSortingColumnOption } from "./parquetjs/encoder/parquet-encoder.js";
4
+ import type { ParquetWriterEncryptionOptions, ParquetWriterFooterSignatureOptions } from "./lib/parquet-encryption.js";
5
+ export type { ParquetSortingColumnOption } from "./parquetjs/encoder/parquet-encoder.js";
6
+ export type { ParquetWriterEncryptionOptions, ParquetWriterFooterSignatureOptions } from "./lib/parquet-encryption.js";
7
+ /** Stable value encodings selectable by the TypeScript Parquet writer. */
8
+ export type ParquetJSWriterEncoding = 'PLAIN' | 'PLAIN_DICTIONARY' | 'BYTE_STREAM_SPLIT' | 'DELTA_BINARY_PACKED' | 'DELTA_LENGTH_BYTE_ARRAY' | 'DELTA_BYTE_ARRAY';
9
+ /** Encoder-specific options for the experimental parquetjs writer. */
10
+ type ParquetJSWriterEncoderOptions = {
11
+ /** Value encoding overrides keyed by top-level column name. */
12
+ columnEncodings?: Record<string, ParquetJSWriterEncoding>;
13
+ /** Enables dictionary pages globally when forced or size-beneficial. */
14
+ dictionary?: boolean | 'auto';
15
+ /** Dictionary policy overrides keyed by top-level column name. */
16
+ columnDictionaries?: Record<string, boolean | 'auto'>;
17
+ /** Maximum uncompressed PLAIN dictionary payload per column chunk. */
18
+ dictionaryPageSizeLimit?: number;
19
+ /** Emits Parquet split-block Bloom filters for selected columns. */
20
+ bloomFilter?: boolean | Record<string, boolean>;
21
+ /** Emits Parquet column and offset indexes for selected non-repeated columns. */
22
+ pageIndex?: boolean | Record<string, boolean>;
23
+ /** Emits CRC-32 checksums for every data and dictionary page. */
24
+ writePageChecksums?: boolean;
25
+ /** Emits optional SizeStatistics metadata for every column chunk. */
26
+ writeSizeStatistics?: boolean;
27
+ /** Emits min/max/null-count statistics for every column chunk. */
28
+ writeStatistics?: boolean | Record<string, boolean>;
29
+ /** Declares row-group sort keys using top-level or dotted nested leaf names. */
30
+ sortingColumns?: readonly ParquetSortingColumnOption[];
31
+ /** Encodes INT96 input values as epoch nanoseconds using the canonical Julian-day layout. */
32
+ int96AsTimestamp?: boolean;
33
+ /** Encrypt the footer using Parquet modular encryption. */
34
+ encryption?: ParquetWriterEncryptionOptions;
35
+ /** Authenticate a plaintext footer with a Parquet modular-encryption signature. */
36
+ footerSignature?: ParquetWriterFooterSignatureOptions;
37
+ rowGroupSize?: number;
38
+ pageSize?: number;
39
+ useDataPageV2?: boolean;
40
+ };
41
+ /** Public options for the parquetjs-backed plain-table writer. */
42
+ export type ParquetJSWriterOptions = WriterOptions & {
43
+ parquet?: {
44
+ [Key in keyof ParquetJSWriterEncoderOptions]?: ParquetJSWriterEncoderOptions[Key];
45
+ };
46
+ };
47
+ /** Plain-row Parquet writer backed by the experimental parquetjs implementation. */
48
+ export declare const ParquetJSWriter: {
49
+ readonly id: "parquet-js";
50
+ readonly module: "parquet";
51
+ readonly version: any;
52
+ readonly options: {
53
+ readonly parquet: {};
54
+ };
55
+ readonly encode: (table: Table, options?: ParquetJSWriterOptions) => Promise<ArrayBuffer>;
56
+ readonly name: "Apache Parquet";
57
+ readonly category: "table";
58
+ readonly encoding: "parquet";
59
+ readonly format: "parquet";
60
+ readonly extensions: ["parquet"];
61
+ readonly mimeTypes: ["application/octet-stream"];
62
+ readonly binary: true;
63
+ readonly tests: ["PAR1", "PARE"];
64
+ };
65
+ //# sourceMappingURL=parquet-js-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-js-writer.d.ts","sourceRoot":"","sources":["../src/parquet-js-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAoB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAiB,KAAK,EAAa,MAAM,oBAAoB,CAAC;AAM1E,OAAO,KAAK,EAAC,0BAA0B,EAAC,+CAA4C;AACpF,OAAO,KAAK,EACV,8BAA8B,EAC9B,mCAAmC,EACpC,oCAAiC;AAElC,YAAY,EAAC,0BAA0B,EAAC,+CAA4C;AACpF,YAAY,EACV,8BAA8B,EAC9B,mCAAmC,EACpC,oCAAiC;AAMlC,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAC/B,OAAO,GACP,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,yBAAyB,GACzB,kBAAkB,CAAC;AAEvB,sEAAsE;AACtE,KAAK,6BAA6B,GAAG;IACnC,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC1D,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IACtD,sEAAsE;IACtE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,gFAAgF;IAChF,cAAc,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACvD,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,8BAA8B,CAAC;IAC5C,mFAAmF;IACnF,eAAe,CAAC,EAAE,mCAAmC,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,OAAO,CAAC,EAAE;SACP,GAAG,IAAI,MAAM,6BAA6B,CAAC,CAAC,EAAE,6BAA6B,CAAC,GAAG,CAAC;KAClF,CAAC;CACH,CAAC;AAKF,oFAAoF;AACpF,eAAO,MAAM,eAAe;;;;;;;6BAQN,KAAK,YAAY,sBAAsB;;;;;;;;;CASoB,CAAC"}
@@ -0,0 +1,28 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { convertTable, deduceTableSchema } from '@loaders.gl/schema-utils';
5
+ import { normalizeParquetOptions } from "./lib/utils/normalize-parquet-options.js";
6
+ import { encodeTableToParquetJs } from "./lib/encoders/encode-table-to-parquet-js.js";
7
+ import { ParquetFormat } from "./parquet-format.js";
8
+ // __VERSION__ is injected by babel-plugin-version-inline
9
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
10
+ const VERSION = typeof "5.0.0-alpha.10" !== 'undefined' ? "5.0.0-alpha.10" : 'latest';
11
+ /** Default option bag for the experimental parquetjs writer. */
12
+ const DEFAULT_PARQUET_JS_OPTIONS = {};
13
+ /** Plain-row Parquet writer backed by the experimental parquetjs implementation. */
14
+ export const ParquetJSWriter = {
15
+ ...ParquetFormat,
16
+ id: 'parquet-js',
17
+ module: 'parquet',
18
+ version: VERSION,
19
+ options: {
20
+ parquet: DEFAULT_PARQUET_JS_OPTIONS
21
+ },
22
+ async encode(table, options) {
23
+ const schema = table.schema || deduceTableSchema(table);
24
+ const objectRowTable = convertTable({ ...table, schema }, 'object-row-table');
25
+ return await encodeTableToParquetJs({ ...table, schema }, objectRowTable, normalizeParquetOptions(options, DEFAULT_PARQUET_JS_OPTIONS));
26
+ }
27
+ };
28
+ //# sourceMappingURL=parquet-js-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-js-writer.js","sourceRoot":"","sources":["../src/parquet-js-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAEzE,OAAO,EAAC,uBAAuB,EAAC,iDAA8C;AAC9E,OAAO,EAAC,sBAAsB,EAAC,qDAAkD;AACjF,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAa/C,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,uBAAkB,KAAK,WAAW,CAAC,CAAC,kBAAa,CAAC,CAAC,QAAQ,CAAC;AAmD5E,gEAAgE;AAChE,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,oFAAoF;AACpF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,aAAa;IAChB,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACP,OAAO,EAAE,0BAA0B;KACpC;IACD,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,OAAgC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,YAAY,CAAC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAC,EAAE,kBAAkB,CAAmB,CAAC;QAC9F,OAAO,MAAM,sBAAsB,CACjC,EAAC,GAAG,KAAK,EAAE,MAAM,EAAC,EAClB,cAAc,EACd,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAC7D,CAAC;IACJ,CAAC;CAC8E,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { ArrowTable, ArrowTableBatch, ObjectRowTable, ObjectRowTableBatch } from '@loaders.gl/schema';
2
+ /** Shared Parquet loader metadata without parser preloading or worker delivery policy. */
3
+ export declare const PARQUET_LOADER_BASE: {
4
+ readonly dataType: ObjectRowTable | ArrowTable;
5
+ readonly batchType: ObjectRowTableBatch | ArrowTableBatch;
6
+ readonly id: "parquet";
7
+ readonly module: "parquet";
8
+ readonly version: any;
9
+ readonly options: {
10
+ readonly parquet: {
11
+ readonly columns: undefined;
12
+ readonly preserveBinary: false;
13
+ readonly shape: "arrow-table";
14
+ };
15
+ };
16
+ readonly name: "Apache Parquet";
17
+ readonly category: "table";
18
+ readonly encoding: "parquet";
19
+ readonly format: "parquet";
20
+ readonly extensions: ["parquet"];
21
+ readonly mimeTypes: ["application/octet-stream"];
22
+ readonly binary: true;
23
+ readonly tests: ["PAR1", "PARE"];
24
+ };
25
+ //# sourceMappingURL=parquet-loader-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-loader-base.d.ts","sourceRoot":"","sources":["../src/parquet-loader-base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAS5B,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB;uBAGD,cAAc,GAAG,UAAU;wBAC1B,mBAAmB,GAAG,eAAe;;;;;;;;;;;;;;;;;;;CAU3D,CAAC"}
@@ -0,0 +1,23 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { ParquetFormat } from "./parquet-format.js";
5
+ import { PARQUET_LOADER_DEFAULT_OPTIONS } from "./parquet-loader-options.js";
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof "5.0.0-alpha.10" !== 'undefined' ? "5.0.0-alpha.10" : 'latest';
9
+ /** Shared Parquet loader metadata without parser preloading or worker delivery policy. */
10
+ export const PARQUET_LOADER_BASE = {
11
+ ...ParquetFormat,
12
+ dataType: null,
13
+ batchType: null,
14
+ id: 'parquet',
15
+ module: 'parquet',
16
+ version: VERSION,
17
+ options: {
18
+ parquet: {
19
+ ...PARQUET_LOADER_DEFAULT_OPTIONS
20
+ }
21
+ }
22
+ };
23
+ //# sourceMappingURL=parquet-loader-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-loader-base.js","sourceRoot":"","sources":["../src/parquet-loader-base.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AASpC,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAC/C,OAAO,EAAC,8BAA8B,EAAC,oCAAiC;AAExE,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,OAAO,GAAG,uBAAkB,KAAK,WAAW,CAAC,CAAC,kBAAa,CAAC,CAAC,QAAQ,CAAC;AAE5E,0FAA0F;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,aAAa;IAEhB,QAAQ,EAAE,IAA8C;IACxD,SAAS,EAAE,IAAwD;IAEnE,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACP,OAAO,EAAE;YACP,GAAG,8BAA8B;SAClC;KACF;CACO,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { LoaderOptions } from '@loaders.gl/loader-utils';
2
+ import type { ParquetKeyRetriever } from "./lib/parquet-encryption.js";
3
+ /** Shared row-level options supported by both Parquet backends. */
4
+ type ParquetCommonLoaderOptions = {
5
+ /** @deprecated Use `_scan.limit` instead. */
6
+ limit?: number;
7
+ offset?: number;
8
+ batchSize?: number;
9
+ /** @deprecated Use `_scan.columns` instead for logical projection. */
10
+ columns?: string[];
11
+ preserveBinary?: boolean;
12
+ /** Decode legacy INT96 values as Arrow timestamp-nanosecond values. */
13
+ int96AsTimestamp?: boolean;
14
+ };
15
+ /** Additional options supported by the wasm-backed Parquet reader. */
16
+ type ParquetWasmLoaderOptions = ParquetCommonLoaderOptions & {
17
+ rowGroups?: number[];
18
+ concurrency?: number;
19
+ /** Cancels an active worker parse by terminating its worker. */
20
+ signal?: AbortSignal;
21
+ /** Overrides the packaged Parquet worker asset URL. */
22
+ workerUrl?: string;
23
+ /** Overrides the package-local parquet-wasm binary URL. */
24
+ wasmUrl?: string;
25
+ };
26
+ /** Public options for the wasm-backed `ParquetLoader` and `GeoParquetLoader`. */
27
+ export type ParquetLoaderOptions = LoaderOptions & {
28
+ parquet?: {
29
+ shape?: 'object-row-table' | 'arrow-table';
30
+ } & {
31
+ [Key in keyof ParquetWasmLoaderOptions]?: ParquetWasmLoaderOptions[Key];
32
+ };
33
+ };
34
+ /** Public options for the experimental parquetjs-backed `ParquetJSLoader`. */
35
+ export type ParquetJSLoaderOptions = LoaderOptions & {
36
+ parquet?: {
37
+ shape?: 'object-row-table' | 'arrow-table';
38
+ /** Resolves modular-encryption keys from file and column key metadata. */
39
+ keyRetriever?: ParquetKeyRetriever;
40
+ /** AAD prefix for encrypted files that intentionally omit it from metadata. */
41
+ aadPrefix?: Uint8Array;
42
+ /** Verify plaintext-footer signatures when present. Enabled by default. */
43
+ verifyFooterSignature?: boolean;
44
+ } & {
45
+ [Key in keyof ParquetCommonLoaderOptions]?: ParquetCommonLoaderOptions[Key];
46
+ };
47
+ };
48
+ /** Shared default option bag for the wasm-backed Parquet loaders. */
49
+ export declare const PARQUET_LOADER_DEFAULT_OPTIONS: {
50
+ readonly columns: undefined;
51
+ readonly preserveBinary: false;
52
+ readonly shape: "arrow-table";
53
+ };
54
+ export {};
55
+ //# sourceMappingURL=parquet-loader-options.d.ts.map