@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
@@ -3,41 +3,46 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  // Copyright (c) 2017 ironSource Ltd.
5
5
  // Forked from https://github.com/kbajalc/parquets under MIT license
6
- import { TBufferedTransport, TCompactProtocol, TFramedTransport, FileMetaData, PageHeader } from "../parquet-thrift/index.js";
7
- class UFramedTransport extends TFramedTransport {
8
- readPos = 0;
9
- }
6
+ import { ColumnMetaData, FileCryptoMetaData, FileMetaData, PageHeader } from "../parquet-thrift/index.js";
7
+ import { Uint8ArrayCompactProtocol } from "./uint8-array-compact-protocol.js";
8
+ import { Uint8ArrayCompactProtocolWriter } from "./uint8-array-compact-protocol-writer.js";
9
+ import { Uint8ArrayTransport } from "./uint8-array-transport.js";
10
10
  /**
11
11
  * Helper function that serializes a thrift object into a buffer
12
12
  */
13
13
  export function serializeThrift(obj) {
14
- const output = [];
15
- const transport = new TBufferedTransport(undefined, (buf) => {
16
- output.push(buf);
17
- });
18
- const protocol = new TCompactProtocol(transport);
14
+ const protocol = new Uint8ArrayCompactProtocolWriter();
19
15
  obj.write(protocol);
20
- transport.flush();
21
- return Buffer.concat(output);
16
+ return protocol.getBytes();
22
17
  }
23
18
  export function decodeThrift(obj, buf, offset) {
24
19
  if (!offset) {
25
20
  // tslint:disable-next-line:no-parameter-reassignment
26
21
  offset = 0;
27
22
  }
28
- const transport = new UFramedTransport(buf);
23
+ const transport = new Uint8ArrayTransport(buf);
29
24
  transport.readPos = offset;
30
- const protocol = new TCompactProtocol(transport);
25
+ const protocol = new Uint8ArrayCompactProtocol(transport);
31
26
  obj.read(protocol);
32
27
  return transport.readPos - offset;
33
28
  }
34
29
  /**
35
- * FIXME not ideal that this is linear
30
+ * Returns the generated TypeScript enum member for a Thrift value.
31
+ * @param thriftEnum generated numeric enum object
32
+ * @param value serialized enum value
33
+ * @returns enum member name
36
34
  */
37
- export function getThriftEnum(klass, value) {
38
- for (const k in klass) {
39
- if (klass[k] === value) {
40
- return k;
35
+ export function getThriftEnum(thriftEnum, value) {
36
+ const enumValues = thriftEnum;
37
+ if (typeof value === 'number') {
38
+ const enumName = enumValues[value];
39
+ if (typeof enumName === 'string') {
40
+ return enumName;
41
+ }
42
+ }
43
+ for (const enumName in enumValues) {
44
+ if (enumValues[enumName] === value) {
45
+ return enumName;
41
46
  }
42
47
  }
43
48
  throw new Error('Invalid ENUM value');
@@ -47,20 +52,40 @@ export function decodeFileMetadata(buf, offset) {
47
52
  // tslint:disable-next-line:no-parameter-reassignment
48
53
  offset = 0;
49
54
  }
50
- const transport = new UFramedTransport(buf);
55
+ const transport = new Uint8ArrayTransport(buf);
51
56
  transport.readPos = offset;
52
- const protocol = new TCompactProtocol(transport);
57
+ const protocol = new Uint8ArrayCompactProtocol(transport);
53
58
  const metadata = FileMetaData.read(protocol);
54
59
  return { length: transport.readPos - offset, metadata };
55
60
  }
61
+ /** Decodes the FileCryptoMetaData prefix used by encrypted-footer files. */
62
+ export function decodeFileCryptoMetadata(buf, offset) {
63
+ if (!offset)
64
+ offset = 0;
65
+ const transport = new Uint8ArrayTransport(buf);
66
+ transport.readPos = offset;
67
+ const protocol = new Uint8ArrayCompactProtocol(transport);
68
+ const metadata = FileCryptoMetaData.read(protocol);
69
+ return { length: transport.readPos - offset, metadata };
70
+ }
71
+ /** Decodes a serialized ColumnMetaData encryption module. */
72
+ export function decodeColumnMetadata(buf, offset) {
73
+ if (!offset)
74
+ offset = 0;
75
+ const transport = new Uint8ArrayTransport(buf);
76
+ transport.readPos = offset;
77
+ const protocol = new Uint8ArrayCompactProtocol(transport);
78
+ const metadata = ColumnMetaData.read(protocol);
79
+ return { length: transport.readPos - offset, metadata };
80
+ }
56
81
  export function decodePageHeader(buf, offset) {
57
82
  if (!offset) {
58
83
  // tslint:disable-next-line:no-parameter-reassignment
59
84
  offset = 0;
60
85
  }
61
- const transport = new UFramedTransport(buf);
86
+ const transport = new Uint8ArrayTransport(buf);
62
87
  transport.readPos = offset;
63
- const protocol = new TCompactProtocol(transport);
88
+ const protocol = new Uint8ArrayCompactProtocol(transport);
64
89
  const pageHeader = PageHeader.read(protocol);
65
90
  return { length: transport.readPos - offset, pageHeader };
66
91
  }
@@ -74,27 +99,29 @@ export function getBitWidth(val) {
74
99
  }
75
100
  return Math.ceil(Math.log2(val + 1));
76
101
  }
77
- // Supports MQTT path wildcards
78
- // + all immediate children
79
- // # all descendents
102
+ /**
103
+ * Finds the selected field path that contains a Parquet leaf path.
104
+ * A selected parent includes all descendant leaves. MQTT-style `+` and `#` path wildcards are
105
+ * retained for internal callers (`+` matches one segment and `#` matches all remaining segments).
106
+ */
80
107
  export function fieldIndexOf(arr, elem) {
81
- for (let j = 0; j < arr.length; j++) {
82
- if (arr[j].length > elem.length) {
83
- continue; // eslint-disable-line no-continue
84
- }
85
- let m = true;
86
- for (let i = 0; i < elem.length; i++) {
87
- if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {
88
- continue; // eslint-disable-line no-continue
108
+ for (let fieldIndex = 0; fieldIndex < arr.length; fieldIndex++) {
109
+ const selectedPath = arr[fieldIndex];
110
+ let matches = true;
111
+ for (let pathIndex = 0; pathIndex < selectedPath.length; pathIndex++) {
112
+ const selectedSegment = selectedPath[pathIndex];
113
+ if (selectedSegment === '#') {
114
+ return fieldIndex;
89
115
  }
90
- if (i >= arr[j].length && arr[j][arr[j].length - 1] === '#') {
91
- continue; // eslint-disable-line no-continue
116
+ if (pathIndex >= elem.length ||
117
+ (selectedSegment !== '+' && selectedSegment !== elem[pathIndex])) {
118
+ matches = false;
119
+ break;
92
120
  }
93
- m = false;
94
- break;
95
121
  }
96
- if (m)
97
- return j;
122
+ if (matches) {
123
+ return fieldIndex;
124
+ }
98
125
  }
99
126
  return -1;
100
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-utils.js","sourceRoot":"","sources":["../../../src/parquetjs/utils/read-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-utils.js","sourceRoot":"","sources":["../../../src/parquetjs/utils/read-utils.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AACpC,qCAAqC;AACrC,oEAAoE;AAEpE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACX,mCAAgC;AACjC,OAAO,EAAC,yBAAyB,EAAC,0CAAuC;AACzE,OAAO,EAAC,+BAA+B,EAAC,iDAA8C;AACtF,OAAO,EAAC,mBAAmB,EAAC,mCAAgC;AAE5D;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,MAAM,QAAQ,GAAG,IAAI,+BAA+B,EAAE,CAAC;IACvD,GAAG,CAAC,KAAK,CAAC,QAAe,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAQ,EAAE,GAAe,EAAE,MAAe;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,qDAAqD;QACrD,MAAM,GAAG,CAAC,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnB,OAAO,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,KAAsB;IACtE,MAAM,UAAU,GAAG,UAAsD,CAAC;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAe,EAAE,MAAe;IACjE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,qDAAqD;QACrD,MAAM,GAAG,CAAC,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;IACpD,OAAO,EAAC,MAAM,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,wBAAwB,CAAC,GAAe,EAAE,MAAe;IACvE,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;IAC1D,OAAO,EAAC,MAAM,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAC,CAAC;AACxD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,GAAe,EAAE,MAAe;IACnE,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;IACtD,OAAO,EAAC,MAAM,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAe,EAAE,MAAe;IAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,qDAAqD;QACrD,MAAM,GAAG,CAAC,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;IACpD,OAAO,EAAC,MAAM,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,EAAE,UAAU,EAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;QACT,gDAAgD;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAe,EAAE,IAAc;IAC1D,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;QAC/D,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YACrE,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IACE,SAAS,IAAI,IAAI,CAAC,MAAM;gBACxB,CAAC,eAAe,KAAK,GAAG,IAAI,eAAe,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAChE,CAAC;gBACD,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"}
@@ -0,0 +1,106 @@
1
+ /** Minimal Thrift runtime types needed by the generated Parquet metadata classes. */
2
+ export declare namespace Thrift {
3
+ /** Thrift wire types used by the Parquet compact protocol. */
4
+ enum Type {
5
+ STOP = 0,
6
+ VOID = 1,
7
+ BOOL = 2,
8
+ BYTE = 3,
9
+ DOUBLE = 4,
10
+ I16 = 6,
11
+ I32 = 8,
12
+ I64 = 10,
13
+ STRING = 11,
14
+ STRUCT = 12,
15
+ MAP = 13,
16
+ SET = 14,
17
+ LIST = 15,
18
+ UTF8 = 16,
19
+ UTF16 = 17
20
+ }
21
+ /** Protocol failure categories retained for generated-code compatibility. */
22
+ enum TProtocolExceptionType {
23
+ UNKNOWN = 0,
24
+ INVALID_DATA = 1,
25
+ NEGATIVE_SIZE = 2,
26
+ SIZE_LIMIT = 3,
27
+ BAD_VERSION = 4,
28
+ NOT_IMPLEMENTED = 5,
29
+ DEPTH_LIMIT = 6
30
+ }
31
+ /** Error raised when generated metadata cannot be encoded or decoded. */
32
+ class TProtocolException extends Error {
33
+ /** Thrift protocol error category. */
34
+ readonly type: TProtocolExceptionType;
35
+ /** Creates a protocol exception without importing the Node-oriented thrift package. */
36
+ constructor(type: TProtocolExceptionType, message?: string);
37
+ }
38
+ }
39
+ /** Thrift struct descriptor returned by compact-protocol readers. */
40
+ export type TStruct = {
41
+ fname: string;
42
+ };
43
+ /** Thrift field descriptor returned by compact-protocol readers. */
44
+ export type TField = {
45
+ fname: string;
46
+ ftype: Thrift.Type;
47
+ fid: number;
48
+ };
49
+ /** Thrift map descriptor returned by compact-protocol readers. */
50
+ export type TMap = {
51
+ ktype: Thrift.Type;
52
+ vtype: Thrift.Type;
53
+ size: number;
54
+ };
55
+ /** Thrift list descriptor returned by compact-protocol readers. */
56
+ export type TList = {
57
+ etype: Thrift.Type;
58
+ size: number;
59
+ };
60
+ /** Thrift set descriptor returned by compact-protocol readers. */
61
+ export type TSet = TList;
62
+ /**
63
+ * Compact-protocol surface consumed by the generated Parquet metadata classes.
64
+ * Binary values use typed-array views and remain browser-native.
65
+ */
66
+ export interface TProtocol {
67
+ writeStructBegin(name: string): void;
68
+ writeStructEnd(): void;
69
+ writeFieldBegin(name: string, fieldType: Thrift.Type, fieldId: number): void;
70
+ writeFieldEnd(): void;
71
+ writeFieldStop(): void;
72
+ writeMapBegin(keyType: Thrift.Type, valueType: Thrift.Type, size: number): void;
73
+ writeMapEnd(): void;
74
+ writeListBegin(elementType: Thrift.Type, size: number): void;
75
+ writeListEnd(): void;
76
+ writeSetBegin(elementType: Thrift.Type, size: number): void;
77
+ writeSetEnd(): void;
78
+ writeBool(value: boolean): void;
79
+ writeByte(value: number): void;
80
+ writeI16(value: number): void;
81
+ writeI32(value: number): void;
82
+ writeI64(value: unknown): void;
83
+ writeDouble(value: number): void;
84
+ writeString(value: string): void;
85
+ writeBinary(value: ArrayBuffer | ArrayBufferView): void;
86
+ readStructBegin(): TStruct;
87
+ readStructEnd(): void;
88
+ readFieldBegin(): TField;
89
+ readFieldEnd(): void;
90
+ readMapBegin(): TMap;
91
+ readMapEnd(): void;
92
+ readListBegin(): TList;
93
+ readListEnd(): void;
94
+ readSetBegin(): TSet;
95
+ readSetEnd(): void;
96
+ readBool(): boolean;
97
+ readByte(): number;
98
+ readI16(): number;
99
+ readI32(): number;
100
+ readI64(): any;
101
+ readDouble(): number;
102
+ readString(): string;
103
+ readBinary(): Uint8Array;
104
+ skip(type: Thrift.Type): void;
105
+ }
106
+ //# sourceMappingURL=thrift-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thrift-runtime.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/utils/thrift-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ /** Minimal Thrift runtime types needed by the generated Parquet metadata classes. */
5
+ export var Thrift;
6
+ (function (Thrift) {
7
+ /** Thrift wire types used by the Parquet compact protocol. */
8
+ let Type;
9
+ (function (Type) {
10
+ Type[Type["STOP"] = 0] = "STOP";
11
+ Type[Type["VOID"] = 1] = "VOID";
12
+ Type[Type["BOOL"] = 2] = "BOOL";
13
+ Type[Type["BYTE"] = 3] = "BYTE";
14
+ Type[Type["DOUBLE"] = 4] = "DOUBLE";
15
+ Type[Type["I16"] = 6] = "I16";
16
+ Type[Type["I32"] = 8] = "I32";
17
+ Type[Type["I64"] = 10] = "I64";
18
+ Type[Type["STRING"] = 11] = "STRING";
19
+ Type[Type["STRUCT"] = 12] = "STRUCT";
20
+ Type[Type["MAP"] = 13] = "MAP";
21
+ Type[Type["SET"] = 14] = "SET";
22
+ Type[Type["LIST"] = 15] = "LIST";
23
+ Type[Type["UTF8"] = 16] = "UTF8";
24
+ Type[Type["UTF16"] = 17] = "UTF16";
25
+ })(Type = Thrift.Type || (Thrift.Type = {}));
26
+ /** Protocol failure categories retained for generated-code compatibility. */
27
+ let TProtocolExceptionType;
28
+ (function (TProtocolExceptionType) {
29
+ TProtocolExceptionType[TProtocolExceptionType["UNKNOWN"] = 0] = "UNKNOWN";
30
+ TProtocolExceptionType[TProtocolExceptionType["INVALID_DATA"] = 1] = "INVALID_DATA";
31
+ TProtocolExceptionType[TProtocolExceptionType["NEGATIVE_SIZE"] = 2] = "NEGATIVE_SIZE";
32
+ TProtocolExceptionType[TProtocolExceptionType["SIZE_LIMIT"] = 3] = "SIZE_LIMIT";
33
+ TProtocolExceptionType[TProtocolExceptionType["BAD_VERSION"] = 4] = "BAD_VERSION";
34
+ TProtocolExceptionType[TProtocolExceptionType["NOT_IMPLEMENTED"] = 5] = "NOT_IMPLEMENTED";
35
+ TProtocolExceptionType[TProtocolExceptionType["DEPTH_LIMIT"] = 6] = "DEPTH_LIMIT";
36
+ })(TProtocolExceptionType = Thrift.TProtocolExceptionType || (Thrift.TProtocolExceptionType = {}));
37
+ /** Error raised when generated metadata cannot be encoded or decoded. */
38
+ class TProtocolException extends Error {
39
+ /** Thrift protocol error category. */
40
+ type;
41
+ /** Creates a protocol exception without importing the Node-oriented thrift package. */
42
+ constructor(type, message = 'Thrift protocol error') {
43
+ super(message);
44
+ this.name = 'TProtocolException';
45
+ this.type = type;
46
+ }
47
+ }
48
+ Thrift.TProtocolException = TProtocolException;
49
+ })(Thrift || (Thrift = {}));
50
+ //# sourceMappingURL=thrift-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thrift-runtime.js","sourceRoot":"","sources":["../../../src/parquetjs/utils/thrift-runtime.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,qFAAqF;AACrF,MAAM,KAAW,MAAM,CA2CtB;AA3CD,WAAiB,MAAM;IACrB,8DAA8D;IAC9D,IAAY,IAgBX;IAhBD,WAAY,IAAI;QACd,+BAAQ,CAAA;QACR,+BAAQ,CAAA;QACR,+BAAQ,CAAA;QACR,+BAAQ,CAAA;QACR,mCAAU,CAAA;QACV,6BAAO,CAAA;QACP,6BAAO,CAAA;QACP,8BAAQ,CAAA;QACR,oCAAW,CAAA;QACX,oCAAW,CAAA;QACX,8BAAQ,CAAA;QACR,8BAAQ,CAAA;QACR,gCAAS,CAAA;QACT,gCAAS,CAAA;QACT,kCAAU,CAAA;IACZ,CAAC,EAhBW,IAAI,GAAJ,WAAI,KAAJ,WAAI,QAgBf;IAED,6EAA6E;IAC7E,IAAY,sBAQX;IARD,WAAY,sBAAsB;QAChC,yEAAW,CAAA;QACX,mFAAgB,CAAA;QAChB,qFAAiB,CAAA;QACjB,+EAAc,CAAA;QACd,iFAAe,CAAA;QACf,yFAAmB,CAAA;QACnB,iFAAe,CAAA;IACjB,CAAC,EARW,sBAAsB,GAAtB,6BAAsB,KAAtB,6BAAsB,QAQjC;IAED,yEAAyE;IACzE,MAAa,kBAAmB,SAAQ,KAAK;QAC3C,sCAAsC;QAC7B,IAAI,CAAyB;QAEtC,uFAAuF;QACvF,YAAY,IAA4B,EAAE,OAAO,GAAG,uBAAuB;YACzE,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;KACF;IAVY,yBAAkB,qBAU9B,CAAA;AACH,CAAC,EA3CgB,MAAM,KAAN,MAAM,QA2CtB"}
@@ -0,0 +1,78 @@
1
+ import * as thrift from "./thrift-runtime.js";
2
+ type Int64Like = number | bigint | {
3
+ toString(radix?: number): string;
4
+ valueOf?: () => number;
5
+ };
6
+ /** Write-only Thrift compact protocol that assembles exact Uint8Array output. */
7
+ export declare class Uint8ArrayCompactProtocolWriter {
8
+ /** Serialized byte chunks accumulated by thrift write calls. */
9
+ private readonly chunks;
10
+ /** Field id at the current nesting depth, used to emit compact field-id deltas. */
11
+ private lastFieldId;
12
+ /** Parent struct field ids restored when nested structs end. */
13
+ private readonly lastFieldIds;
14
+ /** Boolean field header waiting for the following boolean payload. */
15
+ private pendingBooleanField;
16
+ /** Enter a struct and reset the delta-encoded field id state. */
17
+ writeStructBegin(_name: string): void;
18
+ /** Exit a struct and restore the parent field id state. */
19
+ writeStructEnd(): void;
20
+ /** Write a field header, deferring boolean fields until their value is known. */
21
+ writeFieldBegin(_name: string, fieldType: thrift.Thrift.Type, fid: number): void;
22
+ /** Complete the current field; compact protocol has no field-end bytes. */
23
+ writeFieldEnd(): void;
24
+ /** Write the stop marker that terminates a thrift struct. */
25
+ writeFieldStop(): void;
26
+ /** Write a map header with compact key/value element types. */
27
+ writeMapBegin(keyType: thrift.Thrift.Type, valueType: thrift.Thrift.Type, size: number): void;
28
+ /** Complete the current map; compact protocol has no map-end bytes. */
29
+ writeMapEnd(): void;
30
+ /** Write a list header with compact element type and element count. */
31
+ writeListBegin(elementType: thrift.Thrift.Type, size: number): void;
32
+ /** Complete the current list; compact protocol has no list-end bytes. */
33
+ writeListEnd(): void;
34
+ /** Write a set header with compact element type and element count. */
35
+ writeSetBegin(elementType: thrift.Thrift.Type, size: number): void;
36
+ /** Complete the current set; compact protocol has no set-end bytes. */
37
+ writeSetEnd(): void;
38
+ /** Write a boolean, either inline in its field header or as a value byte. */
39
+ writeBool(value: boolean): void;
40
+ /** Write a signed byte. */
41
+ writeByte(value: number): void;
42
+ /** Write a signed 16-bit integer as zig-zag varint. */
43
+ writeI16(value: number): void;
44
+ /** Write a signed 32-bit integer as zig-zag varint. */
45
+ writeI32(value: number): void;
46
+ /** Write a signed 64-bit-like value as zig-zag varint. */
47
+ writeI64(value: Int64Like): void;
48
+ /** Write a little-endian 64-bit float. */
49
+ writeDouble(value: number): void;
50
+ /** Write a length-prefixed UTF-8 string. */
51
+ writeString(value: string): void;
52
+ /** Write a length-prefixed binary payload from any typed-array view. */
53
+ writeBinary(value: ArrayBuffer | ArrayBufferView): void;
54
+ /** Return all serialized chunks as one contiguous byte array. */
55
+ getBytes(): Uint8Array;
56
+ /** Write a compact collection header for list or set values. */
57
+ private writeCollectionBegin;
58
+ /** Write a compact field header using a field-id delta when possible. */
59
+ private writeFieldHeader;
60
+ /** Append an already serialized byte range without copying. */
61
+ private writeBytes;
62
+ /** Append one byte to the serialized output. */
63
+ private writeByteDirect;
64
+ /** Write an unsigned 32-bit value as a compact varint. */
65
+ private writeVarint32;
66
+ /** Write an unsigned 64-bit value as a compact varint. */
67
+ private writeVarint64;
68
+ /** Encode a signed 32-bit integer as an unsigned zig-zag value. */
69
+ private encodeZigZag32;
70
+ /** Encode a signed 64-bit integer as an unsigned zig-zag value. */
71
+ private encodeZigZag64;
72
+ /** Normalize thrift int64-like values to bigint before zig-zag encoding. */
73
+ private toBigInt;
74
+ /** Convert a generated-thrift type to a compact protocol wire type. */
75
+ private getCompactType;
76
+ }
77
+ export {};
78
+ //# sourceMappingURL=uint8-array-compact-protocol-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uint8-array-compact-protocol-writer.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/utils/uint8-array-compact-protocol-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,4BAAyB;AAiB3C,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAA;CAAC,CAAC;AAE9F,iFAAiF;AACjF,qBAAa,+BAA+B;IAC1C,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C,mFAAmF;IACnF,OAAO,CAAC,WAAW,CAAK;IAExB,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C,sEAAsE;IACtE,OAAO,CAAC,mBAAmB,CAA8B;IAEzD,iEAAiE;IACjE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKrC,2DAA2D;IAC3D,cAAc,IAAI,IAAI;IAItB,iFAAiF;IACjF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAShF,2EAA2E;IAC3E,aAAa,IAAI,IAAI;IAErB,6DAA6D;IAC7D,cAAc,IAAI,IAAI;IAItB,+DAA+D;IAC/D,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAU7F,uEAAuE;IACvE,WAAW,IAAI,IAAI;IAEnB,uEAAuE;IACvE,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAInE,yEAAyE;IACzE,YAAY,IAAI,IAAI;IAEpB,sEAAsE;IACtE,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlE,uEAAuE;IACvE,WAAW,IAAI,IAAI;IAEnB,6EAA6E;IAC7E,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAW/B,2BAA2B;IAC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIhC,0CAA0C;IAC1C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC,4CAA4C;IAC5C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,wEAAwE;IACxE,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI;IAMvD,iEAAiE;IACjE,QAAQ,IAAI,UAAU;IAItB,gEAAgE;IAChE,OAAO,CAAC,oBAAoB;IAW5B,yEAAyE;IACzE,OAAO,CAAC,gBAAgB;IAWxB,+DAA+D;IAC/D,OAAO,CAAC,UAAU;IAIlB,gDAAgD;IAChD,OAAO,CAAC,eAAe;IAIvB,0DAA0D;IAC1D,OAAO,CAAC,aAAa;IAIrB,0DAA0D;IAC1D,OAAO,CAAC,aAAa;IAarB,mEAAmE;IACnE,OAAO,CAAC,cAAc;IAItB,mEAAmE;IACnE,OAAO,CAAC,cAAc;IAItB,4EAA4E;IAC5E,OAAO,CAAC,QAAQ;IAMhB,uEAAuE;IACvE,OAAO,CAAC,cAAc;CA8BvB"}
@@ -0,0 +1,213 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import * as thrift from "./thrift-runtime.js";
5
+ import { concatUint8Arrays, encodeUtf8, toUint8Array, writeDoubleLE } from "./binary-utils.js";
6
+ const COMPACT_TYPE_STOP = 0x00;
7
+ const COMPACT_TYPE_BOOLEAN_TRUE = 0x01;
8
+ const COMPACT_TYPE_BOOLEAN_FALSE = 0x02;
9
+ const COMPACT_TYPE_BYTE = 0x03;
10
+ const COMPACT_TYPE_I16 = 0x04;
11
+ const COMPACT_TYPE_I32 = 0x05;
12
+ const COMPACT_TYPE_I64 = 0x06;
13
+ const COMPACT_TYPE_DOUBLE = 0x07;
14
+ const COMPACT_TYPE_BINARY = 0x08;
15
+ const COMPACT_TYPE_LIST = 0x09;
16
+ const COMPACT_TYPE_SET = 0x0a;
17
+ const COMPACT_TYPE_MAP = 0x0b;
18
+ const COMPACT_TYPE_STRUCT = 0x0c;
19
+ /** Write-only Thrift compact protocol that assembles exact Uint8Array output. */
20
+ export class Uint8ArrayCompactProtocolWriter {
21
+ /** Serialized byte chunks accumulated by thrift write calls. */
22
+ chunks = [];
23
+ /** Field id at the current nesting depth, used to emit compact field-id deltas. */
24
+ lastFieldId = 0;
25
+ /** Parent struct field ids restored when nested structs end. */
26
+ lastFieldIds = [];
27
+ /** Boolean field header waiting for the following boolean payload. */
28
+ pendingBooleanField = null;
29
+ /** Enter a struct and reset the delta-encoded field id state. */
30
+ writeStructBegin(_name) {
31
+ this.lastFieldIds.push(this.lastFieldId);
32
+ this.lastFieldId = 0;
33
+ }
34
+ /** Exit a struct and restore the parent field id state. */
35
+ writeStructEnd() {
36
+ this.lastFieldId = this.lastFieldIds.pop() || 0;
37
+ }
38
+ /** Write a field header, deferring boolean fields until their value is known. */
39
+ writeFieldBegin(_name, fieldType, fid) {
40
+ if (fieldType === thrift.Thrift.Type.BOOL) {
41
+ this.pendingBooleanField = { fid };
42
+ return;
43
+ }
44
+ this.writeFieldHeader(this.getCompactType(fieldType), fid);
45
+ }
46
+ /** Complete the current field; compact protocol has no field-end bytes. */
47
+ writeFieldEnd() { }
48
+ /** Write the stop marker that terminates a thrift struct. */
49
+ writeFieldStop() {
50
+ this.writeByteDirect(COMPACT_TYPE_STOP);
51
+ }
52
+ /** Write a map header with compact key/value element types. */
53
+ writeMapBegin(keyType, valueType, size) {
54
+ if (size === 0) {
55
+ this.writeByteDirect(0);
56
+ return;
57
+ }
58
+ this.writeVarint32(size);
59
+ this.writeByteDirect((this.getCompactType(keyType) << 4) | this.getCompactType(valueType));
60
+ }
61
+ /** Complete the current map; compact protocol has no map-end bytes. */
62
+ writeMapEnd() { }
63
+ /** Write a list header with compact element type and element count. */
64
+ writeListBegin(elementType, size) {
65
+ this.writeCollectionBegin(elementType, size);
66
+ }
67
+ /** Complete the current list; compact protocol has no list-end bytes. */
68
+ writeListEnd() { }
69
+ /** Write a set header with compact element type and element count. */
70
+ writeSetBegin(elementType, size) {
71
+ this.writeCollectionBegin(elementType, size);
72
+ }
73
+ /** Complete the current set; compact protocol has no set-end bytes. */
74
+ writeSetEnd() { }
75
+ /** Write a boolean, either inline in its field header or as a value byte. */
76
+ writeBool(value) {
77
+ const compactType = value ? COMPACT_TYPE_BOOLEAN_TRUE : COMPACT_TYPE_BOOLEAN_FALSE;
78
+ if (this.pendingBooleanField) {
79
+ this.writeFieldHeader(compactType, this.pendingBooleanField.fid);
80
+ this.pendingBooleanField = null;
81
+ return;
82
+ }
83
+ this.writeByteDirect(compactType);
84
+ }
85
+ /** Write a signed byte. */
86
+ writeByte(value) {
87
+ this.writeByteDirect(value);
88
+ }
89
+ /** Write a signed 16-bit integer as zig-zag varint. */
90
+ writeI16(value) {
91
+ this.writeI32(value);
92
+ }
93
+ /** Write a signed 32-bit integer as zig-zag varint. */
94
+ writeI32(value) {
95
+ this.writeVarint32(this.encodeZigZag32(value));
96
+ }
97
+ /** Write a signed 64-bit-like value as zig-zag varint. */
98
+ writeI64(value) {
99
+ this.writeVarint64(this.encodeZigZag64(this.toBigInt(value)));
100
+ }
101
+ /** Write a little-endian 64-bit float. */
102
+ writeDouble(value) {
103
+ const bytes = new Uint8Array(8);
104
+ writeDoubleLE(bytes, value, 0);
105
+ this.writeBytes(bytes);
106
+ }
107
+ /** Write a length-prefixed UTF-8 string. */
108
+ writeString(value) {
109
+ this.writeBinary(encodeUtf8(value));
110
+ }
111
+ /** Write a length-prefixed binary payload from any typed-array view. */
112
+ writeBinary(value) {
113
+ const bytes = toUint8Array(value);
114
+ this.writeVarint32(bytes.length);
115
+ this.writeBytes(bytes);
116
+ }
117
+ /** Return all serialized chunks as one contiguous byte array. */
118
+ getBytes() {
119
+ return concatUint8Arrays(this.chunks);
120
+ }
121
+ /** Write a compact collection header for list or set values. */
122
+ writeCollectionBegin(elementType, size) {
123
+ const compactType = this.getCompactType(elementType);
124
+ if (size <= 14) {
125
+ this.writeByteDirect((size << 4) | compactType);
126
+ return;
127
+ }
128
+ this.writeByteDirect(0xf0 | compactType);
129
+ this.writeVarint32(size);
130
+ }
131
+ /** Write a compact field header using a field-id delta when possible. */
132
+ writeFieldHeader(compactType, fid) {
133
+ const fieldIdDelta = fid - this.lastFieldId;
134
+ if (fieldIdDelta > 0 && fieldIdDelta <= 15) {
135
+ this.writeByteDirect((fieldIdDelta << 4) | compactType);
136
+ }
137
+ else {
138
+ this.writeByteDirect(compactType);
139
+ this.writeI16(fid);
140
+ }
141
+ this.lastFieldId = fid;
142
+ }
143
+ /** Append an already serialized byte range without copying. */
144
+ writeBytes(bytes) {
145
+ this.chunks.push(bytes);
146
+ }
147
+ /** Append one byte to the serialized output. */
148
+ writeByteDirect(value) {
149
+ this.chunks.push(new Uint8Array([value & 0xff]));
150
+ }
151
+ /** Write an unsigned 32-bit value as a compact varint. */
152
+ writeVarint32(value) {
153
+ this.writeVarint64(BigInt(value >>> 0));
154
+ }
155
+ /** Write an unsigned 64-bit value as a compact varint. */
156
+ writeVarint64(value) {
157
+ let nextValue = value;
158
+ while (true) {
159
+ if ((nextValue & ~0x7fn) === 0n) {
160
+ this.writeByteDirect(Number(nextValue));
161
+ return;
162
+ }
163
+ this.writeByteDirect(Number((nextValue & 0x7fn) | 0x80n));
164
+ nextValue >>= 7n;
165
+ }
166
+ }
167
+ /** Encode a signed 32-bit integer as an unsigned zig-zag value. */
168
+ encodeZigZag32(value) {
169
+ return ((value << 1) ^ (value >> 31)) >>> 0;
170
+ }
171
+ /** Encode a signed 64-bit integer as an unsigned zig-zag value. */
172
+ encodeZigZag64(value) {
173
+ return (value << 1n) ^ (value >> 63n);
174
+ }
175
+ /** Normalize thrift int64-like values to bigint before zig-zag encoding. */
176
+ toBigInt(value) {
177
+ return typeof value === 'bigint' || typeof value === 'number'
178
+ ? BigInt(value)
179
+ : BigInt(value.toString());
180
+ }
181
+ /** Convert a generated-thrift type to a compact protocol wire type. */
182
+ getCompactType(thriftType) {
183
+ switch (thriftType) {
184
+ case thrift.Thrift.Type.STOP:
185
+ return COMPACT_TYPE_STOP;
186
+ case thrift.Thrift.Type.BOOL:
187
+ return COMPACT_TYPE_BOOLEAN_TRUE;
188
+ case thrift.Thrift.Type.BYTE:
189
+ return COMPACT_TYPE_BYTE;
190
+ case thrift.Thrift.Type.I16:
191
+ return COMPACT_TYPE_I16;
192
+ case thrift.Thrift.Type.I32:
193
+ return COMPACT_TYPE_I32;
194
+ case thrift.Thrift.Type.I64:
195
+ return COMPACT_TYPE_I64;
196
+ case thrift.Thrift.Type.DOUBLE:
197
+ return COMPACT_TYPE_DOUBLE;
198
+ case thrift.Thrift.Type.STRING:
199
+ return COMPACT_TYPE_BINARY;
200
+ case thrift.Thrift.Type.LIST:
201
+ return COMPACT_TYPE_LIST;
202
+ case thrift.Thrift.Type.SET:
203
+ return COMPACT_TYPE_SET;
204
+ case thrift.Thrift.Type.MAP:
205
+ return COMPACT_TYPE_MAP;
206
+ case thrift.Thrift.Type.STRUCT:
207
+ return COMPACT_TYPE_STRUCT;
208
+ default:
209
+ throw new Error(`Unsupported thrift type: ${thriftType}`);
210
+ }
211
+ }
212
+ }
213
+ //# sourceMappingURL=uint8-array-compact-protocol-writer.js.map