@loaders.gl/parquet 3.3.0-alpha.5 → 3.3.0-alpha.7

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 (361) hide show
  1. package/dist/dist.min.js +14 -14
  2. package/dist/dist.min.js.map +2 -2
  3. package/dist/es5/bundle.js +0 -1
  4. package/dist/es5/bundle.js.map +1 -1
  5. package/dist/es5/constants.js +3 -1
  6. package/dist/es5/constants.js.map +1 -1
  7. package/dist/es5/index.js +23 -39
  8. package/dist/es5/index.js.map +1 -1
  9. package/dist/es5/lib/convert-schema.js +2 -11
  10. package/dist/es5/lib/convert-schema.js.map +1 -1
  11. package/dist/es5/lib/parse-parquet.js +29 -72
  12. package/dist/es5/lib/parse-parquet.js.map +1 -1
  13. package/dist/es5/lib/read-array-buffer.js +0 -10
  14. package/dist/es5/lib/read-array-buffer.js.map +1 -1
  15. package/dist/es5/lib/wasm/encode-parquet-wasm.js +0 -11
  16. package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +1 -1
  17. package/dist/es5/lib/wasm/load-wasm/index.js +0 -1
  18. package/dist/es5/lib/wasm/load-wasm/index.js.map +1 -1
  19. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +0 -14
  20. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -1
  21. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +0 -10
  22. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +1 -1
  23. package/dist/es5/lib/wasm/parse-parquet-wasm.js +1 -19
  24. package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +1 -1
  25. package/dist/es5/parquet-loader.js +2 -1
  26. package/dist/es5/parquet-loader.js.map +1 -1
  27. package/dist/es5/parquet-wasm-loader.js +2 -1
  28. package/dist/es5/parquet-wasm-loader.js.map +1 -1
  29. package/dist/es5/parquet-wasm-writer.js +1 -3
  30. package/dist/es5/parquet-wasm-writer.js.map +1 -1
  31. package/dist/es5/parquet-writer.js +1 -2
  32. package/dist/es5/parquet-writer.js.map +1 -1
  33. package/dist/es5/parquetjs/codecs/declare.js.map +1 -1
  34. package/dist/es5/parquetjs/codecs/dictionary.js +2 -9
  35. package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -1
  36. package/dist/es5/parquetjs/codecs/index.js +0 -8
  37. package/dist/es5/parquetjs/codecs/index.js.map +1 -1
  38. package/dist/es5/parquetjs/codecs/plain.js +1 -77
  39. package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
  40. package/dist/es5/parquetjs/codecs/rle.js +1 -39
  41. package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
  42. package/dist/es5/parquetjs/compression.js +5 -30
  43. package/dist/es5/parquetjs/compression.js.map +1 -1
  44. package/dist/es5/parquetjs/encoder/writer.js +31 -149
  45. package/dist/es5/parquetjs/encoder/writer.js.map +1 -1
  46. package/dist/es5/parquetjs/file.js +3 -12
  47. package/dist/es5/parquetjs/file.js.map +1 -1
  48. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +0 -1
  49. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -1
  50. package/dist/es5/parquetjs/parquet-thrift/BsonType.js +0 -15
  51. package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -1
  52. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +0 -48
  53. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
  54. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +0 -47
  55. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
  56. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +0 -82
  57. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
  58. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +0 -25
  59. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
  60. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +0 -1
  61. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -1
  62. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +0 -1
  63. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +1 -1
  64. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +0 -39
  65. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
  66. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -51
  67. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
  68. package/dist/es5/parquetjs/parquet-thrift/DateType.js +0 -15
  69. package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -1
  70. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +0 -26
  71. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
  72. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -30
  73. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
  74. package/dist/es5/parquetjs/parquet-thrift/Encoding.js +0 -1
  75. package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +1 -1
  76. package/dist/es5/parquetjs/parquet-thrift/EnumType.js +0 -15
  77. package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -1
  78. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -1
  79. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -1
  80. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +0 -59
  81. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
  82. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +0 -15
  83. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
  84. package/dist/es5/parquetjs/parquet-thrift/IntType.js +0 -26
  85. package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -1
  86. package/dist/es5/parquetjs/parquet-thrift/JsonType.js +0 -15
  87. package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -1
  88. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +0 -26
  89. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
  90. package/dist/es5/parquetjs/parquet-thrift/ListType.js +0 -15
  91. package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -1
  92. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +0 -85
  93. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
  94. package/dist/es5/parquetjs/parquet-thrift/MapType.js +0 -15
  95. package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -1
  96. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +0 -15
  97. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
  98. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +0 -15
  99. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
  100. package/dist/es5/parquetjs/parquet-thrift/NullType.js +0 -15
  101. package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -1
  102. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +0 -25
  103. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
  104. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +0 -30
  105. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
  106. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +0 -54
  107. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
  108. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +0 -31
  109. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
  110. package/dist/es5/parquetjs/parquet-thrift/PageType.js +0 -1
  111. package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +1 -1
  112. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +0 -41
  113. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
  114. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +0 -59
  115. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
  116. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +0 -30
  117. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
  118. package/dist/es5/parquetjs/parquet-thrift/Statistics.js +0 -42
  119. package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -1
  120. package/dist/es5/parquetjs/parquet-thrift/StringType.js +0 -15
  121. package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -1
  122. package/dist/es5/parquetjs/parquet-thrift/TimeType.js +0 -27
  123. package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -1
  124. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +0 -30
  125. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
  126. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +0 -27
  127. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
  128. package/dist/es5/parquetjs/parquet-thrift/Type.js +0 -1
  129. package/dist/es5/parquetjs/parquet-thrift/Type.js.map +1 -1
  130. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -15
  131. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
  132. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +0 -15
  133. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
  134. package/dist/es5/parquetjs/parquet-thrift/index.js +0 -86
  135. package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -1
  136. package/dist/es5/parquetjs/parser/decoders.js +3 -82
  137. package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
  138. package/dist/es5/parquetjs/parser/parquet-cursor.js +5 -37
  139. package/dist/es5/parquetjs/parser/parquet-cursor.js.map +1 -1
  140. package/dist/es5/parquetjs/parser/parquet-envelope-reader.js +2 -88
  141. package/dist/es5/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
  142. package/dist/es5/parquetjs/parser/parquet-reader.js +14 -67
  143. package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
  144. package/dist/es5/parquetjs/schema/declare.js +3 -7
  145. package/dist/es5/parquetjs/schema/declare.js.map +1 -1
  146. package/dist/es5/parquetjs/schema/schema.js +6 -34
  147. package/dist/es5/parquetjs/schema/schema.js.map +1 -1
  148. package/dist/es5/parquetjs/schema/shred.js +11 -41
  149. package/dist/es5/parquetjs/schema/shred.js.map +1 -1
  150. package/dist/es5/parquetjs/schema/types.js +3 -84
  151. package/dist/es5/parquetjs/schema/types.js.map +1 -1
  152. package/dist/es5/parquetjs/utils/buffer-utils.js +0 -2
  153. package/dist/es5/parquetjs/utils/buffer-utils.js.map +1 -1
  154. package/dist/es5/parquetjs/utils/file-utils.js +1 -7
  155. package/dist/es5/parquetjs/utils/file-utils.js.map +1 -1
  156. package/dist/es5/parquetjs/utils/read-utils.js +6 -38
  157. package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
  158. package/dist/es5/workers/parquet-worker.js +0 -2
  159. package/dist/es5/workers/parquet-worker.js.map +1 -1
  160. package/dist/esm/bundle.js +1 -1
  161. package/dist/esm/bundle.js.map +1 -1
  162. package/dist/esm/constants.js +3 -0
  163. package/dist/esm/constants.js.map +1 -1
  164. package/dist/esm/index.js +10 -2
  165. package/dist/esm/index.js.map +1 -1
  166. package/dist/esm/lib/convert-schema.js +1 -7
  167. package/dist/esm/lib/convert-schema.js.map +1 -1
  168. package/dist/esm/lib/parse-parquet.js +2 -5
  169. package/dist/esm/lib/parse-parquet.js.map +1 -1
  170. package/dist/esm/lib/read-array-buffer.js +2 -1
  171. package/dist/esm/lib/read-array-buffer.js.map +1 -1
  172. package/dist/esm/lib/wasm/encode-parquet-wasm.js +1 -1
  173. package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +1 -1
  174. package/dist/esm/lib/wasm/load-wasm/index.js.map +1 -1
  175. package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -1
  176. package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +1 -1
  177. package/dist/esm/lib/wasm/parse-parquet-wasm.js +2 -3
  178. package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +1 -1
  179. package/dist/esm/parquet-loader.js +3 -1
  180. package/dist/esm/parquet-loader.js.map +1 -1
  181. package/dist/esm/parquet-wasm-loader.js +3 -1
  182. package/dist/esm/parquet-wasm-loader.js.map +1 -1
  183. package/dist/esm/parquet-wasm-writer.js +2 -1
  184. package/dist/esm/parquet-wasm-writer.js.map +1 -1
  185. package/dist/esm/parquet-writer.js +2 -2
  186. package/dist/esm/parquet-writer.js.map +1 -1
  187. package/dist/esm/parquetjs/codecs/declare.js.map +1 -1
  188. package/dist/esm/parquetjs/codecs/dictionary.js +2 -1
  189. package/dist/esm/parquetjs/codecs/dictionary.js.map +1 -1
  190. package/dist/esm/parquetjs/codecs/index.js +2 -0
  191. package/dist/esm/parquetjs/codecs/index.js.map +1 -1
  192. package/dist/esm/parquetjs/codecs/plain.js +2 -68
  193. package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
  194. package/dist/esm/parquetjs/codecs/rle.js +3 -29
  195. package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
  196. package/dist/esm/parquetjs/compression.js +9 -5
  197. package/dist/esm/parquetjs/compression.js.map +1 -1
  198. package/dist/esm/parquetjs/encoder/writer.js +21 -51
  199. package/dist/esm/parquetjs/encoder/writer.js.map +1 -1
  200. package/dist/esm/parquetjs/file.js +1 -0
  201. package/dist/esm/parquetjs/file.js.map +1 -1
  202. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js +1 -1
  203. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -1
  204. package/dist/esm/parquetjs/parquet-thrift/BsonType.js +1 -8
  205. package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +1 -1
  206. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js +0 -44
  207. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
  208. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js +0 -42
  209. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
  210. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js +0 -82
  211. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
  212. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js +0 -18
  213. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
  214. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js +1 -1
  215. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -1
  216. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js +1 -1
  217. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +1 -1
  218. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js +0 -34
  219. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
  220. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -49
  221. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
  222. package/dist/esm/parquetjs/parquet-thrift/DateType.js +1 -8
  223. package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +1 -1
  224. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js +0 -19
  225. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
  226. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -24
  227. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
  228. package/dist/esm/parquetjs/parquet-thrift/Encoding.js +1 -1
  229. package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +1 -1
  230. package/dist/esm/parquetjs/parquet-thrift/EnumType.js +1 -8
  231. package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +1 -1
  232. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js +1 -1
  233. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -1
  234. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js +2 -53
  235. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
  236. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js +1 -8
  237. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
  238. package/dist/esm/parquetjs/parquet-thrift/IntType.js +0 -19
  239. package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +1 -1
  240. package/dist/esm/parquetjs/parquet-thrift/JsonType.js +1 -8
  241. package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +1 -1
  242. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js +0 -19
  243. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
  244. package/dist/esm/parquetjs/parquet-thrift/ListType.js +1 -8
  245. package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +1 -1
  246. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js +0 -90
  247. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
  248. package/dist/esm/parquetjs/parquet-thrift/MapType.js +1 -8
  249. package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +1 -1
  250. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js +1 -8
  251. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
  252. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js +1 -8
  253. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
  254. package/dist/esm/parquetjs/parquet-thrift/NullType.js +1 -8
  255. package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +1 -1
  256. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js +0 -16
  257. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
  258. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js +0 -24
  259. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
  260. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js +0 -49
  261. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
  262. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js +0 -24
  263. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
  264. package/dist/esm/parquetjs/parquet-thrift/PageType.js +1 -1
  265. package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +1 -1
  266. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js +0 -33
  267. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
  268. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js +0 -59
  269. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
  270. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js +0 -24
  271. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
  272. package/dist/esm/parquetjs/parquet-thrift/Statistics.js +0 -38
  273. package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +1 -1
  274. package/dist/esm/parquetjs/parquet-thrift/StringType.js +1 -8
  275. package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +1 -1
  276. package/dist/esm/parquetjs/parquet-thrift/TimeType.js +0 -19
  277. package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +1 -1
  278. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js +0 -24
  279. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
  280. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js +0 -19
  281. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
  282. package/dist/esm/parquetjs/parquet-thrift/Type.js +1 -1
  283. package/dist/esm/parquetjs/parquet-thrift/Type.js.map +1 -1
  284. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js +1 -8
  285. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
  286. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js +1 -8
  287. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
  288. package/dist/esm/parquetjs/parquet-thrift/index.js +1 -0
  289. package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -1
  290. package/dist/esm/parquetjs/parser/decoders.js +9 -39
  291. package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
  292. package/dist/esm/parquetjs/parser/parquet-cursor.js +1 -13
  293. package/dist/esm/parquetjs/parser/parquet-cursor.js.map +1 -1
  294. package/dist/esm/parquetjs/parser/parquet-envelope-reader.js +6 -32
  295. package/dist/esm/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
  296. package/dist/esm/parquetjs/parser/parquet-reader.js +1 -18
  297. package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
  298. package/dist/esm/parquetjs/schema/declare.js +4 -4
  299. package/dist/esm/parquetjs/schema/declare.js.map +1 -1
  300. package/dist/esm/parquetjs/schema/schema.js +3 -29
  301. package/dist/esm/parquetjs/schema/schema.js.map +1 -1
  302. package/dist/esm/parquetjs/schema/shred.js +7 -22
  303. package/dist/esm/parquetjs/schema/shred.js.map +1 -1
  304. package/dist/esm/parquetjs/schema/types.js +3 -78
  305. package/dist/esm/parquetjs/schema/types.js.map +1 -1
  306. package/dist/esm/parquetjs/utils/buffer-utils.js +2 -1
  307. package/dist/esm/parquetjs/utils/buffer-utils.js.map +1 -1
  308. package/dist/esm/parquetjs/utils/file-utils.js +1 -0
  309. package/dist/esm/parquetjs/utils/file-utils.js.map +1 -1
  310. package/dist/esm/parquetjs/utils/read-utils.js +5 -12
  311. package/dist/esm/parquetjs/utils/read-utils.js.map +1 -1
  312. package/dist/esm/workers/parquet-worker.js.map +1 -1
  313. package/dist/lib/wasm/load-wasm/load-wasm-browser.js +5 -1
  314. package/dist/lib/wasm/load-wasm/load-wasm-node.js +5 -1
  315. package/dist/parquet-worker.js +14 -14
  316. package/dist/parquet-worker.js.map +2 -2
  317. package/dist/parquetjs/codecs/index.js +5 -1
  318. package/dist/parquetjs/encoder/writer.d.ts +1 -0
  319. package/dist/parquetjs/encoder/writer.d.ts.map +1 -1
  320. package/dist/parquetjs/encoder/writer.js +5 -1
  321. package/dist/parquetjs/parquet-thrift/BsonType.js +5 -1
  322. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +5 -1
  323. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +5 -1
  324. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +5 -1
  325. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +5 -1
  326. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +5 -1
  327. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +5 -1
  328. package/dist/parquetjs/parquet-thrift/DateType.js +5 -1
  329. package/dist/parquetjs/parquet-thrift/DecimalType.js +5 -1
  330. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +5 -1
  331. package/dist/parquetjs/parquet-thrift/EnumType.js +5 -1
  332. package/dist/parquetjs/parquet-thrift/FileMetaData.js +5 -1
  333. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +5 -1
  334. package/dist/parquetjs/parquet-thrift/IntType.js +5 -1
  335. package/dist/parquetjs/parquet-thrift/JsonType.js +5 -1
  336. package/dist/parquetjs/parquet-thrift/KeyValue.js +5 -1
  337. package/dist/parquetjs/parquet-thrift/ListType.js +5 -1
  338. package/dist/parquetjs/parquet-thrift/LogicalType.js +5 -1
  339. package/dist/parquetjs/parquet-thrift/MapType.js +5 -1
  340. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +5 -1
  341. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +5 -1
  342. package/dist/parquetjs/parquet-thrift/NullType.js +5 -1
  343. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +5 -1
  344. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +5 -1
  345. package/dist/parquetjs/parquet-thrift/PageHeader.js +5 -1
  346. package/dist/parquetjs/parquet-thrift/PageLocation.js +5 -1
  347. package/dist/parquetjs/parquet-thrift/RowGroup.js +5 -1
  348. package/dist/parquetjs/parquet-thrift/SchemaElement.js +5 -1
  349. package/dist/parquetjs/parquet-thrift/SortingColumn.js +5 -1
  350. package/dist/parquetjs/parquet-thrift/Statistics.js +5 -1
  351. package/dist/parquetjs/parquet-thrift/StringType.js +5 -1
  352. package/dist/parquetjs/parquet-thrift/TimeType.js +5 -1
  353. package/dist/parquetjs/parquet-thrift/TimeUnit.js +5 -1
  354. package/dist/parquetjs/parquet-thrift/TimestampType.js +5 -1
  355. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +5 -1
  356. package/dist/parquetjs/parquet-thrift/UUIDType.js +5 -1
  357. package/dist/parquetjs/parquet-thrift/index.js +5 -1
  358. package/dist/parquetjs/schema/shred.js +5 -1
  359. package/dist/parquetjs/utils/file-utils.d.ts +2 -0
  360. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
  361. package/package.json +6 -6
@@ -1,38 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.decodeDataPages = decodeDataPages;
9
8
  exports.decodePage = decodePage;
10
9
  exports.decodeSchema = decodeSchema;
11
-
12
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
12
  var _codecs = require("../codecs");
17
-
18
13
  var _parquetThrift = require("../parquet-thrift");
19
-
20
14
  var _compression = require("../compression");
21
-
22
15
  var _constants = require("../../constants");
23
-
24
16
  var _readUtils = require("../utils/read-utils");
25
-
26
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; } } }; }
27
-
28
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); }
29
-
30
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; }
31
-
32
20
  function decodeDataPages(_x, _x2) {
33
21
  return _decodeDataPages.apply(this, arguments);
34
22
  }
35
-
36
23
  function _decodeDataPages() {
37
24
  _decodeDataPages = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(buffer, options) {
38
25
  var cursor, data, dictionary, page, index, value;
@@ -53,52 +40,42 @@ function _decodeDataPages() {
53
40
  count: 0
54
41
  };
55
42
  dictionary = options.dictionary || [];
56
-
57
43
  case 3:
58
- if (!(cursor.offset < cursor.size && (!options.numValues || data.dlevels.length < Number(options.numValues)))) {
44
+ if (!(
45
+ cursor.offset < cursor.size && (!options.numValues || data.dlevels.length < Number(options.numValues)))) {
59
46
  _context.next = 16;
60
47
  break;
61
48
  }
62
-
63
49
  _context.next = 6;
64
50
  return decodePage(cursor, options);
65
-
66
51
  case 6:
67
52
  page = _context.sent;
68
-
69
53
  if (!page.dictionary) {
70
54
  _context.next = 10;
71
55
  break;
72
56
  }
73
-
74
57
  dictionary = page.dictionary;
75
58
  return _context.abrupt("continue", 3);
76
-
77
59
  case 10:
78
60
  if (dictionary.length) {
79
61
  page.values = page.values.map(function (value) {
80
62
  return dictionary[value];
81
63
  });
82
64
  }
83
-
84
65
  for (index = 0; index < page.rlevels.length; index++) {
85
66
  data.rlevels.push(page.rlevels[index]);
86
67
  data.dlevels.push(page.dlevels[index]);
87
68
  value = page.values[index];
88
-
89
69
  if (value !== undefined) {
90
70
  data.values.push(value);
91
71
  }
92
72
  }
93
-
94
73
  data.count += page.count;
95
74
  data.pageHeaders.push(page.pageHeader);
96
75
  _context.next = 3;
97
76
  break;
98
-
99
77
  case 16:
100
78
  return _context.abrupt("return", data);
101
-
102
79
  case 17:
103
80
  case "end":
104
81
  return _context.stop();
@@ -108,15 +85,12 @@ function _decodeDataPages() {
108
85
  }));
109
86
  return _decodeDataPages.apply(this, arguments);
110
87
  }
111
-
112
88
  function decodePage(_x3, _x4) {
113
89
  return _decodePage.apply(this, arguments);
114
90
  }
115
-
116
91
  function _decodePage() {
117
92
  _decodePage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(cursor, options) {
118
93
  var page, _decodePageHeader, pageHeader, length, pageType;
119
-
120
94
  return _regenerator.default.wrap(function _callee2$(_context2) {
121
95
  while (1) {
122
96
  switch (_context2.prev = _context2.next) {
@@ -127,27 +101,21 @@ function _decodePage() {
127
101
  _context2.t0 = pageType;
128
102
  _context2.next = _context2.t0 === 'DATA_PAGE' ? 6 : _context2.t0 === 'DATA_PAGE_V2' ? 10 : _context2.t0 === 'DICTIONARY_PAGE' ? 14 : 20;
129
103
  break;
130
-
131
104
  case 6:
132
105
  _context2.next = 8;
133
106
  return decodeDataPage(cursor, pageHeader, options);
134
-
135
107
  case 8:
136
108
  page = _context2.sent;
137
109
  return _context2.abrupt("break", 21);
138
-
139
110
  case 10:
140
111
  _context2.next = 12;
141
112
  return decodeDataPageV2(cursor, pageHeader, options);
142
-
143
113
  case 12:
144
114
  page = _context2.sent;
145
115
  return _context2.abrupt("break", 21);
146
-
147
116
  case 14:
148
117
  _context2.next = 16;
149
118
  return decodeDictionaryPage(cursor, pageHeader, options);
150
-
151
119
  case 16:
152
120
  _context2.t1 = _context2.sent;
153
121
  _context2.t2 = pageHeader;
@@ -156,13 +124,10 @@ function _decodePage() {
156
124
  pageHeader: _context2.t2
157
125
  };
158
126
  return _context2.abrupt("break", 21);
159
-
160
127
  case 20:
161
128
  throw new Error("invalid page type: ".concat(pageType));
162
-
163
129
  case 21:
164
130
  return _context2.abrupt("return", page);
165
-
166
131
  case 22:
167
132
  case "end":
168
133
  return _context2.stop();
@@ -172,33 +137,26 @@ function _decodePage() {
172
137
  }));
173
138
  return _decodePage.apply(this, arguments);
174
139
  }
175
-
176
140
  function decodeSchema(schemaElements, offset, len) {
177
141
  var schema = {};
178
142
  var next = offset;
179
-
180
143
  for (var i = 0; i < len; i++) {
181
144
  var schemaElement = schemaElements[next];
182
145
  var repetitionType = next > 0 ? (0, _readUtils.getThriftEnum)(_parquetThrift.FieldRepetitionType, schemaElement.repetition_type) : 'ROOT';
183
146
  var optional = false;
184
147
  var repeated = false;
185
-
186
148
  switch (repetitionType) {
187
149
  case 'REQUIRED':
188
150
  break;
189
-
190
151
  case 'OPTIONAL':
191
152
  optional = true;
192
153
  break;
193
-
194
154
  case 'REPEATED':
195
155
  repeated = true;
196
156
  break;
197
-
198
157
  default:
199
158
  throw new Error('parquet: unknown repetition type');
200
159
  }
201
-
202
160
  if (schemaElement.num_children > 0) {
203
161
  var res = decodeSchema(schemaElements, next + 1, schemaElement.num_children);
204
162
  next = res.next;
@@ -210,19 +168,15 @@ function decodeSchema(schemaElements, offset, len) {
210
168
  } else {
211
169
  var type = (0, _readUtils.getThriftEnum)(_parquetThrift.Type, schemaElement.type);
212
170
  var logicalType = type;
213
-
214
171
  if (schemaElement.converted_type) {
215
172
  logicalType = (0, _readUtils.getThriftEnum)(_parquetThrift.ConvertedType, schemaElement.converted_type);
216
173
  }
217
-
218
174
  switch (logicalType) {
219
175
  case 'DECIMAL':
220
176
  logicalType = "".concat(logicalType, "_").concat(type);
221
177
  break;
222
-
223
178
  default:
224
179
  }
225
-
226
180
  schema[schemaElement.name] = {
227
181
  type: logicalType,
228
182
  typeLength: schemaElement.type_length,
@@ -234,7 +188,6 @@ function decodeSchema(schemaElements, offset, len) {
234
188
  next++;
235
189
  }
236
190
  }
237
-
238
191
  return {
239
192
  schema: schema,
240
193
  offset: offset,
@@ -246,20 +199,16 @@ function decodeValues(type, encoding, cursor, count, opts) {
246
199
  if (!(encoding in _codecs.PARQUET_CODECS)) {
247
200
  throw new Error("invalid encoding: ".concat(encoding));
248
201
  }
249
-
250
202
  return _codecs.PARQUET_CODECS[encoding].decodeValues(type, cursor, count, opts);
251
203
  }
252
204
 
253
205
  function decodeDataPage(_x5, _x6, _x7) {
254
206
  return _decodeDataPage.apply(this, arguments);
255
207
  }
256
-
257
208
  function _decodeDataPage() {
258
209
  _decodeDataPage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(cursor, header, options) {
259
210
  var _header$data_page_hea, _header$data_page_hea2, _header$data_page_hea3, _header$data_page_hea4;
260
-
261
211
  var cursorEnd, valueCount, dataCursor, valuesBuf, rLevelEncoding, rLevels, dLevelEncoding, dLevels, valueCountNonNull, _iterator, _step, dlvl, valueEncoding, decodeOptions, values;
262
-
263
212
  return _regenerator.default.wrap(function _callee3$(_context3) {
264
213
  while (1) {
265
214
  switch (_context3.prev = _context3.next) {
@@ -267,15 +216,12 @@ function _decodeDataPage() {
267
216
  cursorEnd = cursor.offset + header.compressed_page_size;
268
217
  valueCount = (_header$data_page_hea = header.data_page_header) === null || _header$data_page_hea === void 0 ? void 0 : _header$data_page_hea.num_values;
269
218
  dataCursor = cursor;
270
-
271
219
  if (!(options.compression !== 'UNCOMPRESSED')) {
272
220
  _context3.next = 9;
273
221
  break;
274
222
  }
275
-
276
223
  _context3.next = 6;
277
224
  return (0, _compression.decompress)(options.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
278
-
279
225
  case 6:
280
226
  valuesBuf = _context3.sent;
281
227
  dataCursor = {
@@ -284,11 +230,9 @@ function _decodeDataPage() {
284
230
  size: valuesBuf.length
285
231
  };
286
232
  cursor.offset = cursorEnd;
287
-
288
233
  case 9:
289
234
  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);
290
235
  rLevels = new Array(valueCount);
291
-
292
236
  if (options.column.rLevelMax > 0) {
293
237
  rLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, rLevelEncoding, dataCursor, valueCount, {
294
238
  bitWidth: (0, _readUtils.getBitWidth)(options.column.rLevelMax),
@@ -300,7 +244,6 @@ function _decodeDataPage() {
300
244
 
301
245
  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);
302
246
  dLevels = new Array(valueCount);
303
-
304
247
  if (options.column.dLevelMax > 0) {
305
248
  dLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, dLevelEncoding, dataCursor, valueCount, {
306
249
  bitWidth: (0, _readUtils.getBitWidth)(options.column.dLevelMax),
@@ -309,24 +252,21 @@ function _decodeDataPage() {
309
252
  } else {
310
253
  dLevels.fill(0);
311
254
  }
312
-
313
255
  valueCountNonNull = 0;
314
256
  _iterator = _createForOfIteratorHelper(dLevels);
315
-
316
257
  try {
317
258
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
318
259
  dlvl = _step.value;
319
-
320
260
  if (dlvl === options.column.dLevelMax) {
321
261
  valueCountNonNull++;
322
262
  }
323
263
  }
264
+
324
265
  } catch (err) {
325
266
  _iterator.e(err);
326
267
  } finally {
327
268
  _iterator.f();
328
269
  }
329
-
330
270
  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);
331
271
  decodeOptions = {
332
272
  typeLength: options.column.typeLength,
@@ -340,7 +280,6 @@ function _decodeDataPage() {
340
280
  count: valueCount,
341
281
  pageHeader: header
342
282
  });
343
-
344
283
  case 22:
345
284
  case "end":
346
285
  return _context3.stop();
@@ -350,15 +289,12 @@ function _decodeDataPage() {
350
289
  }));
351
290
  return _decodeDataPage.apply(this, arguments);
352
291
  }
353
-
354
292
  function decodeDataPageV2(_x8, _x9, _x10) {
355
293
  return _decodeDataPageV.apply(this, arguments);
356
294
  }
357
-
358
295
  function _decodeDataPageV() {
359
296
  _decodeDataPageV = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(cursor, header, opts) {
360
297
  var _header$data_page_hea5, _header$data_page_hea6, _header$data_page_hea7, _header$data_page_hea8;
361
-
362
298
  var cursorEnd, valueCount, valueCountNonNull, valueEncoding, rLevels, dLevels, valuesBufCursor, valuesBuf, decodeOptions, values;
363
299
  return _regenerator.default.wrap(function _callee4$(_context4) {
364
300
  while (1) {
@@ -369,7 +305,6 @@ function _decodeDataPageV() {
369
305
  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);
370
306
  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);
371
307
  rLevels = new Array(valueCount);
372
-
373
308
  if (opts.column.rLevelMax > 0) {
374
309
  rLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, _constants.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
375
310
  bitWidth: (0, _readUtils.getBitWidth)(opts.column.rLevelMax),
@@ -380,7 +315,6 @@ function _decodeDataPageV() {
380
315
  }
381
316
 
382
317
  dLevels = new Array(valueCount);
383
-
384
318
  if (opts.column.dLevelMax > 0) {
385
319
  dLevels = decodeValues(_constants.PARQUET_RDLVL_TYPE, _constants.PARQUET_RDLVL_ENCODING, cursor, valueCount, {
386
320
  bitWidth: (0, _readUtils.getBitWidth)(opts.column.dLevelMax),
@@ -391,15 +325,12 @@ function _decodeDataPageV() {
391
325
  }
392
326
 
393
327
  valuesBufCursor = cursor;
394
-
395
328
  if (!((_header$data_page_hea8 = header.data_page_header_v2) !== null && _header$data_page_hea8 !== void 0 && _header$data_page_hea8.is_compressed)) {
396
329
  _context4.next = 15;
397
330
  break;
398
331
  }
399
-
400
332
  _context4.next = 12;
401
333
  return (0, _compression.decompress)(opts.compression, cursor.buffer.slice(cursor.offset, cursorEnd), header.uncompressed_page_size);
402
-
403
334
  case 12:
404
335
  valuesBuf = _context4.sent;
405
336
  valuesBufCursor = {
@@ -408,7 +339,6 @@ function _decodeDataPageV() {
408
339
  size: valuesBuf.length
409
340
  };
410
341
  cursor.offset = cursorEnd;
411
-
412
342
  case 15:
413
343
  decodeOptions = {
414
344
  typeLength: opts.column.typeLength,
@@ -422,7 +352,6 @@ function _decodeDataPageV() {
422
352
  count: valueCount,
423
353
  pageHeader: header
424
354
  });
425
-
426
355
  case 18:
427
356
  case "end":
428
357
  return _context4.stop();
@@ -432,15 +361,12 @@ function _decodeDataPageV() {
432
361
  }));
433
362
  return _decodeDataPageV.apply(this, arguments);
434
363
  }
435
-
436
364
  function decodeDictionaryPage(_x11, _x12, _x13) {
437
365
  return _decodeDictionaryPage.apply(this, arguments);
438
366
  }
439
-
440
367
  function _decodeDictionaryPage() {
441
368
  _decodeDictionaryPage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(cursor, pageHeader, options) {
442
369
  var _pageHeader$dictionar;
443
-
444
370
  var cursorEnd, dictCursor, valuesBuf, numValues;
445
371
  return _regenerator.default.wrap(function _callee5$(_context5) {
446
372
  while (1) {
@@ -453,15 +379,12 @@ function _decodeDictionaryPage() {
453
379
  size: cursorEnd - cursor.offset
454
380
  };
455
381
  cursor.offset = cursorEnd;
456
-
457
382
  if (!(options.compression !== 'UNCOMPRESSED')) {
458
383
  _context5.next = 9;
459
384
  break;
460
385
  }
461
-
462
386
  _context5.next = 6;
463
387
  return (0, _compression.decompress)(options.compression, dictCursor.buffer.slice(dictCursor.offset, cursorEnd), pageHeader.uncompressed_page_size);
464
-
465
388
  case 6:
466
389
  valuesBuf = _context5.sent;
467
390
  dictCursor = {
@@ -470,13 +393,11 @@ function _decodeDictionaryPage() {
470
393
  size: valuesBuf.length
471
394
  };
472
395
  cursor.offset = cursorEnd;
473
-
474
396
  case 9:
475
397
  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;
476
398
  return _context5.abrupt("return", decodeValues(options.column.primitiveType, options.column.encoding, dictCursor, numValues, options).map(function (d) {
477
399
  return d.toString();
478
400
  }));
479
-
480
401
  case 11:
481
402
  case "end":
482
403
  return _context5.stop();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/parquetjs/parser/decoders.ts"],"names":["decodeDataPages","buffer","options","cursor","offset","size","length","data","rlevels","dlevels","values","pageHeaders","count","dictionary","numValues","Number","decodePage","page","map","value","index","push","undefined","pageHeader","pageType","PageType","type","decodeDataPage","decodeDataPageV2","decodeDictionaryPage","Error","decodeSchema","schemaElements","len","schema","next","i","schemaElement","repetitionType","FieldRepetitionType","repetition_type","optional","repeated","num_children","res","name","fields","Type","logicalType","converted_type","ConvertedType","typeLength","type_length","presision","precision","scale","decodeValues","encoding","opts","PARQUET_CODECS","header","cursorEnd","compressed_page_size","valueCount","data_page_header","num_values","dataCursor","compression","slice","uncompressed_page_size","valuesBuf","rLevelEncoding","Encoding","repetition_level_encoding","rLevels","Array","column","rLevelMax","PARQUET_RDLVL_TYPE","bitWidth","disableEnvelope","fill","dLevelEncoding","definition_level_encoding","dLevels","dLevelMax","valueCountNonNull","dlvl","valueEncoding","decodeOptions","primitiveType","data_page_header_v2","num_nulls","PARQUET_RDLVL_ENCODING","valuesBufCursor","is_compressed","dictCursor","dictionary_page_header","d","toString"],"mappings":"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","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {\n ParquetCodec,\n ParquetData,\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<ParquetData> {\n const cursor: CursorBuffer = {\n buffer,\n offset: 0,\n size: buffer.length\n };\n\n const data: ParquetData = {\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"],"file":"decoders.js"}
1
+ {"version":3,"file":"decoders.js","names":["decodeDataPages","buffer","options","cursor","offset","size","length","data","rlevels","dlevels","values","pageHeaders","count","dictionary","numValues","Number","decodePage","page","map","value","index","push","undefined","pageHeader","decodePageHeader","pageType","getThriftEnum","PageType","type","decodeDataPage","decodeDataPageV2","decodeDictionaryPage","Error","decodeSchema","schemaElements","len","schema","next","i","schemaElement","repetitionType","FieldRepetitionType","repetition_type","optional","repeated","num_children","res","name","fields","Type","logicalType","converted_type","ConvertedType","typeLength","type_length","presision","precision","scale","decodeValues","encoding","opts","PARQUET_CODECS","header","cursorEnd","compressed_page_size","valueCount","data_page_header","num_values","dataCursor","compression","decompress","slice","uncompressed_page_size","valuesBuf","rLevelEncoding","Encoding","repetition_level_encoding","rLevels","Array","column","rLevelMax","PARQUET_RDLVL_TYPE","bitWidth","getBitWidth","disableEnvelope","fill","dLevelEncoding","definition_level_encoding","dLevels","dLevelMax","valueCountNonNull","dlvl","valueEncoding","decodeOptions","primitiveType","data_page_header_v2","num_nulls","PARQUET_RDLVL_ENCODING","valuesBufCursor","is_compressed","dictCursor","dictionary_page_header","d","toString"],"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 ParquetData,\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<ParquetData> {\n const cursor: CursorBuffer = {\n buffer,\n offset: 0,\n size: buffer.length\n };\n\n const data: ParquetData = {\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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"}