@loaders.gl/parquet 4.0.0-alpha.5 → 4.0.0-alpha.6

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 (596) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/constants.js +18 -6
  3. package/dist/dist.min.js +27 -25
  4. package/dist/dist.min.js.map +3 -3
  5. package/dist/es5/bundle.js +6 -0
  6. package/dist/es5/bundle.js.map +1 -0
  7. package/dist/es5/constants.js +17 -0
  8. package/dist/es5/constants.js.map +1 -0
  9. package/dist/es5/index.js +128 -0
  10. package/dist/es5/index.js.map +1 -0
  11. package/dist/es5/lib/arrow/convert-columns-to-row-group.js +2 -0
  12. package/dist/es5/lib/arrow/convert-columns-to-row-group.js.map +1 -0
  13. package/dist/es5/lib/arrow/convert-row-group-to-columns.js +19 -0
  14. package/dist/es5/lib/arrow/convert-row-group-to-columns.js.map +1 -0
  15. package/dist/es5/lib/arrow/convert-schema-from-parquet.js +114 -0
  16. package/dist/es5/lib/arrow/convert-schema-from-parquet.js.map +1 -0
  17. package/dist/es5/lib/arrow/convert-schema-to-parquet.js +47 -0
  18. package/dist/es5/lib/arrow/convert-schema-to-parquet.js.map +1 -0
  19. package/dist/es5/lib/geo/decode-geo-metadata.js +81 -0
  20. package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -0
  21. package/dist/es5/lib/geo/geoparquet-schema.js +83 -0
  22. package/dist/es5/lib/geo/geoparquet-schema.js.map +1 -0
  23. package/dist/es5/lib/parsers/parse-parquet-to-columns.js +177 -0
  24. package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -0
  25. package/dist/es5/lib/parsers/parse-parquet-to-rows.js +172 -0
  26. package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -0
  27. package/dist/es5/lib/wasm/encode-parquet-wasm.js +43 -0
  28. package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +1 -0
  29. package/dist/es5/lib/wasm/load-wasm/index.js +13 -0
  30. package/dist/es5/lib/wasm/load-wasm/index.js.map +1 -0
  31. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +42 -0
  32. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
  33. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +31 -0
  34. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
  35. package/dist/es5/lib/wasm/parse-parquet-wasm.js +60 -0
  36. package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +1 -0
  37. package/dist/es5/lib/wip/convert-schema-deep.java.disabled +910 -0
  38. package/dist/es5/lib/wip/convert-schema-deep.rs.disabled +976 -0
  39. package/dist/es5/parquet-loader.js +44 -0
  40. package/dist/es5/parquet-loader.js.map +1 -0
  41. package/dist/es5/parquet-wasm-loader.js +30 -0
  42. package/dist/es5/parquet-wasm-loader.js.map +1 -0
  43. package/dist/es5/parquet-wasm-writer.js +26 -0
  44. package/dist/es5/parquet-wasm-writer.js.map +1 -0
  45. package/dist/es5/parquet-writer.js +24 -0
  46. package/dist/es5/parquet-writer.js.map +1 -0
  47. package/dist/es5/parquetjs/codecs/declare.js +2 -0
  48. package/dist/es5/parquetjs/codecs/declare.js.map +1 -0
  49. package/dist/es5/parquetjs/codecs/dictionary.js +23 -0
  50. package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -0
  51. package/dist/es5/parquetjs/codecs/index.js +47 -0
  52. package/dist/es5/parquetjs/codecs/index.js.map +1 -0
  53. package/dist/es5/parquetjs/codecs/plain.js +208 -0
  54. package/dist/es5/parquetjs/codecs/plain.js.map +1 -0
  55. package/dist/es5/parquetjs/codecs/rle.js +132 -0
  56. package/dist/es5/parquetjs/codecs/rle.js.map +1 -0
  57. package/dist/es5/parquetjs/compression.js +137 -0
  58. package/dist/es5/parquetjs/compression.js.map +1 -0
  59. package/dist/es5/parquetjs/encoder/parquet-encoder.js +625 -0
  60. package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -0
  61. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +14 -0
  62. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
  63. package/dist/es5/parquetjs/parquet-thrift/BsonType.js +52 -0
  64. package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -0
  65. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +193 -0
  66. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
  67. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +198 -0
  68. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
  69. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +367 -0
  70. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
  71. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +99 -0
  72. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
  73. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +19 -0
  74. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
  75. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +33 -0
  76. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
  77. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +152 -0
  78. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
  79. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +207 -0
  80. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
  81. package/dist/es5/parquetjs/parquet-thrift/DateType.js +52 -0
  82. package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -0
  83. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +96 -0
  84. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
  85. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +113 -0
  86. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
  87. package/dist/es5/parquetjs/parquet-thrift/Encoding.js +19 -0
  88. package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +1 -0
  89. package/dist/es5/parquetjs/parquet-thrift/EnumType.js +52 -0
  90. package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -0
  91. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +14 -0
  92. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
  93. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +239 -0
  94. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
  95. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +52 -0
  96. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
  97. package/dist/es5/parquetjs/parquet-thrift/IntType.js +96 -0
  98. package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -0
  99. package/dist/es5/parquetjs/parquet-thrift/JsonType.js +52 -0
  100. package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -0
  101. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +94 -0
  102. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
  103. package/dist/es5/parquetjs/parquet-thrift/ListType.js +52 -0
  104. package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -0
  105. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +423 -0
  106. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
  107. package/dist/es5/parquetjs/parquet-thrift/MapType.js +52 -0
  108. package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -0
  109. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +52 -0
  110. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
  111. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +52 -0
  112. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
  113. package/dist/es5/parquetjs/parquet-thrift/NullType.js +52 -0
  114. package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -0
  115. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +89 -0
  116. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
  117. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +115 -0
  118. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
  119. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +204 -0
  120. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
  121. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +124 -0
  122. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
  123. package/dist/es5/parquetjs/parquet-thrift/PageType.js +15 -0
  124. package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +1 -0
  125. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +165 -0
  126. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
  127. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +231 -0
  128. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
  129. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +115 -0
  130. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
  131. package/dist/es5/parquetjs/parquet-thrift/Statistics.js +165 -0
  132. package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -0
  133. package/dist/es5/parquetjs/parquet-thrift/StringType.js +52 -0
  134. package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -0
  135. package/dist/es5/parquetjs/parquet-thrift/TimeType.js +97 -0
  136. package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -0
  137. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +126 -0
  138. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
  139. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +97 -0
  140. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
  141. package/dist/es5/parquetjs/parquet-thrift/Type.js +19 -0
  142. package/dist/es5/parquetjs/parquet-thrift/Type.js.map +1 -0
  143. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +52 -0
  144. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
  145. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +52 -0
  146. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
  147. package/dist/es5/parquetjs/parquet-thrift/index.js +479 -0
  148. package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -0
  149. package/dist/es5/parquetjs/parser/decoders.js +393 -0
  150. package/dist/es5/parquetjs/parser/decoders.js.map +1 -0
  151. package/dist/es5/parquetjs/parser/parquet-reader.js +610 -0
  152. package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -0
  153. package/dist/es5/parquetjs/schema/declare.js +21 -0
  154. package/dist/es5/parquetjs/schema/declare.js.map +1 -0
  155. package/dist/es5/parquetjs/schema/schema.js +165 -0
  156. package/dist/es5/parquetjs/schema/schema.js.map +1 -0
  157. package/dist/es5/parquetjs/schema/shred.js +282 -0
  158. package/dist/es5/parquetjs/schema/shred.js.map +1 -0
  159. package/dist/es5/parquetjs/schema/types.js +406 -0
  160. package/dist/es5/parquetjs/schema/types.js.map +1 -0
  161. package/dist/es5/parquetjs/utils/file-utils.js +47 -0
  162. package/dist/es5/parquetjs/utils/file-utils.js.map +1 -0
  163. package/dist/es5/parquetjs/utils/read-utils.js +120 -0
  164. package/dist/es5/parquetjs/utils/read-utils.js.map +1 -0
  165. package/dist/es5/workers/parquet-worker.js +6 -0
  166. package/dist/es5/workers/parquet-worker.js.map +1 -0
  167. package/dist/esm/bundle.js +4 -0
  168. package/dist/esm/bundle.js.map +1 -0
  169. package/dist/esm/constants.js +6 -0
  170. package/dist/esm/constants.js.map +1 -0
  171. package/dist/esm/index.js +31 -0
  172. package/dist/esm/index.js.map +1 -0
  173. package/dist/esm/lib/arrow/convert-columns-to-row-group.js +2 -0
  174. package/dist/esm/lib/arrow/convert-columns-to-row-group.js.map +1 -0
  175. package/dist/esm/lib/arrow/convert-row-group-to-columns.js +8 -0
  176. package/dist/esm/lib/arrow/convert-row-group-to-columns.js.map +1 -0
  177. package/dist/esm/lib/arrow/convert-schema-from-parquet.js +95 -0
  178. package/dist/esm/lib/arrow/convert-schema-from-parquet.js.map +1 -0
  179. package/dist/esm/lib/arrow/convert-schema-to-parquet.js +39 -0
  180. package/dist/esm/lib/arrow/convert-schema-to-parquet.js.map +1 -0
  181. package/dist/esm/lib/geo/decode-geo-metadata.js +62 -0
  182. package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -0
  183. package/dist/esm/lib/geo/geoparquet-schema.js +76 -0
  184. package/dist/esm/lib/geo/geoparquet-schema.js.map +1 -0
  185. package/dist/esm/lib/parsers/parse-parquet-to-columns.js +39 -0
  186. package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -0
  187. package/dist/esm/lib/parsers/parse-parquet-to-rows.js +29 -0
  188. package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -0
  189. package/dist/esm/lib/wasm/encode-parquet-wasm.js +15 -0
  190. package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +1 -0
  191. package/dist/esm/lib/wasm/load-wasm/index.js +2 -0
  192. package/dist/esm/lib/wasm/load-wasm/index.js.map +1 -0
  193. package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js +11 -0
  194. package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
  195. package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js +5 -0
  196. package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
  197. package/dist/esm/lib/wasm/parse-parquet-wasm.js +21 -0
  198. package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +1 -0
  199. package/dist/esm/lib/wip/convert-schema-deep.java.disabled +910 -0
  200. package/dist/esm/lib/wip/convert-schema-deep.rs.disabled +976 -0
  201. package/dist/esm/parquet-loader.js +36 -0
  202. package/dist/esm/parquet-loader.js.map +1 -0
  203. package/dist/esm/parquet-wasm-loader.js +22 -0
  204. package/dist/esm/parquet-wasm-loader.js.map +1 -0
  205. package/dist/esm/parquet-wasm-writer.js +19 -0
  206. package/dist/esm/parquet-wasm-writer.js.map +1 -0
  207. package/dist/esm/parquet-writer.js +17 -0
  208. package/dist/esm/parquet-writer.js.map +1 -0
  209. package/dist/esm/parquetjs/LICENSE +20 -0
  210. package/dist/esm/parquetjs/codecs/declare.js +2 -0
  211. package/dist/esm/parquetjs/codecs/declare.js.map +1 -0
  212. package/dist/esm/parquetjs/codecs/dictionary.js +13 -0
  213. package/dist/esm/parquetjs/codecs/dictionary.js.map +1 -0
  214. package/dist/esm/parquetjs/codecs/index.js +23 -0
  215. package/dist/esm/parquetjs/codecs/index.js.map +1 -0
  216. package/dist/esm/parquetjs/codecs/plain.js +200 -0
  217. package/dist/esm/parquetjs/codecs/plain.js.map +1 -0
  218. package/dist/esm/parquetjs/codecs/rle.js +119 -0
  219. package/dist/esm/parquetjs/codecs/rle.js.map +1 -0
  220. package/dist/esm/parquetjs/compression.js +61 -0
  221. package/dist/esm/parquetjs/compression.js.map +1 -0
  222. package/dist/{parquetjs/encoder/writer.js → esm/parquetjs/encoder/parquet-encoder.js} +8 -106
  223. package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -0
  224. package/dist/esm/parquetjs/modules.d.ts +21 -0
  225. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js +7 -0
  226. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
  227. package/dist/esm/parquetjs/parquet-thrift/BsonType.js +31 -0
  228. package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +1 -0
  229. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js +173 -0
  230. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
  231. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js +176 -0
  232. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
  233. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js +347 -0
  234. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
  235. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js +77 -0
  236. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
  237. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js +12 -0
  238. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
  239. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js +26 -0
  240. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
  241. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js +132 -0
  242. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
  243. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js +187 -0
  244. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
  245. package/dist/esm/parquetjs/parquet-thrift/DateType.js +31 -0
  246. package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +1 -0
  247. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js +76 -0
  248. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
  249. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js +93 -0
  250. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
  251. package/dist/esm/parquetjs/parquet-thrift/Encoding.js +12 -0
  252. package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +1 -0
  253. package/dist/esm/parquetjs/parquet-thrift/EnumType.js +31 -0
  254. package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +1 -0
  255. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js +7 -0
  256. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
  257. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js +219 -0
  258. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
  259. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js +31 -0
  260. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
  261. package/dist/esm/parquetjs/parquet-thrift/IntType.js +76 -0
  262. package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +1 -0
  263. package/dist/esm/parquetjs/parquet-thrift/JsonType.js +31 -0
  264. package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +1 -0
  265. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js +74 -0
  266. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
  267. package/dist/esm/parquetjs/parquet-thrift/ListType.js +31 -0
  268. package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +1 -0
  269. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js +377 -0
  270. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
  271. package/dist/esm/parquetjs/parquet-thrift/MapType.js +31 -0
  272. package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +1 -0
  273. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js +31 -0
  274. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
  275. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js +31 -0
  276. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
  277. package/dist/esm/parquetjs/parquet-thrift/NullType.js +31 -0
  278. package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +1 -0
  279. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js +69 -0
  280. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
  281. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js +95 -0
  282. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
  283. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js +184 -0
  284. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
  285. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js +104 -0
  286. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
  287. package/dist/esm/parquetjs/parquet-thrift/PageType.js +8 -0
  288. package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +1 -0
  289. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js +145 -0
  290. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
  291. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js +211 -0
  292. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
  293. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js +95 -0
  294. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
  295. package/dist/esm/parquetjs/parquet-thrift/Statistics.js +145 -0
  296. package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +1 -0
  297. package/dist/esm/parquetjs/parquet-thrift/StringType.js +31 -0
  298. package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +1 -0
  299. package/dist/esm/parquetjs/parquet-thrift/TimeType.js +77 -0
  300. package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +1 -0
  301. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js +102 -0
  302. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
  303. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js +77 -0
  304. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
  305. package/dist/esm/parquetjs/parquet-thrift/Type.js +12 -0
  306. package/dist/esm/parquetjs/parquet-thrift/Type.js.map +1 -0
  307. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js +31 -0
  308. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
  309. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js +31 -0
  310. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
  311. package/dist/esm/parquetjs/parquet-thrift/index.js +44 -0
  312. package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -0
  313. package/dist/esm/parquetjs/parser/decoders.js +253 -0
  314. package/dist/esm/parquetjs/parser/decoders.js.map +1 -0
  315. package/dist/{parquetjs/parser/parquet-envelope-reader.js → esm/parquetjs/parser/parquet-reader.js} +95 -74
  316. package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -0
  317. package/dist/esm/parquetjs/schema/declare.js +12 -0
  318. package/dist/esm/parquetjs/schema/declare.js.map +1 -0
  319. package/dist/esm/parquetjs/schema/schema.js +140 -0
  320. package/dist/esm/parquetjs/schema/schema.js.map +1 -0
  321. package/dist/esm/parquetjs/schema/shred.js +228 -0
  322. package/dist/esm/parquetjs/schema/shred.js.map +1 -0
  323. package/dist/esm/parquetjs/schema/types.js +397 -0
  324. package/dist/esm/parquetjs/schema/types.js.map +1 -0
  325. package/dist/esm/parquetjs/utils/file-utils.js +34 -0
  326. package/dist/esm/parquetjs/utils/file-utils.js.map +1 -0
  327. package/dist/esm/parquetjs/utils/read-utils.js +90 -0
  328. package/dist/esm/parquetjs/utils/read-utils.js.map +1 -0
  329. package/dist/esm/workers/parquet-worker.js +4 -0
  330. package/dist/esm/workers/parquet-worker.js.map +1 -0
  331. package/dist/index.d.ts +16 -20
  332. package/dist/index.d.ts.map +1 -1
  333. package/dist/index.js +58 -15
  334. package/dist/lib/arrow/convert-columns-to-row-group.d.ts +1 -0
  335. package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
  336. package/dist/lib/arrow/convert-columns-to-row-group.js +1 -0
  337. package/dist/lib/arrow/convert-row-group-to-columns.d.ts +4 -0
  338. package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
  339. package/dist/lib/arrow/convert-row-group-to-columns.js +12 -0
  340. package/dist/lib/arrow/convert-schema-from-parquet.d.ts +9 -0
  341. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
  342. package/dist/lib/arrow/convert-schema-from-parquet.js +86 -0
  343. package/dist/lib/arrow/convert-schema-to-parquet.d.ts +7 -0
  344. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
  345. package/dist/lib/arrow/convert-schema-to-parquet.js +71 -0
  346. package/dist/lib/geo/decode-geo-metadata.d.ts +31 -0
  347. package/dist/lib/geo/decode-geo-metadata.d.ts.map +1 -0
  348. package/dist/lib/geo/decode-geo-metadata.js +77 -0
  349. package/dist/lib/geo/geoparquet-schema.d.ts +80 -0
  350. package/dist/lib/geo/geoparquet-schema.d.ts.map +1 -0
  351. package/dist/lib/geo/geoparquet-schema.js +69 -0
  352. package/dist/lib/parsers/parse-parquet-to-columns.d.ts +5 -0
  353. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
  354. package/dist/lib/parsers/parse-parquet-to-columns.js +46 -0
  355. package/dist/lib/parsers/parse-parquet-to-rows.d.ts +5 -0
  356. package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
  357. package/dist/lib/parsers/parse-parquet-to-rows.js +37 -0
  358. package/dist/lib/wasm/encode-parquet-wasm.d.ts +21 -0
  359. package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
  360. package/dist/lib/wasm/encode-parquet-wasm.js +30 -0
  361. package/dist/lib/wasm/load-wasm/index.d.ts +2 -0
  362. package/dist/lib/wasm/load-wasm/index.d.ts.map +1 -0
  363. package/dist/lib/wasm/load-wasm/index.js +5 -0
  364. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts +3 -0
  365. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
  366. package/dist/lib/wasm/load-wasm/load-wasm-browser.js +38 -0
  367. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts +3 -0
  368. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
  369. package/dist/lib/wasm/load-wasm/load-wasm-node.js +31 -0
  370. package/dist/lib/wasm/parse-parquet-wasm.d.ts +10 -0
  371. package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
  372. package/dist/lib/wasm/parse-parquet-wasm.js +27 -0
  373. package/dist/parquet-loader.d.ts +6 -15
  374. package/dist/parquet-loader.d.ts.map +1 -1
  375. package/dist/parquet-loader.js +38 -19
  376. package/dist/parquet-wasm-loader.d.ts +23 -0
  377. package/dist/parquet-wasm-loader.d.ts.map +1 -0
  378. package/dist/parquet-wasm-loader.js +27 -0
  379. package/dist/parquet-wasm-writer.d.ts +3 -0
  380. package/dist/parquet-wasm-writer.d.ts.map +1 -0
  381. package/dist/parquet-wasm-writer.js +23 -0
  382. package/dist/parquet-worker.js +27 -25
  383. package/dist/parquet-worker.js.map +3 -3
  384. package/dist/parquet-writer.d.ts +3 -2
  385. package/dist/parquet-writer.d.ts.map +1 -1
  386. package/dist/parquet-writer.js +18 -14
  387. package/dist/parquetjs/codecs/declare.js +2 -2
  388. package/dist/parquetjs/codecs/dictionary.js +12 -10
  389. package/dist/parquetjs/codecs/index.js +54 -22
  390. package/dist/parquetjs/codecs/plain.js +173 -232
  391. package/dist/parquetjs/codecs/rle.js +134 -140
  392. package/dist/parquetjs/compression.d.ts +3 -0
  393. package/dist/parquetjs/compression.d.ts.map +1 -1
  394. package/dist/parquetjs/compression.js +169 -48
  395. package/dist/parquetjs/encoder/{writer.d.ts → parquet-encoder.d.ts} +15 -23
  396. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
  397. package/dist/parquetjs/encoder/parquet-encoder.js +484 -0
  398. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +14 -7
  399. package/dist/parquetjs/parquet-thrift/BsonType.js +60 -37
  400. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +209 -215
  401. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +210 -211
  402. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +394 -421
  403. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +102 -89
  404. package/dist/parquetjs/parquet-thrift/CompressionCodec.js +19 -12
  405. package/dist/parquetjs/parquet-thrift/ConvertedType.js +33 -26
  406. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +165 -161
  407. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +228 -234
  408. package/dist/parquetjs/parquet-thrift/DateType.js +60 -37
  409. package/dist/parquetjs/parquet-thrift/DecimalType.js +104 -90
  410. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +121 -112
  411. package/dist/parquetjs/parquet-thrift/Encoding.js +19 -12
  412. package/dist/parquetjs/parquet-thrift/EnumType.js +60 -37
  413. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +14 -7
  414. package/dist/parquetjs/parquet-thrift/FileMetaData.js +253 -263
  415. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +60 -37
  416. package/dist/parquetjs/parquet-thrift/IntType.js +104 -90
  417. package/dist/parquetjs/parquet-thrift/JsonType.js +60 -37
  418. package/dist/parquetjs/parquet-thrift/KeyValue.js +101 -88
  419. package/dist/parquetjs/parquet-thrift/ListType.js +60 -37
  420. package/dist/parquetjs/parquet-thrift/LogicalType.js +366 -449
  421. package/dist/parquetjs/parquet-thrift/MapType.js +60 -37
  422. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +60 -37
  423. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +60 -37
  424. package/dist/parquetjs/parquet-thrift/NullType.js +60 -37
  425. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +96 -80
  426. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +126 -114
  427. package/dist/parquetjs/parquet-thrift/PageHeader.js +218 -231
  428. package/dist/parquetjs/parquet-thrift/PageLocation.js +140 -123
  429. package/dist/parquetjs/parquet-thrift/PageType.js +15 -8
  430. package/dist/parquetjs/parquet-thrift/RowGroup.js +179 -171
  431. package/dist/parquetjs/parquet-thrift/SchemaElement.js +241 -268
  432. package/dist/parquetjs/parquet-thrift/SortingColumn.js +126 -114
  433. package/dist/parquetjs/parquet-thrift/Statistics.js +175 -178
  434. package/dist/parquetjs/parquet-thrift/StringType.js +60 -37
  435. package/dist/parquetjs/parquet-thrift/TimeType.js +105 -91
  436. package/dist/parquetjs/parquet-thrift/TimeUnit.js +124 -119
  437. package/dist/parquetjs/parquet-thrift/TimestampType.js +105 -91
  438. package/dist/parquetjs/parquet-thrift/Type.js +19 -12
  439. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +60 -37
  440. package/dist/parquetjs/parquet-thrift/UUIDType.js +60 -37
  441. package/dist/parquetjs/parquet-thrift/index.js +65 -44
  442. package/dist/parquetjs/parser/decoders.d.ts +2 -2
  443. package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
  444. package/dist/parquetjs/parser/decoders.js +301 -283
  445. package/dist/parquetjs/parser/parquet-reader.d.ts +47 -57
  446. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
  447. package/dist/parquetjs/parser/parquet-reader.js +193 -113
  448. package/dist/parquetjs/schema/declare.d.ts +26 -18
  449. package/dist/parquetjs/schema/declare.d.ts.map +1 -1
  450. package/dist/parquetjs/schema/declare.js +11 -12
  451. package/dist/parquetjs/schema/schema.d.ts +4 -4
  452. package/dist/parquetjs/schema/schema.d.ts.map +1 -1
  453. package/dist/parquetjs/schema/schema.js +148 -162
  454. package/dist/parquetjs/schema/shred.d.ts +33 -12
  455. package/dist/parquetjs/schema/shred.d.ts.map +1 -1
  456. package/dist/parquetjs/schema/shred.js +340 -147
  457. package/dist/parquetjs/schema/types.d.ts +2 -2
  458. package/dist/parquetjs/schema/types.d.ts.map +1 -1
  459. package/dist/parquetjs/schema/types.js +355 -415
  460. package/dist/parquetjs/utils/file-utils.d.ts +5 -4
  461. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
  462. package/dist/parquetjs/utils/file-utils.js +37 -28
  463. package/dist/parquetjs/utils/read-utils.js +99 -95
  464. package/dist/workers/parquet-worker.js +5 -4
  465. package/package.json +17 -12
  466. package/src/index.ts +58 -7
  467. package/src/lib/arrow/convert-columns-to-row-group.ts +0 -0
  468. package/src/lib/arrow/convert-row-group-to-columns.ts +15 -0
  469. package/src/lib/arrow/convert-schema-from-parquet.ts +104 -0
  470. package/src/lib/arrow/convert-schema-to-parquet.ts +90 -0
  471. package/src/lib/geo/decode-geo-metadata.ts +108 -0
  472. package/src/lib/geo/geoparquet-schema.ts +69 -0
  473. package/src/lib/parsers/parse-parquet-to-columns.ts +60 -0
  474. package/src/lib/parsers/parse-parquet-to-rows.ts +45 -0
  475. package/src/lib/wasm/encode-parquet-wasm.ts +40 -0
  476. package/src/lib/wasm/load-wasm/index.ts +1 -0
  477. package/src/lib/wasm/load-wasm/load-wasm-browser.ts +15 -0
  478. package/src/lib/wasm/load-wasm/load-wasm-node.ts +5 -0
  479. package/src/lib/wasm/parse-parquet-wasm.ts +42 -0
  480. package/src/lib/wip/convert-schema-deep.java.disabled +910 -0
  481. package/src/lib/wip/convert-schema-deep.rs.disabled +976 -0
  482. package/src/parquet-loader.ts +30 -3
  483. package/src/parquet-wasm-loader.ts +36 -0
  484. package/src/parquet-wasm-writer.ts +24 -0
  485. package/src/parquet-writer.ts +4 -1
  486. package/src/parquetjs/compression.ts +24 -7
  487. package/src/parquetjs/encoder/{writer.ts → parquet-encoder.ts} +33 -38
  488. package/src/parquetjs/parser/decoders.ts +3 -3
  489. package/src/parquetjs/parser/parquet-reader.ts +239 -122
  490. package/src/parquetjs/schema/declare.ts +22 -13
  491. package/src/parquetjs/schema/schema.ts +8 -8
  492. package/src/parquetjs/schema/shred.ts +239 -71
  493. package/src/parquetjs/schema/types.ts +25 -30
  494. package/src/parquetjs/utils/file-utils.ts +3 -4
  495. package/dist/bundle.js.map +0 -1
  496. package/dist/constants.js.map +0 -1
  497. package/dist/index.js.map +0 -1
  498. package/dist/lib/convert-schema.d.ts +0 -8
  499. package/dist/lib/convert-schema.d.ts.map +0 -1
  500. package/dist/lib/convert-schema.js +0 -71
  501. package/dist/lib/convert-schema.js.map +0 -1
  502. package/dist/lib/parse-parquet.d.ts +0 -4
  503. package/dist/lib/parse-parquet.d.ts.map +0 -1
  504. package/dist/lib/parse-parquet.js +0 -28
  505. package/dist/lib/parse-parquet.js.map +0 -1
  506. package/dist/lib/read-array-buffer.d.ts +0 -19
  507. package/dist/lib/read-array-buffer.d.ts.map +0 -1
  508. package/dist/lib/read-array-buffer.js +0 -9
  509. package/dist/lib/read-array-buffer.js.map +0 -1
  510. package/dist/parquet-loader.js.map +0 -1
  511. package/dist/parquet-writer.js.map +0 -1
  512. package/dist/parquetjs/codecs/declare.js.map +0 -1
  513. package/dist/parquetjs/codecs/dictionary.js.map +0 -1
  514. package/dist/parquetjs/codecs/index.js.map +0 -1
  515. package/dist/parquetjs/codecs/plain.js.map +0 -1
  516. package/dist/parquetjs/codecs/rle.js.map +0 -1
  517. package/dist/parquetjs/compression.js.map +0 -1
  518. package/dist/parquetjs/encoder/writer.d.ts.map +0 -1
  519. package/dist/parquetjs/encoder/writer.js.map +0 -1
  520. package/dist/parquetjs/file.d.ts +0 -10
  521. package/dist/parquetjs/file.d.ts.map +0 -1
  522. package/dist/parquetjs/file.js +0 -80
  523. package/dist/parquetjs/file.js.map +0 -1
  524. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  525. package/dist/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  526. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  527. package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  528. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  529. package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  530. package/dist/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  531. package/dist/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  532. package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  533. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  534. package/dist/parquetjs/parquet-thrift/DateType.js.map +0 -1
  535. package/dist/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  536. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  537. package/dist/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  538. package/dist/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  539. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  540. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  541. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  542. package/dist/parquetjs/parquet-thrift/IntType.js.map +0 -1
  543. package/dist/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  544. package/dist/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  545. package/dist/parquetjs/parquet-thrift/ListType.js.map +0 -1
  546. package/dist/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  547. package/dist/parquetjs/parquet-thrift/MapType.js.map +0 -1
  548. package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  549. package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  550. package/dist/parquetjs/parquet-thrift/NullType.js.map +0 -1
  551. package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  552. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  553. package/dist/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  554. package/dist/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  555. package/dist/parquetjs/parquet-thrift/PageType.js.map +0 -1
  556. package/dist/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  557. package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  558. package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  559. package/dist/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  560. package/dist/parquetjs/parquet-thrift/StringType.js.map +0 -1
  561. package/dist/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  562. package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  563. package/dist/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  564. package/dist/parquetjs/parquet-thrift/Type.js.map +0 -1
  565. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  566. package/dist/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  567. package/dist/parquetjs/parquet-thrift/index.js.map +0 -1
  568. package/dist/parquetjs/parser/decoders.js.map +0 -1
  569. package/dist/parquetjs/parser/parquet-cursor.d.ts +0 -36
  570. package/dist/parquetjs/parser/parquet-cursor.d.ts.map +0 -1
  571. package/dist/parquetjs/parser/parquet-cursor.js +0 -90
  572. package/dist/parquetjs/parser/parquet-cursor.js.map +0 -1
  573. package/dist/parquetjs/parser/parquet-envelope-reader.d.ts +0 -40
  574. package/dist/parquetjs/parser/parquet-envelope-reader.d.ts.map +0 -1
  575. package/dist/parquetjs/parser/parquet-envelope-reader.js.map +0 -1
  576. package/dist/parquetjs/parser/parquet-reader.js.map +0 -1
  577. package/dist/parquetjs/schema/declare.js.map +0 -1
  578. package/dist/parquetjs/schema/schema.js.map +0 -1
  579. package/dist/parquetjs/schema/shred.js.map +0 -1
  580. package/dist/parquetjs/schema/types.js.map +0 -1
  581. package/dist/parquetjs/utils/buffer-utils.d.ts +0 -10
  582. package/dist/parquetjs/utils/buffer-utils.d.ts.map +0 -1
  583. package/dist/parquetjs/utils/buffer-utils.js +0 -12
  584. package/dist/parquetjs/utils/buffer-utils.js.map +0 -1
  585. package/dist/parquetjs/utils/file-utils.js.map +0 -1
  586. package/dist/parquetjs/utils/read-utils.js.map +0 -1
  587. package/dist/workers/parquet-worker.js.map +0 -1
  588. package/src/lib/convert-schema.ts +0 -95
  589. package/src/lib/parse-parquet.ts +0 -27
  590. package/src/lib/read-array-buffer.ts +0 -31
  591. package/src/parquetjs/file.ts +0 -90
  592. package/src/parquetjs/parser/parquet-cursor.ts +0 -94
  593. package/src/parquetjs/parser/parquet-envelope-reader.ts +0 -199
  594. package/src/parquetjs/utils/buffer-utils.ts +0 -18
  595. /package/dist/{parquetjs → es5/parquetjs}/LICENSE +0 -0
  596. /package/dist/{parquetjs → es5/parquetjs}/modules.d.ts +0 -0
@@ -0,0 +1,393 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.decodeDataPages = decodeDataPages;
8
+ exports.decodePage = decodePage;
9
+ exports.decodeSchema = decodeSchema;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _codecs = require("../codecs");
13
+ var _parquetThrift = require("../parquet-thrift");
14
+ var _compression = require("../compression");
15
+ var _constants = require("../../constants");
16
+ var _readUtils = require("../utils/read-utils");
17
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
20
+ function decodeDataPages(_x, _x2) {
21
+ return _decodeDataPages.apply(this, arguments);
22
+ }
23
+ function _decodeDataPages() {
24
+ _decodeDataPages = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(buffer, options) {
25
+ var cursor, data, dictionary, page, index, value;
26
+ return _regenerator.default.wrap(function _callee$(_context) {
27
+ while (1) switch (_context.prev = _context.next) {
28
+ case 0:
29
+ cursor = {
30
+ buffer: buffer,
31
+ offset: 0,
32
+ size: buffer.length
33
+ };
34
+ data = {
35
+ rlevels: [],
36
+ dlevels: [],
37
+ values: [],
38
+ pageHeaders: [],
39
+ count: 0
40
+ };
41
+ dictionary = options.dictionary || [];
42
+ case 3:
43
+ if (!(cursor.offset < cursor.size && (!options.numValues || data.dlevels.length < Number(options.numValues)))) {
44
+ _context.next = 16;
45
+ break;
46
+ }
47
+ _context.next = 6;
48
+ return decodePage(cursor, options);
49
+ case 6:
50
+ page = _context.sent;
51
+ if (!page.dictionary) {
52
+ _context.next = 10;
53
+ break;
54
+ }
55
+ dictionary = page.dictionary;
56
+ return _context.abrupt("continue", 3);
57
+ case 10:
58
+ if (dictionary.length) {
59
+ page.values = page.values.map(function (value) {
60
+ return dictionary[value];
61
+ });
62
+ }
63
+ for (index = 0; index < page.rlevels.length; index++) {
64
+ data.rlevels.push(page.rlevels[index]);
65
+ data.dlevels.push(page.dlevels[index]);
66
+ value = page.values[index];
67
+ if (value !== undefined) {
68
+ data.values.push(value);
69
+ }
70
+ }
71
+ data.count += page.count;
72
+ data.pageHeaders.push(page.pageHeader);
73
+ _context.next = 3;
74
+ break;
75
+ case 16:
76
+ return _context.abrupt("return", data);
77
+ case 17:
78
+ case "end":
79
+ return _context.stop();
80
+ }
81
+ }, _callee);
82
+ }));
83
+ return _decodeDataPages.apply(this, arguments);
84
+ }
85
+ function decodePage(_x3, _x4) {
86
+ return _decodePage.apply(this, arguments);
87
+ }
88
+ function _decodePage() {
89
+ _decodePage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(cursor, options) {
90
+ var page, _decodePageHeader, pageHeader, length, pageType;
91
+ return _regenerator.default.wrap(function _callee2$(_context2) {
92
+ while (1) switch (_context2.prev = _context2.next) {
93
+ case 0:
94
+ _decodePageHeader = (0, _readUtils.decodePageHeader)(cursor.buffer, cursor.offset), pageHeader = _decodePageHeader.pageHeader, length = _decodePageHeader.length;
95
+ cursor.offset += length;
96
+ pageType = (0, _readUtils.getThriftEnum)(_parquetThrift.PageType, pageHeader.type);
97
+ _context2.t0 = pageType;
98
+ _context2.next = _context2.t0 === 'DATA_PAGE' ? 6 : _context2.t0 === 'DATA_PAGE_V2' ? 10 : _context2.t0 === 'DICTIONARY_PAGE' ? 14 : 20;
99
+ break;
100
+ case 6:
101
+ _context2.next = 8;
102
+ return decodeDataPage(cursor, pageHeader, options);
103
+ case 8:
104
+ page = _context2.sent;
105
+ return _context2.abrupt("break", 21);
106
+ case 10:
107
+ _context2.next = 12;
108
+ return decodeDataPageV2(cursor, pageHeader, options);
109
+ case 12:
110
+ page = _context2.sent;
111
+ return _context2.abrupt("break", 21);
112
+ case 14:
113
+ _context2.next = 16;
114
+ return decodeDictionaryPage(cursor, pageHeader, options);
115
+ case 16:
116
+ _context2.t1 = _context2.sent;
117
+ _context2.t2 = pageHeader;
118
+ page = {
119
+ dictionary: _context2.t1,
120
+ pageHeader: _context2.t2
121
+ };
122
+ return _context2.abrupt("break", 21);
123
+ case 20:
124
+ throw new Error("invalid page type: ".concat(pageType));
125
+ case 21:
126
+ return _context2.abrupt("return", page);
127
+ case 22:
128
+ case "end":
129
+ return _context2.stop();
130
+ }
131
+ }, _callee2);
132
+ }));
133
+ return _decodePage.apply(this, arguments);
134
+ }
135
+ function decodeSchema(schemaElements, offset, len) {
136
+ var schema = {};
137
+ var next = offset;
138
+ for (var i = 0; i < len; i++) {
139
+ var schemaElement = schemaElements[next];
140
+ var repetitionType = next > 0 ? (0, _readUtils.getThriftEnum)(_parquetThrift.FieldRepetitionType, schemaElement.repetition_type) : 'ROOT';
141
+ var optional = false;
142
+ var repeated = false;
143
+ switch (repetitionType) {
144
+ case 'REQUIRED':
145
+ break;
146
+ case 'OPTIONAL':
147
+ optional = true;
148
+ break;
149
+ case 'REPEATED':
150
+ repeated = true;
151
+ break;
152
+ default:
153
+ throw new Error('parquet: unknown repetition type');
154
+ }
155
+ if (schemaElement.num_children > 0) {
156
+ var res = decodeSchema(schemaElements, next + 1, schemaElement.num_children);
157
+ next = res.next;
158
+ schema[schemaElement.name] = {
159
+ optional: optional,
160
+ repeated: repeated,
161
+ fields: res.schema
162
+ };
163
+ } else {
164
+ var type = (0, _readUtils.getThriftEnum)(_parquetThrift.Type, schemaElement.type);
165
+ var logicalType = type;
166
+ if (schemaElement.converted_type) {
167
+ logicalType = (0, _readUtils.getThriftEnum)(_parquetThrift.ConvertedType, schemaElement.converted_type);
168
+ }
169
+ switch (logicalType) {
170
+ case 'DECIMAL':
171
+ logicalType = "".concat(logicalType, "_").concat(type);
172
+ break;
173
+ default:
174
+ }
175
+ schema[schemaElement.name] = {
176
+ type: logicalType,
177
+ typeLength: schemaElement.type_length,
178
+ presision: schemaElement.precision,
179
+ scale: schemaElement.scale,
180
+ optional: optional,
181
+ repeated: repeated
182
+ };
183
+ next++;
184
+ }
185
+ }
186
+ return {
187
+ schema: schema,
188
+ offset: offset,
189
+ next: next
190
+ };
191
+ }
192
+ function decodeValues(type, encoding, cursor, count, opts) {
193
+ if (!(encoding in _codecs.PARQUET_CODECS)) {
194
+ throw new Error("invalid encoding: ".concat(encoding));
195
+ }
196
+ return _codecs.PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);
197
+ }
198
+ function decodeDataPage(_x5, _x6, _x7) {
199
+ return _decodeDataPage.apply(this, arguments);
200
+ }
201
+ function _decodeDataPage() {
202
+ _decodeDataPage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(cursor, header, options) {
203
+ var _header$data_page_hea, _header$data_page_hea2, _header$data_page_hea3, _header$data_page_hea4;
204
+ var cursorEnd, valueCount, dataCursor, valuesBuf, rLevelEncoding, rLevels, dLevelEncoding, dLevels, valueCountNonNull, _iterator, _step, dlvl, valueEncoding, decodeOptions, values;
205
+ return _regenerator.default.wrap(function _callee3$(_context3) {
206
+ while (1) switch (_context3.prev = _context3.next) {
207
+ case 0:
208
+ cursorEnd = cursor.offset + header.compressed_page_size;
209
+ valueCount = (_header$data_page_hea = header.data_page_header) === null || _header$data_page_hea === void 0 ? void 0 : _header$data_page_hea.num_values;
210
+ dataCursor = cursor;
211
+ if (!(options.compression !== 'UNCOMPRESSED')) {
212
+ _context3.next = 9;
213
+ break;
214
+ }
215
+ _context3.next = 6;
216
+ return (0, _compression.decompress)(options.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
217
+ case 6:
218
+ valuesBuf = _context3.sent;
219
+ dataCursor = {
220
+ buffer: valuesBuf,
221
+ offset: 0,
222
+ size: valuesBuf.length
223
+ };
224
+ cursor.offset = cursorEnd;
225
+ case 9:
226
+ rLevelEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea2 = header.data_page_header) === null || _header$data_page_hea2 === void 0 ? void 0 : _header$data_page_hea2.repetition_level_encoding);
227
+ rLevels = new Array(valueCount);
228
+ if (options.column.rLevelMax > 0) {
229
+ rLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount, {
230
+ bitWidth: (0, _readUtils.getBitWidth)(options.column.rLevelMax),
231
+ disableEnvelope: false
232
+ });
233
+ } else {
234
+ rLevels.fill(0);
235
+ }
236
+ dLevelEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea3 = header.data_page_header) === null || _header$data_page_hea3 === void 0 ? void 0 : _header$data_page_hea3.definition_level_encoding);
237
+ dLevels = new Array(valueCount);
238
+ if (options.column.dLevelMax > 0) {
239
+ dLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount, {
240
+ bitWidth: (0, _readUtils.getBitWidth)(options.column.dLevelMax),
241
+ disableEnvelope: false
242
+ });
243
+ } else {
244
+ dLevels.fill(0);
245
+ }
246
+ valueCountNonNull = 0;
247
+ _iterator = _createForOfIteratorHelper(dLevels);
248
+ try {
249
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
250
+ dlvl = _step.value;
251
+ if (dlvl === options.column.dLevelMax) {
252
+ valueCountNonNull++;
253
+ }
254
+ }
255
+ } catch (err) {
256
+ _iterator.e(err);
257
+ } finally {
258
+ _iterator.f();
259
+ }
260
+ valueEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea4 = header.data_page_header) === null || _header$data_page_hea4 === void 0 ? void 0 : _header$data_page_hea4.encoding);
261
+ decodeOptions = {
262
+ typeLength: options.column.typeLength,
263
+ bitWidth: options.column.typeLength
264
+ };
265
+ values = decodeValues(options.column.primitiveType, valueEncoding, dataCursor, valueCountNonNull, decodeOptions);
266
+ return _context3.abrupt("return", {
267
+ dlevels: dLevels,
268
+ rlevels: rLevels,
269
+ values: values,
270
+ count: valueCount,
271
+ pageHeader: header
272
+ });
273
+ case 22:
274
+ case "end":
275
+ return _context3.stop();
276
+ }
277
+ }, _callee3);
278
+ }));
279
+ return _decodeDataPage.apply(this, arguments);
280
+ }
281
+ function decodeDataPageV2(_x8, _x9, _x10) {
282
+ return _decodeDataPageV.apply(this, arguments);
283
+ }
284
+ function _decodeDataPageV() {
285
+ _decodeDataPageV = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(cursor, header, opts) {
286
+ var _header$data_page_hea5, _header$data_page_hea6, _header$data_page_hea7, _header$data_page_hea8;
287
+ var cursorEnd, valueCount, valueCountNonNull, valueEncoding, rLevels, dLevels, valuesBufCursor, valuesBuf, decodeOptions, values;
288
+ return _regenerator.default.wrap(function _callee4$(_context4) {
289
+ while (1) switch (_context4.prev = _context4.next) {
290
+ case 0:
291
+ cursorEnd = cursor.offset + header.compressed_page_size;
292
+ valueCount = (_header$data_page_hea5 = header.data_page_header_v2) === null || _header$data_page_hea5 === void 0 ? void 0 : _header$data_page_hea5.num_values;
293
+ valueCountNonNull = valueCount - ((_header$data_page_hea6 = header.data_page_header_v2) === null || _header$data_page_hea6 === void 0 ? void 0 : _header$data_page_hea6.num_nulls);
294
+ valueEncoding = (0, _readUtils.getThriftEnum)(_parquetThrift.Encoding, (_header$data_page_hea7 = header.data_page_header_v2) === null || _header$data_page_hea7 === void 0 ? void 0 : _header$data_page_hea7.encoding);
295
+ rLevels = new Array(valueCount);
296
+ if (opts.column.rLevelMax > 0) {
297
+ rLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, _constants.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
298
+ bitWidth: (0, _readUtils.getBitWidth)(opts.column.rLevelMax),
299
+ disableEnvelope: true
300
+ });
301
+ } else {
302
+ rLevels.fill(0);
303
+ }
304
+ dLevels = new Array(valueCount);
305
+ if (opts.column.dLevelMax > 0) {
306
+ dLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, _constants.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
307
+ bitWidth: (0, _readUtils.getBitWidth)(opts.column.dLevelMax),
308
+ disableEnvelope: true
309
+ });
310
+ } else {
311
+ dLevels.fill(0);
312
+ }
313
+ valuesBufCursor = cursor;
314
+ if (!((_header$data_page_hea8 = header.data_page_header_v2) !== null && _header$data_page_hea8 !== void 0 && _header$data_page_hea8.is_compressed)) {
315
+ _context4.next = 15;
316
+ break;
317
+ }
318
+ _context4.next = 12;
319
+ return (0, _compression.decompress)(opts.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
320
+ case 12:
321
+ valuesBuf = _context4.sent;
322
+ valuesBufCursor = {
323
+ buffer: valuesBuf,
324
+ offset: 0,
325
+ size: valuesBuf.length
326
+ };
327
+ cursor.offset = cursorEnd;
328
+ case 15:
329
+ decodeOptions = {
330
+ typeLength: opts.column.typeLength,
331
+ bitWidth: opts.column.typeLength
332
+ };
333
+ values = decodeValues(opts.column.primitiveType, valueEncoding, valuesBufCursor, valueCountNonNull, decodeOptions);
334
+ return _context4.abrupt("return", {
335
+ dlevels: dLevels,
336
+ rlevels: rLevels,
337
+ values: values,
338
+ count: valueCount,
339
+ pageHeader: header
340
+ });
341
+ case 18:
342
+ case "end":
343
+ return _context4.stop();
344
+ }
345
+ }, _callee4);
346
+ }));
347
+ return _decodeDataPageV.apply(this, arguments);
348
+ }
349
+ function decodeDictionaryPage(_x11, _x12, _x13) {
350
+ return _decodeDictionaryPage.apply(this, arguments);
351
+ }
352
+ function _decodeDictionaryPage() {
353
+ _decodeDictionaryPage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(cursor, pageHeader, options) {
354
+ var _pageHeader$dictionar;
355
+ var cursorEnd, dictCursor, valuesBuf, numValues;
356
+ return _regenerator.default.wrap(function _callee5$(_context5) {
357
+ while (1) switch (_context5.prev = _context5.next) {
358
+ case 0:
359
+ cursorEnd = cursor.offset + pageHeader.compressed_page_size;
360
+ dictCursor = {
361
+ offset: 0,
362
+ buffer: cursor.buffer.slice(cursor.offset, cursorEnd),
363
+ size: cursorEnd - cursor.offset
364
+ };
365
+ cursor.offset = cursorEnd;
366
+ if (!(options.compression !== 'UNCOMPRESSED')) {
367
+ _context5.next = 9;
368
+ break;
369
+ }
370
+ _context5.next = 6;
371
+ return (0, _compression.decompress)(options.compression, dictCursor.buffer.slice(dictCursor.offset, cursorEnd), pageHeader.uncompressed_page_size);
372
+ case 6:
373
+ valuesBuf = _context5.sent;
374
+ dictCursor = {
375
+ buffer: valuesBuf,
376
+ offset: 0,
377
+ size: valuesBuf.length
378
+ };
379
+ cursor.offset = cursorEnd;
380
+ case 9:
381
+ numValues = (pageHeader === null || pageHeader === void 0 ? void 0 : (_pageHeader$dictionar = pageHeader.dictionary_page_header) === null || _pageHeader$dictionar === void 0 ? void 0 : _pageHeader$dictionar.num_values) || 0;
382
+ return _context5.abrupt("return", decodeValues(options.column.primitiveType, options.column.encoding, dictCursor, numValues, options).map(function (d) {
383
+ return d.toString();
384
+ }));
385
+ case 11:
386
+ case "end":
387
+ return _context5.stop();
388
+ }
389
+ }, _callee5);
390
+ }));
391
+ return _decodeDictionaryPage.apply(this, arguments);
392
+ }
393
+ //# sourceMappingURL=decoders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoders.js","names":["_codecs","require","_parquetThrift","_compression","_constants","_readUtils","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","decodeDataPages","_x","_x2","_decodeDataPages","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","buffer","options","cursor","data","dictionary","page","index","wrap","_callee$","_context","prev","offset","size","rlevels","dlevels","values","pageHeaders","count","numValues","Number","decodePage","sent","abrupt","map","push","undefined","pageHeader","stop","_x3","_x4","_decodePage","_callee2","_decodePageHeader","pageType","_callee2$","_context2","decodePageHeader","getThriftEnum","PageType","type","t0","decodeDataPage","decodeDataPageV2","decodeDictionaryPage","t1","t2","Error","concat","decodeSchema","schemaElements","schema","schemaElement","repetitionType","FieldRepetitionType","repetition_type","optional","repeated","num_children","res","fields","Type","logicalType","converted_type","ConvertedType","typeLength","type_length","presision","precision","scale","decodeValues","encoding","opts","PARQUET_CODECS","_x5","_x6","_x7","_decodeDataPage","_callee3","header","_header$data_page_hea","_header$data_page_hea2","_header$data_page_hea3","_header$data_page_hea4","cursorEnd","valueCount","dataCursor","valuesBuf","rLevelEncoding","rLevels","dLevelEncoding","dLevels","valueCountNonNull","_iterator","_step","dlvl","valueEncoding","decodeOptions","_callee3$","_context3","compressed_page_size","data_page_header","num_values","compression","decompress","uncompressed_page_size","Encoding","repetition_level_encoding","column","rLevelMax","PARQUET_RDLVL_TYPE","bitWidth","getBitWidth","disableEnvelope","fill","definition_level_encoding","dLevelMax","primitiveType","_x8","_x9","_x10","_decodeDataPageV","_callee4","_header$data_page_hea5","_header$data_page_hea6","_header$data_page_hea7","_header$data_page_hea8","valuesBufCursor","_callee4$","_context4","data_page_header_v2","num_nulls","PARQUET_RDLVL_ENCODING","is_compressed","_x11","_x12","_x13","_decodeDictionaryPage","_callee5","_pageHeader$dictionar","dictCursor","_callee5$","_context5","dictionary_page_header","d"],"sources":["../../../../src/parquetjs/parser/decoders.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {\n ParquetCodec,\n ParquetColumnChunk,\n ParquetOptions,\n ParquetPageData,\n ParquetType,\n PrimitiveType,\n SchemaDefinition\n} from '../schema/declare';\nimport {CursorBuffer, ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport {\n ConvertedType,\n Encoding,\n FieldRepetitionType,\n PageHeader,\n PageType,\n SchemaElement,\n Type\n} from '../parquet-thrift';\nimport {decompress} from '../compression';\nimport {PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING} from '../../constants';\nimport {decodePageHeader, getThriftEnum, getBitWidth} from '../utils/read-utils';\n\n/**\n * Decode data pages\n * @param buffer - input data\n * @param column - parquet column\n * @param compression - compression type\n * @returns parquet data page data\n */\nexport async function decodeDataPages(\n buffer: Buffer,\n options: ParquetOptions\n): Promise<ParquetColumnChunk> {\n const cursor: CursorBuffer = {\n buffer,\n offset: 0,\n size: buffer.length\n };\n\n const data: ParquetColumnChunk = {\n rlevels: [],\n dlevels: [],\n values: [],\n pageHeaders: [],\n count: 0\n };\n\n let dictionary = options.dictionary || [];\n\n while (\n // @ts-ignore size can be undefined\n cursor.offset < cursor.size &&\n (!options.numValues || data.dlevels.length < Number(options.numValues))\n ) {\n // Looks like we have to decode these in sequence due to cursor updates?\n const page = await decodePage(cursor, options);\n\n if (page.dictionary) {\n dictionary = page.dictionary;\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (dictionary.length) {\n // eslint-disable-next-line no-loop-func\n page.values = page.values.map((value) => dictionary[value]);\n }\n\n for (let index = 0; index < page.rlevels.length; index++) {\n data.rlevels.push(page.rlevels[index]);\n data.dlevels.push(page.dlevels[index]);\n const value = page.values[index];\n\n if (value !== undefined) {\n data.values.push(value);\n }\n }\n\n data.count += page.count;\n data.pageHeaders.push(page.pageHeader);\n }\n\n return data;\n}\n\n/**\n * Decode parquet page based on page type\n * @param cursor\n * @param options\n */\nexport async function decodePage(\n cursor: CursorBuffer,\n options: ParquetOptions\n): Promise<ParquetPageData> {\n let page;\n const {pageHeader, length} = decodePageHeader(cursor.buffer, cursor.offset);\n cursor.offset += length;\n\n const pageType = getThriftEnum(PageType, pageHeader.type);\n\n switch (pageType) {\n case 'DATA_PAGE':\n page = await decodeDataPage(cursor, pageHeader, options);\n break;\n case 'DATA_PAGE_V2':\n page = await decodeDataPageV2(cursor, pageHeader, options);\n break;\n case 'DICTIONARY_PAGE':\n page = {\n dictionary: await decodeDictionaryPage(cursor, pageHeader, options),\n pageHeader\n };\n break;\n default:\n throw new Error(`invalid page type: ${pageType}`);\n }\n\n return page;\n}\n\n/**\n * Decode parquet schema\n * @param schemaElements input schema elements data\n * @param offset offset to read from\n * @param len length of data\n * @returns result.offset\n * result.next - offset at the end of function\n * result.schema - schema read from the input data\n * @todo output offset is the same as input - possibly excess output field\n */\nexport function decodeSchema(\n schemaElements: SchemaElement[],\n offset: number,\n len: number\n): {\n offset: number;\n next: number;\n schema: SchemaDefinition;\n} {\n const schema: SchemaDefinition = {};\n let next = offset;\n for (let i = 0; i < len; i++) {\n const schemaElement = schemaElements[next];\n\n const repetitionType =\n next > 0 ? getThriftEnum(FieldRepetitionType, schemaElement.repetition_type!) : 'ROOT';\n\n let optional = false;\n let repeated = false;\n switch (repetitionType) {\n case 'REQUIRED':\n break;\n case 'OPTIONAL':\n optional = true;\n break;\n case 'REPEATED':\n repeated = true;\n break;\n default:\n throw new Error('parquet: unknown repetition type');\n }\n\n if (schemaElement.num_children! > 0) {\n const res = decodeSchema(schemaElements, next + 1, schemaElement.num_children!);\n next = res.next;\n schema[schemaElement.name] = {\n // type: undefined,\n optional,\n repeated,\n fields: res.schema\n };\n } else {\n const type = getThriftEnum(Type, schemaElement.type!);\n let logicalType = type;\n\n if (schemaElement.converted_type) {\n logicalType = getThriftEnum(ConvertedType, schemaElement.converted_type);\n }\n\n switch (logicalType) {\n case 'DECIMAL':\n logicalType = `${logicalType}_${type}` as ParquetType;\n break;\n default:\n }\n\n schema[schemaElement.name] = {\n type: logicalType as ParquetType,\n typeLength: schemaElement.type_length,\n presision: schemaElement.precision,\n scale: schemaElement.scale,\n optional,\n repeated\n };\n next++;\n }\n }\n return {schema, offset, next};\n}\n\n/**\n * Decode a consecutive array of data using one of the parquet encodings\n */\nfunction decodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n cursor: CursorBuffer,\n count: number,\n opts: ParquetCodecOptions\n): any[] {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);\n}\n\n/**\n * Do decoding of parquet dataPage from column chunk\n * @param cursor\n * @param header\n * @param options\n */\nasync function decodeDataPage(\n cursor: CursorBuffer,\n header: PageHeader,\n options: ParquetOptions\n): Promise<ParquetPageData> {\n const cursorEnd = cursor.offset + header.compressed_page_size;\n const valueCount = header.data_page_header?.num_values;\n\n /* uncompress page */\n let dataCursor = cursor;\n\n if (options.compression !== 'UNCOMPRESSED') {\n const valuesBuf = await decompress(\n options.compression,\n cursor.buffer.slice(cursor.offset, cursorEnd),\n header.uncompressed_page_size\n );\n dataCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n cursor.offset = cursorEnd;\n }\n\n /* read repetition levels */\n const rLevelEncoding = getThriftEnum(\n Encoding,\n header.data_page_header?.repetition_level_encoding!\n ) as ParquetCodec;\n // tslint:disable-next-line:prefer-array-literal\n let rLevels = new Array(valueCount);\n\n if (options.column.rLevelMax > 0) {\n rLevels = decodeValues(PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount!, {\n bitWidth: getBitWidth(options.column.rLevelMax),\n disableEnvelope: false\n // column: opts.column\n });\n } else {\n rLevels.fill(0);\n }\n\n /* read definition levels */\n const dLevelEncoding = getThriftEnum(\n Encoding,\n header.data_page_header?.definition_level_encoding!\n ) as ParquetCodec;\n // tslint:disable-next-line:prefer-array-literal\n let dLevels = new Array(valueCount);\n if (options.column.dLevelMax > 0) {\n dLevels = decodeValues(PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount!, {\n bitWidth: getBitWidth(options.column.dLevelMax),\n disableEnvelope: false\n // column: opts.column\n });\n } else {\n dLevels.fill(0);\n }\n let valueCountNonNull = 0;\n for (const dlvl of dLevels) {\n if (dlvl === options.column.dLevelMax) {\n valueCountNonNull++;\n }\n }\n\n /* read values */\n const valueEncoding = getThriftEnum(Encoding, header.data_page_header?.encoding!) as ParquetCodec;\n const decodeOptions = {\n typeLength: options.column.typeLength,\n bitWidth: options.column.typeLength\n };\n\n const values = decodeValues(\n options.column.primitiveType!,\n valueEncoding,\n dataCursor,\n valueCountNonNull,\n decodeOptions\n );\n\n return {\n dlevels: dLevels,\n rlevels: rLevels,\n values,\n count: valueCount!,\n pageHeader: header\n };\n}\n\n/**\n * Do decoding of parquet dataPage in version 2 from column chunk\n * @param cursor\n * @param header\n * @param opts\n * @returns\n */\nasync function decodeDataPageV2(\n cursor: CursorBuffer,\n header: PageHeader,\n opts: any\n): Promise<ParquetPageData> {\n const cursorEnd = cursor.offset + header.compressed_page_size;\n\n const valueCount = header.data_page_header_v2?.num_values;\n // @ts-ignore\n const valueCountNonNull = valueCount - header.data_page_header_v2?.num_nulls;\n const valueEncoding = getThriftEnum(\n Encoding,\n header.data_page_header_v2?.encoding!\n ) as ParquetCodec;\n\n /* read repetition levels */\n // tslint:disable-next-line:prefer-array-literal\n let rLevels = new Array(valueCount);\n if (opts.column.rLevelMax > 0) {\n rLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {\n bitWidth: getBitWidth(opts.column.rLevelMax),\n disableEnvelope: true\n });\n } else {\n rLevels.fill(0);\n }\n\n /* read definition levels */\n // tslint:disable-next-line:prefer-array-literal\n let dLevels = new Array(valueCount);\n if (opts.column.dLevelMax > 0) {\n dLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount!, {\n bitWidth: getBitWidth(opts.column.dLevelMax),\n disableEnvelope: true\n });\n } else {\n dLevels.fill(0);\n }\n\n /* read values */\n let valuesBufCursor = cursor;\n\n if (header.data_page_header_v2?.is_compressed) {\n const valuesBuf = await decompress(\n opts.compression,\n cursor.buffer.slice(cursor.offset, cursorEnd),\n header.uncompressed_page_size\n );\n\n valuesBufCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n\n cursor.offset = cursorEnd;\n }\n\n const decodeOptions = {\n typeLength: opts.column.typeLength,\n bitWidth: opts.column.typeLength\n };\n\n const values = decodeValues(\n opts.column.primitiveType!,\n valueEncoding,\n valuesBufCursor,\n valueCountNonNull,\n decodeOptions\n );\n\n return {\n dlevels: dLevels,\n rlevels: rLevels,\n values,\n count: valueCount!,\n pageHeader: header\n };\n}\n\n/**\n * Do decoding of dictionary page which helps to iterate over all indexes and get dataPage values.\n * @param cursor\n * @param pageHeader\n * @param options\n */\nasync function decodeDictionaryPage(\n cursor: CursorBuffer,\n pageHeader: PageHeader,\n options: ParquetOptions\n): Promise<string[]> {\n const cursorEnd = cursor.offset + pageHeader.compressed_page_size;\n\n let dictCursor = {\n offset: 0,\n buffer: cursor.buffer.slice(cursor.offset, cursorEnd),\n size: cursorEnd - cursor.offset\n };\n\n cursor.offset = cursorEnd;\n\n if (options.compression !== 'UNCOMPRESSED') {\n const valuesBuf = await decompress(\n options.compression,\n dictCursor.buffer.slice(dictCursor.offset, cursorEnd),\n pageHeader.uncompressed_page_size\n );\n\n dictCursor = {\n buffer: valuesBuf,\n offset: 0,\n size: valuesBuf.length\n };\n\n cursor.offset = cursorEnd;\n }\n\n const numValues = pageHeader?.dictionary_page_header?.num_values || 0;\n\n return decodeValues(\n options.column.primitiveType!,\n options.column.encoding!,\n dictCursor,\n numValues,\n options as ParquetCodecOptions\n ).map((d) => d.toString());\n}\n"],"mappings":"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"}