@loaders.gl/parquet 4.0.0-alpha.24 → 4.0.0-alpha.26

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 (372) hide show
  1. package/dist/dist.min.js +25 -27
  2. package/dist/dist.min.js.map +3 -3
  3. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +23 -0
  4. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
  5. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +22 -0
  6. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
  7. package/dist/es5/buffer-polyfill/buffer.js +1665 -0
  8. package/dist/es5/buffer-polyfill/buffer.js.map +1 -0
  9. package/dist/es5/buffer-polyfill/index.js +25 -0
  10. package/dist/es5/buffer-polyfill/index.js.map +1 -0
  11. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +20 -0
  12. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
  13. package/dist/es5/index.js +18 -25
  14. package/dist/es5/index.js.map +1 -1
  15. package/dist/es5/lib/geo/decode-geo-column.js +52 -0
  16. package/dist/es5/lib/geo/decode-geo-column.js.map +1 -0
  17. package/dist/es5/lib/geo/decode-geo-metadata.js +52 -16
  18. package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -1
  19. package/dist/es5/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +4 -4
  20. package/dist/es5/lib/geo/geoparquet-metadata-schema.js.map +1 -0
  21. package/dist/es5/lib/geo/geoparquet-metadata-schema.json +60 -0
  22. package/dist/es5/lib/parsers/get-parquet-schema.js +41 -0
  23. package/dist/es5/lib/parsers/get-parquet-schema.js.map +1 -0
  24. package/dist/es5/lib/parsers/parse-parquet-to-columns.js +71 -72
  25. package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -1
  26. package/dist/es5/lib/parsers/parse-parquet-to-rows.js +95 -62
  27. package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -1
  28. package/dist/es5/parquet-loader.js +14 -14
  29. package/dist/es5/parquet-loader.js.map +1 -1
  30. package/dist/es5/parquet-wasm-loader.js +1 -1
  31. package/dist/es5/parquet-wasm-writer.js +1 -1
  32. package/dist/es5/parquet-writer.js +1 -1
  33. package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
  34. package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
  35. package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -1
  36. package/dist/es5/parquetjs/parquet-thrift/index.js +75 -0
  37. package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -1
  38. package/dist/es5/parquetjs/parser/decoders.js +43 -34
  39. package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
  40. package/dist/es5/parquetjs/parser/parquet-reader.js +13 -12
  41. package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
  42. package/dist/es5/parquetjs/schema/declare.js.map +1 -1
  43. package/dist/es5/parquetjs/utils/read-utils.js +6 -7
  44. package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
  45. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js +6 -0
  46. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
  47. package/dist/esm/buffer-polyfill/buffer-polyfill.node.js +10 -0
  48. package/dist/esm/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
  49. package/dist/esm/buffer-polyfill/buffer.js +1489 -0
  50. package/dist/esm/buffer-polyfill/buffer.js.map +1 -0
  51. package/dist/esm/buffer-polyfill/index.js +4 -0
  52. package/dist/esm/buffer-polyfill/index.js.map +1 -0
  53. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js +5 -0
  54. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
  55. package/dist/esm/index.js +3 -9
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/lib/geo/decode-geo-column.js +46 -0
  58. package/dist/esm/lib/geo/decode-geo-column.js.map +1 -0
  59. package/dist/esm/lib/geo/decode-geo-metadata.js +32 -5
  60. package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -1
  61. package/dist/esm/lib/geo/{geoparquet-schema.js → geoparquet-metadata-schema.js} +2 -2
  62. package/dist/esm/lib/geo/geoparquet-metadata-schema.js.map +1 -0
  63. package/dist/esm/lib/geo/geoparquet-metadata-schema.json +60 -0
  64. package/dist/esm/lib/parsers/get-parquet-schema.js +11 -0
  65. package/dist/esm/lib/parsers/get-parquet-schema.js.map +1 -0
  66. package/dist/esm/lib/parsers/parse-parquet-to-columns.js +10 -11
  67. package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -1
  68. package/dist/esm/lib/parsers/parse-parquet-to-rows.js +32 -7
  69. package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -1
  70. package/dist/esm/parquet-loader.js +12 -12
  71. package/dist/esm/parquet-loader.js.map +1 -1
  72. package/dist/esm/parquet-wasm-loader.js +1 -1
  73. package/dist/esm/parquet-wasm-writer.js +1 -1
  74. package/dist/esm/parquet-writer.js +1 -1
  75. package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
  76. package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
  77. package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -1
  78. package/dist/esm/parquetjs/parquet-thrift/index.js +2 -0
  79. package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -1
  80. package/dist/esm/parquetjs/parser/decoders.js +36 -32
  81. package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
  82. package/dist/esm/parquetjs/parser/parquet-reader.js +12 -11
  83. package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
  84. package/dist/esm/parquetjs/schema/declare.js.map +1 -1
  85. package/dist/esm/parquetjs/utils/read-utils.js +1 -1
  86. package/dist/esm/parquetjs/utils/read-utils.js.map +1 -1
  87. package/dist/parquet-worker.js +25 -27
  88. package/dist/parquet-worker.js.map +3 -3
  89. package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts +4 -0
  90. package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts.map +1 -0
  91. package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts +34 -0
  92. package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts.map +1 -0
  93. package/dist/src/buffer-polyfill/buffer.d.ts +222 -0
  94. package/dist/src/buffer-polyfill/buffer.d.ts.map +1 -0
  95. package/dist/src/buffer-polyfill/index.d.ts +4 -0
  96. package/dist/src/buffer-polyfill/index.d.ts.map +1 -0
  97. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts +3 -0
  98. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts.map +1 -0
  99. package/dist/src/bundle.d.ts.map +1 -0
  100. package/dist/src/constants.d.ts.map +1 -0
  101. package/dist/{index.d.ts → src/index.d.ts} +5 -9
  102. package/dist/src/index.d.ts.map +1 -0
  103. package/dist/src/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
  104. package/dist/src/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
  105. package/dist/src/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
  106. package/dist/src/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
  107. package/dist/src/lib/geo/decode-geo-column.d.ts +4 -0
  108. package/dist/src/lib/geo/decode-geo-column.d.ts.map +1 -0
  109. package/dist/src/lib/geo/decode-geo-metadata.d.ts +44 -0
  110. package/dist/src/lib/geo/decode-geo-metadata.d.ts.map +1 -0
  111. package/dist/{lib/geo/geoparquet-schema.d.ts → src/lib/geo/geoparquet-metadata-schema.d.ts} +2 -3
  112. package/dist/src/lib/geo/geoparquet-metadata-schema.d.ts.map +1 -0
  113. package/dist/src/lib/parsers/get-parquet-schema.d.ts +4 -0
  114. package/dist/src/lib/parsers/get-parquet-schema.d.ts.map +1 -0
  115. package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts +6 -0
  116. package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
  117. package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts +6 -0
  118. package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
  119. package/dist/src/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
  120. package/dist/src/lib/wasm/load-wasm/index.d.ts.map +1 -0
  121. package/dist/src/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
  122. package/dist/src/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
  123. package/dist/src/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
  124. package/dist/src/parquet-loader.d.ts +22 -0
  125. package/dist/src/parquet-loader.d.ts.map +1 -0
  126. package/dist/src/parquet-wasm-loader.d.ts.map +1 -0
  127. package/dist/src/parquet-wasm-writer.d.ts.map +1 -0
  128. package/dist/src/parquet-writer.d.ts.map +1 -0
  129. package/dist/src/parquetjs/codecs/declare.d.ts.map +1 -0
  130. package/dist/src/parquetjs/codecs/dictionary.d.ts.map +1 -0
  131. package/dist/src/parquetjs/codecs/index.d.ts.map +1 -0
  132. package/dist/src/parquetjs/codecs/plain.d.ts.map +1 -0
  133. package/dist/src/parquetjs/codecs/rle.d.ts.map +1 -0
  134. package/dist/src/parquetjs/compression.d.ts.map +1 -0
  135. package/dist/src/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
  136. package/dist/src/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
  137. package/dist/src/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
  138. package/dist/src/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
  139. package/dist/src/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
  140. package/dist/src/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
  141. package/dist/src/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
  142. package/dist/src/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
  143. package/dist/src/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
  144. package/dist/src/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
  145. package/dist/src/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
  146. package/dist/src/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
  147. package/dist/src/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
  148. package/dist/src/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
  149. package/dist/src/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
  150. package/dist/src/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
  151. package/dist/src/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
  152. package/dist/src/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
  153. package/dist/src/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
  154. package/dist/src/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
  155. package/dist/src/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
  156. package/dist/src/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
  157. package/dist/src/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
  158. package/dist/src/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
  159. package/dist/src/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
  160. package/dist/src/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
  161. package/dist/src/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
  162. package/dist/src/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
  163. package/dist/src/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
  164. package/dist/src/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
  165. package/dist/src/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
  166. package/dist/src/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
  167. package/dist/src/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
  168. package/dist/src/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
  169. package/dist/src/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
  170. package/dist/src/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
  171. package/dist/src/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
  172. package/dist/src/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
  173. package/dist/src/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
  174. package/dist/src/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
  175. package/dist/src/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
  176. package/dist/src/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
  177. package/dist/src/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
  178. package/dist/src/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
  179. package/dist/{parquetjs → src/parquetjs}/parquet-thrift/index.d.ts +2 -0
  180. package/dist/src/parquetjs/parquet-thrift/index.d.ts.map +1 -0
  181. package/dist/{parquetjs → src/parquetjs}/parser/decoders.d.ts +4 -4
  182. package/dist/src/parquetjs/parser/decoders.d.ts.map +1 -0
  183. package/dist/{parquetjs → src/parquetjs}/parser/parquet-reader.d.ts +5 -3
  184. package/dist/src/parquetjs/parser/parquet-reader.d.ts.map +1 -0
  185. package/dist/{parquetjs → src/parquetjs}/schema/declare.d.ts +3 -1
  186. package/dist/src/parquetjs/schema/declare.d.ts.map +1 -0
  187. package/dist/src/parquetjs/schema/schema.d.ts.map +1 -0
  188. package/dist/src/parquetjs/schema/shred.d.ts.map +1 -0
  189. package/dist/src/parquetjs/schema/types.d.ts.map +1 -0
  190. package/dist/src/parquetjs/utils/file-utils.d.ts.map +1 -0
  191. package/dist/src/parquetjs/utils/read-utils.d.ts.map +1 -0
  192. package/dist/src/workers/parquet-worker.d.ts.map +1 -0
  193. package/dist/tsconfig.tsbuildinfo +1 -0
  194. package/package.json +16 -6
  195. package/src/buffer-polyfill/buffer-polyfill.browser.ts +11 -0
  196. package/src/buffer-polyfill/buffer-polyfill.node.ts +16 -0
  197. package/src/buffer-polyfill/buffer.ts +2207 -0
  198. package/src/buffer-polyfill/index.ts +9 -0
  199. package/src/buffer-polyfill/install-buffer-polyfill.ts +6 -0
  200. package/src/index.ts +29 -14
  201. package/src/lib/geo/decode-geo-column.ts +51 -0
  202. package/src/lib/geo/decode-geo-metadata.ts +81 -15
  203. package/src/lib/geo/geoparquet-metadata-schema.json +60 -0
  204. package/src/lib/geo/{geoparquet-schema.ts → geoparquet-metadata-schema.ts} +1 -1
  205. package/src/lib/parsers/get-parquet-schema.ts +14 -0
  206. package/src/lib/parsers/parse-parquet-to-columns.ts +15 -13
  207. package/src/lib/parsers/parse-parquet-to-rows.ts +38 -11
  208. package/src/parquet-loader.ts +29 -16
  209. package/src/parquetjs/codecs/plain.ts +1 -0
  210. package/src/parquetjs/codecs/rle.ts +2 -0
  211. package/src/parquetjs/encoder/parquet-encoder.ts +1 -0
  212. package/src/parquetjs/parquet-thrift/index.ts +4 -0
  213. package/src/parquetjs/parser/decoders.ts +51 -41
  214. package/src/parquetjs/parser/parquet-reader.ts +16 -13
  215. package/src/parquetjs/schema/declare.ts +3 -1
  216. package/src/parquetjs/utils/read-utils.ts +2 -2
  217. package/dist/bundle.d.ts.map +0 -1
  218. package/dist/constants.d.ts.map +0 -1
  219. package/dist/es5/lib/geo/geoparquet-schema.js.map +0 -1
  220. package/dist/esm/lib/geo/geoparquet-schema.js.map +0 -1
  221. package/dist/index.d.ts.map +0 -1
  222. package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
  223. package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
  224. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
  225. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
  226. package/dist/lib/geo/decode-geo-metadata.d.ts +0 -31
  227. package/dist/lib/geo/decode-geo-metadata.d.ts.map +0 -1
  228. package/dist/lib/geo/geoparquet-schema.d.ts.map +0 -1
  229. package/dist/lib/parsers/parse-parquet-to-columns.d.ts +0 -5
  230. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +0 -1
  231. package/dist/lib/parsers/parse-parquet-to-rows.d.ts +0 -5
  232. package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
  233. package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
  234. package/dist/lib/wasm/load-wasm/index.d.ts.map +0 -1
  235. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
  236. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
  237. package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
  238. package/dist/parquet-loader.d.ts +0 -14
  239. package/dist/parquet-loader.d.ts.map +0 -1
  240. package/dist/parquet-wasm-loader.d.ts.map +0 -1
  241. package/dist/parquet-wasm-writer.d.ts.map +0 -1
  242. package/dist/parquet-writer.d.ts.map +0 -1
  243. package/dist/parquetjs/codecs/declare.d.ts.map +0 -1
  244. package/dist/parquetjs/codecs/dictionary.d.ts.map +0 -1
  245. package/dist/parquetjs/codecs/index.d.ts.map +0 -1
  246. package/dist/parquetjs/codecs/plain.d.ts.map +0 -1
  247. package/dist/parquetjs/codecs/rle.d.ts.map +0 -1
  248. package/dist/parquetjs/compression.d.ts.map +0 -1
  249. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
  250. package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
  251. package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
  252. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
  253. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
  254. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
  255. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
  256. package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
  257. package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
  258. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
  259. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
  260. package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
  261. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
  262. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
  263. package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
  264. package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
  265. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
  266. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
  267. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
  268. package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
  269. package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
  270. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
  271. package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
  272. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
  273. package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
  274. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
  275. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
  276. package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
  277. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
  278. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
  279. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
  280. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
  281. package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
  282. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
  283. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
  284. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
  285. package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
  286. package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
  287. package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
  288. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
  289. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
  290. package/dist/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
  291. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
  292. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
  293. package/dist/parquetjs/parquet-thrift/index.d.ts.map +0 -1
  294. package/dist/parquetjs/parser/decoders.d.ts.map +0 -1
  295. package/dist/parquetjs/parser/parquet-reader.d.ts.map +0 -1
  296. package/dist/parquetjs/schema/declare.d.ts.map +0 -1
  297. package/dist/parquetjs/schema/schema.d.ts.map +0 -1
  298. package/dist/parquetjs/schema/shred.d.ts.map +0 -1
  299. package/dist/parquetjs/schema/types.d.ts.map +0 -1
  300. package/dist/parquetjs/utils/file-utils.d.ts.map +0 -1
  301. package/dist/parquetjs/utils/read-utils.d.ts.map +0 -1
  302. package/dist/workers/parquet-worker.d.ts.map +0 -1
  303. /package/dist/{bundle.d.ts → src/bundle.d.ts} +0 -0
  304. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  305. /package/dist/{lib → src/lib}/arrow/convert-columns-to-row-group.d.ts +0 -0
  306. /package/dist/{lib → src/lib}/arrow/convert-row-group-to-columns.d.ts +0 -0
  307. /package/dist/{lib → src/lib}/arrow/convert-schema-from-parquet.d.ts +0 -0
  308. /package/dist/{lib → src/lib}/arrow/convert-schema-to-parquet.d.ts +0 -0
  309. /package/dist/{lib → src/lib}/wasm/encode-parquet-wasm.d.ts +0 -0
  310. /package/dist/{lib → src/lib}/wasm/load-wasm/index.d.ts +0 -0
  311. /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-browser.d.ts +0 -0
  312. /package/dist/{lib → src/lib}/wasm/load-wasm/load-wasm-node.d.ts +0 -0
  313. /package/dist/{lib → src/lib}/wasm/parse-parquet-wasm.d.ts +0 -0
  314. /package/dist/{parquet-wasm-loader.d.ts → src/parquet-wasm-loader.d.ts} +0 -0
  315. /package/dist/{parquet-wasm-writer.d.ts → src/parquet-wasm-writer.d.ts} +0 -0
  316. /package/dist/{parquet-writer.d.ts → src/parquet-writer.d.ts} +0 -0
  317. /package/dist/{parquetjs → src/parquetjs}/codecs/declare.d.ts +0 -0
  318. /package/dist/{parquetjs → src/parquetjs}/codecs/dictionary.d.ts +0 -0
  319. /package/dist/{parquetjs → src/parquetjs}/codecs/index.d.ts +0 -0
  320. /package/dist/{parquetjs → src/parquetjs}/codecs/plain.d.ts +0 -0
  321. /package/dist/{parquetjs → src/parquetjs}/codecs/rle.d.ts +0 -0
  322. /package/dist/{parquetjs → src/parquetjs}/compression.d.ts +0 -0
  323. /package/dist/{parquetjs → src/parquetjs}/encoder/parquet-encoder.d.ts +0 -0
  324. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BoundaryOrder.d.ts +0 -0
  325. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/BsonType.d.ts +0 -0
  326. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnChunk.d.ts +0 -0
  327. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnIndex.d.ts +0 -0
  328. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnMetaData.d.ts +0 -0
  329. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ColumnOrder.d.ts +0 -0
  330. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/CompressionCodec.d.ts +0 -0
  331. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ConvertedType.d.ts +0 -0
  332. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeader.d.ts +0 -0
  333. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DataPageHeaderV2.d.ts +0 -0
  334. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DateType.d.ts +0 -0
  335. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DecimalType.d.ts +0 -0
  336. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/DictionaryPageHeader.d.ts +0 -0
  337. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Encoding.d.ts +0 -0
  338. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/EnumType.d.ts +0 -0
  339. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FieldRepetitionType.d.ts +0 -0
  340. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/FileMetaData.d.ts +0 -0
  341. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IndexPageHeader.d.ts +0 -0
  342. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/IntType.d.ts +0 -0
  343. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/JsonType.d.ts +0 -0
  344. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/KeyValue.d.ts +0 -0
  345. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/ListType.d.ts +0 -0
  346. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/LogicalType.d.ts +0 -0
  347. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MapType.d.ts +0 -0
  348. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MicroSeconds.d.ts +0 -0
  349. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/MilliSeconds.d.ts +0 -0
  350. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/NullType.d.ts +0 -0
  351. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/OffsetIndex.d.ts +0 -0
  352. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageEncodingStats.d.ts +0 -0
  353. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageHeader.d.ts +0 -0
  354. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageLocation.d.ts +0 -0
  355. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/PageType.d.ts +0 -0
  356. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/RowGroup.d.ts +0 -0
  357. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SchemaElement.d.ts +0 -0
  358. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/SortingColumn.d.ts +0 -0
  359. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Statistics.d.ts +0 -0
  360. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/StringType.d.ts +0 -0
  361. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeType.d.ts +0 -0
  362. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimeUnit.d.ts +0 -0
  363. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TimestampType.d.ts +0 -0
  364. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/Type.d.ts +0 -0
  365. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/TypeDefinedOrder.d.ts +0 -0
  366. /package/dist/{parquetjs → src/parquetjs}/parquet-thrift/UUIDType.d.ts +0 -0
  367. /package/dist/{parquetjs → src/parquetjs}/schema/schema.d.ts +0 -0
  368. /package/dist/{parquetjs → src/parquetjs}/schema/shred.d.ts +0 -0
  369. /package/dist/{parquetjs → src/parquetjs}/schema/types.d.ts +0 -0
  370. /package/dist/{parquetjs → src/parquetjs}/utils/file-utils.d.ts +0 -0
  371. /package/dist/{parquetjs → src/parquetjs}/utils/read-utils.d.ts +0 -0
  372. /package/dist/{workers → src/workers}/parquet-worker.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"parquet-encoder.js","names":["_codecs","require","Compression","_interopRequireWildcard","Shred","_parquetThrift","_fileUtils","_readUtils","_nodeInt","_interopRequireDefault","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","PARQUET_MAGIC","PARQUET_VERSION","PARQUET_DEFAULT_PAGE_SIZE","PARQUET_DEFAULT_ROW_GROUP_SIZE","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING","ParquetEncoder","schema","envelopeWriter","opts","_classCallCheck2","_defineProperty2","rowBuffer","rowGroupSize","closed","userMetadata","writeHeader","_createClass2","_writeHeader","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","t0","close","stop","apply","arguments","_appendRow","_callee2","row","_callee2$","_context2","Error","shredRecord","rowCount","appendRow","_x","_close","_callee3","callback","_callee3$","_context3","writeFooter","_x2","setMetadata","String","setRowGroupSize","cnt","setPageSize","_openFile","_callee4","path","outputStream","_callee4$","_context4","osopen","sent","abrupt","openStream","openFile","_x3","_x4","_x5","_openStream","_callee5","_args5","_callee5$","_context5","undefined","ParquetEnvelopeWriter","_x6","_x7","exports","writeFn","closeFn","fileOffset","write","offset","rowGroups","pageSize","useDataPageV2","Boolean","writeSection","buf","Buffer","_writeRowGroup","_callee6","records","rgroup","_callee6$","_context6","encodeRowGroup","baseOffset","push","metadata","body","writeRowGroup","_x8","encodeFooter","_openStream2","_callee7","_callee7$","_context7","oswrite","bind","osclose","_x9","_x10","_x11","encodeValues","type","encoding","values","PARQUET_CODECS","concat","encodeDataPage","_x12","_x13","_encodeDataPage","_callee8","column","data","rLevelsBuf","dLevelsBuf","valuesBuf","dataBuf","compressedBuf","header","headerBuf","page","_callee8$","_context8","alloc","rLevelMax","rlevels","bitWidth","getBitWidth","dLevelMax","dlevels","primitiveType","typeLength","deflate","compression","PageHeader","PageType","DATA_PAGE","data_page_header","DataPageHeader","num_values","count","Encoding","definition_level_encoding","repetition_level_encoding","uncompressed_page_size","compressed_page_size","serializeThrift","headerSize","encodeDataPageV2","_x14","_x15","_x16","_encodeDataPageV","_callee9","_callee9$","_context9","disableEnvelope","DATA_PAGE_V2","data_page_header_v2","DataPageHeaderV2","num_nulls","num_rows","definition_levels_byte_length","repetition_levels_byte_length","is_compressed","encodeColumnChunk","_x17","_x18","_x19","_x20","_encodeColumnChunk","_callee10","buffer","pageBuf","total_uncompressed_size","total_compressed_size","result","metadataOffset","_callee10$","_context10","columnData","join","ColumnMetaData","path_in_schema","data_page_offset","encodings","Type","codec","CompressionCodec","_x21","_x22","_x23","_encodeRowGroup","_callee11","_iterator2","_step2","field","cchunkData","cchunk","_callee11$","_context11","RowGroup","columns","total_byte_size","fieldList","isNested","ColumnChunk","file_offset","meta_data","Int64","Number","finish","FileMetaData","version","created_by","row_groups","key_value_metadata","_metadata$key_value_m","_metadata$key_value_m2","_metadata$key_value_m3","kv","KeyValue","schemaRoot","SchemaElement","num_children","keys","fields","_iterator","_step","relt","FieldRepetitionType","repetitionType","schemaElem","repetition_type","fieldCount","originalType","converted_type","ConvertedType","type_length","metadataEncoded","footerEncoded","copy","writeUInt32LE"],"sources":["../../../../src/parquetjs/encoder/parquet-encoder.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport {stream} from '@loaders.gl/loader-utils';\nimport {ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport * as Compression from '../compression';\nimport {\n ParquetRowGroup,\n ParquetCodec,\n ParquetColumnChunk,\n ParquetField,\n PrimitiveType,\n ParquetRow\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 ParquetEncoderOptions {\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 ParquetEncoder 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 ParquetEncoder<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?: ParquetEncoderOptions\n ): Promise<ParquetEncoder<T>> {\n const outputStream = await osopen(path, opts);\n return ParquetEncoder.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: stream.Writable,\n opts: ParquetEncoderOptions = {}\n ): Promise<ParquetEncoder<T>> {\n const envelopeWriter = await ParquetEnvelopeWriter.openStream(schema, outputStream, opts);\n return new ParquetEncoder(schema, envelopeWriter, opts);\n }\n\n public schema: ParquetSchema;\n public envelopeWriter: ParquetEnvelopeWriter;\n public rowBuffer: ParquetRowGroup;\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: ParquetEncoderOptions\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 extends ParquetRow>(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: stream.Writable,\n opts: ParquetEncoderOptions\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: ParquetEncoderOptions\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: ParquetRowGroup): 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\nexport class ParquetTransformer<T> extends stream.Transform {\n public writer: ParquetEncoder<T>;\n\n constructor(schema: ParquetSchema, opts: ParquetEncoderOptions = {}) {\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 ParquetEncoder(\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/**\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: ParquetColumnChunk\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: ParquetColumnChunk,\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: ParquetRowGroup,\n offset: number,\n opts: ParquetEncoderOptions\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: ParquetRowGroup,\n opts: ParquetEncoderOptions\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
+ {"version":3,"file":"parquet-encoder.js","names":["_codecs","require","Compression","_interopRequireWildcard","Shred","_parquetThrift","_fileUtils","_readUtils","_nodeInt","_interopRequireDefault","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","PARQUET_MAGIC","PARQUET_VERSION","PARQUET_DEFAULT_PAGE_SIZE","PARQUET_DEFAULT_ROW_GROUP_SIZE","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING","ParquetEncoder","schema","envelopeWriter","opts","_classCallCheck2","_defineProperty2","rowBuffer","rowGroupSize","closed","userMetadata","writeHeader","_createClass2","_writeHeader","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","t0","close","stop","apply","arguments","_appendRow","_callee2","row","_callee2$","_context2","Error","shredRecord","rowCount","appendRow","_x","_close","_callee3","callback","_callee3$","_context3","writeFooter","_x2","setMetadata","String","setRowGroupSize","cnt","setPageSize","_openFile","_callee4","path","outputStream","_callee4$","_context4","osopen","sent","abrupt","openStream","openFile","_x3","_x4","_x5","_openStream","_callee5","_args5","_callee5$","_context5","undefined","ParquetEnvelopeWriter","_x6","_x7","exports","writeFn","closeFn","fileOffset","write","offset","rowGroups","pageSize","useDataPageV2","Boolean","writeSection","buf","Buffer","_writeRowGroup","_callee6","records","rgroup","_callee6$","_context6","encodeRowGroup","baseOffset","push","metadata","body","writeRowGroup","_x8","encodeFooter","_openStream2","_callee7","_callee7$","_context7","oswrite","bind","osclose","_x9","_x10","_x11","encodeValues","type","encoding","values","PARQUET_CODECS","concat","encodeDataPage","_x12","_x13","_encodeDataPage","_callee8","column","data","rLevelsBuf","dLevelsBuf","valuesBuf","dataBuf","compressedBuf","header","headerBuf","page","_callee8$","_context8","alloc","rLevelMax","rlevels","bitWidth","getBitWidth","dLevelMax","dlevels","primitiveType","typeLength","deflate","compression","PageHeader","PageType","DATA_PAGE","data_page_header","DataPageHeader","num_values","count","Encoding","definition_level_encoding","repetition_level_encoding","uncompressed_page_size","compressed_page_size","serializeThrift","headerSize","encodeDataPageV2","_x14","_x15","_x16","_encodeDataPageV","_callee9","_callee9$","_context9","disableEnvelope","DATA_PAGE_V2","data_page_header_v2","DataPageHeaderV2","num_nulls","num_rows","definition_levels_byte_length","repetition_levels_byte_length","is_compressed","encodeColumnChunk","_x17","_x18","_x19","_x20","_encodeColumnChunk","_callee10","buffer","pageBuf","total_uncompressed_size","total_compressed_size","result","metadataOffset","_callee10$","_context10","columnData","join","ColumnMetaData","path_in_schema","data_page_offset","encodings","Type","codec","CompressionCodec","_x21","_x22","_x23","_encodeRowGroup","_callee11","_iterator2","_step2","field","cchunkData","cchunk","_callee11$","_context11","RowGroup","columns","total_byte_size","fieldList","isNested","ColumnChunk","file_offset","meta_data","Int64","Number","finish","FileMetaData","version","created_by","row_groups","key_value_metadata","_metadata$key_value_m","_metadata$key_value_m2","_metadata$key_value_m3","kv","KeyValue","schemaRoot","SchemaElement","num_children","keys","fields","_iterator","_step","relt","FieldRepetitionType","repetitionType","schemaElem","repetition_type","fieldCount","originalType","converted_type","ConvertedType","type_length","metadataEncoded","footerEncoded","copy","writeUInt32LE"],"sources":["../../../../src/parquetjs/encoder/parquet-encoder.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport {stream} from '@loaders.gl/loader-utils';\nimport {ParquetCodecOptions, PARQUET_CODECS} from '../codecs';\nimport * as Compression from '../compression';\nimport {\n ParquetRowGroup,\n ParquetCodec,\n ParquetColumnChunk,\n ParquetField,\n PrimitiveType,\n ParquetRow\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 ParquetEncoderOptions {\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 ParquetEncoder 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 ParquetEncoder<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?: ParquetEncoderOptions\n ): Promise<ParquetEncoder<T>> {\n const outputStream = await osopen(path, opts);\n return ParquetEncoder.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: stream.Writable,\n opts: ParquetEncoderOptions = {}\n ): Promise<ParquetEncoder<T>> {\n const envelopeWriter = await ParquetEnvelopeWriter.openStream(schema, outputStream, opts);\n return new ParquetEncoder(schema, envelopeWriter, opts);\n }\n\n public schema: ParquetSchema;\n public envelopeWriter: ParquetEnvelopeWriter;\n public rowBuffer: ParquetRowGroup;\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: ParquetEncoderOptions\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 extends ParquetRow>(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: stream.Writable,\n opts: ParquetEncoderOptions\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: ParquetEncoderOptions\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: ParquetRowGroup): 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\nexport class ParquetTransformer<T> extends stream.Transform {\n public writer: ParquetEncoder<T>;\n\n constructor(schema: ParquetSchema, opts: ParquetEncoderOptions = {}) {\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 ParquetEncoder(\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/**\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: ParquetColumnChunk\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: ParquetColumnChunk,\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: ParquetRowGroup,\n offset: number,\n opts: ParquetEncoderOptions\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: ParquetRowGroup,\n opts: ParquetEncoderOptions\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\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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"}
@@ -3,9 +3,42 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ Buffer: true,
8
+ TBufferedTransport: true,
9
+ TCompactProtocol: true,
10
+ TFramedTransport: true
11
+ };
12
+ Object.defineProperty(exports, "Buffer", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _installBufferPolyfill.Buffer;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "TBufferedTransport", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _thrift.TBufferedTransport;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "TCompactProtocol", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _thrift.TCompactProtocol;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "TFramedTransport", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _thrift.TFramedTransport;
34
+ }
35
+ });
36
+ var _installBufferPolyfill = require("../../buffer-polyfill/install-buffer-polyfill");
37
+ var _thrift = require("thrift");
6
38
  var _Type = require("./Type");
7
39
  Object.keys(_Type).forEach(function (key) {
8
40
  if (key === "default" || key === "__esModule") return;
41
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
42
  if (key in exports && exports[key] === _Type[key]) return;
10
43
  Object.defineProperty(exports, key, {
11
44
  enumerable: true,
@@ -17,6 +50,7 @@ Object.keys(_Type).forEach(function (key) {
17
50
  var _ConvertedType = require("./ConvertedType");
18
51
  Object.keys(_ConvertedType).forEach(function (key) {
19
52
  if (key === "default" || key === "__esModule") return;
53
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
54
  if (key in exports && exports[key] === _ConvertedType[key]) return;
21
55
  Object.defineProperty(exports, key, {
22
56
  enumerable: true,
@@ -28,6 +62,7 @@ Object.keys(_ConvertedType).forEach(function (key) {
28
62
  var _FieldRepetitionType = require("./FieldRepetitionType");
29
63
  Object.keys(_FieldRepetitionType).forEach(function (key) {
30
64
  if (key === "default" || key === "__esModule") return;
65
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
66
  if (key in exports && exports[key] === _FieldRepetitionType[key]) return;
32
67
  Object.defineProperty(exports, key, {
33
68
  enumerable: true,
@@ -39,6 +74,7 @@ Object.keys(_FieldRepetitionType).forEach(function (key) {
39
74
  var _Encoding = require("./Encoding");
40
75
  Object.keys(_Encoding).forEach(function (key) {
41
76
  if (key === "default" || key === "__esModule") return;
77
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
42
78
  if (key in exports && exports[key] === _Encoding[key]) return;
43
79
  Object.defineProperty(exports, key, {
44
80
  enumerable: true,
@@ -50,6 +86,7 @@ Object.keys(_Encoding).forEach(function (key) {
50
86
  var _CompressionCodec = require("./CompressionCodec");
51
87
  Object.keys(_CompressionCodec).forEach(function (key) {
52
88
  if (key === "default" || key === "__esModule") return;
89
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
53
90
  if (key in exports && exports[key] === _CompressionCodec[key]) return;
54
91
  Object.defineProperty(exports, key, {
55
92
  enumerable: true,
@@ -61,6 +98,7 @@ Object.keys(_CompressionCodec).forEach(function (key) {
61
98
  var _PageType = require("./PageType");
62
99
  Object.keys(_PageType).forEach(function (key) {
63
100
  if (key === "default" || key === "__esModule") return;
101
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
64
102
  if (key in exports && exports[key] === _PageType[key]) return;
65
103
  Object.defineProperty(exports, key, {
66
104
  enumerable: true,
@@ -72,6 +110,7 @@ Object.keys(_PageType).forEach(function (key) {
72
110
  var _BoundaryOrder = require("./BoundaryOrder");
73
111
  Object.keys(_BoundaryOrder).forEach(function (key) {
74
112
  if (key === "default" || key === "__esModule") return;
113
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
75
114
  if (key in exports && exports[key] === _BoundaryOrder[key]) return;
76
115
  Object.defineProperty(exports, key, {
77
116
  enumerable: true,
@@ -83,6 +122,7 @@ Object.keys(_BoundaryOrder).forEach(function (key) {
83
122
  var _Statistics = require("./Statistics");
84
123
  Object.keys(_Statistics).forEach(function (key) {
85
124
  if (key === "default" || key === "__esModule") return;
125
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
86
126
  if (key in exports && exports[key] === _Statistics[key]) return;
87
127
  Object.defineProperty(exports, key, {
88
128
  enumerable: true,
@@ -94,6 +134,7 @@ Object.keys(_Statistics).forEach(function (key) {
94
134
  var _StringType = require("./StringType");
95
135
  Object.keys(_StringType).forEach(function (key) {
96
136
  if (key === "default" || key === "__esModule") return;
137
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
97
138
  if (key in exports && exports[key] === _StringType[key]) return;
98
139
  Object.defineProperty(exports, key, {
99
140
  enumerable: true,
@@ -105,6 +146,7 @@ Object.keys(_StringType).forEach(function (key) {
105
146
  var _UUIDType = require("./UUIDType");
106
147
  Object.keys(_UUIDType).forEach(function (key) {
107
148
  if (key === "default" || key === "__esModule") return;
149
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
108
150
  if (key in exports && exports[key] === _UUIDType[key]) return;
109
151
  Object.defineProperty(exports, key, {
110
152
  enumerable: true,
@@ -116,6 +158,7 @@ Object.keys(_UUIDType).forEach(function (key) {
116
158
  var _MapType = require("./MapType");
117
159
  Object.keys(_MapType).forEach(function (key) {
118
160
  if (key === "default" || key === "__esModule") return;
161
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
119
162
  if (key in exports && exports[key] === _MapType[key]) return;
120
163
  Object.defineProperty(exports, key, {
121
164
  enumerable: true,
@@ -127,6 +170,7 @@ Object.keys(_MapType).forEach(function (key) {
127
170
  var _ListType = require("./ListType");
128
171
  Object.keys(_ListType).forEach(function (key) {
129
172
  if (key === "default" || key === "__esModule") return;
173
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
130
174
  if (key in exports && exports[key] === _ListType[key]) return;
131
175
  Object.defineProperty(exports, key, {
132
176
  enumerable: true,
@@ -138,6 +182,7 @@ Object.keys(_ListType).forEach(function (key) {
138
182
  var _EnumType = require("./EnumType");
139
183
  Object.keys(_EnumType).forEach(function (key) {
140
184
  if (key === "default" || key === "__esModule") return;
185
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
141
186
  if (key in exports && exports[key] === _EnumType[key]) return;
142
187
  Object.defineProperty(exports, key, {
143
188
  enumerable: true,
@@ -149,6 +194,7 @@ Object.keys(_EnumType).forEach(function (key) {
149
194
  var _DateType = require("./DateType");
150
195
  Object.keys(_DateType).forEach(function (key) {
151
196
  if (key === "default" || key === "__esModule") return;
197
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
152
198
  if (key in exports && exports[key] === _DateType[key]) return;
153
199
  Object.defineProperty(exports, key, {
154
200
  enumerable: true,
@@ -160,6 +206,7 @@ Object.keys(_DateType).forEach(function (key) {
160
206
  var _NullType = require("./NullType");
161
207
  Object.keys(_NullType).forEach(function (key) {
162
208
  if (key === "default" || key === "__esModule") return;
209
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
163
210
  if (key in exports && exports[key] === _NullType[key]) return;
164
211
  Object.defineProperty(exports, key, {
165
212
  enumerable: true,
@@ -171,6 +218,7 @@ Object.keys(_NullType).forEach(function (key) {
171
218
  var _DecimalType = require("./DecimalType");
172
219
  Object.keys(_DecimalType).forEach(function (key) {
173
220
  if (key === "default" || key === "__esModule") return;
221
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
174
222
  if (key in exports && exports[key] === _DecimalType[key]) return;
175
223
  Object.defineProperty(exports, key, {
176
224
  enumerable: true,
@@ -182,6 +230,7 @@ Object.keys(_DecimalType).forEach(function (key) {
182
230
  var _MilliSeconds = require("./MilliSeconds");
183
231
  Object.keys(_MilliSeconds).forEach(function (key) {
184
232
  if (key === "default" || key === "__esModule") return;
233
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
185
234
  if (key in exports && exports[key] === _MilliSeconds[key]) return;
186
235
  Object.defineProperty(exports, key, {
187
236
  enumerable: true,
@@ -193,6 +242,7 @@ Object.keys(_MilliSeconds).forEach(function (key) {
193
242
  var _MicroSeconds = require("./MicroSeconds");
194
243
  Object.keys(_MicroSeconds).forEach(function (key) {
195
244
  if (key === "default" || key === "__esModule") return;
245
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
196
246
  if (key in exports && exports[key] === _MicroSeconds[key]) return;
197
247
  Object.defineProperty(exports, key, {
198
248
  enumerable: true,
@@ -204,6 +254,7 @@ Object.keys(_MicroSeconds).forEach(function (key) {
204
254
  var _TimestampType = require("./TimestampType");
205
255
  Object.keys(_TimestampType).forEach(function (key) {
206
256
  if (key === "default" || key === "__esModule") return;
257
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
207
258
  if (key in exports && exports[key] === _TimestampType[key]) return;
208
259
  Object.defineProperty(exports, key, {
209
260
  enumerable: true,
@@ -215,6 +266,7 @@ Object.keys(_TimestampType).forEach(function (key) {
215
266
  var _TimeType = require("./TimeType");
216
267
  Object.keys(_TimeType).forEach(function (key) {
217
268
  if (key === "default" || key === "__esModule") return;
269
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
218
270
  if (key in exports && exports[key] === _TimeType[key]) return;
219
271
  Object.defineProperty(exports, key, {
220
272
  enumerable: true,
@@ -226,6 +278,7 @@ Object.keys(_TimeType).forEach(function (key) {
226
278
  var _IntType = require("./IntType");
227
279
  Object.keys(_IntType).forEach(function (key) {
228
280
  if (key === "default" || key === "__esModule") return;
281
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
229
282
  if (key in exports && exports[key] === _IntType[key]) return;
230
283
  Object.defineProperty(exports, key, {
231
284
  enumerable: true,
@@ -237,6 +290,7 @@ Object.keys(_IntType).forEach(function (key) {
237
290
  var _JsonType = require("./JsonType");
238
291
  Object.keys(_JsonType).forEach(function (key) {
239
292
  if (key === "default" || key === "__esModule") return;
293
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
240
294
  if (key in exports && exports[key] === _JsonType[key]) return;
241
295
  Object.defineProperty(exports, key, {
242
296
  enumerable: true,
@@ -248,6 +302,7 @@ Object.keys(_JsonType).forEach(function (key) {
248
302
  var _BsonType = require("./BsonType");
249
303
  Object.keys(_BsonType).forEach(function (key) {
250
304
  if (key === "default" || key === "__esModule") return;
305
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
251
306
  if (key in exports && exports[key] === _BsonType[key]) return;
252
307
  Object.defineProperty(exports, key, {
253
308
  enumerable: true,
@@ -259,6 +314,7 @@ Object.keys(_BsonType).forEach(function (key) {
259
314
  var _SchemaElement = require("./SchemaElement");
260
315
  Object.keys(_SchemaElement).forEach(function (key) {
261
316
  if (key === "default" || key === "__esModule") return;
317
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
262
318
  if (key in exports && exports[key] === _SchemaElement[key]) return;
263
319
  Object.defineProperty(exports, key, {
264
320
  enumerable: true,
@@ -270,6 +326,7 @@ Object.keys(_SchemaElement).forEach(function (key) {
270
326
  var _DataPageHeader = require("./DataPageHeader");
271
327
  Object.keys(_DataPageHeader).forEach(function (key) {
272
328
  if (key === "default" || key === "__esModule") return;
329
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
273
330
  if (key in exports && exports[key] === _DataPageHeader[key]) return;
274
331
  Object.defineProperty(exports, key, {
275
332
  enumerable: true,
@@ -281,6 +338,7 @@ Object.keys(_DataPageHeader).forEach(function (key) {
281
338
  var _IndexPageHeader = require("./IndexPageHeader");
282
339
  Object.keys(_IndexPageHeader).forEach(function (key) {
283
340
  if (key === "default" || key === "__esModule") return;
341
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
284
342
  if (key in exports && exports[key] === _IndexPageHeader[key]) return;
285
343
  Object.defineProperty(exports, key, {
286
344
  enumerable: true,
@@ -292,6 +350,7 @@ Object.keys(_IndexPageHeader).forEach(function (key) {
292
350
  var _DictionaryPageHeader = require("./DictionaryPageHeader");
293
351
  Object.keys(_DictionaryPageHeader).forEach(function (key) {
294
352
  if (key === "default" || key === "__esModule") return;
353
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
295
354
  if (key in exports && exports[key] === _DictionaryPageHeader[key]) return;
296
355
  Object.defineProperty(exports, key, {
297
356
  enumerable: true,
@@ -303,6 +362,7 @@ Object.keys(_DictionaryPageHeader).forEach(function (key) {
303
362
  var _DataPageHeaderV = require("./DataPageHeaderV2");
304
363
  Object.keys(_DataPageHeaderV).forEach(function (key) {
305
364
  if (key === "default" || key === "__esModule") return;
365
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
306
366
  if (key in exports && exports[key] === _DataPageHeaderV[key]) return;
307
367
  Object.defineProperty(exports, key, {
308
368
  enumerable: true,
@@ -314,6 +374,7 @@ Object.keys(_DataPageHeaderV).forEach(function (key) {
314
374
  var _PageHeader = require("./PageHeader");
315
375
  Object.keys(_PageHeader).forEach(function (key) {
316
376
  if (key === "default" || key === "__esModule") return;
377
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
317
378
  if (key in exports && exports[key] === _PageHeader[key]) return;
318
379
  Object.defineProperty(exports, key, {
319
380
  enumerable: true,
@@ -325,6 +386,7 @@ Object.keys(_PageHeader).forEach(function (key) {
325
386
  var _KeyValue = require("./KeyValue");
326
387
  Object.keys(_KeyValue).forEach(function (key) {
327
388
  if (key === "default" || key === "__esModule") return;
389
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
328
390
  if (key in exports && exports[key] === _KeyValue[key]) return;
329
391
  Object.defineProperty(exports, key, {
330
392
  enumerable: true,
@@ -336,6 +398,7 @@ Object.keys(_KeyValue).forEach(function (key) {
336
398
  var _SortingColumn = require("./SortingColumn");
337
399
  Object.keys(_SortingColumn).forEach(function (key) {
338
400
  if (key === "default" || key === "__esModule") return;
401
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
339
402
  if (key in exports && exports[key] === _SortingColumn[key]) return;
340
403
  Object.defineProperty(exports, key, {
341
404
  enumerable: true,
@@ -347,6 +410,7 @@ Object.keys(_SortingColumn).forEach(function (key) {
347
410
  var _PageEncodingStats = require("./PageEncodingStats");
348
411
  Object.keys(_PageEncodingStats).forEach(function (key) {
349
412
  if (key === "default" || key === "__esModule") return;
413
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
350
414
  if (key in exports && exports[key] === _PageEncodingStats[key]) return;
351
415
  Object.defineProperty(exports, key, {
352
416
  enumerable: true,
@@ -358,6 +422,7 @@ Object.keys(_PageEncodingStats).forEach(function (key) {
358
422
  var _ColumnMetaData = require("./ColumnMetaData");
359
423
  Object.keys(_ColumnMetaData).forEach(function (key) {
360
424
  if (key === "default" || key === "__esModule") return;
425
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
361
426
  if (key in exports && exports[key] === _ColumnMetaData[key]) return;
362
427
  Object.defineProperty(exports, key, {
363
428
  enumerable: true,
@@ -369,6 +434,7 @@ Object.keys(_ColumnMetaData).forEach(function (key) {
369
434
  var _ColumnChunk = require("./ColumnChunk");
370
435
  Object.keys(_ColumnChunk).forEach(function (key) {
371
436
  if (key === "default" || key === "__esModule") return;
437
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
372
438
  if (key in exports && exports[key] === _ColumnChunk[key]) return;
373
439
  Object.defineProperty(exports, key, {
374
440
  enumerable: true,
@@ -380,6 +446,7 @@ Object.keys(_ColumnChunk).forEach(function (key) {
380
446
  var _RowGroup = require("./RowGroup");
381
447
  Object.keys(_RowGroup).forEach(function (key) {
382
448
  if (key === "default" || key === "__esModule") return;
449
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
383
450
  if (key in exports && exports[key] === _RowGroup[key]) return;
384
451
  Object.defineProperty(exports, key, {
385
452
  enumerable: true,
@@ -391,6 +458,7 @@ Object.keys(_RowGroup).forEach(function (key) {
391
458
  var _TypeDefinedOrder = require("./TypeDefinedOrder");
392
459
  Object.keys(_TypeDefinedOrder).forEach(function (key) {
393
460
  if (key === "default" || key === "__esModule") return;
461
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
394
462
  if (key in exports && exports[key] === _TypeDefinedOrder[key]) return;
395
463
  Object.defineProperty(exports, key, {
396
464
  enumerable: true,
@@ -402,6 +470,7 @@ Object.keys(_TypeDefinedOrder).forEach(function (key) {
402
470
  var _PageLocation = require("./PageLocation");
403
471
  Object.keys(_PageLocation).forEach(function (key) {
404
472
  if (key === "default" || key === "__esModule") return;
473
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
405
474
  if (key in exports && exports[key] === _PageLocation[key]) return;
406
475
  Object.defineProperty(exports, key, {
407
476
  enumerable: true,
@@ -413,6 +482,7 @@ Object.keys(_PageLocation).forEach(function (key) {
413
482
  var _OffsetIndex = require("./OffsetIndex");
414
483
  Object.keys(_OffsetIndex).forEach(function (key) {
415
484
  if (key === "default" || key === "__esModule") return;
485
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
416
486
  if (key in exports && exports[key] === _OffsetIndex[key]) return;
417
487
  Object.defineProperty(exports, key, {
418
488
  enumerable: true,
@@ -424,6 +494,7 @@ Object.keys(_OffsetIndex).forEach(function (key) {
424
494
  var _ColumnIndex = require("./ColumnIndex");
425
495
  Object.keys(_ColumnIndex).forEach(function (key) {
426
496
  if (key === "default" || key === "__esModule") return;
497
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
427
498
  if (key in exports && exports[key] === _ColumnIndex[key]) return;
428
499
  Object.defineProperty(exports, key, {
429
500
  enumerable: true,
@@ -435,6 +506,7 @@ Object.keys(_ColumnIndex).forEach(function (key) {
435
506
  var _FileMetaData = require("./FileMetaData");
436
507
  Object.keys(_FileMetaData).forEach(function (key) {
437
508
  if (key === "default" || key === "__esModule") return;
509
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
438
510
  if (key in exports && exports[key] === _FileMetaData[key]) return;
439
511
  Object.defineProperty(exports, key, {
440
512
  enumerable: true,
@@ -446,6 +518,7 @@ Object.keys(_FileMetaData).forEach(function (key) {
446
518
  var _TimeUnit = require("./TimeUnit");
447
519
  Object.keys(_TimeUnit).forEach(function (key) {
448
520
  if (key === "default" || key === "__esModule") return;
521
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
449
522
  if (key in exports && exports[key] === _TimeUnit[key]) return;
450
523
  Object.defineProperty(exports, key, {
451
524
  enumerable: true,
@@ -457,6 +530,7 @@ Object.keys(_TimeUnit).forEach(function (key) {
457
530
  var _LogicalType = require("./LogicalType");
458
531
  Object.keys(_LogicalType).forEach(function (key) {
459
532
  if (key === "default" || key === "__esModule") return;
533
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
460
534
  if (key in exports && exports[key] === _LogicalType[key]) return;
461
535
  Object.defineProperty(exports, key, {
462
536
  enumerable: true,
@@ -468,6 +542,7 @@ Object.keys(_LogicalType).forEach(function (key) {
468
542
  var _ColumnOrder = require("./ColumnOrder");
469
543
  Object.keys(_ColumnOrder).forEach(function (key) {
470
544
  if (key === "default" || key === "__esModule") return;
545
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
471
546
  if (key in exports && exports[key] === _ColumnOrder[key]) return;
472
547
  Object.defineProperty(exports, key, {
473
548
  enumerable: true,