@loaders.gl/parquet 3.1.0-alpha.4 → 3.1.0-beta.3

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 (387) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +5 -0
  4. package/dist/constants.d.ts +15 -0
  5. package/dist/constants.d.ts.map +1 -0
  6. package/dist/constants.js +18 -0
  7. package/dist/dist.min.js +27 -13
  8. package/dist/dist.min.js.map +7 -1
  9. package/dist/es5/bundle.js +1 -1
  10. package/dist/es5/bundle.js.map +1 -1
  11. package/dist/es5/constants.js +5 -5
  12. package/dist/es5/constants.js.map +1 -1
  13. package/dist/es5/index.js +16 -45
  14. package/dist/es5/index.js.map +1 -1
  15. package/dist/es5/lib/convert-schema.js +13 -13
  16. package/dist/es5/lib/convert-schema.js.map +1 -1
  17. package/dist/es5/lib/parse-parquet.js +19 -154
  18. package/dist/es5/lib/parse-parquet.js.map +1 -1
  19. package/dist/es5/lib/read-array-buffer.js +6 -43
  20. package/dist/es5/lib/read-array-buffer.js.map +1 -1
  21. package/dist/es5/parquet-loader.js +4 -4
  22. package/dist/es5/parquet-loader.js.map +1 -1
  23. package/dist/es5/parquet-writer.js +4 -4
  24. package/dist/es5/parquet-writer.js.map +1 -1
  25. package/dist/es5/parquetjs/codecs/dictionary.js +2 -10
  26. package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -1
  27. package/dist/es5/parquetjs/codecs/index.js +4 -6
  28. package/dist/es5/parquetjs/codecs/index.js.map +1 -1
  29. package/dist/es5/parquetjs/codecs/plain.js +41 -43
  30. package/dist/es5/parquetjs/codecs/plain.js.map +1 -1
  31. package/dist/es5/parquetjs/codecs/rle.js +25 -35
  32. package/dist/es5/parquetjs/codecs/rle.js.map +1 -1
  33. package/dist/es5/parquetjs/compression.js +28 -122
  34. package/dist/es5/parquetjs/compression.js.map +1 -1
  35. package/dist/es5/parquetjs/encoder/writer.js +301 -737
  36. package/dist/es5/parquetjs/encoder/writer.js.map +1 -1
  37. package/dist/es5/parquetjs/file.js +15 -15
  38. package/dist/es5/parquetjs/file.js.map +1 -1
  39. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +1 -1
  40. package/dist/es5/parquetjs/parquet-thrift/BsonType.js +31 -45
  41. package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -1
  42. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +141 -152
  43. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
  44. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +147 -160
  45. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
  46. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +248 -259
  47. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
  48. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +67 -79
  49. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
  50. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +1 -1
  51. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +1 -1
  52. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +113 -124
  53. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
  54. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +158 -169
  55. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
  56. package/dist/es5/parquetjs/parquet-thrift/DateType.js +31 -45
  57. package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -1
  58. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +68 -79
  59. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
  60. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +83 -94
  61. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
  62. package/dist/es5/parquetjs/parquet-thrift/Encoding.js +1 -1
  63. package/dist/es5/parquetjs/parquet-thrift/EnumType.js +31 -45
  64. package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -1
  65. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +1 -1
  66. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +170 -182
  67. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
  68. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +31 -45
  69. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
  70. package/dist/es5/parquetjs/parquet-thrift/IntType.js +68 -79
  71. package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -1
  72. package/dist/es5/parquetjs/parquet-thrift/JsonType.js +31 -45
  73. package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -1
  74. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +68 -79
  75. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
  76. package/dist/es5/parquetjs/parquet-thrift/ListType.js +31 -45
  77. package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -1
  78. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +319 -343
  79. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
  80. package/dist/es5/parquetjs/parquet-thrift/MapType.js +31 -45
  81. package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -1
  82. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +31 -45
  83. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
  84. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +31 -45
  85. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
  86. package/dist/es5/parquetjs/parquet-thrift/NullType.js +31 -45
  87. package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -1
  88. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +64 -75
  89. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
  90. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +83 -94
  91. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
  92. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +158 -169
  93. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
  94. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +83 -94
  95. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
  96. package/dist/es5/parquetjs/parquet-thrift/PageType.js +1 -1
  97. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +113 -124
  98. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
  99. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +188 -199
  100. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
  101. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +83 -94
  102. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
  103. package/dist/es5/parquetjs/parquet-thrift/Statistics.js +124 -135
  104. package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -1
  105. package/dist/es5/parquetjs/parquet-thrift/StringType.js +31 -45
  106. package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -1
  107. package/dist/es5/parquetjs/parquet-thrift/TimeType.js +68 -79
  108. package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -1
  109. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +88 -101
  110. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
  111. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +68 -79
  112. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
  113. package/dist/es5/parquetjs/parquet-thrift/Type.js +1 -1
  114. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +31 -45
  115. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
  116. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +31 -45
  117. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
  118. package/dist/es5/parquetjs/parquet-thrift/index.js +43 -43
  119. package/dist/es5/parquetjs/parser/decoders.js +218 -397
  120. package/dist/es5/parquetjs/parser/decoders.js.map +1 -1
  121. package/dist/es5/parquetjs/parser/parquet-cursor.js +62 -180
  122. package/dist/es5/parquetjs/parser/parquet-cursor.js.map +1 -1
  123. package/dist/es5/parquetjs/parser/parquet-envelope-reader.js +124 -408
  124. package/dist/es5/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
  125. package/dist/es5/parquetjs/parser/parquet-reader.js +91 -369
  126. package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -1
  127. package/dist/es5/parquetjs/schema/declare.js +9 -11
  128. package/dist/es5/parquetjs/schema/declare.js.map +1 -1
  129. package/dist/es5/parquetjs/schema/schema.js +73 -87
  130. package/dist/es5/parquetjs/schema/schema.js.map +1 -1
  131. package/dist/es5/parquetjs/schema/shred.js +56 -96
  132. package/dist/es5/parquetjs/schema/shred.js.map +1 -1
  133. package/dist/es5/parquetjs/schema/types.js +39 -40
  134. package/dist/es5/parquetjs/schema/types.js.map +1 -1
  135. package/dist/es5/parquetjs/utils/buffer-utils.js +1 -1
  136. package/dist/es5/parquetjs/utils/buffer-utils.js.map +1 -1
  137. package/dist/es5/parquetjs/utils/file-utils.js +8 -65
  138. package/dist/es5/parquetjs/utils/file-utils.js.map +1 -1
  139. package/dist/es5/parquetjs/utils/read-utils.js +22 -50
  140. package/dist/es5/parquetjs/utils/read-utils.js.map +1 -1
  141. package/dist/esm/index.js +2 -3
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/parquet-loader.js +1 -1
  144. package/dist/esm/parquet-loader.js.map +1 -1
  145. package/dist/esm/parquet-writer.js +1 -1
  146. package/dist/esm/parquet-writer.js.map +1 -1
  147. package/dist/esm/parquetjs/codecs/plain.js +3 -3
  148. package/dist/esm/parquetjs/codecs/plain.js.map +1 -1
  149. package/dist/esm/parquetjs/codecs/rle.js +1 -1
  150. package/dist/esm/parquetjs/codecs/rle.js.map +1 -1
  151. package/dist/esm/parquetjs/compression.js +4 -13
  152. package/dist/esm/parquetjs/compression.js.map +1 -1
  153. package/dist/esm/parquetjs/encoder/writer.js +1 -1
  154. package/dist/esm/parquetjs/encoder/writer.js.map +1 -1
  155. package/dist/esm/parquetjs/parser/decoders.js +4 -4
  156. package/dist/esm/parquetjs/parser/decoders.js.map +1 -1
  157. package/dist/esm/parquetjs/parser/parquet-envelope-reader.js +4 -13
  158. package/dist/esm/parquetjs/parser/parquet-envelope-reader.js.map +1 -1
  159. package/dist/esm/parquetjs/parser/parquet-reader.js +0 -13
  160. package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -1
  161. package/dist/esm/parquetjs/schema/schema.js +3 -3
  162. package/dist/esm/parquetjs/schema/schema.js.map +1 -1
  163. package/dist/esm/parquetjs/schema/shred.js +2 -2
  164. package/dist/esm/parquetjs/schema/shred.js.map +1 -1
  165. package/dist/esm/parquetjs/schema/types.js +20 -20
  166. package/dist/esm/parquetjs/schema/types.js.map +1 -1
  167. package/dist/esm/parquetjs/utils/file-utils.js +0 -45
  168. package/dist/esm/parquetjs/utils/file-utils.js.map +1 -1
  169. package/dist/index.d.ts +28 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/index.js +30 -0
  172. package/dist/lib/convert-schema.d.ts +8 -0
  173. package/dist/lib/convert-schema.d.ts.map +1 -0
  174. package/dist/lib/convert-schema.js +70 -0
  175. package/dist/lib/parse-parquet.d.ts +4 -0
  176. package/dist/lib/parse-parquet.d.ts.map +1 -0
  177. package/dist/lib/parse-parquet.js +28 -0
  178. package/dist/lib/read-array-buffer.d.ts +19 -0
  179. package/dist/lib/read-array-buffer.d.ts.map +1 -0
  180. package/dist/lib/read-array-buffer.js +29 -0
  181. package/dist/parquet-loader.d.ts +23 -0
  182. package/dist/parquet-loader.d.ts.map +1 -0
  183. package/dist/parquet-loader.js +27 -0
  184. package/dist/parquet-worker.js +27 -13
  185. package/dist/parquet-worker.js.map +7 -1
  186. package/dist/parquet-writer.d.ts +4 -0
  187. package/dist/parquet-writer.d.ts.map +1 -0
  188. package/dist/parquet-writer.js +21 -0
  189. package/dist/parquetjs/codecs/declare.d.ts +17 -0
  190. package/dist/parquetjs/codecs/declare.d.ts.map +1 -0
  191. package/dist/parquetjs/codecs/declare.js +2 -0
  192. package/dist/parquetjs/codecs/dictionary.d.ts +3 -0
  193. package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -0
  194. package/dist/parquetjs/codecs/dictionary.js +14 -0
  195. package/dist/parquetjs/codecs/index.d.ts +5 -0
  196. package/dist/parquetjs/codecs/index.d.ts.map +1 -0
  197. package/dist/parquetjs/codecs/index.js +51 -0
  198. package/dist/parquetjs/codecs/plain.d.ts +6 -0
  199. package/dist/parquetjs/codecs/plain.d.ts.map +1 -0
  200. package/dist/parquetjs/codecs/plain.js +211 -0
  201. package/dist/parquetjs/codecs/rle.d.ts +6 -0
  202. package/dist/parquetjs/codecs/rle.d.ts.map +1 -0
  203. package/dist/parquetjs/codecs/rle.js +145 -0
  204. package/dist/parquetjs/compression.d.ts +23 -0
  205. package/dist/parquetjs/compression.d.ts.map +1 -0
  206. package/dist/parquetjs/compression.js +168 -0
  207. package/dist/parquetjs/encoder/writer.d.ts +123 -0
  208. package/dist/parquetjs/encoder/writer.d.ts.map +1 -0
  209. package/dist/parquetjs/encoder/writer.js +478 -0
  210. package/dist/parquetjs/file.d.ts +10 -0
  211. package/dist/parquetjs/file.d.ts.map +1 -0
  212. package/dist/parquetjs/file.js +99 -0
  213. package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts +6 -0
  214. package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
  215. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +15 -0
  216. package/dist/parquetjs/parquet-thrift/BsonType.d.ts +9 -0
  217. package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
  218. package/dist/parquetjs/parquet-thrift/BsonType.js +58 -0
  219. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts +25 -0
  220. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
  221. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +207 -0
  222. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts +22 -0
  223. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
  224. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +213 -0
  225. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts +42 -0
  226. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
  227. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +398 -0
  228. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts +13 -0
  229. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
  230. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +104 -0
  231. package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts +11 -0
  232. package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
  233. package/dist/parquetjs/parquet-thrift/CompressionCodec.js +20 -0
  234. package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts +25 -0
  235. package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
  236. package/dist/parquetjs/parquet-thrift/ConvertedType.js +34 -0
  237. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts +21 -0
  238. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
  239. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +166 -0
  240. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts +27 -0
  241. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
  242. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +226 -0
  243. package/dist/parquetjs/parquet-thrift/DateType.d.ts +9 -0
  244. package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
  245. package/dist/parquetjs/parquet-thrift/DateType.js +58 -0
  246. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts +13 -0
  247. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
  248. package/dist/parquetjs/parquet-thrift/DecimalType.js +105 -0
  249. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts +16 -0
  250. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
  251. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +122 -0
  252. package/dist/parquetjs/parquet-thrift/Encoding.d.ts +11 -0
  253. package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
  254. package/dist/parquetjs/parquet-thrift/Encoding.js +20 -0
  255. package/dist/parquetjs/parquet-thrift/EnumType.d.ts +9 -0
  256. package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
  257. package/dist/parquetjs/parquet-thrift/EnumType.js +58 -0
  258. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts +6 -0
  259. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
  260. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +15 -0
  261. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts +28 -0
  262. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
  263. package/dist/parquetjs/parquet-thrift/FileMetaData.js +256 -0
  264. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts +9 -0
  265. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
  266. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +58 -0
  267. package/dist/parquetjs/parquet-thrift/IntType.d.ts +13 -0
  268. package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
  269. package/dist/parquetjs/parquet-thrift/IntType.js +105 -0
  270. package/dist/parquetjs/parquet-thrift/JsonType.d.ts +9 -0
  271. package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
  272. package/dist/parquetjs/parquet-thrift/JsonType.js +58 -0
  273. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts +13 -0
  274. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
  275. package/dist/parquetjs/parquet-thrift/KeyValue.js +102 -0
  276. package/dist/parquetjs/parquet-thrift/ListType.d.ts +9 -0
  277. package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
  278. package/dist/parquetjs/parquet-thrift/ListType.js +58 -0
  279. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts +61 -0
  280. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
  281. package/dist/parquetjs/parquet-thrift/LogicalType.js +380 -0
  282. package/dist/parquetjs/parquet-thrift/MapType.d.ts +9 -0
  283. package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
  284. package/dist/parquetjs/parquet-thrift/MapType.js +58 -0
  285. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts +9 -0
  286. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
  287. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +58 -0
  288. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts +9 -0
  289. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
  290. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +58 -0
  291. package/dist/parquetjs/parquet-thrift/NullType.d.ts +9 -0
  292. package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
  293. package/dist/parquetjs/parquet-thrift/NullType.js +58 -0
  294. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts +12 -0
  295. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
  296. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +97 -0
  297. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts +17 -0
  298. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
  299. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +127 -0
  300. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts +30 -0
  301. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
  302. package/dist/parquetjs/parquet-thrift/PageHeader.js +216 -0
  303. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts +16 -0
  304. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
  305. package/dist/parquetjs/parquet-thrift/PageLocation.js +141 -0
  306. package/dist/parquetjs/parquet-thrift/PageType.d.ts +7 -0
  307. package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
  308. package/dist/parquetjs/parquet-thrift/PageType.js +16 -0
  309. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts +20 -0
  310. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
  311. package/dist/parquetjs/parquet-thrift/RowGroup.js +182 -0
  312. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts +33 -0
  313. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
  314. package/dist/parquetjs/parquet-thrift/SchemaElement.js +239 -0
  315. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts +15 -0
  316. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
  317. package/dist/parquetjs/parquet-thrift/SortingColumn.js +127 -0
  318. package/dist/parquetjs/parquet-thrift/Statistics.d.ts +23 -0
  319. package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
  320. package/dist/parquetjs/parquet-thrift/Statistics.js +176 -0
  321. package/dist/parquetjs/parquet-thrift/StringType.d.ts +9 -0
  322. package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
  323. package/dist/parquetjs/parquet-thrift/StringType.js +58 -0
  324. package/dist/parquetjs/parquet-thrift/TimeType.d.ts +14 -0
  325. package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
  326. package/dist/parquetjs/parquet-thrift/TimeType.js +106 -0
  327. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts +17 -0
  328. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
  329. package/dist/parquetjs/parquet-thrift/TimeUnit.js +127 -0
  330. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts +14 -0
  331. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
  332. package/dist/parquetjs/parquet-thrift/TimestampType.js +106 -0
  333. package/dist/parquetjs/parquet-thrift/Type.d.ts +11 -0
  334. package/dist/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
  335. package/dist/parquetjs/parquet-thrift/Type.js +20 -0
  336. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts +9 -0
  337. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
  338. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +58 -0
  339. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts +9 -0
  340. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
  341. package/dist/parquetjs/parquet-thrift/UUIDType.js +58 -0
  342. package/dist/parquetjs/parquet-thrift/index.d.ts +44 -0
  343. package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -0
  344. package/dist/parquetjs/parquet-thrift/index.js +61 -0
  345. package/dist/parquetjs/parser/decoders.d.ts +34 -0
  346. package/dist/parquetjs/parser/decoders.d.ts.map +1 -0
  347. package/dist/parquetjs/parser/decoders.js +318 -0
  348. package/dist/parquetjs/parser/parquet-cursor.d.ts +36 -0
  349. package/dist/parquetjs/parser/parquet-cursor.d.ts.map +1 -0
  350. package/dist/parquetjs/parser/parquet-cursor.js +74 -0
  351. package/dist/parquetjs/parser/parquet-envelope-reader.d.ts +40 -0
  352. package/dist/parquetjs/parser/parquet-envelope-reader.d.ts.map +1 -0
  353. package/dist/parquetjs/parser/parquet-envelope-reader.js +136 -0
  354. package/dist/parquetjs/parser/parquet-reader.d.ts +68 -0
  355. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -0
  356. package/dist/parquetjs/parser/parquet-reader.js +134 -0
  357. package/dist/parquetjs/schema/declare.d.ts +80 -0
  358. package/dist/parquetjs/schema/declare.d.ts.map +1 -0
  359. package/dist/parquetjs/schema/declare.js +10 -0
  360. package/dist/parquetjs/schema/schema.d.ts +26 -0
  361. package/dist/parquetjs/schema/schema.d.ts.map +1 -0
  362. package/dist/parquetjs/schema/schema.js +162 -0
  363. package/dist/parquetjs/schema/shred.d.ts +48 -0
  364. package/dist/parquetjs/schema/shred.d.ts.map +1 -0
  365. package/dist/parquetjs/schema/shred.js +225 -0
  366. package/dist/parquetjs/schema/types.d.ts +20 -0
  367. package/dist/parquetjs/schema/types.d.ts.map +1 -0
  368. package/dist/parquetjs/schema/types.js +418 -0
  369. package/dist/parquetjs/utils/buffer-utils.d.ts +10 -0
  370. package/dist/parquetjs/utils/buffer-utils.d.ts.map +1 -0
  371. package/dist/parquetjs/utils/buffer-utils.js +22 -0
  372. package/dist/parquetjs/utils/file-utils.d.ts +16 -0
  373. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -0
  374. package/dist/parquetjs/utils/file-utils.js +46 -0
  375. package/dist/parquetjs/utils/read-utils.d.ts +25 -0
  376. package/dist/parquetjs/utils/read-utils.d.ts.map +1 -0
  377. package/dist/parquetjs/utils/read-utils.js +109 -0
  378. package/dist/workers/parquet-worker.d.ts +2 -0
  379. package/dist/workers/parquet-worker.d.ts.map +1 -0
  380. package/dist/workers/parquet-worker.js +5 -0
  381. package/package.json +8 -8
  382. package/src/index.ts +3 -3
  383. package/src/parquetjs/compression.ts +10 -10
  384. package/src/parquetjs/parser/decoders.ts +1 -1
  385. package/src/parquetjs/parser/parquet-envelope-reader.ts +0 -11
  386. package/src/parquetjs/parser/parquet-reader.ts +0 -16
  387. package/src/parquetjs/utils/file-utils.ts +0 -49
@@ -0,0 +1,4 @@
1
+ import type { Writer } from '@loaders.gl/loader-utils';
2
+ export declare type ParquetWriterOptions = {};
3
+ export declare const ParquetWriter: Writer;
4
+ //# sourceMappingURL=parquet-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-writer.d.ts","sourceRoot":"","sources":["../src/parquet-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAMrD,oBAAY,oBAAoB,GAAG,EAAE,CAAC;AAItC,eAAO,MAAM,aAAa,EAAE,MAU3B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParquetWriter = void 0;
4
+ // __VERSION__ is injected by babel-plugin-version-inline
5
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
7
+ const DEFAULT_PARQUET_LOADER_OPTIONS = {};
8
+ exports.ParquetWriter = {
9
+ name: 'Apache Parquet',
10
+ id: 'parquet',
11
+ module: 'parquet',
12
+ version: VERSION,
13
+ extensions: ['parquet'],
14
+ mimeTypes: ['application/octet-stream'],
15
+ encodeSync,
16
+ binary: true,
17
+ options: DEFAULT_PARQUET_LOADER_OPTIONS
18
+ };
19
+ function encodeSync(data, options) {
20
+ return new ArrayBuffer(0);
21
+ }
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import { PrimitiveType } from '../schema/declare';
3
+ export interface CursorBuffer {
4
+ buffer: Buffer;
5
+ offset: number;
6
+ size?: number;
7
+ }
8
+ export interface ParquetCodecOptions {
9
+ bitWidth?: number;
10
+ disableEnvelope?: boolean;
11
+ typeLength?: number;
12
+ }
13
+ export interface ParquetCodecKit {
14
+ encodeValues(type: PrimitiveType, values: any[], opts?: ParquetCodecOptions): Buffer;
15
+ decodeValues(type: PrimitiveType, cursor: CursorBuffer, count: number, opts: ParquetCodecOptions): any[];
16
+ }
17
+ //# sourceMappingURL=declare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declare.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/codecs/declare.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACrF,YAAY,CACV,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,GACxB,GAAG,EAAE,CAAC;CACV"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export declare function decodeValues(type: any, cursor: any, count: any, opts: any): number[];
2
+ export declare function encodeValues(type: any, cursor: any, count: any, opts: any): void;
3
+ //# sourceMappingURL=dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/codecs/dictionary.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA,YAIrD;AAED,wBAAgB,YAAY,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA,QAErD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeValues = exports.decodeValues = void 0;
4
+ const rle_1 = require("./rle");
5
+ function decodeValues(type, cursor, count, opts) {
6
+ opts.bitWidth = cursor.buffer.slice(cursor.offset, cursor.offset + 1).readInt8(0);
7
+ cursor.offset += 1;
8
+ return (0, rle_1.decodeValues)(type, cursor, count, { ...opts, disableEnvelope: true });
9
+ }
10
+ exports.decodeValues = decodeValues;
11
+ function encodeValues(type, cursor, count, opts) {
12
+ throw new Error('Encode dictionary functionality is not supported');
13
+ }
14
+ exports.encodeValues = encodeValues;
@@ -0,0 +1,5 @@
1
+ import type { ParquetCodec } from '../schema/declare';
2
+ import type { ParquetCodecKit } from './declare';
3
+ export * from './declare';
4
+ export declare const PARQUET_CODECS: Record<ParquetCodec, ParquetCodecKit>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/codecs/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAK/C,cAAc,WAAW,CAAC;AAE1B,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAqBhE,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.PARQUET_CODECS = void 0;
26
+ const PLAIN = __importStar(require("./plain"));
27
+ const RLE = __importStar(require("./rle"));
28
+ const DICTIONARY = __importStar(require("./dictionary"));
29
+ __exportStar(require("./declare"), exports);
30
+ exports.PARQUET_CODECS = {
31
+ PLAIN: {
32
+ encodeValues: PLAIN.encodeValues,
33
+ decodeValues: PLAIN.decodeValues
34
+ },
35
+ RLE: {
36
+ encodeValues: RLE.encodeValues,
37
+ decodeValues: RLE.decodeValues
38
+ },
39
+ // Using the PLAIN_DICTIONARY enum value is deprecated in the Parquet 2.0 specification.
40
+ PLAIN_DICTIONARY: {
41
+ // @ts-ignore
42
+ encodeValues: DICTIONARY.encodeValues,
43
+ decodeValues: DICTIONARY.decodeValues
44
+ },
45
+ // Prefer using RLE_DICTIONARY in a data page and PLAIN in a dictionary page for Parquet 2.0+ files.
46
+ RLE_DICTIONARY: {
47
+ // @ts-ignore
48
+ encodeValues: DICTIONARY.encodeValues,
49
+ decodeValues: DICTIONARY.decodeValues
50
+ }
51
+ };
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import type { PrimitiveType } from '../schema/declare';
3
+ import type { CursorBuffer, ParquetCodecOptions } from './declare';
4
+ export declare function encodeValues(type: PrimitiveType, values: any[], opts: ParquetCodecOptions): Buffer;
5
+ export declare function decodeValues(type: PrimitiveType, cursor: CursorBuffer, count: number, opts: ParquetCodecOptions): any[];
6
+ //# sourceMappingURL=plain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/codecs/plain.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,WAAW,CAAC;AAGjE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,GAAG,EAAE,EACb,IAAI,EAAE,mBAAmB,GACxB,MAAM,CAqBR;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,GACxB,GAAG,EAAE,CAqBP"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.decodeValues = exports.encodeValues = void 0;
7
+ const int53_1 = __importDefault(require("int53"));
8
+ function encodeValues(type, values, opts) {
9
+ switch (type) {
10
+ case 'BOOLEAN':
11
+ return encodeValues_BOOLEAN(values);
12
+ case 'INT32':
13
+ return encodeValues_INT32(values);
14
+ case 'INT64':
15
+ return encodeValues_INT64(values);
16
+ case 'INT96':
17
+ return encodeValues_INT96(values);
18
+ case 'FLOAT':
19
+ return encodeValues_FLOAT(values);
20
+ case 'DOUBLE':
21
+ return encodeValues_DOUBLE(values);
22
+ case 'BYTE_ARRAY':
23
+ return encodeValues_BYTE_ARRAY(values);
24
+ case 'FIXED_LEN_BYTE_ARRAY':
25
+ return encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts);
26
+ default:
27
+ throw new Error(`unsupported type: ${type}`);
28
+ }
29
+ }
30
+ exports.encodeValues = encodeValues;
31
+ function decodeValues(type, cursor, count, opts) {
32
+ switch (type) {
33
+ case 'BOOLEAN':
34
+ return decodeValues_BOOLEAN(cursor, count);
35
+ case 'INT32':
36
+ return decodeValues_INT32(cursor, count);
37
+ case 'INT64':
38
+ return decodeValues_INT64(cursor, count);
39
+ case 'INT96':
40
+ return decodeValues_INT96(cursor, count);
41
+ case 'FLOAT':
42
+ return decodeValues_FLOAT(cursor, count);
43
+ case 'DOUBLE':
44
+ return decodeValues_DOUBLE(cursor, count);
45
+ case 'BYTE_ARRAY':
46
+ return decodeValues_BYTE_ARRAY(cursor, count);
47
+ case 'FIXED_LEN_BYTE_ARRAY':
48
+ return decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts);
49
+ default:
50
+ throw new Error(`unsupported type: ${type}`);
51
+ }
52
+ }
53
+ exports.decodeValues = decodeValues;
54
+ function encodeValues_BOOLEAN(values) {
55
+ const buf = Buffer.alloc(Math.ceil(values.length / 8));
56
+ buf.fill(0);
57
+ for (let i = 0; i < values.length; i++) {
58
+ if (values[i]) {
59
+ buf[Math.floor(i / 8)] |= 1 << i % 8;
60
+ }
61
+ }
62
+ return buf;
63
+ }
64
+ function decodeValues_BOOLEAN(cursor, count) {
65
+ const values = [];
66
+ for (let i = 0; i < count; i++) {
67
+ const b = cursor.buffer[cursor.offset + Math.floor(i / 8)];
68
+ values.push((b & (1 << i % 8)) > 0);
69
+ }
70
+ cursor.offset += Math.ceil(count / 8);
71
+ return values;
72
+ }
73
+ function encodeValues_INT32(values) {
74
+ const buf = Buffer.alloc(4 * values.length);
75
+ for (let i = 0; i < values.length; i++) {
76
+ buf.writeInt32LE(values[i], i * 4);
77
+ }
78
+ return buf;
79
+ }
80
+ function decodeValues_INT32(cursor, count) {
81
+ const values = [];
82
+ for (let i = 0; i < count; i++) {
83
+ values.push(cursor.buffer.readInt32LE(cursor.offset));
84
+ cursor.offset += 4;
85
+ }
86
+ return values;
87
+ }
88
+ function encodeValues_INT64(values) {
89
+ const buf = Buffer.alloc(8 * values.length);
90
+ for (let i = 0; i < values.length; i++) {
91
+ int53_1.default.writeInt64LE(values[i], buf, i * 8);
92
+ }
93
+ return buf;
94
+ }
95
+ function decodeValues_INT64(cursor, count) {
96
+ const values = [];
97
+ for (let i = 0; i < count; i++) {
98
+ values.push(int53_1.default.readInt64LE(cursor.buffer, cursor.offset));
99
+ cursor.offset += 8;
100
+ }
101
+ return values;
102
+ }
103
+ function encodeValues_INT96(values) {
104
+ const buf = Buffer.alloc(12 * values.length);
105
+ for (let i = 0; i < values.length; i++) {
106
+ if (values[i] >= 0) {
107
+ int53_1.default.writeInt64LE(values[i], buf, i * 12);
108
+ buf.writeUInt32LE(0, i * 12 + 8); // truncate to 64 actual precision
109
+ }
110
+ else {
111
+ int53_1.default.writeInt64LE(~-values[i] + 1, buf, i * 12);
112
+ buf.writeUInt32LE(0xffffffff, i * 12 + 8); // truncate to 64 actual precision
113
+ }
114
+ }
115
+ return buf;
116
+ }
117
+ function decodeValues_INT96(cursor, count) {
118
+ const values = [];
119
+ for (let i = 0; i < count; i++) {
120
+ const low = int53_1.default.readInt64LE(cursor.buffer, cursor.offset);
121
+ const high = cursor.buffer.readUInt32LE(cursor.offset + 8);
122
+ if (high === 0xffffffff) {
123
+ values.push(~-low + 1); // truncate to 64 actual precision
124
+ }
125
+ else {
126
+ values.push(low); // truncate to 64 actual precision
127
+ }
128
+ cursor.offset += 12;
129
+ }
130
+ return values;
131
+ }
132
+ function encodeValues_FLOAT(values) {
133
+ const buf = Buffer.alloc(4 * values.length);
134
+ for (let i = 0; i < values.length; i++) {
135
+ buf.writeFloatLE(values[i], i * 4);
136
+ }
137
+ return buf;
138
+ }
139
+ function decodeValues_FLOAT(cursor, count) {
140
+ const values = [];
141
+ for (let i = 0; i < count; i++) {
142
+ values.push(cursor.buffer.readFloatLE(cursor.offset));
143
+ cursor.offset += 4;
144
+ }
145
+ return values;
146
+ }
147
+ function encodeValues_DOUBLE(values) {
148
+ const buf = Buffer.alloc(8 * values.length);
149
+ for (let i = 0; i < values.length; i++) {
150
+ buf.writeDoubleLE(values[i], i * 8);
151
+ }
152
+ return buf;
153
+ }
154
+ function decodeValues_DOUBLE(cursor, count) {
155
+ const values = [];
156
+ for (let i = 0; i < count; i++) {
157
+ values.push(cursor.buffer.readDoubleLE(cursor.offset));
158
+ cursor.offset += 8;
159
+ }
160
+ return values;
161
+ }
162
+ function encodeValues_BYTE_ARRAY(values) {
163
+ // tslint:disable-next-line:variable-name
164
+ let buf_len = 0;
165
+ for (let i = 0; i < values.length; i++) {
166
+ values[i] = Buffer.from(values[i]);
167
+ buf_len += 4 + values[i].length;
168
+ }
169
+ const buf = Buffer.alloc(buf_len);
170
+ // tslint:disable-next-line:variable-name
171
+ let buf_pos = 0;
172
+ for (let i = 0; i < values.length; i++) {
173
+ buf.writeUInt32LE(values[i].length, buf_pos);
174
+ values[i].copy(buf, buf_pos + 4);
175
+ buf_pos += 4 + values[i].length;
176
+ }
177
+ return buf;
178
+ }
179
+ function decodeValues_BYTE_ARRAY(cursor, count) {
180
+ const values = [];
181
+ for (let i = 0; i < count; i++) {
182
+ const len = cursor.buffer.readUInt32LE(cursor.offset);
183
+ cursor.offset += 4;
184
+ values.push(cursor.buffer.slice(cursor.offset, cursor.offset + len));
185
+ cursor.offset += len;
186
+ }
187
+ return values;
188
+ }
189
+ function encodeValues_FIXED_LEN_BYTE_ARRAY(values, opts) {
190
+ if (!opts.typeLength) {
191
+ throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');
192
+ }
193
+ for (let i = 0; i < values.length; i++) {
194
+ values[i] = Buffer.from(values[i]);
195
+ if (values[i].length !== opts.typeLength) {
196
+ throw new Error(`invalid value for FIXED_LEN_BYTE_ARRAY: ${values[i]}`);
197
+ }
198
+ }
199
+ return Buffer.concat(values);
200
+ }
201
+ function decodeValues_FIXED_LEN_BYTE_ARRAY(cursor, count, opts) {
202
+ const values = [];
203
+ if (!opts.typeLength) {
204
+ throw new Error('missing option: typeLength (required for FIXED_LEN_BYTE_ARRAY)');
205
+ }
206
+ for (let i = 0; i < count; i++) {
207
+ values.push(cursor.buffer.slice(cursor.offset, cursor.offset + opts.typeLength));
208
+ cursor.offset += opts.typeLength;
209
+ }
210
+ return values;
211
+ }
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import type { PrimitiveType } from '../schema/declare';
3
+ import type { CursorBuffer, ParquetCodecOptions } from './declare';
4
+ export declare function encodeValues(type: PrimitiveType, values: any[], opts: ParquetCodecOptions): Buffer;
5
+ export declare function decodeValues(type: PrimitiveType, cursor: CursorBuffer, count: number, opts: ParquetCodecOptions): number[];
6
+ //# sourceMappingURL=rle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rle.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/codecs/rle.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,WAAW,CAAC;AAIjE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,GAAG,EAAE,EACb,IAAI,EAAE,mBAAmB,GACxB,MAAM,CA0DR;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,GACxB,MAAM,EAAE,CA4BV"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ // Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.decodeValues = exports.encodeValues = void 0;
8
+ const varint_1 = __importDefault(require("varint"));
9
+ // eslint-disable-next-line max-statements, complexity
10
+ function encodeValues(type, values, opts) {
11
+ if (!('bitWidth' in opts)) {
12
+ throw new Error('bitWidth is required');
13
+ }
14
+ switch (type) {
15
+ case 'BOOLEAN':
16
+ case 'INT32':
17
+ case 'INT64':
18
+ // tslint:disable-next-line:no-parameter-reassignment
19
+ values = values.map((x) => parseInt(x, 10));
20
+ break;
21
+ default:
22
+ throw new Error(`unsupported type: ${type}`);
23
+ }
24
+ let buf = Buffer.alloc(0);
25
+ let run = [];
26
+ let repeats = 0;
27
+ for (let i = 0; i < values.length; i++) {
28
+ // If we are at the beginning of a run and the next value is same we start
29
+ // collecting repeated values
30
+ if (repeats === 0 && run.length % 8 === 0 && values[i] === values[i + 1]) {
31
+ // If we have any data in runs we need to encode them
32
+ if (run.length) {
33
+ buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);
34
+ run = [];
35
+ }
36
+ repeats = 1;
37
+ }
38
+ else if (repeats > 0 && values[i] === values[i - 1]) {
39
+ repeats += 1;
40
+ }
41
+ else {
42
+ // If values changes we need to post any previous repeated values
43
+ if (repeats) {
44
+ buf = Buffer.concat([buf, encodeRunRepeated(values[i - 1], repeats, opts)]);
45
+ repeats = 0;
46
+ }
47
+ run.push(values[i]);
48
+ }
49
+ }
50
+ if (repeats) {
51
+ buf = Buffer.concat([buf, encodeRunRepeated(values[values.length - 1], repeats, opts)]);
52
+ }
53
+ else if (run.length) {
54
+ buf = Buffer.concat([buf, encodeRunBitpacked(run, opts)]);
55
+ }
56
+ if (opts.disableEnvelope) {
57
+ return buf;
58
+ }
59
+ const envelope = Buffer.alloc(buf.length + 4);
60
+ envelope.writeUInt32LE(buf.length, undefined);
61
+ buf.copy(envelope, 4);
62
+ return envelope;
63
+ }
64
+ exports.encodeValues = encodeValues;
65
+ function decodeValues(type, cursor, count, opts) {
66
+ if (!('bitWidth' in opts)) {
67
+ throw new Error('bitWidth is required');
68
+ }
69
+ if (!opts.disableEnvelope) {
70
+ cursor.offset += 4;
71
+ }
72
+ let values = [];
73
+ while (values.length < count) {
74
+ const header = varint_1.default.decode(cursor.buffer, cursor.offset);
75
+ cursor.offset += varint_1.default.encodingLength(header);
76
+ if (header & 1) {
77
+ const count = (header >> 1) * 8;
78
+ values.push(...decodeRunBitpacked(cursor, count, opts));
79
+ }
80
+ else {
81
+ const count = header >> 1;
82
+ values.push(...decodeRunRepeated(cursor, count, opts));
83
+ }
84
+ }
85
+ values = values.slice(0, count);
86
+ if (values.length !== count) {
87
+ throw new Error('invalid RLE encoding');
88
+ }
89
+ return values;
90
+ }
91
+ exports.decodeValues = decodeValues;
92
+ function decodeRunBitpacked(cursor, count, opts) {
93
+ // @ts-ignore
94
+ const bitWidth = opts.bitWidth;
95
+ if (count % 8 !== 0) {
96
+ throw new Error('must be a multiple of 8');
97
+ }
98
+ // tslint:disable-next-line:prefer-array-literal
99
+ const values = new Array(count).fill(0);
100
+ for (let b = 0; b < bitWidth * count; b++) {
101
+ if (cursor.buffer[cursor.offset + Math.floor(b / 8)] & (1 << b % 8)) {
102
+ values[Math.floor(b / bitWidth)] |= 1 << b % bitWidth;
103
+ }
104
+ }
105
+ cursor.offset += bitWidth * (count / 8);
106
+ return values;
107
+ }
108
+ function decodeRunRepeated(cursor, count, opts) {
109
+ // @ts-ignore
110
+ const bitWidth = opts.bitWidth;
111
+ let value = 0;
112
+ for (let i = 0; i < Math.ceil(bitWidth / 8); i++) {
113
+ // eslint-disable-next-line
114
+ value << 8; // TODO - this looks wrong
115
+ value += cursor.buffer[cursor.offset];
116
+ cursor.offset += 1;
117
+ }
118
+ // tslint:disable-next-line:prefer-array-literal
119
+ return new Array(count).fill(value);
120
+ }
121
+ function encodeRunBitpacked(values, opts) {
122
+ // @ts-ignore
123
+ const bitWidth = opts.bitWidth;
124
+ for (let i = 0; i < values.length % 8; i++) {
125
+ values.push(0);
126
+ }
127
+ const buf = Buffer.alloc(Math.ceil(bitWidth * (values.length / 8)));
128
+ for (let b = 0; b < bitWidth * values.length; b++) {
129
+ if ((values[Math.floor(b / bitWidth)] & (1 << b % bitWidth)) > 0) {
130
+ buf[Math.floor(b / 8)] |= 1 << b % 8;
131
+ }
132
+ }
133
+ return Buffer.concat([Buffer.from(varint_1.default.encode(((values.length / 8) << 1) | 1)), buf]);
134
+ }
135
+ function encodeRunRepeated(value, count, opts) {
136
+ // @ts-ignore
137
+ const bitWidth = opts.bitWidth;
138
+ const buf = Buffer.alloc(Math.ceil(bitWidth / 8));
139
+ for (let i = 0; i < buf.length; i++) {
140
+ buf.writeUInt8(value & 0xff, i);
141
+ // eslint-disable-next-line
142
+ value >> 8; // TODO - this looks wrong
143
+ }
144
+ return Buffer.concat([Buffer.from(varint_1.default.encode(count << 1)), buf]);
145
+ }
@@ -0,0 +1,23 @@
1
+ /// <reference types="node" />
2
+ import { Compression } from '@loaders.gl/compression';
3
+ import { ParquetCompression } from './schema/declare';
4
+ export declare const PARQUET_COMPRESSION_METHODS: Record<ParquetCompression, Compression>;
5
+ /**
6
+ * Register compressions that have big external libraries
7
+ * @param options.modules External library dependencies
8
+ */
9
+ export declare function preloadCompressions(options?: {
10
+ modules: {
11
+ [key: string]: any;
12
+ };
13
+ }): Promise<void[]>;
14
+ /**
15
+ * Deflate a value using compression method `method`
16
+ */
17
+ export declare function deflate(method: ParquetCompression, value: Buffer): Promise<Buffer>;
18
+ /**
19
+ * Inflate a value using compression method `method`
20
+ */
21
+ export declare function decompress(method: ParquetCompression, value: Buffer, size: number): Promise<Buffer>;
22
+ export declare function inflate(method: ParquetCompression, value: Buffer, size: number): Buffer;
23
+ //# sourceMappingURL=compression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/parquetjs/compression.ts"],"names":[],"mappings":";AAIA,OAAO,EACL,WAAW,EAQZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AA0BpD,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAU/E,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAAC,OAAO,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;CAAC,mBAGlF;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAQjB;AAKD,wBAAgB,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvF"}