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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/constants.js +18 -6
  3. package/dist/dist.min.js +27 -25
  4. package/dist/dist.min.js.map +3 -3
  5. package/dist/es5/bundle.js +6 -0
  6. package/dist/es5/bundle.js.map +1 -0
  7. package/dist/es5/constants.js +17 -0
  8. package/dist/es5/constants.js.map +1 -0
  9. package/dist/es5/index.js +128 -0
  10. package/dist/es5/index.js.map +1 -0
  11. package/dist/es5/lib/arrow/convert-columns-to-row-group.js +2 -0
  12. package/dist/es5/lib/arrow/convert-columns-to-row-group.js.map +1 -0
  13. package/dist/es5/lib/arrow/convert-row-group-to-columns.js +19 -0
  14. package/dist/es5/lib/arrow/convert-row-group-to-columns.js.map +1 -0
  15. package/dist/es5/lib/arrow/convert-schema-from-parquet.js +114 -0
  16. package/dist/es5/lib/arrow/convert-schema-from-parquet.js.map +1 -0
  17. package/dist/es5/lib/arrow/convert-schema-to-parquet.js +47 -0
  18. package/dist/es5/lib/arrow/convert-schema-to-parquet.js.map +1 -0
  19. package/dist/es5/lib/geo/decode-geo-metadata.js +81 -0
  20. package/dist/es5/lib/geo/decode-geo-metadata.js.map +1 -0
  21. package/dist/es5/lib/geo/geoparquet-schema.js +83 -0
  22. package/dist/es5/lib/geo/geoparquet-schema.js.map +1 -0
  23. package/dist/es5/lib/parsers/parse-parquet-to-columns.js +177 -0
  24. package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +1 -0
  25. package/dist/es5/lib/parsers/parse-parquet-to-rows.js +172 -0
  26. package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +1 -0
  27. package/dist/es5/lib/wasm/encode-parquet-wasm.js +43 -0
  28. package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +1 -0
  29. package/dist/es5/lib/wasm/load-wasm/index.js +13 -0
  30. package/dist/es5/lib/wasm/load-wasm/index.js.map +1 -0
  31. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +42 -0
  32. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
  33. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +31 -0
  34. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
  35. package/dist/es5/lib/wasm/parse-parquet-wasm.js +60 -0
  36. package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +1 -0
  37. package/dist/es5/lib/wip/convert-schema-deep.java.disabled +910 -0
  38. package/dist/es5/lib/wip/convert-schema-deep.rs.disabled +976 -0
  39. package/dist/es5/parquet-loader.js +44 -0
  40. package/dist/es5/parquet-loader.js.map +1 -0
  41. package/dist/es5/parquet-wasm-loader.js +30 -0
  42. package/dist/es5/parquet-wasm-loader.js.map +1 -0
  43. package/dist/es5/parquet-wasm-writer.js +26 -0
  44. package/dist/es5/parquet-wasm-writer.js.map +1 -0
  45. package/dist/es5/parquet-writer.js +24 -0
  46. package/dist/es5/parquet-writer.js.map +1 -0
  47. package/dist/es5/parquetjs/codecs/declare.js +2 -0
  48. package/dist/es5/parquetjs/codecs/declare.js.map +1 -0
  49. package/dist/es5/parquetjs/codecs/dictionary.js +23 -0
  50. package/dist/es5/parquetjs/codecs/dictionary.js.map +1 -0
  51. package/dist/es5/parquetjs/codecs/index.js +47 -0
  52. package/dist/es5/parquetjs/codecs/index.js.map +1 -0
  53. package/dist/es5/parquetjs/codecs/plain.js +208 -0
  54. package/dist/es5/parquetjs/codecs/plain.js.map +1 -0
  55. package/dist/es5/parquetjs/codecs/rle.js +132 -0
  56. package/dist/es5/parquetjs/codecs/rle.js.map +1 -0
  57. package/dist/es5/parquetjs/compression.js +137 -0
  58. package/dist/es5/parquetjs/compression.js.map +1 -0
  59. package/dist/es5/parquetjs/encoder/parquet-encoder.js +625 -0
  60. package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +1 -0
  61. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +14 -0
  62. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
  63. package/dist/es5/parquetjs/parquet-thrift/BsonType.js +52 -0
  64. package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +1 -0
  65. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +193 -0
  66. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
  67. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +198 -0
  68. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
  69. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +367 -0
  70. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
  71. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +99 -0
  72. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
  73. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +19 -0
  74. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
  75. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +33 -0
  76. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
  77. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +152 -0
  78. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
  79. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +207 -0
  80. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
  81. package/dist/es5/parquetjs/parquet-thrift/DateType.js +52 -0
  82. package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +1 -0
  83. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +96 -0
  84. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
  85. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +113 -0
  86. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
  87. package/dist/es5/parquetjs/parquet-thrift/Encoding.js +19 -0
  88. package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +1 -0
  89. package/dist/es5/parquetjs/parquet-thrift/EnumType.js +52 -0
  90. package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +1 -0
  91. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +14 -0
  92. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
  93. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +239 -0
  94. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
  95. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +52 -0
  96. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
  97. package/dist/es5/parquetjs/parquet-thrift/IntType.js +96 -0
  98. package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +1 -0
  99. package/dist/es5/parquetjs/parquet-thrift/JsonType.js +52 -0
  100. package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +1 -0
  101. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +94 -0
  102. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
  103. package/dist/es5/parquetjs/parquet-thrift/ListType.js +52 -0
  104. package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +1 -0
  105. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +423 -0
  106. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
  107. package/dist/es5/parquetjs/parquet-thrift/MapType.js +52 -0
  108. package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +1 -0
  109. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +52 -0
  110. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
  111. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +52 -0
  112. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
  113. package/dist/es5/parquetjs/parquet-thrift/NullType.js +52 -0
  114. package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +1 -0
  115. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +89 -0
  116. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
  117. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +115 -0
  118. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
  119. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +204 -0
  120. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
  121. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +124 -0
  122. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
  123. package/dist/es5/parquetjs/parquet-thrift/PageType.js +15 -0
  124. package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +1 -0
  125. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +165 -0
  126. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
  127. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +231 -0
  128. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
  129. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +115 -0
  130. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
  131. package/dist/es5/parquetjs/parquet-thrift/Statistics.js +165 -0
  132. package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +1 -0
  133. package/dist/es5/parquetjs/parquet-thrift/StringType.js +52 -0
  134. package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +1 -0
  135. package/dist/es5/parquetjs/parquet-thrift/TimeType.js +97 -0
  136. package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +1 -0
  137. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +126 -0
  138. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
  139. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +97 -0
  140. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
  141. package/dist/es5/parquetjs/parquet-thrift/Type.js +19 -0
  142. package/dist/es5/parquetjs/parquet-thrift/Type.js.map +1 -0
  143. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +52 -0
  144. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
  145. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +52 -0
  146. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
  147. package/dist/es5/parquetjs/parquet-thrift/index.js +479 -0
  148. package/dist/es5/parquetjs/parquet-thrift/index.js.map +1 -0
  149. package/dist/es5/parquetjs/parser/decoders.js +393 -0
  150. package/dist/es5/parquetjs/parser/decoders.js.map +1 -0
  151. package/dist/es5/parquetjs/parser/parquet-reader.js +610 -0
  152. package/dist/es5/parquetjs/parser/parquet-reader.js.map +1 -0
  153. package/dist/es5/parquetjs/schema/declare.js +21 -0
  154. package/dist/es5/parquetjs/schema/declare.js.map +1 -0
  155. package/dist/es5/parquetjs/schema/schema.js +165 -0
  156. package/dist/es5/parquetjs/schema/schema.js.map +1 -0
  157. package/dist/es5/parquetjs/schema/shred.js +282 -0
  158. package/dist/es5/parquetjs/schema/shred.js.map +1 -0
  159. package/dist/es5/parquetjs/schema/types.js +406 -0
  160. package/dist/es5/parquetjs/schema/types.js.map +1 -0
  161. package/dist/es5/parquetjs/utils/file-utils.js +47 -0
  162. package/dist/es5/parquetjs/utils/file-utils.js.map +1 -0
  163. package/dist/es5/parquetjs/utils/read-utils.js +120 -0
  164. package/dist/es5/parquetjs/utils/read-utils.js.map +1 -0
  165. package/dist/es5/workers/parquet-worker.js +6 -0
  166. package/dist/es5/workers/parquet-worker.js.map +1 -0
  167. package/dist/esm/bundle.js +4 -0
  168. package/dist/esm/bundle.js.map +1 -0
  169. package/dist/esm/constants.js +6 -0
  170. package/dist/esm/constants.js.map +1 -0
  171. package/dist/esm/index.js +31 -0
  172. package/dist/esm/index.js.map +1 -0
  173. package/dist/esm/lib/arrow/convert-columns-to-row-group.js +2 -0
  174. package/dist/esm/lib/arrow/convert-columns-to-row-group.js.map +1 -0
  175. package/dist/esm/lib/arrow/convert-row-group-to-columns.js +8 -0
  176. package/dist/esm/lib/arrow/convert-row-group-to-columns.js.map +1 -0
  177. package/dist/esm/lib/arrow/convert-schema-from-parquet.js +95 -0
  178. package/dist/esm/lib/arrow/convert-schema-from-parquet.js.map +1 -0
  179. package/dist/esm/lib/arrow/convert-schema-to-parquet.js +39 -0
  180. package/dist/esm/lib/arrow/convert-schema-to-parquet.js.map +1 -0
  181. package/dist/esm/lib/geo/decode-geo-metadata.js +62 -0
  182. package/dist/esm/lib/geo/decode-geo-metadata.js.map +1 -0
  183. package/dist/esm/lib/geo/geoparquet-schema.js +76 -0
  184. package/dist/esm/lib/geo/geoparquet-schema.js.map +1 -0
  185. package/dist/esm/lib/parsers/parse-parquet-to-columns.js +39 -0
  186. package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +1 -0
  187. package/dist/esm/lib/parsers/parse-parquet-to-rows.js +29 -0
  188. package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +1 -0
  189. package/dist/esm/lib/wasm/encode-parquet-wasm.js +15 -0
  190. package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +1 -0
  191. package/dist/esm/lib/wasm/load-wasm/index.js +2 -0
  192. package/dist/esm/lib/wasm/load-wasm/index.js.map +1 -0
  193. package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js +11 -0
  194. package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
  195. package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js +5 -0
  196. package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
  197. package/dist/esm/lib/wasm/parse-parquet-wasm.js +21 -0
  198. package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +1 -0
  199. package/dist/esm/lib/wip/convert-schema-deep.java.disabled +910 -0
  200. package/dist/esm/lib/wip/convert-schema-deep.rs.disabled +976 -0
  201. package/dist/esm/parquet-loader.js +36 -0
  202. package/dist/esm/parquet-loader.js.map +1 -0
  203. package/dist/esm/parquet-wasm-loader.js +22 -0
  204. package/dist/esm/parquet-wasm-loader.js.map +1 -0
  205. package/dist/esm/parquet-wasm-writer.js +19 -0
  206. package/dist/esm/parquet-wasm-writer.js.map +1 -0
  207. package/dist/esm/parquet-writer.js +17 -0
  208. package/dist/esm/parquet-writer.js.map +1 -0
  209. package/dist/esm/parquetjs/LICENSE +20 -0
  210. package/dist/esm/parquetjs/codecs/declare.js +2 -0
  211. package/dist/esm/parquetjs/codecs/declare.js.map +1 -0
  212. package/dist/esm/parquetjs/codecs/dictionary.js +13 -0
  213. package/dist/esm/parquetjs/codecs/dictionary.js.map +1 -0
  214. package/dist/esm/parquetjs/codecs/index.js +23 -0
  215. package/dist/esm/parquetjs/codecs/index.js.map +1 -0
  216. package/dist/esm/parquetjs/codecs/plain.js +200 -0
  217. package/dist/esm/parquetjs/codecs/plain.js.map +1 -0
  218. package/dist/esm/parquetjs/codecs/rle.js +119 -0
  219. package/dist/esm/parquetjs/codecs/rle.js.map +1 -0
  220. package/dist/esm/parquetjs/compression.js +61 -0
  221. package/dist/esm/parquetjs/compression.js.map +1 -0
  222. package/dist/{parquetjs/encoder/writer.js → esm/parquetjs/encoder/parquet-encoder.js} +8 -106
  223. package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +1 -0
  224. package/dist/esm/parquetjs/modules.d.ts +21 -0
  225. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js +7 -0
  226. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
  227. package/dist/esm/parquetjs/parquet-thrift/BsonType.js +31 -0
  228. package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +1 -0
  229. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js +173 -0
  230. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
  231. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js +176 -0
  232. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
  233. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js +347 -0
  234. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
  235. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js +77 -0
  236. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
  237. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js +12 -0
  238. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
  239. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js +26 -0
  240. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
  241. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js +132 -0
  242. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
  243. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js +187 -0
  244. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
  245. package/dist/esm/parquetjs/parquet-thrift/DateType.js +31 -0
  246. package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +1 -0
  247. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js +76 -0
  248. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
  249. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js +93 -0
  250. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
  251. package/dist/esm/parquetjs/parquet-thrift/Encoding.js +12 -0
  252. package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +1 -0
  253. package/dist/esm/parquetjs/parquet-thrift/EnumType.js +31 -0
  254. package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +1 -0
  255. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js +7 -0
  256. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
  257. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js +219 -0
  258. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
  259. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js +31 -0
  260. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
  261. package/dist/esm/parquetjs/parquet-thrift/IntType.js +76 -0
  262. package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +1 -0
  263. package/dist/esm/parquetjs/parquet-thrift/JsonType.js +31 -0
  264. package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +1 -0
  265. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js +74 -0
  266. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
  267. package/dist/esm/parquetjs/parquet-thrift/ListType.js +31 -0
  268. package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +1 -0
  269. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js +377 -0
  270. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
  271. package/dist/esm/parquetjs/parquet-thrift/MapType.js +31 -0
  272. package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +1 -0
  273. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js +31 -0
  274. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
  275. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js +31 -0
  276. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
  277. package/dist/esm/parquetjs/parquet-thrift/NullType.js +31 -0
  278. package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +1 -0
  279. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js +69 -0
  280. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
  281. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js +95 -0
  282. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
  283. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js +184 -0
  284. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
  285. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js +104 -0
  286. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
  287. package/dist/esm/parquetjs/parquet-thrift/PageType.js +8 -0
  288. package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +1 -0
  289. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js +145 -0
  290. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
  291. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js +211 -0
  292. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
  293. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js +95 -0
  294. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
  295. package/dist/esm/parquetjs/parquet-thrift/Statistics.js +145 -0
  296. package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +1 -0
  297. package/dist/esm/parquetjs/parquet-thrift/StringType.js +31 -0
  298. package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +1 -0
  299. package/dist/esm/parquetjs/parquet-thrift/TimeType.js +77 -0
  300. package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +1 -0
  301. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js +102 -0
  302. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
  303. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js +77 -0
  304. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
  305. package/dist/esm/parquetjs/parquet-thrift/Type.js +12 -0
  306. package/dist/esm/parquetjs/parquet-thrift/Type.js.map +1 -0
  307. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js +31 -0
  308. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
  309. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js +31 -0
  310. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
  311. package/dist/esm/parquetjs/parquet-thrift/index.js +44 -0
  312. package/dist/esm/parquetjs/parquet-thrift/index.js.map +1 -0
  313. package/dist/esm/parquetjs/parser/decoders.js +253 -0
  314. package/dist/esm/parquetjs/parser/decoders.js.map +1 -0
  315. package/dist/{parquetjs/parser/parquet-envelope-reader.js → esm/parquetjs/parser/parquet-reader.js} +95 -74
  316. package/dist/esm/parquetjs/parser/parquet-reader.js.map +1 -0
  317. package/dist/esm/parquetjs/schema/declare.js +12 -0
  318. package/dist/esm/parquetjs/schema/declare.js.map +1 -0
  319. package/dist/esm/parquetjs/schema/schema.js +140 -0
  320. package/dist/esm/parquetjs/schema/schema.js.map +1 -0
  321. package/dist/esm/parquetjs/schema/shred.js +228 -0
  322. package/dist/esm/parquetjs/schema/shred.js.map +1 -0
  323. package/dist/esm/parquetjs/schema/types.js +397 -0
  324. package/dist/esm/parquetjs/schema/types.js.map +1 -0
  325. package/dist/esm/parquetjs/utils/file-utils.js +34 -0
  326. package/dist/esm/parquetjs/utils/file-utils.js.map +1 -0
  327. package/dist/esm/parquetjs/utils/read-utils.js +90 -0
  328. package/dist/esm/parquetjs/utils/read-utils.js.map +1 -0
  329. package/dist/esm/workers/parquet-worker.js +4 -0
  330. package/dist/esm/workers/parquet-worker.js.map +1 -0
  331. package/dist/index.d.ts +16 -20
  332. package/dist/index.d.ts.map +1 -1
  333. package/dist/index.js +58 -15
  334. package/dist/lib/arrow/convert-columns-to-row-group.d.ts +1 -0
  335. package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
  336. package/dist/lib/arrow/convert-columns-to-row-group.js +1 -0
  337. package/dist/lib/arrow/convert-row-group-to-columns.d.ts +4 -0
  338. package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
  339. package/dist/lib/arrow/convert-row-group-to-columns.js +12 -0
  340. package/dist/lib/arrow/convert-schema-from-parquet.d.ts +9 -0
  341. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
  342. package/dist/lib/arrow/convert-schema-from-parquet.js +86 -0
  343. package/dist/lib/arrow/convert-schema-to-parquet.d.ts +7 -0
  344. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
  345. package/dist/lib/arrow/convert-schema-to-parquet.js +71 -0
  346. package/dist/lib/geo/decode-geo-metadata.d.ts +31 -0
  347. package/dist/lib/geo/decode-geo-metadata.d.ts.map +1 -0
  348. package/dist/lib/geo/decode-geo-metadata.js +77 -0
  349. package/dist/lib/geo/geoparquet-schema.d.ts +80 -0
  350. package/dist/lib/geo/geoparquet-schema.d.ts.map +1 -0
  351. package/dist/lib/geo/geoparquet-schema.js +69 -0
  352. package/dist/lib/parsers/parse-parquet-to-columns.d.ts +5 -0
  353. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
  354. package/dist/lib/parsers/parse-parquet-to-columns.js +46 -0
  355. package/dist/lib/parsers/parse-parquet-to-rows.d.ts +5 -0
  356. package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
  357. package/dist/lib/parsers/parse-parquet-to-rows.js +37 -0
  358. package/dist/lib/wasm/encode-parquet-wasm.d.ts +21 -0
  359. package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
  360. package/dist/lib/wasm/encode-parquet-wasm.js +30 -0
  361. package/dist/lib/wasm/load-wasm/index.d.ts +2 -0
  362. package/dist/lib/wasm/load-wasm/index.d.ts.map +1 -0
  363. package/dist/lib/wasm/load-wasm/index.js +5 -0
  364. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts +3 -0
  365. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
  366. package/dist/lib/wasm/load-wasm/load-wasm-browser.js +38 -0
  367. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts +3 -0
  368. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
  369. package/dist/lib/wasm/load-wasm/load-wasm-node.js +31 -0
  370. package/dist/lib/wasm/parse-parquet-wasm.d.ts +10 -0
  371. package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
  372. package/dist/lib/wasm/parse-parquet-wasm.js +27 -0
  373. package/dist/parquet-loader.d.ts +6 -15
  374. package/dist/parquet-loader.d.ts.map +1 -1
  375. package/dist/parquet-loader.js +38 -19
  376. package/dist/parquet-wasm-loader.d.ts +23 -0
  377. package/dist/parquet-wasm-loader.d.ts.map +1 -0
  378. package/dist/parquet-wasm-loader.js +27 -0
  379. package/dist/parquet-wasm-writer.d.ts +3 -0
  380. package/dist/parquet-wasm-writer.d.ts.map +1 -0
  381. package/dist/parquet-wasm-writer.js +23 -0
  382. package/dist/parquet-worker.js +27 -25
  383. package/dist/parquet-worker.js.map +3 -3
  384. package/dist/parquet-writer.d.ts +3 -2
  385. package/dist/parquet-writer.d.ts.map +1 -1
  386. package/dist/parquet-writer.js +18 -14
  387. package/dist/parquetjs/codecs/declare.js +2 -2
  388. package/dist/parquetjs/codecs/dictionary.js +12 -10
  389. package/dist/parquetjs/codecs/index.js +54 -22
  390. package/dist/parquetjs/codecs/plain.js +173 -232
  391. package/dist/parquetjs/codecs/rle.js +134 -140
  392. package/dist/parquetjs/compression.d.ts +3 -0
  393. package/dist/parquetjs/compression.d.ts.map +1 -1
  394. package/dist/parquetjs/compression.js +169 -48
  395. package/dist/parquetjs/encoder/{writer.d.ts → parquet-encoder.d.ts} +15 -23
  396. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
  397. package/dist/parquetjs/encoder/parquet-encoder.js +484 -0
  398. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js +14 -7
  399. package/dist/parquetjs/parquet-thrift/BsonType.js +60 -37
  400. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +209 -215
  401. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +210 -211
  402. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +394 -421
  403. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +102 -89
  404. package/dist/parquetjs/parquet-thrift/CompressionCodec.js +19 -12
  405. package/dist/parquetjs/parquet-thrift/ConvertedType.js +33 -26
  406. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +165 -161
  407. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +228 -234
  408. package/dist/parquetjs/parquet-thrift/DateType.js +60 -37
  409. package/dist/parquetjs/parquet-thrift/DecimalType.js +104 -90
  410. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +121 -112
  411. package/dist/parquetjs/parquet-thrift/Encoding.js +19 -12
  412. package/dist/parquetjs/parquet-thrift/EnumType.js +60 -37
  413. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js +14 -7
  414. package/dist/parquetjs/parquet-thrift/FileMetaData.js +253 -263
  415. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +60 -37
  416. package/dist/parquetjs/parquet-thrift/IntType.js +104 -90
  417. package/dist/parquetjs/parquet-thrift/JsonType.js +60 -37
  418. package/dist/parquetjs/parquet-thrift/KeyValue.js +101 -88
  419. package/dist/parquetjs/parquet-thrift/ListType.js +60 -37
  420. package/dist/parquetjs/parquet-thrift/LogicalType.js +366 -449
  421. package/dist/parquetjs/parquet-thrift/MapType.js +60 -37
  422. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +60 -37
  423. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +60 -37
  424. package/dist/parquetjs/parquet-thrift/NullType.js +60 -37
  425. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +96 -80
  426. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +126 -114
  427. package/dist/parquetjs/parquet-thrift/PageHeader.js +218 -231
  428. package/dist/parquetjs/parquet-thrift/PageLocation.js +140 -123
  429. package/dist/parquetjs/parquet-thrift/PageType.js +15 -8
  430. package/dist/parquetjs/parquet-thrift/RowGroup.js +179 -171
  431. package/dist/parquetjs/parquet-thrift/SchemaElement.js +241 -268
  432. package/dist/parquetjs/parquet-thrift/SortingColumn.js +126 -114
  433. package/dist/parquetjs/parquet-thrift/Statistics.js +175 -178
  434. package/dist/parquetjs/parquet-thrift/StringType.js +60 -37
  435. package/dist/parquetjs/parquet-thrift/TimeType.js +105 -91
  436. package/dist/parquetjs/parquet-thrift/TimeUnit.js +124 -119
  437. package/dist/parquetjs/parquet-thrift/TimestampType.js +105 -91
  438. package/dist/parquetjs/parquet-thrift/Type.js +19 -12
  439. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +60 -37
  440. package/dist/parquetjs/parquet-thrift/UUIDType.js +60 -37
  441. package/dist/parquetjs/parquet-thrift/index.js +65 -44
  442. package/dist/parquetjs/parser/decoders.d.ts +2 -2
  443. package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
  444. package/dist/parquetjs/parser/decoders.js +301 -283
  445. package/dist/parquetjs/parser/parquet-reader.d.ts +47 -57
  446. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
  447. package/dist/parquetjs/parser/parquet-reader.js +193 -113
  448. package/dist/parquetjs/schema/declare.d.ts +26 -18
  449. package/dist/parquetjs/schema/declare.d.ts.map +1 -1
  450. package/dist/parquetjs/schema/declare.js +11 -12
  451. package/dist/parquetjs/schema/schema.d.ts +4 -4
  452. package/dist/parquetjs/schema/schema.d.ts.map +1 -1
  453. package/dist/parquetjs/schema/schema.js +148 -162
  454. package/dist/parquetjs/schema/shred.d.ts +33 -12
  455. package/dist/parquetjs/schema/shred.d.ts.map +1 -1
  456. package/dist/parquetjs/schema/shred.js +340 -147
  457. package/dist/parquetjs/schema/types.d.ts +2 -2
  458. package/dist/parquetjs/schema/types.d.ts.map +1 -1
  459. package/dist/parquetjs/schema/types.js +355 -415
  460. package/dist/parquetjs/utils/file-utils.d.ts +5 -4
  461. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
  462. package/dist/parquetjs/utils/file-utils.js +37 -28
  463. package/dist/parquetjs/utils/read-utils.js +99 -95
  464. package/dist/workers/parquet-worker.js +5 -4
  465. package/package.json +17 -12
  466. package/src/index.ts +58 -7
  467. package/src/lib/arrow/convert-columns-to-row-group.ts +0 -0
  468. package/src/lib/arrow/convert-row-group-to-columns.ts +15 -0
  469. package/src/lib/arrow/convert-schema-from-parquet.ts +104 -0
  470. package/src/lib/arrow/convert-schema-to-parquet.ts +90 -0
  471. package/src/lib/geo/decode-geo-metadata.ts +108 -0
  472. package/src/lib/geo/geoparquet-schema.ts +69 -0
  473. package/src/lib/parsers/parse-parquet-to-columns.ts +60 -0
  474. package/src/lib/parsers/parse-parquet-to-rows.ts +45 -0
  475. package/src/lib/wasm/encode-parquet-wasm.ts +40 -0
  476. package/src/lib/wasm/load-wasm/index.ts +1 -0
  477. package/src/lib/wasm/load-wasm/load-wasm-browser.ts +15 -0
  478. package/src/lib/wasm/load-wasm/load-wasm-node.ts +5 -0
  479. package/src/lib/wasm/parse-parquet-wasm.ts +42 -0
  480. package/src/lib/wip/convert-schema-deep.java.disabled +910 -0
  481. package/src/lib/wip/convert-schema-deep.rs.disabled +976 -0
  482. package/src/parquet-loader.ts +30 -3
  483. package/src/parquet-wasm-loader.ts +36 -0
  484. package/src/parquet-wasm-writer.ts +24 -0
  485. package/src/parquet-writer.ts +4 -1
  486. package/src/parquetjs/compression.ts +24 -7
  487. package/src/parquetjs/encoder/{writer.ts → parquet-encoder.ts} +33 -38
  488. package/src/parquetjs/parser/decoders.ts +3 -3
  489. package/src/parquetjs/parser/parquet-reader.ts +239 -122
  490. package/src/parquetjs/schema/declare.ts +22 -13
  491. package/src/parquetjs/schema/schema.ts +8 -8
  492. package/src/parquetjs/schema/shred.ts +239 -71
  493. package/src/parquetjs/schema/types.ts +25 -30
  494. package/src/parquetjs/utils/file-utils.ts +3 -4
  495. package/dist/bundle.js.map +0 -1
  496. package/dist/constants.js.map +0 -1
  497. package/dist/index.js.map +0 -1
  498. package/dist/lib/convert-schema.d.ts +0 -8
  499. package/dist/lib/convert-schema.d.ts.map +0 -1
  500. package/dist/lib/convert-schema.js +0 -71
  501. package/dist/lib/convert-schema.js.map +0 -1
  502. package/dist/lib/parse-parquet.d.ts +0 -4
  503. package/dist/lib/parse-parquet.d.ts.map +0 -1
  504. package/dist/lib/parse-parquet.js +0 -28
  505. package/dist/lib/parse-parquet.js.map +0 -1
  506. package/dist/lib/read-array-buffer.d.ts +0 -19
  507. package/dist/lib/read-array-buffer.d.ts.map +0 -1
  508. package/dist/lib/read-array-buffer.js +0 -9
  509. package/dist/lib/read-array-buffer.js.map +0 -1
  510. package/dist/parquet-loader.js.map +0 -1
  511. package/dist/parquet-writer.js.map +0 -1
  512. package/dist/parquetjs/codecs/declare.js.map +0 -1
  513. package/dist/parquetjs/codecs/dictionary.js.map +0 -1
  514. package/dist/parquetjs/codecs/index.js.map +0 -1
  515. package/dist/parquetjs/codecs/plain.js.map +0 -1
  516. package/dist/parquetjs/codecs/rle.js.map +0 -1
  517. package/dist/parquetjs/compression.js.map +0 -1
  518. package/dist/parquetjs/encoder/writer.d.ts.map +0 -1
  519. package/dist/parquetjs/encoder/writer.js.map +0 -1
  520. package/dist/parquetjs/file.d.ts +0 -10
  521. package/dist/parquetjs/file.d.ts.map +0 -1
  522. package/dist/parquetjs/file.js +0 -80
  523. package/dist/parquetjs/file.js.map +0 -1
  524. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  525. package/dist/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  526. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  527. package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  528. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  529. package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  530. package/dist/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  531. package/dist/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  532. package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  533. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  534. package/dist/parquetjs/parquet-thrift/DateType.js.map +0 -1
  535. package/dist/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  536. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  537. package/dist/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  538. package/dist/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  539. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  540. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  541. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  542. package/dist/parquetjs/parquet-thrift/IntType.js.map +0 -1
  543. package/dist/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  544. package/dist/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  545. package/dist/parquetjs/parquet-thrift/ListType.js.map +0 -1
  546. package/dist/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  547. package/dist/parquetjs/parquet-thrift/MapType.js.map +0 -1
  548. package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  549. package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  550. package/dist/parquetjs/parquet-thrift/NullType.js.map +0 -1
  551. package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  552. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  553. package/dist/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  554. package/dist/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  555. package/dist/parquetjs/parquet-thrift/PageType.js.map +0 -1
  556. package/dist/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  557. package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  558. package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  559. package/dist/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  560. package/dist/parquetjs/parquet-thrift/StringType.js.map +0 -1
  561. package/dist/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  562. package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  563. package/dist/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  564. package/dist/parquetjs/parquet-thrift/Type.js.map +0 -1
  565. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  566. package/dist/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  567. package/dist/parquetjs/parquet-thrift/index.js.map +0 -1
  568. package/dist/parquetjs/parser/decoders.js.map +0 -1
  569. package/dist/parquetjs/parser/parquet-cursor.d.ts +0 -36
  570. package/dist/parquetjs/parser/parquet-cursor.d.ts.map +0 -1
  571. package/dist/parquetjs/parser/parquet-cursor.js +0 -90
  572. package/dist/parquetjs/parser/parquet-cursor.js.map +0 -1
  573. package/dist/parquetjs/parser/parquet-envelope-reader.d.ts +0 -40
  574. package/dist/parquetjs/parser/parquet-envelope-reader.d.ts.map +0 -1
  575. package/dist/parquetjs/parser/parquet-envelope-reader.js.map +0 -1
  576. package/dist/parquetjs/parser/parquet-reader.js.map +0 -1
  577. package/dist/parquetjs/schema/declare.js.map +0 -1
  578. package/dist/parquetjs/schema/schema.js.map +0 -1
  579. package/dist/parquetjs/schema/shred.js.map +0 -1
  580. package/dist/parquetjs/schema/types.js.map +0 -1
  581. package/dist/parquetjs/utils/buffer-utils.d.ts +0 -10
  582. package/dist/parquetjs/utils/buffer-utils.d.ts.map +0 -1
  583. package/dist/parquetjs/utils/buffer-utils.js +0 -12
  584. package/dist/parquetjs/utils/buffer-utils.js.map +0 -1
  585. package/dist/parquetjs/utils/file-utils.js.map +0 -1
  586. package/dist/parquetjs/utils/read-utils.js.map +0 -1
  587. package/dist/workers/parquet-worker.js.map +0 -1
  588. package/src/lib/convert-schema.ts +0 -95
  589. package/src/lib/parse-parquet.ts +0 -27
  590. package/src/lib/read-array-buffer.ts +0 -31
  591. package/src/parquetjs/file.ts +0 -90
  592. package/src/parquetjs/parser/parquet-cursor.ts +0 -94
  593. package/src/parquetjs/parser/parquet-envelope-reader.ts +0 -199
  594. package/src/parquetjs/utils/buffer-utils.ts +0 -18
  595. /package/dist/{parquetjs → es5/parquetjs}/LICENSE +0 -0
  596. /package/dist/{parquetjs → es5/parquetjs}/modules.d.ts +0 -0
@@ -0,0 +1,397 @@
1
+ import { BSONLoader, BSONWriter } from '@loaders.gl/bson';
2
+ export const PARQUET_LOGICAL_TYPES = {
3
+ BOOLEAN: {
4
+ primitiveType: 'BOOLEAN',
5
+ toPrimitive: toPrimitive_BOOLEAN,
6
+ fromPrimitive: fromPrimitive_BOOLEAN
7
+ },
8
+ INT32: {
9
+ primitiveType: 'INT32',
10
+ toPrimitive: toPrimitive_INT32
11
+ },
12
+ INT64: {
13
+ primitiveType: 'INT64',
14
+ toPrimitive: toPrimitive_INT64
15
+ },
16
+ INT96: {
17
+ primitiveType: 'INT96',
18
+ toPrimitive: toPrimitive_INT96
19
+ },
20
+ FLOAT: {
21
+ primitiveType: 'FLOAT',
22
+ toPrimitive: toPrimitive_FLOAT
23
+ },
24
+ DOUBLE: {
25
+ primitiveType: 'DOUBLE',
26
+ toPrimitive: toPrimitive_DOUBLE
27
+ },
28
+ BYTE_ARRAY: {
29
+ primitiveType: 'BYTE_ARRAY',
30
+ toPrimitive: toPrimitive_BYTE_ARRAY
31
+ },
32
+ FIXED_LEN_BYTE_ARRAY: {
33
+ primitiveType: 'FIXED_LEN_BYTE_ARRAY',
34
+ toPrimitive: toPrimitive_BYTE_ARRAY
35
+ },
36
+ UTF8: {
37
+ primitiveType: 'BYTE_ARRAY',
38
+ originalType: 'UTF8',
39
+ toPrimitive: toPrimitive_UTF8,
40
+ fromPrimitive: fromPrimitive_UTF8
41
+ },
42
+ TIME_MILLIS: {
43
+ primitiveType: 'INT32',
44
+ originalType: 'TIME_MILLIS',
45
+ toPrimitive: toPrimitive_TIME_MILLIS
46
+ },
47
+ TIME_MICROS: {
48
+ primitiveType: 'INT64',
49
+ originalType: 'TIME_MICROS',
50
+ toPrimitive: toPrimitive_TIME_MICROS
51
+ },
52
+ DATE: {
53
+ primitiveType: 'INT32',
54
+ originalType: 'DATE',
55
+ toPrimitive: toPrimitive_DATE,
56
+ fromPrimitive: fromPrimitive_DATE
57
+ },
58
+ TIMESTAMP_MILLIS: {
59
+ primitiveType: 'INT64',
60
+ originalType: 'TIMESTAMP_MILLIS',
61
+ toPrimitive: toPrimitive_TIMESTAMP_MILLIS,
62
+ fromPrimitive: fromPrimitive_TIMESTAMP_MILLIS
63
+ },
64
+ TIMESTAMP_MICROS: {
65
+ primitiveType: 'INT64',
66
+ originalType: 'TIMESTAMP_MICROS',
67
+ toPrimitive: toPrimitive_TIMESTAMP_MICROS,
68
+ fromPrimitive: fromPrimitive_TIMESTAMP_MICROS
69
+ },
70
+ UINT_8: {
71
+ primitiveType: 'INT32',
72
+ originalType: 'UINT_8',
73
+ toPrimitive: toPrimitive_UINT8
74
+ },
75
+ UINT_16: {
76
+ primitiveType: 'INT32',
77
+ originalType: 'UINT_16',
78
+ toPrimitive: toPrimitive_UINT16
79
+ },
80
+ UINT_32: {
81
+ primitiveType: 'INT32',
82
+ originalType: 'UINT_32',
83
+ toPrimitive: toPrimitive_UINT32
84
+ },
85
+ UINT_64: {
86
+ primitiveType: 'INT64',
87
+ originalType: 'UINT_64',
88
+ toPrimitive: toPrimitive_UINT64
89
+ },
90
+ INT_8: {
91
+ primitiveType: 'INT32',
92
+ originalType: 'INT_8',
93
+ toPrimitive: toPrimitive_INT8
94
+ },
95
+ INT_16: {
96
+ primitiveType: 'INT32',
97
+ originalType: 'INT_16',
98
+ toPrimitive: toPrimitive_INT16
99
+ },
100
+ INT_32: {
101
+ primitiveType: 'INT32',
102
+ originalType: 'INT_32',
103
+ toPrimitive: toPrimitive_INT32
104
+ },
105
+ INT_64: {
106
+ primitiveType: 'INT64',
107
+ originalType: 'INT_64',
108
+ toPrimitive: toPrimitive_INT64
109
+ },
110
+ JSON: {
111
+ primitiveType: 'BYTE_ARRAY',
112
+ originalType: 'JSON',
113
+ toPrimitive: toPrimitive_JSON,
114
+ fromPrimitive: fromPrimitive_JSON
115
+ },
116
+ BSON: {
117
+ primitiveType: 'BYTE_ARRAY',
118
+ originalType: 'BSON',
119
+ toPrimitive: toPrimitive_BSON,
120
+ fromPrimitive: fromPrimitive_BSON
121
+ },
122
+ INTERVAL: {
123
+ primitiveType: 'FIXED_LEN_BYTE_ARRAY',
124
+ originalType: 'INTERVAL',
125
+ typeLength: 12,
126
+ toPrimitive: toPrimitive_INTERVAL,
127
+ fromPrimitive: fromPrimitive_INTERVAL
128
+ },
129
+ DECIMAL_INT32: {
130
+ primitiveType: 'INT32',
131
+ originalType: 'DECIMAL_INT32',
132
+ toPrimitive: decimalToPrimitive_INT32,
133
+ fromPrimitive: decimalFromPrimitive_INT
134
+ },
135
+ DECIMAL_INT64: {
136
+ primitiveType: 'INT64',
137
+ originalType: 'DECIMAL_INT64',
138
+ toPrimitive: decimalToPrimitive_INT64,
139
+ fromPrimitive: decimalFromPrimitive_INT
140
+ },
141
+ DECIMAL_BYTE_ARRAY: {
142
+ primitiveType: 'BYTE_ARRAY',
143
+ originalType: 'DECIMAL_BYTE_ARRAY',
144
+ toPrimitive: decimalToPrimitive_BYTE_ARRAY,
145
+ fromPrimitive: decimalFromPrimitive_BYTE_ARRAY
146
+ },
147
+ DECIMAL_FIXED_LEN_BYTE_ARRAY: {
148
+ primitiveType: 'FIXED_LEN_BYTE_ARRAY',
149
+ originalType: 'DECIMAL_FIXED_LEN_BYTE_ARRAY',
150
+ toPrimitive: decimalToPrimitive_BYTE_ARRAY,
151
+ fromPrimitive: decimalFromPrimitive_BYTE_ARRAY
152
+ }
153
+ };
154
+ export function toPrimitive(type, value, field) {
155
+ if (!(type in PARQUET_LOGICAL_TYPES)) {
156
+ throw new Error("invalid type: ".concat(type));
157
+ }
158
+ return PARQUET_LOGICAL_TYPES[type].toPrimitive(value, field);
159
+ }
160
+ export function fromPrimitive(type, value, field) {
161
+ if (!(type in PARQUET_LOGICAL_TYPES)) {
162
+ throw new Error("invalid type: ".concat(type));
163
+ }
164
+ if ('fromPrimitive' in PARQUET_LOGICAL_TYPES[type]) {
165
+ var _PARQUET_LOGICAL_TYPE, _PARQUET_LOGICAL_TYPE2;
166
+ return (_PARQUET_LOGICAL_TYPE = (_PARQUET_LOGICAL_TYPE2 = PARQUET_LOGICAL_TYPES[type]).fromPrimitive) === null || _PARQUET_LOGICAL_TYPE === void 0 ? void 0 : _PARQUET_LOGICAL_TYPE.call(_PARQUET_LOGICAL_TYPE2, value, field);
167
+ }
168
+ return value;
169
+ }
170
+ function toPrimitive_BOOLEAN(value) {
171
+ return Boolean(value);
172
+ }
173
+ function fromPrimitive_BOOLEAN(value) {
174
+ return Boolean(value);
175
+ }
176
+ function toPrimitive_FLOAT(value) {
177
+ const v = parseFloat(value);
178
+ if (isNaN(v)) {
179
+ throw new Error("invalid value for FLOAT: ".concat(value));
180
+ }
181
+ return v;
182
+ }
183
+ function toPrimitive_DOUBLE(value) {
184
+ const v = parseFloat(value);
185
+ if (isNaN(v)) {
186
+ throw new Error("invalid value for DOUBLE: ".concat(value));
187
+ }
188
+ return v;
189
+ }
190
+ function toPrimitive_INT8(value) {
191
+ const v = parseInt(value, 10);
192
+ if (v < -0x80 || v > 0x7f || isNaN(v)) {
193
+ throw new Error("invalid value for INT8: ".concat(value));
194
+ }
195
+ return v;
196
+ }
197
+ function toPrimitive_UINT8(value) {
198
+ const v = parseInt(value, 10);
199
+ if (v < 0 || v > 0xff || isNaN(v)) {
200
+ throw new Error("invalid value for UINT8: ".concat(value));
201
+ }
202
+ return v;
203
+ }
204
+ function toPrimitive_INT16(value) {
205
+ const v = parseInt(value, 10);
206
+ if (v < -0x8000 || v > 0x7fff || isNaN(v)) {
207
+ throw new Error("invalid value for INT16: ".concat(value));
208
+ }
209
+ return v;
210
+ }
211
+ function toPrimitive_UINT16(value) {
212
+ const v = parseInt(value, 10);
213
+ if (v < 0 || v > 0xffff || isNaN(v)) {
214
+ throw new Error("invalid value for UINT16: ".concat(value));
215
+ }
216
+ return v;
217
+ }
218
+ function toPrimitive_INT32(value) {
219
+ const v = parseInt(value, 10);
220
+ if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {
221
+ throw new Error("invalid value for INT32: ".concat(value));
222
+ }
223
+ return v;
224
+ }
225
+ function decimalToPrimitive_INT32(value, field) {
226
+ const primitiveValue = value * 10 ** (field.scale || 0);
227
+ const v = Math.round(primitiveValue * 10 ** -field.presision % 1 * 10 ** field.presision);
228
+ if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {
229
+ throw new Error("invalid value for INT32: ".concat(value));
230
+ }
231
+ return v;
232
+ }
233
+ function toPrimitive_UINT32(value) {
234
+ const v = parseInt(value, 10);
235
+ if (v < 0 || v > 0xffffffffffff || isNaN(v)) {
236
+ throw new Error("invalid value for UINT32: ".concat(value));
237
+ }
238
+ return v;
239
+ }
240
+ function toPrimitive_INT64(value) {
241
+ const v = parseInt(value, 10);
242
+ if (isNaN(v)) {
243
+ throw new Error("invalid value for INT64: ".concat(value));
244
+ }
245
+ return v;
246
+ }
247
+ function decimalToPrimitive_INT64(value, field) {
248
+ const primitiveValue = value * 10 ** (field.scale || 0);
249
+ const v = Math.round(primitiveValue * 10 ** -field.presision % 1 * 10 ** field.presision);
250
+ if (isNaN(v)) {
251
+ throw new Error("invalid value for INT64: ".concat(value));
252
+ }
253
+ return v;
254
+ }
255
+ function toPrimitive_UINT64(value) {
256
+ const v = parseInt(value, 10);
257
+ if (v < 0 || isNaN(v)) {
258
+ throw new Error("invalid value for UINT64: ".concat(value));
259
+ }
260
+ return v;
261
+ }
262
+ function toPrimitive_INT96(value) {
263
+ const v = parseInt(value, 10);
264
+ if (isNaN(v)) {
265
+ throw new Error("invalid value for INT96: ".concat(value));
266
+ }
267
+ return v;
268
+ }
269
+ function toPrimitive_BYTE_ARRAY(value) {
270
+ return Buffer.from(value);
271
+ }
272
+ function decimalToPrimitive_BYTE_ARRAY(value) {
273
+ return Buffer.from(value);
274
+ }
275
+ function toPrimitive_UTF8(value) {
276
+ return Buffer.from(value, 'utf8');
277
+ }
278
+ function fromPrimitive_UTF8(value) {
279
+ return value.toString();
280
+ }
281
+ function toPrimitive_JSON(value) {
282
+ return Buffer.from(JSON.stringify(value));
283
+ }
284
+ function fromPrimitive_JSON(value) {
285
+ return JSON.parse(value);
286
+ }
287
+ function toPrimitive_BSON(value) {
288
+ var _BSONWriter$encodeSyn;
289
+ const arrayBuffer = (_BSONWriter$encodeSyn = BSONWriter.encodeSync) === null || _BSONWriter$encodeSyn === void 0 ? void 0 : _BSONWriter$encodeSyn.call(BSONWriter, value);
290
+ return Buffer.from(arrayBuffer);
291
+ }
292
+ function fromPrimitive_BSON(value) {
293
+ var _BSONLoader$parseSync;
294
+ return (_BSONLoader$parseSync = BSONLoader.parseSync) === null || _BSONLoader$parseSync === void 0 ? void 0 : _BSONLoader$parseSync.call(BSONLoader, value);
295
+ }
296
+ function toPrimitive_TIME_MILLIS(value) {
297
+ const v = parseInt(value, 10);
298
+ if (v < 0 || v > 0xffffffffffffffff || isNaN(v)) {
299
+ throw new Error("invalid value for TIME_MILLIS: ".concat(value));
300
+ }
301
+ return v;
302
+ }
303
+ function toPrimitive_TIME_MICROS(value) {
304
+ const v = parseInt(value, 10);
305
+ if (v < 0 || isNaN(v)) {
306
+ throw new Error("invalid value for TIME_MICROS: ".concat(value));
307
+ }
308
+ return v;
309
+ }
310
+ const kMillisPerDay = 86400000;
311
+ function toPrimitive_DATE(value) {
312
+ if (value instanceof Date) {
313
+ return value.getTime() / kMillisPerDay;
314
+ }
315
+ {
316
+ const v = parseInt(value, 10);
317
+ if (v < 0 || isNaN(v)) {
318
+ throw new Error("invalid value for DATE: ".concat(value));
319
+ }
320
+ return v;
321
+ }
322
+ }
323
+ function fromPrimitive_DATE(value) {
324
+ return new Date(value * kMillisPerDay);
325
+ }
326
+ function toPrimitive_TIMESTAMP_MILLIS(value) {
327
+ if (value instanceof Date) {
328
+ return value.getTime();
329
+ }
330
+ {
331
+ const v = parseInt(value, 10);
332
+ if (v < 0 || isNaN(v)) {
333
+ throw new Error("invalid value for TIMESTAMP_MILLIS: ".concat(value));
334
+ }
335
+ return v;
336
+ }
337
+ }
338
+ function fromPrimitive_TIMESTAMP_MILLIS(value) {
339
+ return new Date(value);
340
+ }
341
+ function toPrimitive_TIMESTAMP_MICROS(value) {
342
+ if (value instanceof Date) {
343
+ return value.getTime() * 1000;
344
+ }
345
+ {
346
+ const v = parseInt(value, 10);
347
+ if (v < 0 || isNaN(v)) {
348
+ throw new Error("invalid value for TIMESTAMP_MICROS: ".concat(value));
349
+ }
350
+ return v;
351
+ }
352
+ }
353
+ function fromPrimitive_TIMESTAMP_MICROS(value) {
354
+ return new Date(value / 1000);
355
+ }
356
+ function toPrimitive_INTERVAL(value) {
357
+ if (!value.months || !value.days || !value.milliseconds) {
358
+ throw new Error('value for INTERVAL must be object { months: ..., days: ..., milliseconds: ... }');
359
+ }
360
+ const buf = Buffer.alloc(12);
361
+ buf.writeUInt32LE(value.months, 0);
362
+ buf.writeUInt32LE(value.days, 4);
363
+ buf.writeUInt32LE(value.milliseconds, 8);
364
+ return buf;
365
+ }
366
+ function fromPrimitive_INTERVAL(value) {
367
+ const buf = Buffer.from(value);
368
+ const months = buf.readUInt32LE(0);
369
+ const days = buf.readUInt32LE(4);
370
+ const millis = buf.readUInt32LE(8);
371
+ return {
372
+ months,
373
+ days,
374
+ milliseconds: millis
375
+ };
376
+ }
377
+ function decimalFromPrimitive_INT(value, field) {
378
+ const presisionInt = Math.round(value * 10 ** -field.presision % 1 * 10 ** field.presision);
379
+ return presisionInt * 10 ** -(field.scale || 0);
380
+ }
381
+ function decimalFromPrimitive_BYTE_ARRAY(value, field) {
382
+ let number = 0;
383
+ if (value.length <= 4) {
384
+ for (let i = 0; i < value.length; i++) {
385
+ const component = value[i] << 8 * (value.length - i - 1);
386
+ number += component;
387
+ }
388
+ } else {
389
+ for (let i = 0; i < value.length; i++) {
390
+ const component = value[i] * 2 ** (8 * (value.length - 1 - i));
391
+ number += component;
392
+ }
393
+ }
394
+ const presisionInt = Math.round(number * 10 ** -field.presision % 1 * 10 ** field.presision);
395
+ return presisionInt * 10 ** -(field.scale || 0);
396
+ }
397
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["BSONLoader","BSONWriter","PARQUET_LOGICAL_TYPES","BOOLEAN","primitiveType","toPrimitive","toPrimitive_BOOLEAN","fromPrimitive","fromPrimitive_BOOLEAN","INT32","toPrimitive_INT32","INT64","toPrimitive_INT64","INT96","toPrimitive_INT96","FLOAT","toPrimitive_FLOAT","DOUBLE","toPrimitive_DOUBLE","BYTE_ARRAY","toPrimitive_BYTE_ARRAY","FIXED_LEN_BYTE_ARRAY","UTF8","originalType","toPrimitive_UTF8","fromPrimitive_UTF8","TIME_MILLIS","toPrimitive_TIME_MILLIS","TIME_MICROS","toPrimitive_TIME_MICROS","DATE","toPrimitive_DATE","fromPrimitive_DATE","TIMESTAMP_MILLIS","toPrimitive_TIMESTAMP_MILLIS","fromPrimitive_TIMESTAMP_MILLIS","TIMESTAMP_MICROS","toPrimitive_TIMESTAMP_MICROS","fromPrimitive_TIMESTAMP_MICROS","UINT_8","toPrimitive_UINT8","UINT_16","toPrimitive_UINT16","UINT_32","toPrimitive_UINT32","UINT_64","toPrimitive_UINT64","INT_8","toPrimitive_INT8","INT_16","toPrimitive_INT16","INT_32","INT_64","JSON","toPrimitive_JSON","fromPrimitive_JSON","BSON","toPrimitive_BSON","fromPrimitive_BSON","INTERVAL","typeLength","toPrimitive_INTERVAL","fromPrimitive_INTERVAL","DECIMAL_INT32","decimalToPrimitive_INT32","decimalFromPrimitive_INT","DECIMAL_INT64","decimalToPrimitive_INT64","DECIMAL_BYTE_ARRAY","decimalToPrimitive_BYTE_ARRAY","decimalFromPrimitive_BYTE_ARRAY","DECIMAL_FIXED_LEN_BYTE_ARRAY","type","value","field","Error","concat","_PARQUET_LOGICAL_TYPE","_PARQUET_LOGICAL_TYPE2","call","Boolean","v","parseFloat","isNaN","parseInt","primitiveValue","scale","Math","round","presision","Buffer","from","toString","stringify","parse","_BSONWriter$encodeSyn","arrayBuffer","encodeSync","_BSONLoader$parseSync","parseSync","kMillisPerDay","Date","getTime","months","days","milliseconds","buf","alloc","writeUInt32LE","readUInt32LE","millis","presisionInt","number","length","i","component"],"sources":["../../../../src/parquetjs/schema/types.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/* eslint-disable camelcase */\nimport {BSONLoader, BSONWriter} from '@loaders.gl/bson';\nimport {OriginalType, ParquetField, ParquetType, PrimitiveType} from './declare';\n\nexport interface ParquetTypeKit {\n primitiveType: PrimitiveType;\n originalType?: OriginalType;\n typeLength?: number;\n toPrimitive: Function;\n fromPrimitive?: Function;\n}\n\nexport const PARQUET_LOGICAL_TYPES: Record<ParquetType, ParquetTypeKit> = {\n BOOLEAN: {\n primitiveType: 'BOOLEAN',\n toPrimitive: toPrimitive_BOOLEAN,\n fromPrimitive: fromPrimitive_BOOLEAN\n },\n INT32: {\n primitiveType: 'INT32',\n toPrimitive: toPrimitive_INT32\n },\n INT64: {\n primitiveType: 'INT64',\n toPrimitive: toPrimitive_INT64\n },\n INT96: {\n primitiveType: 'INT96',\n toPrimitive: toPrimitive_INT96\n },\n FLOAT: {\n primitiveType: 'FLOAT',\n toPrimitive: toPrimitive_FLOAT\n },\n DOUBLE: {\n primitiveType: 'DOUBLE',\n toPrimitive: toPrimitive_DOUBLE\n },\n BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n toPrimitive: toPrimitive_BYTE_ARRAY\n },\n UTF8: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'UTF8',\n toPrimitive: toPrimitive_UTF8,\n fromPrimitive: fromPrimitive_UTF8\n },\n TIME_MILLIS: {\n primitiveType: 'INT32',\n originalType: 'TIME_MILLIS',\n toPrimitive: toPrimitive_TIME_MILLIS\n },\n TIME_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIME_MICROS',\n toPrimitive: toPrimitive_TIME_MICROS\n },\n DATE: {\n primitiveType: 'INT32',\n originalType: 'DATE',\n toPrimitive: toPrimitive_DATE,\n fromPrimitive: fromPrimitive_DATE\n },\n TIMESTAMP_MILLIS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MILLIS',\n toPrimitive: toPrimitive_TIMESTAMP_MILLIS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MILLIS\n },\n TIMESTAMP_MICROS: {\n primitiveType: 'INT64',\n originalType: 'TIMESTAMP_MICROS',\n toPrimitive: toPrimitive_TIMESTAMP_MICROS,\n fromPrimitive: fromPrimitive_TIMESTAMP_MICROS\n },\n UINT_8: {\n primitiveType: 'INT32',\n originalType: 'UINT_8',\n toPrimitive: toPrimitive_UINT8\n },\n UINT_16: {\n primitiveType: 'INT32',\n originalType: 'UINT_16',\n toPrimitive: toPrimitive_UINT16\n },\n UINT_32: {\n primitiveType: 'INT32',\n originalType: 'UINT_32',\n toPrimitive: toPrimitive_UINT32\n },\n UINT_64: {\n primitiveType: 'INT64',\n originalType: 'UINT_64',\n toPrimitive: toPrimitive_UINT64\n },\n INT_8: {\n primitiveType: 'INT32',\n originalType: 'INT_8',\n toPrimitive: toPrimitive_INT8\n },\n INT_16: {\n primitiveType: 'INT32',\n originalType: 'INT_16',\n toPrimitive: toPrimitive_INT16\n },\n INT_32: {\n primitiveType: 'INT32',\n originalType: 'INT_32',\n toPrimitive: toPrimitive_INT32\n },\n INT_64: {\n primitiveType: 'INT64',\n originalType: 'INT_64',\n toPrimitive: toPrimitive_INT64\n },\n JSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'JSON',\n toPrimitive: toPrimitive_JSON,\n fromPrimitive: fromPrimitive_JSON\n },\n BSON: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'BSON',\n toPrimitive: toPrimitive_BSON,\n fromPrimitive: fromPrimitive_BSON\n },\n INTERVAL: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'INTERVAL',\n typeLength: 12,\n toPrimitive: toPrimitive_INTERVAL,\n fromPrimitive: fromPrimitive_INTERVAL\n },\n DECIMAL_INT32: {\n primitiveType: 'INT32',\n originalType: 'DECIMAL_INT32',\n toPrimitive: decimalToPrimitive_INT32,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_INT64: {\n primitiveType: 'INT64',\n originalType: 'DECIMAL_INT64',\n toPrimitive: decimalToPrimitive_INT64,\n fromPrimitive: decimalFromPrimitive_INT\n },\n DECIMAL_BYTE_ARRAY: {\n primitiveType: 'BYTE_ARRAY',\n originalType: 'DECIMAL_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n },\n DECIMAL_FIXED_LEN_BYTE_ARRAY: {\n primitiveType: 'FIXED_LEN_BYTE_ARRAY',\n originalType: 'DECIMAL_FIXED_LEN_BYTE_ARRAY',\n toPrimitive: decimalToPrimitive_BYTE_ARRAY,\n fromPrimitive: decimalFromPrimitive_BYTE_ARRAY\n }\n};\n\n/**\n * Convert a value from it's native representation to the internal/underlying\n * primitive type\n */\nexport function toPrimitive(type: ParquetType, value: unknown, field?: ParquetField): unknown {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n return PARQUET_LOGICAL_TYPES[type].toPrimitive(value, field);\n}\n\n/**\n * Convert a value from it's internal/underlying primitive representation to\n * the native representation\n */\nexport function fromPrimitive(type: ParquetType, value: unknown, field?: ParquetField) {\n if (!(type in PARQUET_LOGICAL_TYPES)) {\n throw new Error(`invalid type: ${type}`);\n }\n\n if ('fromPrimitive' in PARQUET_LOGICAL_TYPES[type]) {\n return PARQUET_LOGICAL_TYPES[type].fromPrimitive?.(value, field);\n // tslint:disable-next-line:no-else-after-return\n }\n return value;\n}\n\nfunction toPrimitive_BOOLEAN(value: unknown): boolean {\n return Boolean(value);\n}\n\nfunction fromPrimitive_BOOLEAN(value: any): boolean {\n return Boolean(value);\n}\n\nfunction toPrimitive_FLOAT(value: any): number {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for FLOAT: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_DOUBLE(value: any): number {\n const v = parseFloat(value);\n if (isNaN(v)) {\n throw new Error(`invalid value for DOUBLE: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_INT8(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80 || v > 0x7f || isNaN(v)) {\n throw new Error(`invalid value for INT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT8(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xff || isNaN(v)) {\n throw new Error(`invalid value for UINT8: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT16(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x8000 || v > 0x7fff || isNaN(v)) {\n throw new Error(`invalid value for INT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT16(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffff || isNaN(v)) {\n throw new Error(`invalid value for UINT16: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT32(value: any) {\n const v = parseInt(value, 10);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n\n return v;\n}\n\nfunction decimalToPrimitive_INT32(value: number, field: ParquetField): number {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (v < -0x80000000 || v > 0x7fffffff || isNaN(v)) {\n throw new Error(`invalid value for INT32: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_UINT32(value: any): number {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for UINT32: ${value}`);\n }\n return v;\n}\n\nfunction toPrimitive_INT64(value: any): number {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n return v;\n}\n\nfunction decimalToPrimitive_INT64(value: number, field: ParquetField) {\n const primitiveValue = value * 10 ** (field.scale || 0);\n const v = Math.round(((primitiveValue * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_UINT64(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for UINT64: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_INT96(value: any) {\n const v = parseInt(value, 10);\n if (isNaN(v)) {\n throw new Error(`invalid value for INT96: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_BYTE_ARRAY(value: any): Buffer {\n return Buffer.from(value);\n}\n\nfunction decimalToPrimitive_BYTE_ARRAY(value: any): Buffer {\n // TBD\n return Buffer.from(value);\n}\n\nfunction toPrimitive_UTF8(value: any): Buffer {\n return Buffer.from(value, 'utf8');\n}\n\nfunction fromPrimitive_UTF8(value: any): string {\n return value.toString();\n}\n\nfunction toPrimitive_JSON(value: any): Buffer {\n return Buffer.from(JSON.stringify(value));\n}\n\nfunction fromPrimitive_JSON(value: any): unknown {\n return JSON.parse(value);\n}\n\nfunction toPrimitive_BSON(value: any): Buffer {\n const arrayBuffer = BSONWriter.encodeSync?.(value) as ArrayBuffer;\n return Buffer.from(arrayBuffer);\n}\n\nfunction fromPrimitive_BSON(value: any) {\n return BSONLoader.parseSync?.(value);\n}\n\nfunction toPrimitive_TIME_MILLIS(value: any) {\n const v = parseInt(value, 10);\n if (v < 0 || v > 0xffffffffffffffff || isNaN(v)) {\n throw new Error(`invalid value for TIME_MILLIS: ${value}`);\n }\n\n return v;\n}\n\nfunction toPrimitive_TIME_MICROS(value: any): number {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIME_MICROS: ${value}`);\n }\n return v;\n}\n\nconst kMillisPerDay = 86400000;\n\nfunction toPrimitive_DATE(value: any): number {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() / kMillisPerDay;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for DATE: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_DATE(value: any): Date {\n return new Date(value * kMillisPerDay);\n}\n\nfunction toPrimitive_TIMESTAMP_MILLIS(value: any): number {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime();\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MILLIS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MILLIS(value: any): Date {\n return new Date(value);\n}\n\nfunction toPrimitive_TIMESTAMP_MICROS(value: any) {\n /* convert from date */\n if (value instanceof Date) {\n return value.getTime() * 1000;\n }\n\n /* convert from integer */\n {\n const v = parseInt(value, 10);\n if (v < 0 || isNaN(v)) {\n throw new Error(`invalid value for TIMESTAMP_MICROS: ${value}`);\n }\n\n return v;\n }\n}\n\nfunction fromPrimitive_TIMESTAMP_MICROS(value: any) {\n return new Date(value / 1000);\n}\n\nfunction toPrimitive_INTERVAL(value: any) {\n if (!value.months || !value.days || !value.milliseconds) {\n throw new Error(\n 'value for INTERVAL must be object { months: ..., days: ..., milliseconds: ... }'\n );\n }\n\n const buf = Buffer.alloc(12);\n\n buf.writeUInt32LE(value.months, 0);\n buf.writeUInt32LE(value.days, 4);\n buf.writeUInt32LE(value.milliseconds, 8);\n return buf;\n}\n\nfunction fromPrimitive_INTERVAL(value: any) {\n const buf = Buffer.from(value);\n const months = buf.readUInt32LE(0);\n const days = buf.readUInt32LE(4);\n const millis = buf.readUInt32LE(8);\n\n return {months, days, milliseconds: millis};\n}\n\nfunction decimalFromPrimitive_INT(value: any, field: ParquetField) {\n const presisionInt = Math.round(((value * 10 ** -field.presision!) % 1) * 10 ** field.presision!);\n return presisionInt * 10 ** -(field.scale || 0);\n}\n\nfunction decimalFromPrimitive_BYTE_ARRAY(value: any, field: ParquetField) {\n let number = 0;\n if (value.length <= 4) {\n // Bytewise operators faster. Use them if it is possible\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] << (8 * (value.length - i - 1));\n number += component;\n }\n } else {\n for (let i = 0; i < value.length; i++) {\n // `value.length - i - 1` bytes have reverse order (big-endian)\n const component = value[i] * 2 ** (8 * (value.length - 1 - i));\n number += component;\n }\n }\n\n const presisionInt = Math.round(\n ((number * 10 ** -field.presision!) % 1) * 10 ** field.presision!\n );\n return presisionInt * 10 ** -(field.scale || 0);\n}\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { fs } from '@loaders.gl/loader-utils';
2
+ export function load(name) {
3
+ return (module || global).require(name);
4
+ }
5
+ export function oswrite(os, buf) {
6
+ return new Promise((resolve, reject) => {
7
+ os.write(buf, err => {
8
+ if (err) {
9
+ reject(err);
10
+ } else {
11
+ resolve();
12
+ }
13
+ });
14
+ });
15
+ }
16
+ export function osclose(os) {
17
+ return new Promise((resolve, reject) => {
18
+ os.close(err => {
19
+ if (err) {
20
+ reject(err);
21
+ } else {
22
+ resolve();
23
+ }
24
+ });
25
+ });
26
+ }
27
+ export function osopen(path, opts) {
28
+ return new Promise((resolve, reject) => {
29
+ const outputStream = fs.createWriteStream(path, opts);
30
+ outputStream.once('open', fd => resolve(outputStream));
31
+ outputStream.once('error', err => reject(err));
32
+ });
33
+ }
34
+ //# sourceMappingURL=file-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.js","names":["fs","load","name","module","global","require","oswrite","os","buf","Promise","resolve","reject","write","err","osclose","close","osopen","path","opts","outputStream","createWriteStream","once","fd"],"sources":["../../../../src/parquetjs/utils/file-utils.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\nimport {fs, stream} from '@loaders.gl/loader-utils';\n\nexport function load(name: string): any {\n return (module || (global as any)).require(name);\n}\nexport interface WriteStreamOptions {\n flags?: string;\n encoding?: string;\n fd?: number;\n mode?: number;\n autoClose?: boolean;\n start?: number;\n}\n\nexport function oswrite(os: stream.Writable, buf: Buffer): Promise<void> {\n return new Promise((resolve, reject) => {\n os.write(buf, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osclose(os: stream.Writable): Promise<void> {\n return new Promise((resolve, reject) => {\n (os as any).close((err: any) => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n}\n\nexport function osopen(path: string, opts?: WriteStreamOptions): Promise<fs.WriteStream> {\n return new Promise((resolve, reject) => {\n const outputStream = fs.createWriteStream(path, opts as any);\n outputStream.once('open', (fd) => resolve(outputStream));\n outputStream.once('error', (err) => reject(err));\n });\n}\n"],"mappings":"AACA,SAAQA,EAAE,QAAe,0BAA0B;AAEnD,OAAO,SAASC,IAAIA,CAACC,IAAY,EAAO;EACtC,OAAO,CAACC,MAAM,IAAKC,MAAc,EAAEC,OAAO,CAACH,IAAI,CAAC;AAClD;AAUA,OAAO,SAASI,OAAOA,CAACC,EAAmB,EAAEC,GAAW,EAAiB;EACvE,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCJ,EAAE,CAACK,KAAK,CAACJ,GAAG,EAAGK,GAAG,IAAK;MACrB,IAAIA,GAAG,EAAE;QACPF,MAAM,CAACE,GAAG,CAAC;MACb,CAAC,MAAM;QACLH,OAAO,CAAC,CAAC;MACX;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,OAAO,SAASI,OAAOA,CAACP,EAAmB,EAAiB;EAC1D,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACrCJ,EAAE,CAASQ,KAAK,CAAEF,GAAQ,IAAK;MAC9B,IAAIA,GAAG,EAAE;QACPF,MAAM,CAACE,GAAG,CAAC;MACb,CAAC,MAAM;QACLH,OAAO,CAAC,CAAC;MACX;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,OAAO,SAASM,MAAMA,CAACC,IAAY,EAAEC,IAAyB,EAA2B;EACvF,OAAO,IAAIT,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,MAAMQ,YAAY,GAAGnB,EAAE,CAACoB,iBAAiB,CAACH,IAAI,EAAEC,IAAW,CAAC;IAC5DC,YAAY,CAACE,IAAI,CAAC,MAAM,EAAGC,EAAE,IAAKZ,OAAO,CAACS,YAAY,CAAC,CAAC;IACxDA,YAAY,CAACE,IAAI,CAAC,OAAO,EAAGR,GAAG,IAAKF,MAAM,CAACE,GAAG,CAAC,CAAC;EAClD,CAAC,CAAC;AACJ"}
@@ -0,0 +1,90 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { TBufferedTransport, TCompactProtocol, TFramedTransport } from 'thrift';
3
+ import { FileMetaData, PageHeader } from '../parquet-thrift';
4
+ class UFramedTransport extends TFramedTransport {
5
+ constructor() {
6
+ super(...arguments);
7
+ _defineProperty(this, "readPos", 0);
8
+ }
9
+ }
10
+ export function serializeThrift(obj) {
11
+ const output = [];
12
+ const transport = new TBufferedTransport(undefined, buf => {
13
+ output.push(buf);
14
+ });
15
+ const protocol = new TCompactProtocol(transport);
16
+ obj.write(protocol);
17
+ transport.flush();
18
+ return Buffer.concat(output);
19
+ }
20
+ export function decodeThrift(obj, buf, offset) {
21
+ if (!offset) {
22
+ offset = 0;
23
+ }
24
+ const transport = new UFramedTransport(buf);
25
+ transport.readPos = offset;
26
+ const protocol = new TCompactProtocol(transport);
27
+ obj.read(protocol);
28
+ return transport.readPos - offset;
29
+ }
30
+ export function getThriftEnum(klass, value) {
31
+ for (const k in klass) {
32
+ if (klass[k] === value) {
33
+ return k;
34
+ }
35
+ }
36
+ throw new Error('Invalid ENUM value');
37
+ }
38
+ export function decodeFileMetadata(buf, offset) {
39
+ if (!offset) {
40
+ offset = 0;
41
+ }
42
+ const transport = new UFramedTransport(buf);
43
+ transport.readPos = offset;
44
+ const protocol = new TCompactProtocol(transport);
45
+ const metadata = FileMetaData.read(protocol);
46
+ return {
47
+ length: transport.readPos - offset,
48
+ metadata
49
+ };
50
+ }
51
+ export function decodePageHeader(buf, offset) {
52
+ if (!offset) {
53
+ offset = 0;
54
+ }
55
+ const transport = new UFramedTransport(buf);
56
+ transport.readPos = offset;
57
+ const protocol = new TCompactProtocol(transport);
58
+ const pageHeader = PageHeader.read(protocol);
59
+ return {
60
+ length: transport.readPos - offset,
61
+ pageHeader
62
+ };
63
+ }
64
+ export function getBitWidth(val) {
65
+ if (val === 0) {
66
+ return 0;
67
+ }
68
+ return Math.ceil(Math.log2(val + 1));
69
+ }
70
+ export function fieldIndexOf(arr, elem) {
71
+ for (let j = 0; j < arr.length; j++) {
72
+ if (arr[j].length > elem.length) {
73
+ continue;
74
+ }
75
+ let m = true;
76
+ for (let i = 0; i < elem.length; i++) {
77
+ if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {
78
+ continue;
79
+ }
80
+ if (i >= arr[j].length && arr[j][arr[j].length - 1] === '#') {
81
+ continue;
82
+ }
83
+ m = false;
84
+ break;
85
+ }
86
+ if (m) return j;
87
+ }
88
+ return -1;
89
+ }
90
+ //# sourceMappingURL=read-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-utils.js","names":["TBufferedTransport","TCompactProtocol","TFramedTransport","FileMetaData","PageHeader","UFramedTransport","constructor","arguments","_defineProperty","serializeThrift","obj","output","transport","undefined","buf","push","protocol","write","flush","Buffer","concat","decodeThrift","offset","readPos","read","getThriftEnum","klass","value","k","Error","decodeFileMetadata","metadata","length","decodePageHeader","pageHeader","getBitWidth","val","Math","ceil","log2","fieldIndexOf","arr","elem","j","m","i"],"sources":["../../../../src/parquetjs/utils/read-utils.ts"],"sourcesContent":["import {TBufferedTransport, TCompactProtocol, TFramedTransport} from 'thrift';\nimport {FileMetaData, PageHeader} from '../parquet-thrift';\n\nclass UFramedTransport extends TFramedTransport {\n public readPos: number = 0;\n}\n\n/**\n * Helper function that serializes a thrift object into a buffer\n */\nexport function serializeThrift(obj: any): Buffer {\n const output: Buffer[] = [];\n\n const transport = new TBufferedTransport(undefined, (buf) => {\n output.push(buf as Buffer);\n });\n\n const protocol = new TCompactProtocol(transport);\n obj.write(protocol);\n transport.flush();\n\n return Buffer.concat(output);\n}\n\nexport function decodeThrift(obj: any, buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n obj.read(protocol);\n return transport.readPos - offset;\n}\n\n/**\n * FIXME not ideal that this is linear\n */\nexport function getThriftEnum(klass: any, value: number | string): string {\n for (const k in klass) {\n if (klass[k] === value) {\n return k;\n }\n }\n throw new Error('Invalid ENUM value');\n}\n\nexport function decodeFileMetadata(buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n const metadata = FileMetaData.read(protocol);\n return {length: transport.readPos - offset, metadata};\n}\n\nexport function decodePageHeader(buf: Buffer, offset?: number) {\n if (!offset) {\n // tslint:disable-next-line:no-parameter-reassignment\n offset = 0;\n }\n\n const transport = new UFramedTransport(buf);\n transport.readPos = offset;\n const protocol = new TCompactProtocol(transport);\n const pageHeader = PageHeader.read(protocol);\n return {length: transport.readPos - offset, pageHeader};\n}\n\n/**\n * Get the number of bits required to store a given value\n */\nexport function getBitWidth(val: number): number {\n if (val === 0) {\n return 0;\n // tslint:disable-next-line:no-else-after-return\n }\n return Math.ceil(Math.log2(val + 1));\n}\n\n// Supports MQTT path wildcards\n// + all immediate children\n// # all descendents\nexport function fieldIndexOf(arr: string[][], elem: string[]): number {\n for (let j = 0; j < arr.length; j++) {\n if (arr[j].length > elem.length) {\n continue; // eslint-disable-line no-continue\n }\n let m = true;\n for (let i = 0; i < elem.length; i++) {\n if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {\n continue; // eslint-disable-line no-continue\n }\n if (i >= arr[j].length && arr[j][arr[j].length - 1] === '#') {\n continue; // eslint-disable-line no-continue\n }\n m = false;\n break;\n }\n if (m) return j;\n }\n return -1;\n}\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { createLoaderWorker } from '@loaders.gl/loader-utils';
2
+ import { ParquetLoader } from '../index';
3
+ createLoaderWorker(ParquetLoader);
4
+ //# sourceMappingURL=parquet-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parquet-worker.js","names":["createLoaderWorker","ParquetLoader"],"sources":["../../../src/workers/parquet-worker.ts"],"sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport {ParquetLoader} from '../index';\n\ncreateLoaderWorker(ParquetLoader);\n"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,0BAA0B;AAC3D,SAAQC,aAAa,QAAO,UAAU;AAEtCD,kBAAkB,CAACC,aAAa,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,28 +1,24 @@
1
1
  import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
- import { ParquetLoader as ParquetWorkerLoader } from './parquet-loader';
3
- import { parseParquet, parseParquetFileInBatches } from './lib/parse-parquet';
4
- export { ParquetWorkerLoader };
2
+ import type { ObjectRowTable, ObjectRowTableBatch, ColumnarTable, ColumnarTableBatch } from '@loaders.gl/schema';
3
+ import type { Table as ArrowTable } from 'apache-arrow';
4
+ import { ParquetLoader as ParquetWorkerLoader, ParquetLoaderOptions } from './parquet-loader';
5
+ import { ParquetWasmLoaderOptions } from './lib/wasm/parse-parquet-wasm';
6
+ import { ParquetWasmLoader as ParquetWasmWorkerLoader } from './parquet-wasm-loader';
7
+ export { ParquetWorkerLoader, ParquetWasmWorkerLoader };
5
8
  /** ParquetJS table loader */
6
- export declare const ParquetLoader: {
7
- parse: typeof parseParquet;
8
- parseFileInBatches: typeof parseParquetFileInBatches;
9
- name: string;
10
- id: string;
11
- module: string;
12
- version: any;
13
- worker: boolean;
14
- category: string;
15
- extensions: string[];
16
- mimeTypes: string[];
17
- binary: boolean;
18
- tests: string[];
19
- options: import("./parquet-loader").ParquetLoaderOptions;
20
- };
9
+ export declare const ParquetLoader: LoaderWithParser<ObjectRowTable, ObjectRowTableBatch, ParquetLoaderOptions>;
10
+ /** ParquetJS table loader */
11
+ export declare const ParquetColumnarLoader: LoaderWithParser<ColumnarTable, ColumnarTableBatch, ParquetLoaderOptions>;
12
+ export declare const ParquetWasmLoader: LoaderWithParser<ArrowTable, never, ParquetWasmLoaderOptions>;
21
13
  export { ParquetWriter as _ParquetWriter } from './parquet-writer';
14
+ export { ParquetWasmWriter } from './parquet-wasm-writer';
22
15
  export { preloadCompressions } from './parquetjs/compression';
23
16
  export { ParquetSchema } from './parquetjs/schema/schema';
24
17
  export { ParquetReader } from './parquetjs/parser/parquet-reader';
25
- export { ParquetEnvelopeReader } from './parquetjs/parser/parquet-envelope-reader';
26
- export { convertParquetToArrowSchema } from './lib/convert-schema';
18
+ export { ParquetEncoder } from './parquetjs/encoder/parquet-encoder';
19
+ export { convertParquetSchema, convertParquetSchema as convertParquetToArrowSchema } from './lib/arrow/convert-schema-from-parquet';
27
20
  export declare const _typecheckParquetLoader: LoaderWithParser;
21
+ export { default as geoJSONSchema } from './lib/geo/geoparquet-schema';
22
+ export type { GeoMetadata } from './lib/geo/decode-geo-metadata';
23
+ export { getGeoMetadata, setGeoMetadata, unpackGeoMetadata } from './lib/geo/decode-geo-metadata';
28
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAI/D,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAC,YAAY,EAAE,yBAAyB,EAAC,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAE7B,6BAA6B;AAC7B,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAIzB,CAAC;AAIF,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAIjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAC,2BAA2B,EAAC,MAAM,sBAAsB,CAAC;AAGjE,eAAO,MAAM,uBAAuB,EAAE,gBAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,KAAK,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AAItD,OAAO,EACL,aAAa,IAAI,mBAAmB,EAEpC,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAmB,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAC,iBAAiB,IAAI,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAC,mBAAmB,EAAE,uBAAuB,EAAC,CAAC;AAEtD,6BAA6B;AAC7B,eAAO,MAAM,aAAa,EAAE,gBAAgB,CAC1C,cAAc,EACd,mBAAmB,EACnB,oBAAoB,CAKrB,CAAC;AAEF,6BAA6B;AAE7B,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,CAClD,aAAa,EACb,kBAAkB,EAClB,oBAAoB,CAKrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAG3F,CAAC;AAIF,OAAO,EAAC,aAAa,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,IAAI,2BAA2B,EACpD,MAAM,yCAAyC,CAAC;AAGjD,eAAO,MAAM,uBAAuB,EAAE,gBAAgC,CAAC;AAGvE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAErE,YAAY,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,+BAA+B,CAAC"}