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

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 (438) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/bundle.js.map +1 -0
  3. package/dist/constants.js +6 -18
  4. package/dist/constants.js.map +1 -0
  5. package/dist/dist.min.js +17 -8
  6. package/dist/dist.min.js.map +3 -3
  7. package/dist/index.js +14 -29
  8. package/dist/index.js.map +1 -0
  9. package/dist/lib/convert-schema.js +63 -62
  10. package/dist/lib/convert-schema.js.map +1 -0
  11. package/dist/lib/parse-parquet.js +25 -25
  12. package/dist/lib/parse-parquet.js.map +1 -0
  13. package/dist/lib/read-array-buffer.js +8 -28
  14. package/dist/lib/read-array-buffer.js.map +1 -0
  15. package/dist/parquet-loader.js +19 -24
  16. package/dist/parquet-loader.js.map +1 -0
  17. package/dist/parquet-worker.js +18 -9
  18. package/dist/parquet-worker.js.map +3 -3
  19. package/dist/parquet-writer.js +14 -17
  20. package/dist/parquet-writer.js.map +1 -0
  21. package/dist/{es5/parquetjs → parquetjs}/LICENSE +0 -0
  22. package/dist/parquetjs/codecs/declare.js +2 -2
  23. package/dist/{es5/parquetjs → parquetjs}/codecs/declare.js.map +0 -0
  24. package/dist/parquetjs/codecs/dictionary.js +10 -12
  25. package/dist/parquetjs/codecs/dictionary.js.map +1 -0
  26. package/dist/parquetjs/codecs/index.js +22 -50
  27. package/dist/parquetjs/codecs/index.js.map +1 -0
  28. package/dist/parquetjs/codecs/plain.js +232 -173
  29. package/dist/parquetjs/codecs/plain.js.map +1 -0
  30. package/dist/parquetjs/codecs/rle.js +140 -134
  31. package/dist/parquetjs/codecs/rle.js.map +1 -0
  32. package/dist/parquetjs/compression.js +48 -154
  33. package/dist/parquetjs/compression.js.map +1 -0
  34. package/dist/parquetjs/encoder/writer.js +383 -440
  35. package/dist/parquetjs/encoder/writer.js.map +1 -0
  36. package/dist/parquetjs/file.js +66 -85
  37. package/dist/parquetjs/file.js.map +1 -0
  38. package/dist/{es5/parquetjs → parquetjs}/modules.d.ts +0 -0
  39. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +7 -14
  40. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
  41. package/dist/parquetjs/parquet-thrift/BsonType.js +37 -56
  42. package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -0
  43. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +215 -205
  44. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
  45. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +212 -207
  46. package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
  47. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +422 -391
  48. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
  49. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +90 -99
  50. package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
  51. package/dist/parquetjs/parquet-thrift/CompressionCodec.js +12 -19
  52. package/dist/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
  53. package/dist/parquetjs/parquet-thrift/ConvertedType.js +26 -33
  54. package/dist/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
  55. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +162 -162
  56. package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
  57. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +234 -224
  58. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
  59. package/dist/parquetjs/parquet-thrift/DateType.js +37 -56
  60. package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -0
  61. package/dist/parquetjs/parquet-thrift/DecimalType.js +91 -101
  62. package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
  63. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +113 -118
  64. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
  65. package/dist/parquetjs/parquet-thrift/Encoding.js +12 -19
  66. package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -0
  67. package/dist/parquetjs/parquet-thrift/EnumType.js +37 -56
  68. package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -0
  69. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +7 -14
  70. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
  71. package/dist/parquetjs/parquet-thrift/FileMetaData.js +264 -250
  72. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
  73. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +37 -56
  74. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
  75. package/dist/parquetjs/parquet-thrift/IntType.js +91 -101
  76. package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -0
  77. package/dist/parquetjs/parquet-thrift/JsonType.js +37 -56
  78. package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -0
  79. package/dist/parquetjs/parquet-thrift/KeyValue.js +89 -98
  80. package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
  81. package/dist/parquetjs/parquet-thrift/ListType.js +37 -56
  82. package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -0
  83. package/dist/parquetjs/parquet-thrift/LogicalType.js +450 -363
  84. package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
  85. package/dist/parquetjs/parquet-thrift/MapType.js +37 -56
  86. package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -0
  87. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +37 -56
  88. package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
  89. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +37 -56
  90. package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
  91. package/dist/parquetjs/parquet-thrift/NullType.js +37 -56
  92. package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -0
  93. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +80 -92
  94. package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
  95. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +115 -123
  96. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
  97. package/dist/parquetjs/parquet-thrift/PageHeader.js +231 -214
  98. package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
  99. package/dist/parquetjs/parquet-thrift/PageLocation.js +124 -137
  100. package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
  101. package/dist/parquetjs/parquet-thrift/PageType.js +8 -15
  102. package/dist/parquetjs/parquet-thrift/PageType.js.map +1 -0
  103. package/dist/parquetjs/parquet-thrift/RowGroup.js +172 -176
  104. package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
  105. package/dist/parquetjs/parquet-thrift/SchemaElement.js +268 -237
  106. package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
  107. package/dist/parquetjs/parquet-thrift/SortingColumn.js +115 -123
  108. package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
  109. package/dist/parquetjs/parquet-thrift/Statistics.js +179 -172
  110. package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -0
  111. package/dist/parquetjs/parquet-thrift/StringType.js +37 -56
  112. package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -0
  113. package/dist/parquetjs/parquet-thrift/TimeType.js +92 -102
  114. package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -0
  115. package/dist/parquetjs/parquet-thrift/TimeUnit.js +120 -121
  116. package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
  117. package/dist/parquetjs/parquet-thrift/TimestampType.js +92 -102
  118. package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
  119. package/dist/parquetjs/parquet-thrift/Type.js +12 -19
  120. package/dist/parquetjs/parquet-thrift/Type.js.map +1 -0
  121. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +37 -56
  122. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
  123. package/dist/parquetjs/parquet-thrift/UUIDType.js +37 -56
  124. package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
  125. package/dist/parquetjs/parquet-thrift/index.js +44 -61
  126. package/dist/parquetjs/parquet-thrift/index.js.map +1 -0
  127. package/dist/parquetjs/parser/decoders.js +283 -301
  128. package/dist/{es5/parquetjs → parquetjs}/parser/decoders.js.map +1 -1
  129. package/dist/parquetjs/parser/parquet-cursor.js +85 -69
  130. package/dist/parquetjs/parser/parquet-cursor.js.map +1 -0
  131. package/dist/parquetjs/parser/parquet-envelope-reader.js +146 -127
  132. package/dist/parquetjs/parser/parquet-envelope-reader.js.map +1 -0
  133. package/dist/parquetjs/parser/parquet-reader.js +113 -127
  134. package/dist/parquetjs/parser/parquet-reader.js.map +1 -0
  135. package/dist/parquetjs/schema/declare.js +12 -9
  136. package/dist/parquetjs/schema/declare.js.map +1 -0
  137. package/dist/parquetjs/schema/schema.js +162 -148
  138. package/dist/{es5/parquetjs → parquetjs}/schema/schema.js.map +1 -1
  139. package/dist/parquetjs/schema/shred.js +151 -214
  140. package/dist/parquetjs/schema/shred.js.map +1 -0
  141. package/dist/parquetjs/schema/types.js +415 -357
  142. package/dist/parquetjs/schema/types.js.map +1 -0
  143. package/dist/parquetjs/utils/buffer-utils.js +10 -20
  144. package/dist/parquetjs/utils/buffer-utils.js.map +1 -0
  145. package/dist/parquetjs/utils/file-utils.js +28 -40
  146. package/dist/parquetjs/utils/file-utils.js.map +1 -0
  147. package/dist/parquetjs/utils/read-utils.js +95 -99
  148. package/dist/parquetjs/utils/read-utils.js.map +1 -0
  149. package/dist/workers/parquet-worker.js +4 -5
  150. package/dist/workers/parquet-worker.js.map +1 -0
  151. package/package.json +8 -8
  152. package/dist/es5/bundle.js +0 -7
  153. package/dist/es5/bundle.js.map +0 -1
  154. package/dist/es5/constants.js +0 -17
  155. package/dist/es5/constants.js.map +0 -1
  156. package/dist/es5/index.js +0 -82
  157. package/dist/es5/index.js.map +0 -1
  158. package/dist/es5/lib/convert-schema.js +0 -82
  159. package/dist/es5/lib/convert-schema.js.map +0 -1
  160. package/dist/es5/lib/parse-parquet.js +0 -173
  161. package/dist/es5/lib/parse-parquet.js.map +0 -1
  162. package/dist/es5/lib/read-array-buffer.js +0 -53
  163. package/dist/es5/lib/read-array-buffer.js.map +0 -1
  164. package/dist/es5/parquet-loader.js +0 -30
  165. package/dist/es5/parquet-loader.js.map +0 -1
  166. package/dist/es5/parquet-writer.js +0 -25
  167. package/dist/es5/parquet-writer.js.map +0 -1
  168. package/dist/es5/parquetjs/codecs/declare.js +0 -2
  169. package/dist/es5/parquetjs/codecs/dictionary.js +0 -30
  170. package/dist/es5/parquetjs/codecs/dictionary.js.map +0 -1
  171. package/dist/es5/parquetjs/codecs/index.js +0 -56
  172. package/dist/es5/parquetjs/codecs/index.js.map +0 -1
  173. package/dist/es5/parquetjs/codecs/plain.js +0 -287
  174. package/dist/es5/parquetjs/codecs/plain.js.map +0 -1
  175. package/dist/es5/parquetjs/codecs/rle.js +0 -174
  176. package/dist/es5/parquetjs/codecs/rle.js.map +0 -1
  177. package/dist/es5/parquetjs/compression.js +0 -167
  178. package/dist/es5/parquetjs/compression.js.map +0 -1
  179. package/dist/es5/parquetjs/encoder/writer.js +0 -875
  180. package/dist/es5/parquetjs/encoder/writer.js.map +0 -1
  181. package/dist/es5/parquetjs/file.js +0 -103
  182. package/dist/es5/parquetjs/file.js.map +0 -1
  183. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +0 -15
  184. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  185. package/dist/es5/parquetjs/parquet-thrift/BsonType.js +0 -67
  186. package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  187. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +0 -241
  188. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  189. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +0 -245
  190. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  191. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +0 -449
  192. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  193. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +0 -124
  194. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  195. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +0 -20
  196. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  197. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +0 -34
  198. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  199. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +0 -191
  200. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  201. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -258
  202. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  203. package/dist/es5/parquetjs/parquet-thrift/DateType.js +0 -67
  204. package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +0 -1
  205. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +0 -122
  206. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  207. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -143
  208. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  209. package/dist/es5/parquetjs/parquet-thrift/Encoding.js +0 -20
  210. package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  211. package/dist/es5/parquetjs/parquet-thrift/EnumType.js +0 -67
  212. package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  213. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -15
  214. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  215. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +0 -298
  216. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  217. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +0 -67
  218. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  219. package/dist/es5/parquetjs/parquet-thrift/IntType.js +0 -122
  220. package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +0 -1
  221. package/dist/es5/parquetjs/parquet-thrift/JsonType.js +0 -67
  222. package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  223. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +0 -120
  224. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  225. package/dist/es5/parquetjs/parquet-thrift/ListType.js +0 -67
  226. package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +0 -1
  227. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +0 -508
  228. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  229. package/dist/es5/parquetjs/parquet-thrift/MapType.js +0 -67
  230. package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +0 -1
  231. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +0 -67
  232. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  233. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +0 -67
  234. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  235. package/dist/es5/parquetjs/parquet-thrift/NullType.js +0 -67
  236. package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +0 -1
  237. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +0 -114
  238. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  239. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +0 -145
  240. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  241. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +0 -258
  242. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  243. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +0 -155
  244. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  245. package/dist/es5/parquetjs/parquet-thrift/PageType.js +0 -16
  246. package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +0 -1
  247. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +0 -206
  248. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  249. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +0 -290
  250. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  251. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +0 -145
  252. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  253. package/dist/es5/parquetjs/parquet-thrift/Statistics.js +0 -207
  254. package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  255. package/dist/es5/parquetjs/parquet-thrift/StringType.js +0 -67
  256. package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +0 -1
  257. package/dist/es5/parquetjs/parquet-thrift/TimeType.js +0 -124
  258. package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  259. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +0 -156
  260. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  261. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +0 -124
  262. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  263. package/dist/es5/parquetjs/parquet-thrift/Type.js +0 -20
  264. package/dist/es5/parquetjs/parquet-thrift/Type.js.map +0 -1
  265. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -67
  266. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  267. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +0 -67
  268. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  269. package/dist/es5/parquetjs/parquet-thrift/index.js +0 -565
  270. package/dist/es5/parquetjs/parquet-thrift/index.js.map +0 -1
  271. package/dist/es5/parquetjs/parser/decoders.js +0 -489
  272. package/dist/es5/parquetjs/parser/parquet-cursor.js +0 -215
  273. package/dist/es5/parquetjs/parser/parquet-cursor.js.map +0 -1
  274. package/dist/es5/parquetjs/parser/parquet-envelope-reader.js +0 -413
  275. package/dist/es5/parquetjs/parser/parquet-envelope-reader.js.map +0 -1
  276. package/dist/es5/parquetjs/parser/parquet-reader.js +0 -364
  277. package/dist/es5/parquetjs/parser/parquet-reader.js.map +0 -1
  278. package/dist/es5/parquetjs/schema/declare.js +0 -25
  279. package/dist/es5/parquetjs/schema/declare.js.map +0 -1
  280. package/dist/es5/parquetjs/schema/schema.js +0 -203
  281. package/dist/es5/parquetjs/schema/shred.js +0 -223
  282. package/dist/es5/parquetjs/schema/shred.js.map +0 -1
  283. package/dist/es5/parquetjs/schema/types.js +0 -492
  284. package/dist/es5/parquetjs/schema/types.js.map +0 -1
  285. package/dist/es5/parquetjs/utils/buffer-utils.js +0 -21
  286. package/dist/es5/parquetjs/utils/buffer-utils.js.map +0 -1
  287. package/dist/es5/parquetjs/utils/file-utils.js +0 -55
  288. package/dist/es5/parquetjs/utils/file-utils.js.map +0 -1
  289. package/dist/es5/parquetjs/utils/read-utils.js +0 -159
  290. package/dist/es5/parquetjs/utils/read-utils.js.map +0 -1
  291. package/dist/es5/workers/parquet-worker.js +0 -8
  292. package/dist/es5/workers/parquet-worker.js.map +0 -1
  293. package/dist/esm/bundle.js +0 -5
  294. package/dist/esm/bundle.js.map +0 -1
  295. package/dist/esm/constants.js +0 -6
  296. package/dist/esm/constants.js.map +0 -1
  297. package/dist/esm/index.js +0 -15
  298. package/dist/esm/index.js.map +0 -1
  299. package/dist/esm/lib/convert-schema.js +0 -71
  300. package/dist/esm/lib/convert-schema.js.map +0 -1
  301. package/dist/esm/lib/parse-parquet.js +0 -28
  302. package/dist/esm/lib/parse-parquet.js.map +0 -1
  303. package/dist/esm/lib/read-array-buffer.js +0 -9
  304. package/dist/esm/lib/read-array-buffer.js.map +0 -1
  305. package/dist/esm/parquet-loader.js +0 -22
  306. package/dist/esm/parquet-loader.js.map +0 -1
  307. package/dist/esm/parquet-writer.js +0 -18
  308. package/dist/esm/parquet-writer.js.map +0 -1
  309. package/dist/esm/parquetjs/LICENSE +0 -20
  310. package/dist/esm/parquetjs/codecs/declare.js +0 -2
  311. package/dist/esm/parquetjs/codecs/declare.js.map +0 -1
  312. package/dist/esm/parquetjs/codecs/dictionary.js +0 -12
  313. package/dist/esm/parquetjs/codecs/dictionary.js.map +0 -1
  314. package/dist/esm/parquetjs/codecs/index.js +0 -23
  315. package/dist/esm/parquetjs/codecs/index.js.map +0 -1
  316. package/dist/esm/parquetjs/codecs/plain.js +0 -270
  317. package/dist/esm/parquetjs/codecs/plain.js.map +0 -1
  318. package/dist/esm/parquetjs/codecs/rle.js +0 -151
  319. package/dist/esm/parquetjs/codecs/rle.js.map +0 -1
  320. package/dist/esm/parquetjs/compression.js +0 -62
  321. package/dist/esm/parquetjs/compression.js.map +0 -1
  322. package/dist/esm/parquetjs/encoder/writer.js +0 -421
  323. package/dist/esm/parquetjs/encoder/writer.js.map +0 -1
  324. package/dist/esm/parquetjs/file.js +0 -80
  325. package/dist/esm/parquetjs/file.js.map +0 -1
  326. package/dist/esm/parquetjs/modules.d.ts +0 -21
  327. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js +0 -8
  328. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  329. package/dist/esm/parquetjs/parquet-thrift/BsonType.js +0 -39
  330. package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  331. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js +0 -217
  332. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  333. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js +0 -218
  334. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  335. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js +0 -429
  336. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  337. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js +0 -95
  338. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  339. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js +0 -13
  340. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  341. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js +0 -27
  342. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  343. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js +0 -166
  344. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  345. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -236
  346. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  347. package/dist/esm/parquetjs/parquet-thrift/DateType.js +0 -39
  348. package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +0 -1
  349. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js +0 -95
  350. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  351. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -117
  352. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  353. package/dist/esm/parquetjs/parquet-thrift/Encoding.js +0 -13
  354. package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  355. package/dist/esm/parquetjs/parquet-thrift/EnumType.js +0 -39
  356. package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  357. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -8
  358. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  359. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js +0 -270
  360. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  361. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js +0 -39
  362. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  363. package/dist/esm/parquetjs/parquet-thrift/IntType.js +0 -95
  364. package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +0 -1
  365. package/dist/esm/parquetjs/parquet-thrift/JsonType.js +0 -39
  366. package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  367. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js +0 -93
  368. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  369. package/dist/esm/parquetjs/parquet-thrift/ListType.js +0 -39
  370. package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +0 -1
  371. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js +0 -467
  372. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  373. package/dist/esm/parquetjs/parquet-thrift/MapType.js +0 -39
  374. package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +0 -1
  375. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js +0 -39
  376. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  377. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js +0 -39
  378. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  379. package/dist/esm/parquetjs/parquet-thrift/NullType.js +0 -39
  380. package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +0 -1
  381. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js +0 -85
  382. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  383. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js +0 -119
  384. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  385. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js +0 -233
  386. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  387. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js +0 -128
  388. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  389. package/dist/esm/parquetjs/parquet-thrift/PageType.js +0 -9
  390. package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +0 -1
  391. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js +0 -178
  392. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  393. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js +0 -270
  394. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  395. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js +0 -119
  396. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  397. package/dist/esm/parquetjs/parquet-thrift/Statistics.js +0 -183
  398. package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  399. package/dist/esm/parquetjs/parquet-thrift/StringType.js +0 -39
  400. package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +0 -1
  401. package/dist/esm/parquetjs/parquet-thrift/TimeType.js +0 -96
  402. package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  403. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js +0 -126
  404. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  405. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js +0 -96
  406. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  407. package/dist/esm/parquetjs/parquet-thrift/Type.js +0 -13
  408. package/dist/esm/parquetjs/parquet-thrift/Type.js.map +0 -1
  409. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -39
  410. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  411. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js +0 -39
  412. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  413. package/dist/esm/parquetjs/parquet-thrift/index.js +0 -44
  414. package/dist/esm/parquetjs/parquet-thrift/index.js.map +0 -1
  415. package/dist/esm/parquetjs/parser/decoders.js +0 -300
  416. package/dist/esm/parquetjs/parser/decoders.js.map +0 -1
  417. package/dist/esm/parquetjs/parser/parquet-cursor.js +0 -90
  418. package/dist/esm/parquetjs/parser/parquet-cursor.js.map +0 -1
  419. package/dist/esm/parquetjs/parser/parquet-envelope-reader.js +0 -155
  420. package/dist/esm/parquetjs/parser/parquet-envelope-reader.js.map +0 -1
  421. package/dist/esm/parquetjs/parser/parquet-reader.js +0 -120
  422. package/dist/esm/parquetjs/parser/parquet-reader.js.map +0 -1
  423. package/dist/esm/parquetjs/schema/declare.js +0 -13
  424. package/dist/esm/parquetjs/schema/declare.js.map +0 -1
  425. package/dist/esm/parquetjs/schema/schema.js +0 -176
  426. package/dist/esm/parquetjs/schema/schema.js.map +0 -1
  427. package/dist/esm/parquetjs/schema/shred.js +0 -162
  428. package/dist/esm/parquetjs/schema/shred.js.map +0 -1
  429. package/dist/esm/parquetjs/schema/types.js +0 -476
  430. package/dist/esm/parquetjs/schema/types.js.map +0 -1
  431. package/dist/esm/parquetjs/utils/buffer-utils.js +0 -12
  432. package/dist/esm/parquetjs/utils/buffer-utils.js.map +0 -1
  433. package/dist/esm/parquetjs/utils/file-utils.js +0 -34
  434. package/dist/esm/parquetjs/utils/file-utils.js.map +0 -1
  435. package/dist/esm/parquetjs/utils/read-utils.js +0 -105
  436. package/dist/esm/parquetjs/utils/read-utils.js.map +0 -1
  437. package/dist/esm/workers/parquet-worker.js +0 -4
  438. package/dist/esm/workers/parquet-worker.js.map +0 -1
@@ -1,318 +1,300 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decodeSchema = exports.decodePage = exports.decodeDataPages = void 0;
4
- const codecs_1 = require("../codecs");
5
- const parquet_thrift_1 = require("../parquet-thrift");
6
- const compression_1 = require("../compression");
7
- const constants_1 = require("../../constants");
8
- const read_utils_1 = require("../utils/read-utils");
9
- /**
10
- * Decode data pages
11
- * @param buffer - input data
12
- * @param column - parquet column
13
- * @param compression - compression type
14
- * @returns parquet data page data
15
- */
16
- async function decodeDataPages(buffer, options) {
17
- const cursor = {
18
- buffer,
19
- offset: 0,
20
- size: buffer.length
21
- };
22
- const data = {
23
- rlevels: [],
24
- dlevels: [],
25
- values: [],
26
- pageHeaders: [],
27
- count: 0
28
- };
29
- let dictionary = options.dictionary || [];
30
- while (
31
- // @ts-ignore size can be undefined
32
- cursor.offset < cursor.size &&
33
- (!options.numValues || data.dlevels.length < Number(options.numValues))) {
34
- // Looks like we have to decode these in sequence due to cursor updates?
35
- const page = await decodePage(cursor, options);
36
- if (page.dictionary) {
37
- dictionary = page.dictionary;
38
- // eslint-disable-next-line no-continue
39
- continue;
40
- }
41
- if (dictionary.length) {
42
- // eslint-disable-next-line no-loop-func
43
- page.values = page.values.map((value) => dictionary[value]);
44
- }
45
- for (let index = 0; index < page.rlevels.length; index++) {
46
- data.rlevels.push(page.rlevels[index]);
47
- data.dlevels.push(page.dlevels[index]);
48
- const value = page.values[index];
49
- if (value !== undefined) {
50
- data.values.push(value);
51
- }
52
- }
53
- data.count += page.count;
54
- data.pageHeaders.push(page.pageHeader);
1
+ import { PARQUET_CODECS } from '../codecs';
2
+ import { ConvertedType, Encoding, FieldRepetitionType, PageType, Type } from '../parquet-thrift';
3
+ import { decompress } from '../compression';
4
+ import { PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING } from '../../constants';
5
+ import { decodePageHeader, getThriftEnum, getBitWidth } from '../utils/read-utils';
6
+ export async function decodeDataPages(buffer, options) {
7
+ const cursor = {
8
+ buffer,
9
+ offset: 0,
10
+ size: buffer.length
11
+ };
12
+ const data = {
13
+ rlevels: [],
14
+ dlevels: [],
15
+ values: [],
16
+ pageHeaders: [],
17
+ count: 0
18
+ };
19
+ let dictionary = options.dictionary || [];
20
+
21
+ while (cursor.offset < cursor.size && (!options.numValues || data.dlevels.length < Number(options.numValues))) {
22
+ const page = await decodePage(cursor, options);
23
+
24
+ if (page.dictionary) {
25
+ dictionary = page.dictionary;
26
+ continue;
55
27
  }
56
- return data;
57
- }
58
- exports.decodeDataPages = decodeDataPages;
59
- /**
60
- * Decode parquet page based on page type
61
- * @param cursor
62
- * @param options
63
- */
64
- async function decodePage(cursor, options) {
65
- let page;
66
- const { pageHeader, length } = (0, read_utils_1.decodePageHeader)(cursor.buffer, cursor.offset);
67
- cursor.offset += length;
68
- const pageType = (0, read_utils_1.getThriftEnum)(parquet_thrift_1.PageType, pageHeader.type);
69
- switch (pageType) {
70
- case 'DATA_PAGE':
71
- page = await decodeDataPage(cursor, pageHeader, options);
72
- break;
73
- case 'DATA_PAGE_V2':
74
- page = await decodeDataPageV2(cursor, pageHeader, options);
75
- break;
76
- case 'DICTIONARY_PAGE':
77
- page = {
78
- dictionary: await decodeDictionaryPage(cursor, pageHeader, options),
79
- pageHeader
80
- };
81
- break;
82
- default:
83
- throw new Error(`invalid page type: ${pageType}`);
28
+
29
+ if (dictionary.length) {
30
+ page.values = page.values.map(value => dictionary[value]);
84
31
  }
85
- return page;
32
+
33
+ for (let index = 0; index < page.rlevels.length; index++) {
34
+ data.rlevels.push(page.rlevels[index]);
35
+ data.dlevels.push(page.dlevels[index]);
36
+ const value = page.values[index];
37
+
38
+ if (value !== undefined) {
39
+ data.values.push(value);
40
+ }
41
+ }
42
+
43
+ data.count += page.count;
44
+ data.pageHeaders.push(page.pageHeader);
45
+ }
46
+
47
+ return data;
48
+ }
49
+ export async function decodePage(cursor, options) {
50
+ let page;
51
+ const {
52
+ pageHeader,
53
+ length
54
+ } = decodePageHeader(cursor.buffer, cursor.offset);
55
+ cursor.offset += length;
56
+ const pageType = getThriftEnum(PageType, pageHeader.type);
57
+
58
+ switch (pageType) {
59
+ case 'DATA_PAGE':
60
+ page = await decodeDataPage(cursor, pageHeader, options);
61
+ break;
62
+
63
+ case 'DATA_PAGE_V2':
64
+ page = await decodeDataPageV2(cursor, pageHeader, options);
65
+ break;
66
+
67
+ case 'DICTIONARY_PAGE':
68
+ page = {
69
+ dictionary: await decodeDictionaryPage(cursor, pageHeader, options),
70
+ pageHeader
71
+ };
72
+ break;
73
+
74
+ default:
75
+ throw new Error("invalid page type: ".concat(pageType));
76
+ }
77
+
78
+ return page;
86
79
  }
87
- exports.decodePage = decodePage;
88
- /**
89
- * Decode parquet schema
90
- * @param schemaElements input schema elements data
91
- * @param offset offset to read from
92
- * @param len length of data
93
- * @returns result.offset
94
- * result.next - offset at the end of function
95
- * result.schema - schema read from the input data
96
- * @todo output offset is the same as input - possibly excess output field
97
- */
98
- function decodeSchema(schemaElements, offset, len) {
99
- const schema = {};
100
- let next = offset;
101
- for (let i = 0; i < len; i++) {
102
- const schemaElement = schemaElements[next];
103
- const repetitionType = next > 0 ? (0, read_utils_1.getThriftEnum)(parquet_thrift_1.FieldRepetitionType, schemaElement.repetition_type) : 'ROOT';
104
- let optional = false;
105
- let repeated = false;
106
- switch (repetitionType) {
107
- case 'REQUIRED':
108
- break;
109
- case 'OPTIONAL':
110
- optional = true;
111
- break;
112
- case 'REPEATED':
113
- repeated = true;
114
- break;
115
- default:
116
- throw new Error('parquet: unknown repetition type');
117
- }
118
- if (schemaElement.num_children > 0) {
119
- const res = decodeSchema(schemaElements, next + 1, schemaElement.num_children);
120
- next = res.next;
121
- schema[schemaElement.name] = {
122
- // type: undefined,
123
- optional,
124
- repeated,
125
- fields: res.schema
126
- };
127
- }
128
- else {
129
- const type = (0, read_utils_1.getThriftEnum)(parquet_thrift_1.Type, schemaElement.type);
130
- let logicalType = type;
131
- if (schemaElement.converted_type) {
132
- logicalType = (0, read_utils_1.getThriftEnum)(parquet_thrift_1.ConvertedType, schemaElement.converted_type);
133
- }
134
- switch (logicalType) {
135
- case 'DECIMAL':
136
- logicalType = `${logicalType}_${type}`;
137
- break;
138
- default:
139
- }
140
- schema[schemaElement.name] = {
141
- type: logicalType,
142
- typeLength: schemaElement.type_length,
143
- presision: schemaElement.precision,
144
- scale: schemaElement.scale,
145
- optional,
146
- repeated
147
- };
148
- next++;
149
- }
80
+ export function decodeSchema(schemaElements, offset, len) {
81
+ const schema = {};
82
+ let next = offset;
83
+
84
+ for (let i = 0; i < len; i++) {
85
+ const schemaElement = schemaElements[next];
86
+ const repetitionType = next > 0 ? getThriftEnum(FieldRepetitionType, schemaElement.repetition_type) : 'ROOT';
87
+ let optional = false;
88
+ let repeated = false;
89
+
90
+ switch (repetitionType) {
91
+ case 'REQUIRED':
92
+ break;
93
+
94
+ case 'OPTIONAL':
95
+ optional = true;
96
+ break;
97
+
98
+ case 'REPEATED':
99
+ repeated = true;
100
+ break;
101
+
102
+ default:
103
+ throw new Error('parquet: unknown repetition type');
150
104
  }
151
- return { schema, offset, next };
105
+
106
+ if (schemaElement.num_children > 0) {
107
+ const res = decodeSchema(schemaElements, next + 1, schemaElement.num_children);
108
+ next = res.next;
109
+ schema[schemaElement.name] = {
110
+ optional,
111
+ repeated,
112
+ fields: res.schema
113
+ };
114
+ } else {
115
+ const type = getThriftEnum(Type, schemaElement.type);
116
+ let logicalType = type;
117
+
118
+ if (schemaElement.converted_type) {
119
+ logicalType = getThriftEnum(ConvertedType, schemaElement.converted_type);
120
+ }
121
+
122
+ switch (logicalType) {
123
+ case 'DECIMAL':
124
+ logicalType = "".concat(logicalType, "_").concat(type);
125
+ break;
126
+
127
+ default:
128
+ }
129
+
130
+ schema[schemaElement.name] = {
131
+ type: logicalType,
132
+ typeLength: schemaElement.type_length,
133
+ presision: schemaElement.precision,
134
+ scale: schemaElement.scale,
135
+ optional,
136
+ repeated
137
+ };
138
+ next++;
139
+ }
140
+ }
141
+
142
+ return {
143
+ schema,
144
+ offset,
145
+ next
146
+ };
152
147
  }
153
- exports.decodeSchema = decodeSchema;
154
- /**
155
- * Decode a consecutive array of data using one of the parquet encodings
156
- */
148
+
157
149
  function decodeValues(type, encoding, cursor, count, opts) {
158
- if (!(encoding in codecs_1.PARQUET_CODECS)) {
159
- throw new Error(`invalid encoding: ${encoding}`);
160
- }
161
- return codecs_1.PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);
150
+ if (!(encoding in PARQUET_CODECS)) {
151
+ throw new Error("invalid encoding: ".concat(encoding));
152
+ }
153
+
154
+ return PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);
162
155
  }
163
- /**
164
- * Do decoding of parquet dataPage from column chunk
165
- * @param cursor
166
- * @param header
167
- * @param options
168
- */
156
+
169
157
  async function decodeDataPage(cursor, header, options) {
170
- const cursorEnd = cursor.offset + header.compressed_page_size;
171
- const valueCount = header.data_page_header?.num_values;
172
- /* uncompress page */
173
- let dataCursor = cursor;
174
- if (options.compression !== 'UNCOMPRESSED') {
175
- const valuesBuf = await (0, compression_1.decompress)(options.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
176
- dataCursor = {
177
- buffer: valuesBuf,
178
- offset: 0,
179
- size: valuesBuf.length
180
- };
181
- cursor.offset = cursorEnd;
182
- }
183
- /* read repetition levels */
184
- const rLevelEncoding = (0, read_utils_1.getThriftEnum)(parquet_thrift_1.Encoding, header.data_page_header?.repetition_level_encoding);
185
- // tslint:disable-next-line:prefer-array-literal
186
- let rLevels = new Array(valueCount);
187
- if (options.column.rLevelMax > 0) {
188
- rLevels = decodeValues(constants_1.PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount, {
189
- bitWidth: (0, read_utils_1.getBitWidth)(options.column.rLevelMax),
190
- disableEnvelope: false
191
- // column: opts.column
192
- });
193
- }
194
- else {
195
- rLevels.fill(0);
196
- }
197
- /* read definition levels */
198
- const dLevelEncoding = (0, read_utils_1.getThriftEnum)(parquet_thrift_1.Encoding, header.data_page_header?.definition_level_encoding);
199
- // tslint:disable-next-line:prefer-array-literal
200
- let dLevels = new Array(valueCount);
201
- if (options.column.dLevelMax > 0) {
202
- dLevels = decodeValues(constants_1.PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount, {
203
- bitWidth: (0, read_utils_1.getBitWidth)(options.column.dLevelMax),
204
- disableEnvelope: false
205
- // column: opts.column
206
- });
207
- }
208
- else {
209
- dLevels.fill(0);
210
- }
211
- let valueCountNonNull = 0;
212
- for (const dlvl of dLevels) {
213
- if (dlvl === options.column.dLevelMax) {
214
- valueCountNonNull++;
215
- }
216
- }
217
- /* read values */
218
- const valueEncoding = (0, read_utils_1.getThriftEnum)(parquet_thrift_1.Encoding, header.data_page_header?.encoding);
219
- const decodeOptions = {
220
- typeLength: options.column.typeLength,
221
- bitWidth: options.column.typeLength
222
- };
223
- const values = decodeValues(options.column.primitiveType, valueEncoding, dataCursor, valueCountNonNull, decodeOptions);
224
- return {
225
- dlevels: dLevels,
226
- rlevels: rLevels,
227
- values,
228
- count: valueCount,
229
- pageHeader: header
158
+ var _header$data_page_hea, _header$data_page_hea2, _header$data_page_hea3, _header$data_page_hea4;
159
+
160
+ const cursorEnd = cursor.offset + header.compressed_page_size;
161
+ const valueCount = (_header$data_page_hea = header.data_page_header) === null || _header$data_page_hea === void 0 ? void 0 : _header$data_page_hea.num_values;
162
+ let dataCursor = cursor;
163
+
164
+ if (options.compression !== 'UNCOMPRESSED') {
165
+ const valuesBuf = await decompress(options.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
166
+ dataCursor = {
167
+ buffer: valuesBuf,
168
+ offset: 0,
169
+ size: valuesBuf.length
230
170
  };
171
+ cursor.offset = cursorEnd;
172
+ }
173
+
174
+ const rLevelEncoding = getThriftEnum(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);
175
+ let rLevels = new Array(valueCount);
176
+
177
+ if (options.column.rLevelMax > 0) {
178
+ rLevels = decodeValues(PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount, {
179
+ bitWidth: getBitWidth(options.column.rLevelMax),
180
+ disableEnvelope: false
181
+ });
182
+ } else {
183
+ rLevels.fill(0);
184
+ }
185
+
186
+ const dLevelEncoding = getThriftEnum(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);
187
+ let dLevels = new Array(valueCount);
188
+
189
+ if (options.column.dLevelMax > 0) {
190
+ dLevels = decodeValues(PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount, {
191
+ bitWidth: getBitWidth(options.column.dLevelMax),
192
+ disableEnvelope: false
193
+ });
194
+ } else {
195
+ dLevels.fill(0);
196
+ }
197
+
198
+ let valueCountNonNull = 0;
199
+
200
+ for (const dlvl of dLevels) {
201
+ if (dlvl === options.column.dLevelMax) {
202
+ valueCountNonNull++;
203
+ }
204
+ }
205
+
206
+ const valueEncoding = getThriftEnum(Encoding, (_header$data_page_hea4 = header.data_page_header) === null || _header$data_page_hea4 === void 0 ? void 0 : _header$data_page_hea4.encoding);
207
+ const decodeOptions = {
208
+ typeLength: options.column.typeLength,
209
+ bitWidth: options.column.typeLength
210
+ };
211
+ const values = decodeValues(options.column.primitiveType, valueEncoding, dataCursor, valueCountNonNull, decodeOptions);
212
+ return {
213
+ dlevels: dLevels,
214
+ rlevels: rLevels,
215
+ values,
216
+ count: valueCount,
217
+ pageHeader: header
218
+ };
231
219
  }
232
- /**
233
- * Do decoding of parquet dataPage in version 2 from column chunk
234
- * @param cursor
235
- * @param header
236
- * @param opts
237
- * @returns
238
- */
220
+
239
221
  async function decodeDataPageV2(cursor, header, opts) {
240
- const cursorEnd = cursor.offset + header.compressed_page_size;
241
- const valueCount = header.data_page_header_v2?.num_values;
242
- // @ts-ignore
243
- const valueCountNonNull = valueCount - header.data_page_header_v2?.num_nulls;
244
- const valueEncoding = (0, read_utils_1.getThriftEnum)(parquet_thrift_1.Encoding, header.data_page_header_v2?.encoding);
245
- /* read repetition levels */
246
- // tslint:disable-next-line:prefer-array-literal
247
- let rLevels = new Array(valueCount);
248
- if (opts.column.rLevelMax > 0) {
249
- rLevels = decodeValues(constants_1.PARQUET_RDLVL_TYPE, constants_1.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
250
- bitWidth: (0, read_utils_1.getBitWidth)(opts.column.rLevelMax),
251
- disableEnvelope: true
252
- });
253
- }
254
- else {
255
- rLevels.fill(0);
256
- }
257
- /* read definition levels */
258
- // tslint:disable-next-line:prefer-array-literal
259
- let dLevels = new Array(valueCount);
260
- if (opts.column.dLevelMax > 0) {
261
- dLevels = decodeValues(constants_1.PARQUET_RDLVL_TYPE, constants_1.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
262
- bitWidth: (0, read_utils_1.getBitWidth)(opts.column.dLevelMax),
263
- disableEnvelope: true
264
- });
265
- }
266
- else {
267
- dLevels.fill(0);
268
- }
269
- /* read values */
270
- let valuesBufCursor = cursor;
271
- if (header.data_page_header_v2?.is_compressed) {
272
- const valuesBuf = await (0, compression_1.decompress)(opts.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
273
- valuesBufCursor = {
274
- buffer: valuesBuf,
275
- offset: 0,
276
- size: valuesBuf.length
277
- };
278
- cursor.offset = cursorEnd;
279
- }
280
- const decodeOptions = {
281
- typeLength: opts.column.typeLength,
282
- bitWidth: opts.column.typeLength
283
- };
284
- const values = decodeValues(opts.column.primitiveType, valueEncoding, valuesBufCursor, valueCountNonNull, decodeOptions);
285
- return {
286
- dlevels: dLevels,
287
- rlevels: rLevels,
288
- values,
289
- count: valueCount,
290
- pageHeader: header
222
+ var _header$data_page_hea5, _header$data_page_hea6, _header$data_page_hea7, _header$data_page_hea8;
223
+
224
+ const cursorEnd = cursor.offset + header.compressed_page_size;
225
+ const 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;
226
+ const 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);
227
+ const valueEncoding = getThriftEnum(Encoding, (_header$data_page_hea7 = header.data_page_header_v2) === null || _header$data_page_hea7 === void 0 ? void 0 : _header$data_page_hea7.encoding);
228
+ let rLevels = new Array(valueCount);
229
+
230
+ if (opts.column.rLevelMax > 0) {
231
+ rLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount, {
232
+ bitWidth: getBitWidth(opts.column.rLevelMax),
233
+ disableEnvelope: true
234
+ });
235
+ } else {
236
+ rLevels.fill(0);
237
+ }
238
+
239
+ let dLevels = new Array(valueCount);
240
+
241
+ if (opts.column.dLevelMax > 0) {
242
+ dLevels = decodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, cursor, valueCount, {
243
+ bitWidth: getBitWidth(opts.column.dLevelMax),
244
+ disableEnvelope: true
245
+ });
246
+ } else {
247
+ dLevels.fill(0);
248
+ }
249
+
250
+ let valuesBufCursor = cursor;
251
+
252
+ if ((_header$data_page_hea8 = header.data_page_header_v2) !== null && _header$data_page_hea8 !== void 0 && _header$data_page_hea8.is_compressed) {
253
+ const valuesBuf = await decompress(opts.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
254
+ valuesBufCursor = {
255
+ buffer: valuesBuf,
256
+ offset: 0,
257
+ size: valuesBuf.length
291
258
  };
259
+ cursor.offset = cursorEnd;
260
+ }
261
+
262
+ const decodeOptions = {
263
+ typeLength: opts.column.typeLength,
264
+ bitWidth: opts.column.typeLength
265
+ };
266
+ const values = decodeValues(opts.column.primitiveType, valueEncoding, valuesBufCursor, valueCountNonNull, decodeOptions);
267
+ return {
268
+ dlevels: dLevels,
269
+ rlevels: rLevels,
270
+ values,
271
+ count: valueCount,
272
+ pageHeader: header
273
+ };
292
274
  }
293
- /**
294
- * Do decoding of dictionary page which helps to iterate over all indexes and get dataPage values.
295
- * @param cursor
296
- * @param pageHeader
297
- * @param options
298
- */
275
+
299
276
  async function decodeDictionaryPage(cursor, pageHeader, options) {
300
- const cursorEnd = cursor.offset + pageHeader.compressed_page_size;
301
- let dictCursor = {
302
- offset: 0,
303
- buffer: cursor.buffer.slice(cursor.offset, cursorEnd),
304
- size: cursorEnd - cursor.offset
277
+ var _pageHeader$dictionar;
278
+
279
+ const cursorEnd = cursor.offset + pageHeader.compressed_page_size;
280
+ let dictCursor = {
281
+ offset: 0,
282
+ buffer: cursor.buffer.slice(cursor.offset, cursorEnd),
283
+ size: cursorEnd - cursor.offset
284
+ };
285
+ cursor.offset = cursorEnd;
286
+
287
+ if (options.compression !== 'UNCOMPRESSED') {
288
+ const valuesBuf = await decompress(options.compression, dictCursor.buffer.slice(dictCursor.offset, cursorEnd), pageHeader.uncompressed_page_size);
289
+ dictCursor = {
290
+ buffer: valuesBuf,
291
+ offset: 0,
292
+ size: valuesBuf.length
305
293
  };
306
294
  cursor.offset = cursorEnd;
307
- if (options.compression !== 'UNCOMPRESSED') {
308
- const valuesBuf = await (0, compression_1.decompress)(options.compression, dictCursor.buffer.slice(dictCursor.offset, cursorEnd), pageHeader.uncompressed_page_size);
309
- dictCursor = {
310
- buffer: valuesBuf,
311
- offset: 0,
312
- size: valuesBuf.length
313
- };
314
- cursor.offset = cursorEnd;
315
- }
316
- const numValues = pageHeader?.dictionary_page_header?.num_values || 0;
317
- return decodeValues(options.column.primitiveType, options.column.encoding, dictCursor, numValues, options).map((d) => d.toString());
295
+ }
296
+
297
+ const 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;
298
+ return decodeValues(options.column.primitiveType, options.column.encoding, dictCursor, numValues, options).map(d => d.toString());
318
299
  }
300
+ //# sourceMappingURL=decoders.js.map