@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,418 @@
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.fromPrimitive = exports.toPrimitive = exports.PARQUET_LOGICAL_TYPES = void 0;
7
+ // Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
8
+ /* eslint-disable camelcase */
9
+ const bson_1 = __importDefault(require("bson"));
10
+ exports.PARQUET_LOGICAL_TYPES = {
11
+ BOOLEAN: {
12
+ primitiveType: 'BOOLEAN',
13
+ toPrimitive: toPrimitive_BOOLEAN,
14
+ fromPrimitive: fromPrimitive_BOOLEAN
15
+ },
16
+ INT32: {
17
+ primitiveType: 'INT32',
18
+ toPrimitive: toPrimitive_INT32
19
+ },
20
+ INT64: {
21
+ primitiveType: 'INT64',
22
+ toPrimitive: toPrimitive_INT64
23
+ },
24
+ INT96: {
25
+ primitiveType: 'INT96',
26
+ toPrimitive: toPrimitive_INT96
27
+ },
28
+ FLOAT: {
29
+ primitiveType: 'FLOAT',
30
+ toPrimitive: toPrimitive_FLOAT
31
+ },
32
+ DOUBLE: {
33
+ primitiveType: 'DOUBLE',
34
+ toPrimitive: toPrimitive_DOUBLE
35
+ },
36
+ BYTE_ARRAY: {
37
+ primitiveType: 'BYTE_ARRAY',
38
+ toPrimitive: toPrimitive_BYTE_ARRAY
39
+ },
40
+ FIXED_LEN_BYTE_ARRAY: {
41
+ primitiveType: 'FIXED_LEN_BYTE_ARRAY',
42
+ toPrimitive: toPrimitive_BYTE_ARRAY
43
+ },
44
+ UTF8: {
45
+ primitiveType: 'BYTE_ARRAY',
46
+ originalType: 'UTF8',
47
+ toPrimitive: toPrimitive_UTF8,
48
+ fromPrimitive: fromPrimitive_UTF8
49
+ },
50
+ TIME_MILLIS: {
51
+ primitiveType: 'INT32',
52
+ originalType: 'TIME_MILLIS',
53
+ toPrimitive: toPrimitive_TIME_MILLIS
54
+ },
55
+ TIME_MICROS: {
56
+ primitiveType: 'INT64',
57
+ originalType: 'TIME_MICROS',
58
+ toPrimitive: toPrimitive_TIME_MICROS
59
+ },
60
+ DATE: {
61
+ primitiveType: 'INT32',
62
+ originalType: 'DATE',
63
+ toPrimitive: toPrimitive_DATE,
64
+ fromPrimitive: fromPrimitive_DATE
65
+ },
66
+ TIMESTAMP_MILLIS: {
67
+ primitiveType: 'INT64',
68
+ originalType: 'TIMESTAMP_MILLIS',
69
+ toPrimitive: toPrimitive_TIMESTAMP_MILLIS,
70
+ fromPrimitive: fromPrimitive_TIMESTAMP_MILLIS
71
+ },
72
+ TIMESTAMP_MICROS: {
73
+ primitiveType: 'INT64',
74
+ originalType: 'TIMESTAMP_MICROS',
75
+ toPrimitive: toPrimitive_TIMESTAMP_MICROS,
76
+ fromPrimitive: fromPrimitive_TIMESTAMP_MICROS
77
+ },
78
+ UINT_8: {
79
+ primitiveType: 'INT32',
80
+ originalType: 'UINT_8',
81
+ toPrimitive: toPrimitive_UINT8
82
+ },
83
+ UINT_16: {
84
+ primitiveType: 'INT32',
85
+ originalType: 'UINT_16',
86
+ toPrimitive: toPrimitive_UINT16
87
+ },
88
+ UINT_32: {
89
+ primitiveType: 'INT32',
90
+ originalType: 'UINT_32',
91
+ toPrimitive: toPrimitive_UINT32
92
+ },
93
+ UINT_64: {
94
+ primitiveType: 'INT64',
95
+ originalType: 'UINT_64',
96
+ toPrimitive: toPrimitive_UINT64
97
+ },
98
+ INT_8: {
99
+ primitiveType: 'INT32',
100
+ originalType: 'INT_8',
101
+ toPrimitive: toPrimitive_INT8
102
+ },
103
+ INT_16: {
104
+ primitiveType: 'INT32',
105
+ originalType: 'INT_16',
106
+ toPrimitive: toPrimitive_INT16
107
+ },
108
+ INT_32: {
109
+ primitiveType: 'INT32',
110
+ originalType: 'INT_32',
111
+ toPrimitive: toPrimitive_INT32
112
+ },
113
+ INT_64: {
114
+ primitiveType: 'INT64',
115
+ originalType: 'INT_64',
116
+ toPrimitive: toPrimitive_INT64
117
+ },
118
+ JSON: {
119
+ primitiveType: 'BYTE_ARRAY',
120
+ originalType: 'JSON',
121
+ toPrimitive: toPrimitive_JSON,
122
+ fromPrimitive: fromPrimitive_JSON
123
+ },
124
+ BSON: {
125
+ primitiveType: 'BYTE_ARRAY',
126
+ originalType: 'BSON',
127
+ toPrimitive: toPrimitive_BSON,
128
+ fromPrimitive: fromPrimitive_BSON
129
+ },
130
+ INTERVAL: {
131
+ primitiveType: 'FIXED_LEN_BYTE_ARRAY',
132
+ originalType: 'INTERVAL',
133
+ typeLength: 12,
134
+ toPrimitive: toPrimitive_INTERVAL,
135
+ fromPrimitive: fromPrimitive_INTERVAL
136
+ },
137
+ DECIMAL_INT32: {
138
+ primitiveType: 'INT32',
139
+ originalType: 'DECIMAL_INT32',
140
+ toPrimitive: decimalToPrimitive_INT32,
141
+ fromPrimitive: decimalFromPrimitive_INT
142
+ },
143
+ DECIMAL_INT64: {
144
+ primitiveType: 'INT64',
145
+ originalType: 'DECIMAL_INT64',
146
+ toPrimitive: decimalToPrimitive_INT64,
147
+ fromPrimitive: decimalFromPrimitive_INT
148
+ },
149
+ DECIMAL_BYTE_ARRAY: {
150
+ primitiveType: 'BYTE_ARRAY',
151
+ originalType: 'DECIMAL_BYTE_ARRAY',
152
+ toPrimitive: decimalToPrimitive_BYTE_ARRAY,
153
+ fromPrimitive: decimalFromPrimitive_BYTE_ARRAY
154
+ },
155
+ DECIMAL_FIXED_LEN_BYTE_ARRAY: {
156
+ primitiveType: 'FIXED_LEN_BYTE_ARRAY',
157
+ originalType: 'DECIMAL_FIXED_LEN_BYTE_ARRAY',
158
+ toPrimitive: decimalToPrimitive_BYTE_ARRAY,
159
+ fromPrimitive: decimalFromPrimitive_BYTE_ARRAY
160
+ }
161
+ };
162
+ /**
163
+ * Convert a value from it's native representation to the internal/underlying
164
+ * primitive type
165
+ */
166
+ function toPrimitive(type, value, field) {
167
+ if (!(type in exports.PARQUET_LOGICAL_TYPES)) {
168
+ throw new Error(`invalid type: ${type}`);
169
+ }
170
+ return exports.PARQUET_LOGICAL_TYPES[type].toPrimitive(value, field);
171
+ }
172
+ exports.toPrimitive = toPrimitive;
173
+ /**
174
+ * Convert a value from it's internal/underlying primitive representation to
175
+ * the native representation
176
+ */
177
+ function fromPrimitive(type, value, field) {
178
+ if (!(type in exports.PARQUET_LOGICAL_TYPES)) {
179
+ throw new Error(`invalid type: ${type}`);
180
+ }
181
+ if ('fromPrimitive' in exports.PARQUET_LOGICAL_TYPES[type]) {
182
+ return exports.PARQUET_LOGICAL_TYPES[type].fromPrimitive?.(value, field);
183
+ // tslint:disable-next-line:no-else-after-return
184
+ }
185
+ return value;
186
+ }
187
+ exports.fromPrimitive = fromPrimitive;
188
+ function toPrimitive_BOOLEAN(value) {
189
+ return Boolean(value);
190
+ }
191
+ function fromPrimitive_BOOLEAN(value) {
192
+ return Boolean(value);
193
+ }
194
+ function toPrimitive_FLOAT(value) {
195
+ const v = parseFloat(value);
196
+ if (isNaN(v)) {
197
+ throw new Error(`invalid value for FLOAT: ${value}`);
198
+ }
199
+ return v;
200
+ }
201
+ function toPrimitive_DOUBLE(value) {
202
+ const v = parseFloat(value);
203
+ if (isNaN(v)) {
204
+ throw new Error(`invalid value for DOUBLE: ${value}`);
205
+ }
206
+ return v;
207
+ }
208
+ function toPrimitive_INT8(value) {
209
+ const v = parseInt(value, 10);
210
+ if (v < -0x80 || v > 0x7f || isNaN(v)) {
211
+ throw new Error(`invalid value for INT8: ${value}`);
212
+ }
213
+ return v;
214
+ }
215
+ function toPrimitive_UINT8(value) {
216
+ const v = parseInt(value, 10);
217
+ if (v < 0 || v > 0xff || isNaN(v)) {
218
+ throw new Error(`invalid value for UINT8: ${value}`);
219
+ }
220
+ return v;
221
+ }
222
+ function toPrimitive_INT16(value) {
223
+ const v = parseInt(value, 10);
224
+ if (v < -0x8000 || v > 0x7fff || isNaN(v)) {
225
+ throw new Error(`invalid value for INT16: ${value}`);
226
+ }
227
+ return v;
228
+ }
229
+ function toPrimitive_UINT16(value) {
230
+ const v = parseInt(value, 10);
231
+ if (v < 0 || v > 0xffff || isNaN(v)) {
232
+ throw new Error(`invalid value for UINT16: ${value}`);
233
+ }
234
+ return v;
235
+ }
236
+ function toPrimitive_INT32(value) {
237
+ const v = parseInt(value, 10);
238
+ if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {
239
+ throw new Error(`invalid value for INT32: ${value}`);
240
+ }
241
+ return v;
242
+ }
243
+ function decimalToPrimitive_INT32(value, field) {
244
+ const primitiveValue = value * 10 ** (field.scale || 0);
245
+ const v = Math.round(((primitiveValue * 10 ** -field.presision) % 1) * 10 ** field.presision);
246
+ if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {
247
+ throw new Error(`invalid value for INT32: ${value}`);
248
+ }
249
+ return v;
250
+ }
251
+ function toPrimitive_UINT32(value) {
252
+ const v = parseInt(value, 10);
253
+ if (v < 0 || v > 0xffffffffffff || isNaN(v)) {
254
+ throw new Error(`invalid value for UINT32: ${value}`);
255
+ }
256
+ return v;
257
+ }
258
+ function toPrimitive_INT64(value) {
259
+ const v = parseInt(value, 10);
260
+ if (isNaN(v)) {
261
+ throw new Error(`invalid value for INT64: ${value}`);
262
+ }
263
+ return v;
264
+ }
265
+ function decimalToPrimitive_INT64(value, field) {
266
+ const primitiveValue = value * 10 ** (field.scale || 0);
267
+ const v = Math.round(((primitiveValue * 10 ** -field.presision) % 1) * 10 ** field.presision);
268
+ if (isNaN(v)) {
269
+ throw new Error(`invalid value for INT64: ${value}`);
270
+ }
271
+ return v;
272
+ }
273
+ function toPrimitive_UINT64(value) {
274
+ const v = parseInt(value, 10);
275
+ if (v < 0 || isNaN(v)) {
276
+ throw new Error(`invalid value for UINT64: ${value}`);
277
+ }
278
+ return v;
279
+ }
280
+ function toPrimitive_INT96(value) {
281
+ const v = parseInt(value, 10);
282
+ if (isNaN(v)) {
283
+ throw new Error(`invalid value for INT96: ${value}`);
284
+ }
285
+ return v;
286
+ }
287
+ function toPrimitive_BYTE_ARRAY(value) {
288
+ return Buffer.from(value);
289
+ }
290
+ function decimalToPrimitive_BYTE_ARRAY(value) {
291
+ // TBD
292
+ return Buffer.from(value);
293
+ }
294
+ function toPrimitive_UTF8(value) {
295
+ return Buffer.from(value, 'utf8');
296
+ }
297
+ function fromPrimitive_UTF8(value) {
298
+ return value.toString();
299
+ }
300
+ function toPrimitive_JSON(value) {
301
+ return Buffer.from(JSON.stringify(value));
302
+ }
303
+ function fromPrimitive_JSON(value) {
304
+ return JSON.parse(value);
305
+ }
306
+ function toPrimitive_BSON(value) {
307
+ return Buffer.from(bson_1.default.serialize(value));
308
+ }
309
+ function fromPrimitive_BSON(value) {
310
+ return bson_1.default.deserialize(value);
311
+ }
312
+ function toPrimitive_TIME_MILLIS(value) {
313
+ const v = parseInt(value, 10);
314
+ if (v < 0 || v > 0xffffffffffffffff || isNaN(v)) {
315
+ throw new Error(`invalid value for TIME_MILLIS: ${value}`);
316
+ }
317
+ return v;
318
+ }
319
+ function toPrimitive_TIME_MICROS(value) {
320
+ const v = parseInt(value, 10);
321
+ if (v < 0 || isNaN(v)) {
322
+ throw new Error(`invalid value for TIME_MICROS: ${value}`);
323
+ }
324
+ return v;
325
+ }
326
+ const kMillisPerDay = 86400000;
327
+ function toPrimitive_DATE(value) {
328
+ /* convert from date */
329
+ if (value instanceof Date) {
330
+ return value.getTime() / kMillisPerDay;
331
+ }
332
+ /* convert from integer */
333
+ {
334
+ const v = parseInt(value, 10);
335
+ if (v < 0 || isNaN(v)) {
336
+ throw new Error(`invalid value for DATE: ${value}`);
337
+ }
338
+ return v;
339
+ }
340
+ }
341
+ function fromPrimitive_DATE(value) {
342
+ return new Date(value * kMillisPerDay);
343
+ }
344
+ function toPrimitive_TIMESTAMP_MILLIS(value) {
345
+ /* convert from date */
346
+ if (value instanceof Date) {
347
+ return value.getTime();
348
+ }
349
+ /* convert from integer */
350
+ {
351
+ const v = parseInt(value, 10);
352
+ if (v < 0 || isNaN(v)) {
353
+ throw new Error(`invalid value for TIMESTAMP_MILLIS: ${value}`);
354
+ }
355
+ return v;
356
+ }
357
+ }
358
+ function fromPrimitive_TIMESTAMP_MILLIS(value) {
359
+ return new Date(value);
360
+ }
361
+ function toPrimitive_TIMESTAMP_MICROS(value) {
362
+ /* convert from date */
363
+ if (value instanceof Date) {
364
+ return value.getTime() * 1000;
365
+ }
366
+ /* convert from integer */
367
+ {
368
+ const v = parseInt(value, 10);
369
+ if (v < 0 || isNaN(v)) {
370
+ throw new Error(`invalid value for TIMESTAMP_MICROS: ${value}`);
371
+ }
372
+ return v;
373
+ }
374
+ }
375
+ function fromPrimitive_TIMESTAMP_MICROS(value) {
376
+ return new Date(value / 1000);
377
+ }
378
+ function toPrimitive_INTERVAL(value) {
379
+ if (!value.months || !value.days || !value.milliseconds) {
380
+ throw new Error('value for INTERVAL must be object { months: ..., days: ..., milliseconds: ... }');
381
+ }
382
+ const buf = Buffer.alloc(12);
383
+ buf.writeUInt32LE(value.months, 0);
384
+ buf.writeUInt32LE(value.days, 4);
385
+ buf.writeUInt32LE(value.milliseconds, 8);
386
+ return buf;
387
+ }
388
+ function fromPrimitive_INTERVAL(value) {
389
+ const buf = Buffer.from(value);
390
+ const months = buf.readUInt32LE(0);
391
+ const days = buf.readUInt32LE(4);
392
+ const millis = buf.readUInt32LE(8);
393
+ return { months, days, milliseconds: millis };
394
+ }
395
+ function decimalFromPrimitive_INT(value, field) {
396
+ const presisionInt = Math.round(((value * 10 ** -field.presision) % 1) * 10 ** field.presision);
397
+ return presisionInt * 10 ** -(field.scale || 0);
398
+ }
399
+ function decimalFromPrimitive_BYTE_ARRAY(value, field) {
400
+ let number = 0;
401
+ if (value.length <= 4) {
402
+ // Bytewise operators faster. Use them if it is possible
403
+ for (let i = 0; i < value.length; i++) {
404
+ // `value.length - i - 1` bytes have reverse order (big-endian)
405
+ const component = value[i] << (8 * (value.length - i - 1));
406
+ number += component;
407
+ }
408
+ }
409
+ else {
410
+ for (let i = 0; i < value.length; i++) {
411
+ // `value.length - i - 1` bytes have reverse order (big-endian)
412
+ const component = value[i] * 2 ** (8 * (value.length - 1 - i));
413
+ number += component;
414
+ }
415
+ }
416
+ const presisionInt = Math.round(((number * 10 ** -field.presision) % 1) * 10 ** field.presision);
417
+ return presisionInt * 10 ** -(field.scale || 0);
418
+ }
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Convert Buffer to ArrayBuffer
4
+ */
5
+ export declare function toArrayBuffer(buffer: Buffer): ArrayBuffer;
6
+ /**
7
+ * Convert (copy) ArrayBuffer to Buffer
8
+ */
9
+ export declare function toBuffer(arrayBuffer: ArrayBuffer): Buffer;
10
+ //# sourceMappingURL=buffer-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-utils.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/utils/buffer-utils.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAOzD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAEzD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toBuffer = exports.toArrayBuffer = void 0;
4
+ /**
5
+ * Convert Buffer to ArrayBuffer
6
+ */
7
+ function toArrayBuffer(buffer) {
8
+ // TODO - per docs we should just be able to call buffer.buffer, but there are issues
9
+ if (Buffer.isBuffer(buffer)) {
10
+ const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
11
+ return typedArray.slice().buffer;
12
+ }
13
+ return buffer;
14
+ }
15
+ exports.toArrayBuffer = toArrayBuffer;
16
+ /**
17
+ * Convert (copy) ArrayBuffer to Buffer
18
+ */
19
+ function toBuffer(arrayBuffer) {
20
+ return Buffer.from(arrayBuffer);
21
+ }
22
+ exports.toBuffer = toBuffer;
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" />
2
+ import fs from 'fs';
3
+ import { Writable } from 'stream';
4
+ export declare function load(name: string): any;
5
+ export interface WriteStreamOptions {
6
+ flags?: string;
7
+ encoding?: string;
8
+ fd?: number;
9
+ mode?: number;
10
+ autoClose?: boolean;
11
+ start?: number;
12
+ }
13
+ export declare function oswrite(os: Writable, buf: Buffer): Promise<void>;
14
+ export declare function osclose(os: Writable): Promise<void>;
15
+ export declare function osopen(path: string, opts?: WriteStreamOptions): Promise<fs.WriteStream>;
16
+ //# sourceMappingURL=file-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/utils/file-utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAEhC,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAEtC;AACD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAMvF"}
@@ -0,0 +1,46 @@
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.osopen = exports.osclose = exports.oswrite = exports.load = void 0;
7
+ // Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)
8
+ const fs_1 = __importDefault(require("fs"));
9
+ function load(name) {
10
+ return (module || global).require(name);
11
+ }
12
+ exports.load = load;
13
+ function oswrite(os, buf) {
14
+ return new Promise((resolve, reject) => {
15
+ os.write(buf, (err) => {
16
+ if (err) {
17
+ reject(err);
18
+ }
19
+ else {
20
+ resolve();
21
+ }
22
+ });
23
+ });
24
+ }
25
+ exports.oswrite = oswrite;
26
+ function osclose(os) {
27
+ return new Promise((resolve, reject) => {
28
+ os.close((err) => {
29
+ if (err) {
30
+ reject(err);
31
+ }
32
+ else {
33
+ resolve();
34
+ }
35
+ });
36
+ });
37
+ }
38
+ exports.osclose = osclose;
39
+ function osopen(path, opts) {
40
+ return new Promise((resolve, reject) => {
41
+ const outputStream = fs_1.default.createWriteStream(path, opts);
42
+ outputStream.once('open', (fd) => resolve(outputStream));
43
+ outputStream.once('error', (err) => reject(err));
44
+ });
45
+ }
46
+ exports.osopen = osopen;
@@ -0,0 +1,25 @@
1
+ /// <reference types="node" />
2
+ import { FileMetaData, PageHeader } from '../parquet-thrift';
3
+ /**
4
+ * Helper function that serializes a thrift object into a buffer
5
+ */
6
+ export declare function serializeThrift(obj: any): Buffer;
7
+ export declare function decodeThrift(obj: any, buf: Buffer, offset?: number): number;
8
+ /**
9
+ * FIXME not ideal that this is linear
10
+ */
11
+ export declare function getThriftEnum(klass: any, value: number | string): string;
12
+ export declare function decodeFileMetadata(buf: Buffer, offset?: number): {
13
+ length: number;
14
+ metadata: FileMetaData;
15
+ };
16
+ export declare function decodePageHeader(buf: Buffer, offset?: number): {
17
+ length: number;
18
+ pageHeader: PageHeader;
19
+ };
20
+ /**
21
+ * Get the number of bits required to store a given value
22
+ */
23
+ export declare function getBitWidth(val: number): number;
24
+ export declare function fieldIndexOf(arr: string[][], elem: string[]): number;
25
+ //# sourceMappingURL=read-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-utils.d.ts","sourceRoot":"","sources":["../../../src/parquetjs/utils/read-utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAM3D;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAYhD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,UAWlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOxE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;EAW9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;EAW5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C;AAKD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAmBpE"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fieldIndexOf = exports.getBitWidth = exports.decodePageHeader = exports.decodeFileMetadata = exports.getThriftEnum = exports.decodeThrift = exports.serializeThrift = void 0;
4
+ const thrift_1 = require("thrift");
5
+ const parquet_thrift_1 = require("../parquet-thrift");
6
+ class UFramedTransport extends thrift_1.TFramedTransport {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.readPos = 0;
10
+ }
11
+ }
12
+ /**
13
+ * Helper function that serializes a thrift object into a buffer
14
+ */
15
+ function serializeThrift(obj) {
16
+ const output = [];
17
+ const transport = new thrift_1.TBufferedTransport(undefined, (buf) => {
18
+ output.push(buf);
19
+ });
20
+ const protocol = new thrift_1.TCompactProtocol(transport);
21
+ obj.write(protocol);
22
+ transport.flush();
23
+ return Buffer.concat(output);
24
+ }
25
+ exports.serializeThrift = serializeThrift;
26
+ function decodeThrift(obj, buf, offset) {
27
+ if (!offset) {
28
+ // tslint:disable-next-line:no-parameter-reassignment
29
+ offset = 0;
30
+ }
31
+ const transport = new UFramedTransport(buf);
32
+ transport.readPos = offset;
33
+ const protocol = new thrift_1.TCompactProtocol(transport);
34
+ obj.read(protocol);
35
+ return transport.readPos - offset;
36
+ }
37
+ exports.decodeThrift = decodeThrift;
38
+ /**
39
+ * FIXME not ideal that this is linear
40
+ */
41
+ function getThriftEnum(klass, value) {
42
+ for (const k in klass) {
43
+ if (klass[k] === value) {
44
+ return k;
45
+ }
46
+ }
47
+ throw new Error('Invalid ENUM value');
48
+ }
49
+ exports.getThriftEnum = getThriftEnum;
50
+ function decodeFileMetadata(buf, offset) {
51
+ if (!offset) {
52
+ // tslint:disable-next-line:no-parameter-reassignment
53
+ offset = 0;
54
+ }
55
+ const transport = new UFramedTransport(buf);
56
+ transport.readPos = offset;
57
+ const protocol = new thrift_1.TCompactProtocol(transport);
58
+ const metadata = parquet_thrift_1.FileMetaData.read(protocol);
59
+ return { length: transport.readPos - offset, metadata };
60
+ }
61
+ exports.decodeFileMetadata = decodeFileMetadata;
62
+ function decodePageHeader(buf, offset) {
63
+ if (!offset) {
64
+ // tslint:disable-next-line:no-parameter-reassignment
65
+ offset = 0;
66
+ }
67
+ const transport = new UFramedTransport(buf);
68
+ transport.readPos = offset;
69
+ const protocol = new thrift_1.TCompactProtocol(transport);
70
+ const pageHeader = parquet_thrift_1.PageHeader.read(protocol);
71
+ return { length: transport.readPos - offset, pageHeader };
72
+ }
73
+ exports.decodePageHeader = decodePageHeader;
74
+ /**
75
+ * Get the number of bits required to store a given value
76
+ */
77
+ function getBitWidth(val) {
78
+ if (val === 0) {
79
+ return 0;
80
+ // tslint:disable-next-line:no-else-after-return
81
+ }
82
+ return Math.ceil(Math.log2(val + 1));
83
+ }
84
+ exports.getBitWidth = getBitWidth;
85
+ // Supports MQTT path wildcards
86
+ // + all immediate children
87
+ // # all descendents
88
+ function fieldIndexOf(arr, elem) {
89
+ for (let j = 0; j < arr.length; j++) {
90
+ if (arr[j].length > elem.length) {
91
+ continue; // eslint-disable-line no-continue
92
+ }
93
+ let m = true;
94
+ for (let i = 0; i < elem.length; i++) {
95
+ if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {
96
+ continue; // eslint-disable-line no-continue
97
+ }
98
+ if (i >= arr[j].length && arr[j][arr[j].length - 1] === '#') {
99
+ continue; // eslint-disable-line no-continue
100
+ }
101
+ m = false;
102
+ break;
103
+ }
104
+ if (m)
105
+ return j;
106
+ }
107
+ return -1;
108
+ }
109
+ exports.fieldIndexOf = fieldIndexOf;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parquet-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-worker.d.ts","sourceRoot":"","sources":["../../src/workers/parquet-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
4
+ const index_1 = require("../index");
5
+ (0, loader_utils_1.createLoaderWorker)(index_1.ParquetLoader);