@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 +1 @@
1
- {"version":3,"sources":["../../../../src/parquetjs/encoder/writer.ts"],"names":["PARQUET_MAGIC","PARQUET_VERSION","PARQUET_DEFAULT_PAGE_SIZE","PARQUET_DEFAULT_ROW_GROUP_SIZE","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING","ParquetWriter","schema","envelopeWriter","opts","rowBuffer","rowGroupSize","closed","userMetadata","writeHeader","close","row","Error","Shred","shredRecord","rowCount","callback","writeFooter","key","value","String","cnt","setPageSize","path","outputStream","openStream","ParquetEnvelopeWriter","writeFn","closeFn","fileOffset","write","offset","rowGroups","pageSize","useDataPageV2","Boolean","buf","length","writeSection","Buffer","from","records","encodeRowGroup","baseOffset","rgroup","push","metadata","body","encodeFooter","oswrite","bind","undefined","osclose","ParquetTransformer","objectMode","writeProxy","t","b","writer","encoding","appendRow","then","Promise","resolve","Transform","encodeValues","type","values","PARQUET_CODECS","encodeDataPage","column","data","rLevelsBuf","alloc","rLevelMax","rlevels","bitWidth","dLevelsBuf","dLevelMax","dlevels","valuesBuf","primitiveType","typeLength","dataBuf","concat","Compression","deflate","compression","compressedBuf","header","PageHeader","PageType","DATA_PAGE","data_page_header","DataPageHeader","num_values","count","Encoding","definition_level_encoding","repetition_level_encoding","uncompressed_page_size","compressed_page_size","headerBuf","page","headerSize","encodeDataPageV2","disableEnvelope","DATA_PAGE_V2","data_page_header_v2","DataPageHeaderV2","num_nulls","num_rows","definition_levels_byte_length","repetition_levels_byte_length","is_compressed","encodeColumnChunk","buffer","columnData","join","total_uncompressed_size","total_compressed_size","result","pageBuf","ColumnMetaData","path_in_schema","data_page_offset","encodings","Type","codec","CompressionCodec","metadataOffset","RowGroup","columns","total_byte_size","fieldList","field","isNested","cchunkData","cchunk","ColumnChunk","file_offset","meta_data","Int64","Number","FileMetaData","version","created_by","row_groups","key_value_metadata","kv","KeyValue","schemaRoot","SchemaElement","name","num_children","Object","keys","fields","relt","FieldRepetitionType","repetitionType","schemaElem","repetition_type","fieldCount","originalType","converted_type","ConvertedType","type_length","metadataEncoded","footerEncoded","copy","writeUInt32LE"],"mappings":"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","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport {Transform, Writable} from 'stream';\nimport {ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport * as Compression from '../compression';\nimport {\n ParquetBuffer,\n ParquetCodec,\n ParquetData,\n ParquetField,\n PrimitiveType\n} from '../schema/declare';\nimport {ParquetSchema} from '../schema/schema';\nimport * as Shred from '../schema/shred';\nimport {\n ColumnChunk,\n ColumnMetaData,\n CompressionCodec,\n ConvertedType,\n DataPageHeader,\n DataPageHeaderV2,\n Encoding,\n FieldRepetitionType,\n FileMetaData,\n KeyValue,\n PageHeader,\n PageType,\n RowGroup,\n SchemaElement,\n Type\n} from '../parquet-thrift';\nimport {osopen, oswrite, osclose} from '../utils/file-utils';\nimport {getBitWidth, serializeThrift} from '../utils/read-utils';\nimport Int64 from 'node-int64';\n\n/**\n * Parquet File Magic String\n */\nconst PARQUET_MAGIC = 'PAR1';\n\n/**\n * Parquet File Format Version\n */\nconst PARQUET_VERSION = 1;\n\n/**\n * Default Page and Row Group sizes\n */\nconst PARQUET_DEFAULT_PAGE_SIZE = 8192;\nconst PARQUET_DEFAULT_ROW_GROUP_SIZE = 4096;\n\n/**\n * Repetition and Definition Level Encoding\n */\nconst PARQUET_RDLVL_TYPE = 'INT32';\nconst PARQUET_RDLVL_ENCODING = 'RLE';\n\nexport interface ParquetWriterOptions {\n baseOffset?: number;\n rowGroupSize?: number;\n pageSize?: number;\n useDataPageV2?: boolean;\n\n // Write Stream Options\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\n/**\n * Write a parquet file to an output stream. The ParquetWriter will perform\n * buffering/batching for performance, so close() must be called after all rows\n * are written.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class ParquetWriter<T> {\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified file\n */\n static async openFile<T>(\n schema: ParquetSchema,\n path: string,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n const outputStream = await osopen(path, opts);\n return ParquetWriter.openStream(schema, outputStream, opts);\n }\n\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified stream\n */\n static async openStream<T>(\n schema: ParquetSchema,\n outputStream: Writable,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n if (!opts) {\n // tslint:disable-next-line:no-parameter-reassignment\n opts = {};\n }\n\n const envelopeWriter = await ParquetEnvelopeWriter.openStream(schema, outputStream, opts);\n\n return new ParquetWriter(schema, envelopeWriter, opts);\n }\n\n public schema: ParquetSchema;\n public envelopeWriter: ParquetEnvelopeWriter;\n public rowBuffer: ParquetBuffer;\n public rowGroupSize: number;\n public closed: boolean;\n public userMetadata: Record<string, string>;\n\n /**\n * Create a new buffered parquet writer for a given envelope writer\n */\n constructor(\n schema: ParquetSchema,\n envelopeWriter: ParquetEnvelopeWriter,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.envelopeWriter = envelopeWriter;\n // @ts-ignore Row buffer typings...\n this.rowBuffer = {};\n this.rowGroupSize = opts.rowGroupSize || PARQUET_DEFAULT_ROW_GROUP_SIZE;\n this.closed = false;\n this.userMetadata = {};\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.writeHeader();\n }\n\n async writeHeader(): Promise<void> {\n // TODO - better not mess with promises in the constructor\n try {\n await this.envelopeWriter.writeHeader();\n } catch (err) {\n await this.envelopeWriter.close();\n throw err;\n }\n }\n\n /**\n * Append a single row to the parquet file. Rows are buffered in memory until\n * rowGroupSize rows are in the buffer or close() is called\n */\n async appendRow<T>(row: T): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n Shred.shredRecord(this.schema, row, this.rowBuffer);\n if (this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n }\n\n /**\n * Finish writing the parquet file and commit the footer to disk. This method\n * MUST be called after you are finished adding rows. You must not call this\n * method twice on the same object or add any rows after the close() method has\n * been called\n */\n async close(callback?: () => void): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n\n this.closed = true;\n\n if (this.rowBuffer.rowCount > 0 || this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n\n await this.envelopeWriter.writeFooter(this.userMetadata);\n await this.envelopeWriter.close();\n // this.envelopeWriter = null;\n\n if (callback) {\n callback();\n }\n }\n\n /**\n * Add key<>value metadata to the file\n */\n setMetadata(key: string, value: string): void {\n // TODO: value to be any, obj -> JSON\n this.userMetadata[String(key)] = String(value);\n }\n\n /**\n * Set the parquet row group size. This values controls the maximum number\n * of rows that are buffered in memory at any given time as well as the number\n * of rows that are co-located on disk. A higher value is generally better for\n * read-time I/O performance at the tradeoff of write-time memory usage.\n */\n setRowGroupSize(cnt: number): void {\n this.rowGroupSize = cnt;\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.envelopeWriter.setPageSize(cnt);\n }\n}\n\n/**\n * Create a parquet file from a schema and a number of row groups. This class\n * performs direct, unbuffered writes to the underlying output stream and is\n * intendend for advanced and internal users; the writeXXX methods must be\n * called in the correct order to produce a valid file.\n */\nexport class ParquetEnvelopeWriter {\n /**\n * Create a new parquet envelope writer that writes to the specified stream\n */\n static async openStream(\n schema: ParquetSchema,\n outputStream: Writable,\n opts: ParquetWriterOptions\n ): Promise<ParquetEnvelopeWriter> {\n const writeFn = oswrite.bind(undefined, outputStream);\n const closeFn = osclose.bind(undefined, outputStream);\n return new ParquetEnvelopeWriter(schema, writeFn, closeFn, 0, opts);\n }\n\n public schema: ParquetSchema;\n public write: (buf: Buffer) => Promise<void>;\n public close: () => Promise<void>;\n public offset: number;\n public rowCount: number;\n public rowGroups: RowGroup[];\n public pageSize: number;\n public useDataPageV2: boolean;\n\n constructor(\n schema: ParquetSchema,\n writeFn: (buf: Buffer) => Promise<void>,\n closeFn: () => Promise<void>,\n fileOffset: number,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.write = writeFn;\n this.close = closeFn;\n this.offset = fileOffset;\n this.rowCount = 0;\n this.rowGroups = [];\n this.pageSize = opts.pageSize || PARQUET_DEFAULT_PAGE_SIZE;\n this.useDataPageV2 = 'useDataPageV2' in opts ? Boolean(opts.useDataPageV2) : false;\n }\n\n writeSection(buf: Buffer): Promise<void> {\n this.offset += buf.length;\n return this.write(buf);\n }\n\n /**\n * Encode the parquet file header\n */\n writeHeader(): Promise<void> {\n return this.writeSection(Buffer.from(PARQUET_MAGIC));\n }\n\n /**\n * Encode a parquet row group. The records object should be created using the\n * shredRecord method\n */\n async writeRowGroup(records: ParquetBuffer): Promise<void> {\n const rgroup = await encodeRowGroup(this.schema, records, {\n baseOffset: this.offset,\n pageSize: this.pageSize,\n useDataPageV2: this.useDataPageV2\n });\n\n this.rowCount += records.rowCount;\n this.rowGroups.push(rgroup.metadata);\n return await this.writeSection(rgroup.body);\n }\n\n /**\n * Write the parquet file footer\n */\n writeFooter(userMetadata: Record<string, string>): Promise<void> {\n if (!userMetadata) {\n // tslint:disable-next-line:no-parameter-reassignment\n userMetadata = {};\n }\n\n return this.writeSection(\n encodeFooter(this.schema, this.rowCount, this.rowGroups, userMetadata)\n );\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.pageSize = cnt;\n }\n}\n\n/**\n * Create a parquet transform stream\n */\nexport class ParquetTransformer<T> extends Transform {\n public writer: ParquetWriter<T>;\n\n constructor(schema: ParquetSchema, opts: ParquetWriterOptions = {}) {\n super({objectMode: true});\n\n const writeProxy = (function (t: ParquetTransformer<any>) {\n return async function (b: any): Promise<void> {\n t.push(b);\n };\n })(this);\n\n this.writer = new ParquetWriter(\n schema,\n new ParquetEnvelopeWriter(schema, writeProxy, async () => {}, 0, opts),\n opts\n );\n }\n\n // tslint:disable-next-line:function-name\n _transform(row: any, encoding: string, callback: (val?: any) => void): Promise<void> {\n if (row) {\n return this.writer.appendRow(row).then(callback);\n }\n callback();\n return Promise.resolve();\n }\n\n // tslint:disable-next-line:function-name\n async _flush(callback: (val?: any) => void) {\n await this.writer.close(callback);\n }\n}\n\n/**\n * Encode a consecutive array of data using one of the parquet encodings\n */\nfunction encodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n values: any[],\n opts: ParquetCodecOptions\n) {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].encodeValues(type, values, opts);\n}\n\n/**\n * Encode a parquet data page\n */\nasync function encodeDataPage(\n column: ParquetField,\n data: ParquetData\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax)\n // disableEnvelope: false\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax)\n // disableEnvelope: false\n });\n }\n\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n const dataBuf = Buffer.concat([rLevelsBuf, dLevelsBuf, valuesBuf]);\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, dataBuf);\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE,\n data_page_header: new DataPageHeader({\n num_values: data.count,\n encoding: Encoding[column.encoding!] as any,\n definition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING], // [PARQUET_RDLVL_ENCODING],\n repetition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING] // [PARQUET_RDLVL_ENCODING]\n }),\n uncompressed_page_size: dataBuf.length,\n compressed_page_size: compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, compressedBuf]);\n\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode a parquet data page (v2)\n */\nasync function encodeDataPageV2(\n column: ParquetField,\n data: ParquetData,\n rowCount: number\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, valuesBuf);\n\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax),\n disableEnvelope: true\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax),\n disableEnvelope: true\n });\n }\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE_V2,\n data_page_header_v2: new DataPageHeaderV2({\n num_values: data.count,\n num_nulls: data.count - data.values.length,\n num_rows: rowCount,\n encoding: Encoding[column.encoding!] as any,\n definition_levels_byte_length: dLevelsBuf.length,\n repetition_levels_byte_length: rLevelsBuf.length,\n is_compressed: column.compression !== 'UNCOMPRESSED'\n }),\n uncompressed_page_size: rLevelsBuf.length + dLevelsBuf.length + valuesBuf.length,\n compressed_page_size: rLevelsBuf.length + dLevelsBuf.length + compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, rLevelsBuf, dLevelsBuf, compressedBuf]);\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode an array of values into a parquet column chunk\n */\nasync function encodeColumnChunk(\n column: ParquetField,\n buffer: ParquetBuffer,\n offset: number,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: ColumnMetaData;\n metadataOffset: number;\n}> {\n const data = buffer.columnData[column.path.join()];\n const baseOffset = (opts.baseOffset || 0) + offset;\n /* encode data page(s) */\n // const pages: Buffer[] = [];\n let pageBuf: Buffer;\n // tslint:disable-next-line:variable-name\n let total_uncompressed_size = 0;\n // tslint:disable-next-line:variable-name\n let total_compressed_size = 0;\n {\n const result = opts.useDataPageV2\n ? await encodeDataPageV2(column, data, buffer.rowCount)\n : await encodeDataPage(column, data);\n // pages.push(result.page);\n pageBuf = result.page;\n total_uncompressed_size += result.header.uncompressed_page_size + result.headerSize;\n total_compressed_size += result.header.compressed_page_size + result.headerSize;\n }\n\n // const pagesBuf = Buffer.concat(pages);\n // const compression = column.compression === 'UNCOMPRESSED' ? (opts.compression || 'UNCOMPRESSED') : column.compression;\n\n /* prepare metadata header */\n const metadata = new ColumnMetaData({\n path_in_schema: column.path,\n num_values: data.count,\n data_page_offset: baseOffset,\n encodings: [],\n total_uncompressed_size, // : pagesBuf.length,\n total_compressed_size,\n type: Type[column.primitiveType!],\n codec: CompressionCodec[column.compression!]\n });\n\n /* list encodings */\n metadata.encodings.push(Encoding[PARQUET_RDLVL_ENCODING]);\n metadata.encodings.push(Encoding[column.encoding!]);\n\n /* concat metadata header and data pages */\n const metadataOffset = baseOffset + pageBuf.length;\n const body = Buffer.concat([pageBuf, serializeThrift(metadata)]);\n return {body, metadata, metadataOffset};\n}\n\n/**\n * Encode a list of column values into a parquet row group\n */\nasync function encodeRowGroup(\n schema: ParquetSchema,\n data: ParquetBuffer,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: RowGroup;\n}> {\n const metadata = new RowGroup({\n num_rows: data.rowCount,\n columns: [],\n total_byte_size: 0\n });\n\n let body = Buffer.alloc(0);\n for (const field of schema.fieldList) {\n if (field.isNested) {\n continue; // eslint-disable-line no-continue\n }\n\n const cchunkData = await encodeColumnChunk(field, data, body.length, opts);\n\n const cchunk = new ColumnChunk({\n file_offset: cchunkData.metadataOffset,\n meta_data: cchunkData.metadata\n });\n\n metadata.columns.push(cchunk);\n metadata.total_byte_size = new Int64(Number(metadata.total_byte_size) + cchunkData.body.length);\n\n body = Buffer.concat([body, cchunkData.body]);\n }\n\n return {body, metadata};\n}\n\n/**\n * Encode a parquet file metadata footer\n */\nfunction encodeFooter(\n schema: ParquetSchema,\n rowCount: number,\n rowGroups: RowGroup[],\n userMetadata: Record<string, string>\n): Buffer {\n const metadata = new FileMetaData({\n version: PARQUET_VERSION,\n created_by: 'parquets',\n num_rows: rowCount,\n row_groups: rowGroups,\n schema: [],\n key_value_metadata: []\n });\n\n for (const key in userMetadata) {\n const kv = new KeyValue({\n key,\n value: userMetadata[key]\n });\n metadata.key_value_metadata?.push?.(kv);\n }\n\n {\n const schemaRoot = new SchemaElement({\n name: 'root',\n num_children: Object.keys(schema.fields).length\n });\n metadata.schema.push(schemaRoot);\n }\n\n for (const field of schema.fieldList) {\n const relt = FieldRepetitionType[field.repetitionType];\n const schemaElem = new SchemaElement({\n name: field.name,\n repetition_type: relt as any\n });\n\n if (field.isNested) {\n schemaElem.num_children = field.fieldCount;\n } else {\n schemaElem.type = Type[field.primitiveType!] as Type;\n }\n\n if (field.originalType) {\n schemaElem.converted_type = ConvertedType[field.originalType] as ConvertedType;\n }\n\n schemaElem.type_length = field.typeLength;\n\n metadata.schema.push(schemaElem);\n }\n\n const metadataEncoded = serializeThrift(metadata);\n const footerEncoded = Buffer.alloc(metadataEncoded.length + 8);\n metadataEncoded.copy(footerEncoded);\n footerEncoded.writeUInt32LE(metadataEncoded.length, metadataEncoded.length);\n footerEncoded.write(PARQUET_MAGIC, metadataEncoded.length + 4);\n return footerEncoded;\n}\n"],"file":"writer.js"}
1
+ {"version":3,"file":"writer.js","names":["PARQUET_MAGIC","PARQUET_VERSION","PARQUET_DEFAULT_PAGE_SIZE","PARQUET_DEFAULT_ROW_GROUP_SIZE","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING","ParquetWriter","schema","envelopeWriter","opts","rowBuffer","rowGroupSize","closed","userMetadata","writeHeader","close","row","Error","Shred","shredRecord","rowCount","callback","writeFooter","key","value","String","cnt","setPageSize","path","osopen","outputStream","openStream","ParquetEnvelopeWriter","writeFn","closeFn","fileOffset","write","offset","rowGroups","pageSize","useDataPageV2","Boolean","buf","length","writeSection","Buffer","from","records","encodeRowGroup","baseOffset","rgroup","push","metadata","body","encodeFooter","oswrite","bind","undefined","osclose","ParquetTransformer","objectMode","writeProxy","t","b","writer","encoding","appendRow","then","Promise","resolve","Transform","encodeValues","type","values","PARQUET_CODECS","encodeDataPage","column","data","rLevelsBuf","alloc","rLevelMax","rlevels","bitWidth","getBitWidth","dLevelsBuf","dLevelMax","dlevels","valuesBuf","primitiveType","typeLength","dataBuf","concat","Compression","deflate","compression","compressedBuf","header","PageHeader","PageType","DATA_PAGE","data_page_header","DataPageHeader","num_values","count","Encoding","definition_level_encoding","repetition_level_encoding","uncompressed_page_size","compressed_page_size","headerBuf","serializeThrift","page","headerSize","encodeDataPageV2","disableEnvelope","DATA_PAGE_V2","data_page_header_v2","DataPageHeaderV2","num_nulls","num_rows","definition_levels_byte_length","repetition_levels_byte_length","is_compressed","encodeColumnChunk","buffer","columnData","join","total_uncompressed_size","total_compressed_size","result","pageBuf","ColumnMetaData","path_in_schema","data_page_offset","encodings","Type","codec","CompressionCodec","metadataOffset","RowGroup","columns","total_byte_size","fieldList","field","isNested","cchunkData","cchunk","ColumnChunk","file_offset","meta_data","Int64","Number","FileMetaData","version","created_by","row_groups","key_value_metadata","kv","KeyValue","schemaRoot","SchemaElement","name","num_children","Object","keys","fields","relt","FieldRepetitionType","repetitionType","schemaElem","repetition_type","fieldCount","originalType","converted_type","ConvertedType","type_length","metadataEncoded","footerEncoded","copy","writeUInt32LE"],"sources":["../../../../src/parquetjs/encoder/writer.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport {Transform, Writable} from 'stream';\nimport {ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport * as Compression from '../compression';\nimport {\n ParquetBuffer,\n ParquetCodec,\n ParquetData,\n ParquetField,\n PrimitiveType\n} from '../schema/declare';\nimport {ParquetSchema} from '../schema/schema';\nimport * as Shred from '../schema/shred';\nimport {\n ColumnChunk,\n ColumnMetaData,\n CompressionCodec,\n ConvertedType,\n DataPageHeader,\n DataPageHeaderV2,\n Encoding,\n FieldRepetitionType,\n FileMetaData,\n KeyValue,\n PageHeader,\n PageType,\n RowGroup,\n SchemaElement,\n Type\n} from '../parquet-thrift';\nimport {osopen, oswrite, osclose} from '../utils/file-utils';\nimport {getBitWidth, serializeThrift} from '../utils/read-utils';\nimport Int64 from 'node-int64';\n\n/**\n * Parquet File Magic String\n */\nconst PARQUET_MAGIC = 'PAR1';\n\n/**\n * Parquet File Format Version\n */\nconst PARQUET_VERSION = 1;\n\n/**\n * Default Page and Row Group sizes\n */\nconst PARQUET_DEFAULT_PAGE_SIZE = 8192;\nconst PARQUET_DEFAULT_ROW_GROUP_SIZE = 4096;\n\n/**\n * Repetition and Definition Level Encoding\n */\nconst PARQUET_RDLVL_TYPE = 'INT32';\nconst PARQUET_RDLVL_ENCODING = 'RLE';\n\nexport interface ParquetWriterOptions {\n baseOffset?: number;\n rowGroupSize?: number;\n pageSize?: number;\n useDataPageV2?: boolean;\n\n // Write Stream Options\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\n/**\n * Write a parquet file to an output stream. The ParquetWriter will perform\n * buffering/batching for performance, so close() must be called after all rows\n * are written.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class ParquetWriter<T> {\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified file\n */\n static async openFile<T>(\n schema: ParquetSchema,\n path: string,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n const outputStream = await osopen(path, opts);\n return ParquetWriter.openStream(schema, outputStream, opts);\n }\n\n /**\n * Convenience method to create a new buffered parquet writer that writes to\n * the specified stream\n */\n static async openStream<T>(\n schema: ParquetSchema,\n outputStream: Writable,\n opts?: ParquetWriterOptions\n ): Promise<ParquetWriter<T>> {\n if (!opts) {\n // tslint:disable-next-line:no-parameter-reassignment\n opts = {};\n }\n\n const envelopeWriter = await ParquetEnvelopeWriter.openStream(schema, outputStream, opts);\n\n return new ParquetWriter(schema, envelopeWriter, opts);\n }\n\n public schema: ParquetSchema;\n public envelopeWriter: ParquetEnvelopeWriter;\n public rowBuffer: ParquetBuffer;\n public rowGroupSize: number;\n public closed: boolean;\n public userMetadata: Record<string, string>;\n\n /**\n * Create a new buffered parquet writer for a given envelope writer\n */\n constructor(\n schema: ParquetSchema,\n envelopeWriter: ParquetEnvelopeWriter,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.envelopeWriter = envelopeWriter;\n // @ts-ignore Row buffer typings...\n this.rowBuffer = {};\n this.rowGroupSize = opts.rowGroupSize || PARQUET_DEFAULT_ROW_GROUP_SIZE;\n this.closed = false;\n this.userMetadata = {};\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.writeHeader();\n }\n\n async writeHeader(): Promise<void> {\n // TODO - better not mess with promises in the constructor\n try {\n await this.envelopeWriter.writeHeader();\n } catch (err) {\n await this.envelopeWriter.close();\n throw err;\n }\n }\n\n /**\n * Append a single row to the parquet file. Rows are buffered in memory until\n * rowGroupSize rows are in the buffer or close() is called\n */\n async appendRow<T>(row: T): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n Shred.shredRecord(this.schema, row, this.rowBuffer);\n if (this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n }\n\n /**\n * Finish writing the parquet file and commit the footer to disk. This method\n * MUST be called after you are finished adding rows. You must not call this\n * method twice on the same object or add any rows after the close() method has\n * been called\n */\n async close(callback?: () => void): Promise<void> {\n if (this.closed) {\n throw new Error('writer was closed');\n }\n\n this.closed = true;\n\n if (this.rowBuffer.rowCount > 0 || this.rowBuffer.rowCount >= this.rowGroupSize) {\n // @ts-ignore\n this.rowBuffer = {};\n }\n\n await this.envelopeWriter.writeFooter(this.userMetadata);\n await this.envelopeWriter.close();\n // this.envelopeWriter = null;\n\n if (callback) {\n callback();\n }\n }\n\n /**\n * Add key<>value metadata to the file\n */\n setMetadata(key: string, value: string): void {\n // TODO: value to be any, obj -> JSON\n this.userMetadata[String(key)] = String(value);\n }\n\n /**\n * Set the parquet row group size. This values controls the maximum number\n * of rows that are buffered in memory at any given time as well as the number\n * of rows that are co-located on disk. A higher value is generally better for\n * read-time I/O performance at the tradeoff of write-time memory usage.\n */\n setRowGroupSize(cnt: number): void {\n this.rowGroupSize = cnt;\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.envelopeWriter.setPageSize(cnt);\n }\n}\n\n/**\n * Create a parquet file from a schema and a number of row groups. This class\n * performs direct, unbuffered writes to the underlying output stream and is\n * intendend for advanced and internal users; the writeXXX methods must be\n * called in the correct order to produce a valid file.\n */\nexport class ParquetEnvelopeWriter {\n /**\n * Create a new parquet envelope writer that writes to the specified stream\n */\n static async openStream(\n schema: ParquetSchema,\n outputStream: Writable,\n opts: ParquetWriterOptions\n ): Promise<ParquetEnvelopeWriter> {\n const writeFn = oswrite.bind(undefined, outputStream);\n const closeFn = osclose.bind(undefined, outputStream);\n return new ParquetEnvelopeWriter(schema, writeFn, closeFn, 0, opts);\n }\n\n public schema: ParquetSchema;\n public write: (buf: Buffer) => Promise<void>;\n public close: () => Promise<void>;\n public offset: number;\n public rowCount: number;\n public rowGroups: RowGroup[];\n public pageSize: number;\n public useDataPageV2: boolean;\n\n constructor(\n schema: ParquetSchema,\n writeFn: (buf: Buffer) => Promise<void>,\n closeFn: () => Promise<void>,\n fileOffset: number,\n opts: ParquetWriterOptions\n ) {\n this.schema = schema;\n this.write = writeFn;\n this.close = closeFn;\n this.offset = fileOffset;\n this.rowCount = 0;\n this.rowGroups = [];\n this.pageSize = opts.pageSize || PARQUET_DEFAULT_PAGE_SIZE;\n this.useDataPageV2 = 'useDataPageV2' in opts ? Boolean(opts.useDataPageV2) : false;\n }\n\n writeSection(buf: Buffer): Promise<void> {\n this.offset += buf.length;\n return this.write(buf);\n }\n\n /**\n * Encode the parquet file header\n */\n writeHeader(): Promise<void> {\n return this.writeSection(Buffer.from(PARQUET_MAGIC));\n }\n\n /**\n * Encode a parquet row group. The records object should be created using the\n * shredRecord method\n */\n async writeRowGroup(records: ParquetBuffer): Promise<void> {\n const rgroup = await encodeRowGroup(this.schema, records, {\n baseOffset: this.offset,\n pageSize: this.pageSize,\n useDataPageV2: this.useDataPageV2\n });\n\n this.rowCount += records.rowCount;\n this.rowGroups.push(rgroup.metadata);\n return await this.writeSection(rgroup.body);\n }\n\n /**\n * Write the parquet file footer\n */\n writeFooter(userMetadata: Record<string, string>): Promise<void> {\n if (!userMetadata) {\n // tslint:disable-next-line:no-parameter-reassignment\n userMetadata = {};\n }\n\n return this.writeSection(\n encodeFooter(this.schema, this.rowCount, this.rowGroups, userMetadata)\n );\n }\n\n /**\n * Set the parquet data page size. The data page size controls the maximum\n * number of column values that are written to disk as a consecutive array\n */\n setPageSize(cnt: number): void {\n this.pageSize = cnt;\n }\n}\n\n/**\n * Create a parquet transform stream\n */\nexport class ParquetTransformer<T> extends Transform {\n public writer: ParquetWriter<T>;\n\n constructor(schema: ParquetSchema, opts: ParquetWriterOptions = {}) {\n super({objectMode: true});\n\n const writeProxy = (function (t: ParquetTransformer<any>) {\n return async function (b: any): Promise<void> {\n t.push(b);\n };\n })(this);\n\n this.writer = new ParquetWriter(\n schema,\n new ParquetEnvelopeWriter(schema, writeProxy, async () => {}, 0, opts),\n opts\n );\n }\n\n // tslint:disable-next-line:function-name\n _transform(row: any, encoding: string, callback: (val?: any) => void): Promise<void> {\n if (row) {\n return this.writer.appendRow(row).then(callback);\n }\n callback();\n return Promise.resolve();\n }\n\n // tslint:disable-next-line:function-name\n async _flush(callback: (val?: any) => void) {\n await this.writer.close(callback);\n }\n}\n\n/**\n * Encode a consecutive array of data using one of the parquet encodings\n */\nfunction encodeValues(\n type: PrimitiveType,\n encoding: ParquetCodec,\n values: any[],\n opts: ParquetCodecOptions\n) {\n if (!(encoding in PARQUET_CODECS)) {\n throw new Error(`invalid encoding: ${encoding}`);\n }\n return PARQUET_CODECS[encoding].encodeValues(type, values, opts);\n}\n\n/**\n * Encode a parquet data page\n */\nasync function encodeDataPage(\n column: ParquetField,\n data: ParquetData\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax)\n // disableEnvelope: false\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax)\n // disableEnvelope: false\n });\n }\n\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n const dataBuf = Buffer.concat([rLevelsBuf, dLevelsBuf, valuesBuf]);\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, dataBuf);\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE,\n data_page_header: new DataPageHeader({\n num_values: data.count,\n encoding: Encoding[column.encoding!] as any,\n definition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING], // [PARQUET_RDLVL_ENCODING],\n repetition_level_encoding: Encoding[PARQUET_RDLVL_ENCODING] // [PARQUET_RDLVL_ENCODING]\n }),\n uncompressed_page_size: dataBuf.length,\n compressed_page_size: compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, compressedBuf]);\n\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode a parquet data page (v2)\n */\nasync function encodeDataPageV2(\n column: ParquetField,\n data: ParquetData,\n rowCount: number\n): Promise<{\n header: PageHeader;\n headerSize: number;\n page: Buffer;\n}> {\n /* encode values */\n const valuesBuf = encodeValues(column.primitiveType!, column.encoding!, data.values, {\n typeLength: column.typeLength,\n bitWidth: column.typeLength\n });\n\n // compression = column.compression === 'UNCOMPRESSED' ? (compression || 'UNCOMPRESSED') : column.compression;\n const compressedBuf = await Compression.deflate(column.compression!, valuesBuf);\n\n /* encode repetition and definition levels */\n let rLevelsBuf = Buffer.alloc(0);\n if (column.rLevelMax > 0) {\n rLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.rlevels, {\n bitWidth: getBitWidth(column.rLevelMax),\n disableEnvelope: true\n });\n }\n\n let dLevelsBuf = Buffer.alloc(0);\n if (column.dLevelMax > 0) {\n dLevelsBuf = encodeValues(PARQUET_RDLVL_TYPE, PARQUET_RDLVL_ENCODING, data.dlevels, {\n bitWidth: getBitWidth(column.dLevelMax),\n disableEnvelope: true\n });\n }\n\n /* build page header */\n const header = new PageHeader({\n type: PageType.DATA_PAGE_V2,\n data_page_header_v2: new DataPageHeaderV2({\n num_values: data.count,\n num_nulls: data.count - data.values.length,\n num_rows: rowCount,\n encoding: Encoding[column.encoding!] as any,\n definition_levels_byte_length: dLevelsBuf.length,\n repetition_levels_byte_length: rLevelsBuf.length,\n is_compressed: column.compression !== 'UNCOMPRESSED'\n }),\n uncompressed_page_size: rLevelsBuf.length + dLevelsBuf.length + valuesBuf.length,\n compressed_page_size: rLevelsBuf.length + dLevelsBuf.length + compressedBuf.length\n });\n\n /* concat page header, repetition and definition levels and values */\n const headerBuf = serializeThrift(header);\n const page = Buffer.concat([headerBuf, rLevelsBuf, dLevelsBuf, compressedBuf]);\n return {header, headerSize: headerBuf.length, page};\n}\n\n/**\n * Encode an array of values into a parquet column chunk\n */\nasync function encodeColumnChunk(\n column: ParquetField,\n buffer: ParquetBuffer,\n offset: number,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: ColumnMetaData;\n metadataOffset: number;\n}> {\n const data = buffer.columnData[column.path.join()];\n const baseOffset = (opts.baseOffset || 0) + offset;\n /* encode data page(s) */\n // const pages: Buffer[] = [];\n let pageBuf: Buffer;\n // tslint:disable-next-line:variable-name\n let total_uncompressed_size = 0;\n // tslint:disable-next-line:variable-name\n let total_compressed_size = 0;\n {\n const result = opts.useDataPageV2\n ? await encodeDataPageV2(column, data, buffer.rowCount)\n : await encodeDataPage(column, data);\n // pages.push(result.page);\n pageBuf = result.page;\n total_uncompressed_size += result.header.uncompressed_page_size + result.headerSize;\n total_compressed_size += result.header.compressed_page_size + result.headerSize;\n }\n\n // const pagesBuf = Buffer.concat(pages);\n // const compression = column.compression === 'UNCOMPRESSED' ? (opts.compression || 'UNCOMPRESSED') : column.compression;\n\n /* prepare metadata header */\n const metadata = new ColumnMetaData({\n path_in_schema: column.path,\n num_values: data.count,\n data_page_offset: baseOffset,\n encodings: [],\n total_uncompressed_size, // : pagesBuf.length,\n total_compressed_size,\n type: Type[column.primitiveType!],\n codec: CompressionCodec[column.compression!]\n });\n\n /* list encodings */\n metadata.encodings.push(Encoding[PARQUET_RDLVL_ENCODING]);\n metadata.encodings.push(Encoding[column.encoding!]);\n\n /* concat metadata header and data pages */\n const metadataOffset = baseOffset + pageBuf.length;\n const body = Buffer.concat([pageBuf, serializeThrift(metadata)]);\n return {body, metadata, metadataOffset};\n}\n\n/**\n * Encode a list of column values into a parquet row group\n */\nasync function encodeRowGroup(\n schema: ParquetSchema,\n data: ParquetBuffer,\n opts: ParquetWriterOptions\n): Promise<{\n body: Buffer;\n metadata: RowGroup;\n}> {\n const metadata = new RowGroup({\n num_rows: data.rowCount,\n columns: [],\n total_byte_size: 0\n });\n\n let body = Buffer.alloc(0);\n for (const field of schema.fieldList) {\n if (field.isNested) {\n continue; // eslint-disable-line no-continue\n }\n\n const cchunkData = await encodeColumnChunk(field, data, body.length, opts);\n\n const cchunk = new ColumnChunk({\n file_offset: cchunkData.metadataOffset,\n meta_data: cchunkData.metadata\n });\n\n metadata.columns.push(cchunk);\n metadata.total_byte_size = new Int64(Number(metadata.total_byte_size) + cchunkData.body.length);\n\n body = Buffer.concat([body, cchunkData.body]);\n }\n\n return {body, metadata};\n}\n\n/**\n * Encode a parquet file metadata footer\n */\nfunction encodeFooter(\n schema: ParquetSchema,\n rowCount: number,\n rowGroups: RowGroup[],\n userMetadata: Record<string, string>\n): Buffer {\n const metadata = new FileMetaData({\n version: PARQUET_VERSION,\n created_by: 'parquets',\n num_rows: rowCount,\n row_groups: rowGroups,\n schema: [],\n key_value_metadata: []\n });\n\n for (const key in userMetadata) {\n const kv = new KeyValue({\n key,\n value: userMetadata[key]\n });\n metadata.key_value_metadata?.push?.(kv);\n }\n\n {\n const schemaRoot = new SchemaElement({\n name: 'root',\n num_children: Object.keys(schema.fields).length\n });\n metadata.schema.push(schemaRoot);\n }\n\n for (const field of schema.fieldList) {\n const relt = FieldRepetitionType[field.repetitionType];\n const schemaElem = new SchemaElement({\n name: field.name,\n repetition_type: relt as any\n });\n\n if (field.isNested) {\n schemaElem.num_children = field.fieldCount;\n } else {\n schemaElem.type = Type[field.primitiveType!] as Type;\n }\n\n if (field.originalType) {\n schemaElem.converted_type = ConvertedType[field.originalType] as ConvertedType;\n }\n\n schemaElem.type_length = field.typeLength;\n\n metadata.schema.push(schemaElem);\n }\n\n const metadataEncoded = serializeThrift(metadata);\n const footerEncoded = Buffer.alloc(metadataEncoded.length + 8);\n metadataEncoded.copy(footerEncoded);\n footerEncoded.writeUInt32LE(metadataEncoded.length, metadataEncoded.length);\n footerEncoded.write(PARQUET_MAGIC, metadataEncoded.length + 4);\n return footerEncoded;\n}\n"],"mappings":"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"}
@@ -1,18 +1,16 @@
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
  });
7
+ exports.fclose = fclose;
8
8
  exports.fopen = fopen;
9
- exports.fstat = fstat;
10
9
  exports.fread = fread;
11
- exports.fclose = fclose;
12
- exports.oswrite = oswrite;
10
+ exports.fstat = fstat;
13
11
  exports.osclose = osclose;
14
12
  exports.osopen = osopen;
15
-
13
+ exports.oswrite = oswrite;
16
14
  var _fs = _interopRequireDefault(require("fs"));
17
15
 
18
16
  function fopen(filePath) {
@@ -26,7 +24,6 @@ function fopen(filePath) {
26
24
  });
27
25
  });
28
26
  }
29
-
30
27
  function fstat(filePath) {
31
28
  return new Promise(function (resolve, reject) {
32
29
  _fs.default.stat(filePath, function (err, stat) {
@@ -38,7 +35,6 @@ function fstat(filePath) {
38
35
  });
39
36
  });
40
37
  }
41
-
42
38
  function fread(fd, position, length) {
43
39
  var buffer = Buffer.alloc(length);
44
40
  return new Promise(function (resolve, reject) {
@@ -51,7 +47,6 @@ function fread(fd, position, length) {
51
47
  });
52
48
  });
53
49
  }
54
-
55
50
  function fclose(fd) {
56
51
  return new Promise(function (resolve, reject) {
57
52
  _fs.default.close(fd, function (err) {
@@ -63,7 +58,6 @@ function fclose(fd) {
63
58
  });
64
59
  });
65
60
  }
66
-
67
61
  function oswrite(os, buf) {
68
62
  return new Promise(function (resolve, reject) {
69
63
  os.write(buf, function (err) {
@@ -75,7 +69,6 @@ function oswrite(os, buf) {
75
69
  });
76
70
  });
77
71
  }
78
-
79
72
  function osclose(os) {
80
73
  return new Promise(function (resolve, reject) {
81
74
  os.close(function (err) {
@@ -87,11 +80,9 @@ function osclose(os) {
87
80
  });
88
81
  });
89
82
  }
90
-
91
83
  function osopen(path, opts) {
92
84
  return new Promise(function (resolve, reject) {
93
85
  var outputStream = _fs.default.createWriteStream(path, opts);
94
-
95
86
  outputStream.on('open', function (fd) {
96
87
  resolve(outputStream);
97
88
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/parquetjs/file.ts"],"names":["fopen","filePath","Promise","resolve","reject","fs","open","err","fd","fstat","stat","fread","position","length","buffer","Buffer","alloc","read","bytesRead","buf","Error","fclose","close","oswrite","os","write","osclose","osopen","path","opts","outputStream","createWriteStream","on"],"mappings":"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","sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport fs from 'fs';\n\nexport function fopen(filePath) {\n return new Promise((resolve, reject) => {\n fs.open(filePath, 'r', (err, fd) => {\n if (err) {\n reject(err);\n } else {\n resolve(fd);\n }\n });\n });\n}\n\nexport function fstat(filePath) {\n return new Promise<fs.Stats>((resolve, reject) => {\n fs.stat(filePath, (err, stat) => {\n if (err) {\n reject(err);\n } else {\n resolve(stat);\n }\n });\n });\n}\n\nexport function fread(fd, position, length) {\n const buffer = Buffer.alloc(length);\n\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, 0, length, position, (err, bytesRead, buf) => {\n if (err || bytesRead !== length) {\n reject(err || Error('read failed'));\n } else {\n resolve(buf);\n }\n });\n });\n}\n\nexport function fclose(fd) {\n return new Promise((resolve, reject) => {\n fs.close(fd, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve(err);\n }\n });\n });\n}\n\nexport function oswrite(os, buf): Promise<void> {\n return new Promise((resolve, reject) => {\n os.write(buf, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osclose(os): Promise<void> {\n return new Promise((resolve, reject) => {\n os.close((err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osopen(path, opts) {\n return new Promise((resolve, reject) => {\n const outputStream = fs.createWriteStream(path, opts);\n\n outputStream.on('open', function (fd) {\n resolve(outputStream);\n });\n\n outputStream.on('error', function (err) {\n reject(err);\n });\n });\n}\n"],"file":"file.js"}
1
+ {"version":3,"file":"file.js","names":["fopen","filePath","Promise","resolve","reject","fs","open","err","fd","fstat","stat","fread","position","length","buffer","Buffer","alloc","read","bytesRead","buf","Error","fclose","close","oswrite","os","write","osclose","osopen","path","opts","outputStream","createWriteStream","on"],"sources":["../../../src/parquetjs/file.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport fs from 'fs';\n\nexport function fopen(filePath) {\n return new Promise((resolve, reject) => {\n fs.open(filePath, 'r', (err, fd) => {\n if (err) {\n reject(err);\n } else {\n resolve(fd);\n }\n });\n });\n}\n\nexport function fstat(filePath) {\n return new Promise<fs.Stats>((resolve, reject) => {\n fs.stat(filePath, (err, stat) => {\n if (err) {\n reject(err);\n } else {\n resolve(stat);\n }\n });\n });\n}\n\nexport function fread(fd, position, length) {\n const buffer = Buffer.alloc(length);\n\n return new Promise((resolve, reject) => {\n fs.read(fd, buffer, 0, length, position, (err, bytesRead, buf) => {\n if (err || bytesRead !== length) {\n reject(err || Error('read failed'));\n } else {\n resolve(buf);\n }\n });\n });\n}\n\nexport function fclose(fd) {\n return new Promise((resolve, reject) => {\n fs.close(fd, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve(err);\n }\n });\n });\n}\n\nexport function oswrite(os, buf): Promise<void> {\n return new Promise((resolve, reject) => {\n os.write(buf, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osclose(os): Promise<void> {\n return new Promise((resolve, reject) => {\n os.close((err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osopen(path, opts) {\n return new Promise((resolve, reject) => {\n const outputStream = fs.createWriteStream(path, opts);\n\n outputStream.on('open', function (fd) {\n resolve(outputStream);\n });\n\n outputStream.on('error', function (err) {\n reject(err);\n });\n });\n}\n"],"mappings":"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"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.BoundaryOrder = void 0;
7
7
  var BoundaryOrder;
8
8
  exports.BoundaryOrder = BoundaryOrder;
9
-
10
9
  (function (BoundaryOrder) {
11
10
  BoundaryOrder[BoundaryOrder["UNORDERED"] = 0] = "UNORDERED";
12
11
  BoundaryOrder[BoundaryOrder["ASCENDING"] = 1] = "ASCENDING";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/parquetjs/parquet-thrift/BoundaryOrder.ts"],"names":["BoundaryOrder"],"mappings":";;;;;;IAMYA,a;;;WAAAA,a;AAAAA,EAAAA,a,CAAAA,a;AAAAA,EAAAA,a,CAAAA,a;AAAAA,EAAAA,a,CAAAA,a;GAAAA,a,6BAAAA,a","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum BoundaryOrder {\n UNORDERED = 0,\n ASCENDING = 1,\n DESCENDING = 2\n}\n"],"file":"BoundaryOrder.js"}
1
+ {"version":3,"file":"BoundaryOrder.js","names":["BoundaryOrder"],"sources":["../../../../src/parquetjs/parquet-thrift/BoundaryOrder.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nexport enum BoundaryOrder {\n UNORDERED = 0,\n ASCENDING = 1,\n DESCENDING = 2\n}\n"],"mappings":";;;;;;IAMYA,aAAa;AAAA;AAAA,WAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;AAAA,GAAbA,aAAa,6BAAbA,aAAa"}
@@ -1,29 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.BsonType = void 0;
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var thrift = _interopRequireWildcard(require("thrift"));
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
14
  var BsonType = function () {
23
15
  function BsonType() {
24
16
  (0, _classCallCheck2.default)(this, BsonType);
25
17
  }
26
-
27
18
  (0, _createClass2.default)(BsonType, [{
28
19
  key: "write",
29
20
  value: function write(output) {
@@ -36,32 +27,26 @@ var BsonType = function () {
36
27
  key: "read",
37
28
  value: function read(input) {
38
29
  input.readStructBegin();
39
-
40
30
  while (true) {
41
31
  var ret = input.readFieldBegin();
42
32
  var fieldType = ret.ftype;
43
33
  var fieldId = ret.fid;
44
-
45
34
  if (fieldType === thrift.Thrift.Type.STOP) {
46
35
  break;
47
36
  }
48
-
49
37
  switch (fieldId) {
50
38
  default:
51
39
  {
52
40
  input.skip(fieldType);
53
41
  }
54
42
  }
55
-
56
43
  input.readFieldEnd();
57
44
  }
58
-
59
45
  input.readStructEnd();
60
46
  return new BsonType();
61
47
  }
62
48
  }]);
63
49
  return BsonType;
64
50
  }();
65
-
66
51
  exports.BsonType = BsonType;
67
52
  //# sourceMappingURL=BsonType.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/parquetjs/parquet-thrift/BsonType.ts"],"names":["BsonType","output","writeStructBegin","writeFieldStop","writeStructEnd","input","readStructBegin","ret","readFieldBegin","fieldType","ftype","fieldId","fid","thrift","Thrift","Type","STOP","skip","readFieldEnd","readStructEnd"],"mappings":";;;;;;;;;;;;;;;AAMA;;;;;;IAEaA,Q;AACX,sBAAc;AAAA;AAAE;;;;WAChB,eAAaC,MAAb,EAA6C;AAC3CA,MAAAA,MAAM,CAACC,gBAAP,CAAwB,UAAxB;AACAD,MAAAA,MAAM,CAACE,cAAP;AACAF,MAAAA,MAAM,CAACG,cAAP;AACA;AACD;;;WACD,cAAmBC,KAAnB,EAAsD;AACpDA,MAAAA,KAAK,CAACC,eAAN;;AACA,aAAO,IAAP,EAAa;AACX,YAAMC,GAAkB,GAAGF,KAAK,CAACG,cAAN,EAA3B;AACA,YAAMC,SAA6B,GAAGF,GAAG,CAACG,KAA1C;AACA,YAAMC,OAAe,GAAGJ,GAAG,CAACK,GAA5B;;AACA,YAAIH,SAAS,KAAKI,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBC,IAArC,EAA2C;AACzC;AACD;;AACD,gBAAQL,OAAR;AACE;AAAS;AACPN,cAAAA,KAAK,CAACY,IAAN,CAAWR,SAAX;AACD;AAHH;;AAKAJ,QAAAA,KAAK,CAACa,YAAN;AACD;;AACDb,MAAAA,KAAK,CAACc,aAAN;AACA,aAAO,IAAInB,QAAJ,EAAP;AACD","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IBsonTypeArgs {}\nexport class BsonType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('BsonType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): BsonType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new BsonType();\n }\n}\n"],"file":"BsonType.js"}
1
+ {"version":3,"file":"BsonType.js","names":["BsonType","output","writeStructBegin","writeFieldStop","writeStructEnd","input","readStructBegin","ret","readFieldBegin","fieldType","ftype","fieldId","fid","thrift","Thrift","Type","STOP","skip","readFieldEnd","readStructEnd"],"sources":["../../../../src/parquetjs/parquet-thrift/BsonType.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\n * Autogenerated by @creditkarma/thrift-typescript v3.7.2\n * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n */\nimport * as thrift from 'thrift';\nexport interface IBsonTypeArgs {}\nexport class BsonType {\n constructor() {}\n public write(output: thrift.TProtocol): void {\n output.writeStructBegin('BsonType');\n output.writeFieldStop();\n output.writeStructEnd();\n return;\n }\n public static read(input: thrift.TProtocol): BsonType {\n input.readStructBegin();\n while (true) {\n const ret: thrift.TField = input.readFieldBegin();\n const fieldType: thrift.Thrift.Type = ret.ftype;\n const fieldId: number = ret.fid;\n if (fieldType === thrift.Thrift.Type.STOP) {\n break;\n }\n switch (fieldId) {\n default: {\n input.skip(fieldType);\n }\n }\n input.readFieldEnd();\n }\n input.readStructEnd();\n return new BsonType();\n }\n}\n"],"mappings":";;;;;;;;;;AAMA;AAAiC;AAAA;AAAA,IAEpBA,QAAQ;EACnB,oBAAc;IAAA;EAAC;EAAC;IAAA;IAAA,OAChB,eAAaC,MAAwB,EAAQ;MAC3CA,MAAM,CAACC,gBAAgB,CAAC,UAAU,CAAC;MACnCD,MAAM,CAACE,cAAc,EAAE;MACvBF,MAAM,CAACG,cAAc,EAAE;MACvB;IACF;EAAC;IAAA;IAAA,OACD,cAAmBC,KAAuB,EAAY;MACpDA,KAAK,CAACC,eAAe,EAAE;MACvB,OAAO,IAAI,EAAE;QACX,IAAMC,GAAkB,GAAGF,KAAK,CAACG,cAAc,EAAE;QACjD,IAAMC,SAA6B,GAAGF,GAAG,CAACG,KAAK;QAC/C,IAAMC,OAAe,GAAGJ,GAAG,CAACK,GAAG;QAC/B,IAAIH,SAAS,KAAKI,MAAM,CAACC,MAAM,CAACC,IAAI,CAACC,IAAI,EAAE;UACzC;QACF;QACA,QAAQL,OAAO;UACb;YAAS;cACPN,KAAK,CAACY,IAAI,CAACR,SAAS,CAAC;YACvB;QAAC;QAEHJ,KAAK,CAACa,YAAY,EAAE;MACtB;MACAb,KAAK,CAACc,aAAa,EAAE;MACrB,OAAO,IAAInB,QAAQ,EAAE;IACvB;EAAC;EAAA;AAAA;AAAA"}
@@ -1,30 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.ColumnChunk = void 0;
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
12
  var _nodeInt = _interopRequireDefault(require("node-int64"));
19
-
20
13
  var thrift = _interopRequireWildcard(require("thrift"));
21
-
22
14
  var ColumnMetaData = _interopRequireWildcard(require("./ColumnMetaData"));
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  var ColumnChunk = function () {
29
18
  function ColumnChunk(args) {
30
19
  (0, _classCallCheck2.default)(this, ColumnChunk);
@@ -35,11 +24,9 @@ var ColumnChunk = function () {
35
24
  (0, _defineProperty2.default)(this, "offset_index_length", void 0);
36
25
  (0, _defineProperty2.default)(this, "column_index_offset", void 0);
37
26
  (0, _defineProperty2.default)(this, "column_index_length", void 0);
38
-
39
27
  if (args != null && args.file_path != null) {
40
28
  this.file_path = args.file_path;
41
29
  }
42
-
43
30
  if (args != null && args.file_offset != null) {
44
31
  if (typeof args.file_offset === 'number') {
45
32
  this.file_offset = new _nodeInt.default(args.file_offset);
@@ -49,11 +36,9 @@ var ColumnChunk = function () {
49
36
  } else {
50
37
  throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.UNKNOWN, 'Required field[file_offset] is unset!');
51
38
  }
52
-
53
39
  if (args != null && args.meta_data != null) {
54
40
  this.meta_data = args.meta_data;
55
41
  }
56
-
57
42
  if (args != null && args.offset_index_offset != null) {
58
43
  if (typeof args.offset_index_offset === 'number') {
59
44
  this.offset_index_offset = new _nodeInt.default(args.offset_index_offset);
@@ -61,11 +46,9 @@ var ColumnChunk = function () {
61
46
  this.offset_index_offset = args.offset_index_offset;
62
47
  }
63
48
  }
64
-
65
49
  if (args != null && args.offset_index_length != null) {
66
50
  this.offset_index_length = args.offset_index_length;
67
51
  }
68
-
69
52
  if (args != null && args.column_index_offset != null) {
70
53
  if (typeof args.column_index_offset === 'number') {
71
54
  this.column_index_offset = new _nodeInt.default(args.column_index_offset);
@@ -73,59 +56,49 @@ var ColumnChunk = function () {
73
56
  this.column_index_offset = args.column_index_offset;
74
57
  }
75
58
  }
76
-
77
59
  if (args != null && args.column_index_length != null) {
78
60
  this.column_index_length = args.column_index_length;
79
61
  }
80
62
  }
81
-
82
63
  (0, _createClass2.default)(ColumnChunk, [{
83
64
  key: "write",
84
65
  value: function write(output) {
85
66
  output.writeStructBegin('ColumnChunk');
86
-
87
67
  if (this.file_path != null) {
88
68
  output.writeFieldBegin('file_path', thrift.Thrift.Type.STRING, 1);
89
69
  output.writeString(this.file_path);
90
70
  output.writeFieldEnd();
91
71
  }
92
-
93
72
  if (this.file_offset != null) {
94
73
  output.writeFieldBegin('file_offset', thrift.Thrift.Type.I64, 2);
95
74
  output.writeI64(this.file_offset);
96
75
  output.writeFieldEnd();
97
76
  }
98
-
99
77
  if (this.meta_data != null) {
100
78
  output.writeFieldBegin('meta_data', thrift.Thrift.Type.STRUCT, 3);
101
79
  this.meta_data.write(output);
102
80
  output.writeFieldEnd();
103
81
  }
104
-
105
82
  if (this.offset_index_offset != null) {
106
83
  output.writeFieldBegin('offset_index_offset', thrift.Thrift.Type.I64, 4);
107
84
  output.writeI64(this.offset_index_offset);
108
85
  output.writeFieldEnd();
109
86
  }
110
-
111
87
  if (this.offset_index_length != null) {
112
88
  output.writeFieldBegin('offset_index_length', thrift.Thrift.Type.I32, 5);
113
89
  output.writeI32(this.offset_index_length);
114
90
  output.writeFieldEnd();
115
91
  }
116
-
117
92
  if (this.column_index_offset != null) {
118
93
  output.writeFieldBegin('column_index_offset', thrift.Thrift.Type.I64, 6);
119
94
  output.writeI64(this.column_index_offset);
120
95
  output.writeFieldEnd();
121
96
  }
122
-
123
97
  if (this.column_index_length != null) {
124
98
  output.writeFieldBegin('column_index_length', thrift.Thrift.Type.I32, 7);
125
99
  output.writeI32(this.column_index_length);
126
100
  output.writeFieldEnd();
127
101
  }
128
-
129
102
  output.writeFieldStop();
130
103
  output.writeStructEnd();
131
104
  return;
@@ -135,16 +108,13 @@ var ColumnChunk = function () {
135
108
  value: function read(input) {
136
109
  input.readStructBegin();
137
110
  var _args = {};
138
-
139
111
  while (true) {
140
112
  var ret = input.readFieldBegin();
141
113
  var fieldType = ret.ftype;
142
114
  var fieldId = ret.fid;
143
-
144
115
  if (fieldType === thrift.Thrift.Type.STOP) {
145
116
  break;
146
117
  }
147
-
148
118
  switch (fieldId) {
149
119
  case 1:
150
120
  if (fieldType === thrift.Thrift.Type.STRING) {
@@ -153,9 +123,7 @@ var ColumnChunk = function () {
153
123
  } else {
154
124
  input.skip(fieldType);
155
125
  }
156
-
157
126
  break;
158
-
159
127
  case 2:
160
128
  if (fieldType === thrift.Thrift.Type.I64) {
161
129
  var value_2 = input.readI64();
@@ -163,9 +131,7 @@ var ColumnChunk = function () {
163
131
  } else {
164
132
  input.skip(fieldType);
165
133
  }
166
-
167
134
  break;
168
-
169
135
  case 3:
170
136
  if (fieldType === thrift.Thrift.Type.STRUCT) {
171
137
  var value_3 = ColumnMetaData.ColumnMetaData.read(input);
@@ -173,9 +139,7 @@ var ColumnChunk = function () {
173
139
  } else {
174
140
  input.skip(fieldType);
175
141
  }
176
-
177
142
  break;
178
-
179
143
  case 4:
180
144
  if (fieldType === thrift.Thrift.Type.I64) {
181
145
  var value_4 = input.readI64();
@@ -183,9 +147,7 @@ var ColumnChunk = function () {
183
147
  } else {
184
148
  input.skip(fieldType);
185
149
  }
186
-
187
150
  break;
188
-
189
151
  case 5:
190
152
  if (fieldType === thrift.Thrift.Type.I32) {
191
153
  var value_5 = input.readI32();
@@ -193,9 +155,7 @@ var ColumnChunk = function () {
193
155
  } else {
194
156
  input.skip(fieldType);
195
157
  }
196
-
197
158
  break;
198
-
199
159
  case 6:
200
160
  if (fieldType === thrift.Thrift.Type.I64) {
201
161
  var value_6 = input.readI64();
@@ -203,9 +163,7 @@ var ColumnChunk = function () {
203
163
  } else {
204
164
  input.skip(fieldType);
205
165
  }
206
-
207
166
  break;
208
-
209
167
  case 7:
210
168
  if (fieldType === thrift.Thrift.Type.I32) {
211
169
  var value_7 = input.readI32();
@@ -213,20 +171,15 @@ var ColumnChunk = function () {
213
171
  } else {
214
172
  input.skip(fieldType);
215
173
  }
216
-
217
174
  break;
218
-
219
175
  default:
220
176
  {
221
177
  input.skip(fieldType);
222
178
  }
223
179
  }
224
-
225
180
  input.readFieldEnd();
226
181
  }
227
-
228
182
  input.readStructEnd();
229
-
230
183
  if (_args.file_offset !== undefined) {
231
184
  return new ColumnChunk(_args);
232
185
  } else {
@@ -236,6 +189,5 @@ var ColumnChunk = function () {
236
189
  }]);
237
190
  return ColumnChunk;
238
191
  }();
239
-
240
192
  exports.ColumnChunk = ColumnChunk;
241
193
  //# sourceMappingURL=ColumnChunk.js.map