@loaders.gl/parquet 4.0.0-beta.1 → 4.0.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 (728) hide show
  1. package/dist/buffer-polyfill/buffer-polyfill.browser.d.ts.map +1 -0
  2. package/dist/buffer-polyfill/buffer-polyfill.browser.js +8 -0
  3. package/dist/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
  4. package/dist/buffer-polyfill/buffer-polyfill.node.d.ts.map +1 -0
  5. package/dist/{esm/buffer-polyfill → buffer-polyfill}/buffer-polyfill.node.js +2 -1
  6. package/dist/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
  7. package/dist/buffer-polyfill/buffer.d.ts.map +1 -0
  8. package/dist/{esm/buffer-polyfill → buffer-polyfill}/buffer.js +31 -32
  9. package/dist/buffer-polyfill/buffer.js.map +1 -0
  10. package/dist/buffer-polyfill/index.d.ts.map +1 -0
  11. package/dist/buffer-polyfill/index.js +4 -0
  12. package/dist/buffer-polyfill/index.js.map +1 -0
  13. package/dist/buffer-polyfill/install-buffer-polyfill.d.ts +3 -0
  14. package/dist/buffer-polyfill/install-buffer-polyfill.d.ts.map +1 -0
  15. package/dist/buffer-polyfill/install-buffer-polyfill.js +3 -0
  16. package/dist/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
  17. package/dist/constants.d.ts.map +1 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/index.cjs +7890 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +25 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
  24. package/dist/lib/arrow/convert-columns-to-row-group.js.map +1 -0
  25. package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
  26. package/dist/lib/arrow/convert-row-group-to-columns.js.map +1 -0
  27. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
  28. package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -0
  29. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
  30. package/dist/lib/arrow/convert-schema-to-parquet.js.map +1 -0
  31. package/dist/lib/geo/decode-geo-column.d.ts.map +1 -0
  32. package/dist/{esm/lib → lib}/geo/decode-geo-column.js +1 -1
  33. package/dist/lib/geo/decode-geo-column.js.map +1 -0
  34. package/dist/lib/geo/decode-geo-metadata.d.ts.map +1 -0
  35. package/dist/{esm/lib → lib}/geo/decode-geo-metadata.js +7 -7
  36. package/dist/lib/geo/decode-geo-metadata.js.map +1 -0
  37. package/dist/lib/geo/geoparquet-metadata-schema.d.ts.map +1 -0
  38. package/dist/lib/geo/geoparquet-metadata-schema.js.map +1 -0
  39. package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -0
  40. package/dist/{esm/lib → lib}/parsers/get-parquet-schema.js +2 -2
  41. package/dist/lib/parsers/get-parquet-schema.js.map +1 -0
  42. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
  43. package/dist/{esm/lib → lib}/parsers/parse-parquet-to-columns.js +6 -6
  44. package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -0
  45. package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
  46. package/dist/{esm/lib → lib}/parsers/parse-parquet-to-rows.js +6 -6
  47. package/dist/lib/parsers/parse-parquet-to-rows.js.map +1 -0
  48. package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
  49. package/dist/{esm/lib → lib}/wasm/encode-parquet-wasm.js +1 -1
  50. package/dist/lib/wasm/encode-parquet-wasm.js.map +1 -0
  51. package/dist/lib/wasm/load-wasm/index.d.ts.map +1 -0
  52. package/dist/lib/wasm/load-wasm/index.js +2 -0
  53. package/dist/lib/wasm/load-wasm/index.js.map +1 -0
  54. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
  55. package/dist/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
  56. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
  57. package/dist/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
  58. package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
  59. package/dist/{esm/lib → lib}/wasm/parse-parquet-wasm.js +1 -1
  60. package/dist/lib/wasm/parse-parquet-wasm.js.map +1 -0
  61. package/dist/{src/parquet-loader.d.ts → parquet-loader.d.ts} +2 -1
  62. package/dist/parquet-loader.d.ts.map +1 -0
  63. package/dist/{esm/parquet-loader.js → parquet-loader.js} +5 -2
  64. package/dist/parquet-loader.js.map +1 -0
  65. package/dist/parquet-wasm-loader.d.ts.map +1 -0
  66. package/dist/{esm/parquet-wasm-loader.js → parquet-wasm-loader.js} +1 -1
  67. package/dist/parquet-wasm-loader.js.map +1 -0
  68. package/dist/parquet-wasm-writer.d.ts.map +1 -0
  69. package/dist/{esm/parquet-wasm-writer.js → parquet-wasm-writer.js} +2 -2
  70. package/dist/parquet-wasm-writer.js.map +1 -0
  71. package/dist/parquet-writer.d.ts.map +1 -0
  72. package/dist/{esm/parquet-writer.js → parquet-writer.js} +1 -1
  73. package/dist/parquet-writer.js.map +1 -0
  74. package/dist/parquetjs/codecs/declare.d.ts.map +1 -0
  75. package/dist/parquetjs/codecs/declare.js.map +1 -0
  76. package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -0
  77. package/dist/{esm/parquetjs → parquetjs}/codecs/dictionary.js +1 -1
  78. package/dist/parquetjs/codecs/dictionary.js.map +1 -0
  79. package/dist/parquetjs/codecs/index.d.ts.map +1 -0
  80. package/dist/{esm/parquetjs → parquetjs}/codecs/index.js +4 -4
  81. package/dist/parquetjs/codecs/index.js.map +1 -0
  82. package/dist/parquetjs/codecs/plain.d.ts.map +1 -0
  83. package/dist/{esm/parquetjs → parquetjs}/codecs/plain.js +3 -3
  84. package/dist/parquetjs/codecs/plain.js.map +1 -0
  85. package/dist/parquetjs/codecs/rle.d.ts.map +1 -0
  86. package/dist/{esm/parquetjs → parquetjs}/codecs/rle.js +1 -1
  87. package/dist/parquetjs/codecs/rle.js.map +1 -0
  88. package/dist/parquetjs/compression.d.ts.map +1 -0
  89. package/dist/{esm/parquetjs → parquetjs}/compression.js +3 -3
  90. package/dist/parquetjs/compression.js.map +1 -0
  91. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
  92. package/dist/{esm/parquetjs → parquetjs}/encoder/parquet-encoder.js +21 -22
  93. package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -0
  94. package/dist/parquetjs/modules.d.js +2 -0
  95. package/dist/parquetjs/modules.d.js.map +1 -0
  96. package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
  97. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
  98. package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
  99. package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -0
  100. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
  101. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnChunk.js +8 -9
  102. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
  103. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
  104. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnIndex.js +5 -6
  105. package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
  106. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
  107. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnMetaData.js +16 -17
  108. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
  109. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
  110. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnOrder.js +2 -3
  111. package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
  112. package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
  113. package/dist/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
  114. package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
  115. package/dist/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
  116. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
  117. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DataPageHeader.js +6 -7
  118. package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
  119. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
  120. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DataPageHeaderV2.js +9 -10
  121. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
  122. package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
  123. package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -0
  124. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
  125. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DecimalType.js +2 -3
  126. package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
  127. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
  128. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DictionaryPageHeader.js +3 -4
  129. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
  130. package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
  131. package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -0
  132. package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
  133. package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -0
  134. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
  135. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
  136. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
  137. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/FileMetaData.js +11 -12
  138. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
  139. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
  140. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
  141. package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
  142. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/IntType.js +2 -3
  143. package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -0
  144. package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
  145. package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -0
  146. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
  147. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/KeyValue.js +2 -3
  148. package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
  149. package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
  150. package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -0
  151. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
  152. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/LogicalType.js +26 -27
  153. package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
  154. package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
  155. package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -0
  156. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
  157. package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
  158. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
  159. package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
  160. package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
  161. package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -0
  162. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
  163. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/OffsetIndex.js +2 -3
  164. package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
  165. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
  166. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageEncodingStats.js +3 -4
  167. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
  168. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
  169. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageHeader.js +12 -13
  170. package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
  171. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
  172. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageLocation.js +3 -4
  173. package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
  174. package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
  175. package/dist/parquetjs/parquet-thrift/PageType.js.map +1 -0
  176. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
  177. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/RowGroup.js +6 -7
  178. package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
  179. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
  180. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/SchemaElement.js +11 -12
  181. package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
  182. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
  183. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/SortingColumn.js +3 -4
  184. package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
  185. package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
  186. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Statistics.js +6 -7
  187. package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -0
  188. package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
  189. package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -0
  190. package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
  191. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimeType.js +3 -4
  192. package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -0
  193. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
  194. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimeUnit.js +4 -5
  195. package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
  196. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
  197. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimestampType.js +3 -4
  198. package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
  199. package/dist/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
  200. package/dist/parquetjs/parquet-thrift/Type.js.map +1 -0
  201. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
  202. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
  203. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
  204. package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
  205. package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -0
  206. package/dist/parquetjs/parquet-thrift/index.js +46 -0
  207. package/dist/parquetjs/parquet-thrift/index.js.map +1 -0
  208. package/dist/parquetjs/parser/decoders.d.ts.map +1 -0
  209. package/dist/{esm/parquetjs → parquetjs}/parser/decoders.js +8 -8
  210. package/dist/parquetjs/parser/decoders.js.map +1 -0
  211. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -0
  212. package/dist/{esm/parquetjs → parquetjs}/parser/parquet-reader.js +26 -22
  213. package/dist/parquetjs/parser/parquet-reader.js.map +1 -0
  214. package/dist/parquetjs/schema/declare.d.ts.map +1 -0
  215. package/dist/{esm/parquetjs → parquetjs}/schema/declare.js +2 -3
  216. package/dist/parquetjs/schema/declare.js.map +1 -0
  217. package/dist/parquetjs/schema/schema.d.ts.map +1 -0
  218. package/dist/{esm/parquetjs → parquetjs}/schema/schema.js +10 -11
  219. package/dist/parquetjs/schema/schema.js.map +1 -0
  220. package/dist/parquetjs/schema/shred.d.ts.map +1 -0
  221. package/dist/{esm/parquetjs → parquetjs}/schema/shred.js +4 -4
  222. package/dist/parquetjs/schema/shred.js.map +1 -0
  223. package/dist/parquetjs/schema/types.d.ts.map +1 -0
  224. package/dist/{esm/parquetjs → parquetjs}/schema/types.js +20 -20
  225. package/dist/parquetjs/schema/types.js.map +1 -0
  226. package/dist/{src/parquetjs → parquetjs}/utils/file-utils.d.ts +2 -1
  227. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -0
  228. package/dist/{esm/parquetjs → parquetjs}/utils/file-utils.js +1 -1
  229. package/dist/parquetjs/utils/file-utils.js.map +1 -0
  230. package/dist/parquetjs/utils/read-utils.d.ts.map +1 -0
  231. package/dist/{esm/parquetjs → parquetjs}/utils/read-utils.js +3 -4
  232. package/dist/parquetjs/utils/read-utils.js.map +1 -0
  233. package/dist/workers/parquet-worker.d.ts.map +1 -0
  234. package/dist/{esm/workers → workers}/parquet-worker.js +1 -1
  235. package/dist/workers/parquet-worker.js.map +1 -0
  236. package/package.json +25 -14
  237. package/src/buffer-polyfill/buffer-polyfill.browser.ts +6 -0
  238. package/src/buffer-polyfill/buffer-polyfill.node.ts +2 -0
  239. package/src/lib/parsers/parse-parquet-to-columns.ts +2 -2
  240. package/src/lib/parsers/parse-parquet-to-rows.ts +2 -2
  241. package/src/parquet-loader.ts +9 -1
  242. package/src/parquetjs/parser/parquet-reader.ts +10 -5
  243. package/src/parquetjs/utils/file-utils.ts +2 -1
  244. package/dist/dist.min.js +0 -54
  245. package/dist/dist.min.js.map +0 -7
  246. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +0 -12
  247. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +0 -1
  248. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +0 -16
  249. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js.map +0 -1
  250. package/dist/es5/buffer-polyfill/buffer.js +0 -1665
  251. package/dist/es5/buffer-polyfill/buffer.js.map +0 -1
  252. package/dist/es5/buffer-polyfill/index.js +0 -27
  253. package/dist/es5/buffer-polyfill/index.js.map +0 -1
  254. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +0 -10
  255. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +0 -1
  256. package/dist/es5/bundle.js +0 -6
  257. package/dist/es5/bundle.js.map +0 -1
  258. package/dist/es5/constants.js +0 -17
  259. package/dist/es5/constants.js.map +0 -1
  260. package/dist/es5/index.js +0 -125
  261. package/dist/es5/index.js.map +0 -1
  262. package/dist/es5/lib/arrow/convert-columns-to-row-group.js +0 -2
  263. package/dist/es5/lib/arrow/convert-columns-to-row-group.js.map +0 -1
  264. package/dist/es5/lib/arrow/convert-row-group-to-columns.js +0 -19
  265. package/dist/es5/lib/arrow/convert-row-group-to-columns.js.map +0 -1
  266. package/dist/es5/lib/arrow/convert-schema-from-parquet.js +0 -114
  267. package/dist/es5/lib/arrow/convert-schema-from-parquet.js.map +0 -1
  268. package/dist/es5/lib/arrow/convert-schema-to-parquet.js +0 -47
  269. package/dist/es5/lib/arrow/convert-schema-to-parquet.js.map +0 -1
  270. package/dist/es5/lib/geo/decode-geo-column.js +0 -53
  271. package/dist/es5/lib/geo/decode-geo-column.js.map +0 -1
  272. package/dist/es5/lib/geo/decode-geo-metadata.js +0 -117
  273. package/dist/es5/lib/geo/decode-geo-metadata.js.map +0 -1
  274. package/dist/es5/lib/geo/geoparquet-metadata-schema.js +0 -83
  275. package/dist/es5/lib/geo/geoparquet-metadata-schema.js.map +0 -1
  276. package/dist/es5/lib/parsers/get-parquet-schema.js +0 -41
  277. package/dist/es5/lib/parsers/get-parquet-schema.js.map +0 -1
  278. package/dist/es5/lib/parsers/parse-parquet-to-columns.js +0 -176
  279. package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +0 -1
  280. package/dist/es5/lib/parsers/parse-parquet-to-rows.js +0 -205
  281. package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +0 -1
  282. package/dist/es5/lib/wasm/encode-parquet-wasm.js +0 -43
  283. package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +0 -1
  284. package/dist/es5/lib/wasm/load-wasm/index.js +0 -13
  285. package/dist/es5/lib/wasm/load-wasm/index.js.map +0 -1
  286. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +0 -42
  287. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +0 -1
  288. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +0 -31
  289. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +0 -1
  290. package/dist/es5/lib/wasm/parse-parquet-wasm.js +0 -60
  291. package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +0 -1
  292. package/dist/es5/parquet-loader.js +0 -44
  293. package/dist/es5/parquet-loader.js.map +0 -1
  294. package/dist/es5/parquet-wasm-loader.js +0 -27
  295. package/dist/es5/parquet-wasm-loader.js.map +0 -1
  296. package/dist/es5/parquet-wasm-writer.js +0 -25
  297. package/dist/es5/parquet-wasm-writer.js.map +0 -1
  298. package/dist/es5/parquet-writer.js +0 -23
  299. package/dist/es5/parquet-writer.js.map +0 -1
  300. package/dist/es5/parquetjs/codecs/declare.js +0 -2
  301. package/dist/es5/parquetjs/codecs/declare.js.map +0 -1
  302. package/dist/es5/parquetjs/codecs/dictionary.js +0 -23
  303. package/dist/es5/parquetjs/codecs/dictionary.js.map +0 -1
  304. package/dist/es5/parquetjs/codecs/index.js +0 -47
  305. package/dist/es5/parquetjs/codecs/index.js.map +0 -1
  306. package/dist/es5/parquetjs/codecs/plain.js +0 -208
  307. package/dist/es5/parquetjs/codecs/plain.js.map +0 -1
  308. package/dist/es5/parquetjs/codecs/rle.js +0 -132
  309. package/dist/es5/parquetjs/codecs/rle.js.map +0 -1
  310. package/dist/es5/parquetjs/compression.js +0 -137
  311. package/dist/es5/parquetjs/compression.js.map +0 -1
  312. package/dist/es5/parquetjs/encoder/parquet-encoder.js +0 -625
  313. package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +0 -1
  314. package/dist/es5/parquetjs/modules.d.ts +0 -21
  315. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +0 -14
  316. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  317. package/dist/es5/parquetjs/parquet-thrift/BsonType.js +0 -52
  318. package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  319. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +0 -193
  320. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  321. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +0 -198
  322. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  323. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +0 -367
  324. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  325. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +0 -99
  326. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  327. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +0 -19
  328. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  329. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +0 -33
  330. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  331. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +0 -152
  332. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  333. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -207
  334. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  335. package/dist/es5/parquetjs/parquet-thrift/DateType.js +0 -52
  336. package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +0 -1
  337. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +0 -96
  338. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  339. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -113
  340. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  341. package/dist/es5/parquetjs/parquet-thrift/Encoding.js +0 -19
  342. package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  343. package/dist/es5/parquetjs/parquet-thrift/EnumType.js +0 -52
  344. package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  345. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -14
  346. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  347. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +0 -239
  348. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  349. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +0 -52
  350. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  351. package/dist/es5/parquetjs/parquet-thrift/IntType.js +0 -96
  352. package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +0 -1
  353. package/dist/es5/parquetjs/parquet-thrift/JsonType.js +0 -52
  354. package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  355. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +0 -94
  356. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  357. package/dist/es5/parquetjs/parquet-thrift/ListType.js +0 -52
  358. package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +0 -1
  359. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +0 -423
  360. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  361. package/dist/es5/parquetjs/parquet-thrift/MapType.js +0 -52
  362. package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +0 -1
  363. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +0 -52
  364. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  365. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +0 -52
  366. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  367. package/dist/es5/parquetjs/parquet-thrift/NullType.js +0 -52
  368. package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +0 -1
  369. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +0 -89
  370. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  371. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +0 -115
  372. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  373. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +0 -204
  374. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  375. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +0 -124
  376. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  377. package/dist/es5/parquetjs/parquet-thrift/PageType.js +0 -15
  378. package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +0 -1
  379. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +0 -165
  380. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  381. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +0 -231
  382. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  383. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +0 -115
  384. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  385. package/dist/es5/parquetjs/parquet-thrift/Statistics.js +0 -165
  386. package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  387. package/dist/es5/parquetjs/parquet-thrift/StringType.js +0 -52
  388. package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +0 -1
  389. package/dist/es5/parquetjs/parquet-thrift/TimeType.js +0 -97
  390. package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  391. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +0 -126
  392. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  393. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +0 -97
  394. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  395. package/dist/es5/parquetjs/parquet-thrift/Type.js +0 -19
  396. package/dist/es5/parquetjs/parquet-thrift/Type.js.map +0 -1
  397. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -52
  398. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  399. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +0 -52
  400. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  401. package/dist/es5/parquetjs/parquet-thrift/index.js +0 -554
  402. package/dist/es5/parquetjs/parquet-thrift/index.js.map +0 -1
  403. package/dist/es5/parquetjs/parser/decoders.js +0 -410
  404. package/dist/es5/parquetjs/parser/decoders.js.map +0 -1
  405. package/dist/es5/parquetjs/parser/parquet-reader.js +0 -612
  406. package/dist/es5/parquetjs/parser/parquet-reader.js.map +0 -1
  407. package/dist/es5/parquetjs/schema/declare.js +0 -21
  408. package/dist/es5/parquetjs/schema/declare.js.map +0 -1
  409. package/dist/es5/parquetjs/schema/schema.js +0 -165
  410. package/dist/es5/parquetjs/schema/schema.js.map +0 -1
  411. package/dist/es5/parquetjs/schema/shred.js +0 -282
  412. package/dist/es5/parquetjs/schema/shred.js.map +0 -1
  413. package/dist/es5/parquetjs/schema/types.js +0 -406
  414. package/dist/es5/parquetjs/schema/types.js.map +0 -1
  415. package/dist/es5/parquetjs/utils/file-utils.js +0 -47
  416. package/dist/es5/parquetjs/utils/file-utils.js.map +0 -1
  417. package/dist/es5/parquetjs/utils/read-utils.js +0 -119
  418. package/dist/es5/parquetjs/utils/read-utils.js.map +0 -1
  419. package/dist/es5/workers/parquet-worker.js +0 -6
  420. package/dist/es5/workers/parquet-worker.js.map +0 -1
  421. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js +0 -6
  422. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js.map +0 -1
  423. package/dist/esm/buffer-polyfill/buffer-polyfill.node.js.map +0 -1
  424. package/dist/esm/buffer-polyfill/buffer.js.map +0 -1
  425. package/dist/esm/buffer-polyfill/index.js +0 -4
  426. package/dist/esm/buffer-polyfill/index.js.map +0 -1
  427. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js +0 -3
  428. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +0 -1
  429. package/dist/esm/bundle.js +0 -4
  430. package/dist/esm/bundle.js.map +0 -1
  431. package/dist/esm/constants.js.map +0 -1
  432. package/dist/esm/index.js +0 -25
  433. package/dist/esm/index.js.map +0 -1
  434. package/dist/esm/lib/arrow/convert-columns-to-row-group.js.map +0 -1
  435. package/dist/esm/lib/arrow/convert-row-group-to-columns.js.map +0 -1
  436. package/dist/esm/lib/arrow/convert-schema-from-parquet.js.map +0 -1
  437. package/dist/esm/lib/arrow/convert-schema-to-parquet.js.map +0 -1
  438. package/dist/esm/lib/geo/decode-geo-column.js.map +0 -1
  439. package/dist/esm/lib/geo/decode-geo-metadata.js.map +0 -1
  440. package/dist/esm/lib/geo/geoparquet-metadata-schema.js.map +0 -1
  441. package/dist/esm/lib/geo/geoparquet-metadata-schema.json +0 -60
  442. package/dist/esm/lib/parsers/get-parquet-schema.js.map +0 -1
  443. package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +0 -1
  444. package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +0 -1
  445. package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +0 -1
  446. package/dist/esm/lib/wasm/load-wasm/index.js +0 -2
  447. package/dist/esm/lib/wasm/load-wasm/index.js.map +0 -1
  448. package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +0 -1
  449. package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +0 -1
  450. package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +0 -1
  451. package/dist/esm/lib/wip/convert-schema-deep.java.disabled +0 -910
  452. package/dist/esm/lib/wip/convert-schema-deep.rs.disabled +0 -976
  453. package/dist/esm/parquet-loader.js.map +0 -1
  454. package/dist/esm/parquet-wasm-loader.js.map +0 -1
  455. package/dist/esm/parquet-wasm-writer.js.map +0 -1
  456. package/dist/esm/parquet-writer.js.map +0 -1
  457. package/dist/esm/parquetjs/LICENSE +0 -20
  458. package/dist/esm/parquetjs/codecs/declare.js.map +0 -1
  459. package/dist/esm/parquetjs/codecs/dictionary.js.map +0 -1
  460. package/dist/esm/parquetjs/codecs/index.js.map +0 -1
  461. package/dist/esm/parquetjs/codecs/plain.js.map +0 -1
  462. package/dist/esm/parquetjs/codecs/rle.js.map +0 -1
  463. package/dist/esm/parquetjs/compression.js.map +0 -1
  464. package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +0 -1
  465. package/dist/esm/parquetjs/modules.d.ts +0 -21
  466. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  467. package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  468. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  469. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  470. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  471. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  472. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  473. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  474. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  475. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  476. package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +0 -1
  477. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  478. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  479. package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  480. package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  481. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  482. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  483. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  484. package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +0 -1
  485. package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  486. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  487. package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +0 -1
  488. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  489. package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +0 -1
  490. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  491. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  492. package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +0 -1
  493. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  494. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  495. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  496. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  497. package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +0 -1
  498. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  499. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  500. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  501. package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  502. package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +0 -1
  503. package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  504. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  505. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  506. package/dist/esm/parquetjs/parquet-thrift/Type.js.map +0 -1
  507. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  508. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  509. package/dist/esm/parquetjs/parquet-thrift/index.js +0 -46
  510. package/dist/esm/parquetjs/parquet-thrift/index.js.map +0 -1
  511. package/dist/esm/parquetjs/parser/decoders.js.map +0 -1
  512. package/dist/esm/parquetjs/parser/parquet-reader.js.map +0 -1
  513. package/dist/esm/parquetjs/schema/declare.js.map +0 -1
  514. package/dist/esm/parquetjs/schema/schema.js.map +0 -1
  515. package/dist/esm/parquetjs/schema/shred.js.map +0 -1
  516. package/dist/esm/parquetjs/schema/types.js.map +0 -1
  517. package/dist/esm/parquetjs/utils/file-utils.js.map +0 -1
  518. package/dist/esm/parquetjs/utils/read-utils.js.map +0 -1
  519. package/dist/esm/workers/parquet-worker.js.map +0 -1
  520. package/dist/parquet-worker.js +0 -54
  521. package/dist/parquet-worker.js.map +0 -7
  522. package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts.map +0 -1
  523. package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts.map +0 -1
  524. package/dist/src/buffer-polyfill/buffer.d.ts.map +0 -1
  525. package/dist/src/buffer-polyfill/index.d.ts.map +0 -1
  526. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts +0 -30
  527. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts.map +0 -1
  528. package/dist/src/bundle.d.ts +0 -2
  529. package/dist/src/bundle.d.ts.map +0 -1
  530. package/dist/src/constants.d.ts.map +0 -1
  531. package/dist/src/index.d.ts.map +0 -1
  532. package/dist/src/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
  533. package/dist/src/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
  534. package/dist/src/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
  535. package/dist/src/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
  536. package/dist/src/lib/geo/decode-geo-column.d.ts.map +0 -1
  537. package/dist/src/lib/geo/decode-geo-metadata.d.ts.map +0 -1
  538. package/dist/src/lib/geo/geoparquet-metadata-schema.d.ts.map +0 -1
  539. package/dist/src/lib/parsers/get-parquet-schema.d.ts.map +0 -1
  540. package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts.map +0 -1
  541. package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
  542. package/dist/src/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
  543. package/dist/src/lib/wasm/load-wasm/index.d.ts.map +0 -1
  544. package/dist/src/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
  545. package/dist/src/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
  546. package/dist/src/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
  547. package/dist/src/parquet-loader.d.ts.map +0 -1
  548. package/dist/src/parquet-wasm-loader.d.ts.map +0 -1
  549. package/dist/src/parquet-wasm-writer.d.ts.map +0 -1
  550. package/dist/src/parquet-writer.d.ts.map +0 -1
  551. package/dist/src/parquetjs/codecs/declare.d.ts.map +0 -1
  552. package/dist/src/parquetjs/codecs/dictionary.d.ts.map +0 -1
  553. package/dist/src/parquetjs/codecs/index.d.ts.map +0 -1
  554. package/dist/src/parquetjs/codecs/plain.d.ts.map +0 -1
  555. package/dist/src/parquetjs/codecs/rle.d.ts.map +0 -1
  556. package/dist/src/parquetjs/compression.d.ts.map +0 -1
  557. package/dist/src/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
  558. package/dist/src/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
  559. package/dist/src/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
  560. package/dist/src/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
  561. package/dist/src/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
  562. package/dist/src/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
  563. package/dist/src/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
  564. package/dist/src/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
  565. package/dist/src/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
  566. package/dist/src/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
  567. package/dist/src/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
  568. package/dist/src/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
  569. package/dist/src/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
  570. package/dist/src/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
  571. package/dist/src/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
  572. package/dist/src/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
  573. package/dist/src/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
  574. package/dist/src/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
  575. package/dist/src/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
  576. package/dist/src/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
  577. package/dist/src/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
  578. package/dist/src/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
  579. package/dist/src/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
  580. package/dist/src/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
  581. package/dist/src/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
  582. package/dist/src/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
  583. package/dist/src/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
  584. package/dist/src/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
  585. package/dist/src/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
  586. package/dist/src/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
  587. package/dist/src/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
  588. package/dist/src/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
  589. package/dist/src/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
  590. package/dist/src/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
  591. package/dist/src/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
  592. package/dist/src/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
  593. package/dist/src/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
  594. package/dist/src/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
  595. package/dist/src/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
  596. package/dist/src/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
  597. package/dist/src/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
  598. package/dist/src/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
  599. package/dist/src/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
  600. package/dist/src/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
  601. package/dist/src/parquetjs/parquet-thrift/index.d.ts.map +0 -1
  602. package/dist/src/parquetjs/parser/decoders.d.ts.map +0 -1
  603. package/dist/src/parquetjs/parser/parquet-reader.d.ts.map +0 -1
  604. package/dist/src/parquetjs/schema/declare.d.ts.map +0 -1
  605. package/dist/src/parquetjs/schema/schema.d.ts.map +0 -1
  606. package/dist/src/parquetjs/schema/shred.d.ts.map +0 -1
  607. package/dist/src/parquetjs/schema/types.d.ts.map +0 -1
  608. package/dist/src/parquetjs/utils/file-utils.d.ts.map +0 -1
  609. package/dist/src/parquetjs/utils/read-utils.d.ts.map +0 -1
  610. package/dist/src/workers/parquet-worker.d.ts.map +0 -1
  611. package/dist/tsconfig.tsbuildinfo +0 -1
  612. package/src/bundle.ts +0 -4
  613. /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer-polyfill.browser.d.ts +0 -0
  614. /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer-polyfill.node.d.ts +0 -0
  615. /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer.d.ts +0 -0
  616. /package/dist/{src/buffer-polyfill → buffer-polyfill}/index.d.ts +0 -0
  617. /package/dist/{src/constants.d.ts → constants.d.ts} +0 -0
  618. /package/dist/{esm/constants.js → constants.js} +0 -0
  619. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  620. /package/dist/{src/lib → lib}/arrow/convert-columns-to-row-group.d.ts +0 -0
  621. /package/dist/{esm/lib → lib}/arrow/convert-columns-to-row-group.js +0 -0
  622. /package/dist/{src/lib → lib}/arrow/convert-row-group-to-columns.d.ts +0 -0
  623. /package/dist/{esm/lib → lib}/arrow/convert-row-group-to-columns.js +0 -0
  624. /package/dist/{src/lib → lib}/arrow/convert-schema-from-parquet.d.ts +0 -0
  625. /package/dist/{esm/lib → lib}/arrow/convert-schema-from-parquet.js +0 -0
  626. /package/dist/{src/lib → lib}/arrow/convert-schema-to-parquet.d.ts +0 -0
  627. /package/dist/{esm/lib → lib}/arrow/convert-schema-to-parquet.js +0 -0
  628. /package/dist/{src/lib → lib}/geo/decode-geo-column.d.ts +0 -0
  629. /package/dist/{src/lib → lib}/geo/decode-geo-metadata.d.ts +0 -0
  630. /package/dist/{src/lib → lib}/geo/geoparquet-metadata-schema.d.ts +0 -0
  631. /package/dist/{esm/lib → lib}/geo/geoparquet-metadata-schema.js +0 -0
  632. /package/dist/{es5/lib → lib}/geo/geoparquet-metadata-schema.json +0 -0
  633. /package/dist/{src/lib → lib}/parsers/get-parquet-schema.d.ts +0 -0
  634. /package/dist/{src/lib → lib}/parsers/parse-parquet-to-columns.d.ts +0 -0
  635. /package/dist/{src/lib → lib}/parsers/parse-parquet-to-rows.d.ts +0 -0
  636. /package/dist/{src/lib → lib}/wasm/encode-parquet-wasm.d.ts +0 -0
  637. /package/dist/{src/lib → lib}/wasm/load-wasm/index.d.ts +0 -0
  638. /package/dist/{src/lib → lib}/wasm/load-wasm/load-wasm-browser.d.ts +0 -0
  639. /package/dist/{esm/lib → lib}/wasm/load-wasm/load-wasm-browser.js +0 -0
  640. /package/dist/{src/lib → lib}/wasm/load-wasm/load-wasm-node.d.ts +0 -0
  641. /package/dist/{esm/lib → lib}/wasm/load-wasm/load-wasm-node.js +0 -0
  642. /package/dist/{src/lib → lib}/wasm/parse-parquet-wasm.d.ts +0 -0
  643. /package/dist/{es5/lib → lib}/wip/convert-schema-deep.java.disabled +0 -0
  644. /package/dist/{es5/lib → lib}/wip/convert-schema-deep.rs.disabled +0 -0
  645. /package/dist/{src/parquet-wasm-loader.d.ts → parquet-wasm-loader.d.ts} +0 -0
  646. /package/dist/{src/parquet-wasm-writer.d.ts → parquet-wasm-writer.d.ts} +0 -0
  647. /package/dist/{src/parquet-writer.d.ts → parquet-writer.d.ts} +0 -0
  648. /package/dist/{es5/parquetjs → parquetjs}/LICENSE +0 -0
  649. /package/dist/{src/parquetjs → parquetjs}/codecs/declare.d.ts +0 -0
  650. /package/dist/{esm/parquetjs → parquetjs}/codecs/declare.js +0 -0
  651. /package/dist/{src/parquetjs → parquetjs}/codecs/dictionary.d.ts +0 -0
  652. /package/dist/{src/parquetjs → parquetjs}/codecs/index.d.ts +0 -0
  653. /package/dist/{src/parquetjs → parquetjs}/codecs/plain.d.ts +0 -0
  654. /package/dist/{src/parquetjs → parquetjs}/codecs/rle.d.ts +0 -0
  655. /package/dist/{src/parquetjs → parquetjs}/compression.d.ts +0 -0
  656. /package/dist/{src/parquetjs → parquetjs}/encoder/parquet-encoder.d.ts +0 -0
  657. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/BoundaryOrder.d.ts +0 -0
  658. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/BoundaryOrder.js +0 -0
  659. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/BsonType.d.ts +0 -0
  660. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/BsonType.js +0 -0
  661. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnChunk.d.ts +0 -0
  662. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnIndex.d.ts +0 -0
  663. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnMetaData.d.ts +0 -0
  664. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnOrder.d.ts +0 -0
  665. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/CompressionCodec.d.ts +0 -0
  666. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/CompressionCodec.js +0 -0
  667. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ConvertedType.d.ts +0 -0
  668. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ConvertedType.js +0 -0
  669. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DataPageHeader.d.ts +0 -0
  670. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DataPageHeaderV2.d.ts +0 -0
  671. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DateType.d.ts +0 -0
  672. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DateType.js +0 -0
  673. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DecimalType.d.ts +0 -0
  674. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DictionaryPageHeader.d.ts +0 -0
  675. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Encoding.d.ts +0 -0
  676. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Encoding.js +0 -0
  677. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/EnumType.d.ts +0 -0
  678. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/EnumType.js +0 -0
  679. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/FieldRepetitionType.d.ts +0 -0
  680. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/FieldRepetitionType.js +0 -0
  681. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/FileMetaData.d.ts +0 -0
  682. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/IndexPageHeader.d.ts +0 -0
  683. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/IndexPageHeader.js +0 -0
  684. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/IntType.d.ts +0 -0
  685. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/JsonType.d.ts +0 -0
  686. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/JsonType.js +0 -0
  687. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/KeyValue.d.ts +0 -0
  688. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ListType.d.ts +0 -0
  689. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ListType.js +0 -0
  690. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/LogicalType.d.ts +0 -0
  691. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MapType.d.ts +0 -0
  692. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MapType.js +0 -0
  693. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MicroSeconds.d.ts +0 -0
  694. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MicroSeconds.js +0 -0
  695. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MilliSeconds.d.ts +0 -0
  696. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MilliSeconds.js +0 -0
  697. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/NullType.d.ts +0 -0
  698. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/NullType.js +0 -0
  699. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/OffsetIndex.d.ts +0 -0
  700. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageEncodingStats.d.ts +0 -0
  701. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageHeader.d.ts +0 -0
  702. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageLocation.d.ts +0 -0
  703. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageType.d.ts +0 -0
  704. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageType.js +0 -0
  705. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/RowGroup.d.ts +0 -0
  706. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/SchemaElement.d.ts +0 -0
  707. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/SortingColumn.d.ts +0 -0
  708. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Statistics.d.ts +0 -0
  709. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/StringType.d.ts +0 -0
  710. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/StringType.js +0 -0
  711. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimeType.d.ts +0 -0
  712. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimeUnit.d.ts +0 -0
  713. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimestampType.d.ts +0 -0
  714. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Type.d.ts +0 -0
  715. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Type.js +0 -0
  716. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TypeDefinedOrder.d.ts +0 -0
  717. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TypeDefinedOrder.js +0 -0
  718. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/UUIDType.d.ts +0 -0
  719. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/UUIDType.js +0 -0
  720. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/index.d.ts +0 -0
  721. /package/dist/{src/parquetjs → parquetjs}/parser/decoders.d.ts +0 -0
  722. /package/dist/{src/parquetjs → parquetjs}/parser/parquet-reader.d.ts +0 -0
  723. /package/dist/{src/parquetjs → parquetjs}/schema/declare.d.ts +0 -0
  724. /package/dist/{src/parquetjs → parquetjs}/schema/schema.d.ts +0 -0
  725. /package/dist/{src/parquetjs → parquetjs}/schema/shred.d.ts +0 -0
  726. /package/dist/{src/parquetjs → parquetjs}/schema/types.d.ts +0 -0
  727. /package/dist/{src/parquetjs → parquetjs}/utils/read-utils.d.ts +0 -0
  728. /package/dist/{src/workers → workers}/parquet-worker.d.ts +0 -0
@@ -1,119 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.decodeFileMetadata = decodeFileMetadata;
8
- exports.decodePageHeader = decodePageHeader;
9
- exports.decodeThrift = decodeThrift;
10
- exports.fieldIndexOf = fieldIndexOf;
11
- exports.getBitWidth = getBitWidth;
12
- exports.getThriftEnum = getThriftEnum;
13
- exports.serializeThrift = serializeThrift;
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
- var _parquetThrift = require("../parquet-thrift");
22
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
23
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
- var UFramedTransport = function (_TFramedTransport) {
25
- (0, _inherits2.default)(UFramedTransport, _TFramedTransport);
26
- var _super = _createSuper(UFramedTransport);
27
- function UFramedTransport() {
28
- var _this;
29
- (0, _classCallCheck2.default)(this, UFramedTransport);
30
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
- args[_key] = arguments[_key];
32
- }
33
- _this = _super.call.apply(_super, [this].concat(args));
34
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "readPos", 0);
35
- return _this;
36
- }
37
- return (0, _createClass2.default)(UFramedTransport);
38
- }(_parquetThrift.TFramedTransport);
39
- function serializeThrift(obj) {
40
- var output = [];
41
- var transport = new _parquetThrift.TBufferedTransport(undefined, function (buf) {
42
- output.push(buf);
43
- });
44
- var protocol = new _parquetThrift.TCompactProtocol(transport);
45
- obj.write(protocol);
46
- transport.flush();
47
- return Buffer.concat(output);
48
- }
49
- function decodeThrift(obj, buf, offset) {
50
- if (!offset) {
51
- offset = 0;
52
- }
53
- var transport = new UFramedTransport(buf);
54
- transport.readPos = offset;
55
- var protocol = new _parquetThrift.TCompactProtocol(transport);
56
- obj.read(protocol);
57
- return transport.readPos - offset;
58
- }
59
- function getThriftEnum(klass, value) {
60
- for (var k in klass) {
61
- if (klass[k] === value) {
62
- return k;
63
- }
64
- }
65
- throw new Error('Invalid ENUM value');
66
- }
67
- function decodeFileMetadata(buf, offset) {
68
- if (!offset) {
69
- offset = 0;
70
- }
71
- var transport = new UFramedTransport(buf);
72
- transport.readPos = offset;
73
- var protocol = new _parquetThrift.TCompactProtocol(transport);
74
- var metadata = _parquetThrift.FileMetaData.read(protocol);
75
- return {
76
- length: transport.readPos - offset,
77
- metadata: metadata
78
- };
79
- }
80
- function decodePageHeader(buf, offset) {
81
- if (!offset) {
82
- offset = 0;
83
- }
84
- var transport = new UFramedTransport(buf);
85
- transport.readPos = offset;
86
- var protocol = new _parquetThrift.TCompactProtocol(transport);
87
- var pageHeader = _parquetThrift.PageHeader.read(protocol);
88
- return {
89
- length: transport.readPos - offset,
90
- pageHeader: pageHeader
91
- };
92
- }
93
- function getBitWidth(val) {
94
- if (val === 0) {
95
- return 0;
96
- }
97
- return Math.ceil(Math.log2(val + 1));
98
- }
99
- function fieldIndexOf(arr, elem) {
100
- for (var j = 0; j < arr.length; j++) {
101
- if (arr[j].length > elem.length) {
102
- continue;
103
- }
104
- var m = true;
105
- for (var i = 0; i < elem.length; i++) {
106
- if (arr[j][i] === elem[i] || arr[j][i] === '+' || arr[j][i] === '#') {
107
- continue;
108
- }
109
- if (i >= arr[j].length && arr[j][arr[j].length - 1] === '#') {
110
- continue;
111
- }
112
- m = false;
113
- break;
114
- }
115
- if (m) return j;
116
- }
117
- return -1;
118
- }
119
- //# sourceMappingURL=read-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-utils.js","names":["_parquetThrift","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","UFramedTransport","_TFramedTransport","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","TFramedTransport","serializeThrift","obj","output","transport","TBufferedTransport","undefined","buf","push","protocol","TCompactProtocol","write","flush","Buffer","decodeThrift","offset","readPos","read","getThriftEnum","klass","value","k","Error","decodeFileMetadata","metadata","FileMetaData","decodePageHeader","pageHeader","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 '../parquet-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 unknown 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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"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- var _loaderUtils = require("@loaders.gl/loader-utils");
4
- var _index = require("../index");
5
- (0, _loaderUtils.createLoaderWorker)(_index.ParquetLoader);
6
- //# sourceMappingURL=parquet-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parquet-worker.js","names":["_loaderUtils","require","_index","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,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,+BAAkB,EAACC,oBAAa,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Buffer as BufferPolyfill } from './buffer';
2
- export function installBufferPolyfill() {
3
- globalThis.Buffer = globalThis.Buffer || BufferPolyfill;
4
- return globalThis.Buffer;
5
- }
6
- //# sourceMappingURL=buffer-polyfill.browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffer-polyfill.browser.js","names":["Buffer","BufferPolyfill","installBufferPolyfill","globalThis"],"sources":["../../../src/buffer-polyfill/buffer-polyfill.browser.ts"],"sourcesContent":["// luma.gl, MIT license\n\nimport {Buffer as BufferPolyfill} from './buffer';\n\n/** Install Node.js Buffer polyfill (NO-OP in Node.js) */\nexport function installBufferPolyfill(): typeof Buffer {\n // @ts-ignore\n globalThis.Buffer = globalThis.Buffer || BufferPolyfill;\n // @ts-ignore\n return globalThis.Buffer;\n}\n"],"mappings":"AAEA,SAAQA,MAAM,IAAIC,cAAc,QAAO,UAAU;AAGjD,OAAO,SAASC,qBAAqBA,CAAA,EAAkB;EAErDC,UAAU,CAACH,MAAM,GAAGG,UAAU,CAACH,MAAM,IAAIC,cAAc;EAEvD,OAAOE,UAAU,CAACH,MAAM;AAC1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffer-polyfill.node.js","names":["Buffer","BufferPolyfill","installBufferPolyfill","Buffer_","globalThis"],"sources":["../../../src/buffer-polyfill/buffer-polyfill.node.ts"],"sourcesContent":["// luma.gl, MIT license\n\nimport {Buffer as BufferPolyfill} from './buffer';\n\n/** Install the Node.js Buffer polyfill (NO-OP in Node.js) */\nexport function installBufferPolyfill(): typeof Buffer {\n const Buffer_ = typeof Buffer !== 'undefined' ? Buffer : null;\n if (!Buffer_) {\n // @ts-expect-error\n globalThis.Buffer = BufferPolyfill;\n return BufferPolyfill as unknown as typeof Buffer;\n }\n // Buffer is a global variable in Node.js\n return Buffer_;\n}\n"],"mappings":"AAEA,SAAQA,MAAM,IAAIC,cAAc,QAAO,UAAU;AAGjD,OAAO,SAASC,qBAAqBA,CAAA,EAAkB;EACrD,MAAMC,OAAO,GAAG,OAAOH,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAG,IAAI;EAC7D,IAAI,CAACG,OAAO,EAAE;IAEZC,UAAU,CAACJ,MAAM,GAAGC,cAAc;IAClC,OAAOA,cAAc;EACvB;EAEA,OAAOE,OAAO;AAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffer.js","names":["base64","ieee754","kMaxLength","INSPECT_MAX_BYTES","Buffer","Uint8Array","parent","isBuffer","undefined","buffer","offset","byteOffset","constructor","arg","encodingOrOffset","length","from","size","RangeError","concat","TypeError","checked","_defineProperty","value","fromString","ArrayBuffer","isView","fromArrayView","isInstance","fromArrayBuffer","SharedArrayBuffer","valueOf","b","fromObject","Symbol","toPrimitive","_isBuffer","prototype","compare","a","byteLength","x","y","i","len","Math","min","isEncoding","encoding","String","toLowerCase","list","Array","isArray","alloc","allocUnsafe","pos","buf","copy","set","call","fill","assertSize","allocUnsafeSlow","includes","val","indexOf","bidirectionalIndexOf","lastIndexOf","readInt8","noAssert","checkOffset","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readIntBE","mul","pow","readIntLE","readBigInt64LE","validateNumber","first","last","boundsError","BigInt","readBigInt64BE","readUInt8","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readUIntLE","readUIntBE","readBigUInt64LE","lo","hi","readBigUInt64BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUInt8","Number","checkInt","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeUIntLE","maxBytes","writeUIntBE","writeBigUInt64LE","arguments","wrtBigUInt64LE","writeBigUInt64BE","wrtBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloat","writeFloatBE","writeDoubleLE","writeDouble","writeDoubleBE","write","string","isFinite","Error","remaining","loweredCase","hexWrite","utf8Write","asciiWrite","base64Write","ucs2Write","target","targetStart","start","end","copyWithin","subarray","code","charCodeAt","bytes","swap16","swap","swap32","swap64","toString","utf8Slice","_slowToString","inspect","str","max","replace","trim","equals","thisStart","thisEnd","thisCopy","slice","targetCopy","toJSON","type","data","_arr","newBuf","Object","setPrototypeOf","hexSlice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","ext","checkIntBI","actual","fromArrayLike","array","arrayView","obj","numberIsNaN","mustMatch","utf8ToBytes","base64ToBytes","n","m","dir","arrayIndexOf","arr","indexSize","arrLength","valLength","foundIndex","found","j","strLen","parsed","parseInt","substr","blitBuffer","asciiToBytes","utf16leToBytes","fromByteArray","res","firstByte","codePoint","bytesPerSequence","fourthByte","secondByte","tempCodePoint","thirdByte","push","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","apply","ret","out","hexSliceLookupTable","checkIEEE754","littleEndian","errors","E","sym","getMessage","Base","NodeError","defineProperty","writable","configurable","name","stack","enumerable","message","range","input","msg","received","isInteger","abs","addNumericalSeparator","checkBounds","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","INVALID_BASE64_RE","base64clean","split","units","Infinity","leadSurrogate","byteArray","c","toByteArray","src","dst","alphabet","table","i16"],"sources":["../../../src/buffer-polyfill/buffer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// This file is forked from https://github.com/feross/buffer under MIT license\n// The code has primarily been converted to TypeScript.\n\n/* !\n * The buffer module from node.js, for the browser.\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n * https://github.com/feross/buffer/blob/master/AUTHORS.md\n */\n\n/**\n * The decision to include this polyfill in loaders.gl may seem controversial.\n * \n * It is based on the following reasoning:\n * - The Buffer API is used in the parquetjs library and likely other Node.js \n * libraries we will use in the future.\n * - While the goal is to convert code from Buffer to ArrayBuffer, the Thrift \n * code in Parquet may be autogenerated.\n * - Bundlers often require a polyfill to be included, this extra step is not \n * a great experience for loaders.gl users.\n * - The forked buffer polyfill module had old and generated some type errors.\n */\n\n/* eslint-disable */ // no-proto, max-statements, max-depth, complexity, no-continue, prefer-spread, no-constant-condition, consistent-return */\n\n// @ts-nocheck - this references don't work well in prototype assignment\n\nimport base64 from 'base64-js';\nimport ieee754 from 'ieee754';\n\nexport const kMaxLength = 0x7fffffff;\nexport const INSPECT_MAX_BYTES = 50;\n\ntype BufferEncoding = string;\n\n// const customInspectSymbol =\n// typeof Symbol === 'function' && typeof Symbol['for'] === 'function' // eslint-disable-line dot-notation\n// ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n// : null;\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\nexport class Buffer extends Uint8Array {\n static poolSize = 8192; // not used by this implementation\n\n // length: number; inherited\n\n get parent() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n\n get offset() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n\n /** This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n * to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n * reliably in a browserify context because there could be multiple different\n * copies of the 'buffer' package in use. This method works even for Buffer\n * instances that were created from another copy of the `buffer` package.\n * @see: https://github.com/feross/buffer/issues/154\n */\n _isBuffer = true;\n\n /**\n * Allocates a new buffer containing the given {str}.\n *\n * @param str String to store in buffer.\n * @param encoding encoding to use, optional. Default is 'utf8'\n */\n constructor(str: string, encoding?: string);\n /**\n * Allocates a new buffer of {size} octets.\n *\n * @param size count of octets to allocate.\n */\n constructor(size: number);\n /**\n * Allocates a new buffer containing the given {array} of octets.\n *\n * @param array The octets to store.\n */\n constructor(array: Uint8Array);\n /**\n * Produces a Buffer backed by the same allocated memory as\n * the given {ArrayBuffer}.\n *\n *\n * @param arrayBuffer The ArrayBuffer with which to share memory.\n */\n constructor(arrayBuffer: ArrayBuffer);\n /**\n * Allocates a new buffer containing the given {array} of octets.\n *\n * @param array The octets to store.\n */\n constructor(array: any[]);\n /**\n * Copies the passed {buffer} data onto a new {Buffer} instance.\n *\n * @param buffer The buffer to copy.\n */\n constructor(buffer: Buffer);\n\n constructor(arg, encodingOrOffset?, length?: number) {\n if (typeof arg !== 'number') {\n return Buffer.from(arg, encodingOrOffset, length);\n }\n\n // Basic case, just a length\n const size = arg;\n if (size > kMaxLength) {\n throw new RangeError(`The value \"${size}\" is invalid for option \"size\"`);\n }\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError('The \"string\" argument must be of type string. Received type number');\n }\n super(size < 0 ? 0 : checked(size) | 0);\n return;\n }\n\n /**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n /**\n * Allocates a new Buffer using an {array} of octets.\n *\n * @param array\n */\n static from(array: any[]): Buffer;\n /**\n * When passed a reference to the .buffer property of a TypedArray instance,\n * the newly created Buffer will share the same allocated memory as the TypedArray.\n * The optional {byteOffset} and {length} arguments specify a memory range\n * within the {arrayBuffer} that will be shared by the Buffer.\n *\n * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()\n * @param byteOffset\n * @param length\n */\n static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;\n /**\n * Copies the passed {buffer} data onto a new Buffer instance.\n *\n * @param buffer\n */\n static from(buffer: Buffer | Uint8Array): Buffer;\n /**\n * Creates a new Buffer containing the given JavaScript string {str}.\n * If provided, the {encoding} parameter identifies the character encoding.\n * If not provided, {encoding} defaults to 'utf8'.\n *\n * @param str\n */\n static from(str: string, encoding?: string): Buffer;\n\n static from(value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset);\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n\n if (value == null) {\n throw new TypeError(\n `${\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type '\n }${typeof value}`\n );\n }\n\n if (isInstance(value, ArrayBuffer) || (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (\n typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))\n ) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type number');\n }\n\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length);\n }\n\n const b = fromObject(value);\n if (b) return b;\n\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function'\n ) {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length);\n }\n\n throw new TypeError(\n `${\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type '\n }${typeof value}`\n );\n }\n\n /**\n * Returns true if {obj} is a Buffer\n *\n * @param obj object to test.\n */\n static isBuffer(b: any): obj is Buffer {\n return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n }\n\n /**\n * The same as buf1.compare(buf2).\n */\n static compare(a: Uint8Array | Buffer, b: Uint8Array | Buffer): number {\n if (!Buffer.isBuffer(a) && isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n if (!Buffer.isBuffer(b) && isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');\n }\n\n if (a === b) return 0;\n\n let x = a.length;\n let y = b.length;\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }\n\n /**\n * Returns true if {encoding} is a valid encoding argument.\n * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'\n *\n * @param encoding string to test.\n */\n static isEncoding(encoding: string): boolean {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n default:\n return false;\n }\n }\n\n /**\n * Returns a buffer which is the result of concatenating all the buffers in the list together.\n *\n * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.\n * If the list has exactly one item, then the first item of the list is returned.\n * If the list has more than one item, then a new Buffer is created.\n *\n * @param list An array of Buffer objects to concatenate\n * @param totalLength Total length of the buffers when concatenated.\n * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.\n */\n static concat(list: (Uint8Array | Buffer)[], length?: number): Buffer {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n let i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n const buffer = Buffer.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf = list[i];\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) {\n buf = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n buf.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf, pos);\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n } else {\n buf.copy(buffer, pos);\n }\n pos += buf.length;\n }\n return buffer;\n }\n\n /**\n * Allocates a new buffer of {size} octets.\n *\n * @param size count of octets to allocate.\n * @param fill if specified, buffer will be initialized by calling buf.fill(fill).\n * If parameter is omitted, buffer will be filled with zeros.\n * @param encoding encoding used for call to buf.fill while initializing\n */\n static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer {\n return alloc(size, fill, encoding);\n }\n\n /**\n * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents\n * of the newly created Buffer are unknown and may contain sensitive data.\n *\n * @param size count of octets to allocate\n */\n static allocUnsafe(size: number): Buffer {\n assertSize(size);\n return new Buffer(size);\n }\n\n /**\n * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents\n * of the newly created Buffer are unknown and may contain sensitive data.\n *\n * @param size count of octets to allocate\n */\n static allocUnsafeSlow(size: number): Buffer {\n return allocUnsafe(size);\n }\n\n includes(val: string | number | Buffer, byteOffset?: number, encoding?: string): boolean {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n }\n\n indexOf(val: string | number | Buffer, byteOffset?: number, encoding?: string): number {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n }\n\n lastIndexOf(val: string | number | Buffer, byteOffset?: number, encoding?: string): number {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n }\n\n readInt8(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n }\n\n readInt16LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset] | (this[offset + 1] << 8);\n return val & 0x8000 ? val | 0xffff0000 : val;\n }\n\n readInt16BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | (this[offset] << 8);\n return val & 0x8000 ? val | 0xffff0000 : val;\n }\n\n readInt32LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16) | (this[offset + 3] << 24)\n );\n }\n\n readInt32BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n (this[offset] << 24) | (this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3]\n );\n }\n\n readIntBE(offset: number, byteLength: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let i = byteLength;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n mul *= 0x80;\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n return val;\n }\n\n readIntLE(offset: number, byteLength: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n mul *= 0x80;\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n return val;\n }\n\n readBigInt64LE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val =\n this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); // Overflow\n\n return (\n (BigInt(val) << BigInt(32)) +\n BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24)\n );\n }\n\n readBigInt64BE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val =\n (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset];\n\n return (\n (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last)\n );\n }\n\n readUInt8(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n }\n\n readUInt16LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | (this[offset + 1] << 8);\n }\n\n readUInt16BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return (this[offset] << 8) | this[offset + 1];\n }\n\n readUInt32LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n );\n }\n\n readUInt32BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n );\n }\n\n readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n }\n\n readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n let val = this[offset + --byteLength];\n let mul = 1;\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n }\n\n readBigUInt64LE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const lo =\n first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n }\n\n readBigUInt64BE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const hi =\n first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n }\n\n readFloatLE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n }\n\n readFloatBE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n }\n\n readDoubleLE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n }\n\n readDoubleBE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n }\n\n writeUInt8(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n this[offset] = value & 0xff;\n return offset + 1;\n }\n\n writeUInt16LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n }\n\n writeUInt16BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n }\n\n writeUInt32LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n return offset + 4;\n }\n\n writeUInt32BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n }\n\n writeUIntLE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let mul = 1;\n let i = 0;\n this[offset] = value & 0xff;\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeUIntBE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n this[offset + i] = value & 0xff;\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeBigUInt64LE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'));\n }\n\n writeBigUInt64BE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'));\n }\n\n writeIntLE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 0xff;\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeIntBE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 0xff;\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeInt8(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n }\n\n writeInt16LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n }\n\n writeInt16BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n }\n\n writeInt32LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n }\n\n writeInt32BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n }\n\n writeBigInt64LE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64LE(\n this,\n value,\n offset,\n -BigInt('0x8000000000000000'),\n BigInt('0x7fffffffffffffff')\n );\n }\n\n writeBigInt64BE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64BE(\n this,\n value,\n offset,\n -BigInt('0x8000000000000000'),\n BigInt('0x7fffffffffffffff')\n );\n }\n\n writeFloatLE(value: number, offset: number, noAssert?: boolean): number {\n return writeFloat(this, value, offset, true, noAssert);\n }\n\n writeFloatBE(value: number, offset: number, noAssert?: boolean): number {\n return writeFloat(this, value, offset, false, noAssert);\n }\n\n writeDoubleLE(value: number, offset: number, noAssert?: boolean): number {\n return writeDouble(this, value, offset, true, noAssert);\n }\n\n writeDoubleBE(value: number, offset: number, noAssert?: boolean): number {\n return writeDouble(this, value, offset, false, noAssert);\n }\n\n write(string: string, encoding?: BufferEncoding): number;\n write(string: string, offset: number, encoding?: BufferEncoding): number;\n write(string: string, offset: number, length: number, encoding?: BufferEncoding): number;\n write(string: string, offset, length, encoding): number {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n }\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n\n const remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n\n if (!encoding) encoding = 'utf8';\n\n let loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length);\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError(`Unknown encoding: ${encoding}`);\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n }\n\n // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n copy(target: Buffer, targetStart?: number, start?: number, end?: number): number {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer');\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range');\n if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n const len = end - start;\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n\n return len;\n }\n\n // Usage:\n // buffer.fill(number[, offset[, end]])\n // buffer.fill(buffer[, offset[, end]])\n // buffer.fill(string[, offset[, end]][, encoding])\n fill(val: any, start?: number, end?: number, encoding?): this {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError(`Unknown encoding: ${encoding}`);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if ((encoding === 'utf8' && code < 128) || encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n } else if (typeof val === 'boolean') {\n val = Number(val);\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n if (!val) val = 0;\n\n let i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(`The value \"${val}\" is invalid for argument \"value\"`);\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n }\n\n swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n }\n\n swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n }\n\n swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n }\n\n toString(encoding?: string, start?: number, end?: number): string {\n const length = this.length;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return this._slowToString(...arguments);\n }\n\n // toLocaleString(b) {\n // if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n // if (this === b) return true;\n // return Buffer.compare(this, b) === 0;\n // }\n\n inspect() {\n let str = '';\n const max = INSPECT_MAX_BYTES;\n str = this.toString('hex', 0, max)\n .replace(/(.{2})/g, '$1 ')\n .trim();\n if (this.length > max) str += ' ... ';\n return `<Buffer ${str}>`;\n }\n // if (customInspectSymbol) {\n // Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n // }\n // }\n\n equals(b: Buffer): boolean {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n }\n\n compare(\n target: Buffer | Uint8Array,\n start?: number,\n end?: number,\n thisStart?: number,\n thisEnd?: number\n ): number {\n if (!Buffer.isBuffer(target) && isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength);\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n `${\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' + 'Received type '\n }${typeof target}`\n );\n }\n\n if (start === undefined) {\n start = 0;\n }\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n if (thisStart === undefined) {\n thisStart = 0;\n }\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n\n if (this === target) return 0;\n\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }\n\n toJSON(): {type: 'Buffer'; data: any[]} {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n }\n\n slice(start?: number, end?: number): this {\n const len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n\n const newBuf = this.subarray(start, end);\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n return newBuf as unknown as Buffer;\n }\n\n // Typo support?\n\n // readUint8(offset: number, noAssert?: boolean): number {\n // return this.readUInt8(...arguments);\n // }\n\n // readUint16LE(offset: number, noAssert?: boolean): number {\n // return this.readUInt16LE(...arguments);\n // }\n\n // readUint16BE(offset: number, noAssert?: boolean): number {\n // return this.readUInt16BE(...arguments);\n // }\n\n // readUint32LE(offset: number, noAssert?: boolean): number {\n // return this.readUInt32LE(...arguments);\n // }\n\n // readUint32BE(offset: number, noAssert?: boolean): number {\n // return this.readUInt32BE(...arguments);\n // }\n\n // writeUint8() {\n // return this.writeUInt8(...arguments);\n // }\n\n // writeUint16LE\n // writeUint16LE\n // writeUint32LE = Buffer.prototype.\n // Buffer.prototype.writeUint32BE\n\n protected _slowToString(encoding, start, end) {\n let loweredCase = false;\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0;\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return '';\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return '';\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return '';\n }\n\n if (!encoding) encoding = 'utf8';\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n\n case 'ascii':\n return asciiSlice(this, start, end);\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n\n case 'base64':\n return base64Slice(this, start, end);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError(`Unknown encoding: ${encoding}`);\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n }\n}\n\nfunction checkInt(buf: Buffer, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\n\nfunction wrtBigUInt64LE(buf: Buffer, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number((value >> BigInt(32)) & BigInt(0xffffffff));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n}\n\nfunction wrtBigUInt64BE(buf: Buffer, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number((value >> BigInt(32)) & BigInt(0xffffffff));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\n// Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n// Object.setPrototypeOf(Buffer, Uint8Array);\n\nfunction assertSize(size: number): void {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number');\n } else if (size < 0) {\n throw new RangeError(`The value \"${size}\" is invalid for option \"size\"`);\n }\n}\n\nfunction alloc(size, fill, encoding): Buffer {\n assertSize(size);\n if (size <= 0) {\n return new Buffer(size);\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? new Buffer(size).fill(fill, encoding)\n : new Buffer(size).fill(fill);\n }\n return new Buffer(size);\n}\n\nfunction fromString(string: string, encoding: BufferEncoding): Buffer {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError(`Unknown encoding: ${encoding}`);\n }\n\n const length = byteLength(string, encoding) | 0;\n let buf = new Buffer(length);\n\n const actual = buf.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf;\n}\n\nfunction fromArrayLike(array: ArrayLike<any>): Buffer {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf = new Buffer(length);\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf;\n}\n\nfunction fromArrayView(arrayView): Buffer {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n}\n\nfunction fromArrayBuffer(array: ArrayBuffer, byteOffset: number, length: number): Buffer {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds');\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds');\n }\n\n let buf;\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype);\n\n return buf;\n}\n\nfunction fromObject(obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf = new Buffer(len);\n\n if (buf.length === 0) {\n return buf;\n }\n\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return new Buffer(0);\n }\n return fromArrayLike(obj);\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength) {\n throw new RangeError(\n `${'Attempt to allocate Buffer larger than maximum ' + 'size: 0x'}${kMaxLength.toString(\n 16\n )} bytes`\n );\n }\n return length | 0;\n}\n\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n `${\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type '\n }${typeof string}`\n );\n }\n\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0;\n\n // Use a for loop to avoid recursion\n let loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length;\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n case 'hex':\n return len >>> 1;\n case 'base64':\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n }\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n}\n\n// Buffer.byteLength = byteLength;\n\nfunction swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n byteOffset = Number(byteOffset); // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;\n else return -1;\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xff; // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n }\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError('val must be string, number or Buffer');\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n }\n return buf.readUInt16BE(i * indexSize);\n }\n\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n\n return -1;\n}\n\nfunction hexWrite(buf: Buffer, string, offset, length): number {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n\n const strLen = string.length;\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\n\nfunction utf8Write(buf: Buffer, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction asciiWrite(buf: Buffer, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\n\nfunction base64Write(buf: Buffer, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\n\nfunction ucs2Write(buf: Buffer, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction base64Slice(buf: Buffer, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n }\n return base64.fromByteArray(buf.slice(start, end));\n}\n\nfunction utf8Slice(buf: Buffer, start, end) {\n end = Math.min(buf.length, end);\n const res: number[] = [];\n\n let i = start;\n while (i < end) {\n const firstByte = buf[i];\n let codePoint: number | null = null;\n let bytesPerSequence = firstByte > 0xef ? 4 : firstByte > 0xdf ? 3 : firstByte > 0xbf ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n let fourthByte;\n let secondByte;\n let tempCodePoint;\n let thirdByte;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint = ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f);\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xc0) === 0x80 && (thirdByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) | ((secondByte & 0x3f) << 0x6) | (thirdByte & 0x3f);\n if (tempCodePoint > 0x7ff && (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f);\n if (tempCodePoint > 0xffff && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd;\n bytesPerSequence = 1;\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\nfunction decodeCodePointsArray(codePoints: number[]): string {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = '';\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)));\n }\n return res;\n}\n\nfunction asciiSlice(buf: Buffer, start, end): string {\n let ret = '';\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f);\n }\n return ret;\n}\n\nfunction latin1Slice(buf: Buffer, start, end): string {\n let ret = '';\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n}\n\nfunction hexSlice(buf: Buffer, start, end): string {\n const len = buf.length;\n\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n\n let out = '';\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n return out;\n}\n\nfunction utf16leSlice(buf: Buffer, start, end): string {\n const bytes = buf.slice(start, end);\n let res = '';\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length): void {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\n\nfunction checkIEEE754(buf: Buffer, value, offset, ext, max, min): void {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\n\nfunction writeFloat(buf: Buffer, value, offset, littleEndian, noAssert): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e38, -3.4028234663852886e38);\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n\nfunction writeDouble(buf: Buffer, value, offset, littleEndian, noAssert): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157e308, -1.7976931348623157e308);\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors: Record<string, any> = {};\nfunction E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`;\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack; // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name;\n }\n\n get code() {\n return sym;\n }\n\n set code(value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n}\n\nE(\n 'ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n\n return 'Attempt to access memory outside buffer bounds';\n },\n RangeError\n);\nE(\n 'ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n },\n TypeError\n);\nE(\n 'ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === 'bigint') {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += 'n';\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n },\n RangeError\n);\n\nfunction addNumericalSeparator(val) {\n let res = '';\n let i = val.length;\n const start = val[0] === '-' ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds(buf, offset, byteLength) {\n validateNumber(offset, 'offset');\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1));\n }\n}\n\nfunction checkIntBI(value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : '';\n let range;\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range =\n `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value);\n }\n checkBounds(buf, offset, byteLength);\n}\n\nfunction validateNumber(value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value);\n }\n}\n\nfunction boundsError(value, length, type?) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value);\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', `>= ${type ? 1 : 0} and <= ${length}`, value);\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\nfunction base64clean(str: string): string {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0];\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '');\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return '';\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = `${str}=`;\n }\n return str;\n}\n\nfunction utf8ToBytes(string: string, units?: number): number[] {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes: number[] = [];\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n continue;\n }\n\n // valid lead\n leadSurrogate = codePoint;\n\n continue;\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n leadSurrogate = codePoint;\n continue;\n }\n\n // valid surrogate pair\n codePoint = (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n }\n\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80\n );\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80\n );\n } else {\n throw new Error('Invalid code point');\n }\n }\n\n return bytes;\n}\n\nfunction asciiToBytes(str: string): number[] {\n const byteArray: number[] = [];\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff);\n }\n return byteArray;\n}\n\nfunction utf16leToBytes(str: string, units: number): number[] {\n let c;\n let hi;\n let lo;\n const byteArray: number[] = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n}\n\nfunction base64ToBytes(str: string): Uint8Array {\n return base64.toByteArray(base64clean(str));\n}\n\nfunction blitBuffer(src, dst, offset, length): number {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance(obj, type): boolean {\n return (\n obj instanceof type ||\n (obj != null &&\n obj.constructor != null &&\n obj.constructor.name != null &&\n obj.constructor.name === type.name)\n );\n}\nfunction numberIsNaN(obj): boolean {\n // For IE11 support\n return obj !== obj; // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef';\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n})();\n"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { Buffer as BufferPolyfill } from './buffer';
2
- export { Buffer } from './install-buffer-polyfill';
3
- export { installBufferPolyfill } from './buffer-polyfill.node';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["Buffer","BufferPolyfill","installBufferPolyfill"],"sources":["../../../src/buffer-polyfill/index.ts"],"sourcesContent":["// loaders.gl, MIT license\nexport {Buffer as BufferPolyfill} from './buffer';\nexport {Buffer} from './install-buffer-polyfill';\nexport {installBufferPolyfill} from './buffer-polyfill.node';\n\n// import { installBufferPolyfill } from \"./buffer-polyfill.node\";\n\n// installBufferPolyfill();\n"],"mappings":"AACA,SAAQA,MAAM,IAAIC,cAAc,QAAO,UAAU;AACjD,SAAQD,MAAM,QAAO,2BAA2B;AAChD,SAAQE,qBAAqB,QAAO,wBAAwB"}
@@ -1,3 +0,0 @@
1
- import { installBufferPolyfill } from './buffer-polyfill.node';
2
- export const Buffer = installBufferPolyfill();
3
- //# sourceMappingURL=install-buffer-polyfill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install-buffer-polyfill.js","names":["installBufferPolyfill","Buffer"],"sources":["../../../src/buffer-polyfill/install-buffer-polyfill.ts"],"sourcesContent":["import {installBufferPolyfill} from './buffer-polyfill.node';\n\nexport const Buffer = installBufferPolyfill();\n"],"mappings":"AAAA,SAAQA,qBAAqB,QAAO,wBAAwB;AAE5D,OAAO,MAAMC,MAAM,GAAGD,qBAAqB,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- const moduleExports = require('./index');
2
- globalThis.loaders = globalThis.loaders || {};
3
- module.exports = Object.assign(globalThis.loaders, moduleExports);
4
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","names":["PARQUET_MAGIC","PARQUET_MAGIC_ENCRYPTED","PARQUET_VERSION","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING"],"sources":["../../src/constants.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/**\n * Parquet File Magic String\n */\nexport const PARQUET_MAGIC = 'PAR1';\nexport const PARQUET_MAGIC_ENCRYPTED = 'PARE';\n\n/**\n * Parquet File Format Version\n */\nexport const PARQUET_VERSION = 1;\n\n/**\n * Internal type used for repetition/definition levels\n */\nexport const PARQUET_RDLVL_TYPE = 'INT32';\nexport const PARQUET_RDLVL_ENCODING = 'RLE';\n"],"mappings":"AAIA,OAAO,MAAMA,aAAa,GAAG,MAAM;AACnC,OAAO,MAAMC,uBAAuB,GAAG,MAAM;AAK7C,OAAO,MAAMC,eAAe,GAAG,CAAC;AAKhC,OAAO,MAAMC,kBAAkB,GAAG,OAAO;AACzC,OAAO,MAAMC,sBAAsB,GAAG,KAAK"}
package/dist/esm/index.js DELETED
@@ -1,25 +0,0 @@
1
- export { Buffer } from './buffer-polyfill/install-buffer-polyfill';
2
- import { ParquetLoader as ParquetWorkerLoader, ParquetLoader as ParquetColumnarWorkerLoader } from './parquet-loader';
3
- import { parseParquet, parseParquetFileInBatches } from './lib/parsers/parse-parquet-to-rows';
4
- import { parseParquetInColumns, parseParquetFileInColumnarBatches } from './lib/parsers/parse-parquet-to-columns';
5
- export { ParquetWorkerLoader };
6
- export const ParquetLoader = {
7
- ...ParquetWorkerLoader,
8
- parse: parseParquet,
9
- parseFileInBatches: parseParquetFileInBatches
10
- };
11
- export const ParquetColumnarLoader = {
12
- ...ParquetColumnarWorkerLoader,
13
- parse: parseParquetInColumns,
14
- parseFileInBatches: parseParquetFileInColumnarBatches
15
- };
16
- export { ParquetWriter as _ParquetWriter } from './parquet-writer';
17
- export { preloadCompressions } from './parquetjs/compression';
18
- export { ParquetSchema } from './parquetjs/schema/schema';
19
- export { ParquetReader } from './parquetjs/parser/parquet-reader';
20
- export { ParquetEncoder } from './parquetjs/encoder/parquet-encoder';
21
- export { convertParquetSchema, convertParquetSchema as convertParquetToArrowSchema } from './lib/arrow/convert-schema-from-parquet';
22
- export { GEOPARQUET_METADATA_JSON_SCHEMA } from './lib/geo/geoparquet-metadata-schema';
23
- export { getGeoMetadata, setGeoMetadata, unpackGeoMetadata } from './lib/geo/decode-geo-metadata';
24
- export { BufferPolyfill, installBufferPolyfill } from './buffer-polyfill';
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["Buffer","ParquetLoader","ParquetWorkerLoader","ParquetColumnarWorkerLoader","parseParquet","parseParquetFileInBatches","parseParquetInColumns","parseParquetFileInColumnarBatches","parse","parseFileInBatches","ParquetColumnarLoader","ParquetWriter","_ParquetWriter","preloadCompressions","ParquetSchema","ParquetReader","ParquetEncoder","convertParquetSchema","convertParquetToArrowSchema","GEOPARQUET_METADATA_JSON_SCHEMA","getGeoMetadata","setGeoMetadata","unpackGeoMetadata","BufferPolyfill","installBufferPolyfill"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport {Buffer} from './buffer-polyfill/install-buffer-polyfill';\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n ColumnarTable,\n ColumnarTableBatch,\n GeoJSONTable,\n GeoJSONTableBatch\n} from '@loaders.gl/schema';\n// import type {Table as ApacheArrowTable} from 'apache-arrow';\n\n// ParquetLoader\n\nimport {\n ParquetLoader as ParquetWorkerLoader,\n ParquetLoader as ParquetColumnarWorkerLoader,\n ParquetLoaderOptions\n} from './parquet-loader';\nimport {parseParquet, parseParquetFileInBatches} from './lib/parsers/parse-parquet-to-rows';\nimport {\n parseParquetInColumns,\n parseParquetFileInColumnarBatches\n} from './lib/parsers/parse-parquet-to-columns';\n\n// import type {ParquetWasmLoaderOptions} from './lib/wasm/parse-parquet-wasm';\n// import {parseParquetWasm} from './lib/wasm/parse-parquet-wasm';\n// import {ParquetWasmLoader as ParquetWasmWorkerLoader} from './parquet-wasm-loader';\n\nexport {ParquetWorkerLoader};\n// export {ParquetWasmWorkerLoader};\n\n/** ParquetJS table loader */\nexport const ParquetLoader: LoaderWithParser<\n ObjectRowTable | GeoJSONTable,\n ObjectRowTableBatch | GeoJSONTableBatch,\n ParquetLoaderOptions\n> = {\n ...ParquetWorkerLoader,\n parse: parseParquet,\n // @ts-expect-error\n parseFileInBatches: parseParquetFileInBatches\n};\n\n/** ParquetJS table loader */\nexport const ParquetColumnarLoader: LoaderWithParser<\n ColumnarTable,\n ColumnarTableBatch,\n ParquetLoaderOptions\n> = {\n ...ParquetColumnarWorkerLoader,\n parse: parseParquetInColumns,\n // @ts-expect-error\n parseFileInBatches: parseParquetFileInColumnarBatches\n};\n\n// export const ParquetWasmLoader: LoaderWithParser<\n// ApacheArrowTable,\n// never,\n// ParquetWasmLoaderOptions\n// > = {\n// ...ParquetWasmWorkerLoader,\n// // @ts-expect-error Getting strange errors in wasm\n// parse: () => {} // parseParquetWasm\n// };\n\n// ParquetWriter\n\nexport {ParquetWriter as _ParquetWriter} from './parquet-writer';\n// export {ParquetWasmWriter} from './parquet-wasm-writer';\n\n// EXPERIMENTAL - expose the internal parquetjs API\n\nexport {preloadCompressions} from './parquetjs/compression';\n\nexport {ParquetSchema} from './parquetjs/schema/schema';\nexport {ParquetReader} from './parquetjs/parser/parquet-reader';\nexport {ParquetEncoder} from './parquetjs/encoder/parquet-encoder';\n\nexport {\n convertParquetSchema,\n convertParquetSchema as convertParquetToArrowSchema\n} from './lib/arrow/convert-schema-from-parquet';\n\n// Geo Metadata\n// import {default as GEOPARQUET_METADATA_SCHEMA} from './lib/geo/geoparquet-metadata-schema.json';\n// export {GEOPARQUET_METADATA_SCHEMA};\nexport {GEOPARQUET_METADATA_JSON_SCHEMA} from './lib/geo/geoparquet-metadata-schema';\n\nexport type {GeoMetadata} from './lib/geo/decode-geo-metadata';\nexport {getGeoMetadata, setGeoMetadata, unpackGeoMetadata} from './lib/geo/decode-geo-metadata';\n\n// Experimental\nexport {BufferPolyfill, installBufferPolyfill} from './buffer-polyfill';\n"],"mappings":"AAEA,SAAQA,MAAM,QAAO,2CAA2C;AAehE,SACEC,aAAa,IAAIC,mBAAmB,EACpCD,aAAa,IAAIE,2BAA2B,QAEvC,kBAAkB;AACzB,SAAQC,YAAY,EAAEC,yBAAyB,QAAO,qCAAqC;AAC3F,SACEC,qBAAqB,EACrBC,iCAAiC,QAC5B,wCAAwC;AAM/C,SAAQL,mBAAmB;AAI3B,OAAO,MAAMD,aAIZ,GAAG;EACF,GAAGC,mBAAmB;EACtBM,KAAK,EAAEJ,YAAY;EAEnBK,kBAAkB,EAAEJ;AACtB,CAAC;AAGD,OAAO,MAAMK,qBAIZ,GAAG;EACF,GAAGP,2BAA2B;EAC9BK,KAAK,EAAEF,qBAAqB;EAE5BG,kBAAkB,EAAEF;AACtB,CAAC;AAcD,SAAQI,aAAa,IAAIC,cAAc,QAAO,kBAAkB;AAKhE,SAAQC,mBAAmB,QAAO,yBAAyB;AAE3D,SAAQC,aAAa,QAAO,2BAA2B;AACvD,SAAQC,aAAa,QAAO,mCAAmC;AAC/D,SAAQC,cAAc,QAAO,qCAAqC;AAElE,SACEC,oBAAoB,EACpBA,oBAAoB,IAAIC,2BAA2B,QAC9C,yCAAyC;AAKhD,SAAQC,+BAA+B,QAAO,sCAAsC;AAGpF,SAAQC,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,QAAO,+BAA+B;AAG/F,SAAQC,cAAc,EAAEC,qBAAqB,QAAO,mBAAmB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-columns-to-row-group.js","names":[],"sources":["../../../../src/lib/arrow/convert-columns-to-row-group.ts"],"sourcesContent":[""],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-row-group-to-columns.js","names":["convertParquetRowGroupToColumns","schema","rowGroup","columns","columnName","data","Object","entries","columnData","values"],"sources":["../../../../src/lib/arrow/convert-row-group-to-columns.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Schema} from '@loaders.gl/schema';\nimport {ParquetRowGroup} from '@loaders.gl/parquet/parquetjs/schema/declare';\n\nexport function convertParquetRowGroupToColumns(\n schema: Schema,\n rowGroup: ParquetRowGroup\n): Record<string, any[]> {\n const columns: Record<string, any[]> = {};\n for (const [columnName, data] of Object.entries(rowGroup.columnData)) {\n columns[columnName] = columns[columnName] || data.values;\n }\n return columns;\n}\n"],"mappings":"AAKA,OAAO,SAASA,+BAA+BA,CAC7CC,MAAc,EACdC,QAAyB,EACF;EACvB,MAAMC,OAA8B,GAAG,CAAC,CAAC;EACzC,KAAK,MAAM,CAACC,UAAU,EAAEC,IAAI,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,QAAQ,CAACM,UAAU,CAAC,EAAE;IACpEL,OAAO,CAACC,UAAU,CAAC,GAAGD,OAAO,CAACC,UAAU,CAAC,IAAIC,IAAI,CAACI,MAAM;EAC1D;EACA,OAAON,OAAO;AAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-schema-from-parquet.js","names":["PARQUET_TYPE_MAPPING","BOOLEAN","INT32","INT64","INT96","FLOAT","DOUBLE","BYTE_ARRAY","FIXED_LEN_BYTE_ARRAY","UTF8","DATE","TIME_MILLIS","TIME_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UINT_8","UINT_16","UINT_32","UINT_64","INT_8","INT_16","INT_32","INT_64","JSON","BSON","INTERVAL","DECIMAL_INT32","DECIMAL_INT64","DECIMAL_BYTE_ARRAY","DECIMAL_FIXED_LEN_BYTE_ARRAY","convertParquetSchema","parquetSchema","parquetMetadata","fields","getFields","schema","metadata","getSchemaMetadata","name","field","children","push","type","nullable","optional","getFieldMetadata","arrowField","key","value","stringify","keyValueList","key_value_metadata"],"sources":["../../../../src/lib/arrow/convert-schema-from-parquet.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Schema, Field, DataType} from '@loaders.gl/schema';\n\nimport type {ParquetSchema} from '../../parquetjs/schema/schema';\nimport type {FieldDefinition, ParquetField, ParquetType} from '../../parquetjs/schema/declare';\nimport {FileMetaData} from '../../parquetjs/parquet-thrift';\n\nexport const PARQUET_TYPE_MAPPING: {[type in ParquetType]: DataType} = {\n BOOLEAN: 'bool',\n INT32: 'int32',\n INT64: 'float64',\n INT96: 'float64',\n FLOAT: 'float32',\n DOUBLE: 'float64',\n BYTE_ARRAY: 'binary',\n FIXED_LEN_BYTE_ARRAY: 'binary',\n UTF8: 'utf8',\n DATE: 'int32',\n TIME_MILLIS: 'int64',\n TIME_MICROS: 'int64',\n TIMESTAMP_MILLIS: 'int64',\n TIMESTAMP_MICROS: 'int64',\n UINT_8: 'int32',\n UINT_16: 'uint16',\n UINT_32: 'uint32',\n UINT_64: 'uint64',\n INT_8: 'int8',\n INT_16: 'int16',\n INT_32: 'int32',\n INT_64: 'int64',\n JSON: 'binary',\n BSON: 'binary',\n // TODO check interal type\n INTERVAL: 'binary',\n DECIMAL_INT32: 'float32',\n DECIMAL_INT64: 'float64',\n DECIMAL_BYTE_ARRAY: 'float64',\n DECIMAL_FIXED_LEN_BYTE_ARRAY: 'float64'\n};\n\nexport function convertParquetSchema(\n parquetSchema: ParquetSchema,\n parquetMetadata: FileMetaData | null\n): Schema {\n const fields = getFields(parquetSchema.schema);\n const metadata = parquetMetadata && getSchemaMetadata(parquetMetadata);\n\n const schema: Schema = {\n fields,\n metadata: metadata || {}\n };\n\n return schema;\n}\n\nfunction getFields(schema: FieldDefinition): Field[] {\n const fields: Field[] = [];\n\n for (const name in schema) {\n const field = schema[name];\n\n if (field.fields) {\n const children = getFields(field.fields);\n fields.push({name, type: {type: 'struct', children}, nullable: field.optional});\n } else {\n const type = PARQUET_TYPE_MAPPING[field.type];\n const metadata = getFieldMetadata(field);\n const arrowField = {name, type, nullable: field.optional, metadata};\n fields.push(arrowField);\n }\n }\n\n return fields;\n}\n\nfunction getFieldMetadata(field: ParquetField): Record<string, string> | undefined {\n let metadata: Record<string, string> | undefined;\n\n for (const key in field) {\n if (key !== 'name') {\n let value = field[key] || '';\n value = typeof field[key] !== 'string' ? JSON.stringify(field[key]) : field[key];\n metadata = metadata || {};\n metadata[key] = value;\n }\n }\n\n return metadata;\n}\n\nfunction getSchemaMetadata(parquetMetadata: FileMetaData): Record<string, string> | undefined {\n let metadata: Record<string, string> | undefined;\n\n const keyValueList = parquetMetadata.key_value_metadata || [];\n for (const {key, value} of keyValueList) {\n if (typeof value === 'string') {\n metadata = metadata || {};\n metadata[key] = value;\n }\n }\n\n return metadata;\n}\n"],"mappings":"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"}