@loaders.gl/parquet 4.4.5 → 5.0.0-alpha.2

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 (674) hide show
  1. package/LICENSE +14 -3
  2. package/dist/bundled.d.ts +9 -0
  3. package/dist/bundled.d.ts.map +1 -0
  4. package/dist/bundled.js +10 -0
  5. package/dist/bundled.js.map +1 -0
  6. package/dist/geoparquet-loader-with-parser.d.ts +33 -0
  7. package/dist/geoparquet-loader-with-parser.d.ts.map +1 -0
  8. package/dist/geoparquet-loader-with-parser.js +52 -0
  9. package/dist/geoparquet-loader-with-parser.js.map +1 -0
  10. package/dist/geoparquet-loader.d.ts +59 -0
  11. package/dist/geoparquet-loader.d.ts.map +1 -0
  12. package/dist/geoparquet-loader.js +30 -0
  13. package/dist/geoparquet-loader.js.map +1 -0
  14. package/dist/index.cjs +25873 -4776
  15. package/dist/index.cjs.map +3 -4
  16. package/dist/index.d.ts +10 -7
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +7 -11
  19. package/dist/index.js.map +1 -1
  20. package/dist/lib/arrow/convert-columns-to-row-group.js +3 -0
  21. package/dist/lib/arrow/convert-columns-to-row-group.js.map +1 -1
  22. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -1
  23. package/dist/lib/arrow/convert-schema-from-parquet.js +86 -26
  24. package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -1
  25. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -1
  26. package/dist/lib/arrow/convert-schema-to-parquet.js +16 -7
  27. package/dist/lib/arrow/convert-schema-to-parquet.js.map +1 -1
  28. package/dist/lib/arrow/create-nested-arrow-vector.d.ts +8 -0
  29. package/dist/lib/arrow/create-nested-arrow-vector.d.ts.map +1 -0
  30. package/dist/lib/arrow/create-nested-arrow-vector.js +396 -0
  31. package/dist/lib/arrow/create-nested-arrow-vector.js.map +1 -0
  32. package/dist/lib/constants.d.ts +0 -1
  33. package/dist/lib/constants.d.ts.map +1 -1
  34. package/dist/lib/constants.js +1 -2
  35. package/dist/lib/constants.js.map +1 -1
  36. package/dist/lib/encoders/encode-arrow-to-parquet.d.ts +2 -2
  37. package/dist/lib/encoders/encode-arrow-to-parquet.d.ts.map +1 -1
  38. package/dist/lib/encoders/encode-arrow-to-parquet.js +3 -10
  39. package/dist/lib/encoders/encode-arrow-to-parquet.js.map +1 -1
  40. package/dist/lib/encoders/encode-table-to-parquet-js.d.ts +5 -0
  41. package/dist/lib/encoders/encode-table-to-parquet-js.d.ts.map +1 -0
  42. package/dist/lib/encoders/encode-table-to-parquet-js.js +199 -0
  43. package/dist/lib/encoders/encode-table-to-parquet-js.js.map +1 -0
  44. package/dist/lib/geo/geospatial-metadata.d.ts +67 -0
  45. package/dist/lib/geo/geospatial-metadata.d.ts.map +1 -0
  46. package/dist/lib/geo/geospatial-metadata.js +338 -0
  47. package/dist/lib/geo/geospatial-metadata.js.map +1 -0
  48. package/dist/lib/parquet-page-index.d.ts +62 -0
  49. package/dist/lib/parquet-page-index.d.ts.map +1 -0
  50. package/dist/lib/parquet-page-index.js +377 -0
  51. package/dist/lib/parquet-page-index.js.map +1 -0
  52. package/dist/lib/parquet-predicate.d.ts +17 -0
  53. package/dist/lib/parquet-predicate.d.ts.map +1 -0
  54. package/dist/lib/parquet-predicate.js +300 -0
  55. package/dist/lib/parquet-predicate.js.map +1 -0
  56. package/dist/lib/parquet-source-worker-client.d.ts +6 -0
  57. package/dist/lib/parquet-source-worker-client.d.ts.map +1 -0
  58. package/dist/lib/parquet-source-worker-client.js +22 -0
  59. package/dist/lib/parquet-source-worker-client.js.map +1 -0
  60. package/dist/lib/parquet-source-worker-decoder.d.ts +4 -0
  61. package/dist/lib/parquet-source-worker-decoder.d.ts.map +1 -0
  62. package/dist/lib/parquet-source-worker-decoder.js +115 -0
  63. package/dist/lib/parquet-source-worker-decoder.js.map +1 -0
  64. package/dist/lib/parquet-source-worker-file.d.ts +24 -0
  65. package/dist/lib/parquet-source-worker-file.d.ts.map +1 -0
  66. package/dist/lib/parquet-source-worker-file.js +40 -0
  67. package/dist/lib/parquet-source-worker-file.js.map +1 -0
  68. package/dist/lib/parquet-source-worker-types.d.ts +97 -0
  69. package/dist/lib/parquet-source-worker-types.d.ts.map +1 -0
  70. package/dist/lib/parquet-source-worker-types.js +5 -0
  71. package/dist/lib/parquet-source-worker-types.js.map +1 -0
  72. package/dist/lib/parquet-worker-transport.d.ts +8 -0
  73. package/dist/lib/parquet-worker-transport.d.ts.map +1 -0
  74. package/dist/lib/parquet-worker-transport.js +40 -0
  75. package/dist/lib/parquet-worker-transport.js.map +1 -0
  76. package/dist/lib/parsers/convert-parquet-tables.d.ts +16 -0
  77. package/dist/lib/parsers/convert-parquet-tables.d.ts.map +1 -0
  78. package/dist/lib/parsers/convert-parquet-tables.js +30 -0
  79. package/dist/lib/parsers/convert-parquet-tables.js.map +1 -0
  80. package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -1
  81. package/dist/lib/parsers/get-parquet-schema.js +3 -1
  82. package/dist/lib/parsers/get-parquet-schema.js.map +1 -1
  83. package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts +4 -4
  84. package/dist/lib/parsers/parse-geoparquet-to-geojson.d.ts.map +1 -1
  85. package/dist/lib/parsers/parse-geoparquet-to-geojson.js +19 -6
  86. package/dist/lib/parsers/parse-geoparquet-to-geojson.js.map +1 -1
  87. package/dist/lib/parsers/parse-parquet-tables.d.ts +37 -0
  88. package/dist/lib/parsers/parse-parquet-tables.d.ts.map +1 -0
  89. package/dist/lib/parsers/parse-parquet-tables.js +50 -0
  90. package/dist/lib/parsers/parse-parquet-tables.js.map +1 -0
  91. package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts +19 -0
  92. package/dist/lib/parsers/parse-parquet-to-arrow-js.d.ts.map +1 -0
  93. package/dist/lib/parsers/parse-parquet-to-arrow-js.js +608 -0
  94. package/dist/lib/parsers/parse-parquet-to-arrow-js.js.map +1 -0
  95. package/dist/lib/parsers/parse-parquet-to-arrow.d.ts +7 -7
  96. package/dist/lib/parsers/parse-parquet-to-arrow.d.ts.map +1 -1
  97. package/dist/lib/parsers/parse-parquet-to-arrow.js +45 -32
  98. package/dist/lib/parsers/parse-parquet-to-arrow.js.map +1 -1
  99. package/dist/lib/parsers/parse-parquet-to-columns.d.ts +3 -3
  100. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -1
  101. package/dist/lib/parsers/parse-parquet-to-columns.js +1 -4
  102. package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -1
  103. package/dist/lib/parsers/parse-parquet-to-json.d.ts +3 -3
  104. package/dist/lib/parsers/parse-parquet-to-json.d.ts.map +1 -1
  105. package/dist/lib/parsers/parse-parquet-to-json.js +77 -26
  106. package/dist/lib/parsers/parse-parquet-to-json.js.map +1 -1
  107. package/dist/lib/sources/parquet-range-file.d.ts +80 -0
  108. package/dist/lib/sources/parquet-range-file.d.ts.map +1 -0
  109. package/dist/lib/sources/parquet-range-file.js +261 -0
  110. package/dist/lib/sources/parquet-range-file.js.map +1 -0
  111. package/dist/lib/sources/single-batch-queue.d.ts +24 -0
  112. package/dist/lib/sources/single-batch-queue.d.ts.map +1 -0
  113. package/dist/lib/sources/single-batch-queue.js +91 -0
  114. package/dist/lib/sources/single-batch-queue.js.map +1 -0
  115. package/dist/lib/utils/load-wasm-node.d.ts +3 -0
  116. package/dist/lib/utils/load-wasm-node.d.ts.map +1 -0
  117. package/dist/lib/utils/load-wasm-node.js +23 -0
  118. package/dist/lib/utils/load-wasm-node.js.map +1 -0
  119. package/dist/lib/utils/load-wasm.d.ts +2 -2
  120. package/dist/lib/utils/load-wasm.d.ts.map +1 -1
  121. package/dist/lib/utils/load-wasm.js +28 -12
  122. package/dist/lib/utils/load-wasm.js.map +1 -1
  123. package/dist/lib/utils/make-stream-iterator.d.ts +2 -0
  124. package/dist/lib/utils/make-stream-iterator.d.ts.map +1 -1
  125. package/dist/lib/utils/make-stream-iterator.js +123 -14
  126. package/dist/lib/utils/make-stream-iterator.js.map +1 -1
  127. package/dist/lib/utils/normalize-parquet-options.d.ts +5 -0
  128. package/dist/lib/utils/normalize-parquet-options.d.ts.map +1 -0
  129. package/dist/lib/utils/normalize-parquet-options.js +11 -0
  130. package/dist/lib/utils/normalize-parquet-options.js.map +1 -0
  131. package/dist/parquet-dataset-source.cjs +26413 -0
  132. package/dist/parquet-dataset-source.cjs.map +6 -0
  133. package/dist/parquet-dataset-source.d.ts +54 -0
  134. package/dist/parquet-dataset-source.d.ts.map +1 -0
  135. package/dist/parquet-dataset-source.js +380 -0
  136. package/dist/parquet-dataset-source.js.map +1 -0
  137. package/dist/parquet-format.d.ts +2 -0
  138. package/dist/parquet-format.d.ts.map +1 -1
  139. package/dist/parquet-format.js +2 -0
  140. package/dist/parquet-format.js.map +1 -1
  141. package/dist/parquet-js-loader-types.d.ts +57 -0
  142. package/dist/parquet-js-loader-types.d.ts.map +1 -0
  143. package/dist/parquet-js-loader-types.js +33 -0
  144. package/dist/parquet-js-loader-types.js.map +1 -0
  145. package/dist/parquet-js-loader.d.ts +32 -0
  146. package/dist/parquet-js-loader.d.ts.map +1 -0
  147. package/dist/parquet-js-loader.js +58 -0
  148. package/dist/parquet-js-loader.js.map +1 -0
  149. package/dist/parquet-js-writer.d.ts +44 -0
  150. package/dist/parquet-js-writer.d.ts.map +1 -0
  151. package/dist/parquet-js-writer.js +28 -0
  152. package/dist/parquet-js-writer.js.map +1 -0
  153. package/dist/parquet-loader-base.d.ts +25 -0
  154. package/dist/parquet-loader-base.d.ts.map +1 -0
  155. package/dist/parquet-loader-base.js +23 -0
  156. package/dist/parquet-loader-base.js.map +1 -0
  157. package/dist/parquet-loader-options.d.ts +44 -0
  158. package/dist/parquet-loader-options.d.ts.map +1 -0
  159. package/dist/parquet-loader-options.js +10 -0
  160. package/dist/parquet-loader-options.js.map +1 -0
  161. package/dist/parquet-loader-types.d.ts +61 -0
  162. package/dist/parquet-loader-types.d.ts.map +1 -0
  163. package/dist/parquet-loader-types.js +17 -0
  164. package/dist/parquet-loader-types.js.map +1 -0
  165. package/dist/parquet-loader.d.ts +42 -0
  166. package/dist/parquet-loader.d.ts.map +1 -0
  167. package/dist/parquet-loader.js +68 -0
  168. package/dist/parquet-loader.js.map +1 -0
  169. package/dist/parquet-source-capabilities.d.ts +36 -0
  170. package/dist/parquet-source-capabilities.d.ts.map +1 -0
  171. package/dist/parquet-source-capabilities.js +22 -0
  172. package/dist/parquet-source-capabilities.js.map +1 -0
  173. package/dist/parquet-source-loader-types.d.ts +72 -0
  174. package/dist/parquet-source-loader-types.d.ts.map +1 -0
  175. package/dist/parquet-source-loader-types.js +74 -0
  176. package/dist/parquet-source-loader-types.js.map +1 -0
  177. package/dist/parquet-source-loader.cjs +25975 -0
  178. package/dist/parquet-source-loader.cjs.map +6 -0
  179. package/dist/parquet-source-loader.d.ts +120 -0
  180. package/dist/parquet-source-loader.d.ts.map +1 -0
  181. package/dist/parquet-source-loader.js +812 -0
  182. package/dist/parquet-source-loader.js.map +1 -0
  183. package/dist/parquet-source-types.d.ts +384 -0
  184. package/dist/parquet-source-types.d.ts.map +1 -0
  185. package/dist/parquet-source-types.js +5 -0
  186. package/dist/parquet-source-types.js.map +1 -0
  187. package/dist/parquet-source-worker-url.d.ts +3 -0
  188. package/dist/parquet-source-worker-url.d.ts.map +1 -0
  189. package/dist/parquet-source-worker-url.js +22 -0
  190. package/dist/parquet-source-worker-url.js.map +1 -0
  191. package/dist/parquet-source-worker.js +38491 -0
  192. package/dist/parquet-source-worker.js.map +7 -0
  193. package/dist/parquet-worker-node.cjs +54779 -0
  194. package/dist/parquet-worker-node.cjs.map +7 -0
  195. package/dist/parquet-worker-url.d.ts +3 -0
  196. package/dist/parquet-worker-url.d.ts.map +1 -0
  197. package/dist/parquet-worker-url.js +15 -0
  198. package/dist/parquet-worker-url.js.map +1 -0
  199. package/dist/parquet-worker.js +19920 -0
  200. package/dist/parquet-worker.js.map +7 -0
  201. package/dist/parquet-writer.d.ts +10 -0
  202. package/dist/parquet-writer.d.ts.map +1 -0
  203. package/dist/parquet-writer.js +27 -0
  204. package/dist/parquet-writer.js.map +1 -0
  205. package/dist/parquet_wasm_bg.wasm +0 -0
  206. package/dist/parquetjs/codecs/byte-stream-split.d.ts +9 -0
  207. package/dist/parquetjs/codecs/byte-stream-split.d.ts.map +1 -0
  208. package/dist/parquetjs/codecs/byte-stream-split.js +159 -0
  209. package/dist/parquetjs/codecs/byte-stream-split.js.map +1 -0
  210. package/dist/parquetjs/codecs/declare.d.ts +20 -3
  211. package/dist/parquetjs/codecs/declare.d.ts.map +1 -1
  212. package/dist/parquetjs/codecs/declare.js +7 -1
  213. package/dist/parquetjs/codecs/declare.js.map +1 -1
  214. package/dist/parquetjs/codecs/delta.d.ts +17 -0
  215. package/dist/parquetjs/codecs/delta.d.ts.map +1 -0
  216. package/dist/parquetjs/codecs/delta.js +439 -0
  217. package/dist/parquetjs/codecs/delta.js.map +1 -0
  218. package/dist/parquetjs/codecs/dictionary.d.ts +5 -2
  219. package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -1
  220. package/dist/parquetjs/codecs/dictionary.js +16 -4
  221. package/dist/parquetjs/codecs/dictionary.js.map +1 -1
  222. package/dist/parquetjs/codecs/index.d.ts.map +1 -1
  223. package/dist/parquetjs/codecs/index.js +18 -0
  224. package/dist/parquetjs/codecs/index.js.map +1 -1
  225. package/dist/parquetjs/codecs/plain.d.ts +3 -3
  226. package/dist/parquetjs/codecs/plain.d.ts.map +1 -1
  227. package/dist/parquetjs/codecs/plain.js +88 -76
  228. package/dist/parquetjs/codecs/plain.js.map +1 -1
  229. package/dist/parquetjs/codecs/rle.d.ts +3 -3
  230. package/dist/parquetjs/codecs/rle.d.ts.map +1 -1
  231. package/dist/parquetjs/codecs/rle.js +196 -68
  232. package/dist/parquetjs/codecs/rle.js.map +1 -1
  233. package/dist/parquetjs/compression.d.ts +7 -8
  234. package/dist/parquetjs/compression.d.ts.map +1 -1
  235. package/dist/parquetjs/compression.js +95 -141
  236. package/dist/parquetjs/compression.js.map +1 -1
  237. package/dist/parquetjs/encoder/dictionary-planner.d.ts +17 -0
  238. package/dist/parquetjs/encoder/dictionary-planner.d.ts.map +1 -0
  239. package/dist/parquetjs/encoder/dictionary-planner.js +64 -0
  240. package/dist/parquetjs/encoder/dictionary-planner.js.map +1 -0
  241. package/dist/parquetjs/encoder/page-planner.d.ts +11 -0
  242. package/dist/parquetjs/encoder/page-planner.d.ts.map +1 -0
  243. package/dist/parquetjs/encoder/page-planner.js +60 -0
  244. package/dist/parquetjs/encoder/page-planner.js.map +1 -0
  245. package/dist/parquetjs/encoder/parquet-encoder.d.ts +11 -4
  246. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -1
  247. package/dist/parquetjs/encoder/parquet-encoder.js +259 -52
  248. package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -1
  249. package/dist/parquetjs/parquet-thrift/BsonType.d.ts +1 -1
  250. package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -1
  251. package/dist/parquetjs/parquet-thrift/BsonType.js +1 -1
  252. package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -1
  253. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts +2 -2
  254. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -1
  255. package/dist/parquetjs/parquet-thrift/ColumnChunk.js +2 -2
  256. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -1
  257. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts +6 -6
  258. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -1
  259. package/dist/parquetjs/parquet-thrift/ColumnIndex.js +3 -3
  260. package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -1
  261. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts +2 -2
  262. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -1
  263. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js +2 -2
  264. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -1
  265. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts +1 -1
  266. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -1
  267. package/dist/parquetjs/parquet-thrift/ColumnOrder.js +1 -1
  268. package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -1
  269. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts +1 -1
  270. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -1
  271. package/dist/parquetjs/parquet-thrift/DataPageHeader.js +1 -1
  272. package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -1
  273. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts +1 -1
  274. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -1
  275. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js +1 -1
  276. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -1
  277. package/dist/parquetjs/parquet-thrift/DateType.d.ts +1 -1
  278. package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -1
  279. package/dist/parquetjs/parquet-thrift/DateType.js +1 -1
  280. package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -1
  281. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts +1 -1
  282. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -1
  283. package/dist/parquetjs/parquet-thrift/DecimalType.js +1 -1
  284. package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -1
  285. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts +1 -1
  286. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -1
  287. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js +1 -1
  288. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -1
  289. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts +8 -0
  290. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.d.ts.map +1 -0
  291. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js +14 -0
  292. package/dist/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.js.map +1 -0
  293. package/dist/parquetjs/parquet-thrift/Encoding.d.ts +2 -1
  294. package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -1
  295. package/dist/parquetjs/parquet-thrift/Encoding.js +1 -0
  296. package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -1
  297. package/dist/parquetjs/parquet-thrift/EnumType.d.ts +1 -1
  298. package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -1
  299. package/dist/parquetjs/parquet-thrift/EnumType.js +1 -1
  300. package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -1
  301. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts +2 -2
  302. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -1
  303. package/dist/parquetjs/parquet-thrift/FileMetaData.js +2 -2
  304. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -1
  305. package/dist/parquetjs/parquet-thrift/Float16Type.d.ts +9 -0
  306. package/dist/parquetjs/parquet-thrift/Float16Type.d.ts.map +1 -0
  307. package/dist/parquetjs/parquet-thrift/Float16Type.js +27 -0
  308. package/dist/parquetjs/parquet-thrift/Float16Type.js.map +1 -0
  309. package/dist/parquetjs/parquet-thrift/GeographyType.d.ts +14 -0
  310. package/dist/parquetjs/parquet-thrift/GeographyType.d.ts.map +1 -0
  311. package/dist/parquetjs/parquet-thrift/GeographyType.js +51 -0
  312. package/dist/parquetjs/parquet-thrift/GeographyType.js.map +1 -0
  313. package/dist/parquetjs/parquet-thrift/GeometryType.d.ts +11 -0
  314. package/dist/parquetjs/parquet-thrift/GeometryType.d.ts.map +1 -0
  315. package/dist/parquetjs/parquet-thrift/GeometryType.js +41 -0
  316. package/dist/parquetjs/parquet-thrift/GeometryType.js.map +1 -0
  317. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts +1 -1
  318. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -1
  319. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js +1 -1
  320. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -1
  321. package/dist/parquetjs/parquet-thrift/IntType.d.ts +1 -1
  322. package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -1
  323. package/dist/parquetjs/parquet-thrift/IntType.js +1 -1
  324. package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -1
  325. package/dist/parquetjs/parquet-thrift/JsonType.d.ts +1 -1
  326. package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -1
  327. package/dist/parquetjs/parquet-thrift/JsonType.js +1 -1
  328. package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -1
  329. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts +1 -1
  330. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -1
  331. package/dist/parquetjs/parquet-thrift/KeyValue.js +1 -1
  332. package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -1
  333. package/dist/parquetjs/parquet-thrift/ListType.d.ts +1 -1
  334. package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -1
  335. package/dist/parquetjs/parquet-thrift/ListType.js +1 -1
  336. package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -1
  337. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts +17 -1
  338. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -1
  339. package/dist/parquetjs/parquet-thrift/LogicalType.js +97 -1
  340. package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -1
  341. package/dist/parquetjs/parquet-thrift/MapType.d.ts +1 -1
  342. package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -1
  343. package/dist/parquetjs/parquet-thrift/MapType.js +1 -1
  344. package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -1
  345. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts +1 -1
  346. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -1
  347. package/dist/parquetjs/parquet-thrift/MicroSeconds.js +1 -1
  348. package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -1
  349. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts +1 -1
  350. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -1
  351. package/dist/parquetjs/parquet-thrift/MilliSeconds.js +1 -1
  352. package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -1
  353. package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts +9 -0
  354. package/dist/parquetjs/parquet-thrift/NanoSeconds.d.ts.map +1 -0
  355. package/dist/parquetjs/parquet-thrift/NanoSeconds.js +27 -0
  356. package/dist/parquetjs/parquet-thrift/NanoSeconds.js.map +1 -0
  357. package/dist/parquetjs/parquet-thrift/NullType.d.ts +1 -1
  358. package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -1
  359. package/dist/parquetjs/parquet-thrift/NullType.js +1 -1
  360. package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -1
  361. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts +1 -1
  362. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -1
  363. package/dist/parquetjs/parquet-thrift/OffsetIndex.js +1 -1
  364. package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -1
  365. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts +1 -1
  366. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -1
  367. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js +1 -1
  368. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -1
  369. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts +1 -1
  370. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -1
  371. package/dist/parquetjs/parquet-thrift/PageHeader.js +1 -1
  372. package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -1
  373. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts +2 -2
  374. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -1
  375. package/dist/parquetjs/parquet-thrift/PageLocation.js +2 -2
  376. package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -1
  377. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts +2 -2
  378. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -1
  379. package/dist/parquetjs/parquet-thrift/RowGroup.js +2 -2
  380. package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -1
  381. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts +1 -1
  382. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -1
  383. package/dist/parquetjs/parquet-thrift/SchemaElement.js +1 -1
  384. package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -1
  385. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts +1 -1
  386. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -1
  387. package/dist/parquetjs/parquet-thrift/SortingColumn.js +1 -1
  388. package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -1
  389. package/dist/parquetjs/parquet-thrift/Statistics.d.ts +14 -10
  390. package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -1
  391. package/dist/parquetjs/parquet-thrift/Statistics.js +38 -2
  392. package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -1
  393. package/dist/parquetjs/parquet-thrift/StringType.d.ts +1 -1
  394. package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -1
  395. package/dist/parquetjs/parquet-thrift/StringType.js +1 -1
  396. package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -1
  397. package/dist/parquetjs/parquet-thrift/TimeType.d.ts +1 -1
  398. package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -1
  399. package/dist/parquetjs/parquet-thrift/TimeType.js +1 -1
  400. package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -1
  401. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts +5 -1
  402. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -1
  403. package/dist/parquetjs/parquet-thrift/TimeUnit.js +25 -1
  404. package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -1
  405. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts +1 -1
  406. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -1
  407. package/dist/parquetjs/parquet-thrift/TimestampType.js +1 -1
  408. package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -1
  409. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts +1 -1
  410. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -1
  411. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js +1 -1
  412. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -1
  413. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts +1 -1
  414. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -1
  415. package/dist/parquetjs/parquet-thrift/UUIDType.js +1 -1
  416. package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -1
  417. package/dist/parquetjs/parquet-thrift/VariantType.d.ts +11 -0
  418. package/dist/parquetjs/parquet-thrift/VariantType.d.ts.map +1 -0
  419. package/dist/parquetjs/parquet-thrift/VariantType.js +41 -0
  420. package/dist/parquetjs/parquet-thrift/VariantType.js.map +1 -0
  421. package/dist/parquetjs/parquet-thrift/index.d.ts +6 -2
  422. package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -1
  423. package/dist/parquetjs/parquet-thrift/index.js +6 -2
  424. package/dist/parquetjs/parquet-thrift/index.js.map +1 -1
  425. package/dist/parquetjs/parser/decoders.d.ts +14 -3
  426. package/dist/parquetjs/parser/decoders.d.ts.map +1 -1
  427. package/dist/parquetjs/parser/decoders.js +381 -117
  428. package/dist/parquetjs/parser/decoders.js.map +1 -1
  429. package/dist/parquetjs/parser/parquet-reader.d.ts +35 -10
  430. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -1
  431. package/dist/parquetjs/parser/parquet-reader.js +179 -59
  432. package/dist/parquetjs/parser/parquet-reader.js.map +1 -1
  433. package/dist/parquetjs/schema/declare.d.ts +62 -8
  434. package/dist/parquetjs/schema/declare.d.ts.map +1 -1
  435. package/dist/parquetjs/schema/declare.js.map +1 -1
  436. package/dist/parquetjs/schema/schema.d.ts +3 -0
  437. package/dist/parquetjs/schema/schema.d.ts.map +1 -1
  438. package/dist/parquetjs/schema/schema.js +21 -3
  439. package/dist/parquetjs/schema/schema.js.map +1 -1
  440. package/dist/parquetjs/schema/shred.d.ts +2 -0
  441. package/dist/parquetjs/schema/shred.d.ts.map +1 -1
  442. package/dist/parquetjs/schema/shred.js +71 -23
  443. package/dist/parquetjs/schema/shred.js.map +1 -1
  444. package/dist/parquetjs/schema/types.d.ts.map +1 -1
  445. package/dist/parquetjs/schema/types.js +272 -51
  446. package/dist/parquetjs/schema/types.js.map +1 -1
  447. package/dist/parquetjs/utils/binary-utils.d.ts +41 -0
  448. package/dist/parquetjs/utils/binary-utils.d.ts.map +1 -0
  449. package/dist/parquetjs/utils/binary-utils.js +106 -0
  450. package/dist/parquetjs/utils/binary-utils.js.map +1 -0
  451. package/dist/parquetjs/utils/file-utils.d.ts +1 -1
  452. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -1
  453. package/dist/parquetjs/utils/file-utils.js +3 -3
  454. package/dist/parquetjs/utils/file-utils.js.map +1 -1
  455. package/dist/parquetjs/utils/read-utils.d.ts +14 -6
  456. package/dist/parquetjs/utils/read-utils.d.ts.map +1 -1
  457. package/dist/parquetjs/utils/read-utils.js +46 -39
  458. package/dist/parquetjs/utils/read-utils.js.map +1 -1
  459. package/dist/parquetjs/utils/thrift-runtime.d.ts +106 -0
  460. package/dist/parquetjs/utils/thrift-runtime.d.ts.map +1 -0
  461. package/dist/parquetjs/utils/thrift-runtime.js +50 -0
  462. package/dist/parquetjs/utils/thrift-runtime.js.map +1 -0
  463. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts +78 -0
  464. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.d.ts.map +1 -0
  465. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js +213 -0
  466. package/dist/parquetjs/utils/uint8-array-compact-protocol-writer.js.map +1 -0
  467. package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts +80 -0
  468. package/dist/parquetjs/utils/uint8-array-compact-protocol.d.ts.map +1 -0
  469. package/dist/parquetjs/utils/uint8-array-compact-protocol.js +276 -0
  470. package/dist/parquetjs/utils/uint8-array-compact-protocol.js.map +1 -0
  471. package/dist/parquetjs/utils/uint8-array-transport.d.ts +25 -0
  472. package/dist/parquetjs/utils/uint8-array-transport.d.ts.map +1 -0
  473. package/dist/parquetjs/utils/uint8-array-transport.js +62 -0
  474. package/dist/parquetjs/utils/uint8-array-transport.js.map +1 -0
  475. package/dist/polyfills/process.d.ts +12 -0
  476. package/dist/polyfills/process.d.ts.map +1 -0
  477. package/dist/polyfills/process.js +17 -0
  478. package/dist/polyfills/process.js.map +1 -0
  479. package/dist/unbundled.d.ts +9 -0
  480. package/dist/unbundled.d.ts.map +1 -0
  481. package/dist/unbundled.js +10 -0
  482. package/dist/unbundled.js.map +1 -0
  483. package/dist/wasm.d.ts +3 -0
  484. package/dist/wasm.d.ts.map +1 -0
  485. package/dist/wasm.js +6 -0
  486. package/dist/wasm.js.map +1 -0
  487. package/dist/workers/parquet-source-worker.d.ts +2 -0
  488. package/dist/workers/parquet-source-worker.d.ts.map +1 -0
  489. package/dist/workers/parquet-source-worker.js +17 -0
  490. package/dist/workers/parquet-source-worker.js.map +1 -0
  491. package/dist/workers/parquet-worker-node.d.ts +2 -0
  492. package/dist/workers/parquet-worker-node.d.ts.map +1 -0
  493. package/dist/workers/parquet-worker-node.js +5 -0
  494. package/dist/workers/parquet-worker-node.js.map +1 -0
  495. package/dist/workers/parquet-worker.d.ts +2 -0
  496. package/dist/workers/parquet-worker.d.ts.map +1 -0
  497. package/dist/workers/parquet-worker.js +27 -0
  498. package/dist/workers/parquet-worker.js.map +1 -0
  499. package/package.json +63 -33
  500. package/src/bundled.ts +33 -0
  501. package/src/geoparquet-loader-with-parser.ts +95 -0
  502. package/src/geoparquet-loader.ts +54 -0
  503. package/src/index.ts +49 -23
  504. package/src/lib/arrow/convert-columns-to-row-group.ts +3 -0
  505. package/src/lib/arrow/convert-schema-from-parquet.ts +97 -30
  506. package/src/lib/arrow/convert-schema-to-parquet.ts +16 -7
  507. package/src/lib/arrow/create-nested-arrow-vector.ts +589 -0
  508. package/src/lib/constants.ts +0 -2
  509. package/src/lib/encoders/encode-arrow-to-parquet.ts +10 -16
  510. package/src/lib/encoders/encode-table-to-parquet-js.ts +261 -0
  511. package/src/lib/geo/geospatial-metadata.ts +457 -0
  512. package/src/lib/parquet-page-index.ts +581 -0
  513. package/src/lib/parquet-predicate.ts +374 -0
  514. package/src/lib/parquet-source-worker-client.ts +39 -0
  515. package/src/lib/parquet-source-worker-decoder.ts +156 -0
  516. package/src/lib/parquet-source-worker-file.ts +56 -0
  517. package/src/lib/parquet-source-worker-types.ts +107 -0
  518. package/src/lib/parquet-worker-transport.ts +57 -0
  519. package/src/lib/parsers/convert-parquet-tables.ts +39 -0
  520. package/src/lib/parsers/get-parquet-schema.ts +3 -1
  521. package/src/lib/parsers/parse-geoparquet-to-geojson.ts +27 -14
  522. package/src/lib/parsers/parse-parquet-tables.ts +82 -0
  523. package/src/lib/parsers/parse-parquet-to-arrow-js.ts +829 -0
  524. package/src/lib/parsers/parse-parquet-to-arrow.ts +63 -36
  525. package/src/lib/parsers/parse-parquet-to-columns.ts +6 -7
  526. package/src/lib/parsers/parse-parquet-to-json.ts +101 -33
  527. package/src/lib/sources/parquet-range-file.ts +359 -0
  528. package/src/lib/sources/single-batch-queue.ts +95 -0
  529. package/src/lib/utils/load-wasm-node.ts +25 -0
  530. package/src/lib/utils/load-wasm.ts +36 -13
  531. package/src/lib/utils/make-stream-iterator.ts +126 -14
  532. package/src/lib/utils/normalize-parquet-options.ts +14 -0
  533. package/src/parquet-dataset-source.ts +488 -0
  534. package/src/parquet-format.ts +2 -0
  535. package/src/parquet-js-loader-types.ts +52 -0
  536. package/src/parquet-js-loader.ts +83 -0
  537. package/src/parquet-js-writer.ts +68 -0
  538. package/src/parquet-loader-base.ts +34 -0
  539. package/src/parquet-loader-options.ts +51 -0
  540. package/src/parquet-loader-types.ts +35 -0
  541. package/src/parquet-loader.ts +115 -0
  542. package/src/parquet-source-capabilities.ts +56 -0
  543. package/src/parquet-source-loader-types.ts +87 -0
  544. package/src/parquet-source-loader.ts +1265 -0
  545. package/src/parquet-source-types.ts +458 -0
  546. package/src/parquet-source-worker-url.ts +23 -0
  547. package/src/parquet-worker-url.ts +18 -0
  548. package/src/parquet-writer.ts +42 -0
  549. package/src/parquetjs/LICENSE +23 -1
  550. package/src/parquetjs/codecs/byte-stream-split.ts +221 -0
  551. package/src/parquetjs/codecs/declare.ts +35 -3
  552. package/src/parquetjs/codecs/delta.ts +587 -0
  553. package/src/parquetjs/codecs/dictionary.ts +22 -4
  554. package/src/parquetjs/codecs/index.ts +18 -0
  555. package/src/parquetjs/codecs/plain.ts +149 -87
  556. package/src/parquetjs/codecs/rle.ts +268 -82
  557. package/src/parquetjs/compression.ts +110 -155
  558. package/src/parquetjs/encoder/dictionary-planner.ts +99 -0
  559. package/src/parquetjs/encoder/page-planner.ts +83 -0
  560. package/src/parquetjs/encoder/parquet-encoder.ts +378 -77
  561. package/src/parquetjs/parquet-thrift/BsonType.ts +1 -1
  562. package/src/parquetjs/parquet-thrift/ColumnChunk.ts +2 -2
  563. package/src/parquetjs/parquet-thrift/ColumnIndex.ts +13 -13
  564. package/src/parquetjs/parquet-thrift/ColumnMetaData.ts +2 -2
  565. package/src/parquetjs/parquet-thrift/ColumnOrder.ts +1 -1
  566. package/src/parquetjs/parquet-thrift/DataPageHeader.ts +1 -1
  567. package/src/parquetjs/parquet-thrift/DataPageHeaderV2.ts +1 -1
  568. package/src/parquetjs/parquet-thrift/DateType.ts +1 -1
  569. package/src/parquetjs/parquet-thrift/DecimalType.ts +1 -1
  570. package/src/parquetjs/parquet-thrift/DictionaryPageHeader.ts +1 -1
  571. package/src/parquetjs/parquet-thrift/EdgeInterpolationAlgorithm.ts +13 -0
  572. package/src/parquetjs/parquet-thrift/Encoding.ts +2 -1
  573. package/src/parquetjs/parquet-thrift/EnumType.ts +1 -1
  574. package/src/parquetjs/parquet-thrift/FileMetaData.ts +2 -2
  575. package/src/parquetjs/parquet-thrift/Float16Type.ts +28 -0
  576. package/src/parquetjs/parquet-thrift/GeographyType.ts +54 -0
  577. package/src/parquetjs/parquet-thrift/GeometryType.ts +43 -0
  578. package/src/parquetjs/parquet-thrift/IndexPageHeader.ts +1 -1
  579. package/src/parquetjs/parquet-thrift/IntType.ts +1 -1
  580. package/src/parquetjs/parquet-thrift/JsonType.ts +1 -1
  581. package/src/parquetjs/parquet-thrift/KeyValue.ts +1 -1
  582. package/src/parquetjs/parquet-thrift/ListType.ts +1 -1
  583. package/src/parquetjs/parquet-thrift/LogicalType.ts +97 -1
  584. package/src/parquetjs/parquet-thrift/MapType.ts +1 -1
  585. package/src/parquetjs/parquet-thrift/MicroSeconds.ts +1 -1
  586. package/src/parquetjs/parquet-thrift/MilliSeconds.ts +1 -1
  587. package/src/parquetjs/parquet-thrift/NanoSeconds.ts +28 -0
  588. package/src/parquetjs/parquet-thrift/NullType.ts +1 -1
  589. package/src/parquetjs/parquet-thrift/OffsetIndex.ts +1 -1
  590. package/src/parquetjs/parquet-thrift/PageEncodingStats.ts +1 -1
  591. package/src/parquetjs/parquet-thrift/PageHeader.ts +1 -1
  592. package/src/parquetjs/parquet-thrift/PageLocation.ts +2 -2
  593. package/src/parquetjs/parquet-thrift/RowGroup.ts +2 -2
  594. package/src/parquetjs/parquet-thrift/SchemaElement.ts +1 -1
  595. package/src/parquetjs/parquet-thrift/SortingColumn.ts +1 -1
  596. package/src/parquetjs/parquet-thrift/Statistics.ts +50 -14
  597. package/src/parquetjs/parquet-thrift/StringType.ts +1 -1
  598. package/src/parquetjs/parquet-thrift/TimeType.ts +1 -1
  599. package/src/parquetjs/parquet-thrift/TimeUnit.ts +25 -1
  600. package/src/parquetjs/parquet-thrift/TimestampType.ts +1 -1
  601. package/src/parquetjs/parquet-thrift/TypeDefinedOrder.ts +1 -1
  602. package/src/parquetjs/parquet-thrift/UUIDType.ts +1 -1
  603. package/src/parquetjs/parquet-thrift/VariantType.ts +43 -0
  604. package/src/parquetjs/parquet-thrift/index.ts +6 -4
  605. package/src/parquetjs/parser/decoders.ts +487 -133
  606. package/src/parquetjs/parser/parquet-reader.ts +297 -71
  607. package/src/parquetjs/schema/declare.ts +99 -7
  608. package/src/parquetjs/schema/schema.ts +23 -3
  609. package/src/parquetjs/schema/shred.ts +112 -35
  610. package/src/parquetjs/schema/types.ts +294 -61
  611. package/src/parquetjs/utils/binary-utils.ts +132 -0
  612. package/src/parquetjs/utils/file-utils.ts +4 -4
  613. package/src/parquetjs/utils/read-utils.ts +56 -55
  614. package/src/parquetjs/utils/thrift-runtime.ts +109 -0
  615. package/src/parquetjs/utils/uint8-array-compact-protocol-writer.ts +254 -0
  616. package/src/parquetjs/utils/uint8-array-compact-protocol.ts +322 -0
  617. package/src/parquetjs/utils/uint8-array-transport.ts +79 -0
  618. package/src/polyfills/process.ts +17 -0
  619. package/src/unbundled.ts +33 -0
  620. package/src/wasm.ts +6 -0
  621. package/src/workers/parquet-source-worker.ts +21 -0
  622. package/src/workers/parquet-worker-node.ts +5 -0
  623. package/src/workers/parquet-worker.ts +31 -0
  624. package/dist/parquet-arrow-loader.d.ts +0 -43
  625. package/dist/parquet-arrow-loader.d.ts.map +0 -1
  626. package/dist/parquet-arrow-loader.js +0 -49
  627. package/dist/parquet-arrow-loader.js.map +0 -1
  628. package/dist/parquet-arrow-writer.d.ts +0 -9
  629. package/dist/parquet-arrow-writer.d.ts.map +0 -1
  630. package/dist/parquet-arrow-writer.js +0 -23
  631. package/dist/parquet-arrow-writer.js.map +0 -1
  632. package/dist/parquet-json-loader.d.ts +0 -148
  633. package/dist/parquet-json-loader.d.ts.map +0 -1
  634. package/dist/parquet-json-loader.js +0 -106
  635. package/dist/parquet-json-loader.js.map +0 -1
  636. package/dist/parquet-json-writer.d.ts +0 -19
  637. package/dist/parquet-json-writer.d.ts.map +0 -1
  638. package/dist/parquet-json-writer.js +0 -20
  639. package/dist/parquet-json-writer.js.map +0 -1
  640. package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts +0 -3
  641. package/dist/polyfills/buffer/buffer-polyfill.browser.d.ts.map +0 -1
  642. package/dist/polyfills/buffer/buffer-polyfill.browser.js +0 -12
  643. package/dist/polyfills/buffer/buffer-polyfill.browser.js.map +0 -1
  644. package/dist/polyfills/buffer/buffer-polyfill.node.d.ts +0 -3
  645. package/dist/polyfills/buffer/buffer-polyfill.node.d.ts.map +0 -1
  646. package/dist/polyfills/buffer/buffer-polyfill.node.js +0 -17
  647. package/dist/polyfills/buffer/buffer-polyfill.node.js.map +0 -1
  648. package/dist/polyfills/buffer/buffer.d.ts +0 -222
  649. package/dist/polyfills/buffer/buffer.d.ts.map +0 -1
  650. package/dist/polyfills/buffer/buffer.js +0 -1868
  651. package/dist/polyfills/buffer/buffer.js.map +0 -1
  652. package/dist/polyfills/buffer/index.d.ts +0 -4
  653. package/dist/polyfills/buffer/index.d.ts.map +0 -1
  654. package/dist/polyfills/buffer/index.js +0 -9
  655. package/dist/polyfills/buffer/index.js.map +0 -1
  656. package/dist/polyfills/buffer/install-buffer-polyfill.d.ts +0 -2
  657. package/dist/polyfills/buffer/install-buffer-polyfill.d.ts.map +0 -1
  658. package/dist/polyfills/buffer/install-buffer-polyfill.js +0 -10
  659. package/dist/polyfills/buffer/install-buffer-polyfill.js.map +0 -1
  660. package/dist/workers/parquet-json-worker.d.ts +0 -2
  661. package/dist/workers/parquet-json-worker.d.ts.map +0 -1
  662. package/dist/workers/parquet-json-worker.js +0 -7
  663. package/dist/workers/parquet-json-worker.js.map +0 -1
  664. package/src/parquet-arrow-loader.ts +0 -74
  665. package/src/parquet-arrow-writer.ts +0 -33
  666. package/src/parquet-json-loader.ts +0 -160
  667. package/src/parquet-json-writer.ts +0 -27
  668. package/src/parquetjs/modules.d.ts +0 -25
  669. package/src/polyfills/buffer/buffer-polyfill.browser.ts +0 -14
  670. package/src/polyfills/buffer/buffer-polyfill.node.ts +0 -19
  671. package/src/polyfills/buffer/buffer.ts +0 -2205
  672. package/src/polyfills/buffer/index.ts +0 -11
  673. package/src/polyfills/buffer/install-buffer-polyfill.ts +0 -12
  674. package/src/workers/parquet-json-worker.ts +0 -8
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/polyfills/process.ts", "../../loader-utils/src/lib/env-utils/globals.ts", "../../worker-utils/src/lib/node/worker_threads-browser.ts", "../../worker-utils/src/lib/worker-utils/get-transfer-list.ts", "../../worker-utils/src/lib/worker-farm/worker-body.ts", "../../worker-utils/src/lib/async-queue/async-queue.ts", "../../worker-utils/src/lib/worker-api/create-worker.ts", "../../worker-utils/src/index.ts", "../../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts", "../../loader-utils/src/lib/binary-utils/array-buffer-utils.ts", "../../loader-utils/src/lib/iterators/async-iteration.ts", "../../loader-utils/src/lib/files/blob-file.ts", "../../loader-utils/src/index.ts", "../../schema-utils/src/lib/schema/data-type.ts", "../../../node_modules/tslib/tslib.es6.mjs", "../../../node_modules/apache-arrow/util/utf8.ts", "../../../node_modules/apache-arrow/util/compat.ts", "../../../node_modules/apache-arrow/util/buffer.ts", "../../../node_modules/apache-arrow/io/adapters.ts", "../../../node_modules/apache-arrow/fb/metadata-version.ts", "../../../node_modules/apache-arrow/fb/union-mode.ts", "../../../node_modules/apache-arrow/fb/precision.ts", "../../../node_modules/apache-arrow/fb/date-unit.ts", "../../../node_modules/apache-arrow/fb/time-unit.ts", "../../../node_modules/apache-arrow/fb/interval-unit.ts", "../../../node_modules/flatbuffers/mjs/constants.js", "../../../node_modules/flatbuffers/mjs/utils.js", "../../../node_modules/flatbuffers/mjs/encoding.js", "../../../node_modules/flatbuffers/mjs/byte-buffer.js", "../../../node_modules/flatbuffers/mjs/builder.js", "../../../node_modules/flatbuffers/mjs/flatbuffers.js", "../../../node_modules/apache-arrow/fb/body-compression-method.ts", "../../../node_modules/apache-arrow/fb/compression-type.ts", "../../../node_modules/apache-arrow/fb/body-compression.ts", "../../../node_modules/apache-arrow/fb/buffer.ts", "../../../node_modules/apache-arrow/fb/field-node.ts", "../../../node_modules/apache-arrow/fb/record-batch.ts", "../../../node_modules/apache-arrow/fb/dictionary-batch.ts", "../../../node_modules/apache-arrow/fb/endianness.ts", "../../../node_modules/apache-arrow/fb/dictionary-kind.ts", "../../../node_modules/apache-arrow/fb/int.ts", "../../../node_modules/apache-arrow/fb/dictionary-encoding.ts", "../../../node_modules/apache-arrow/fb/key-value.ts", "../../../node_modules/apache-arrow/fb/binary.ts", "../../../node_modules/apache-arrow/fb/binary-view.ts", "../../../node_modules/apache-arrow/fb/bool.ts", "../../../node_modules/apache-arrow/fb/date.ts", "../../../node_modules/apache-arrow/fb/decimal.ts", "../../../node_modules/apache-arrow/fb/duration.ts", "../../../node_modules/apache-arrow/fb/fixed-size-binary.ts", "../../../node_modules/apache-arrow/fb/fixed-size-list.ts", "../../../node_modules/apache-arrow/fb/floating-point.ts", "../../../node_modules/apache-arrow/fb/interval.ts", "../../../node_modules/apache-arrow/fb/large-binary.ts", "../../../node_modules/apache-arrow/fb/large-list.ts", "../../../node_modules/apache-arrow/fb/large-utf8.ts", "../../../node_modules/apache-arrow/fb/list.ts", "../../../node_modules/apache-arrow/fb/map.ts", "../../../node_modules/apache-arrow/fb/null.ts", "../../../node_modules/apache-arrow/fb/struct-.ts", "../../../node_modules/apache-arrow/fb/time.ts", "../../../node_modules/apache-arrow/fb/timestamp.ts", "../../../node_modules/apache-arrow/fb/union.ts", "../../../node_modules/apache-arrow/fb/utf8.ts", "../../../node_modules/apache-arrow/fb/utf8-view.ts", "../../../node_modules/apache-arrow/fb/type.ts", "../../../node_modules/apache-arrow/fb/field.ts", "../../../node_modules/apache-arrow/fb/schema.ts", "../../../node_modules/apache-arrow/fb/message-header.ts", "../../../node_modules/apache-arrow/src/enum.ts", "../../../node_modules/apache-arrow/util/pretty.ts", "../../../node_modules/apache-arrow/util/bigint.ts", "../../../node_modules/apache-arrow/util/bn.ts", "../../../node_modules/apache-arrow/src/type.ts", "../../../node_modules/apache-arrow/src/visitor.ts", "../../../node_modules/apache-arrow/util/math.ts", "../../../node_modules/apache-arrow/visitor/set.ts", "../../../node_modules/apache-arrow/row/struct.ts", "../../../node_modules/apache-arrow/visitor/get.ts", "../../../node_modules/apache-arrow/row/map.ts", "../../../node_modules/apache-arrow/util/vector.ts", "../../../node_modules/apache-arrow/util/bit.ts", "../../../node_modules/apache-arrow/src/data.ts", "../../../node_modules/apache-arrow/util/chunk.ts", "../../../node_modules/apache-arrow/visitor/indexof.ts", "../../../node_modules/apache-arrow/visitor/iterator.ts", "../../../node_modules/apache-arrow/src/vector.ts", "../../../node_modules/apache-arrow/builder/valid.ts", "../../../node_modules/apache-arrow/builder/buffer.ts", "../../../node_modules/apache-arrow/src/builder.ts", "../../../node_modules/apache-arrow/fb/block.ts", "../../../node_modules/apache-arrow/fb/footer.ts", "../../../node_modules/apache-arrow/src/schema.ts", "../../../node_modules/apache-arrow/ipc/metadata/file.ts", "../../../node_modules/apache-arrow/fb/message.ts", "../../../node_modules/apache-arrow/visitor/typeassembler.ts", "../../../node_modules/apache-arrow/ipc/metadata/json.ts", "../../../node_modules/apache-arrow/ipc/metadata/message.ts", "../../../node_modules/apache-arrow/io/interfaces.ts", "../../../node_modules/apache-arrow/io/stream.ts", "../../../node_modules/apache-arrow/io/file.ts", "../../../node_modules/apache-arrow/util/int.ts", "../../../node_modules/apache-arrow/util/interval.ts", "../../../node_modules/apache-arrow/visitor/vectorloader.ts", "../../../node_modules/apache-arrow/builder/binary.ts", "../../../node_modules/apache-arrow/builder/largebinary.ts", "../../../node_modules/apache-arrow/builder/bool.ts", "../../../node_modules/apache-arrow/builder/date.ts", "../../../node_modules/apache-arrow/builder/decimal.ts", "../../../node_modules/apache-arrow/builder/dictionary.ts", "../../../node_modules/apache-arrow/builder/fixedsizebinary.ts", "../../../node_modules/apache-arrow/builder/fixedsizelist.ts", "../../../node_modules/apache-arrow/builder/float.ts", "../../../node_modules/apache-arrow/builder/interval.ts", "../../../node_modules/apache-arrow/builder/duration.ts", "../../../node_modules/apache-arrow/builder/int.ts", "../../../node_modules/apache-arrow/builder/list.ts", "../../../node_modules/apache-arrow/builder/largelist.ts", "../../../node_modules/apache-arrow/builder/map.ts", "../../../node_modules/apache-arrow/builder/null.ts", "../../../node_modules/apache-arrow/builder/struct.ts", "../../../node_modules/apache-arrow/builder/timestamp.ts", "../../../node_modules/apache-arrow/builder/time.ts", "../../../node_modules/apache-arrow/builder/union.ts", "../../../node_modules/apache-arrow/builder/utf8.ts", "../../../node_modules/apache-arrow/builder/largeutf8.ts", "../../../node_modules/apache-arrow/builder/binaryview.ts", "../../../node_modules/apache-arrow/builder/utf8view.ts", "../../../node_modules/apache-arrow/visitor/builderctor.ts", "../../../node_modules/apache-arrow/visitor/typecomparator.ts", "../../../node_modules/apache-arrow/src/factories.ts", "../../../node_modules/apache-arrow/util/recordbatch.ts", "../../../node_modules/apache-arrow/src/table.ts", "../../../node_modules/apache-arrow/src/recordbatch.ts", "../../../node_modules/apache-arrow/ipc/message.ts", "../../../node_modules/apache-arrow/ipc/compression/validators.ts", "../../../node_modules/apache-arrow/ipc/compression/registry.ts", "../../../node_modules/apache-arrow/ipc/compression/constants.ts", "../../../node_modules/apache-arrow/ipc/reader.ts", "../../../node_modules/apache-arrow/visitor/vectorassembler.ts", "../../../node_modules/apache-arrow/visitor/jsontypeassembler.ts", "../../../node_modules/apache-arrow/visitor/jsonvectorassembler.ts", "../../../node_modules/apache-arrow/ipc/writer.ts", "../../../node_modules/apache-arrow/io/whatwg/iterable.ts", "../../../node_modules/apache-arrow/io/whatwg/builder.ts", "../../../node_modules/apache-arrow/io/whatwg/reader.ts", "../../../node_modules/apache-arrow/io/whatwg/writer.ts", "../../../node_modules/apache-arrow/ipc/serialization.ts", "../../../node_modules/apache-arrow/util/typecheck.ts", "../../../node_modules/apache-arrow/src/Arrow.ts", "../../../node_modules/apache-arrow/src/Arrow.dom.ts", "../../schema-utils/src/lib/schema/convert-arrow-schema.ts", "../../schema-utils/src/lib/schema/deduce-table-schema.ts", "../../schema-utils/src/lib/table/tables/table-accessors.ts", "../../schema-utils/src/lib/table/tables/table-column.ts", "../../schema-utils/src/lib/table/batches/make-arrow-batch-iterator.ts", "../../schema-utils/src/lib/table/tables/convert-arrow-table.ts", "../../schema-utils/src/lib/table/tables/convert-table.ts", "../../schema-utils/src/deprecated.ts", "../../schema-utils/src/index.ts", "../src/lib/parsers/convert-parquet-tables.ts", "../../gis/src/lib/geoarrow/metadata-utils.ts", "../../gis/src/lib/geoarrow/geoparquet-metadata.ts", "../../gis/src/index.ts", "../src/lib/geo/geospatial-metadata.ts", "../src/lib/utils/load-wasm-node.ts", "../../../node_modules/parquet-wasm/esm/parquet_wasm.js", "../src/lib/utils/load-wasm.ts", "../src/lib/utils/make-stream-iterator.ts", "../src/lib/parsers/parse-parquet-to-arrow.ts", "../src/lib/utils/normalize-parquet-options.ts", "../../arrow/src/lib/utils/arrow-table-transport.ts", "../../arrow/src/index.ts", "../src/lib/parquet-worker-transport.ts", "../src/parquet-format.ts", "../src/parquet-loader-options.ts", "../src/parquet-loader-base.ts", "../src/parquet-worker-url.ts", "../src/parquet-loader-types.ts", "../src/parquet-loader.ts", "../src/workers/parquet-worker.ts"],
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/** Minimal browser process shim required by transitive Parquet dependencies in a worker. */\nexport const process = {\n /** Empty environment exposed to dependencies that only probe for process.env. */\n env: {} as Record<string, string | undefined>,\n /** Empty version map exposed to dependencies that only probe for process.versions. */\n versions: {} as Record<string, string | undefined>,\n /** Browser workers do not have a process identifier. */\n pid: 0,\n /** Schedules a Node-style next-tick callback with its arguments. */\n nextTick(callback: (...arguments_: unknown[]) => void, ...arguments_: unknown[]): void {\n queueMicrotask(() => callback(...arguments_));\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Purpose: include this in your module to avoid\n// dependencies on micro modules like 'global' and 'is-browser';\n\n/* eslint-disable no-restricted-globals */\nconst globals = {\n self: typeof self !== 'undefined' && self,\n window: typeof window !== 'undefined' && window,\n global: typeof global !== 'undefined' && global,\n document: typeof document !== 'undefined' && document\n};\n\ntype obj = {[key: string]: any};\nconst self_: obj = globals.self || globals.window || globals.global || {};\nconst window_: obj = globals.window || globals.self || globals.global || {};\nconst global_: obj = globals.global || globals.self || globals.window || {};\nconst document_: obj = globals.document || {};\n\nexport {self_ as self, window_ as window, global_ as global, document_ as document};\n\n/** true if running in a browser */\nexport const isBrowser: boolean =\n // @ts-ignore process does not exist on browser\n Boolean(typeof process !== 'object' || String(process) !== '[object process]' || process.browser);\n\n/** true if running in a worker thread */\nexport const isWorker: boolean = typeof importScripts === 'function';\n\n// Extract node major version\nconst matches =\n typeof process !== 'undefined' && process.version && /v([0-9]*)/.exec(process.version);\n/** Major Node version (as a number) */\nexport const nodeVersion: number = (matches && parseFloat(matches[1])) || 0;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/** Browser polyfill for Node.js built-in `worker_threads` module.\n * These fills are non-functional, and just intended to ensure that\n * `import 'worker_threads` doesn't break browser builds.\n * The replacement is done in package.json browser field\n */\nexport class NodeWorker {\n /** Restores the native worker constructor when this browser shim is embedded in a Node bundle. */\n constructor(...arguments_: unknown[]) {\n const runtimeProcess = (\n globalThis as {\n process?: {\n getBuiltinModule?: (specifier: string) => {\n Worker?: new (...workerArguments: unknown[]) => NodeWorker;\n };\n };\n }\n ).process;\n const WorkerConstructor = runtimeProcess?.getBuiltinModule?.('node:worker_threads').Worker;\n if (WorkerConstructor) {\n return new WorkerConstructor(...arguments_);\n }\n }\n\n /** No-op browser fallback matching the native Worker API. */\n terminate() {}\n}\n\nexport type {NodeWorker as NodeWorkerType};\n\nexport const parentPort = null;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// NOTE - there is a copy of this function is both in core and loader-utils\n// core does not need all the utils in loader-utils, just this one.\n\n/**\n * Returns an array of Transferrable objects that can be used with postMessage\n * https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage\n * @param object data to be sent via postMessage\n * @param recursive - not for application use\n * @param transfers - not for application use\n * @returns a transfer list that can be passed to postMessage\n */\nexport function getTransferList(\n object: any,\n recursive: boolean = true,\n transfers?: Set<any>\n): Transferable[] {\n // Make sure that items in the transfer list is unique\n const transfersSet = transfers || new Set();\n\n if (!object) {\n // ignore\n } else if (isTransferable(object)) {\n transfersSet.add(object);\n } else if (isTransferable(object.buffer)) {\n // Typed array\n transfersSet.add(object.buffer);\n } else if (ArrayBuffer.isView(object)) {\n // object is a TypeArray viewing into a SharedArrayBuffer (not transferable)\n // Do not iterate through the content in this case\n } else if (recursive && typeof object === 'object') {\n for (const key in object) {\n // Avoid perf hit - only go one level deep\n getTransferList(object[key], recursive, transfersSet);\n }\n }\n\n // If transfers is defined, is internal recursive call\n // Otherwise it's called by the user\n return transfers === undefined ? Array.from(transfersSet) : [];\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Transferable\nfunction isTransferable(object: unknown) {\n if (!object) {\n return false;\n }\n if (object instanceof ArrayBuffer) {\n return true;\n }\n if (typeof MessagePort !== 'undefined' && object instanceof MessagePort) {\n return true;\n }\n if (typeof ImageBitmap !== 'undefined' && object instanceof ImageBitmap) {\n return true;\n }\n // @ts-ignore\n if (typeof OffscreenCanvas !== 'undefined' && object instanceof OffscreenCanvas) {\n return true;\n }\n return false;\n}\n\n/**\n * Recursively drop non serializable values like functions and regexps.\n * @param object\n */\nexport function getTransferListForWriter(object: object | null): object {\n if (object === null) {\n return {};\n }\n const clone = Object.assign({}, object);\n\n Object.keys(clone).forEach(key => {\n // Typed Arrays and Arrays are passed with no change\n if (\n typeof object[key] === 'object' &&\n !ArrayBuffer.isView(object[key]) &&\n !(object[key] instanceof Array)\n ) {\n clone[key] = getTransferListForWriter(object[key]);\n } else if (typeof clone[key] === 'function' || clone[key] instanceof RegExp) {\n clone[key] = {};\n } else {\n clone[key] = object[key];\n }\n });\n\n return clone;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WorkerMessageData, WorkerMessageType, WorkerMessagePayload} from '../../types';\nimport {getTransferList} from '../worker-utils/get-transfer-list';\n// import type {TransferListItem} from '../node/worker_threads';\nimport {parentPort} from '../node/worker_threads';\n\ntype TransferListItem = any;\n\n/** Vile hack to defeat over-zealous bundlers from stripping out the require */\nasync function getParentPort() {\n // const isNode = globalThis.process;\n // let parentPort;\n // try {\n // // biome-ignore format: preserve intentional fixture layout\n // eval('globalThis.parentPort = require(\\'worker_threads\\').parentPort'); // eslint-disable-line no-eval\n // parentPort = globalThis.parentPort;\n // } catch {\n // try {\n // // biome-ignore format: preserve intentional fixture layout\n // eval('globalThis.workerThreadsPromise = import(\\'worker_threads\\')'); // eslint-disable-line no-eval\n // const workerThreads = await globalThis.workerThreadsPromise;\n // parentPort = workerThreads.parentPort;\n // } catch (error) {\n // console.error((error as Error).message); // eslint-disable-line no-console\n // }\n // }\n return parentPort;\n}\n\nconst onMessageWrapperMap = new Map();\n\n/**\n * Type safe wrapper for worker code\n */\nexport default class WorkerBody {\n /** Check that we are actually in a worker thread */\n static async inWorkerThread(): Promise<boolean> {\n return typeof self !== 'undefined' || Boolean(await getParentPort());\n }\n\n /*\n * (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n */\n static set onmessage(onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any) {\n async function handleMessage(message) {\n const parentPort = await getParentPort();\n // Confusingly the message itself also has a 'type' field which is always set to 'message'\n const {type, payload} = parentPort ? message : message.data;\n // if (!isKnownMessage(message)) {\n // return;\n // }\n onMessage(type, payload);\n }\n\n getParentPort().then(parentPort => {\n if (parentPort) {\n parentPort.on('message', message => {\n handleMessage(message);\n });\n // if (message == 'exit') { parentPort.unref(); }\n // eslint-disable-next-line\n parentPort.on('exit', () => console.debug('Node worker closing'));\n } else {\n // eslint-disable-next-line no-restricted-globals\n globalThis.onmessage = handleMessage;\n }\n });\n }\n\n static async addEventListener(\n onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n ) {\n let onMessageWrapper = onMessageWrapperMap.get(onMessage);\n\n if (!onMessageWrapper) {\n onMessageWrapper = async (message: MessageEvent<any>) => {\n if (!isKnownMessage(message)) {\n return;\n }\n\n const parentPort = await getParentPort();\n // Confusingly in the browser, the message itself also has a 'type' field which is always set to 'message'\n const {type, payload} = parentPort ? message : message.data;\n onMessage(type, payload);\n };\n }\n\n const parentPort = await getParentPort();\n if (parentPort) {\n console.error('not implemented'); // eslint-disable-line\n } else {\n globalThis.addEventListener('message', onMessageWrapper);\n }\n }\n\n static async removeEventListener(\n onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n ) {\n const onMessageWrapper = onMessageWrapperMap.get(onMessage);\n onMessageWrapperMap.delete(onMessage);\n const parentPort = await getParentPort();\n if (parentPort) {\n console.error('not implemented'); // eslint-disable-line\n } else {\n globalThis.removeEventListener('message', onMessageWrapper);\n }\n }\n\n /**\n * Send a message from a worker to creating thread (main thread)\n * @param type\n * @param payload\n */\n static async postMessage(type: WorkerMessageType, payload: WorkerMessagePayload): Promise<void> {\n const data: WorkerMessageData = {source: 'loaders.gl', type, payload};\n // console.log('posting message', data);\n\n // Cast to Node compatible transfer list\n const transferList = getTransferList(payload) as TransferListItem[];\n\n const parentPort = await getParentPort();\n if (parentPort) {\n parentPort.postMessage(data, transferList);\n // console.log('posted message', data);\n } else {\n // @ts-expect-error Outside of worker scopes this call has a third parameter\n globalThis.postMessage(data, transferList);\n }\n }\n}\n\n// Filter out noise messages sent to workers\nfunction isKnownMessage(message: MessageEvent<any>) {\n const {type, data} = message;\n return (\n type === 'message' &&\n data &&\n typeof data.source === 'string' &&\n data.source.startsWith('loaders.gl')\n );\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// From https://github.com/rauschma/async-iter-demo/tree/master/src under MIT license\n// http://2ality.com/2016/10/asynchronous-iteration.html\n\n/**\n * Async Queue\n * - AsyncIterable: An async iterator can be\n * - Values can be pushed onto the queue\n * @example\n * const asyncQueue = new AsyncQueue();\n * setTimeout(() => asyncQueue.enqueue('tick'), 1000);\n * setTimeout(() => asyncQueue.enqueue(new Error('done')), 10000);\n * for await (const value of asyncQueue) {\n * console.log(value); // tick\n * }\n */\nexport default class AsyncQueue<T> {\n private _values: any[];\n private _settlers: any[];\n private _closed: boolean;\n\n constructor() {\n this._values = []; // enqueues > dequeues\n this._settlers = []; // dequeues > enqueues\n this._closed = false;\n }\n\n /** Return an async iterator for this queue */\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n }\n\n /** Push a new value - the async iterator will yield a promise resolved to this value */\n push(value: T): void {\n return this.enqueue(value);\n }\n\n /**\n * Push a new value - the async iterator will yield a promise resolved to this value\n * Add an error - the async iterator will yield a promise rejected with this value\n */\n enqueue(value: T | Error): void {\n if (this._closed) {\n throw new Error('Closed');\n }\n\n if (this._settlers.length > 0) {\n if (this._values.length > 0) {\n throw new Error('Illegal internal state');\n }\n const settler = this._settlers.shift();\n if (value instanceof Error) {\n settler.reject(value);\n } else {\n settler.resolve({value});\n }\n } else {\n this._values.push(value);\n }\n }\n\n /** Indicate that we not waiting for more values - The async iterator will be done */\n close(): void {\n while (this._settlers.length > 0) {\n const settler = this._settlers.shift();\n settler.resolve({done: true});\n }\n this._closed = true;\n }\n\n // ITERATOR IMPLEMENTATION\n\n /** @returns a Promise for an IteratorResult */\n next(): Promise<IteratorResult<T, any>> {\n // If values in queue, yield the first value\n if (this._values.length > 0) {\n const value = this._values.shift();\n if (value instanceof Error) {\n return Promise.reject(value);\n }\n return Promise.resolve({done: false, value});\n }\n\n // If queue is closed, the iterator is done\n if (this._closed) {\n if (this._settlers.length > 0) {\n throw new Error('Illegal internal state');\n }\n return Promise.resolve({done: true, value: undefined});\n }\n\n // Yield a promise that waits for new values to be enqueued\n return new Promise((resolve, reject) => {\n this._settlers.push({resolve, reject});\n });\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {\n WorkerMessageType,\n WorkerMessagePayload,\n WorkerContext,\n WorkerJobContext,\n Process,\n ProcessInBatches\n} from '../../types';\nimport AsyncQueue from '../async-queue/async-queue';\nimport WorkerBody from '../worker-farm/worker-body';\n// import {validateWorkerVersion} from './validate-worker-version';\n\n/** Counter for jobs */\nlet requestId = 0;\nlet inputBatches: AsyncQueue<any>;\nlet options: {[key: string]: any};\n\nexport type ProcessOnMainThread = (\n data: any,\n options?: {[key: string]: any},\n jobContext?: WorkerJobContext\n) => any;\n\n/**\n * Set up a WebWorkerGlobalScope to talk with the main thread\n */\nexport async function createWorker(\n process: Process,\n processInBatches?: ProcessInBatches\n): Promise<void> {\n if (!(await WorkerBody.inWorkerThread())) {\n return;\n }\n\n const context: WorkerContext = {\n process: processOnMainThread\n };\n\n // eslint-disable-next-line complexity\n WorkerBody.onmessage = async (type: WorkerMessageType, payload: WorkerMessagePayload) => {\n try {\n switch (type) {\n case 'preload':\n WorkerBody.postMessage('done', {});\n break;\n\n case 'process':\n if (!process) {\n throw new Error('Worker does not support atomic processing');\n }\n const result = await process(\n payload.input,\n payload.options || {},\n context,\n payload.context || {}\n );\n WorkerBody.postMessage('done', {result});\n break;\n\n case 'process-in-batches':\n if (!processInBatches) {\n throw new Error('Worker does not support batched processing');\n }\n inputBatches = new AsyncQueue<any>();\n options = payload.options || {};\n const resultIterator = processInBatches(\n inputBatches,\n options,\n context,\n payload.context || {}\n );\n for await (const batch of resultIterator) {\n WorkerBody.postMessage('output-batch', {result: batch});\n }\n WorkerBody.postMessage('done', {});\n break;\n\n case 'input-batch':\n inputBatches.push(payload.input);\n break;\n\n case 'input-done':\n inputBatches.close();\n break;\n\n default:\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n };\n}\n\nfunction processOnMainThread(arrayBuffer: ArrayBuffer, options = {}, jobContext = {}) {\n return new Promise((resolve, reject) => {\n const id = requestId++;\n\n /**\n */\n const onMessage = (type: string, payload: WorkerMessagePayload) => {\n if (payload.id !== id) {\n // not ours\n return;\n }\n\n switch (type) {\n case 'done':\n WorkerBody.removeEventListener(onMessage);\n resolve(payload.result);\n break;\n\n case 'error':\n WorkerBody.removeEventListener(onMessage);\n reject(payload.error);\n break;\n\n default:\n // ignore\n }\n };\n\n WorkerBody.addEventListener(onMessage);\n\n // Ask the main thread to decode data\n const payload = {id, input: arrayBuffer, options, context: jobContext};\n WorkerBody.postMessage('process', payload);\n });\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WorkerObject} from './types';\nimport {VERSION} from './lib/env-utils/version';\n\n// TYPES\nexport type {\n WorkerObject,\n WorkerOptions,\n // Protocol\n WorkerMessage,\n WorkerMessageType,\n WorkerMessageData,\n WorkerMessagePayload\n} from './types';\n\n// GENERAL UTILS\nexport {assert} from './lib/env-utils/assert';\nexport {isBrowser, isWorker} from './lib/env-utils/globals';\n\n// WORKER UTILS - TYPES\nexport {default as WorkerJob} from './lib/worker-farm/worker-job';\nexport {default as WorkerThread} from './lib/worker-farm/worker-thread';\n\n// WORKER FARMS\nexport {default as WorkerFarm} from './lib/worker-farm/worker-farm';\nexport {default as WorkerPool} from './lib/worker-farm/worker-pool';\nexport {default as WorkerBody} from './lib/worker-farm/worker-body';\n\n// PROCESS ON WORKER\nexport type {ProcessOnWorkerOptions} from './lib/worker-api/process-on-worker';\nexport type {PreloadWorkerOptions} from './lib/worker-api/process-on-worker';\nexport {\n processOnWorker,\n preloadWorker,\n canProcessOnWorker\n} from './lib/worker-api/process-on-worker';\nexport {createWorker} from './lib/worker-api/create-worker';\n\n// WORKER UTILS - EXPORTS\nexport {getWorkerURL} from './lib/worker-api/get-worker-url';\nexport {validateWorkerVersion} from './lib/worker-api/validate-worker-version';\nexport {getTransferList, getTransferListForWriter} from './lib/worker-utils/get-transfer-list';\n\n// LIBRARY UTILS\nexport {\n extractLoadLibraryOptions,\n getLibraryUrl,\n loadLibrary,\n type LoadLibraryOptions\n} from './lib/library-utils/library-utils';\n\n// PARSER UTILS\nexport {default as AsyncQueue} from './lib/async-queue/async-queue';\n\n// PROCESS UTILS\nexport {default as ChildProcessProxy} from './lib/process-utils/child-process-proxy';\n\n// WORKER OBJECTS\n\n/** A null worker to test that worker processing is functional */\nexport const NullWorker: WorkerObject = {\n id: 'null',\n name: 'null',\n module: 'worker-utils',\n version: VERSION,\n options: {\n null: {}\n }\n};\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable no-restricted-globals */\nimport type {CoreAPI} from '../sources/data-source';\nimport type {LoaderWithParser, LoaderOptions, LoaderContext, Loader} from '../../loader-types';\nimport {createWorker} from '@loaders.gl/worker-utils';\n// import {validateLoaderVersion} from './validate-loader-version';\n\n/**\n * Set up a WebWorkerGlobalScope to talk with the main thread\n * @param loader\n */\nexport async function createLoaderWorker(loader: LoaderWithParser) {\n await createWorker(\n async (input: any, options: {[key: string]: any} = {}, workerContext, loaderContext = {}) => {\n // validateLoaderVersion(loader, data.source.split('@')[1]);\n\n const result = await parseData({\n loader,\n arrayBuffer: input,\n options,\n context: {\n ...loaderContext,\n coreApi: createWorkerCoreApi(),\n _parse: createParseOnMainThread(workerContext?.process)\n } as LoaderContext\n });\n\n return loader.serializeWorkerResult\n ? loader.serializeWorkerResult(result, options, loaderContext as LoaderContext)\n : result;\n }\n );\n}\n\n/**\n * Create a minimal core API implementation available inside worker loaders.\n */\nfunction createWorkerCoreApi(): CoreAPI {\n const unavailable = (methodName: keyof CoreAPI) => () => {\n throw new Error(`context.coreApi.${methodName} is unavailable inside worker loaders.`);\n };\n\n return {\n fetchFile: async (urlOrData, fetchOptions) =>\n await fetch(urlOrData as RequestInfo | URL, fetchOptions),\n parseSync: unavailable('parseSync'),\n parse: unavailable('parse'),\n parseFile: unavailable('parseFile'),\n parseInBatches: unavailable('parseInBatches'),\n load: unavailable('load'),\n loadInBatches: unavailable('loadInBatches')\n };\n}\n\n/**\n * Create a loader context parse callback that redirects subloader parsing to the main thread.\n * @param processOnMainThread\n */\nfunction createParseOnMainThread(\n processOnMainThread?: (data: any, options?: LoaderOptions, context?: Record<string, any>) => any\n) {\n return (\n arrayBuffer: ArrayBuffer,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n ) => {\n if (!processOnMainThread) {\n throw new Error('Worker not set up to parse on main thread');\n }\n\n const parseArguments = getMainThreadParseArguments(loaders, options, context);\n return processOnMainThread(arrayBuffer, parseArguments.options, parseArguments.context);\n };\n}\n\n/**\n * Extract parse options and context from the overloaded loader context parse signature.\n * @param loaders\n * @param options\n * @param context\n */\nfunction getMainThreadParseArguments(\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): {options?: LoaderOptions; context?: Record<string, any>} {\n if (options) {\n return {options, context: getSerializableLoaderContext(context)};\n }\n if (Array.isArray(loaders) || (loaders && isLoaderObject(loaders))) {\n return {options: undefined, context: getSerializableLoaderContext(context)};\n }\n if (loaders && !Array.isArray(loaders)) {\n return {options: loaders};\n }\n return {options: undefined, context: getSerializableLoaderContext(context)};\n}\n\n/**\n * Checks whether a value is a loader object.\n * @param value\n */\nfunction isLoaderObject(value: Loader | LoaderOptions): value is Loader {\n return 'id' in value && 'extensions' in value;\n}\n\n/**\n * Create a serializable loader context for a main-thread parse request.\n * @param context\n */\nfunction getSerializableLoaderContext(context?: LoaderContext) {\n if (!context) {\n return undefined;\n }\n const {fetch, loaders, coreApi, _parse, _parseSync, _parseInBatches, ...serializableContext} =\n context;\n return JSON.parse(JSON.stringify(serializableContext));\n}\n\n// TODO - Support byteOffset and byteLength (enabling parsing of embedded binaries without copies)\n// TODO - Why not support async loader.parse* funcs here?\n// TODO - Why not reuse a common function instead of reimplementing loader.parse* selection logic? Keeping loader small?\n// TODO - Lack of appropriate parser functions can be detected when we create worker, no need to wait until parse\nasync function parseData({\n loader,\n arrayBuffer,\n options,\n context\n}: {\n loader: LoaderWithParser;\n arrayBuffer: ArrayBuffer;\n options: LoaderOptions;\n context: LoaderContext;\n}) {\n let data;\n let parser;\n if (loader.parse || loader.parseSync) {\n data = arrayBuffer;\n parser = loader.parse || loader.parseSync;\n } else if (loader.parseTextSync) {\n const textDecoder = new TextDecoder();\n data = textDecoder.decode(arrayBuffer);\n parser = loader.parseTextSync;\n } else {\n throw new Error(`Could not load data with ${loader.name} loader`);\n }\n\n // TODO - proper merge in of loader options...\n options = {\n ...options,\n modules: (loader && loader.options && loader.options.modules) || {},\n core: {\n ...options.core,\n worker: false\n }\n };\n\n return await parser(data, {...options}, context, loader);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {TypedArray} from '../../types';\n\n/**\n * compare two binary arrays for equality\n * @param a\n * @param b\n * @param byteLength\n */\nexport function compareArrayBuffers(\n arrayBuffer1: ArrayBufferLike,\n arrayBuffer2: ArrayBufferLike,\n byteLength?: number\n): boolean {\n byteLength = byteLength || arrayBuffer1.byteLength;\n if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {\n return false;\n }\n const array1 = new Uint8Array(arrayBuffer1);\n const array2 = new Uint8Array(arrayBuffer2);\n for (let i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers from arguments\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffers(...sources: (ArrayBuffer | Uint8Array)[]): ArrayBuffer {\n return concatenateArrayBuffersFromArray(sources);\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers from array\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffersFromArray(\n sources: (ArrayBuffer | Uint8Array)[]\n): ArrayBuffer {\n // Make sure all inputs are wrapped in typed arrays\n const sourceArrays = sources.map(source2 =>\n source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2\n );\n\n // Get length of all inputs\n const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);\n\n // Allocate array with space for all inputs\n const result = new Uint8Array(byteLength);\n\n // Copy the subarrays\n let offset = 0;\n for (const sourceArray of sourceArrays) {\n result.set(sourceArray, offset);\n offset += sourceArray.byteLength;\n }\n\n // We work with ArrayBuffers, discard the typed array wrapper\n return result.buffer;\n}\n\n/**\n * Concatenate arbitrary count of typed arrays\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays\n * @param - list of arrays. All arrays should be the same type\n * @return A concatenated TypedArray\n */\nexport function concatenateTypedArrays<T>(...typedArrays: T[]): T {\n // @ts-ignore\n const arrays = typedArrays as TypedArray[];\n // @ts-ignore\n const TypedArrayConstructor = (arrays && arrays.length > 1 && arrays[0].constructor) || null;\n if (!TypedArrayConstructor) {\n throw new Error(\n '\"concatenateTypedArrays\" - incorrect quantity of arguments or arguments have incompatible data types'\n );\n }\n\n const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);\n // @ts-ignore typescript does not like dynamic constructors\n const result = new TypedArrayConstructor(sumLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n\n/**\n * Copy a view of an ArrayBuffer into new ArrayBuffer with byteOffset = 0\n * @param arrayBuffer\n * @param byteOffset\n * @param byteLength\n */\nexport function sliceArrayBuffer(\n arrayBuffer: ArrayBufferLike,\n byteOffset: number,\n byteLength?: number\n): ArrayBuffer {\n const subArray =\n byteLength !== undefined\n ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength)\n : new Uint8Array(arrayBuffer).subarray(byteOffset);\n const arrayCopy = new Uint8Array(subArray);\n return arrayCopy.buffer;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {concatenateArrayBuffers} from '../binary-utils/array-buffer-utils';\n\n// GENERAL UTILITIES\n\n/**\n * Iterates over an {@link AsyncIterable} or {@link Iterable}, invoking `visitor` for each yielded\n * value without rewinding the iterator when exiting early. This enables the caller to continue\n * iterating in another loop after `visitor` signals cancellation.\n */\nexport async function forEach<TValue>(\n iterable: AsyncIterable<TValue> | Iterable<TValue> | AsyncIterator<TValue>,\n visitor: (value: TValue) => any\n) {\n const iterator = toAsyncIterator(iterable);\n // eslint-disable-next-line\n while (true) {\n const {done, value} = await iterator.next();\n if (done) {\n if (iterator.return) {\n iterator.return();\n }\n return;\n }\n const cancel = visitor(value);\n if (cancel) {\n return;\n }\n }\n}\n\n/**\n * Concatenates all binary chunks yielded by an async or sync iterator.\n * Supports `ArrayBuffer`, typed array views, and `ArrayBufferLike` sources (e.g. `SharedArrayBuffer`).\n * This allows atomic parsers to operate on iterator inputs by materializing them into a single buffer.\n */\nexport async function concatenateArrayBuffersAsync(\n asyncIterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>\n): Promise<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const chunk of asyncIterator) {\n arrayBuffers.push(copyToArrayBuffer(chunk));\n }\n return concatenateArrayBuffers(...arrayBuffers);\n}\n\nexport async function concatenateStringsAsync(\n asyncIterator: AsyncIterable<string> | Iterable<string>\n): Promise<string> {\n const strings: string[] = [];\n for await (const chunk of asyncIterator) {\n strings.push(chunk);\n }\n return strings.join('');\n}\n\n/**\n * Normalizes binary chunk iterators to yield `ArrayBuffer` instances.\n * Accepts `ArrayBuffer`, `ArrayBufferView`, and `ArrayBufferLike` sources\n * (e.g. `SharedArrayBuffer`) and returns a copied `ArrayBuffer` for each chunk.\n */\nexport async function* toArrayBufferIterator(\n asyncIterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>\n): AsyncIterable<ArrayBuffer> {\n for await (const chunk of asyncIterator) {\n yield copyToArrayBuffer(chunk);\n }\n}\n\nfunction copyToArrayBuffer(chunk: ArrayBufferLike | ArrayBufferView | ArrayBuffer): ArrayBuffer {\n if (chunk instanceof ArrayBuffer) {\n return chunk;\n }\n\n if (ArrayBuffer.isView(chunk)) {\n const {buffer, byteOffset, byteLength} = chunk;\n return copyFromBuffer(buffer, byteOffset, byteLength);\n }\n\n return copyFromBuffer(chunk as ArrayBufferLike);\n}\n\nfunction copyFromBuffer(\n buffer: ArrayBufferLike,\n byteOffset = 0,\n byteLength = buffer.byteLength - byteOffset\n): ArrayBuffer {\n const view = new Uint8Array(buffer, byteOffset, byteLength);\n const copy = new Uint8Array(view.length);\n copy.set(view);\n return copy.buffer;\n}\n\nfunction toAsyncIterator<TValue>(\n iterable: AsyncIterable<TValue> | Iterable<TValue> | AsyncIterator<TValue>\n): AsyncIterator<TValue> {\n if (typeof iterable[Symbol.asyncIterator] === 'function') {\n return iterable[Symbol.asyncIterator]();\n }\n\n if (typeof iterable[Symbol.iterator] === 'function') {\n const iterator = iterable[Symbol.iterator]();\n return iteratorToAsyncIterator(iterator);\n }\n\n return iterable as AsyncIterator<TValue>;\n}\n\nfunction iteratorToAsyncIterator<T>(iterator: Iterator<T>): AsyncIterator<T> {\n return {\n next(value?: any) {\n return Promise.resolve(iterator.next(value));\n },\n\n return(value?: any) {\n if (typeof iterator.return === 'function') {\n return Promise.resolve(iterator.return(value));\n }\n return Promise.resolve({done: true, value});\n },\n\n throw(error?: any) {\n if (typeof iterator.throw === 'function') {\n return Promise.resolve(iterator.throw(error));\n }\n return Promise.reject(error);\n }\n };\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {ReadableFile} from './file';\n\n/**\n * BlobFile provides a \"file like interface\" to the data in a Blob or File object\n */\nexport class BlobFile implements ReadableFile {\n readonly handle: Blob;\n readonly size: number;\n readonly bigsize: bigint;\n readonly url: string;\n\n constructor(blob: Blob | File | ArrayBuffer) {\n this.handle = blob instanceof ArrayBuffer ? new Blob([blob]) : blob;\n this.size = blob instanceof ArrayBuffer ? blob.byteLength : blob.size;\n this.bigsize = BigInt(this.size);\n this.url = blob instanceof File ? blob.name : '';\n }\n\n async close() {}\n\n async stat() {\n return {\n size: this.handle.size,\n bigsize: BigInt(this.handle.size),\n isDirectory: false\n };\n }\n\n async read(start?: number | bigint, length?: number, signal?: AbortSignal): Promise<ArrayBuffer> {\n if (signal?.aborted) {\n throw new Error('Request aborted');\n }\n const arrayBuffer = await this.handle\n .slice(Number(start), Number(start) + Number(length))\n .arrayBuffer();\n if (signal?.aborted) {\n throw new Error('Request aborted');\n }\n return arrayBuffer;\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// TYPES\n\nexport type {\n // misc\n DataType,\n SyncDataType,\n BatchableDataType,\n TransformBatches,\n // numeric array types\n TypedArray,\n BigTypedArray,\n TypedArrayConstructor,\n BigTypedArrayConstructor,\n NumberArray,\n NumericArray,\n // fetch\n FetchLike\n} from './types';\n\n// formats\n\nexport type {Format, FormatEncoding} from './format-types';\n\n// loaders\n\nexport type {\n Loader,\n LoaderWithParser,\n LoaderContext,\n StrictLoaderOptions,\n LoaderOptions,\n LoaderShapeType,\n LoaderOptionsWithShape,\n LoaderOptionsType,\n LoaderReturnType,\n LoaderBatchType,\n LoaderArrayOptionsType,\n LoaderArrayReturnType,\n LoaderArrayBatchType\n} from './loader-types';\n\nexport {parseFromContext, parseSyncFromContext, parseInBatchesFromContext} from './loader-types';\n\n// writers\n\nexport type {\n Writer,\n WriterWithEncoder,\n WriterOptions,\n WriterOptionsType,\n WriterDataType,\n WriterBatchType\n} from './writer-types';\n\n// GENERAL UTILS\nexport {assert} from './lib/env-utils/assert';\nexport {\n isBrowser,\n isWorker,\n nodeVersion,\n self,\n window,\n global,\n document\n} from './lib/env-utils/globals';\n\nexport {log} from './lib/log-utils/log';\n\nexport type {ReadableStreamType} from './lib/javascript-utils/is-type';\nexport {\n isObject,\n isPureObject,\n isArrayBuffer,\n isArrayBufferLike,\n isPromise,\n isIterable,\n isAsyncIterable,\n isIterator,\n isResponse,\n isFile,\n isBlob,\n isWritableDOMStream,\n isReadableDOMStream,\n isWritableNodeStream,\n isReadableNodeStream,\n isReadableStream,\n isWritableStream\n} from './lib/javascript-utils/is-type';\n\n// Options and modules\nexport type {RequiredOptions} from './lib/option-utils/merge-options';\nexport {mergeOptions, getRequiredOptions} from './lib/option-utils/merge-options';\n\n// Modules (external libraries)\nexport {registerJSModules} from './lib/module-utils/js-module-utils';\nexport {checkJSModule, getJSModule, getJSModuleOrNull} from './lib/module-utils/js-module-utils';\n\n// LOADERS.GL-SPECIFIC WORKER UTILS\nexport {createLoaderWorker} from './lib/worker-loader-utils/create-loader-worker';\nexport {parseWithWorker, canParseWithWorker} from './lib/worker-loader-utils/parse-with-worker';\nexport {canEncodeWithWorker} from './lib/worker-loader-utils/encode-with-worker';\n\n// PARSER UTILS\nexport {parseJSON} from './lib/parser-utils/parse-json';\n\n// MEMORY COPY UTILS\nexport {\n sliceArrayBuffer,\n concatenateArrayBuffers,\n concatenateArrayBuffersFromArray,\n concatenateTypedArrays,\n compareArrayBuffers\n} from './lib/binary-utils/array-buffer-utils';\nexport {BinaryChunkReader} from './lib/binary-utils/binary-chunk-reader';\nexport type {\n BinaryChunkReaderCheckpoint,\n BinaryChunkReaderOptions\n} from './lib/binary-utils/binary-chunk-reader';\nexport {padToNBytes, copyToArray, copyArrayBuffer} from './lib/binary-utils/memory-copy-utils';\nexport {\n padStringToByteAlignment,\n copyStringToDataView,\n copyBinaryToDataView,\n copyPaddedArrayBufferToDataView,\n copyPaddedStringToDataView\n} from './lib/binary-utils/dataview-copy-utils';\nexport {getFirstCharacters, getMagicString} from './lib/binary-utils/get-first-characters';\n\n// ITERATOR UTILS\nexport {\n makeTextEncoderIterator,\n makeTextDecoderIterator,\n makeLineIterator,\n makeNumberedLineIterator\n} from './lib/iterators/text-iterators';\nexport {\n forEach,\n concatenateArrayBuffersAsync,\n toArrayBufferIterator\n} from './lib/iterators/async-iteration';\n\n// REQUEST UTILS\nexport {default as RequestScheduler} from './lib/request-utils/request-scheduler';\nexport {parseContentType} from './lib/request-utils/parse-content-type';\nexport {\n RangeRequestScheduler,\n createRangeStats,\n fetchHttpRange,\n getRangeStats\n} from './lib/request-utils/range-request-scheduler';\nexport type {\n RangeFetchRequest,\n RangeRequest,\n RangeRequestEvent,\n RangeRequestSchedulerProps,\n RangeRequestTransportResult,\n RangeStats\n} from './lib/request-utils/range-request-scheduler';\n\n// LAZ DECODER UTILS\nexport {\n NeedsMoreData,\n createLAZChunkDecoder,\n createLAZChunkDecoderCursor,\n decodeLAZChunkTable,\n decodeLAZChunk,\n decodeLAZChunkInBatches,\n getLAZChunkByteLength\n} from './lib/laz/laz-chunk-decoder';\nexport type {\n FeedableLAZChunkDecoder,\n LAZChunkDecoderCursor,\n LAZChunkDecoderOptions,\n LAZChunkMetadata,\n LAZChunkTableEntry,\n LAZPointDataTarget\n} from './lib/laz/laz-chunk-decoder';\nexport {createLAZChunkEncoder, encodeLAZChunk} from './lib/laz/laz-chunk-encoder';\nexport type {FeedableLAZChunkEncoder} from './lib/laz/laz-chunk-encoder';\n\n// PATH HELPERS\nexport {setPathPrefix, getPathPrefix, resolvePath} from './lib/path-utils/file-aliases';\nexport {CachedUriResolver} from './lib/path-utils/cached-uri-resolver';\nexport {addAliases as _addAliases} from './lib/path-utils/file-aliases';\n\n// MICRO LOADERS\nexport {JSONLoader} from './json-loader';\n\n// NODE support\n\n// Node.js emulation (can be used in browser)\n\n// Avoid direct use of `Buffer` which pulls in 50KB polyfill\nexport {\n isBuffer,\n toBuffer,\n toArrayBuffer,\n toArrayBufferView,\n copyToArrayBuffer,\n ensureArrayBuffer\n} from './lib/binary-utils/memory-conversion-utils';\n\n// Note.js wrappers (can be safely imported, but not used in browser)\n\n// Use instead of importing 'util' to avoid node dependencies\nexport {promisify1, promisify2} from './lib/node/promisify';\n\n// `path` replacement (avoids bundling big path polyfill)\nimport * as path from './lib/path-utils/path';\nexport {path};\n\n// Use instead of importing 'stream' to avoid node dependencies`\nimport * as stream from './lib/node/stream';\nexport {stream};\n\n// EXPERIMENTAL: FILE SYSTEMS\n\nexport type {ReadableFile, WritableFile, Stat} from './lib/files/file';\nexport {ArrayBufferFile} from './lib/files/array-buffer-file';\nexport {BlobFile} from './lib/files/blob-file';\nexport {HttpFile} from './lib/files/http-file';\nexport type {\n HttpFileConsistency,\n HttpFileFetch,\n HttpFileIdentity,\n HttpFileOptions,\n HttpFileTelemetry\n} from './lib/files/http-file';\nexport {NodeFileFacade as NodeFile} from './lib/files/node-file-facade';\n\nexport type {FileSystem, RandomAccessFileSystem} from './lib/filesystems/filesystem';\nexport {NodeFileSystemFacade as NodeFilesystem} from './lib/filesystems/node-filesystem-facade';\n\n// EXPERIMENTAL: DATA SOURCES\nexport type {SourceLoader, SourceArrayOptionsType, SourceArrayDataSourceType} from './source-types';\nexport {isSourceLoader} from './source-types';\n\nexport type {CoreAPI, DataSourceOptions} from './lib/sources/data-source';\nexport {DataSource} from './lib/sources/data-source';\nexport type {\n ManageableDataSource,\n DataSourceManagerAddParameters,\n DataSourceManagerGetOrCreateParameters,\n DataSourceManagerSubscribeParameters,\n DataSourceSubscriber\n} from './lib/sources/data-source-manager';\nexport {DataSourceManager} from './lib/sources/data-source-manager';\n\nexport type {CatalogSource, CatalogSourceCapabilities} from './lib/sources/catalog-source';\n\nexport {ImageSource} from './lib/sources/image-source';\nexport type {ImageType} from './lib/sources/utils/image-type';\nexport type {ImageSourceMetadata} from './lib/sources/image-source';\nexport type {GetImageParameters} from './lib/sources/image-source';\n\nexport type {\n GetFeaturesParameters,\n VectorSource,\n VectorSourceData,\n VectorSourceLayer,\n VectorSourceMetadata\n} from './lib/sources/vector-source';\n\nexport type {TileSource} from './lib/sources/tile-source';\nexport type {TileSourceMetadata, GetTileParameters} from './lib/sources/tile-source';\nexport type {GetTileDataBatchResult, GetTileDataParameters} from './lib/sources/tile-source';\nexport {getTileDataBatch} from './lib/sources/tile-source-utils';\n\nexport type {ImageTileSource} from './lib/sources/image-tile-source';\n\nexport type {VectorTileSource} from './lib/sources/vector-tile-source';\nexport type {VectorTile} from './lib/sources/vector-tile-source';\n\nexport {RasterSource, getRasterViewportBoundingBox} from './lib/sources/raster-source';\nexport type {\n RasterChannelDataType,\n RasterBoundingBox,\n RasterViewport,\n RasterData,\n RasterSelection,\n GetRasterParameters,\n RasterOverview,\n RasterSourceMetadata\n} from './lib/sources/raster-source';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {DataType, TypedArray, TypedArrayConstructor, ArrayType} from '@loaders.gl/schema';\n\n/** Deduce column types from values */\nexport function getDataTypeFromValue(\n value: unknown,\n defaultNumberType: 'float32' = 'float32'\n): DataType {\n if (value instanceof Date) {\n return 'date-millisecond';\n }\n if (typeof value === 'number') {\n return defaultNumberType;\n }\n if (typeof value === 'boolean') {\n return 'bool';\n }\n if (typeof value === 'string') {\n return 'utf8';\n }\n if (value === null || value === 'undefined') {\n return 'null';\n }\n return 'null';\n}\n\n/**\n * Deduces a simple data type \"descriptor from a typed array instance\n */\nexport function getDataTypeFromArray(array: ArrayType): {type: DataType; nullable: boolean} {\n let type = getDataTypeFromTypedArray(array as TypedArray);\n if (type !== 'null') {\n return {type, nullable: false};\n }\n if (array.length > 0) {\n type = getDataTypeFromValue(array[0]);\n return {type, nullable: true};\n }\n\n return {type: 'null', nullable: true};\n}\n\n/**\n * Deduces a simple data type \"descriptor from a typed array instance\n */\nexport function getDataTypeFromTypedArray(array: TypedArray): DataType {\n switch (array.constructor) {\n case Int8Array:\n return 'int8';\n case Uint8Array:\n case Uint8ClampedArray:\n return 'uint8';\n case Int16Array:\n return 'int16';\n case Uint16Array:\n return 'uint16';\n case Int32Array:\n return 'int32';\n case Uint32Array:\n return 'uint32';\n case Float32Array:\n return 'float32';\n case Float64Array:\n return 'float64';\n default:\n return 'null';\n }\n}\n\nexport function getArrayTypeFromDataType(\n type: DataType,\n nullable: boolean | undefined\n): TypedArrayConstructor | ArrayConstructor {\n if (!nullable) {\n switch (type) {\n case 'int8':\n return Int8Array;\n case 'uint8':\n return Uint8Array;\n case 'int16':\n return Int16Array;\n case 'uint16':\n return Uint16Array;\n case 'int32':\n return Int32Array;\n case 'uint32':\n return Uint32Array;\n case 'float32':\n return Float32Array;\n case 'float64':\n return Float64Array;\n default:\n break;\n }\n }\n\n // if (typeof BigInt64Array !== 'undefined') {\n // TYPED_ARRAY_TO_TYPE.BigInt64Array = new Int64();\n // TYPED_ARRAY_TO_TYPE.BigUint64Array = new Uint64();\n // }\n\n return Array;\n}\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", null, null, null, null, null, null, null, null, null, null, "export const SIZEOF_SHORT = 2;\nexport const SIZEOF_INT = 4;\nexport const FILE_IDENTIFIER_LENGTH = 4;\nexport const SIZE_PREFIX_LENGTH = 4;\n", "export const int32 = new Int32Array(2);\nexport const float32 = new Float32Array(int32.buffer);\nexport const float64 = new Float64Array(int32.buffer);\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n", "export var Encoding;\n(function (Encoding) {\n Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\n Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\n})(Encoding || (Encoding = {}));\n", "import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from './constants.js';\nimport { Encoding } from './encoding.js';\nimport { float32, float64, int32, isLittleEndian } from './utils.js';\nexport class ByteBuffer {\n /**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\n */\n constructor(bytes_) {\n this.bytes_ = bytes_;\n this.position_ = 0;\n this.text_decoder_ = new TextDecoder();\n }\n /**\n * Create and allocate a new ByteBuffer with a given size.\n */\n static allocate(byte_size) {\n return new ByteBuffer(new Uint8Array(byte_size));\n }\n clear() {\n this.position_ = 0;\n }\n /**\n * Get the underlying `Uint8Array`.\n */\n bytes() {\n return this.bytes_;\n }\n /**\n * Get the buffer's position.\n */\n position() {\n return this.position_;\n }\n /**\n * Set the buffer's position.\n */\n setPosition(position) {\n this.position_ = position;\n }\n /**\n * Get the buffer's capacity.\n */\n capacity() {\n return this.bytes_.length;\n }\n readInt8(offset) {\n return (this.readUint8(offset) << 24) >> 24;\n }\n readUint8(offset) {\n return this.bytes_[offset];\n }\n readInt16(offset) {\n return (this.readUint16(offset) << 16) >> 16;\n }\n readUint16(offset) {\n return this.bytes_[offset] | (this.bytes_[offset + 1] << 8);\n }\n readInt32(offset) {\n return (this.bytes_[offset] |\n (this.bytes_[offset + 1] << 8) |\n (this.bytes_[offset + 2] << 16) |\n (this.bytes_[offset + 3] << 24));\n }\n readUint32(offset) {\n return this.readInt32(offset) >>> 0;\n }\n readInt64(offset) {\n return BigInt.asIntN(64, BigInt(this.readUint32(offset)) +\n (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readUint64(offset) {\n return BigInt.asUintN(64, BigInt(this.readUint32(offset)) +\n (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readFloat32(offset) {\n int32[0] = this.readInt32(offset);\n return float32[0];\n }\n readFloat64(offset) {\n int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\n int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return float64[0];\n }\n writeInt8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeUint8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeInt16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeUint16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeInt32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeUint32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeInt64(offset, value) {\n this.writeInt32(offset, Number(BigInt.asIntN(32, value)));\n this.writeInt32(offset + 4, Number(BigInt.asIntN(32, value >> BigInt(32))));\n }\n writeUint64(offset, value) {\n this.writeUint32(offset, Number(BigInt.asUintN(32, value)));\n this.writeUint32(offset + 4, Number(BigInt.asUintN(32, value >> BigInt(32))));\n }\n writeFloat32(offset, value) {\n float32[0] = value;\n this.writeInt32(offset, int32[0]);\n }\n writeFloat64(offset, value) {\n float64[0] = value;\n this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\n }\n /**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n */\n getBufferIdentifier() {\n if (this.bytes_.length <\n this.position_ + SIZEOF_INT + FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n let result = '';\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\n }\n return result;\n }\n /**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n */\n __offset(bb_pos, vtable_offset) {\n const vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable)\n ? this.readInt16(vtable + vtable_offset)\n : 0;\n }\n /**\n * Initialize any Table-derived type to point to the union at the given offset.\n */\n __union(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n }\n /**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to string, pass Encoding.UTF8_BYTES as the\n * \"optionalEncoding\" argument. This is useful for avoiding conversion when\n * the data will just be packaged back up in another FlatBuffer later on.\n *\n * @param offset\n * @param opt_encoding Defaults to UTF16_STRING\n */\n __string(offset, opt_encoding) {\n offset += this.readInt32(offset);\n const length = this.readInt32(offset);\n offset += SIZEOF_INT;\n const utf8bytes = this.bytes_.subarray(offset, offset + length);\n if (opt_encoding === Encoding.UTF8_BYTES)\n return utf8bytes;\n else\n return this.text_decoder_.decode(utf8bytes);\n }\n /**\n * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\n * if a string then return a new one\n *\n * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\n * makes the behaviour of __union_with_string different compared to __union\n */\n __union_with_string(o, offset) {\n if (typeof o === 'string') {\n return this.__string(offset);\n }\n return this.__union(o, offset);\n }\n /**\n * Retrieve the relative offset stored at \"offset\"\n */\n __indirect(offset) {\n return offset + this.readInt32(offset);\n }\n /**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector(offset) {\n return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\n }\n /**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector_len(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n }\n __has_identifier(ident) {\n if (ident.length != FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' + FILE_IDENTIFIER_LENGTH);\n }\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * A helper function for generating list for obj api\n */\n createScalarList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val);\n }\n }\n return ret;\n }\n /**\n * A helper function for generating list for obj api\n * @param listAccessor function that accepts an index and return data at that index\n * @param listLength listLength\n * @param res result list\n */\n createObjList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val.unpack());\n }\n }\n return ret;\n }\n}\n", "import { ByteBuffer } from './byte-buffer.js';\nimport { FILE_IDENTIFIER_LENGTH, SIZE_PREFIX_LENGTH, SIZEOF_INT, SIZEOF_SHORT, } from './constants.js';\nexport class Builder {\n /**\n * Create a FlatBufferBuilder.\n */\n constructor(opt_initial_size) {\n /** Minimum alignment encountered so far. */\n this.minalign = 1;\n /** The vtable for the current table. */\n this.vtable = null;\n /** The amount of fields we're actually using. */\n this.vtable_in_use = 0;\n /** Whether we are currently serializing a table. */\n this.isNested = false;\n /** Starting offset of the current struct/table. */\n this.object_start = 0;\n /** List of offsets of all vtables. */\n this.vtables = [];\n /** For the current vector being built. */\n this.vector_num_elems = 0;\n /** False omits default values from the serialized data */\n this.force_defaults = false;\n this.string_maps = null;\n this.text_encoder = new TextEncoder();\n let initial_size;\n if (!opt_initial_size) {\n initial_size = 1024;\n }\n else {\n initial_size = opt_initial_size;\n }\n /**\n * @type {ByteBuffer}\n * @private\n */\n this.bb = ByteBuffer.allocate(initial_size);\n this.space = initial_size;\n }\n clear() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n this.string_maps = null;\n }\n /**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param forceDefaults true always serializes default values\n */\n forceDefaults(forceDefaults) {\n this.force_defaults = forceDefaults;\n }\n /**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n */\n dataBuffer() {\n return this.bb;\n }\n /**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n */\n asUint8Array() {\n return this.bb\n .bytes()\n .subarray(this.bb.position(), this.bb.position() + this.offset());\n }\n /**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param size This is the of the new element to write\n * @param additional_bytes The padding size\n */\n prep(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n const align_size = (~(this.bb.capacity() - this.space + additional_bytes) + 1) & (size - 1);\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n const old_buf_size = this.bb.capacity();\n this.bb = Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n this.pad(align_size);\n }\n pad(byte_size) {\n for (let i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n }\n writeInt8(value) {\n this.bb.writeInt8((this.space -= 1), value);\n }\n writeInt16(value) {\n this.bb.writeInt16((this.space -= 2), value);\n }\n writeInt32(value) {\n this.bb.writeInt32((this.space -= 4), value);\n }\n writeInt64(value) {\n this.bb.writeInt64((this.space -= 8), value);\n }\n writeFloat32(value) {\n this.bb.writeFloat32((this.space -= 4), value);\n }\n writeFloat64(value) {\n this.bb.writeFloat64((this.space -= 8), value);\n }\n /**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int8` to add the buffer.\n */\n addInt8(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n }\n /**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int16` to add the buffer.\n */\n addInt16(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n }\n /**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int32` to add the buffer.\n */\n addInt32(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n }\n /**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int64` to add the buffer.\n */\n addInt64(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n }\n /**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float32` to add the buffer.\n */\n addFloat32(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n }\n /**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float64` to add the buffer.\n */\n addFloat64(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n }\n addFieldInt8(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n }\n addFieldInt16(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n }\n addFieldInt32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n }\n addFieldInt64(voffset, value, defaultValue) {\n if (this.force_defaults || value !== defaultValue) {\n this.addInt64(value);\n this.slot(voffset);\n }\n }\n addFieldFloat32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n }\n addFieldFloat64(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n }\n addFieldOffset(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n }\n /**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n */\n addFieldStruct(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n }\n /**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n */\n nested(obj) {\n if (obj != this.offset()) {\n throw new TypeError('FlatBuffers: struct must be serialized inline.');\n }\n }\n /**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\n notNested() {\n if (this.isNested) {\n throw new TypeError('FlatBuffers: object serialization must not be nested.');\n }\n }\n /**\n * Set the current vtable at `voffset` to the current location in the buffer.\n */\n slot(voffset) {\n if (this.vtable !== null)\n this.vtable[voffset] = this.offset();\n }\n /**\n * @returns Offset relative to the end of the buffer.\n */\n offset() {\n return this.bb.capacity() - this.space;\n }\n /**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param bb The current buffer with the existing data\n * @returns A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\n static growByteBuffer(bb) {\n const old_buf_size = bb.capacity();\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xc0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n const new_buf_size = old_buf_size << 1;\n const nbb = ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n }\n /**\n * Adds on offset, relative to where it will be written.\n *\n * @param offset The offset to add.\n */\n addOffset(offset) {\n this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + SIZEOF_INT);\n }\n /**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n */\n startObject(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (let i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n }\n /**\n * Finish off writing the object that is under construction.\n *\n * @returns The offset to the object inside `dataBuffer`\n */\n endObject() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n this.addInt32(0);\n const vtableloc = this.offset();\n // Trim trailing zeroes.\n let i = this.vtable_in_use - 1;\n // eslint-disable-next-line no-empty\n for (; i >= 0 && this.vtable[i] == 0; i--) { }\n const trimmed_size = i + 1;\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n const standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\n this.addInt16(len);\n // Search for an existing vtable that matches the current one.\n let existing_vtable = 0;\n const vt1 = this.space;\n outer_loop: for (i = 0; i < this.vtables.length; i++) {\n const vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n }\n else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n this.isNested = false;\n return vtableloc;\n }\n /**\n * Finalize a buffer, poiting to the given `root_table`.\n */\n finish(root_table, opt_file_identifier, opt_size_prefix) {\n const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\n if (opt_file_identifier) {\n const file_identifier = opt_file_identifier;\n this.prep(this.minalign, SIZEOF_INT + FILE_IDENTIFIER_LENGTH + size_prefix);\n if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\n throw new TypeError('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, SIZEOF_INT + size_prefix);\n this.addOffset(root_table);\n if (size_prefix) {\n this.addInt32(this.bb.capacity() - this.space);\n }\n this.bb.setPosition(this.space);\n }\n /**\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\n */\n finishSizePrefixed(root_table, opt_file_identifier) {\n this.finish(root_table, opt_file_identifier, true);\n }\n /**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n */\n requiredField(table, field) {\n const table_start = this.bb.capacity() - table;\n const vtable_start = table_start - this.bb.readInt32(table_start);\n const ok = field < this.bb.readInt16(vtable_start) &&\n this.bb.readInt16(vtable_start + field) != 0;\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new TypeError('FlatBuffers: field ' + field + ' must be set');\n }\n }\n /**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param elem_size The size of each element in the array\n * @param num_elems The number of elements in the array\n * @param alignment The alignment of the array\n */\n startVector(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n }\n /**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns The offset at which the newly created array\n * starts.\n */\n endVector() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If the string passed has\n * already been seen, we return the offset of the already written string\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createSharedString(s) {\n if (!s) {\n return 0;\n }\n if (!this.string_maps) {\n this.string_maps = new Map();\n }\n if (this.string_maps.has(s)) {\n return this.string_maps.get(s);\n }\n const offset = this.createString(s);\n this.string_maps.set(s, offset);\n return offset;\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createString(s) {\n if (s === null || s === undefined) {\n return 0;\n }\n let utf8;\n if (s instanceof Uint8Array) {\n utf8 = s;\n }\n else {\n utf8 = this.text_encoder.encode(s);\n }\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition((this.space -= utf8.length));\n this.bb.bytes().set(utf8, this.space);\n return this.endVector();\n }\n /**\n * Create a byte vector.\n *\n * @param v The bytes to add\n * @returns The offset in the buffer where the byte vector starts\n */\n createByteVector(v) {\n if (v === null || v === undefined) {\n return 0;\n }\n this.startVector(1, v.length, 1);\n this.bb.setPosition((this.space -= v.length));\n this.bb.bytes().set(v, this.space);\n return this.endVector();\n }\n /**\n * A helper function to pack an object\n *\n * @returns offset of obj\n */\n createObjectOffset(obj) {\n if (obj === null) {\n return 0;\n }\n if (typeof obj === 'string') {\n return this.createString(obj);\n }\n else {\n return obj.pack(this);\n }\n }\n /**\n * A helper function to pack a list of object\n *\n * @returns list of offsets of each non null object\n */\n createObjectOffsetList(list) {\n const ret = [];\n for (let i = 0; i < list.length; ++i) {\n const val = list[i];\n if (val !== null) {\n ret.push(this.createObjectOffset(val));\n }\n else {\n throw new TypeError('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\n }\n }\n return ret;\n }\n createStructOffsetList(list, startFunc) {\n startFunc(this, list.length);\n this.createObjectOffsetList(list.slice().reverse());\n return this.endVector();\n }\n}\n", "export { FILE_IDENTIFIER_LENGTH, SIZEOF_INT, SIZEOF_SHORT, SIZE_PREFIX_LENGTH, } from './constants.js';\nexport { float32, float64, int32, isLittleEndian } from './utils.js';\nexport { Builder } from './builder.js';\nexport { ByteBuffer } from './byte-buffer.js';\nexport { Encoding } from './encoding.js';\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { MetadataVersion } from './fb/metadata-version.js';\nexport { UnionMode } from './fb/union-mode.js';\nexport { Precision } from './fb/precision.js';\nexport { DateUnit } from './fb/date-unit.js';\nexport { TimeUnit } from './fb/time-unit.js';\nexport { IntervalUnit } from './fb/interval-unit.js';\nexport { MessageHeader } from './fb/message-header.js';\n\n/**\n * Main data type enumeration.\n *\n * Data types in this library are all *logical*. They can be expressed as\n * either a primitive physical type (bytes or bits of some fixed size), a\n * nested type consisting of other data types, or another data type (e.g. a\n * timestamp encoded as an int64).\n *\n * **Note**: Only non-negative enum values are written to an Arrow IPC payload.\n *\n * The rest of the values are specified here so TypeScript can narrow the type\n * signatures further beyond the base Arrow Types. The Arrow DataTypes include\n * metadata like `bitWidth` that impact the type signatures of the values we\n * accept and return.\n *\n * For example, the `Int8Vector` reads 1-byte numbers from an `Int8Array`, an\n * `Int32Vector` reads a 4-byte number from an `Int32Array`, and an `Int64Vector`\n * reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the\n * underlying `Int32Array`.\n *\n * Library consumers benefit by knowing the narrowest type, since we can ensure\n * the types across all public methods are propagated, and never bail to `any`.\n * These values are _never_ used at runtime, and they will _never_ be written\n * to the flatbuffers metadata of serialized Arrow IPC payloads.\n */\nexport enum Type {\n NONE = 0, /** The default placeholder type */\n Null = 1, /** A NULL type having no physical storage */\n Int = 2, /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n Float = 3, /** 2, 4, or 8-byte floating point value */\n Binary = 4, /** Variable-length bytes (no guarantee of UTF8-ness) */\n Utf8 = 5, /** UTF8 variable-length string as List<Char> */\n Bool = 6, /** Boolean as 1 bit, LSB bit-packed ordering */\n Decimal = 7, /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n Date = 8, /** int32_t days or int64_t milliseconds since the UNIX epoch */\n Time = 9, /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n Timestamp = 10, /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n Interval = 11, /** YEAR_MONTH or DAY_TIME or MONTH_DAY_NANO interval */\n List = 12, /** A list of some logical data type */\n Struct = 13, /** Struct of logical types */\n Union = 14, /** Union of logical types */\n FixedSizeBinary = 15, /** Fixed-size binary. Each value occupies the same number of bytes */\n FixedSizeList = 16, /** Fixed-size list. Each value occupies the same number of bytes */\n Map = 17, /** Map of named logical types */\n Duration = 18, /** Measure of elapsed time in either seconds, milliseconds, microseconds or nanoseconds */\n LargeBinary = 19, /** Large variable-length bytes (no guarantee of UTF8-ness) */\n LargeUtf8 = 20, /** Large variable-length string as List<Char> */\n LargeList = 21, /** A list of some logical data type with 64-bit offsets */\n BinaryView = 23, /** Variable-length binary values backed by inline-or-referenced views */\n Utf8View = 24, /** Variable-length UTF8 string values backed by inline-or-referenced views */\n\n Dictionary = -1, /** Dictionary aka Category type */\n Int8 = -2,\n Int16 = -3,\n Int32 = -4,\n Int64 = -5,\n Uint8 = -6,\n Uint16 = -7,\n Uint32 = -8,\n Uint64 = -9,\n Float16 = -10,\n Float32 = -11,\n Float64 = -12,\n DateDay = -13,\n DateMillisecond = -14,\n TimestampSecond = -15,\n TimestampMillisecond = -16,\n TimestampMicrosecond = -17,\n TimestampNanosecond = -18,\n TimeSecond = -19,\n TimeMillisecond = -20,\n TimeMicrosecond = -21,\n TimeNanosecond = -22,\n DenseUnion = -23,\n SparseUnion = -24,\n IntervalDayTime = -25,\n IntervalYearMonth = -26,\n DurationSecond = -27,\n DurationMillisecond = -28,\n DurationMicrosecond = -29,\n DurationNanosecond = -30,\n IntervalMonthDayNano = -31,\n}\n\nexport enum BufferType {\n /**\n * used in List type, Dense Union and variable length primitive types (String, Binary)\n */\n OFFSET = 0,\n\n /**\n * actual data, either fixed width primitive types in slots or variable width delimited by an OFFSET vector\n */\n DATA = 1,\n\n /**\n * Bit vector indicating if each value is null\n */\n VALIDITY = 2,\n\n /**\n * Type vector used in Union type\n */\n TYPE = 3\n}\n", null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field } from './schema.js';\nimport { Vector } from './vector.js';\nimport { MapRow } from './row/map.js';\nimport { StructRow, StructRowProxy } from './row/struct.js';\nimport { ArrayCtor, BigIntArrayConstructor, TypedArrayConstructor } from './interfaces.js';\nimport { bigIntToNumber } from './util/bigint.js';\n\nimport {\n Type,\n Precision, UnionMode,\n DateUnit, TimeUnit, IntervalUnit\n} from './enum.js';\n\n/** @ignore */\nexport type TimeBitWidth = 32 | 64;\n/** @ignore */\nexport type IntBitWidth = 8 | 16 | 32 | 64;\n/** @ignore */\nexport type IsSigned = { 'true': true; 'false': false };\n\n/** @ignore */\nconst kDataTypeSymbol = Symbol.for('apache-arrow/DataType');\n\nexport interface DataType<TType extends Type = Type, TChildren extends TypeMap = any> {\n readonly TType: TType;\n readonly TArray: any;\n readonly TOffsetArray: any;\n readonly TValue: any;\n readonly TChildren: TChildren;\n readonly ArrayType: any;\n readonly OffsetArrayType: ArrayCtor<Int32Array | BigInt64Array>;\n readonly children: Field<TChildren[keyof TChildren]>[];\n}\n\n/**\n * An abstract base class for classes that encapsulate metadata about each of\n * the logical types that Arrow can represent.\n */\nexport abstract class DataType<TType extends Type = Type, TChildren extends TypeMap = any> {\n\n /**\n * Check if an object is an instance of DataType.\n * This works across different instances of the Arrow library.\n * \n * Note: We intentionally do NOT implement Symbol.hasInstance here because\n * it would break instanceof checks for subclasses like Struct, Dictionary, etc.\n * Use DataType.isDataType() for cross-library type checking instead.\n * @nocollapse\n */\n static isDataType(x: any): x is DataType {\n return x?.[kDataTypeSymbol] === true;\n }\n\n /** @internal */\n declare public readonly [kDataTypeSymbol]: true;\n\n declare public [Symbol.toStringTag]: string;\n\n /** @nocollapse */ static isNull(x: any): x is Null { return x?.typeId === Type.Null; }\n /** @nocollapse */ static isInt(x: any): x is Int_ { return x?.typeId === Type.Int; }\n /** @nocollapse */ static isFloat(x: any): x is Float { return x?.typeId === Type.Float; }\n /** @nocollapse */ static isBinary(x: any): x is Binary { return x?.typeId === Type.Binary; }\n /** @nocollapse */ static isBinaryView(x: any): x is BinaryView { return x?.typeId === Type.BinaryView; }\n /** @nocollapse */ static isLargeBinary(x: any): x is LargeBinary { return x?.typeId === Type.LargeBinary; }\n /** @nocollapse */ static isUtf8(x: any): x is Utf8 { return x?.typeId === Type.Utf8; }\n /** @nocollapse */ static isUtf8View(x: any): x is Utf8View { return x?.typeId === Type.Utf8View; }\n /** @nocollapse */ static isLargeUtf8(x: any): x is LargeUtf8 { return x?.typeId === Type.LargeUtf8; }\n /** @nocollapse */ static isBool(x: any): x is Bool { return x?.typeId === Type.Bool; }\n /** @nocollapse */ static isDecimal(x: any): x is Decimal { return x?.typeId === Type.Decimal; }\n /** @nocollapse */ static isDate(x: any): x is Date_ { return x?.typeId === Type.Date; }\n /** @nocollapse */ static isTime(x: any): x is Time_ { return x?.typeId === Type.Time; }\n /** @nocollapse */ static isTimestamp(x: any): x is Timestamp_ { return x?.typeId === Type.Timestamp; }\n /** @nocollapse */ static isInterval(x: any): x is Interval_ { return x?.typeId === Type.Interval; }\n /** @nocollapse */ static isDuration(x: any): x is Duration { return x?.typeId === Type.Duration; }\n /** @nocollapse */ static isList(x: any): x is List { return x?.typeId === Type.List; }\n /** @nocollapse */ static isLargeList(x: any): x is LargeList { return x?.typeId === Type.LargeList; }\n // TODO: Implement ListView type\n // /** @nocollapse */ static isListView(x: any): x is ListView { return x?.typeId === Type.ListView; }\n /** @nocollapse */ static isStruct(x: any): x is Struct { return x?.typeId === Type.Struct; }\n /** @nocollapse */ static isUnion(x: any): x is Union_ { return x?.typeId === Type.Union; }\n /** @nocollapse */ static isFixedSizeBinary(x: any): x is FixedSizeBinary { return x?.typeId === Type.FixedSizeBinary; }\n /** @nocollapse */ static isFixedSizeList(x: any): x is FixedSizeList { return x?.typeId === Type.FixedSizeList; }\n /** @nocollapse */ static isMap(x: any): x is Map_ { return x?.typeId === Type.Map; }\n /** @nocollapse */ static isDictionary(x: any): x is Dictionary { return x?.typeId === Type.Dictionary; }\n\n /** @nocollapse */ static isDenseUnion(x: any): x is DenseUnion { return DataType.isUnion(x) && x.mode === UnionMode.Dense; }\n /** @nocollapse */ static isSparseUnion(x: any): x is SparseUnion { return DataType.isUnion(x) && x.mode === UnionMode.Sparse; }\n\n declare public readonly typeId: TType;\n\n constructor(typeId: TType) {\n this.typeId = typeId;\n }\n\n protected static [Symbol.toStringTag] = ((proto: DataType) => {\n (<any>proto).children = null;\n (<any>proto).ArrayType = Array;\n (<any>proto).OffsetArrayType = Int32Array;\n (<any>proto)[kDataTypeSymbol] = true;\n return proto[Symbol.toStringTag] = 'DataType';\n })(DataType.prototype);\n}\n\n/** @ignore */\nexport interface Null extends DataType<Type.Null> { TArray: void; TValue: null }\n/** @ignore */\nexport class Null extends DataType<Type.Null> {\n constructor() {\n super(Type.Null);\n }\n public toString() { return `Null`; }\n protected static [Symbol.toStringTag] = ((proto: Null) => proto[Symbol.toStringTag] = 'Null')(Null.prototype);\n}\n\n/** @ignore */\ntype Ints = Type.Int | Type.Int8 | Type.Int16 | Type.Int32 | Type.Int64 | Type.Uint8 | Type.Uint16 | Type.Uint32 | Type.Uint64;\n/** @ignore */\ntype IType = {\n [Type.Int]: { bitWidth: IntBitWidth; isSigned: true | false; TArray: IntArray; TValue: number | bigint };\n [Type.Int8]: { bitWidth: 8; isSigned: true; TArray: Int8Array; TValue: number };\n [Type.Int16]: { bitWidth: 16; isSigned: true; TArray: Int16Array; TValue: number };\n [Type.Int32]: { bitWidth: 32; isSigned: true; TArray: Int32Array; TValue: number };\n [Type.Int64]: { bitWidth: 64; isSigned: true; TArray: BigInt64Array; TValue: bigint };\n [Type.Uint8]: { bitWidth: 8; isSigned: false; TArray: Uint8Array; TValue: number };\n [Type.Uint16]: { bitWidth: 16; isSigned: false; TArray: Uint16Array; TValue: number };\n [Type.Uint32]: { bitWidth: 32; isSigned: false; TArray: Uint32Array; TValue: number };\n [Type.Uint64]: { bitWidth: 64; isSigned: false; TArray: BigUint64Array; TValue: bigint };\n};\n\n/** @ignore */\ninterface Int_<T extends Ints = Ints> extends DataType<T> { TArray: IType[T]['TArray']; TValue: IType[T]['TValue'] }\n/** @ignore */\nclass Int_<T extends Ints = Ints> extends DataType<T> {\n constructor(public readonly isSigned: IType[T]['isSigned'],\n public readonly bitWidth: IType[T]['bitWidth']) {\n super(Type.Int as T);\n }\n public get ArrayType() {\n switch (this.bitWidth) {\n case 8: return this.isSigned ? Int8Array : Uint8Array;\n case 16: return this.isSigned ? Int16Array : Uint16Array;\n case 32: return this.isSigned ? Int32Array : Uint32Array;\n case 64: return this.isSigned ? BigInt64Array : BigUint64Array;\n }\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `${this.isSigned ? `I` : `Ui`}nt${this.bitWidth}`; }\n protected static [Symbol.toStringTag] = ((proto: Int_) => {\n (<any>proto).isSigned = null;\n (<any>proto).bitWidth = null;\n return proto[Symbol.toStringTag] = 'Int';\n })(Int_.prototype);\n}\n\nexport { Int_ as Int };\n\n/** @ignore */\nexport class Int8 extends Int_<Type.Int8> {\n constructor() { super(true, 8); }\n public get ArrayType() { return Int8Array; }\n}\n/** @ignore */\nexport class Int16 extends Int_<Type.Int16> {\n constructor() { super(true, 16); }\n public get ArrayType() { return Int16Array; }\n}\n/** @ignore */\nexport class Int32 extends Int_<Type.Int32> {\n constructor() { super(true, 32); }\n public get ArrayType() { return Int32Array; }\n}\n/** @ignore */\nexport class Int64 extends Int_<Type.Int64> {\n constructor() { super(true, 64); }\n public get ArrayType() { return BigInt64Array; }\n}\n/** @ignore */\nexport class Uint8 extends Int_<Type.Uint8> {\n constructor() { super(false, 8); }\n public get ArrayType() { return Uint8Array; }\n}\n/** @ignore */\nexport class Uint16 extends Int_<Type.Uint16> {\n constructor() { super(false, 16); }\n public get ArrayType() { return Uint16Array; }\n}\n/** @ignore */\nexport class Uint32 extends Int_<Type.Uint32> {\n constructor() { super(false, 32); }\n public get ArrayType() { return Uint32Array; }\n}\n/** @ignore */\nexport class Uint64 extends Int_<Type.Uint64> {\n constructor() { super(false, 64); }\n public get ArrayType() { return BigUint64Array; }\n}\n\nObject.defineProperty(Int8.prototype, 'ArrayType', { value: Int8Array });\nObject.defineProperty(Int16.prototype, 'ArrayType', { value: Int16Array });\nObject.defineProperty(Int32.prototype, 'ArrayType', { value: Int32Array });\nObject.defineProperty(Int64.prototype, 'ArrayType', { value: BigInt64Array });\nObject.defineProperty(Uint8.prototype, 'ArrayType', { value: Uint8Array });\nObject.defineProperty(Uint16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Uint32.prototype, 'ArrayType', { value: Uint32Array });\nObject.defineProperty(Uint64.prototype, 'ArrayType', { value: BigUint64Array });\n\n/** @ignore */\ntype Floats = Type.Float | Type.Float16 | Type.Float32 | Type.Float64;\n/** @ignore */\ntype FType = {\n [Type.Float]: { precision: Precision; TArray: FloatArray; TValue: number };\n [Type.Float16]: { precision: Precision.HALF; TArray: Uint16Array; TValue: number };\n [Type.Float32]: { precision: Precision.SINGLE; TArray: Float32Array; TValue: number };\n [Type.Float64]: { precision: Precision.DOUBLE; TArray: Float64Array; TValue: number };\n};\n\n/** @ignore */\nexport interface Float<T extends Floats = Floats> extends DataType<T> { TArray: FType[T]['TArray']; TValue: number }\n/** @ignore */\nexport class Float<T extends Floats = Floats> extends DataType<T> {\n constructor(public readonly precision: Precision) {\n super(Type.Float as T);\n }\n public get ArrayType(): TypedArrayConstructor<FType[T]['TArray']> {\n switch (this.precision) {\n case Precision.HALF: return Uint16Array;\n case Precision.SINGLE: return Float32Array;\n case Precision.DOUBLE: return Float64Array;\n }\n // @ts-ignore\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n public toString() { return `Float${(this.precision << 5) || 16}`; }\n protected static [Symbol.toStringTag] = ((proto: Float) => {\n (<any>proto).precision = null;\n return proto[Symbol.toStringTag] = 'Float';\n })(Float.prototype);\n}\n\n/** @ignore */\nexport class Float16 extends Float<Type.Float16> { constructor() { super(Precision.HALF); } }\n/** @ignore */\nexport class Float32 extends Float<Type.Float32> { constructor() { super(Precision.SINGLE); } }\n/** @ignore */\nexport class Float64 extends Float<Type.Float64> { constructor() { super(Precision.DOUBLE); } }\n\nObject.defineProperty(Float16.prototype, 'ArrayType', { value: Uint16Array });\nObject.defineProperty(Float32.prototype, 'ArrayType', { value: Float32Array });\nObject.defineProperty(Float64.prototype, 'ArrayType', { value: Float64Array });\n\n/** @ignore */\nexport interface Binary extends DataType<Type.Binary> { TArray: Uint8Array; TOffsetArray: Int32Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: TypedArrayConstructor<Int32Array> }\n/** @ignore */\nexport class Binary extends DataType<Type.Binary> {\n constructor() {\n super(Type.Binary);\n }\n public toString() { return `Binary`; }\n protected static [Symbol.toStringTag] = ((proto: Binary) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Binary';\n })(Binary.prototype);\n}\n\n/** @ignore */\nexport interface BinaryView extends DataType<Type.BinaryView> {\n TArray: Uint8Array;\n TValue: Uint8Array;\n ArrayType: TypedArrayConstructor<Uint8Array>;\n}\n/** @ignore */\nexport class BinaryView extends DataType<Type.BinaryView> {\n public static readonly ELEMENT_WIDTH = 16;\n public static readonly INLINE_CAPACITY = 12;\n public static readonly LENGTH_OFFSET = 0;\n public static readonly INLINE_OFFSET = 4;\n public static readonly BUFFER_INDEX_OFFSET = 8;\n public static readonly BUFFER_OFFSET_OFFSET = 12;\n constructor() {\n super(Type.BinaryView);\n }\n public toString() { return `BinaryView`; }\n protected static [Symbol.toStringTag] = ((proto: BinaryView) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'BinaryView';\n })(BinaryView.prototype);\n}\n\n/** @ignore */\nexport interface LargeBinary extends DataType<Type.LargeBinary> { TArray: Uint8Array; TOffsetArray: BigInt64Array; TValue: Uint8Array; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: BigIntArrayConstructor<BigInt64Array> }\n/** @ignore */\nexport class LargeBinary extends DataType<Type.LargeBinary> {\n constructor() {\n super(Type.LargeBinary);\n }\n public toString() { return `LargeBinary`; }\n protected static [Symbol.toStringTag] = ((proto: LargeBinary) => {\n (<any>proto).ArrayType = Uint8Array;\n (<any>proto).OffsetArrayType = BigInt64Array;\n return proto[Symbol.toStringTag] = 'LargeBinary';\n })(LargeBinary.prototype);\n}\n\n/** @ignore */\n/** @ignore */\nexport interface Utf8 extends DataType<Type.Utf8> { TArray: Uint8Array; TOffsetArray: Int32Array; TValue: string; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: TypedArrayConstructor<Int32Array> }\n/** @ignore */\nexport class Utf8 extends DataType<Type.Utf8> {\n constructor() {\n super(Type.Utf8);\n }\n public toString() { return `Utf8`; }\n protected static [Symbol.toStringTag] = ((proto: Utf8) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Utf8';\n })(Utf8.prototype);\n}\n\n/** @ignore */\nexport interface Utf8View extends DataType<Type.Utf8View> {\n TArray: Uint8Array;\n TValue: string;\n ArrayType: TypedArrayConstructor<Uint8Array>;\n}\n/** @ignore */\nexport class Utf8View extends DataType<Type.Utf8View> {\n public static readonly ELEMENT_WIDTH = BinaryView.ELEMENT_WIDTH;\n public static readonly INLINE_CAPACITY = BinaryView.INLINE_CAPACITY;\n constructor() {\n super(Type.Utf8View);\n }\n public toString() { return `Utf8View`; }\n protected static [Symbol.toStringTag] = ((proto: Utf8View) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Utf8View';\n })(Utf8View.prototype);\n}\n\n/** @ignore */\nexport interface LargeUtf8 extends DataType<Type.LargeUtf8> { TArray: Uint8Array; TOffsetArray: BigInt64Array; TValue: string; ArrayType: TypedArrayConstructor<Uint8Array>; OffsetArrayType: BigIntArrayConstructor<BigInt64Array> }\n/** @ignore */\nexport class LargeUtf8 extends DataType<Type.LargeUtf8> {\n constructor() {\n super(Type.LargeUtf8);\n }\n public toString() { return `LargeUtf8`; }\n protected static [Symbol.toStringTag] = ((proto: LargeUtf8) => {\n (<any>proto).ArrayType = Uint8Array;\n (<any>proto).OffsetArrayType = BigInt64Array;\n return proto[Symbol.toStringTag] = 'LargeUtf8';\n })(LargeUtf8.prototype);\n}\n\n/** @ignore */\n/** @ignore */\nexport interface Bool extends DataType<Type.Bool> { TArray: Uint8Array; TValue: boolean; ArrayType: TypedArrayConstructor<Uint8Array> }\n/** @ignore */\nexport class Bool extends DataType<Type.Bool> {\n constructor() {\n super(Type.Bool);\n }\n public toString() { return `Bool`; }\n protected static [Symbol.toStringTag] = ((proto: Bool) => {\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'Bool';\n })(Bool.prototype);\n}\n\n/** @ignore */\nexport interface Decimal extends DataType<Type.Decimal> { TArray: Uint32Array; TValue: Uint32Array; ArrayType: TypedArrayConstructor<Uint32Array> }\n/** @ignore */\nexport class Decimal extends DataType<Type.Decimal> {\n constructor(public readonly scale: number,\n public readonly precision: number,\n public readonly bitWidth: number = 128) {\n super(Type.Decimal);\n }\n public toString() { return `Decimal[${this.precision}e${this.scale > 0 ? `+` : ``}${this.scale}]`; }\n protected static [Symbol.toStringTag] = ((proto: Decimal) => {\n (<any>proto).scale = null;\n (<any>proto).precision = null;\n (<any>proto).ArrayType = Uint32Array;\n return proto[Symbol.toStringTag] = 'Decimal';\n })(Decimal.prototype);\n}\n\n/** @ignore */\nexport type Dates = Type.Date | Type.DateDay | Type.DateMillisecond;\n/** @ignore */\ntype DateType = {\n [Type.Date]: { TArray: Int32Array | BigInt64Array };\n [Type.DateDay]: { TArray: Int32Array };\n [Type.DateMillisecond]: { TArray: BigInt64Array };\n};\n/** @ignore */\nexport interface Date_<T extends Dates = Dates> extends DataType<T> {\n TArray: DateType[T]['TArray'];\n TValue: number;\n}\n/** @ignore */\nexport class Date_<T extends Dates = Dates> extends DataType<T> {\n constructor(public readonly unit: DateUnit) {\n super(Type.Date as T);\n }\n public toString() { return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`; }\n\n public get ArrayType() {\n return this.unit === DateUnit.DAY ? Int32Array : BigInt64Array;\n }\n protected static [Symbol.toStringTag] = ((proto: Date_) => {\n (<any>proto).unit = null;\n return proto[Symbol.toStringTag] = 'Date';\n })(Date_.prototype);\n}\n\n/** @ignore */\nexport class DateDay extends Date_<Type.DateDay> { constructor() { super(DateUnit.DAY); } }\n/**\n * A signed 64-bit date representing the elapsed time since UNIX epoch (1970-01-01) in milliseconds.\n * According to the specification, this should be treated as the number of days, in milliseconds, since the UNIX epoch.\n * Therefore, values must be evenly divisible by `86_400_000` (the number of milliseconds in a standard day).\n *\n * Practically, validation that values of this type are evenly divisible by `86_400_000` is not enforced by this library\n * for performance and usability reasons.\n *\n * Users should prefer to use {@link DateDay} to cleanly represent the number of days. For JS dates,\n * {@link TimestampMillisecond} is the preferred type.\n *\n * @ignore\n */\nexport class DateMillisecond extends Date_<Type.DateMillisecond> { constructor() { super(DateUnit.MILLISECOND); } }\n\n/** @ignore */\ntype Times = Type.Time | Type.TimeSecond | Type.TimeMillisecond | Type.TimeMicrosecond | Type.TimeNanosecond;\n/** @ignore */\ntype TimesType = {\n [Type.Time]: { unit: TimeUnit; TValue: number | bigint; TArray: Int32Array | BigInt64Array };\n [Type.TimeSecond]: { unit: TimeUnit.SECOND; TValue: number; TArray: Int32Array };\n [Type.TimeMillisecond]: { unit: TimeUnit.MILLISECOND; TValue: number; TArray: Int32Array };\n [Type.TimeMicrosecond]: { unit: TimeUnit.MICROSECOND; TValue: bigint; TArray: BigInt64Array };\n [Type.TimeNanosecond]: { unit: TimeUnit.NANOSECOND; TValue: bigint; TArray: BigInt64Array };\n};\n\n/** @ignore */\ninterface Time_<T extends Times = Times> extends DataType<T> {\n TArray: TimesType[T]['TArray'];\n TValue: TimesType[T]['TValue'];\n}\n/** @ignore */\nclass Time_<T extends Times = Times> extends DataType<T> {\n constructor(public readonly unit: TimesType[T]['unit'],\n public readonly bitWidth: TimeBitWidth) {\n super(Type.Time as T);\n }\n public toString() { return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`; }\n public get ArrayType() {\n switch (this.bitWidth) {\n case 32: return Int32Array;\n case 64: return BigInt64Array;\n }\n // @ts-ignore\n throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n }\n protected static [Symbol.toStringTag] = ((proto: Time_) => {\n (<any>proto).unit = null;\n (<any>proto).bitWidth = null;\n return proto[Symbol.toStringTag] = 'Time';\n })(Time_.prototype);\n}\n\nexport { Time_ as Time };\n\n/** @ignore */\nexport class TimeSecond extends Time_<Type.TimeSecond> { constructor() { super(TimeUnit.SECOND, 32); } }\n/** @ignore */\nexport class TimeMillisecond extends Time_<Type.TimeMillisecond> { constructor() { super(TimeUnit.MILLISECOND, 32); } }\n/** @ignore */\nexport class TimeMicrosecond extends Time_<Type.TimeMicrosecond> { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n/** @ignore */\nexport class TimeNanosecond extends Time_<Type.TimeNanosecond> { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\n/** @ignore */\ntype Timestamps = Type.Timestamp | Type.TimestampSecond | Type.TimestampMillisecond | Type.TimestampMicrosecond | Type.TimestampNanosecond;\n/** @ignore */\ninterface Timestamp_<T extends Timestamps = Timestamps> extends DataType<T> {\n TArray: BigInt64Array;\n TValue: number;\n ArrayType: BigIntArrayConstructor<BigInt64Array>;\n}\n\n/** @ignore */\nclass Timestamp_<T extends Timestamps = Timestamps> extends DataType<T> {\n constructor(public readonly unit: TimeUnit,\n public readonly timezone?: string | null) {\n super(Type.Timestamp as T);\n }\n public toString() { return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ``}>`; }\n protected static [Symbol.toStringTag] = ((proto: Timestamp_) => {\n (<any>proto).unit = null;\n (<any>proto).timezone = null;\n (<any>proto).ArrayType = BigInt64Array;\n return proto[Symbol.toStringTag] = 'Timestamp';\n })(Timestamp_.prototype);\n}\n\nexport { Timestamp_ as Timestamp };\n\n/** @ignore */\nexport class TimestampSecond extends Timestamp_<Type.TimestampSecond> { constructor(timezone?: string | null) { super(TimeUnit.SECOND, timezone); } }\n/** @ignore */\nexport class TimestampMillisecond extends Timestamp_<Type.TimestampMillisecond> { constructor(timezone?: string | null) { super(TimeUnit.MILLISECOND, timezone); } }\n/** @ignore */\nexport class TimestampMicrosecond extends Timestamp_<Type.TimestampMicrosecond> { constructor(timezone?: string | null) { super(TimeUnit.MICROSECOND, timezone); } }\n/** @ignore */\nexport class TimestampNanosecond extends Timestamp_<Type.TimestampNanosecond> { constructor(timezone?: string | null) { super(TimeUnit.NANOSECOND, timezone); } }\n\n/** @ignore */\ntype Intervals = Type.Interval | Type.IntervalDayTime | Type.IntervalYearMonth | Type.IntervalMonthDayNano;\n/** @ignore */\ninterface Interval_<T extends Intervals = Intervals> extends DataType<T> {\n TArray: Int32Array;\n TValue: Int32Array;\n ArrayType: TypedArrayConstructor<Int32Array>;\n}\n\n/** @ignore */\nclass Interval_<T extends Intervals = Intervals> extends DataType<T> {\n constructor(public readonly unit: IntervalUnit) {\n super(Type.Interval as T);\n }\n public toString() { return `Interval<${IntervalUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Interval_) => {\n (<any>proto).unit = null;\n (<any>proto).ArrayType = Int32Array;\n return proto[Symbol.toStringTag] = 'Interval';\n })(Interval_.prototype);\n}\n\nexport { Interval_ as Interval };\n\n/** @ignore */\nexport class IntervalDayTime extends Interval_<Type.IntervalDayTime> { constructor() { super(IntervalUnit.DAY_TIME); } }\n/** @ignore */\nexport class IntervalYearMonth extends Interval_<Type.IntervalYearMonth> { constructor() { super(IntervalUnit.YEAR_MONTH); } }\n/** @ignore */\nexport class IntervalMonthDayNano extends Interval_<Type.IntervalMonthDayNano> { constructor() { super(IntervalUnit.MONTH_DAY_NANO); } }\n\n/** @ignore */\ntype Durations = Type.Duration | Type.DurationSecond | Type.DurationMillisecond | Type.DurationMicrosecond | Type.DurationNanosecond;\n/** @ignore */\nexport interface Duration<T extends Durations = Durations> extends DataType<T> {\n TArray: BigInt64Array;\n TValue: bigint;\n ArrayType: BigIntArrayConstructor<BigInt64Array>;\n}\n\n/** @ignore */\nexport class Duration<T extends Durations = Durations> extends DataType<T> {\n constructor(public readonly unit: TimeUnit) {\n super(Type.Duration as T);\n }\n public toString() { return `Duration<${TimeUnit[this.unit]}>`; }\n protected static [Symbol.toStringTag] = ((proto: Duration) => {\n (<any>proto).unit = null;\n (<any>proto).ArrayType = BigInt64Array;\n return proto[Symbol.toStringTag] = 'Duration';\n })(Duration.prototype);\n}\n\n/** @ignore */\nexport class DurationSecond extends Duration<Type.DurationSecond> { constructor() { super(TimeUnit.SECOND); } }\n/** @ignore */\nexport class DurationMillisecond extends Duration<Type.DurationMillisecond> { constructor() { super(TimeUnit.MILLISECOND); } }\n/** @ignore */\nexport class DurationMicrosecond extends Duration<Type.DurationMicrosecond> { constructor() { super(TimeUnit.MICROSECOND); } }\n/** @ignore */\nexport class DurationNanosecond extends Duration<Type.DurationNanosecond> { constructor() { super(TimeUnit.NANOSECOND); } }\n\n\n/** @ignore */\nexport interface List<T extends DataType = any> extends DataType<Type.List, { [0]: T }> {\n TArray: Array<T>;\n TValue: Vector<T>;\n}\n\n/** @ignore */\nexport class List<T extends DataType = any> extends DataType<Type.List, { [0]: T }> {\n constructor(child: Field<T>) {\n super(Type.List);\n this.children = [child];\n }\n public declare readonly children: Field<T>[];\n public toString() { return `List<${this.valueType}>`; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field<T> { return this.children[0] as Field<T>; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n protected static [Symbol.toStringTag] = ((proto: List) => {\n (<any>proto).children = null;\n return proto[Symbol.toStringTag] = 'List';\n })(List.prototype);\n}\n\n/** @ignore */\nexport interface LargeList<T extends DataType = any> extends DataType<Type.LargeList, { [0]: T }> {\n TArray: Array<T>;\n TValue: Vector<T>;\n TOffsetArray: BigInt64Array;\n OffsetArrayType: BigIntArrayConstructor<BigInt64Array>;\n}\n\n/**\n * Like `List`, but with 64-bit value offsets \u2014 use this when a list column's\n * cumulative child-element count would exceed `List`'s 32-bit offset ceiling\n * of `2^31 - 1`. Otherwise prefer `List`.\n *\n * Values round-trip losslessly through Arrow IPC at any 64-bit offset magnitude.\n * In-process JavaScript APIs (`.get(i)`, slicing, builders) narrow offsets to a\n * JS `number` and are therefore bounded by `Number.MAX_SAFE_INTEGER`\n * (`2^53 - 1`, about 9\u00D710^15) cumulative child elements per column. If an\n * operation would cross that ceiling, it throws a `TypeError` rather than\n * silently returning data at a truncated index. This matches the behavior of\n * `LargeUtf8` and `LargeBinary`.\n *\n * @ignore\n */\nexport class LargeList<T extends DataType = any> extends DataType<Type.LargeList, { [0]: T }> {\n constructor(child: Field<T>) {\n super(Type.LargeList);\n this.children = [child];\n }\n public declare readonly children: Field<T>[];\n public toString() { return `LargeList<${this.valueType}>`; }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field<T> { return this.children[0] as Field<T>; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n protected static [Symbol.toStringTag] = ((proto: LargeList) => {\n (<any>proto).children = null;\n (<any>proto).OffsetArrayType = BigInt64Array;\n return proto[Symbol.toStringTag] = 'LargeList';\n })(LargeList.prototype);\n}\n\n/** @ignore */\nexport interface Struct<T extends TypeMap = any> extends DataType<Type.Struct, T> {\n TArray: Array<StructRowProxy<T>>;\n TValue: StructRowProxy<T>;\n dataTypes: T;\n}\n\n/** @ignore */\nexport class Struct<T extends TypeMap = any> extends DataType<Type.Struct, T> {\n public declare _row: StructRow<T>;\n public declare readonly children: Field<T[keyof T]>[];\n constructor(children: Field<T[keyof T]>[]) {\n super(Type.Struct);\n this.children = children;\n }\n public toString() { return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Struct) => {\n (<any>proto).children = null;\n return proto[Symbol.toStringTag] = 'Struct';\n })(Struct.prototype);\n}\n\n/** @ignore */\ntype Unions = Type.Union | Type.DenseUnion | Type.SparseUnion;\n/** @ignore */\ninterface Union_<T extends Unions = Unions> extends DataType<T> { TArray: Int8Array; TValue: any; ArrayType: TypedArrayConstructor<Int8Array> }\n/** @ignore */\nclass Union_<T extends Unions = Unions> extends DataType<T> {\n public declare readonly mode: UnionMode;\n public declare readonly typeIds: Int32Array;\n public declare readonly children: Field<any>[];\n public declare readonly typeIdToChildIndex: { [key: number]: number };\n constructor(mode: UnionMode,\n typeIds: number[] | Int32Array,\n children: Field<any>[]) {\n super(Type.Union as T);\n this.mode = mode;\n this.children = children;\n this.typeIds = typeIds = Int32Array.from(typeIds);\n this.typeIdToChildIndex = typeIds.reduce((typeIdToChildIndex, typeId, idx) => (typeIdToChildIndex[typeId] = idx) && typeIdToChildIndex || typeIdToChildIndex, Object.create(null) as { [key: number]: number });\n }\n public toString() {\n return `${this[Symbol.toStringTag]}<${this.children.map((x) => `${x.type}`).join(` | `)\n }>`;\n }\n protected static [Symbol.toStringTag] = ((proto: Union_) => {\n (<any>proto).mode = null;\n (<any>proto).typeIds = null;\n (<any>proto).children = null;\n (<any>proto).typeIdToChildIndex = null;\n (<any>proto).ArrayType = Int8Array;\n return proto[Symbol.toStringTag] = 'Union';\n })(Union_.prototype);\n}\n\nexport { Union_ as Union };\n\n/** @ignore */\nexport class DenseUnion extends Union_<Type.DenseUnion> {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Dense, typeIds, children);\n }\n}\n\n/** @ignore */\nexport class SparseUnion extends Union_<Type.SparseUnion> {\n constructor(typeIds: number[] | Int32Array, children: Field[]) {\n super(UnionMode.Sparse, typeIds, children);\n }\n}\n\n/** @ignore */\nexport interface FixedSizeBinary extends DataType<Type.FixedSizeBinary> {\n TArray: Uint8Array;\n TValue: Uint8Array;\n ArrayType: TypedArrayConstructor<Uint8Array>;\n}\n\n/** @ignore */\nexport class FixedSizeBinary extends DataType<Type.FixedSizeBinary> {\n constructor(public readonly byteWidth: number) {\n super(Type.FixedSizeBinary);\n }\n public toString() { return `FixedSizeBinary[${this.byteWidth}]`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeBinary) => {\n (<any>proto).byteWidth = null;\n (<any>proto).ArrayType = Uint8Array;\n return proto[Symbol.toStringTag] = 'FixedSizeBinary';\n })(FixedSizeBinary.prototype);\n}\n\n/** @ignore */\nexport interface FixedSizeList<T extends DataType = any> extends DataType<Type.FixedSizeList, { [0]: T }> {\n TArray: Array<T['TArray']>;\n TValue: Vector<T>;\n}\n\n/** @ignore */\nexport class FixedSizeList<T extends DataType = any> extends DataType<Type.FixedSizeList, { [0]: T }> {\n public declare readonly children: Field<T>[];\n constructor(public readonly listSize: number, child: Field<T>) {\n super(Type.FixedSizeList);\n this.children = [child];\n }\n public get valueType(): T { return this.children[0].type as T; }\n public get valueField(): Field<T> { return this.children[0] as Field<T>; }\n public get ArrayType(): T['ArrayType'] { return this.valueType.ArrayType; }\n public toString() { return `FixedSizeList[${this.listSize}]<${this.valueType}>`; }\n protected static [Symbol.toStringTag] = ((proto: FixedSizeList) => {\n (<any>proto).children = null;\n (<any>proto).listSize = null;\n return proto[Symbol.toStringTag] = 'FixedSizeList';\n })(FixedSizeList.prototype);\n}\n\n/** @ignore */\nexport interface Map_<TKey extends DataType = any, TValue extends DataType = any> extends DataType<Type.Map, { [0]: Struct<{ key: TKey; value: TValue }> }> {\n TArray: Array<Map<TKey['TValue'], TValue['TValue'] | null>>;\n TChild: Struct<{ key: TKey; value: TValue }>;\n TValue: MapRow<TKey, TValue>;\n}\n\n/** @ignore */\nexport class Map_<TKey extends DataType = any, TValue extends DataType = any> extends DataType<Type.Map, { [0]: Struct<{ key: TKey; value: TValue }> }> {\n constructor(entries: Field<Struct<{ key: TKey; value: TValue }>>, keysSorted = false) {\n super(Type.Map);\n this.children = [entries];\n this.keysSorted = keysSorted;\n // ARROW-8716\n // https://github.com/apache/arrow/issues/17168\n if (entries) {\n (entries as any)['name'] = 'entries';\n if ((entries as any)?.type?.children) {\n const key = (entries as any)?.type?.children[0];\n if (key) {\n key['name'] = 'key';\n }\n const val = (entries as any)?.type?.children[1];\n if (val) {\n val['name'] = 'value';\n }\n }\n }\n }\n public declare readonly keysSorted: boolean;\n public declare readonly children: Field<Struct<{ key: TKey; value: TValue }>>[];\n public get keyType(): TKey { return this.children[0].type.children[0].type as TKey; }\n public get valueType(): TValue { return this.children[0].type.children[1].type as TValue; }\n public get childType() { return this.children[0].type as Struct<{ key: TKey; value: TValue }>; }\n public toString() { return `Map<{${this.children[0].type.children.map((f) => `${f.name}:${f.type}`).join(`, `)}}>`; }\n protected static [Symbol.toStringTag] = ((proto: Map_) => {\n (<any>proto).children = null;\n (<any>proto).keysSorted = null;\n return proto[Symbol.toStringTag] = 'Map_';\n })(Map_.prototype);\n}\n\n/** @ignore */\nconst getId = ((atomicDictionaryId) => () => ++atomicDictionaryId)(-1);\n\n/** @ignore */\nexport type TKeys = Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32;\n\n/** @ignore */\nexport interface Dictionary<T extends DataType = any, TKey extends TKeys = TKeys> extends DataType<Type.Dictionary> {\n TArray: TKey['TArray'];\n TValue: T['TValue'];\n}\n\n/** @ignore */\nexport class Dictionary<T extends DataType = any, TKey extends TKeys = TKeys> extends DataType<Type.Dictionary> {\n public declare readonly id: number;\n public declare readonly indices: TKey;\n public declare readonly dictionary: T;\n public declare readonly isOrdered: boolean;\n constructor(dictionary: T, indices: TKey, id?: bigint | number | null, isOrdered?: boolean | null) {\n super(Type.Dictionary);\n this.indices = indices;\n this.dictionary = dictionary;\n this.isOrdered = isOrdered || false;\n this.id = id == null ? getId() : bigIntToNumber(id);\n }\n public get children() { return this.dictionary.children; }\n public get valueType(): T { return this.dictionary as T; }\n public get ArrayType(): T['ArrayType'] { return this.dictionary.ArrayType; }\n public toString() { return `Dictionary<${this.indices}, ${this.dictionary}>`; }\n protected static [Symbol.toStringTag] = ((proto: Dictionary) => {\n (<any>proto).id = null;\n (<any>proto).indices = null;\n (<any>proto).isOrdered = null;\n (<any>proto).dictionary = null;\n return proto[Symbol.toStringTag] = 'Dictionary';\n })(Dictionary.prototype);\n}\n\n/** @ignore */\nexport type FloatArray = Uint16Array | Float32Array | Float64Array;\n/** @ignore */\nexport type IntArray = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array;\n\n/** @ignore */\nexport function strideForType(type: DataType) {\n const t: any = type;\n switch (type.typeId) {\n case Type.Decimal: return (type as Decimal).bitWidth / 32;\n case Type.Interval: {\n if ((t as Interval_).unit === IntervalUnit.MONTH_DAY_NANO) {\n return 4;\n }\n return 1 + (t as Interval_).unit;\n }\n // case Type.Int: return 1 + +((t as Int_).bitWidth > 32);\n // case Type.Time: return 1 + +((t as Time_).bitWidth > 32);\n case Type.BinaryView:\n case Type.Utf8View: return 16;\n case Type.FixedSizeList: return (t as FixedSizeList).listSize;\n case Type.FixedSizeBinary: return (t as FixedSizeBinary).byteWidth;\n default: return 1;\n }\n}\n\n/** @ignore */\nexport type TypeMap = Record<string | number | symbol, DataType>;\n", "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type, Precision, DateUnit, TimeUnit, IntervalUnit, UnionMode } from './enum.js';\nimport { DataType, Float, Int, Date_, Interval, Time, Timestamp, Union, Duration } from './type.js';\n\nexport abstract class Visitor {\n public visitMany(nodes: any[], ...args: any[][]) {\n return nodes.map((node, i) => this.visit(node, ...args.map((x) => x[i])));\n }\n public visit(...args: any[]) {\n return this.getVisitFn(args[0], false).apply(this, args);\n }\n public getVisitFn(node: any, throwIfNotFound = true) {\n return getVisitFn(this, node, throwIfNotFound);\n }\n public getVisitFnByTypeId(typeId: Type, throwIfNotFound = true) {\n return getVisitFnByTypeId(this, typeId, throwIfNotFound);\n }\n public visitNull(_node: any, ..._args: any[]): any { return null; }\n public visitBool(_node: any, ..._args: any[]): any { return null; }\n public visitInt(_node: any, ..._args: any[]): any { return null; }\n public visitFloat(_node: any, ..._args: any[]): any { return null; }\n public visitUtf8(_node: any, ..._args: any[]): any { return null; }\n public visitLargeUtf8(_node: any, ..._args: any[]): any { return null; }\n public visitUtf8View(_node: any, ..._args: any[]): any { return null; }\n public visitBinary(_node: any, ..._args: any[]): any { return null; }\n public visitLargeBinary(_node: any, ..._args: any[]): any { return null; }\n public visitBinaryView(_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeBinary(_node: any, ..._args: any[]): any { return null; }\n public visitDate(_node: any, ..._args: any[]): any { return null; }\n public visitTimestamp(_node: any, ..._args: any[]): any { return null; }\n public visitTime(_node: any, ..._args: any[]): any { return null; }\n public visitDecimal(_node: any, ..._args: any[]): any { return null; }\n public visitList(_node: any, ..._args: any[]): any { return null; }\n public visitLargeList(_node: any, ..._args: any[]): any { return null; }\n public visitStruct(_node: any, ..._args: any[]): any { return null; }\n public visitUnion(_node: any, ..._args: any[]): any { return null; }\n public visitDictionary(_node: any, ..._args: any[]): any { return null; }\n public visitInterval(_node: any, ..._args: any[]): any { return null; }\n public visitDuration(_node: any, ..._args: any[]): any { return null; }\n public visitFixedSizeList(_node: any, ..._args: any[]): any { return null; }\n public visitMap(_node: any, ..._args: any[]): any { return null; }\n}\n\n/** @ignore */\nfunction getVisitFn<T extends DataType>(visitor: Visitor, node: any, throwIfNotFound = true) {\n if (typeof node === 'number') {\n return getVisitFnByTypeId(visitor, node, throwIfNotFound);\n }\n if (typeof node === 'string' && (node in Type)) {\n return getVisitFnByTypeId(visitor, Type[node as keyof typeof Type], throwIfNotFound);\n }\n if (node && (node instanceof DataType)) {\n return getVisitFnByTypeId(visitor, inferDType(node as T), throwIfNotFound);\n }\n if (node?.type && (node.type instanceof DataType)) {\n return getVisitFnByTypeId(visitor, inferDType(node.type as T), throwIfNotFound);\n }\n return getVisitFnByTypeId(visitor, Type.NONE, throwIfNotFound);\n}\n\n/** @ignore */\nfunction getVisitFnByTypeId(visitor: Visitor, dtype: Type, throwIfNotFound = true) {\n let fn: any = null;\n switch (dtype) {\n case Type.Null: fn = visitor.visitNull; break;\n case Type.Bool: fn = visitor.visitBool; break;\n case Type.Int: fn = visitor.visitInt; break;\n case Type.Int8: fn = visitor.visitInt8 || visitor.visitInt; break;\n case Type.Int16: fn = visitor.visitInt16 || visitor.visitInt; break;\n case Type.Int32: fn = visitor.visitInt32 || visitor.visitInt; break;\n case Type.Int64: fn = visitor.visitInt64 || visitor.visitInt; break;\n case Type.Uint8: fn = visitor.visitUint8 || visitor.visitInt; break;\n case Type.Uint16: fn = visitor.visitUint16 || visitor.visitInt; break;\n case Type.Uint32: fn = visitor.visitUint32 || visitor.visitInt; break;\n case Type.Uint64: fn = visitor.visitUint64 || visitor.visitInt; break;\n case Type.Float: fn = visitor.visitFloat; break;\n case Type.Float16: fn = visitor.visitFloat16 || visitor.visitFloat; break;\n case Type.Float32: fn = visitor.visitFloat32 || visitor.visitFloat; break;\n case Type.Float64: fn = visitor.visitFloat64 || visitor.visitFloat; break;\n case Type.Utf8: fn = visitor.visitUtf8; break;\n case Type.LargeUtf8: fn = visitor.visitLargeUtf8; break;\n case Type.Utf8View: fn = visitor.visitUtf8View || visitor.visitUtf8; break;\n case Type.Binary: fn = visitor.visitBinary; break;\n case Type.LargeBinary: fn = visitor.visitLargeBinary; break;\n case Type.BinaryView: fn = visitor.visitBinaryView || visitor.visitBinary; break;\n case Type.FixedSizeBinary: fn = visitor.visitFixedSizeBinary; break;\n case Type.Date: fn = visitor.visitDate; break;\n case Type.DateDay: fn = visitor.visitDateDay || visitor.visitDate; break;\n case Type.DateMillisecond: fn = visitor.visitDateMillisecond || visitor.visitDate; break;\n case Type.Timestamp: fn = visitor.visitTimestamp; break;\n case Type.TimestampSecond: fn = visitor.visitTimestampSecond || visitor.visitTimestamp; break;\n case Type.TimestampMillisecond: fn = visitor.visitTimestampMillisecond || visitor.visitTimestamp; break;\n case Type.TimestampMicrosecond: fn = visitor.visitTimestampMicrosecond || visitor.visitTimestamp; break;\n case Type.TimestampNanosecond: fn = visitor.visitTimestampNanosecond || visitor.visitTimestamp; break;\n case Type.Time: fn = visitor.visitTime; break;\n case Type.TimeSecond: fn = visitor.visitTimeSecond || visitor.visitTime; break;\n case Type.TimeMillisecond: fn = visitor.visitTimeMillisecond || visitor.visitTime; break;\n case Type.TimeMicrosecond: fn = visitor.visitTimeMicrosecond || visitor.visitTime; break;\n case Type.TimeNanosecond: fn = visitor.visitTimeNanosecond || visitor.visitTime; break;\n case Type.Decimal: fn = visitor.visitDecimal; break;\n case Type.List: fn = visitor.visitList; break;\n case Type.LargeList: fn = visitor.visitLargeList; break;\n case Type.Struct: fn = visitor.visitStruct; break;\n case Type.Union: fn = visitor.visitUnion; break;\n case Type.DenseUnion: fn = visitor.visitDenseUnion || visitor.visitUnion; break;\n case Type.SparseUnion: fn = visitor.visitSparseUnion || visitor.visitUnion; break;\n case Type.Dictionary: fn = visitor.visitDictionary; break;\n case Type.Interval: fn = visitor.visitInterval; break;\n case Type.IntervalDayTime: fn = visitor.visitIntervalDayTime || visitor.visitInterval; break;\n case Type.IntervalYearMonth: fn = visitor.visitIntervalYearMonth || visitor.visitInterval; break;\n case Type.IntervalMonthDayNano: fn = visitor.visitIntervalMonthDayNano || visitor.visitInterval; break;\n case Type.Duration: fn = visitor.visitDuration; break;\n case Type.DurationSecond: fn = visitor.visitDurationSecond || visitor.visitDuration; break;\n case Type.DurationMillisecond: fn = visitor.visitDurationMillisecond || visitor.visitDuration; break;\n case Type.DurationMicrosecond: fn = visitor.visitDurationMicrosecond || visitor.visitDuration; break;\n case Type.DurationNanosecond: fn = visitor.visitDurationNanosecond || visitor.visitDuration; break;\n case Type.FixedSizeList: fn = visitor.visitFixedSizeList; break;\n case Type.Map: fn = visitor.visitMap; break;\n }\n if (typeof fn === 'function') return fn;\n if (!throwIfNotFound) return () => null;\n throw new Error(`Unrecognized type '${Type[dtype]}'`);\n}\n\n/** @ignore */\nfunction inferDType<T extends DataType>(type: T): Type {\n switch (type.typeId) {\n case Type.Null: return Type.Null;\n case Type.Int: {\n const { bitWidth, isSigned } = (type as any as Int);\n switch (bitWidth) {\n case 8: return isSigned ? Type.Int8 : Type.Uint8;\n case 16: return isSigned ? Type.Int16 : Type.Uint16;\n case 32: return isSigned ? Type.Int32 : Type.Uint32;\n case 64: return isSigned ? Type.Int64 : Type.Uint64;\n }\n // @ts-ignore\n return Type.Int;\n }\n case Type.Float:\n switch ((type as any as Float).precision) {\n case Precision.HALF: return Type.Float16;\n case Precision.SINGLE: return Type.Float32;\n case Precision.DOUBLE: return Type.Float64;\n }\n // @ts-ignore\n return Type.Float;\n case Type.Binary: return Type.Binary;\n case Type.LargeBinary: return Type.LargeBinary;\n case Type.BinaryView: return Type.BinaryView;\n case Type.Utf8: return Type.Utf8;\n case Type.LargeUtf8: return Type.LargeUtf8;\n case Type.Utf8View: return Type.Utf8View;\n case Type.Bool: return Type.Bool;\n case Type.Decimal: return Type.Decimal;\n case Type.Time:\n switch ((type as any as Time).unit) {\n case TimeUnit.SECOND: return Type.TimeSecond;\n case TimeUnit.MILLISECOND: return Type.TimeMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimeMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimeNanosecond;\n }\n // @ts-ignore\n return Type.Time;\n case Type.Timestamp:\n switch ((type as any as Timestamp).unit) {\n case TimeUnit.SECOND: return Type.TimestampSecond;\n case TimeUnit.MILLISECOND: return Type.TimestampMillisecond;\n case TimeUnit.MICROSECOND: return Type.TimestampMicrosecond;\n case TimeUnit.NANOSECOND: return Type.TimestampNanosecond;\n }\n // @ts-ignore\n return Type.Timestamp;\n case Type.Date:\n switch ((type as any as Date_).unit) {\n case DateUnit.DAY: return Type.DateDay;\n case DateUnit.MILLISECOND: return Type.DateMillisecond;\n }\n // @ts-ignore\n return Type.Date;\n case Type.Interval:\n switch ((type as any as Interval).unit) {\n case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;\n case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;\n case IntervalUnit.MONTH_DAY_NANO: return Type.IntervalMonthDayNano;\n }\n // @ts-ignore\n return Type.Interval;\n case Type.Duration:\n switch ((type as any as Duration).unit) {\n case TimeUnit.SECOND: return Type.DurationSecond;\n case TimeUnit.MILLISECOND: return Type.DurationMillisecond;\n case TimeUnit.MICROSECOND: return Type.DurationMicrosecond;\n case TimeUnit.NANOSECOND: return Type.DurationNanosecond;\n }\n // @ts-ignore\n return Type.Duration;\n case Type.Map: return Type.Map;\n case Type.List: return Type.List;\n case Type.LargeList: return Type.LargeList;\n case Type.Struct: return Type.Struct;\n case Type.Union:\n switch ((type as any as Union).mode) {\n case UnionMode.Dense: return Type.DenseUnion;\n case UnionMode.Sparse: return Type.SparseUnion;\n }\n // @ts-ignore\n return Type.Union;\n case Type.FixedSizeBinary: return Type.FixedSizeBinary;\n case Type.FixedSizeList: return Type.FixedSizeList;\n case Type.Dictionary: return Type.Dictionary;\n }\n throw new Error(`Unrecognized type '${Type[type.typeId]}'`);\n}\n\nexport interface Visitor {\n visitNull(node: any, ...args: any[]): any;\n visitBool(node: any, ...args: any[]): any;\n visitInt(node: any, ...args: any[]): any;\n visitInt8?(node: any, ...args: any[]): any;\n visitInt16?(node: any, ...args: any[]): any;\n visitInt32?(node: any, ...args: any[]): any;\n visitInt64?(node: any, ...args: any[]): any;\n visitUint8?(node: any, ...args: any[]): any;\n visitUint16?(node: any, ...args: any[]): any;\n visitUint32?(node: any, ...args: any[]): any;\n visitUint64?(node: any, ...args: any[]): any;\n visitFloat(node: any, ...args: any[]): any;\n visitFloat16?(node: any, ...args: any[]): any;\n visitFloat32?(node: any, ...args: any[]): any;\n visitFloat64?(node: any, ...args: any[]): any;\n visitUtf8(node: any, ...args: any[]): any;\n visitLargeUtf8(node: any, ...args: any[]): any;\n visitBinary(node: any, ...args: any[]): any;\n visitLargeBinary(node: any, ...args: any[]): any;\n visitFixedSizeBinary(node: any, ...args: any[]): any;\n visitDate(node: any, ...args: any[]): any;\n visitDateDay?(node: any, ...args: any[]): any;\n visitDateMillisecond?(node: any, ...args: any[]): any;\n visitTimestamp(node: any, ...args: any[]): any;\n visitTimestampSecond?(node: any, ...args: any[]): any;\n visitTimestampMillisecond?(node: any, ...args: any[]): any;\n visitTimestampMicrosecond?(node: any, ...args: any[]): any;\n visitTimestampNanosecond?(node: any, ...args: any[]): any;\n visitTime(node: any, ...args: any[]): any;\n visitTimeSecond?(node: any, ...args: any[]): any;\n visitTimeMillisecond?(node: any, ...args: any[]): any;\n visitTimeMicrosecond?(node: any, ...args: any[]): any;\n visitTimeNanosecond?(node: any, ...args: any[]): any;\n visitDecimal(node: any, ...args: any[]): any;\n visitList(node: any, ...args: any[]): any;\n visitStruct(node: any, ...args: any[]): any;\n visitUnion(node: any, ...args: any[]): any;\n visitDenseUnion?(node: any, ...args: any[]): any;\n visitSparseUnion?(node: any, ...args: any[]): any;\n visitDictionary(node: any, ...args: any[]): any;\n visitInterval(node: any, ...args: any[]): any;\n visitIntervalDayTime?(node: any, ...args: any[]): any;\n visitIntervalYearMonth?(node: any, ...args: any[]): any;\n visitIntervalMonthDayNano?(node: any, ...args: any[]): any;\n visitDuration(node: any, ...args: any[]): any;\n visitDurationSecond(node: any, ...args: any[]): any;\n visitDurationMillisecond(node: any, ...args: any[]): any;\n visitDurationMicrosecond(node: any, ...args: any[]): any;\n visitDurationNanosecond(node: any, ...args: any[]): any;\n visitFixedSizeList(node: any, ...args: any[]): any;\n visitMap(node: any, ...args: any[]): any;\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Visitor.prototype as any).visitInt8 = null;\n(Visitor.prototype as any).visitInt16 = null;\n(Visitor.prototype as any).visitInt32 = null;\n(Visitor.prototype as any).visitInt64 = null;\n(Visitor.prototype as any).visitUint8 = null;\n(Visitor.prototype as any).visitUint16 = null;\n(Visitor.prototype as any).visitUint32 = null;\n(Visitor.prototype as any).visitUint64 = null;\n(Visitor.prototype as any).visitFloat16 = null;\n(Visitor.prototype as any).visitFloat32 = null;\n(Visitor.prototype as any).visitFloat64 = null;\n(Visitor.prototype as any).visitDateDay = null;\n(Visitor.prototype as any).visitDateMillisecond = null;\n(Visitor.prototype as any).visitTimestampSecond = null;\n(Visitor.prototype as any).visitTimestampMillisecond = null;\n(Visitor.prototype as any).visitTimestampMicrosecond = null;\n(Visitor.prototype as any).visitTimestampNanosecond = null;\n(Visitor.prototype as any).visitTimeSecond = null;\n(Visitor.prototype as any).visitTimeMillisecond = null;\n(Visitor.prototype as any).visitTimeMicrosecond = null;\n(Visitor.prototype as any).visitTimeNanosecond = null;\n(Visitor.prototype as any).visitDenseUnion = null;\n(Visitor.prototype as any).visitSparseUnion = null;\n(Visitor.prototype as any).visitIntervalDayTime = null;\n(Visitor.prototype as any).visitIntervalYearMonth = null;\n(Visitor.prototype as any).visitIntervalMonthDayNano = null;\n(Visitor.prototype as any).visitDuration = null;\n(Visitor.prototype as any).visitDurationSecond = null;\n(Visitor.prototype as any).visitDurationMillisecond = null;\n(Visitor.prototype as any).visitDurationMicrosecond = null;\n(Visitor.prototype as any).visitDurationNanosecond = null;\n", null, null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector.js';\nimport { BufferType, Type, UnionMode } from './enum.js';\nimport { DataType, strideForType } from './type.js';\nimport { popcnt_bit_range, truncateBitmap } from './util/bit.js';\n\n// When slicing, we do not know the null count of the sliced range without\n// doing some computation. To avoid doing this eagerly, we set the null count\n// to -1 (any negative number will do). When Vector.nullCount is called the\n// first time, the null count will be computed. See ARROW-33\n/** @ignore */ export type kUnknownNullCount = -1;\n/** @ignore */ export const kUnknownNullCount = -1;\n\n/** @ignore */ export type NullBuffer = Uint8Array | null | undefined;\n/** @ignore */ export type TypeIdsBuffer = Int8Array | ArrayLike<number> | Iterable<number> | undefined;\n/** @ignore */ export type ValueOffsetsBuffer = Int32Array | ArrayLike<number> | Iterable<number> | undefined;\n/** @ignore */ export type LargeValueOffsetsBuffer = BigInt64Array | ArrayLike<bigint> | Iterable<bigint> | undefined;\n/** @ignore */ export type DataBuffer<T extends DataType> = T['TArray'] | ArrayLike<number> | Iterable<number> | undefined;\n\n/** @ignore */\nexport interface Buffers<T extends DataType> {\n [BufferType.OFFSET]: T['TOffsetArray'];\n [BufferType.DATA]: T['TArray'];\n [BufferType.VALIDITY]: Uint8Array;\n [BufferType.TYPE]: T['TArray'];\n}\n\n/** @ignore */\nconst kDataSymbol = Symbol.for('apache-arrow/Data');\n\n/** @ignore */\nexport interface Data<T extends DataType = DataType> {\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n}\n\n/**\n * Data structure underlying {@link Vector}s. Use the convenience method {@link makeData}.\n */\nexport class Data<T extends DataType = DataType> {\n\n /**\n * Check if an object is an instance of Data.\n * This works across different instances of the Arrow library.\n */\n /** @nocollapse */ static isData(x: any): x is Data {\n return x?.[kDataSymbol] === true;\n }\n\n /** @internal */\n declare public readonly [kDataSymbol]: true;\n\n declare public readonly type: T;\n declare public readonly length: number;\n declare public readonly offset: number;\n declare public readonly stride: number;\n declare public readonly children: Data[];\n\n /**\n * The dictionary for this Vector, if any. Only used for Dictionary type.\n */\n declare public dictionary?: Vector;\n\n declare public readonly values: Buffers<T>[BufferType.DATA];\n declare public readonly typeIds: Buffers<T>[BufferType.TYPE];\n declare public readonly nullBitmap: Buffers<T>[BufferType.VALIDITY];\n declare public readonly valueOffsets: Buffers<T>[BufferType.OFFSET];\n declare public readonly variadicBuffers: ReadonlyArray<Uint8Array>;\n\n public get typeId(): T['TType'] { return this.type.typeId; }\n\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n\n public get buffers() {\n return [this.valueOffsets, this.values, this.nullBitmap, this.typeIds] as Buffers<T>;\n }\n\n public get nullable(): boolean {\n if (this._nullCount !== 0) {\n const { type } = this;\n if (DataType.isSparseUnion(type)) {\n return this.children.some((child) => child.nullable);\n } else if (DataType.isDenseUnion(type)) {\n return this.children.some((child) => child.nullable);\n }\n return this.nullBitmap && this.nullBitmap.byteLength > 0;\n }\n return true;\n }\n\n public get byteLength(): number {\n let byteLength = 0;\n const { valueOffsets, values, nullBitmap, typeIds } = this;\n valueOffsets && (byteLength += valueOffsets.byteLength);\n values && (byteLength += values.byteLength);\n nullBitmap && (byteLength += nullBitmap.byteLength);\n typeIds && (byteLength += typeIds.byteLength);\n byteLength += this.variadicBuffers.reduce((size, data) => size + (data?.byteLength ?? 0), 0);\n return this.children.reduce((byteLength, child) => byteLength + child.byteLength, byteLength);\n }\n\n protected _nullCount: number | kUnknownNullCount;\n\n public get nullCount(): number {\n if (DataType.isUnion(this.type)) {\n return this.children.reduce((nullCount, child) => nullCount + child.nullCount, 0);\n }\n let nullCount = this._nullCount;\n let nullBitmap: Uint8Array | undefined;\n if (nullCount <= kUnknownNullCount && (nullBitmap = this.nullBitmap)) {\n this._nullCount = nullCount = nullBitmap.length === 0 ?\n // no null bitmap, so all values are valid\n 0 :\n this.length - popcnt_bit_range(nullBitmap, this.offset, this.offset + this.length);\n }\n return nullCount;\n }\n\n constructor(\n type: T,\n offset: number,\n length: number,\n nullCount?: number,\n buffers?: Partial<Buffers<T>> | Data<T>,\n children: Data[] = [],\n dictionary?: Vector,\n variadicBuffers: ReadonlyArray<Uint8Array> = []\n ) {\n this.type = type;\n this.children = children;\n this.dictionary = dictionary;\n this.offset = Math.floor(Math.max(offset || 0, 0));\n this.length = Math.floor(Math.max(length || 0, 0));\n this._nullCount = Math.floor(Math.max(nullCount || 0, -1));\n let buffer: Buffers<T>[keyof Buffers<T>];\n if (buffers instanceof Data) {\n this.stride = buffers.stride;\n this.values = buffers.values;\n this.typeIds = buffers.typeIds;\n this.nullBitmap = buffers.nullBitmap;\n this.valueOffsets = buffers.valueOffsets;\n this.variadicBuffers = buffers.variadicBuffers;\n } else {\n this.stride = strideForType(type);\n if (buffers) {\n (buffer = (buffers as Buffers<T>)[0]) && (this.valueOffsets = buffer);\n (buffer = (buffers as Buffers<T>)[1]) && (this.values = buffer);\n (buffer = (buffers as Buffers<T>)[2]) && (this.nullBitmap = buffer);\n (buffer = (buffers as Buffers<T>)[3]) && (this.typeIds = buffer);\n }\n this.variadicBuffers = variadicBuffers;\n }\n this.variadicBuffers ??= [];\n }\n\n public getValid(index: number): boolean {\n const { type } = this;\n if (DataType.isUnion(type)) {\n const union = (<unknown>type as Union);\n const typeId = this.typeIds[index];\n const childIndex = union.typeIdToChildIndex[typeId];\n const child = this.children[childIndex];\n const valueOffsets = this.valueOffsets as Int32Array | BigInt64Array | undefined;\n const indexInChild = union.mode === UnionMode.Dense && valueOffsets\n ? Number(valueOffsets[index])\n : index;\n return child.getValid(indexInChild);\n }\n if (this.nullable && this.nullCount > 0) {\n const pos = this.offset + index;\n const val = this.nullBitmap[pos >> 3];\n return (val & (1 << (pos % 8))) !== 0;\n }\n return true;\n }\n\n public setValid(index: number, value: boolean): boolean {\n let prev: boolean;\n const { type } = this;\n if (DataType.isUnion(type)) {\n const union = (<unknown>type as Union);\n const typeId = this.typeIds[index];\n const childIndex = union.typeIdToChildIndex[typeId];\n const child = this.children[childIndex];\n const valueOffsets = this.valueOffsets as Int32Array | BigInt64Array | undefined;\n const indexInChild = union.mode === UnionMode.Dense && valueOffsets\n ? Number(valueOffsets[index])\n : index;\n prev = child.getValid(indexInChild);\n child.setValid(indexInChild, value);\n } else {\n let { nullBitmap } = this;\n const { offset, length } = this;\n const idx = offset + index;\n const mask = 1 << (idx % 8);\n const byteOffset = idx >> 3;\n\n // If no null bitmap, initialize one on the fly\n if (!nullBitmap || nullBitmap.byteLength <= byteOffset) {\n nullBitmap = new Uint8Array((((offset + length) + 63) & ~63) >> 3).fill(255);\n // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n if (this.nullCount > 0) {\n nullBitmap.set(truncateBitmap(offset, length, this.nullBitmap), 0);\n Object.assign(this, { nullBitmap });\n } else {\n Object.assign(this, { nullBitmap, _nullCount: 0 });\n }\n }\n\n const byte = nullBitmap[byteOffset];\n\n prev = (byte & mask) !== 0;\n nullBitmap[byteOffset] = value ? (byte | mask) : (byte & ~mask);\n }\n\n if (prev !== !!value) {\n // Update `_nullCount` if the new value is different from the old value.\n this._nullCount = this.nullCount + (value ? -1 : 1);\n }\n\n return value;\n }\n\n public clone<R extends DataType = T>(\n type: R = this.type as any,\n offset = this.offset,\n length = this.length,\n nullCount = this._nullCount,\n buffers: Buffers<R> = <any>this,\n children: Data[] = this.children,\n variadicBuffers: ReadonlyArray<Uint8Array> = this.variadicBuffers\n ) {\n return new Data(type, offset, length, nullCount, buffers, children, this.dictionary, variadicBuffers);\n }\n\n public slice(offset: number, length: number): Data<T> {\n const { stride, typeId, children } = this;\n // +true === 1, +false === 0, so this means\n // we keep nullCount at 0 if it's already 0,\n // otherwise set to the invalidated flag -1\n const nullCount = +(this._nullCount === 0) - 1;\n const childStride = typeId === 16 /* FixedSizeList */ ? stride : 1;\n const buffers = this._sliceBuffers(offset, length, stride, typeId);\n return this.clone<T>(this.type, this.offset + offset, length, nullCount, buffers,\n // Don't slice children if we have value offsets (the variable-width types)\n (children.length === 0 || this.valueOffsets) ? children : this._sliceChildren(children, childStride * offset, childStride * length),\n this.variadicBuffers);\n }\n\n public _changeLengthAndBackfillNullBitmap(newLength: number): Data<T> {\n if (this.typeId === Type.Null) {\n return this.clone(this.type, 0, newLength, 0, <any>this.buffers, this.children, this.variadicBuffers);\n }\n const { length, nullCount } = this;\n // start initialized with 0s (nulls), then fill from 0 to length with 1s (not null)\n const bitmap = new Uint8Array(((newLength + 63) & ~63) >> 3).fill(255, 0, length >> 3);\n // set all the bits in the last byte (up to bit `length - length % 8`) to 1 (not null)\n bitmap[length >> 3] = (1 << (length - (length & ~7))) - 1;\n // if we have a nullBitmap, truncate + slice and set it over the pre-filled 1s\n if (nullCount > 0) {\n bitmap.set(truncateBitmap(this.offset, length, this.nullBitmap), 0);\n }\n const buffers = this.buffers;\n buffers[BufferType.VALIDITY] = bitmap;\n return this.clone(this.type, 0, newLength, nullCount + (newLength - length), buffers, this.children, this.variadicBuffers);\n }\n\n protected _sliceBuffers(offset: number, length: number, stride: number, typeId: T['TType']): Buffers<T> {\n let arr: any;\n const { buffers } = this;\n // If typeIds exist, slice the typeIds buffer\n (arr = buffers[BufferType.TYPE]) && (buffers[BufferType.TYPE] = arr.subarray(offset, offset + length));\n if (DataType.isBinaryView(this.type) || DataType.isUtf8View(this.type)) {\n const width = BinaryView.ELEMENT_WIDTH;\n (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = arr.subarray(offset * width, (offset + length) * width));\n } else {\n // If offsets exist, only slice the offsets buffer\n (arr = buffers[BufferType.OFFSET]) && (buffers[BufferType.OFFSET] = arr.subarray(offset, offset + length + 1)) ||\n // Otherwise if no offsets, slice the data buffer. Don't slice the data vector for Booleans, since the offset goes by bits not bytes\n (arr = buffers[BufferType.DATA]) && (buffers[BufferType.DATA] = typeId === 6 ? arr : arr.subarray(stride * offset, stride * (offset + length)));\n }\n return buffers;\n }\n\n protected _sliceChildren(children: Data[], offset: number, length: number): Data[] {\n return children.map((child) => child.slice(offset, length));\n }\n}\n\n(Data.prototype as any).children = Object.freeze([]);\n(Data.prototype as any)[kDataSymbol] = true;\n\nObject.defineProperty(Data, Symbol.hasInstance, {\n value: function isDataInstance(instance: any): instance is Data {\n return Function.prototype[Symbol.hasInstance].call(this, instance)\n || (this === Data && Data.isData(instance));\n },\n});\n\nimport {\n Dictionary,\n Bool, Null, Utf8, Utf8View, LargeUtf8, Binary, BinaryView, LargeBinary, Decimal, FixedSizeBinary, List, LargeList, FixedSizeList, Map_, Struct,\n Float,\n Int,\n Date_,\n Interval,\n Duration,\n Time,\n Timestamp,\n Union, DenseUnion, SparseUnion,\n} from './type.js';\n\nimport { Visitor } from './visitor.js';\nimport { toArrayBufferView, toBigInt64Array, toInt32Array, toUint8Array } from './util/buffer.js';\n\nclass MakeDataVisitor extends Visitor {\n public visit<T extends DataType>(props: any): Data<T> {\n return this.getVisitFn(props['type']).call(this, props);\n }\n public visitNull<T extends Null>(props: NullDataProps<T>) {\n const {\n ['type']: type,\n ['offset']: offset = 0,\n ['length']: length = 0,\n } = props;\n return new Data(type, offset, length, length);\n }\n public visitBool<T extends Bool>(props: BoolDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length >> 3, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitInt<T extends Int>(props: IntDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitFloat<T extends Float>(props: FloatDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitUtf8<T extends Utf8>(props: Utf8DataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n public visitUtf8View<T extends Utf8View>(props: Utf8ViewDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const views = toArrayBufferView(type.ArrayType, props['views']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const variadicBuffers = (props['variadicBuffers'] || []).map((buffer) => toUint8Array(buffer));\n const length = props['length'] ?? Math.trunc(views.length / Utf8View.ELEMENT_WIDTH);\n const nullCount = props['nullBitmap'] ? -1 : 0;\n return new Data(type, offset, length, nullCount, [undefined, views, nullBitmap], [], undefined, variadicBuffers);\n }\n public visitLargeUtf8<T extends LargeUtf8>(props: LargeUtf8DataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toBigInt64Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n public visitBinary<T extends Binary>(props: BinaryDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n public visitBinaryView<T extends BinaryView>(props: BinaryViewDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const views = toArrayBufferView(type.ArrayType, props['views']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const variadicBuffers = (props['variadicBuffers'] || []).map((buffer) => toUint8Array(buffer));\n const length = props['length'] ?? Math.trunc(views.length / BinaryView.ELEMENT_WIDTH);\n const nullCount = props['nullBitmap'] ? -1 : 0;\n return new Data(type, offset, length, nullCount, [undefined, views, nullBitmap], [], undefined, variadicBuffers);\n }\n public visitLargeBinary<T extends LargeBinary>(props: LargeBinaryDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const data = toUint8Array(props['data']);\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toBigInt64Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, data, nullBitmap]);\n }\n public visitFixedSizeBinary<T extends FixedSizeBinary>(props: FixedSizeBinaryDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitDate<T extends Date_>(props: Date_DataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitTimestamp<T extends Timestamp>(props: TimestampDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitTime<T extends Time>(props: TimeDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitDecimal<T extends Decimal>(props: DecimalDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitList<T extends List>(props: ListDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n }\n public visitLargeList<T extends LargeList>(props: LargeListDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toBigInt64Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n }\n public visitStruct<T extends Struct>(props: StructDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const {\n length = children.reduce((len, { length }) => Math.max(len, length), 0),\n nullCount = props['nullBitmap'] ? -1 : 0\n } = props;\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], children);\n }\n public visitUnion<T extends Union>(props: UnionDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['children']: children = [] } = props;\n const typeIds = toArrayBufferView(type.ArrayType, props['typeIds']);\n const { ['length']: length = typeIds.length, ['nullCount']: nullCount = -1, } = props;\n if (DataType.isSparseUnion(type)) {\n return new Data(type, offset, length, nullCount, [undefined, undefined, undefined, typeIds], children);\n }\n const valueOffsets = toInt32Array(props['valueOffsets']);\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, undefined, typeIds], children);\n }\n public visitDictionary<T extends Dictionary>(props: DictionaryDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.indices.ArrayType, props['data']);\n const { ['dictionary']: dictionary = new Vector([new MakeDataVisitor().visit({ type: type.dictionary })]) } = props;\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap], [], dictionary);\n }\n public visitInterval<T extends Interval>(props: IntervalDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitDuration<T extends Duration>(props: DurationDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0 } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const data = toArrayBufferView(type.ArrayType, props['data']);\n const { ['length']: length = data.length, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [undefined, data, nullBitmap]);\n }\n public visitFixedSizeList<T extends FixedSizeList>(props: FixedSizeListDataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.valueType }) } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const { ['length']: length = child.length / strideForType(type), ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0 } = props;\n return new Data(type, offset, length, nullCount, [undefined, undefined, nullBitmap], [child]);\n }\n public visitMap<T extends Map_>(props: Map_DataProps<T>) {\n const { ['type']: type, ['offset']: offset = 0, ['child']: child = new MakeDataVisitor().visit({ type: type.childType }) } = props;\n const nullBitmap = toUint8Array(props['nullBitmap']);\n const valueOffsets = toInt32Array(props['valueOffsets']);\n const { ['length']: length = valueOffsets.length - 1, ['nullCount']: nullCount = props['nullBitmap'] ? -1 : 0, } = props;\n return new Data(type, offset, length, nullCount, [valueOffsets, undefined, nullBitmap], [child]);\n }\n}\n\n/** @ignore */\ninterface DataProps_<T extends DataType> {\n type: T;\n offset?: number;\n length?: number;\n nullCount?: number;\n nullBitmap?: NullBuffer;\n}\n\ninterface NullDataProps<T extends Null> { type: T; offset?: number; length?: number }\ninterface IntDataProps<T extends Int> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DictionaryDataProps<T extends Dictionary> extends DataProps_<T> { data?: DataBuffer<T>; dictionary?: Vector<T['dictionary']> }\ninterface FloatDataProps<T extends Float> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface BoolDataProps<T extends Bool> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DecimalDataProps<T extends Decimal> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface Date_DataProps<T extends Date_> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface TimeDataProps<T extends Time> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface TimestampDataProps<T extends Timestamp> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface IntervalDataProps<T extends Interval> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface DurationDataProps<T extends Duration> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface FixedSizeBinaryDataProps<T extends FixedSizeBinary> extends DataProps_<T> { data?: DataBuffer<T> }\ninterface BinaryDataProps<T extends Binary> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface BinaryViewDataProps<T extends BinaryView> extends DataProps_<T> { views: DataBuffer<T>; variadicBuffers?: ReadonlyArray<ArrayLike<number> | Iterable<number> | Uint8Array>; data?: DataBuffer<T> }\ninterface LargeBinaryDataProps<T extends LargeBinary> extends DataProps_<T> { valueOffsets: LargeValueOffsetsBuffer | ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface Utf8DataProps<T extends Utf8> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface Utf8ViewDataProps<T extends Utf8View> extends DataProps_<T> { views: DataBuffer<T>; variadicBuffers?: ReadonlyArray<ArrayLike<number> | Iterable<number> | Uint8Array>; data?: DataBuffer<T> }\ninterface LargeUtf8DataProps<T extends LargeUtf8> extends DataProps_<T> { valueOffsets: LargeValueOffsetsBuffer | ValueOffsetsBuffer; data?: DataBuffer<T> }\ninterface ListDataProps<T extends List> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; child: Data<T['valueType']> }\ninterface LargeListDataProps<T extends LargeList> extends DataProps_<T> { valueOffsets: LargeValueOffsetsBuffer | ValueOffsetsBuffer; child: Data<T['valueType']> }\ninterface FixedSizeListDataProps<T extends FixedSizeList> extends DataProps_<T> { child: Data<T['valueType']> }\ninterface StructDataProps<T extends Struct> extends DataProps_<T> { children: Data[] }\ninterface Map_DataProps<T extends Map_> extends DataProps_<T> { valueOffsets: ValueOffsetsBuffer; child: Data }\ninterface SparseUnionDataProps<T extends SparseUnion> extends DataProps_<T> { nullBitmap: never; typeIds: TypeIdsBuffer; children: Data[] }\ninterface DenseUnionDataProps<T extends DenseUnion> extends DataProps_<T> { nullBitmap: never; typeIds: TypeIdsBuffer; children: Data[]; valueOffsets: ValueOffsetsBuffer }\ninterface UnionDataProps<T extends Union> extends DataProps_<T> { typeIds: TypeIdsBuffer; children: Data[]; valueOffsets?: ValueOffsetsBuffer }\n\nexport type DataProps<T extends DataType> = (\n T extends Null /* */ ? NullDataProps<T> :\n T extends Int /* */ ? IntDataProps<T> :\n T extends Dictionary /* */ ? DictionaryDataProps<T> :\n T extends Float /* */ ? FloatDataProps<T> :\n T extends Bool /* */ ? BoolDataProps<T> :\n T extends Decimal /* */ ? DecimalDataProps<T> :\n T extends Date_ /* */ ? Date_DataProps<T> :\n T extends Time /* */ ? TimeDataProps<T> :\n T extends Timestamp /* */ ? TimestampDataProps<T> :\n T extends Interval /* */ ? IntervalDataProps<T> :\n T extends Duration /* */ ? DurationDataProps<T> :\n T extends FixedSizeBinary /* */ ? FixedSizeBinaryDataProps<T> :\n T extends Binary /* */ ? BinaryDataProps<T> :\n T extends LargeBinary /* */ ? LargeBinaryDataProps<T> :\n T extends BinaryView /* */ ? BinaryViewDataProps<T> :\n T extends Utf8 /* */ ? Utf8DataProps<T> :\n T extends LargeUtf8 /* */ ? LargeUtf8DataProps<T> :\n T extends Utf8View /* */ ? Utf8ViewDataProps<T> :\n T extends List /* */ ? ListDataProps<T> :\n T extends LargeList /* */ ? LargeListDataProps<T> :\n T extends FixedSizeList /* */ ? FixedSizeListDataProps<T> :\n T extends Struct /* */ ? StructDataProps<T> :\n T extends Map_ /* */ ? Map_DataProps<T> :\n T extends SparseUnion /* */ ? SparseUnionDataProps<T> :\n T extends DenseUnion /* */ ? DenseUnionDataProps<T> :\n T extends Union /* */ ? UnionDataProps<T> :\n /* */ DataProps_<T>\n);\n\nconst makeDataVisitor = new MakeDataVisitor();\n\nexport function makeData<T extends Null>(props: NullDataProps<T>): Data<T>;\nexport function makeData<T extends Int>(props: IntDataProps<T>): Data<T>;\nexport function makeData<T extends Dictionary>(props: DictionaryDataProps<T>): Data<T>;\nexport function makeData<T extends Float>(props: FloatDataProps<T>): Data<T>;\nexport function makeData<T extends Bool>(props: BoolDataProps<T>): Data<T>;\nexport function makeData<T extends Decimal>(props: DecimalDataProps<T>): Data<T>;\nexport function makeData<T extends Date_>(props: Date_DataProps<T>): Data<T>;\nexport function makeData<T extends Time>(props: TimeDataProps<T>): Data<T>;\nexport function makeData<T extends Timestamp>(props: TimestampDataProps<T>): Data<T>;\nexport function makeData<T extends Interval>(props: IntervalDataProps<T>): Data<T>;\nexport function makeData<T extends Duration>(props: DurationDataProps<T>): Data<T>;\nexport function makeData<T extends FixedSizeBinary>(props: FixedSizeBinaryDataProps<T>): Data<T>;\nexport function makeData<T extends BinaryView>(props: BinaryViewDataProps<T>): Data<T>;\nexport function makeData<T extends Binary>(props: BinaryDataProps<T>): Data<T>;\nexport function makeData<T extends LargeBinary>(props: LargeBinaryDataProps<T>): Data<T>;\nexport function makeData<T extends Utf8>(props: Utf8DataProps<T>): Data<T>;\nexport function makeData<T extends LargeUtf8>(props: LargeUtf8DataProps<T>): Data<T>;\nexport function makeData<T extends Utf8View>(props: Utf8ViewDataProps<T>): Data<T>;\nexport function makeData<T extends List>(props: ListDataProps<T>): Data<T>;\nexport function makeData<T extends LargeList>(props: LargeListDataProps<T>): Data<T>;\nexport function makeData<T extends FixedSizeList>(props: FixedSizeListDataProps<T>): Data<T>;\nexport function makeData<T extends Struct>(props: StructDataProps<T>): Data<T>;\nexport function makeData<T extends Map_>(props: Map_DataProps<T>): Data<T>;\nexport function makeData<T extends SparseUnion>(props: SparseUnionDataProps<T>): Data<T>;\nexport function makeData<T extends DenseUnion>(props: DenseUnionDataProps<T>): Data<T>;\nexport function makeData<T extends Union>(props: UnionDataProps<T>): Data<T>;\nexport function makeData<T extends DataType>(props: DataProps_<T>): Data<T>;\nexport function makeData(props: any) {\n return makeDataVisitor.visit(props);\n}\n", null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type } from './enum.js';\nimport { clampRange, wrapIndex } from './util/vector.js';\nimport { DataType, strideForType } from './type.js';\nimport { Data, makeData, DataProps } from './data.js';\nimport { BigIntArray, TypedArray, TypedArrayDataType } from './interfaces.js';\n\nimport {\n isChunkedValid,\n computeChunkOffsets,\n computeChunkNullable,\n computeChunkNullCounts,\n sliceChunks,\n wrapChunkedCall1,\n wrapChunkedCall2,\n wrapChunkedIndexOf,\n} from './util/chunk.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\n\n// @ts-ignore\nimport type { vectorFromArray } from './factories.js';\n\n/** @ignore */\nconst kVectorSymbol = Symbol.for('apache-arrow/Vector');\n\nexport interface Vector<T extends DataType = any> {\n ///\n // Virtual properties for the TypeScript compiler.\n // These do not exist at runtime.\n ///\n readonly TType: T['TType'];\n readonly TArray: T['TArray'];\n readonly TValue: T['TValue'];\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n */\n [Symbol.isConcatSpreadable]: true;\n}\n\nconst visitorsByTypeId = {} as { [typeId: number]: { get: any; set: any; indexOf: any } };\nconst vectorPrototypesByTypeId = {} as { [typeId: number]: any };\n\n/**\n * Array-like data structure. Use the convenience method {@link makeVector} and {@link vectorFromArray} to create vectors.\n */\nexport class Vector<T extends DataType = any> {\n\n /**\n * Check if an object is an instance of Vector.\n * This works across different instances of the Arrow library.\n */\n /** @nocollapse */ static isVector(x: any): x is Vector {\n return x?.[kVectorSymbol] === true;\n }\n\n /** @internal */\n declare public readonly [kVectorSymbol]: true;\n\n constructor(input: readonly (Data<T> | Vector<T>)[]) {\n const data: Data<T>[] = input[0] instanceof Vector\n ? (input as Vector<T>[]).flatMap(x => x.data)\n : input as Data<T>[];\n if (data.length === 0 || data.some((x) => !(x instanceof Data))) {\n throw new TypeError('Vector constructor expects an Array of Data instances.');\n }\n const type = data[0]?.type;\n switch (data.length) {\n case 0: this._offsets = [0]; break;\n case 1: {\n // special case for unchunked vectors\n const { get, set, indexOf } = visitorsByTypeId[type.typeId];\n const unchunkedData = data[0];\n\n this.isValid = (index: number) => isChunkedValid(unchunkedData, index);\n this.get = (index: number) => get(unchunkedData, index);\n this.set = (index: number, value: T) => set(unchunkedData, index, value);\n this.indexOf = (index: number) => indexOf(unchunkedData, index);\n this._offsets = [0, unchunkedData.length];\n break;\n }\n default:\n Object.setPrototypeOf(this, vectorPrototypesByTypeId[type.typeId]);\n this._offsets = computeChunkOffsets(data);\n break;\n }\n this.data = data;\n this.type = type;\n this.stride = strideForType(type);\n this.numChildren = type.children?.length ?? 0;\n this.length = this._offsets.at(-1)!;\n }\n\n declare protected _offsets: number[] | Uint32Array;\n\n /**\n * The {@link DataType `DataType`} of this Vector.\n */\n public declare readonly type: T;\n\n /**\n * The primitive {@link Data `Data`} instances for this Vector's elements.\n */\n public declare readonly data: ReadonlyArray<Data<T>>;\n\n /**\n * The number of elements in this Vector.\n */\n public declare readonly length: number;\n\n /**\n * The number of primitive values per Vector element.\n */\n public declare readonly stride: number;\n\n /**\n * The number of child Vectors if this Vector is a nested dtype.\n */\n public declare readonly numChildren: number;\n\n /**\n * The aggregate size (in bytes) of this Vector's buffers and/or child Vectors.\n */\n public get byteLength() {\n return this.data.reduce((byteLength, data) => byteLength + data.byteLength, 0);\n }\n\n /**\n * Whether this Vector's elements can contain null values.\n */\n public get nullable() {\n return computeChunkNullable(this.data);\n }\n\n /**\n * The number of null elements in this Vector.\n */\n public get nullCount() {\n return computeChunkNullCounts(this.data);\n }\n\n /**\n * The Array or TypedArray constructor used for the JS representation\n * of the element's values in {@link Vector.prototype.toArray `toArray()`}.\n */\n public get ArrayType(): T['ArrayType'] { return this.type.ArrayType; }\n\n /**\n * The name that should be printed when the Vector is logged in a message.\n */\n public get [Symbol.toStringTag]() {\n return `${this.VectorName}<${this.type[Symbol.toStringTag]}>`;\n }\n\n /**\n * The name of this Vector.\n */\n public get VectorName() { return `${Type[this.type.typeId]}Vector`; }\n\n /**\n * Check whether an element is null.\n * @param index The index at which to read the validity bitmap.\n */\n // @ts-ignore\n public isValid(index: number): boolean { return false; }\n\n /**\n * Get an element value by position.\n * @param index The index of the element to read.\n */\n // @ts-ignore\n public get(index: number): T['TValue'] | null { return null; }\n\n /**\n * Get an element value by position.\n * @param index The index of the element to read. A negative index will count back from the last element.\n */\n public at(index: number): T['TValue'] | null {\n return this.get(wrapIndex(index, this.length));\n }\n\n /**\n * Set an element value by position.\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n // @ts-ignore\n public set(index: number, value: T['TValue'] | null): void { return; }\n\n /**\n * Retrieve the index of the first occurrence of a value in an Vector.\n * @param element The value to locate in the Vector.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n // @ts-ignore\n public indexOf(element: T['TValue'], offset?: number): number { return -1; }\n\n public includes(element: T['TValue'], offset?: number): boolean {\n // eslint-disable-next-line unicorn/prefer-includes\n return this.indexOf(element, offset) > -1;\n }\n\n /**\n * Iterator for the Vector's elements.\n */\n public [Symbol.iterator](): IterableIterator<T['TValue'] | null> {\n return iteratorVisitor.visit(this);\n }\n\n /**\n * Combines two or more Vectors of the same type.\n * @param others Additional Vectors to add to the end of this Vector.\n */\n public concat(...others: Vector<T>[]): Vector<T> {\n return new Vector(this.data.concat(others.flatMap((x) => x.data).flat(Number.POSITIVE_INFINITY)));\n }\n\n /**\n * Return a zero-copy sub-section of this Vector.\n * @param start The beginning of the specified portion of the Vector.\n * @param end The end of the specified portion of the Vector. This is exclusive of the element at the index 'end'.\n */\n public slice(begin?: number, end?: number): Vector<T> {\n return new Vector(clampRange(this, begin, end, ({ data, _offsets }, begin, end) =>\n sliceChunks(data, _offsets, begin, end)\n ));\n }\n\n public toJSON() { return [...this]; }\n\n /**\n * Return a JavaScript Array or TypedArray of the Vector's elements.\n *\n * @note If this Vector contains a single Data chunk and the Vector's type is a\n * primitive numeric type corresponding to one of the JavaScript TypedArrays, this\n * method returns a zero-copy slice of the underlying TypedArray values. If there's\n * more than one chunk, the resulting TypedArray will be a copy of the data from each\n * chunk's underlying TypedArray values.\n *\n * @returns An Array or TypedArray of the Vector's elements, based on the Vector's DataType.\n */\n public toArray(): T['TArray'] {\n const { type, data, length, stride, ArrayType } = this;\n // Fast case, return subarray if possible\n switch (type.typeId) {\n case Type.Int:\n case Type.Float:\n case Type.Decimal:\n case Type.Time:\n case Type.Timestamp:\n switch (data.length) {\n case 0: return new ArrayType();\n case 1: return data[0].values.subarray(0, length * stride);\n default: return data.reduce((memo, { values, length: chunk_length }) => {\n memo.array.set(values.subarray(0, chunk_length * stride), memo.offset);\n memo.offset += chunk_length * stride;\n return memo;\n }, { array: new ArrayType(length * stride), offset: 0 }).array;\n }\n }\n // Otherwise if not primitive, slow copy\n return [...this] as T['TArray'];\n }\n\n /**\n * Returns a string representation of the Vector.\n *\n * @returns A string representation of the Vector.\n */\n public toString() {\n return `[${[...this].join(',')}]`;\n }\n\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n * @param name The name of the child to retrieve.\n */\n public getChild<R extends keyof T['TChildren']>(name: R) {\n return this.getChildAt(this.type.children?.findIndex((f) => f.name === name));\n }\n\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n * @param index The index of the child to retrieve.\n */\n public getChildAt<R extends DataType = any>(index: number): Vector<R> | null {\n if (index > -1 && index < this.numChildren) {\n return new Vector(this.data.map(({ children }) => children[index] as Data<R>));\n }\n return null;\n }\n\n public get isMemoized(): boolean {\n if (DataType.isDictionary(this.type)) {\n return this.data[0].dictionary!.isMemoized;\n }\n return false;\n }\n\n /**\n * Adds memoization to the Vector's {@link get} method. For dictionary\n * vectors, this method return a vector that memoizes only the dictionary\n * values.\n *\n * Memoization is very useful when decoding a value is expensive such as\n * Utf8. The memoization creates a cache of the size of the Vector and\n * therefore increases memory usage.\n *\n * @returns A new vector that memoizes calls to {@link get}.\n */\n public memoize(): MemoizedVector<T> {\n if (DataType.isDictionary(this.type)) {\n const dictionary = new MemoizedVector(this.data[0].dictionary!);\n const newData = this.data.map((data) => {\n const cloned = data.clone();\n cloned.dictionary = dictionary;\n return cloned;\n });\n return new Vector(newData);\n }\n return new MemoizedVector(this);\n }\n\n /**\n * Returns a vector without memoization of the {@link get} method. If this\n * vector is not memoized, this method returns this vector.\n *\n * @returns A new vector without memoization.\n */\n public unmemoize(): Vector<T> {\n if (DataType.isDictionary(this.type) && this.isMemoized) {\n const dictionary = this.data[0].dictionary!.unmemoize();\n const newData = this.data.map((data) => {\n const newData = data.clone();\n newData.dictionary = dictionary;\n return newData;\n });\n return new Vector(newData);\n }\n return this;\n }\n\n // Initialize this static property via an IIFE so bundlers don't tree-shake\n // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n protected static [Symbol.toStringTag] = ((proto: Vector) => {\n (proto as any).type = DataType.prototype;\n (proto as any).data = [];\n (proto as any).length = 0;\n (proto as any).stride = 1;\n (proto as any).numChildren = 0;\n (proto as any)._offsets = new Uint32Array([0]);\n (proto as any)[Symbol.isConcatSpreadable] = true;\n (proto as any)[kVectorSymbol] = true;\n\n const typeIds: Type[] = Object.keys(Type)\n .map((T: any) => Type[T] as any)\n .filter((T: any) => typeof T === 'number' && T !== Type.NONE);\n\n for (const typeId of typeIds) {\n const get = getVisitor.getVisitFnByTypeId(typeId);\n const set = setVisitor.getVisitFnByTypeId(typeId);\n const indexOf = indexOfVisitor.getVisitFnByTypeId(typeId);\n\n visitorsByTypeId[typeId] = { get, set, indexOf };\n vectorPrototypesByTypeId[typeId] = Object.create(proto, {\n ['isValid']: { value: wrapChunkedCall1(isChunkedValid) },\n ['get']: { value: wrapChunkedCall1(getVisitor.getVisitFnByTypeId(typeId)) },\n ['set']: { value: wrapChunkedCall2(setVisitor.getVisitFnByTypeId(typeId)) },\n ['indexOf']: { value: wrapChunkedIndexOf(indexOfVisitor.getVisitFnByTypeId(typeId)) },\n });\n }\n\n return 'Vector';\n })(Vector.prototype);\n}\n\nObject.defineProperty(Vector, Symbol.hasInstance, {\n value: function isVectorInstance(instance: any): instance is Vector {\n return Function.prototype[Symbol.hasInstance].call(this, instance)\n || (this === Vector && Vector.isVector(instance));\n },\n});\n\nclass MemoizedVector<T extends DataType = any> extends Vector<T> {\n\n public constructor(vector: Vector<T>) {\n super(vector.data);\n\n const get = this.get;\n const set = this.set;\n const slice = this.slice;\n\n const cache = new Array<T['TValue'] | null>(this.length);\n\n Object.defineProperty(this, 'get', {\n value(index: number) {\n const cachedValue = cache[index];\n if (cachedValue !== undefined) {\n return cachedValue;\n }\n const value = get.call(this, index);\n cache[index] = value;\n return value;\n }\n });\n\n Object.defineProperty(this, 'set', {\n value(index: number, value: T['TValue'] | null) {\n set.call(this, index, value);\n cache[index] = value;\n }\n });\n\n Object.defineProperty(this, 'slice', {\n value: (begin?: number, end?: number) => new MemoizedVector(slice.call(this, begin, end))\n });\n\n Object.defineProperty(this, 'isMemoized', { value: true });\n\n Object.defineProperty(this, 'unmemoize', {\n value: () => new Vector(this.data)\n });\n\n Object.defineProperty(this, 'memoize', {\n value: () => this\n });\n }\n}\n\nimport * as dtypes from './type.js';\n\n/**\n * Creates a Vector without data copies.\n *\n * @example\n * ```ts\n * const vector = makeVector(new Int32Array([1, 2, 3]));\n * ```\n */\nexport function makeVector<T extends TypedArray | BigIntArray>(data: T | readonly T[]): Vector<TypedArrayDataType<T>>;\nexport function makeVector<T extends DataView>(data: T | readonly T[]): Vector<dtypes.Int8>;\nexport function makeVector<T extends DataType>(data: Data<T> | readonly Data<T>[]): Vector<T>;\nexport function makeVector<T extends DataType>(data: Vector<T> | readonly Vector<T>[]): Vector<T>;\nexport function makeVector<T extends DataType>(data: DataProps<T> | readonly DataProps<T>[]): Vector<T>;\n\nexport function makeVector(init: any) {\n if (init) {\n if (init instanceof Data) { return new Vector([init]); }\n if (init instanceof Vector) { return new Vector(init.data); }\n if (init.type instanceof DataType) { return new Vector([makeData(init)]); }\n if (Array.isArray(init)) {\n return new Vector(init.flatMap(v => unwrapInputs(v)));\n }\n if (ArrayBuffer.isView(init)) {\n if (init instanceof DataView) {\n init = new Uint8Array(init.buffer);\n }\n const props = { offset: 0, length: init.length, nullCount: -1, data: init };\n if (init instanceof Int8Array) { return new Vector([makeData({ ...props, type: new dtypes.Int8 })]); }\n if (init instanceof Int16Array) { return new Vector([makeData({ ...props, type: new dtypes.Int16 })]); }\n if (init instanceof Int32Array) { return new Vector([makeData({ ...props, type: new dtypes.Int32 })]); }\n if (init instanceof BigInt64Array) { return new Vector([makeData({ ...props, type: new dtypes.Int64 })]); }\n if (init instanceof Uint8Array || init instanceof Uint8ClampedArray) { return new Vector([makeData({ ...props, type: new dtypes.Uint8 })]); }\n if (init instanceof Uint16Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint16 })]); }\n if (init instanceof Uint32Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint32 })]); }\n if (init instanceof BigUint64Array) { return new Vector([makeData({ ...props, type: new dtypes.Uint64 })]); }\n if (init instanceof Float32Array) { return new Vector([makeData({ ...props, type: new dtypes.Float32 })]); }\n if (init instanceof Float64Array) { return new Vector([makeData({ ...props, type: new dtypes.Float64 })]); }\n throw new Error('Unrecognized input');\n }\n }\n throw new Error('Unrecognized input');\n}\n\nfunction unwrapInputs(x: any) {\n return x instanceof Data ? [x] : (x instanceof Vector ? x.data : makeVector(x).data);\n}\n", null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Vector } from './vector.js';\nimport { Data, makeData } from './data.js';\nimport { MapRow, kKeys } from './row/map.js';\nimport {\n DataType, strideForType,\n Float, Int, Decimal, FixedSizeBinary,\n Date_, Time, Timestamp, Interval, Duration,\n Utf8, LargeUtf8, Binary, LargeBinary, List, LargeList, Map_,\n} from './type.js';\nimport { createIsValidFunction } from './builder/valid.js';\nimport { BufferBuilder, BitmapBufferBuilder, DataBufferBuilder, OffsetsBufferBuilder } from './builder/buffer.js';\n\nimport type { BuilderDuplexOptions } from './io/node/builder.js';\nimport type { BuilderTransform, BuilderTransformOptions } from './io/whatwg/builder.js';\n\nimport type { Duplex } from 'node:stream';\n\n/**\n * A set of options required to create a `Builder` instance for a given `DataType`.\n * @see {@link Builder}\n */\nexport interface BuilderOptions<T extends DataType = any, TNull = any> {\n type: T;\n nullValues?: TNull[] | ReadonlyArray<TNull> | null;\n children?: { [key: string]: BuilderOptions } | BuilderOptions[];\n}\n\n/**\n * An abstract base class for types that construct Arrow Vectors from arbitrary JavaScript values.\n *\n * A `Builder` is responsible for writing arbitrary JavaScript values\n * to ArrayBuffers and/or child Builders according to the Arrow specification\n * for each DataType, creating or resizing the underlying ArrayBuffers as necessary.\n *\n * The `Builder` for each Arrow `DataType` handles converting and appending\n * values for a given `DataType`. The high-level {@link makeBuilder `makeBuilder()`} convenience\n * method creates the specific `Builder` subclass for the supplied `DataType`.\n *\n * Once created, `Builder` instances support both appending values to the end\n * of the `Builder`, and random-access writes to specific indices\n * (`Builder.prototype.append(value)` is a convenience method for\n * `builder.set(builder.length, value)`). Appending or setting values beyond the\n * Builder's current length may cause the builder to grow its underlying buffers\n * or child Builders (if applicable) to accommodate the new values.\n *\n * After enough values have been written to a `Builder`, `Builder.prototype.flush()`\n * will commit the values to the underlying ArrayBuffers (or child Builders). The\n * internal Builder state will be reset, and an instance of `Data<T>` is returned.\n * Alternatively, `Builder.prototype.toVector()` will flush the `Builder` and return\n * an instance of `Vector<T>` instead.\n *\n * When there are no more values to write, use `Builder.prototype.finish()` to\n * finalize the `Builder`. This does not reset the internal state, so it is\n * necessary to call `Builder.prototype.flush()` or `toVector()` one last time\n * if there are still values queued to be flushed.\n *\n * Note: calling `Builder.prototype.finish()` is required when using a `DictionaryBuilder`,\n * because this is when it flushes the values that have been enqueued in its internal\n * dictionary's `Builder`, and creates the `dictionaryVector` for the `Dictionary` `DataType`.\n *\n * @example\n * ```ts\n * import { makeBuilder, Utf8 } from 'apache-arrow';\n *\n * const utf8Builder = makeBuilder({\n * type: new Utf8(),\n * nullValues: [null, 'n/a']\n * });\n *\n * utf8Builder\n * .append('hello')\n * .append('n/a')\n * .append('world')\n * .append(null);\n *\n * const utf8Vector = utf8Builder.finish().toVector();\n *\n * console.log(utf8Vector.toJSON());\n * // > [\"hello\", null, \"world\", null]\n * ```\n *\n * @typeparam T The `DataType` of this `Builder`.\n * @typeparam TNull The type(s) of values which will be considered null-value sentinels.\n */\nexport abstract class Builder<T extends DataType = any, TNull = any> {\n\n /** @nocollapse */\n // @ts-ignore\n public static throughNode<T extends DataType = any, TNull = any>(options: BuilderDuplexOptions<T, TNull>): Duplex {\n throw new Error(`\"throughNode\" not available in this environment`);\n }\n /** @nocollapse */\n // @ts-ignore\n public static throughDOM<T extends DataType = any, TNull = any>(options: BuilderTransformOptions<T, TNull>): BuilderTransform<T, TNull> {\n throw new Error(`\"throughDOM\" not available in this environment`);\n }\n\n /**\n * Construct a builder with the given Arrow DataType with optional null values,\n * which will be interpreted as \"null\" when set or appended to the `Builder`.\n * @param {{ type: T, nullValues?: any[] }} options A `BuilderOptions` object used to create this `Builder`.\n */\n constructor({ 'type': type, 'nullValues': nulls }: BuilderOptions<T, TNull>) {\n this.type = type;\n this.children = [];\n this.nullValues = nulls;\n this.stride = strideForType(type);\n this._nulls = new BitmapBufferBuilder();\n if (nulls && nulls.length > 0) {\n this._isValid = createIsValidFunction(nulls);\n }\n }\n\n /**\n * The Builder's `DataType` instance.\n * @readonly\n */\n public type: T;\n /**\n * The number of values written to the `Builder` that haven't been flushed yet.\n * @readonly\n */\n public length = 0;\n /**\n * A boolean indicating whether `Builder.prototype.finish()` has been called on this `Builder`.\n * @readonly\n */\n public finished = false;\n /**\n * The number of elements in the underlying values TypedArray that\n * represent a single logical element, determined by this Builder's\n * `DataType`. This is 1 for most types, but is larger when the `DataType`\n * is `Int64`, `Uint64`, `Decimal`, `DateMillisecond`, certain variants of\n * `Interval`, `Time`, or `Timestamp`, `FixedSizeBinary`, and `FixedSizeList`.\n * @readonly\n */\n public readonly stride: number;\n public readonly children: Builder[];\n /**\n * The list of null-value sentinels for this `Builder`. When one of these values\n * is written to the `Builder` (either via `Builder.prototype.set()` or `Builder.prototype.append()`),\n * a 1-bit is written to this Builder's underlying null BitmapBufferBuilder.\n * @readonly\n */\n public readonly nullValues?: TNull[] | ReadonlyArray<TNull> | null;\n\n /**\n * Flush the `Builder` and return a `Vector<T>`.\n * @returns {Vector<T>} A `Vector<T>` of the flushed values.\n */\n public toVector() { return new Vector([this.flush()]); }\n\n public get ArrayType() { return this.type.ArrayType; }\n public get nullCount() { return this._nulls.numInvalid; }\n public get numChildren() { return this.children.length; }\n\n /**\n * @returns The aggregate length (in bytes) of the values that have been written.\n */\n public get byteLength(): number {\n let size = 0;\n const { _offsets, _values, _nulls, _typeIds, children } = this;\n _offsets && (size += _offsets.byteLength);\n _values && (size += _values.byteLength);\n _nulls && (size += _nulls.byteLength);\n _typeIds && (size += _typeIds.byteLength);\n return children.reduce((size, child) => size + child.byteLength, size);\n }\n\n /**\n * @returns The aggregate number of rows that have been reserved to write new values.\n */\n public get reservedLength(): number {\n return this._nulls.reservedLength;\n }\n\n /**\n * @returns The aggregate length (in bytes) that has been reserved to write new values.\n */\n public get reservedByteLength(): number {\n let size = 0;\n this._offsets && (size += this._offsets.reservedByteLength);\n this._values && (size += this._values.reservedByteLength);\n this._nulls && (size += this._nulls.reservedByteLength);\n this._typeIds && (size += this._typeIds.reservedByteLength);\n return this.children.reduce((size, child) => size + child.reservedByteLength, size);\n }\n\n declare protected _offsets: DataBufferBuilder<T['TOffsetArray']>;\n public get valueOffsets() { return this._offsets ? this._offsets.buffer : null; }\n\n declare protected _values: BufferBuilder<T['TArray']>;\n public get values() { return this._values ? this._values.buffer : null; }\n\n declare protected _nulls: BitmapBufferBuilder;\n public get nullBitmap() { return this._nulls ? this._nulls.buffer : null; }\n\n declare protected _typeIds: DataBufferBuilder<Int8Array>;\n public get typeIds() { return this._typeIds ? this._typeIds.buffer : null; }\n\n declare protected _isValid: (value: T['TValue'] | TNull) => boolean;\n declare protected _setValue: (inst: Builder<T>, index: number, value: T['TValue']) => void;\n\n /**\n * Appends a value (or null) to this `Builder`.\n * This is equivalent to `builder.set(builder.length, value)`.\n * @param {T['TValue'] | TNull } value The value to append.\n */\n public append(value: T['TValue'] | TNull) { return this.set(this.length, value); }\n\n /**\n * Validates whether a value is valid (true), or null (false)\n * @param {T['TValue'] | TNull } value The value to compare against null the value representations\n */\n public isValid(value: T['TValue'] | TNull): boolean { return this._isValid(value); }\n\n /**\n * Write a value (or null-value sentinel) at the supplied index.\n * If the value matches one of the null-value representations, a 1-bit is\n * written to the null `BitmapBufferBuilder`. Otherwise, a 0 is written to\n * the null `BitmapBufferBuilder`, and the value is passed to\n * `Builder.prototype.setValue()`.\n * @param {number} index The index of the value to write.\n * @param {T['TValue'] | TNull } value The value to write at the supplied index.\n * @returns {this} The updated `Builder` instance.\n */\n public set(index: number, value: T['TValue'] | TNull) {\n if (this.setValid(index, this.isValid(value))) {\n this.setValue(index, value);\n }\n return this;\n }\n\n /**\n * Write a value to the underlying buffers at the supplied index, bypassing\n * the null-value check. This is a low-level method that\n * @param {number} index\n * @param {T['TValue'] | TNull } value\n */\n public setValue(index: number, value: T['TValue']) { this._setValue(this, index, value); }\n public setValid(index: number, valid: boolean) {\n this.length = this._nulls.set(index, +valid).length;\n return valid;\n }\n\n // @ts-ignore\n public addChild(child: Builder, name = `${this.numChildren}`) {\n throw new Error(`Cannot append children to non-nested type \"${this.type}\"`);\n }\n\n /**\n * Retrieve the child `Builder` at the supplied `index`, or null if no child\n * exists at that index.\n * @param {number} index The index of the child `Builder` to retrieve.\n * @returns {Builder | null} The child Builder at the supplied index or null.\n */\n public getChildAt<R extends DataType = any>(index: number): Builder<R> | null {\n return this.children[index] || null;\n }\n\n /**\n * Commit all the values that have been written to their underlying\n * ArrayBuffers, including any child Builders if applicable, and reset\n * the internal `Builder` state.\n * @returns A `Data<T>` of the buffers and children representing the values written.\n */\n public flush(): Data<T> {\n let data: BufferBuilder<T['TArray']> | undefined;\n let typeIds: Int8Array;\n let nullBitmap: Uint8Array | undefined;\n let valueOffsets: T['TOffsetArray'];\n const { type, length, nullCount, _typeIds, _offsets, _values, _nulls } = this;\n\n if (typeIds = _typeIds?.flush(length)) { // Unions, DenseUnions\n valueOffsets = _offsets?.flush(length);\n } else if (valueOffsets = _offsets?.flush(length)) { // Variable-width primitives (Binary, LargeBinary, Utf8, LargeUtf8), and Lists\n data = _values?.flush(_offsets.last());\n } else { // Fixed-width primitives (Int, Float, Decimal, Time, Timestamp, Duration and Interval)\n data = _values?.flush(length);\n }\n\n if (nullCount > 0) {\n nullBitmap = _nulls?.flush(length);\n }\n\n const children = this.children.map((child) => child.flush());\n\n this.clear();\n\n return makeData(<any>{\n type, length, nullCount,\n children, 'child': children[0],\n data, typeIds, nullBitmap, valueOffsets,\n }) as Data<T>;\n }\n\n /**\n * Finalize this `Builder`, and child builders if applicable.\n * @returns {this} The finalized `Builder` instance.\n */\n public finish() {\n this.finished = true;\n for (const child of this.children) child.finish();\n return this;\n }\n\n /**\n * Clear this Builder's internal state, including child Builders if applicable, and reset the length to 0.\n * @returns {this} The cleared `Builder` instance.\n */\n public clear() {\n this.length = 0;\n this._nulls?.clear();\n this._values?.clear();\n this._offsets?.clear();\n this._typeIds?.clear();\n for (const child of this.children) child.clear();\n return this;\n }\n}\n\n(Builder.prototype as any).length = 1;\n(Builder.prototype as any).stride = 1;\n(Builder.prototype as any).children = null;\n(Builder.prototype as any).finished = false;\n(Builder.prototype as any).nullValues = null;\n(Builder.prototype as any)._isValid = () => true;\n\n/** @ignore */\nexport abstract class FixedWidthBuilder<T extends Int | Float | FixedSizeBinary | Date_ | Timestamp | Time | Decimal | Interval | Duration = any, TNull = any> extends Builder<T, TNull> {\n constructor(opts: BuilderOptions<T, TNull>) {\n super(opts);\n this._values = new DataBufferBuilder(this.ArrayType, 0, this.stride);\n }\n public setValue(index: number, value: T['TValue']) {\n const values = this._values;\n values.reserve(index - values.length + 1);\n return super.setValue(index, value);\n }\n}\n\n/** @ignore */\nexport abstract class VariableWidthBuilder<T extends Binary | LargeBinary | Utf8 | LargeUtf8 | List | LargeList | Map_, TNull = any> extends Builder<T, TNull> {\n protected _pendingLength = 0;\n protected _offsets: OffsetsBufferBuilder<T>;\n protected _pending: Map<number, any> | undefined;\n constructor(opts: BuilderOptions<T, TNull>) {\n super(opts);\n this._offsets = new OffsetsBufferBuilder(opts.type);\n }\n public setValue(index: number, value: T['TValue']) {\n const pending = this._pending || (this._pending = new Map());\n const current = pending.get(index);\n current && (this._pendingLength -= current.length);\n this._pendingLength += (value instanceof MapRow) ? value[kKeys].length : value.length;\n pending.set(index, value);\n }\n public setValid(index: number, isValid: boolean) {\n if (!super.setValid(index, isValid)) {\n (this._pending || (this._pending = new Map())).set(index, undefined);\n return false;\n }\n return true;\n }\n public clear() {\n this._pendingLength = 0;\n this._pending = undefined;\n return super.clear();\n }\n public flush() {\n this._flush();\n return super.flush();\n }\n public finish() {\n this._flush();\n return super.finish();\n }\n protected _flush() {\n const pending = this._pending;\n const pendingLength = this._pendingLength;\n this._pendingLength = 0;\n this._pending = undefined;\n if (pending && pending.size > 0) {\n this._flushPending(pending, pendingLength);\n }\n return this;\n }\n protected abstract _flushPending(pending: Map<number, any>, pendingLength: number): void;\n}\n", null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { MetadataVersion } from './enum.js';\nimport { DataType, TypeMap } from './type.js';\n\n/** @ignore */\nconst kSchemaSymbol = Symbol.for('apache-arrow/Schema');\n/** @ignore */\nconst kFieldSymbol = Symbol.for('apache-arrow/Field');\n\nexport class Schema<T extends TypeMap = any> {\n\n /**\n * Check if an object is an instance of Schema.\n * This works across different instances of the Arrow library.\n */\n /** @nocollapse */ static isSchema(x: any): x is Schema {\n return x?.[kSchemaSymbol] === true;\n }\n\n /** @internal */\n declare public readonly [kSchemaSymbol]: true;\n\n public readonly fields: Field<T[keyof T]>[];\n public readonly metadata: Map<string, string>;\n public readonly dictionaries: Map<number, DataType>;\n public readonly metadataVersion: MetadataVersion;\n\n constructor(\n fields: Field<T[keyof T]>[] = [],\n metadata?: Map<string, string> | null,\n dictionaries?: Map<number, DataType> | null,\n metadataVersion = MetadataVersion.V5) {\n this.fields = (fields || []) as Field<T[keyof T]>[];\n this.metadata = metadata || new Map();\n if (!dictionaries) {\n dictionaries = generateDictionaryMap(this.fields);\n }\n this.dictionaries = dictionaries;\n this.metadataVersion = metadataVersion;\n }\n public get [Symbol.toStringTag]() { return 'Schema'; }\n\n public get names(): (keyof T)[] { return this.fields.map((f) => f.name); }\n\n public toString() {\n return `Schema<{ ${this.fields.map((f, i) => `${i}: ${f}`).join(', ')} }>`;\n }\n\n /**\n * Construct a new Schema containing only specified fields.\n *\n * @param fieldNames Names of fields to keep.\n * @returns A new Schema of fields matching the specified names.\n */\n public select<K extends keyof T = any>(fieldNames: K[]) {\n const names = new Set<string | K>(fieldNames);\n const fields = this.fields.filter((f) => names.has(f.name)) as Field<T[K]>[];\n return new Schema<{ [P in K]: T[P] }>(fields, this.metadata);\n }\n\n /**\n * Construct a new Schema containing only fields at the specified indices.\n *\n * @param fieldIndices Indices of fields to keep.\n * @returns A new Schema of fields at the specified indices.\n */\n public selectAt<K extends T = any>(fieldIndices: number[]) {\n const fields = fieldIndices.map((i) => this.fields[i]).filter(Boolean) as Field<K[keyof K]>[];\n return new Schema<K>(fields, this.metadata);\n }\n\n public assign<R extends TypeMap = any>(schema: Schema<R>): Schema<T & R>;\n public assign<R extends TypeMap = any>(...fields: (Field<R[keyof R]> | Field<R[keyof R]>[])[]): Schema<T & R>;\n public assign<R extends TypeMap = any>(...args: (Schema<R> | Field<R[keyof R]> | Field<R[keyof R]>[])[]) {\n\n const other = (args[0] instanceof Schema\n ? args[0] as Schema<R>\n : Array.isArray(args[0])\n ? new Schema<R>(<Field<R[keyof R]>[]>args[0])\n : new Schema<R>(<Field<R[keyof R]>[]>args));\n\n const curFields = [...this.fields] as Field[];\n const metadata = mergeMaps(mergeMaps(new Map(), this.metadata), other.metadata);\n const newFields = other.fields.filter((f2) => {\n const i = curFields.findIndex((f) => f.name === f2.name);\n return ~i ? (curFields[i] = f2.clone({\n metadata: mergeMaps(mergeMaps(new Map(), curFields[i].metadata), f2.metadata)\n })) && false : true;\n }) as Field[];\n\n const newDictionaries = generateDictionaryMap(newFields, new Map());\n\n return new Schema<T & R>(\n [...curFields, ...newFields], metadata,\n new Map([...this.dictionaries, ...newDictionaries])\n );\n }\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Schema.prototype as any).fields = <any>null;\n(Schema.prototype as any).metadata = <any>null;\n(Schema.prototype as any).dictionaries = <any>null;\n(Schema.prototype as any)[kSchemaSymbol] = true;\n\nObject.defineProperty(Schema, Symbol.hasInstance, {\n value: function isSchemaInstance(instance: any): instance is Schema {\n return Function.prototype[Symbol.hasInstance].call(this, instance)\n || (this === Schema && Schema.isSchema(instance));\n },\n});\n\nexport class Field<T extends DataType = any> {\n\n /**\n * Check if an object is an instance of Field.\n * This works across different instances of the Arrow library.\n */\n /** @nocollapse */ static isField(x: any): x is Field {\n return x?.[kFieldSymbol] === true;\n }\n\n /** @internal */\n declare public readonly [kFieldSymbol]: true;\n\n public static new<T extends DataType = any>(props: { name: string | number; type: T; nullable?: boolean; metadata?: Map<string, string> | null }): Field<T>;\n public static new<T extends DataType = any>(name: string | number | Field<T>, type: T, nullable?: boolean, metadata?: Map<string, string> | null): Field<T>;\n /** @nocollapse */\n public static new<T extends DataType = any>(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n if (args[0] && typeof args[0] === 'object') {\n ({ name } = args[0]);\n (type === undefined) && (type = args[0].type);\n (nullable === undefined) && (nullable = args[0].nullable);\n (metadata === undefined) && (metadata = args[0].metadata);\n }\n return new Field<T>(`${name}`, type, nullable, metadata);\n }\n\n public readonly type: T;\n public readonly name: string;\n public readonly nullable: boolean;\n public readonly metadata: Map<string, string>;\n\n constructor(name: string, type: T, nullable = false, metadata?: Map<string, string> | null) {\n this.name = name;\n this.type = type;\n this.nullable = nullable;\n this.metadata = metadata || new Map();\n }\n\n public get typeId() { return this.type.typeId; }\n public get [Symbol.toStringTag]() { return 'Field'; }\n public toString() { return `${this.name}: ${this.type}`; }\n public clone<R extends DataType = T>(props: { name?: string | number; type?: R; nullable?: boolean; metadata?: Map<string, string> | null }): Field<R>;\n public clone<R extends DataType = T>(name?: string | number | Field<T>, type?: R, nullable?: boolean, metadata?: Map<string, string> | null): Field<R>;\n public clone<R extends DataType = T>(...args: any[]) {\n let [name, type, nullable, metadata] = args;\n (!args[0] || typeof args[0] !== 'object')\n ? ([name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata] = args)\n : ({ name = this.name, type = this.type, nullable = this.nullable, metadata = this.metadata } = args[0]);\n return Field.new<R>(name, type, nullable, metadata);\n }\n}\n\n// Add these here so they're picked up by the externs creator\n// in the build, and closure-compiler doesn't minify them away\n(Field.prototype as any).type = null;\n(Field.prototype as any).name = null;\n(Field.prototype as any).nullable = null;\n(Field.prototype as any).metadata = null;\n(Field.prototype as any)[kFieldSymbol] = true;\n\nObject.defineProperty(Field, Symbol.hasInstance, {\n value: function isFieldInstance(instance: any): instance is Field {\n return Function.prototype[Symbol.hasInstance].call(this, instance)\n || (this === Field && Field.isField(instance));\n },\n});\n\n/** @ignore */\nfunction mergeMaps<TKey, TVal>(m1?: Map<TKey, TVal> | null, m2?: Map<TKey, TVal> | null): Map<TKey, TVal> {\n return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n\n/** @ignore */\nfunction generateDictionaryMap(fields: Field[], dictionaries = new Map<number, DataType>()): Map<number, DataType> {\n\n for (let i = -1, n = fields.length; ++i < n;) {\n const field = fields[i];\n const type = field.type;\n if (DataType.isDictionary(type)) {\n if (!dictionaries.has(type.id)) {\n dictionaries.set(type.id, type.dictionary);\n } else if (dictionaries.get(type.id) !== type.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n if (type.children && type.children.length > 0) {\n generateDictionaryMap(type.children, dictionaries);\n }\n }\n\n return dictionaries;\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Field, Schema } from './schema.js';\nimport * as dtypes from './type.js';\nimport { Data, DataProps } from './data.js';\nimport { BuilderType, JavaScriptDataType } from './interfaces.js';\nimport { Vector, makeVector } from './vector.js';\nimport { Builder, BuilderOptions } from './builder.js';\nimport { instance as getBuilderConstructor } from './visitor/builderctor.js';\nimport { ArrayDataType, BigIntArray, JavaScriptArrayDataType, TypedArray, TypedArrayDataType } from './interfaces.js';\nimport { Table } from './table.js';\nimport { RecordBatch } from './recordbatch.js';\nimport { compareTypes } from './visitor/typecomparator.js';\n\nexport function makeBuilder<T extends dtypes.DataType = any, TNull = any>(options: BuilderOptions<T, TNull>): BuilderType<T, TNull> {\n\n const type = options.type;\n const builder = new (getBuilderConstructor.getVisitFn<T>(type)())(options) as Builder<T, TNull>;\n\n if (type.children && type.children.length > 0) {\n\n const children = options['children'] || [] as BuilderOptions[];\n const defaultOptions = { 'nullValues': options['nullValues'] };\n const getChildOptions = Array.isArray(children)\n ? ((_: Field, i: number) => children[i] || defaultOptions)\n : (({ name }: Field) => children[name] || defaultOptions);\n\n for (const [index, field] of type.children.entries()) {\n const { type } = field;\n const opts = getChildOptions(field, index);\n builder.children.push(makeBuilder({ ...opts, type }));\n }\n }\n\n return builder as BuilderType<T, TNull>;\n}\n\n/**\n * Creates a Vector from a JavaScript array via a {@link Builder}.\n * Use {@link makeVector} if you only want to create a vector from a typed array.\n *\n * @example\n * ```ts\n * const vf64 = vectorFromArray([1, 2, 3]);\n * const vi8 = vectorFromArray([1, 2, 3], new Int8);\n * const vdict = vectorFromArray(['foo', 'bar']);\n * const vstruct = vectorFromArray([{a: 'foo', b: 42}, {a: 'bar', b: 12}]);\n * ```\n */\nexport function vectorFromArray(values: readonly (null | undefined)[], type?: dtypes.Null): Vector<dtypes.Null>;\nexport function vectorFromArray(values: readonly (null | undefined | boolean)[], type?: dtypes.Bool): Vector<dtypes.Bool>;\nexport function vectorFromArray<T extends dtypes.Utf8 | dtypes.Dictionary<dtypes.Utf8> = dtypes.Dictionary<dtypes.Utf8, dtypes.Int32>>(values: readonly (null | undefined | string)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.TimestampMillisecond>(values: readonly (null | undefined | Date)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.Int>(values: readonly (null | undefined | number)[], type: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.Int64 | dtypes.Uint64 = dtypes.Int64>(values: readonly (null | undefined | bigint)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.Float = dtypes.Float64>(values: readonly (null | undefined | number)[], type?: T): Vector<T>;\nexport function vectorFromArray<T extends dtypes.DataType>(values: readonly (unknown)[], type: T): Vector<T>;\nexport function vectorFromArray<T extends readonly unknown[]>(values: T): Vector<JavaScriptArrayDataType<T>>;\n/** Creates a Vector from a typed array via {@link makeVector}. */\nexport function vectorFromArray<T extends TypedArray | BigIntArray>(data: T): Vector<TypedArrayDataType<T>>;\n\nexport function vectorFromArray<T extends dtypes.DataType>(data: Data<T>): Vector<T>;\nexport function vectorFromArray<T extends dtypes.DataType>(data: Vector<T>): Vector<T>;\nexport function vectorFromArray<T extends dtypes.DataType>(data: DataProps<T>): Vector<T>;\nexport function vectorFromArray<T extends TypedArray | BigIntArray | readonly unknown[]>(data: T): Vector<ArrayDataType<T>>;\n\nexport function vectorFromArray(init: any, type?: dtypes.DataType) {\n if (init instanceof Data || init instanceof Vector || init.type instanceof dtypes.DataType || ArrayBuffer.isView(init)) {\n return makeVector(init as any);\n }\n const options: IterableBuilderOptions = { type: type ?? inferType(init), nullValues: [null] };\n const chunks = [...builderThroughIterable(options)(init)];\n const vector = chunks.length === 1 ? chunks[0] : chunks.reduce((a, b) => a.concat(b));\n if (dtypes.DataType.isDictionary(vector.type)) {\n return vector.memoize();\n }\n return vector;\n}\n\n/**\n * Creates a {@link Table} from an array of objects.\n *\n * @param array A table of objects.\n */\nexport function tableFromJSON<T extends Record<string, unknown>>(array: T[]): Table<{ [P in keyof T]: JavaScriptDataType<T[P]> }> {\n const vector = vectorFromArray(array) as Vector<dtypes.Struct<any>>;\n const batch = new RecordBatch(new Schema(vector.type.children), vector.data[0]);\n return new Table(batch);\n}\n\n/** @ignore */\nfunction inferType<T extends readonly unknown[]>(values: T): JavaScriptArrayDataType<T>;\nfunction inferType(value: readonly unknown[]): dtypes.DataType {\n if (value.length === 0) { return new dtypes.Null; }\n let nullsCount = 0;\n let arraysCount = 0;\n let objectsCount = 0;\n let numbersCount = 0;\n let stringsCount = 0;\n let bigintsCount = 0;\n let booleansCount = 0;\n let datesCount = 0;\n\n for (const val of value) {\n if (val == null) { ++nullsCount; continue; }\n switch (typeof val) {\n case 'bigint': ++bigintsCount; continue;\n case 'boolean': ++booleansCount; continue;\n case 'number': ++numbersCount; continue;\n case 'string': ++stringsCount; continue;\n case 'object':\n if (Array.isArray(val)) {\n ++arraysCount;\n } else if (Object.prototype.toString.call(val) === '[object Date]') {\n ++datesCount;\n } else {\n ++objectsCount;\n }\n continue;\n }\n throw new TypeError('Unable to infer Vector type from input values, explicit type declaration expected.');\n }\n\n if (numbersCount + nullsCount === value.length) {\n return new dtypes.Float64;\n } else if (stringsCount + nullsCount === value.length) {\n return new dtypes.Dictionary(new dtypes.Utf8, new dtypes.Int32);\n } else if (bigintsCount + nullsCount === value.length) {\n return new dtypes.Int64;\n } else if (booleansCount + nullsCount === value.length) {\n return new dtypes.Bool;\n } else if (datesCount + nullsCount === value.length) {\n return new dtypes.TimestampMillisecond;\n } else if (arraysCount + nullsCount === value.length) {\n const array = value as Array<unknown>[];\n const childType = inferType(array[array.findIndex((ary) => ary != null)]);\n if (array.every((ary) => ary == null || compareTypes(childType, inferType(ary)))) {\n return new dtypes.List(new Field('', childType, true));\n }\n } else if (objectsCount + nullsCount === value.length) {\n const fields = new Map<string, Field>();\n for (const row of value as Record<string, unknown>[]) {\n for (const key of Object.keys(row)) {\n if (!fields.has(key) && row[key] != null) {\n // use the type inferred for the first instance of a found key\n fields.set(key, new Field(key, inferType([row[key]]), true));\n }\n }\n }\n return new dtypes.Struct([...fields.values()]);\n }\n\n throw new TypeError('Unable to infer Vector type from input values, explicit type declaration expected.');\n}\n\n/**\n * A set of options to create an Iterable or AsyncIterable `Builder` transform function.\n * @see {@link builderThroughIterable}\n * @see {@link builderThroughAsyncIterable}\n */\nexport interface IterableBuilderOptions<T extends dtypes.DataType = any, TNull = any> extends BuilderOptions<T, TNull> {\n highWaterMark?: number;\n queueingStrategy?: 'bytes' | 'count';\n dictionaryHashFunction?: (value: any) => string | number;\n valueToChildTypeId?: (builder: Builder<T, TNull>, value: any, offset: number) => number;\n}\n\n/** @ignore */\ntype ThroughIterable<T extends dtypes.DataType = any, TNull = any> = (source: Iterable<T['TValue'] | TNull>) => IterableIterator<Vector<T>>;\n\n/**\n * Transform a synchronous `Iterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector<T> following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `Iterable` of values to\n * transform. When called, this function returns an Iterator of `Vector<T>`.\n *\n * The resulting `Iterator<Vector<T>>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `Iterator<Vector<T>>`\n * will flush the underlying `Builder` (and yield a new `Vector<T>`) once the\n * Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `Iterator<Vector<T>>` will flush\n * the underlying `Builder` (and yield a new `Vector<T>`) once its `byteLength`\n * reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions<T, TNull>} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `Iterable` of values to\n * write, and returns an `Iterator` that yields Vectors according\n * to the chunking semantics defined in the `options` argument.\n * @nocollapse\n */\nexport function builderThroughIterable<T extends dtypes.DataType = any, TNull = any>(options: IterableBuilderOptions<T, TNull>) {\n const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? Number.POSITIVE_INFINITY : 2 ** 14 } = options;\n const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n return function* (source: Iterable<T['TValue'] | TNull>) {\n let numChunks = 0;\n const builder = makeBuilder(options);\n for (const value of source) {\n if (builder.append(value)[sizeProperty] >= highWaterMark) {\n ++numChunks && (yield builder.toVector());\n }\n }\n if (builder.finish().length > 0 || numChunks === 0) {\n yield builder.toVector();\n }\n } as ThroughIterable<T, TNull>;\n}\n\n/** @ignore */\ntype ThroughAsyncIterable<T extends dtypes.DataType = any, TNull = any> = (source: Iterable<T['TValue'] | TNull> | AsyncIterable<T['TValue'] | TNull>) => AsyncIterableIterator<Vector<T>>;\n\n/**\n * Transform an `AsyncIterable` of arbitrary JavaScript values into a\n * sequence of Arrow Vector<T> following the chunking semantics defined in\n * the supplied `options` argument.\n *\n * This function returns a function that accepts an `AsyncIterable` of values to\n * transform. When called, this function returns an AsyncIterator of `Vector<T>`.\n *\n * The resulting `AsyncIterator<Vector<T>>` yields Vectors based on the\n * `queueingStrategy` and `highWaterMark` specified in the `options` argument.\n *\n * * If `queueingStrategy` is `\"count\"` (or omitted), The `AsyncIterator<Vector<T>>`\n * will flush the underlying `Builder` (and yield a new `Vector<T>`) once the\n * Builder's `length` reaches or exceeds the supplied `highWaterMark`.\n * * If `queueingStrategy` is `\"bytes\"`, the `AsyncIterator<Vector<T>>` will flush\n * the underlying `Builder` (and yield a new `Vector<T>`) once its `byteLength`\n * reaches or exceeds the supplied `highWaterMark`.\n *\n * @param {IterableBuilderOptions<T, TNull>} options An object of properties which determine the `Builder` to create and the chunking semantics to use.\n * @returns A function which accepts a JavaScript `AsyncIterable` of values\n * to write, and returns an `AsyncIterator` that yields Vectors\n * according to the chunking semantics defined in the `options`\n * argument.\n * @nocollapse\n */\nexport function builderThroughAsyncIterable<T extends dtypes.DataType = any, TNull = any>(options: IterableBuilderOptions<T, TNull>) {\n const { ['queueingStrategy']: queueingStrategy = 'count' } = options;\n const { ['highWaterMark']: highWaterMark = queueingStrategy !== 'bytes' ? Number.POSITIVE_INFINITY : 2 ** 14 } = options;\n const sizeProperty: 'length' | 'byteLength' = queueingStrategy !== 'bytes' ? 'length' : 'byteLength';\n return async function* (source: Iterable<T['TValue'] | TNull> | AsyncIterable<T['TValue'] | TNull>) {\n let numChunks = 0;\n const builder = makeBuilder(options);\n for await (const value of source) {\n if (builder.append(value)[sizeProperty] >= highWaterMark) {\n ++numChunks && (yield builder.toVector());\n }\n }\n if (builder.finish().length > 0 || numChunks === 0) {\n yield builder.toVector();\n }\n } as ThroughAsyncIterable<T, TNull>;\n}\n", null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Type } from './enum.js';\nimport { Data, makeData } from './data.js';\nimport { vectorFromArray } from './factories.js';\nimport { makeVector, Vector } from './vector.js';\nimport { Field, Schema } from './schema.js';\nimport { DataType, Null, Struct, TypeMap } from './type.js';\nimport { compareSchemas } from './visitor/typecomparator.js';\nimport { distributeVectorsIntoRecordBatches } from './util/recordbatch.js';\n\nimport {\n isChunkedValid,\n computeChunkOffsets,\n computeChunkNullCounts,\n wrapChunkedCall1,\n wrapChunkedCall2,\n wrapChunkedIndexOf,\n sliceChunks,\n} from './util/chunk.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\n\nimport { DataProps } from './data.js';\nimport { clampRange, wrapIndex } from './util/vector.js';\nimport { ArrayDataType, BigIntArray, TypedArray, TypedArrayDataType } from './interfaces.js';\nimport { RecordBatch, _InternalEmptyPlaceholderRecordBatch } from './recordbatch.js';\n\n/** @ignore */\nconst kTableSymbol = Symbol.for('apache-arrow/Table');\n\n/** @ignore */\nexport interface Table<T extends TypeMap = any> {\n ///\n // Virtual properties for the TypeScript compiler.\n // These do not exist at runtime.\n ///\n readonly TType: Struct<T>;\n readonly TArray: Struct<T>['TArray'];\n readonly TValue: Struct<T>['TValue'];\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n */\n [Symbol.isConcatSpreadable]: true;\n}\n\n/**\n * Tables are collections of {@link Vector}s and have a {@link Schema}. Use the convenience methods {@link makeTable}\n * or {@link tableFromArrays} to create a table in JavaScript. To create a table from the IPC format, use\n * {@link tableFromIPC}.\n */\nexport class Table<T extends TypeMap = any> {\n\n /**\n * Check if an object is an instance of Table.\n * This works across different instances of the Arrow library.\n */\n /** @nocollapse */ static isTable(x: any): x is Table {\n return x?.[kTableSymbol] === true;\n }\n\n /** @internal */\n declare public readonly [kTableSymbol]: true;\n\n constructor();\n constructor(batches: Iterable<RecordBatch<T>>);\n constructor(...batches: readonly RecordBatch<T>[]);\n constructor(...columns: { [P in keyof T]: Vector<T[P]> }[]);\n constructor(...columns: { [P in keyof T]: Data<T[P]> | DataProps<T[P]> }[]);\n constructor(schema: Schema<T>, ...columns: { [P in keyof T]: Vector<T[P]> }[]);\n constructor(schema: Schema<T>, ...columns: { [P in keyof T]: Data<T[P]> | DataProps<T[P]> }[]);\n constructor(schema: Schema<T>, data?: RecordBatch<T> | RecordBatch<T>[]);\n constructor(schema: Schema<T>, data?: RecordBatch<T> | RecordBatch<T>[], offsets?: Uint32Array);\n constructor(...args: any[]) {\n\n if (args.length === 0) {\n this.batches = [];\n this.schema = new Schema([]);\n this._offsets = [0];\n return this;\n }\n\n let schema: Schema<T> | undefined;\n let offsets: Uint32Array | number[] | undefined;\n\n if (args[0] instanceof Schema) {\n schema = args.shift() as Schema<T>;\n }\n\n if (args.at(-1) instanceof Uint32Array) {\n offsets = args.pop();\n }\n\n const unwrap = (x: any): RecordBatch<T>[] => {\n if (x) {\n if (x instanceof RecordBatch) {\n return [x];\n } else if (x instanceof Table) {\n return x.batches;\n } else if (x instanceof Data) {\n if (x.type instanceof Struct) {\n return [new RecordBatch(new Schema(x.type.children), x as Data<Struct<any>>)];\n }\n } else if (Array.isArray(x)) {\n return x.flatMap(v => unwrap(v));\n } else if (typeof x[Symbol.iterator] === 'function') {\n return [...x].flatMap(v => unwrap(v));\n } else if (typeof x === 'object') {\n const keys = Object.keys(x) as (keyof T)[];\n const vecs = keys.map((k) => new Vector([x[k]]));\n const batchSchema = schema ?? new Schema(keys.map((k, i) => new Field(String(k), vecs[i].type, vecs[i].nullable)));\n const [, batches] = distributeVectorsIntoRecordBatches(batchSchema, vecs);\n return batches.length === 0 ? [new RecordBatch(x)] : batches;\n }\n }\n return [];\n };\n\n const batches = args.flatMap(v => unwrap(v));\n\n schema = schema ?? batches[0]?.schema ?? new Schema([]);\n\n if (!(schema instanceof Schema)) {\n throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n }\n\n for (const batch of batches) {\n if (!(batch instanceof RecordBatch)) {\n throw new TypeError('Table constructor expects a [Schema, RecordBatch[]] pair.');\n }\n if (!compareSchemas(schema, batch.schema)) {\n throw new TypeError('Table and inner RecordBatch schemas must be equivalent.');\n }\n }\n\n this.schema = schema;\n this.batches = batches;\n this._offsets = offsets ?? computeChunkOffsets(this.data);\n }\n\n declare protected _offsets: Uint32Array | number[];\n declare protected _nullCount: number;\n\n declare public readonly schema: Schema<T>;\n\n /**\n * The contiguous {@link RecordBatch `RecordBatch`} chunks of the Table rows.\n */\n declare public readonly batches: RecordBatch<T>[];\n\n /**\n * The contiguous {@link RecordBatch `RecordBatch`} chunks of the Table rows.\n */\n public get data() { return this.batches.map(({ data }) => data); }\n\n /**\n * The number of columns in this Table.\n */\n public get numCols() { return this.schema.fields.length; }\n\n /**\n * The number of rows in this Table.\n */\n public get numRows() {\n return this.data.reduce((numRows, data) => numRows + data.length, 0);\n }\n\n /**\n * The number of null rows in this Table.\n */\n public get nullCount() {\n if (this._nullCount === -1) {\n this._nullCount = computeChunkNullCounts(this.data);\n }\n return this._nullCount;\n }\n\n /**\n * Check whether an element is null.\n *\n * @param index The index at which to read the validity bitmap.\n */\n // @ts-ignore\n public isValid(index: number): boolean { return false; }\n\n /**\n * Get an element value by position.\n *\n * @param index The index of the element to read.\n */\n // @ts-ignore\n public get(index: number): Struct<T>['TValue'] | null { return null; }\n\n /**\n * Get an element value by position.\n * @param index The index of the element to read. A negative index will count back from the last element.\n */\n // @ts-ignore\n public at(index: number): Struct<T>['TValue'] | null {\n return this.get(wrapIndex(index, this.numRows));\n }\n\n /**\n * Set an element value by position.\n *\n * @param index The index of the element to write.\n * @param value The value to set.\n */\n // @ts-ignore\n public set(index: number, value: Struct<T>['TValue'] | null): void { return; }\n\n /**\n * Retrieve the index of the first occurrence of a value in an Vector.\n *\n * @param element The value to locate in the Vector.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n // @ts-ignore\n public indexOf(element: Struct<T>['TValue'], offset?: number): number { return -1; }\n\n /**\n * Iterator for rows in this Table.\n */\n public [Symbol.iterator]() {\n if (this.batches.length > 0) {\n return iteratorVisitor.visit(new Vector(this.data)) as IterableIterator<Struct<T>['TValue']>;\n }\n return (new Array(0))[Symbol.iterator]();\n }\n\n /**\n * Return a JavaScript Array of the Table rows.\n *\n * @returns An Array of Table rows.\n */\n public toArray() {\n return [...this];\n }\n\n /**\n * Returns a string representation of the Table rows.\n *\n * @returns A string representation of the Table rows.\n */\n public toString() {\n return `[\\n ${this.toArray().join(',\\n ')}\\n]`;\n }\n\n /**\n * Combines two or more Tables of the same schema.\n *\n * @param others Additional Tables to add to the end of this Tables.\n */\n public concat(...others: Table<T>[]) {\n const schema = this.schema;\n const data = this.data.concat(others.flatMap(({ data }) => data));\n return new Table(schema, data.map((data) => new RecordBatch(schema, data)));\n }\n\n /**\n * Return a zero-copy sub-section of this Table.\n *\n * @param begin The beginning of the specified portion of the Table.\n * @param end The end of the specified portion of the Table. This is exclusive of the element at the index 'end'.\n */\n public slice(begin?: number, end?: number): Table<T> {\n const schema = this.schema;\n [begin, end] = clampRange({ length: this.numRows }, begin, end);\n const data = sliceChunks(this.data, this._offsets, begin, end);\n return new Table(schema, data.map((chunk) => new RecordBatch(schema, chunk)));\n }\n\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n *\n * @param name The name of the child to retrieve.\n */\n public getChild<P extends keyof T>(name: P) {\n return this.getChildAt<T[P]>(this.schema.fields.findIndex((f) => f.name === name));\n }\n\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n *\n * @param index The index of the child to retrieve.\n */\n public getChildAt<R extends T[keyof T] = any>(index: number): Vector<R> | null {\n if (index > -1 && index < this.schema.fields.length) {\n const data = this.data.map((data) => data.children[index] as Data<R>);\n if (data.length === 0) {\n const { type } = this.schema.fields[index] as Field<R>;\n const empty = makeData<R>({ type, length: 0, nullCount: 0 });\n data.push(empty._changeLengthAndBackfillNullBitmap(this.numRows));\n }\n return new Vector(data);\n }\n return null;\n }\n\n /**\n * Sets a child Vector by name.\n *\n * @param name The name of the child to overwrite.\n * @returns A new Table with the supplied child for the specified name.\n */\n public setChild<P extends keyof T, R extends DataType>(name: P, child: Vector<R>) {\n return this.setChildAt(this.schema.fields?.findIndex((f) => f.name === name), child) as Table<T & { [K in P]: R }>;\n }\n\n /**\n * Sets a child Vector by index.\n *\n * @param index The index of the child to overwrite.\n * @returns A new Table with the supplied child at the specified index.\n */\n public setChildAt(index: number, child?: null): Table;\n public setChildAt<R extends DataType = any>(index: number, child: Vector<R>): Table;\n public setChildAt(index: number, child: any) {\n let schema: Schema = this.schema;\n let batches: RecordBatch[] = [...this.batches];\n if (index > -1 && index < this.numCols) {\n if (!child) {\n child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n }\n const fields = schema.fields.slice() as Field<any>[];\n const field = fields[index].clone({ type: child.type });\n const children = this.schema.fields.map((_, i) => this.getChildAt(i)!);\n [fields[index], children[index]] = [field, child];\n [schema, batches] = distributeVectorsIntoRecordBatches(schema, children);\n }\n return new Table(schema, batches);\n }\n\n /**\n * Construct a new Table containing only specified columns.\n *\n * @param columnNames Names of columns to keep.\n * @returns A new Table of columns matching the specified names.\n */\n public select<K extends keyof T = any>(columnNames: K[]) {\n const nameToIndex = this.schema.fields.reduce((m, f, i) => m.set(f.name as K, i), new Map<K, number>());\n return this.selectAt(columnNames.map((columnName) => nameToIndex.get(columnName)!).filter((x) => x > -1));\n }\n\n /**\n * Construct a new Table containing only columns at the specified indices.\n *\n * @param columnIndices Indices of columns to keep.\n * @returns A new Table of columns at the specified indices.\n */\n public selectAt<K extends T[keyof T] = any>(columnIndices: number[]) {\n const schema = this.schema.selectAt(columnIndices);\n const data = this.batches.map((batch) => batch.selectAt(columnIndices));\n return new Table<{ [key: string]: K }>(schema, data);\n }\n\n public assign<R extends TypeMap = any>(other: Table<R>) {\n\n const fields = this.schema.fields;\n const [indices, oldToNew] = other.schema.fields.reduce((memo, f2, newIdx) => {\n const [indices, oldToNew] = memo;\n const i = fields.findIndex((f) => f.name === f2.name);\n ~i ? (oldToNew[i] = newIdx) : indices.push(newIdx);\n return memo;\n }, [[], []] as number[][]);\n\n const schema = this.schema.assign(other.schema);\n const columns = [\n ...fields.map((_, i) => [i, oldToNew[i]]).map(([i, j]) =>\n (j === undefined ? this.getChildAt(i) : other.getChildAt(j))!),\n ...indices.map((i) => other.getChildAt(i)!)\n ].filter(Boolean) as Vector<(T & R)[keyof T | keyof R]>[];\n\n return new Table<T & R>(...distributeVectorsIntoRecordBatches<any>(schema, columns));\n }\n\n // Initialize this static property via an IIFE so bundlers don't tree-shake\n // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n protected static [Symbol.toStringTag] = ((proto: Table) => {\n (proto as any).schema = null;\n (proto as any).batches = [];\n (proto as any)._offsets = new Uint32Array([0]);\n (proto as any)._nullCount = -1;\n (proto as any)[Symbol.isConcatSpreadable] = true;\n (proto as any)[kTableSymbol] = true;\n (proto as any)['isValid'] = wrapChunkedCall1(isChunkedValid);\n (proto as any)['get'] = wrapChunkedCall1(getVisitor.getVisitFn(Type.Struct));\n (proto as any)['set'] = wrapChunkedCall2(setVisitor.getVisitFn(Type.Struct));\n (proto as any)['indexOf'] = wrapChunkedIndexOf(indexOfVisitor.getVisitFn(Type.Struct));\n return 'Table';\n })(Table.prototype);\n}\n\nObject.defineProperty(Table, Symbol.hasInstance, {\n value: function isTableInstance(instance: any): instance is Table {\n return Function.prototype[Symbol.hasInstance].call(this, instance)\n || (this === Table && Table.isTable(instance));\n },\n});\n\n\ntype VectorsMap<T extends TypeMap> = { [P in keyof T]: Vector<T[P]> };\n\n/**\n * Creates a new Table from an object of typed arrays.\n *\n* @example\n * ```ts\n * const table = makeTable({\n * a: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays.\n * @returns A new Table.\n */\nexport function makeTable<I extends Record<string | number | symbol, TypedArray>>(input: I): Table<{ [P in keyof I]: TypedArrayDataType<I[P]> }> {\n type T = { [P in keyof I]: TypedArrayDataType<I[P]> };\n const vecs = {} as VectorsMap<T>;\n const inputs = Object.entries(input) as [keyof I, I[keyof I]][];\n for (const [key, col] of inputs) {\n vecs[key] = makeVector(col);\n }\n return new Table<T>(vecs);\n}\n\n/**\n * Creates a new Table from an object of typed arrays or JavaScript arrays.\n *\n * @example\n * ```ts\n * const table = tableFromArrays({\n * a: [1, 2, 3],\n * b: new Int8Array([1, 2, 3]),\n * })\n * ```\n *\n * @param input Input an object of typed arrays or JavaScript arrays.\n * @returns A new Table.\n */\nexport function tableFromArrays<I extends Record<string | number | symbol, TypedArray | BigIntArray | readonly unknown[]>>(input: I): Table<{ [P in keyof I]: ArrayDataType<I[P]> }> {\n type T = { [P in keyof I]: ArrayDataType<I[P]> };\n const vecs = {} as VectorsMap<T>;\n const inputs = Object.entries(input) as [keyof I, I[keyof I]][];\n for (const [key, col] of inputs) {\n vecs[key] = vectorFromArray(col);\n }\n return new Table<T>(vecs);\n}\n", "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { Data, makeData } from './data.js';\nimport { Table } from './table.js';\nimport { Vector } from './vector.js';\nimport { Schema, Field } from './schema.js';\nimport { DataType, Struct, Null, TypeMap } from './type.js';\nimport { wrapIndex } from './util/vector.js';\n\nimport { instance as getVisitor } from './visitor/get.js';\nimport { instance as setVisitor } from './visitor/set.js';\nimport { instance as indexOfVisitor } from './visitor/indexof.js';\nimport { instance as iteratorVisitor } from './visitor/iterator.js';\n\n/** @ignore */\nconst kRecordBatchSymbol = Symbol.for('apache-arrow/RecordBatch');\n\n/** @ignore */\nexport interface RecordBatch<T extends TypeMap = any> {\n ///\n // Virtual properties for the TypeScript compiler.\n // These do not exist at runtime.\n ///\n readonly TType: Struct<T>;\n readonly TArray: Struct<T>['TArray'];\n readonly TValue: Struct<T>['TValue'];\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable\n */\n [Symbol.isConcatSpreadable]: true;\n}\n\n/**\n * A RecordBatch is a collection of equal-length columns conforming to a\n * particular {@link Schema}. A {@link Table} is composed of one or more\n * RecordBatches.\n */\nexport class RecordBatch<T extends TypeMap = any> {\n\n /**\n * Check if an object is an instance of RecordBatch.\n * This works across different instances of the Arrow library.\n */\n /** @nocollapse */ static isRecordBatch(x: any): x is RecordBatch {\n return x?.[kRecordBatchSymbol] === true;\n }\n\n /** @internal */\n declare public readonly [kRecordBatchSymbol]: true;\n\n constructor(columns: { [P in keyof T]: Data<T[P]> });\n constructor(schema: Schema<T>, data?: Data<Struct<T>>, metadata?: Map<string, string>);\n constructor(...args: any[]) {\n switch (args.length) {\n case 3:\n case 2: {\n [this.schema] = args;\n if (!(this.schema instanceof Schema)) {\n throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n }\n [,\n this.data = makeData({\n nullCount: 0,\n type: new Struct<T>(this.schema.fields),\n children: this.schema.fields.map((f) => makeData({ type: f.type, nullCount: 0 }))\n }),\n this._metadata = new Map()\n ] = args;\n if (!(this.data instanceof Data)) {\n throw new TypeError('RecordBatch constructor expects a [Schema, Data] pair.');\n }\n [this.schema, this.data] = ensureSameLengthData<T>(this.schema, this.data.children as Data<T[keyof T]>[], this.data.length);\n break;\n }\n case 1: {\n const [obj] = args;\n const { fields, children, length } = Object.keys(obj).reduce((memo, name, i) => {\n memo.children[i] = obj[name];\n memo.length = Math.max(memo.length, obj[name].length);\n memo.fields[i] = Field.new({ name, type: obj[name].type, nullable: true });\n return memo;\n }, {\n length: 0,\n fields: new Array<Field<T[keyof T]>>(),\n children: new Array<Data<T[keyof T]>>(),\n });\n\n const schema = new Schema<T>(fields);\n const data = makeData({ type: new Struct<T>(fields), length, children, nullCount: 0 });\n [this.schema, this.data] = ensureSameLengthData<T>(schema, data.children as Data<T[keyof T]>[], length);\n this._metadata = new Map();\n break;\n }\n default: throw new TypeError('RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.');\n }\n }\n\n protected _dictionaries?: Map<number, Vector>;\n protected _metadata: Map<string, string>;\n\n public readonly schema: Schema<T>;\n public readonly data: Data<Struct<T>>;\n\n /**\n * Custom metadata for this RecordBatch.\n */\n public get metadata() { return this._metadata; }\n\n public get dictionaries() {\n return this._dictionaries || (this._dictionaries = collectDictionaries(this.schema.fields, this.data.children));\n }\n\n /**\n * The number of columns in this RecordBatch.\n */\n public get numCols() { return this.schema.fields.length; }\n\n /**\n * The number of rows in this RecordBatch.\n */\n public get numRows() { return this.data.length; }\n\n /**\n * The number of null rows in this RecordBatch.\n */\n public get nullCount() {\n return this.data.nullCount;\n }\n\n /**\n * Check whether an row is null.\n * @param index The index at which to read the validity bitmap.\n */\n public isValid(index: number) {\n return this.data.getValid(index);\n }\n\n /**\n * Get a row by position.\n * @param index The index of the row to read.\n */\n public get(index: number) {\n return getVisitor.visit(this.data, index);\n }\n\n /**\n * Get a row value by position.\n * @param index The index of the row to read. A negative index will count back from the last row.\n */\n public at(index: number) {\n return this.get(wrapIndex(index, this.numRows));\n }\n\n /**\n * Set a row by position.\n * @param index The index of the row to write.\n * @param value The value to set.\n */\n public set(index: number, value: Struct<T>['TValue']) {\n return setVisitor.visit(this.data, index, value);\n }\n\n /**\n * Retrieve the index of the first occurrence of a row in an RecordBatch.\n * @param element The row to locate in the RecordBatch.\n * @param offset The index at which to begin the search. If offset is omitted, the search starts at index 0.\n */\n public indexOf(element: Struct<T>['TValue'], offset?: number): number {\n return indexOfVisitor.visit(this.data, element, offset);\n }\n\n /**\n * Iterator for rows in this RecordBatch.\n */\n public [Symbol.iterator]() {\n return iteratorVisitor.visit(new Vector([this.data])) as IterableIterator<Struct<T>['TValue']>;\n }\n\n /**\n * Return a JavaScript Array of the RecordBatch rows.\n * @returns An Array of RecordBatch rows.\n */\n public toArray() {\n return [...this];\n }\n\n /**\n * Combines two or more RecordBatch of the same schema.\n * @param others Additional RecordBatch to add to the end of this RecordBatch.\n */\n public concat(...others: RecordBatch<T>[]) {\n return new Table(this.schema, [this, ...others]);\n }\n\n /**\n * Return a zero-copy sub-section of this RecordBatch.\n * @param start The beginning of the specified portion of the RecordBatch.\n * @param end The end of the specified portion of the RecordBatch. This is exclusive of the row at the index 'end'.\n */\n public slice(begin?: number, end?: number): RecordBatch<T> {\n const [slice] = new Vector([this.data]).slice(begin, end).data;\n return new RecordBatch(this.schema, slice, this._metadata);\n }\n\n /**\n * Returns a child Vector by name, or null if this Vector has no child with the given name.\n * @param name The name of the child to retrieve.\n */\n public getChild<P extends keyof T>(name: P) {\n return this.getChildAt<T[P]>(this.schema.fields?.findIndex((f) => f.name === name));\n }\n\n /**\n * Returns a child Vector by index, or null if this Vector has no child at the supplied index.\n * @param index The index of the child to retrieve.\n */\n public getChildAt<R extends T[keyof T] = any>(index: number): Vector<R> | null {\n if (index > -1 && index < this.schema.fields.length) {\n return new Vector([this.data.children[index]]) as Vector<R>;\n }\n return null;\n }\n\n /**\n * Sets a child Vector by name.\n * @param name The name of the child to overwrite.\n * @returns A new RecordBatch with the new child for the specified name.\n */\n public setChild<P extends keyof T, R extends DataType>(name: P, child: Vector<R>) {\n return this.setChildAt(this.schema.fields?.findIndex((f) => f.name === name), child) as RecordBatch<T & { [K in P]: R }>;\n }\n\n /**\n * Sets a child Vector by index.\n * @param index The index of the child to overwrite.\n * @returns A new RecordBatch with the new child at the specified index.\n */\n public setChildAt(index: number, child?: null): RecordBatch;\n public setChildAt<R extends DataType = any>(index: number, child: Vector<R>): RecordBatch;\n public setChildAt(index: number, child: any) {\n let schema: Schema = this.schema;\n let data: Data<Struct> = this.data;\n if (index > -1 && index < this.numCols) {\n if (!child) {\n child = new Vector([makeData({ type: new Null, length: this.numRows })]);\n }\n const fields = schema.fields.slice() as Field<any>[];\n const children = data.children.slice() as Data<any>[];\n const field = fields[index].clone({ type: child.type });\n [fields[index], children[index]] = [field, child.data[0]];\n schema = new Schema(fields, new Map(this.schema.metadata));\n data = makeData({ type: new Struct<T>(fields), length: data.length, children });\n }\n return new RecordBatch(schema, data, this._metadata);\n }\n\n /**\n * Construct a new RecordBatch containing only specified columns.\n *\n * @param columnNames Names of columns to keep.\n * @returns A new RecordBatch of columns matching the specified names.\n */\n public select<K extends keyof T = any>(columnNames: K[]) {\n const schema = this.schema.select(columnNames);\n const type = new Struct(schema.fields);\n const children = [] as Data<T[K]>[];\n for (const name of columnNames) {\n const index = this.schema.fields.findIndex((f) => f.name === name);\n if (~index) {\n children[index] = this.data.children[index] as Data<T[K]>;\n }\n }\n return new RecordBatch(schema, makeData({ type, length: this.numRows, children }), this._metadata);\n }\n\n /**\n * Construct a new RecordBatch containing only columns at the specified indices.\n *\n * @param columnIndices Indices of columns to keep.\n * @returns A new RecordBatch of columns matching at the specified indices.\n */\n public selectAt<K extends T = any>(columnIndices: number[]) {\n const schema = this.schema.selectAt<K>(columnIndices);\n const children = columnIndices.map((i) => this.data.children[i]).filter(Boolean);\n const subset = makeData({ type: new Struct(schema.fields), length: this.numRows, children });\n return new RecordBatch<{ [P in keyof K]: K[P] }>(schema, subset, this._metadata);\n }\n\n // Initialize this static property via an IIFE so bundlers don't tree-shake\n // out this logic, but also so we're still compliant with `\"sideEffects\": false`\n protected static [Symbol.toStringTag] = ((proto: RecordBatch) => {\n (proto as any)._nullCount = -1;\n (proto as any)[Symbol.isConcatSpreadable] = true;\n (proto as any)[kRecordBatchSymbol] = true;\n return 'RecordBatch';\n })(RecordBatch.prototype);\n}\n\nObject.defineProperty(RecordBatch, Symbol.hasInstance, {\n value: function isRecordBatchInstance(instance: any): instance is RecordBatch {\n return Function.prototype[Symbol.hasInstance].call(this, instance)\n || (this === RecordBatch && RecordBatch.isRecordBatch(instance));\n },\n});\n\n\n/** @ignore */\nfunction ensureSameLengthData<T extends TypeMap = any>(\n schema: Schema<T>,\n chunks: Data<T[keyof T]>[],\n maxLength = chunks.reduce((max, col) => Math.max(max, col.length), 0)\n) {\n const fields = [...schema.fields];\n const children = [...chunks] as Data<T[keyof T]>[];\n const nullBitmapSize = ((maxLength + 63) & ~63) >> 3;\n\n for (const [idx, field] of schema.fields.entries()) {\n const chunk = chunks[idx];\n if (!chunk || chunk.length !== maxLength) {\n fields[idx] = field.clone({ nullable: true });\n children[idx] = chunk?._changeLengthAndBackfillNullBitmap(maxLength) ?? makeData({\n type: field.type,\n length: maxLength,\n nullCount: maxLength,\n nullBitmap: new Uint8Array(nullBitmapSize)\n });\n }\n }\n\n return [\n schema.assign(fields),\n makeData({ type: new Struct<T>(fields), length: maxLength, children })\n ] as [Schema<T>, Data<Struct<T>>];\n}\n\n/** @ignore */\nfunction collectDictionaries(fields: Field[], children: readonly Data[], dictionaries = new Map<number, Vector>()): Map<number, Vector> {\n if ((fields?.length ?? 0) > 0 && (fields?.length === children?.length)) {\n for (let i = -1, n = fields.length; ++i < n;) {\n const { type } = fields[i];\n const data = children[i];\n for (const next of [data, ...(data?.dictionary?.data || [])]) {\n collectDictionaries(type.children, next?.children, dictionaries);\n }\n if (DataType.isDictionary(type)) {\n const { id } = type;\n if (!dictionaries.has(id)) {\n if (data?.dictionary) {\n dictionaries.set(id, data.dictionary);\n }\n } else if (dictionaries.get(id) !== data.dictionary) {\n throw new Error(`Cannot create Schema containing two different dictionaries with the same Id`);\n }\n }\n }\n }\n return dictionaries;\n}\n\n/**\n * An internal class used by the `RecordBatchReader` and `RecordBatchWriter`\n * implementations to differentiate between a stream with valid zero-length\n * RecordBatches, and a stream with a Schema message, but no RecordBatches.\n * @see https://github.com/apache/arrow/pull/4373\n * @ignore\n * @private\n */\nexport class _InternalEmptyPlaceholderRecordBatch<T extends TypeMap = any> extends RecordBatch<T> {\n constructor(schema: Schema<T>, metadata?: Map<string, string>) {\n const children = schema.fields.map((f) => makeData({ type: f.type }));\n const data = makeData({ type: new Struct<T>(schema.fields), length: 0, nullCount: 0, children });\n super(schema, data, metadata || new Map());\n }\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nexport { MessageHeader } from './fb/message-header.js';\nexport { CompressionType } from './fb/compression-type.js';\n\nexport {\n Type,\n BufferType,\n DateUnit,\n TimeUnit,\n Precision,\n UnionMode,\n IntervalUnit,\n MetadataVersion,\n} from './enum.js';\n\nexport { Data, makeData } from './data.js';\nexport type { TypeMap } from './type.js';\nexport {\n DataType,\n Null,\n Bool,\n Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n Float, Float16, Float32, Float64,\n Utf8, LargeUtf8, Utf8View,\n Binary, LargeBinary, BinaryView,\n FixedSizeBinary,\n Date_, DateDay, DateMillisecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Decimal,\n List,\n LargeList,\n Struct,\n Union, DenseUnion, SparseUnion,\n Dictionary,\n Interval, IntervalDayTime, IntervalYearMonth, IntervalMonthDayNano,\n Duration, DurationSecond, DurationMillisecond, DurationMicrosecond, DurationNanosecond,\n FixedSizeList,\n Map_\n} from './type.js';\n\nexport { Table, makeTable, tableFromArrays } from './table.js';\nexport { Vector, makeVector } from './vector.js';\nexport { Visitor } from './visitor.js';\nexport { Schema, Field } from './schema.js';\n\nexport { MapRow } from './row/map.js';\nexport { StructRow } from './row/struct.js';\nexport type { StructRowProxy } from './row/struct.js';\n\nexport { Builder } from './builder.js';\nexport { makeBuilder, vectorFromArray, tableFromJSON, builderThroughIterable, builderThroughAsyncIterable } from './factories.js';\nexport type { BuilderOptions } from './builder.js';\nexport { BoolBuilder } from './builder/bool.js';\nexport { NullBuilder } from './builder/null.js';\nexport { DateBuilder, DateDayBuilder, DateMillisecondBuilder } from './builder/date.js';\nexport { DecimalBuilder } from './builder/decimal.js';\nexport { DictionaryBuilder } from './builder/dictionary.js';\nexport { FixedSizeBinaryBuilder } from './builder/fixedsizebinary.js';\nexport { FloatBuilder, Float16Builder, Float32Builder, Float64Builder } from './builder/float.js';\nexport { IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder } from './builder/int.js';\nexport { TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder } from './builder/time.js';\nexport { TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder } from './builder/timestamp.js';\nexport { IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder, IntervalMonthDayNanoBuilder } from './builder/interval.js';\nexport { DurationBuilder, DurationSecondBuilder, DurationMillisecondBuilder, DurationMicrosecondBuilder, DurationNanosecondBuilder } from './builder/duration.js';\nexport { Utf8Builder } from './builder/utf8.js';\nexport { Utf8ViewBuilder } from './builder/utf8view.js';\nexport { LargeUtf8Builder } from './builder/largeutf8.js';\nexport { BinaryBuilder } from './builder/binary.js';\nexport { BinaryViewBuilder } from './builder/binaryview.js';\nexport { LargeBinaryBuilder } from './builder/largebinary.js';\nexport { ListBuilder } from './builder/list.js';\nexport { LargeListBuilder } from './builder/largelist.js';\nexport { FixedSizeListBuilder } from './builder/fixedsizelist.js';\nexport { MapBuilder } from './builder/map.js';\nexport { StructBuilder } from './builder/struct.js';\nexport { UnionBuilder, SparseUnionBuilder, DenseUnionBuilder } from './builder/union.js';\n\nexport { ByteStream, AsyncByteStream, AsyncByteQueue } from './io/stream.js';\nexport type { ReadableSource, WritableSink } from './io/stream.js';\nexport { RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader } from './ipc/reader.js';\nexport { RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter } from './ipc/writer.js';\nexport { tableToIPC, tableFromIPC } from './ipc/serialization.js';\nexport { compressionRegistry } from './ipc/compression/registry.js';\nexport type { Codec } from './ipc/compression/registry.js';\nexport { MessageReader, AsyncMessageReader, JSONMessageReader } from './ipc/message.js';\nexport { Message } from './ipc/metadata/message.js';\nexport { RecordBatch } from './recordbatch.js';\nexport type { ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions } from './io/interfaces.js';\n\nexport {\n isArrowSchema,\n isArrowField,\n isArrowDataType,\n isArrowData,\n isArrowVector,\n isArrowRecordBatch,\n isArrowTable,\n} from './util/typecheck.js';\n\nimport * as util_bn_ from './util/bn.js';\nimport * as util_int_ from './util/int.js';\nimport * as util_bit_ from './util/bit.js';\nimport * as util_math_ from './util/math.js';\nimport * as util_buffer_ from './util/buffer.js';\nimport * as util_vector_ from './util/vector.js';\nimport * as util_pretty_ from './util/pretty.js';\n\nimport * as util_interval_ from './util/interval.js';\nexport type * from './util/interval.js';\n\nimport * as util_typecheck_ from './util/typecheck.js';\n\nimport { compareSchemas, compareFields, compareTypes } from './visitor/typecomparator.js';\n\n/** @ignore */\nexport const util = {\n ...util_bn_,\n ...util_int_,\n ...util_bit_,\n ...util_math_,\n ...util_buffer_,\n ...util_vector_,\n ...util_pretty_,\n ...util_interval_,\n ...util_typecheck_,\n compareSchemas,\n compareFields,\n compareTypes,\n};\n", "// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport streamAdapters from './io/adapters.js';\nimport { Builder } from './builder.js';\nimport { RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, } from './ipc/reader.js';\nimport { RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, } from './ipc/writer.js';\nimport { toDOMStream } from './io/whatwg/iterable.js';\nimport { builderThroughDOMStream } from './io/whatwg/builder.js';\nimport { recordBatchReaderThroughDOMStream } from './io/whatwg/reader.js';\nimport { recordBatchWriterThroughDOMStream } from './io/whatwg/writer.js';\n\nstreamAdapters.toDOMStream = toDOMStream;\nBuilder['throughDOM'] = builderThroughDOMStream;\nRecordBatchReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchFileReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchStreamReader['throughDOM'] = recordBatchReaderThroughDOMStream;\nRecordBatchWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\nRecordBatchFileWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\nRecordBatchStreamWriter['throughDOM'] = recordBatchWriterThroughDOMStream;\n\nexport type {\n TypeMap, StructRowProxy,\n ReadableSource, WritableSink,\n ArrowJSONLike, FileHandle, Readable, Writable, ReadableWritable, ReadableDOMStreamOptions,\n IntervalDayTimeObject, IntervalMonthDayNanoObject,\n Codec\n} from './Arrow.js';\n\nexport {\n DateUnit, IntervalUnit, MessageHeader, MetadataVersion, Precision, TimeUnit, Type, UnionMode, BufferType,\n Data, makeData,\n DataType,\n Null,\n Bool,\n Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64,\n Float, Float16, Float32, Float64,\n Utf8, LargeUtf8, Utf8View,\n Binary, LargeBinary, BinaryView,\n FixedSizeBinary,\n Date_, DateDay, DateMillisecond,\n Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond,\n Time, TimeSecond, TimeMillisecond, TimeMicrosecond, TimeNanosecond,\n Decimal,\n List,\n LargeList,\n Struct, StructRow,\n Union, DenseUnion, SparseUnion,\n Dictionary,\n Interval, IntervalDayTime, IntervalYearMonth, IntervalMonthDayNano,\n Duration, DurationSecond, DurationMillisecond, DurationMicrosecond, DurationNanosecond,\n FixedSizeList,\n Map_, MapRow,\n Table, makeTable, tableFromArrays,\n Schema, Field,\n Visitor,\n Vector, makeVector, vectorFromArray, tableFromJSON,\n ByteStream, AsyncByteStream, AsyncByteQueue,\n RecordBatchReader, RecordBatchFileReader, RecordBatchStreamReader, AsyncRecordBatchFileReader, AsyncRecordBatchStreamReader,\n RecordBatchWriter, RecordBatchFileWriter, RecordBatchStreamWriter, RecordBatchJSONWriter,\n tableFromIPC, tableToIPC,\n MessageReader, AsyncMessageReader, JSONMessageReader,\n Message,\n RecordBatch,\n util,\n Builder, makeBuilder, builderThroughIterable, builderThroughAsyncIterable,\n compressionRegistry, CompressionType,\n isArrowSchema,\n isArrowField,\n isArrowDataType,\n isArrowData,\n isArrowVector,\n isArrowRecordBatch,\n isArrowTable\n} from './Arrow.js';\n\nexport {\n BinaryBuilder, BinaryViewBuilder, LargeBinaryBuilder,\n BoolBuilder,\n DateBuilder, DateDayBuilder, DateMillisecondBuilder,\n DecimalBuilder,\n DictionaryBuilder,\n FixedSizeBinaryBuilder,\n FixedSizeListBuilder,\n FloatBuilder, Float16Builder, Float32Builder, Float64Builder,\n IntervalBuilder, IntervalDayTimeBuilder, IntervalYearMonthBuilder, IntervalMonthDayNanoBuilder,\n DurationBuilder, DurationSecondBuilder, DurationMillisecondBuilder, DurationMicrosecondBuilder, DurationNanosecondBuilder,\n IntBuilder, Int8Builder, Int16Builder, Int32Builder, Int64Builder, Uint8Builder, Uint16Builder, Uint32Builder, Uint64Builder,\n ListBuilder,\n LargeListBuilder,\n MapBuilder,\n NullBuilder,\n StructBuilder,\n TimestampBuilder, TimestampSecondBuilder, TimestampMillisecondBuilder, TimestampMicrosecondBuilder, TimestampNanosecondBuilder,\n TimeBuilder, TimeSecondBuilder, TimeMillisecondBuilder, TimeMicrosecondBuilder, TimeNanosecondBuilder,\n UnionBuilder, DenseUnionBuilder, SparseUnionBuilder,\n Utf8Builder, Utf8ViewBuilder, LargeUtf8Builder\n} from './Arrow.js';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {DataType, Field, KeyType, Schema, SchemaMetadata} from '@loaders.gl/schema';\nimport * as arrow from 'apache-arrow';\n\ntype ArrowDictionaryKeyType =\n | arrow.Int8\n | arrow.Int16\n | arrow.Int32\n | arrow.Uint8\n | arrow.Uint16\n | arrow.Uint32;\n\n/** Controls whether Arrow schema conversion uses variable-width view types. */\nexport type ArrowViewTypeMode = 'never' | 'prefer' | 'require';\n\n/** Options for converting loaders.gl schemas to Apache Arrow schemas. */\nexport type ArrowSchemaConversionOptions = {\n /** Selects standard types, supported view types with fallback, or required view types. */\n viewTypes?: ArrowViewTypeMode;\n};\n\n/** Runtime support for optional Apache Arrow variable-width view types. */\nexport type ArrowViewTypeSupport = {\n /** Whether the installed Apache Arrow exports `BinaryView`. */\n binaryView: boolean;\n /** Whether the installed Apache Arrow exports `Utf8View`. */\n utf8View: boolean;\n};\n\ntype ArrowDataTypeConstructor = new () => arrow.DataType;\ntype OptionalArrowViewConstructors = {\n BinaryView?: ArrowDataTypeConstructor;\n Utf8View?: ArrowDataTypeConstructor;\n};\ntype OptionalArrowViewGuards = {\n isBinaryView?: (value: unknown) => boolean;\n isUtf8View?: (value: unknown) => boolean;\n};\n\n/** Returns the variable-width view types exported by the installed Apache Arrow runtime. */\nexport function getArrowViewTypeSupport(): ArrowViewTypeSupport {\n const constructors = getArrowViewConstructors();\n return {\n binaryView: typeof constructors.BinaryView === 'function',\n utf8View: typeof constructors.Utf8View === 'function'\n };\n}\n\n/** Convert Apache Arrow Schema (class instance) to a serialized Schema (plain data) */\nexport function convertArrowToSchema(arrowSchema: arrow.Schema): Schema {\n return serializeArrowSchema(arrowSchema);\n}\n\n/** Convert Apache Arrow Schema (class instance) to a serialized Schema (plain data) */\nexport function convertSchemaToArrow(\n schema: Schema,\n options?: ArrowSchemaConversionOptions\n): arrow.Schema {\n return deserializeArrowSchema(schema, options);\n}\n\n/** Convert Apache Arrow Schema (class instance) to a serialized Schema (plain data) */\nexport function serializeArrowSchema(arrowSchema: arrow.Schema): Schema {\n return {\n fields: arrowSchema.fields.map(arrowField => serializeArrowField(arrowField)),\n metadata: serializeArrowMetadata(arrowSchema.metadata)\n };\n}\n\n/** Convert a serialized Schema (plain data) to an Apache Arrow Schema (class instance) */\nexport function deserializeArrowSchema(\n schema: Schema,\n options?: ArrowSchemaConversionOptions\n): arrow.Schema {\n return new arrow.Schema(\n schema.fields.map(field => deserializeArrowField(field, options)),\n deserializeArrowMetadata(schema.metadata)\n );\n}\n\n/** Convert Apache Arrow Schema metadata (Map<string, string>) to serialized metadata (Record<string, string> */\nexport function serializeArrowMetadata(arrowMetadata: Map<string, string>): SchemaMetadata {\n return Object.fromEntries(arrowMetadata);\n}\n\n/** Convert serialized metadata (Record<string, string> to Apache Arrow Schema metadata (Map<string, string>) to */\nexport function deserializeArrowMetadata(metadata?: SchemaMetadata): Map<string, string> {\n return metadata ? new Map(Object.entries(metadata)) : new Map<string, string>();\n}\n\n/** Convert Apache Arrow Field (class instance) to serialized Field (plain data) */\nexport function serializeArrowField(field: arrow.Field): Field {\n return {\n name: field.name,\n type: serializeArrowType(field.type),\n nullable: field.nullable,\n metadata: serializeArrowMetadata(field.metadata)\n };\n}\n\n/** Convert a serialized Field (plain data) to an Apache Arrow Field (class instance)*/\nexport function deserializeArrowField(\n field: Field,\n options?: ArrowSchemaConversionOptions\n): arrow.Field {\n return new arrow.Field(\n field.name,\n deserializeArrowType(field.type, options),\n field.nullable,\n deserializeArrowMetadata(field.metadata)\n );\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function serializeArrowType(arrowType: arrow.DataType): DataType {\n if (isArrowViewType(arrowType, 'BinaryView')) {\n return 'binary-view';\n }\n if (isArrowViewType(arrowType, 'Utf8View')) {\n return 'utf8-view';\n }\n\n switch (arrowType.constructor) {\n case arrow.Null:\n return 'null';\n case arrow.Binary:\n return 'binary';\n case arrow.FixedSizeBinary:\n return {\n type: 'fixed-size-binary',\n byteWidth: (arrowType as arrow.FixedSizeBinary).byteWidth\n };\n case arrow.Bool:\n return 'bool';\n case arrow.Int:\n const intType = arrowType as arrow.Int;\n return `${intType.isSigned ? 'u' : ''}int${intType.bitWidth}`;\n case arrow.Int8:\n return 'int8';\n case arrow.Int16:\n return 'int16';\n case arrow.Int32:\n return 'int32';\n case arrow.Int64:\n return 'int64';\n case arrow.Uint8:\n return 'uint8';\n case arrow.Uint16:\n return 'uint16';\n case arrow.Uint32:\n return 'uint32';\n case arrow.Uint64:\n return 'uint64';\n case arrow.Float:\n const precision = (arrowType as arrow.Float).precision;\n // return `float(precision + 1) * 16`;\n switch (precision) {\n case arrow.Precision.HALF:\n return 'float16';\n case arrow.Precision.SINGLE:\n return 'float32';\n case arrow.Precision.DOUBLE:\n return 'float64';\n default:\n return 'float16';\n }\n case arrow.Float16:\n return 'float16';\n case arrow.Float32:\n return 'float32';\n case arrow.Float64:\n return 'float64';\n case arrow.Utf8:\n return 'utf8';\n case arrow.Decimal:\n const decimal = arrowType as arrow.Decimal;\n return {\n type: 'decimal',\n bitWidth: decimal.bitWidth,\n precision: decimal.precision,\n scale: decimal.scale\n };\n case arrow.Date_:\n const dateUnit = (arrowType as arrow.Date_).unit;\n return dateUnit === arrow.DateUnit.DAY ? 'date-day' : 'date-millisecond';\n case arrow.DateDay:\n return 'date-day';\n case arrow.DateMillisecond:\n return 'date-millisecond';\n case arrow.Time:\n const timeUnit = (arrowType as arrow.Time).unit;\n switch (timeUnit) {\n case arrow.TimeUnit.SECOND:\n return 'time-second';\n case arrow.TimeUnit.MILLISECOND:\n return 'time-millisecond';\n case arrow.TimeUnit.MICROSECOND:\n return 'time-microsecond';\n case arrow.TimeUnit.NANOSECOND:\n return 'time-nanosecond';\n default:\n return 'time-second';\n }\n case arrow.TimeMillisecond:\n return 'time-millisecond';\n case arrow.TimeSecond:\n return 'time-second';\n case arrow.TimeMicrosecond:\n return 'time-microsecond';\n case arrow.TimeNanosecond:\n return 'time-nanosecond';\n case arrow.Timestamp:\n const timeStampUnit = (arrowType as arrow.Timestamp).unit;\n switch (timeStampUnit) {\n case arrow.TimeUnit.SECOND:\n return 'timestamp-second';\n case arrow.TimeUnit.MILLISECOND:\n return 'timestamp-millisecond';\n case arrow.TimeUnit.MICROSECOND:\n return 'timestamp-microsecond';\n case arrow.TimeUnit.NANOSECOND:\n return 'timestamp-nanosecond';\n default:\n return 'timestamp-second';\n }\n case arrow.TimestampSecond:\n return 'timestamp-second';\n case arrow.TimestampMillisecond:\n return 'timestamp-millisecond';\n case arrow.TimestampMicrosecond:\n return 'timestamp-microsecond';\n case arrow.TimestampNanosecond:\n return 'timestamp-nanosecond';\n case arrow.Interval:\n const intervalUnit = (arrowType as arrow.Interval).unit;\n switch (intervalUnit) {\n case arrow.IntervalUnit.DAY_TIME:\n return 'interval-daytime';\n case arrow.IntervalUnit.YEAR_MONTH:\n return 'interval-yearmonth';\n default:\n return 'interval-daytime';\n }\n case arrow.IntervalDayTime:\n return 'interval-daytime';\n case arrow.IntervalYearMonth:\n return 'interval-yearmonth';\n case arrow.Map_:\n const mapType = arrowType as arrow.Map_;\n return {\n type: 'map',\n keysSorted: mapType.keysSorted,\n children: mapType.children.map(arrowField => serializeArrowField(arrowField))\n };\n case arrow.List:\n const listType = arrowType as arrow.List;\n const listField = listType.valueField;\n return {\n type: 'list',\n children: [serializeArrowField(listField)]\n };\n case arrow.FixedSizeList:\n const fixedSizeList = arrowType as arrow.FixedSizeList;\n return {\n type: 'fixed-size-list',\n listSize: fixedSizeList.listSize,\n children: [serializeArrowField(fixedSizeList.children[0])]\n };\n case arrow.Struct:\n const structType = arrowType as arrow.Struct;\n return {\n type: 'struct',\n children: structType.children.map(arrowField => serializeArrowField(arrowField))\n };\n case arrow.Dictionary:\n const dictionaryType = arrowType as arrow.Dictionary;\n return {\n type: 'dictionary',\n id: dictionaryType.id,\n indices: serializeArrowDictionaryKeyType(dictionaryType.indices),\n dictionary: serializeArrowType(dictionaryType.dictionary),\n isOrdered: dictionaryType.isOrdered\n };\n default:\n throw new Error(`arrow type not supported: ${arrowType.constructor.name}`);\n }\n}\n\n/** Converts a serializable loaders.gl data type to hydrated arrow data type */\n// eslint-disable-next-line complexity\nexport function deserializeArrowType(\n dataType: DataType,\n options?: ArrowSchemaConversionOptions\n): arrow.DataType {\n if (typeof dataType === 'object') {\n switch (dataType.type) {\n case 'decimal':\n return new arrow.Decimal(dataType.scale, dataType.precision, dataType.bitWidth);\n case 'map': {\n const children = dataType.children.map(arrowField =>\n deserializeArrowField(arrowField, options)\n );\n return new arrow.Map_(children as any, dataType.keysSorted);\n }\n case 'list': {\n const field = deserializeArrowField(dataType.children[0], options);\n return new arrow.List(field);\n }\n case 'fixed-size-list': {\n const child = deserializeArrowField(dataType.children[0], options);\n return new arrow.FixedSizeList(dataType.listSize, child);\n }\n case 'fixed-size-binary':\n return new arrow.FixedSizeBinary(dataType.byteWidth);\n case 'struct': {\n const children = dataType.children.map(arrowField =>\n deserializeArrowField(arrowField, options)\n );\n return new arrow.Struct(children);\n }\n case 'dictionary': {\n return new arrow.Dictionary(\n deserializeArrowType(dataType.dictionary, options),\n deserializeArrowDictionaryKeyType(dataType.indices),\n dataType.id,\n dataType.isOrdered\n );\n }\n default:\n throw new Error('array type not supported');\n }\n }\n\n switch (dataType) {\n case 'null':\n return new arrow.Null();\n case 'binary':\n return makeVariableWidthArrowType('BinaryView', new arrow.Binary(), options);\n case 'binary-view':\n return makeRequiredArrowViewType('BinaryView');\n case 'bool':\n return new arrow.Bool();\n case 'int8':\n return new arrow.Int8();\n case 'int16':\n return new arrow.Int16();\n case 'int32':\n return new arrow.Int32();\n case 'int64':\n return new arrow.Int64();\n case 'uint8':\n return new arrow.Uint8();\n case 'uint16':\n return new arrow.Uint16();\n case 'uint32':\n return new arrow.Uint32();\n case 'uint64':\n return new arrow.Uint64();\n case 'float16':\n return new arrow.Float16();\n case 'float32':\n return new arrow.Float32();\n case 'float64':\n return new arrow.Float64();\n case 'utf8':\n return makeVariableWidthArrowType('Utf8View', new arrow.Utf8(), options);\n case 'utf8-view':\n return makeRequiredArrowViewType('Utf8View');\n case 'date-day':\n return new arrow.DateDay();\n case 'date-millisecond':\n return new arrow.DateMillisecond();\n case 'time-second':\n return new arrow.TimeSecond();\n case 'time-millisecond':\n return new arrow.TimeMillisecond();\n case 'time-microsecond':\n return new arrow.TimeMicrosecond();\n case 'time-nanosecond':\n return new arrow.TimeNanosecond();\n case 'timestamp-second':\n return new arrow.TimestampSecond();\n case 'timestamp-millisecond':\n return new arrow.TimestampMillisecond();\n case 'timestamp-microsecond':\n return new arrow.TimestampMicrosecond();\n case 'timestamp-nanosecond':\n return new arrow.TimestampNanosecond();\n case 'interval-daytime':\n return new arrow.IntervalDayTime();\n case 'interval-yearmonth':\n return new arrow.IntervalYearMonth();\n default:\n throw new Error('array type not supported');\n }\n}\n\nfunction getArrowViewConstructors(): OptionalArrowViewConstructors {\n return arrow as unknown as OptionalArrowViewConstructors;\n}\n\nfunction isArrowViewType(\n arrowType: arrow.DataType,\n viewTypeName: keyof OptionalArrowViewConstructors\n): boolean {\n const constructor = getArrowViewConstructors()[viewTypeName];\n if (constructor && arrowType instanceof constructor) {\n return true;\n }\n\n const guards = arrow.DataType as unknown as OptionalArrowViewGuards;\n const guard = viewTypeName === 'BinaryView' ? guards.isBinaryView : guards.isUtf8View;\n return Boolean(guard?.(arrowType));\n}\n\nfunction makeVariableWidthArrowType(\n viewTypeName: keyof OptionalArrowViewConstructors,\n fallbackType: arrow.DataType,\n options?: ArrowSchemaConversionOptions\n): arrow.DataType {\n const viewTypeMode = options?.viewTypes || 'never';\n if (viewTypeMode === 'never') {\n return fallbackType;\n }\n\n const constructor = getArrowViewConstructors()[viewTypeName];\n if (constructor) {\n return new constructor();\n }\n if (viewTypeMode === 'require') {\n throw new Error(\n `${viewTypeName} requires apache-arrow 21.2.0 or later; the installed runtime does not support it`\n );\n }\n return fallbackType;\n}\n\nfunction makeRequiredArrowViewType(\n viewTypeName: keyof OptionalArrowViewConstructors\n): arrow.DataType {\n const constructor = getArrowViewConstructors()[viewTypeName];\n if (!constructor) {\n throw new Error(\n `${viewTypeName} requires apache-arrow 21.2.0 or later; the installed runtime does not support it`\n );\n }\n return new constructor();\n}\n\n/** Converts Arrow dictionary index types to serializable schema key types. */\nfunction serializeArrowDictionaryKeyType(arrowType: arrow.DataType): KeyType {\n if (arrowType instanceof arrow.Int) {\n const prefix = arrowType.isSigned ? 'int' : 'uint';\n const keyType = `${prefix}${arrowType.bitWidth}`;\n if (isSchemaDictionaryKeyType(keyType)) {\n return keyType;\n }\n }\n\n switch (arrowType.constructor) {\n case arrow.Int8:\n return 'int8';\n case arrow.Int16:\n return 'int16';\n case arrow.Int32:\n return 'int32';\n case arrow.Uint8:\n return 'uint8';\n case arrow.Uint16:\n return 'uint16';\n case arrow.Uint32:\n return 'uint32';\n default:\n throw new Error(`arrow dictionary index type not supported: ${arrowType.constructor.name}`);\n }\n}\n\n/** Checks whether a string is a supported serialized dictionary key type. */\nfunction isSchemaDictionaryKeyType(keyType: string): keyType is KeyType {\n return ['int8', 'int16', 'int32', 'uint8', 'uint16', 'uint32'].includes(keyType);\n}\n\n/** Converts serializable schema dictionary key types to Arrow index types. */\nfunction deserializeArrowDictionaryKeyType(keyType: KeyType): ArrowDictionaryKeyType {\n switch (keyType) {\n case 'int8':\n return new arrow.Int8();\n case 'int16':\n return new arrow.Int16();\n case 'int32':\n return new arrow.Int32();\n case 'uint8':\n return new arrow.Uint8();\n case 'uint16':\n return new arrow.Uint16();\n case 'uint32':\n return new arrow.Uint32();\n default:\n throw new Error(`schema dictionary index type not supported: ${keyType}`);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Type deduction\nimport type {Schema, Field, ArrayType, Table} from '@loaders.gl/schema';\nimport {getDataTypeFromArray, getDataTypeFromValue} from './data-type';\n\n/**\n * SCHEMA SUPPORT - AUTODEDUCTION\n * @param {*} table\n * @param {*} schema\n * @returns\n */\nexport function deduceTableSchema(table: Table): Schema {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return deduceSchemaFromRows(table.data);\n\n case 'geojson-table':\n return deduceSchemaFromGeoJSON(table.features);\n\n case 'columnar-table':\n return deduceSchemaFromColumns(table.data);\n\n case 'arrow-table':\n default:\n throw new Error('Deduce schema');\n }\n}\n\nexport function deduceSchema(\n data: unknown[][] | {[key: string]: unknown}[] | {[key: string]: unknown[]}\n): Schema {\n return Array.isArray(data) ? deduceSchemaFromRows(data) : deduceSchemaFromColumns(data);\n}\n\n/** Given an object with columnar arrays, try to deduce a schema */\nfunction deduceSchemaFromColumns(columnarTable: {[key: string]: ArrayType}): Schema {\n const fields: Field[] = [];\n for (const [columnName, column] of Object.entries(columnarTable)) {\n const field = deduceFieldFromColumn(column, columnName);\n fields.push(field);\n }\n return {fields, metadata: {}};\n}\n\n/** Given an array of rows, try to deduce a schema */\nfunction deduceSchemaFromRows(rowTable: unknown[][] | {[key: string]: unknown}[]): Schema {\n if (!rowTable.length) {\n throw new Error('deduce from empty table');\n }\n const fields: Field[] = [];\n const row0 = rowTable[0];\n // TODO - fields can be nullable, false detection...\n // Could look at additional rows if nulls in first row\n // TODO - if array, column names will be numbers\n for (const [columnName, value] of Object.entries(row0)) {\n fields.push(deduceFieldFromValue(value, columnName));\n }\n\n return {fields, metadata: {}};\n}\n\n/** Given a GeoJSON, try to deduce a schema */\nfunction deduceSchemaFromGeoJSON(features: {properties: Record<string, number> | null}[]): Schema {\n if (!features.length) {\n throw new Error('deduce from empty table');\n }\n const fields: Field[] = [];\n const row0 = features[0].properties || {};\n // TODO - fields can be nullable, false detection...\n // Could look at additional rows if nulls in first row\n // TODO - if array, column names will be numbers\n for (const [columnName, value] of Object.entries(row0)) {\n fields.push(deduceFieldFromValue(value, columnName));\n }\n\n return {fields, metadata: {}};\n}\n\n/** Given a column (i.e. array), attempt to deduce an appropriate `Field` */\nfunction deduceFieldFromColumn(column: ArrayType, name: string): Field {\n if (ArrayBuffer.isView(column)) {\n const type = getDataTypeFromArray(column);\n return {\n name,\n type: type.type || 'null',\n nullable: type.nullable\n // metadata: {}\n };\n }\n\n if (Array.isArray(column) && column.length > 0) {\n const value = column[0];\n const type = getDataTypeFromValue(value);\n // TODO - support nested schemas?\n return {\n name,\n type,\n nullable: true\n // metadata: {},\n };\n }\n\n throw new Error('empty table');\n}\n\n/** Given a value, attempt to deduce an appropriate `Field` */\nfunction deduceFieldFromValue(value: unknown, name: string): Field {\n const type = getDataTypeFromValue(value);\n return {\n name,\n type,\n nullable: true\n // metadata: {}\n };\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable no-else-return */\n\nimport type {Table, ArrayRowTable, ObjectRowTable} from '@loaders.gl/schema';\n\nexport function isTable(table: any): table is Table {\n const shape = typeof table === 'object' && table?.shape;\n switch (shape) {\n case 'array-row-table':\n case 'object-row-table':\n return Array.isArray(table.data);\n\n case 'geojson-table':\n return Array.isArray(table.features);\n\n case 'columnar-table':\n return table.data && typeof table.data === 'object';\n\n case 'arrow-table':\n return Boolean(table?.data?.numRows !== undefined);\n\n default:\n return false;\n }\n}\n\n/**\n * Returns the length of the table (i.e. the number of rows)\n */\nexport function getTableLength(table: Table): number {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return table.data.length;\n\n case 'geojson-table':\n return table.features.length;\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n return arrowTable.numRows;\n\n case 'columnar-table':\n for (const column of Object.values(table.data)) {\n return column.length || 0;\n }\n return 0;\n default:\n throw new Error('table');\n }\n}\n\n/**\n * Returns the number of columns in the table\n * @throws Fails to deduce number of columns if the table has no schema and is empty\n */\nexport function getTableNumCols(table: Table): number {\n if (table.schema) {\n return table.schema.fields.length;\n }\n if (getTableLength(table) === 0) {\n throw new Error('empty table');\n }\n switch (table.shape) {\n case 'array-row-table':\n return table.data[0].length;\n case 'object-row-table':\n return Object.keys(table.data[0]).length;\n case 'geojson-table':\n return Object.keys(table.features[0]).length;\n case 'columnar-table':\n return Object.keys(table.data).length;\n case 'arrow-table':\n const arrowTable = table.data as any;\n return arrowTable.numCols;\n default:\n throw new Error('table');\n }\n}\n\n/** Get a table cell value at row index and column name */\nexport function getTableCell(table: Table, rowIndex: number, columnName: string): unknown {\n switch (table.shape) {\n case 'array-row-table':\n const columnIndex = getTableColumnIndex(table, columnName);\n return table.data[rowIndex][columnIndex];\n\n case 'object-row-table':\n return table.data[rowIndex][columnName];\n\n case 'geojson-table':\n return table.features[rowIndex][columnName];\n\n case 'columnar-table':\n const column = table.data[columnName];\n return column[rowIndex];\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n const arrowColumnIndex = arrowTable.schema.fields.findIndex(\n field => field.name === columnName\n );\n return arrowTable.getChildAt(arrowColumnIndex)?.get(rowIndex);\n\n default:\n throw new Error('todo');\n }\n}\n\n/** Get a table cell value at row index and column name */\nexport function getTableCellAt(table: Table, rowIndex: number, columnIndex: number): unknown {\n switch (table.shape) {\n case 'array-row-table':\n return table.data[rowIndex][columnIndex];\n\n case 'object-row-table':\n const columnName1 = getTableColumnName(table, columnIndex);\n return table.data[rowIndex][columnName1];\n\n case 'geojson-table':\n const columnName2 = getTableColumnName(table, columnIndex);\n return table.features[rowIndex][columnName2];\n\n case 'columnar-table':\n const columnName3 = getTableColumnName(table, columnIndex);\n const column = table.data[columnName3];\n return column[rowIndex];\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n return arrowTable.getChildAt(columnIndex)?.get(rowIndex);\n\n default:\n throw new Error('todo');\n }\n}\n\n/** Deduce the table row shape */\nexport function getTableRowShape(table: Table): 'array-row-table' | 'object-row-table' {\n switch (table.shape) {\n case 'array-row-table':\n case 'object-row-table':\n return table.shape;\n\n case 'geojson-table':\n // TODO - this is not correct, geojson-table is not a row table\n return 'object-row-table';\n\n case 'columnar-table':\n default:\n throw new Error('Not a row table');\n }\n}\n\n/** Get the index of a named table column. Requires the table to have a schema */\nexport function getTableColumnIndex(table: Table, columnName: string): number {\n const columnIndex = table.schema?.fields.findIndex(field => field.name === columnName);\n if (columnIndex === undefined) {\n throw new Error(columnName);\n }\n return columnIndex;\n}\n\n/** Get the name of a table column by index. Requires the table to have a schema */\nexport function getTableColumnName(table: Table, columnIndex: number): string {\n const columnName = table.schema?.fields[columnIndex]?.name;\n if (!columnName) {\n throw new Error(`${columnIndex}`);\n }\n return columnName;\n}\n\n/**\n * Returns one row of the table in object format.\n * @param target Optional parameter will be used if needed to store the row. Can be reused between calls to improve performance\n * @returns an array representing the row. May be the original array in the row, a new object, or the target parameter\n */\n// eslint-disable-next-line complexity\nexport function getTableRowAsObject(\n table: Table,\n rowIndex: number,\n target?: {[columnName: string]: unknown},\n copy?: 'copy'\n): {[columnName: string]: unknown} {\n switch (table.shape) {\n case 'object-row-table':\n return copy ? Object.fromEntries(Object.entries(table.data[rowIndex])) : table.data[rowIndex];\n\n case 'array-row-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] = table.data[rowIndex][i];\n }\n return objectRow;\n }\n throw new Error('no schema');\n\n case 'geojson-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n // TODO - should lift properties to top level\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] = table.features[rowIndex][i];\n }\n return objectRow;\n }\n throw new Error('no schema');\n\n case 'columnar-table':\n if (table.schema) {\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (let i = 0; i < table.schema.fields.length; i++) {\n objectRow[table.schema.fields[i].name] =\n table.data[table.schema.fields[i].name][rowIndex];\n }\n return objectRow;\n } else {\n // eslint-disable-line no-else-return\n const objectRow: {[columnName: string]: unknown} = target || {};\n for (const [name, column] of Object.entries(table.data)) {\n objectRow[name] = column[rowIndex];\n }\n return objectRow;\n }\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n const objectRow: {[columnName: string]: unknown} = target || {};\n const row = arrowTable.get(rowIndex);\n const schema = arrowTable.schema;\n for (let i = 0; i < schema.fields.length; i++) {\n objectRow[schema.fields[i].name] = row?.[schema.fields[i].name];\n }\n return objectRow;\n\n default:\n throw new Error('shape');\n }\n}\n\n/**\n * Returns one row of the table in array format.\n * @param target Optional parameter will be used if needed to store the row. Can be reused between calls to improve performance.\n * @returns an array representing the row. May be the original array in the row, a new object, or the target parameter\n */\n// eslint-disable-next-line complexity\nexport function getTableRowAsArray(\n table: Table,\n rowIndex: number,\n target?: unknown[],\n copy?: 'copy'\n): unknown[] {\n switch (table.shape) {\n case 'array-row-table':\n return copy ? Array.from(table.data[rowIndex]) : table.data[rowIndex];\n\n case 'object-row-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.data[rowIndex][table.schema.fields[i].name];\n }\n return arrayRow;\n }\n // Warning: just slap on the values, this risks mismatches between rows\n return Object.values(table.data[rowIndex]);\n\n case 'geojson-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n // TODO - should lift properties to top level\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.features[rowIndex][table.schema.fields[i].name];\n }\n return arrayRow;\n }\n // Warning: just slap on the values, this risks mismatches between rows\n return Object.values(table.features[rowIndex]);\n\n case 'columnar-table':\n if (table.schema) {\n const arrayRow: unknown[] = target || [];\n for (let i = 0; i < table.schema.fields.length; i++) {\n arrayRow[i] = table.data[table.schema.fields[i].name][rowIndex];\n }\n return arrayRow;\n } else {\n // eslint-disable-line no-else-return\n const arrayRow: unknown[] = target || [];\n let i = 0;\n for (const column of Object.values(table.data)) {\n arrayRow[i] = column[rowIndex];\n i++;\n }\n return arrayRow;\n }\n\n case 'arrow-table':\n const arrowTable = table.data as any;\n const arrayRow: unknown[] = target || [];\n const row = arrowTable.get(rowIndex);\n const schema = arrowTable.schema;\n for (let i = 0; i < schema.fields.length; i++) {\n arrayRow[i] = row?.[schema.fields[i].name];\n }\n return arrayRow;\n\n default:\n throw new Error('shape');\n }\n}\n\n/** Convert any table into array row format */\nexport function makeArrayRowTable(table: Table): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format */\nexport function makeObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format */\nexport function makeColumnarTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n\n// Row Iterators\n\n/**\n * Iterate over table rows\n * @param table\n * @param shape\n */\nexport function* makeRowIterator(\n table: Table,\n shape: 'object-row-table' | 'array-row-table'\n): Iterable<unknown[] | {[key: string]: unknown}> {\n switch (shape) {\n case 'array-row-table':\n yield* makeArrayRowIterator(table);\n break;\n case 'object-row-table':\n yield* makeObjectRowIterator(table);\n break;\n\n default:\n throw new Error(`Unknown row type ${shape}`);\n }\n}\n\n/**\n * Streaming processing: Iterate over table, yielding array rows\n * @param table\n * @param shape\n */\nexport function* makeArrayRowIterator(table: Table, target: unknown[] = []): Iterable<unknown[]> {\n const length = getTableLength(table);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n yield getTableRowAsArray(table, rowIndex, target);\n }\n}\n\n/**\n * Streaming processing: Iterate over table, yielding object rows\n * @param table\n * @param shape\n */\nexport function* makeObjectRowIterator(\n table: Table,\n target: {[key: string]: unknown} = {}\n): Iterable<{[key: string]: unknown}> {\n const length = getTableLength(table);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n yield getTableRowAsObject(table, rowIndex, target);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// import type {TypedArray,} from '../../../types/types';\nimport type {Field} from '@loaders.gl/schema';\nimport {getArrayTypeFromDataType} from '../../schema/data-type';\n\nexport interface ArrayType<T = unknown> {\n readonly length: number;\n [n: number]: T;\n}\n\nexport function makeColumnFromField(field: Field, length: number): ArrayType {\n const ArrayType = getArrayTypeFromDataType(field.type, field.nullable);\n return new ArrayType(length);\n}\n\n/*\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction deduceSchema(rows) {\n const row = rows[0];\n\n const schema = {};\n let i = 0;\n for (const columnName in row) {\n const value = row[columnName];\n switch (typeof value) {\n case 'number':\n case 'boolean':\n // TODO - booleans could be handled differently...\n schema[columnName] = {name: String(columnName), index: i, type: Float32Array};\n break;\n\n case 'object':\n schema[columnName] = {name: String(columnName), index: i, type: Array};\n break;\n\n case 'string':\n default:\n schema[columnName] = {name: String(columnName), index: i, type: Array};\n // We currently only handle numeric rows\n // TODO we could offer a function to map strings to numbers?\n }\n i++;\n }\n return schema;\n}\n*/\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\nimport type {Table, ArrowTableBatch} from '@loaders.gl/schema';\n\nimport {convertSchemaToArrow} from '../../schema/convert-arrow-schema';\nimport {getTableLength, getTableNumCols, getTableCellAt} from '../tables/table-accessors';\n\n/**\n * Returns an iterator that yields a single table as a sequence of ArrowTable batches.\n * @note All batches will have the same shape and schema as the original table.\n */\nexport function* makeArrowTableBatchIterator(\n table: Table,\n options?: {batchSize?: number}\n): IterableIterator<ArrowTableBatch> {\n for (const batch of makeArrowRecordBatchIterator(table, options)) {\n const arrowTable = new arrow.Table([batch]);\n yield {\n ...batch,\n shape: 'arrow-table',\n schema: table.schema,\n batchType: 'data',\n length: arrowTable.numRows,\n data: arrowTable\n };\n }\n}\n\n/**\n * Returns an iterator that yields a single table as a sequence of arrow.RecordBatch batches.\n * @note All batches will have the same shape and schema as the original table.\n */\nexport function* makeArrowRecordBatchIterator(\n table: Table,\n options?: {batchSize?: number}\n): IterableIterator<arrow.RecordBatch> {\n const arrowSchema = convertSchemaToArrow(table.schema!);\n\n const length = getTableLength(table);\n const numColumns = getTableNumCols(table);\n const batchSize = options?.batchSize || length;\n\n const builders = arrowSchema?.fields.map(arrowField =>\n arrow.makeBuilder({\n type: arrowField.type,\n nullValues: [null, undefined]\n })\n );\n const structField = new arrow.Struct(arrowSchema.fields);\n\n let batchLength = 0;\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n for (let columnIndex = 0; columnIndex < numColumns; ++columnIndex) {\n const value = getTableCellAt(table, rowIndex, columnIndex);\n\n const builder = builders[columnIndex];\n builder.append(value);\n }\n\n batchLength++;\n\n if (batchLength >= batchSize) {\n const datas = builders.map(builder => builder.flush());\n const structData = new arrow.Data(structField, 0, batchLength, 0, undefined, datas);\n yield new arrow.RecordBatch(arrowSchema, structData);\n batchLength = 0;\n }\n }\n\n if (batchLength > 0) {\n const datas = builders.map(builder => builder.flush());\n const structData = new arrow.Data(structField, 0, batchLength, 0, undefined, datas);\n yield new arrow.RecordBatch(arrowSchema, structData);\n batchLength = 0;\n }\n\n builders.map(builder => builder.finish());\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\nimport type {\n Table,\n ArrayRowTable,\n ColumnarTable,\n ObjectRowTable,\n GeoJSONTable,\n ArrowTable,\n Feature\n} from '@loaders.gl/schema';\n\nimport {convertTable} from './convert-table';\nimport {convertArrowToSchema} from '../../schema/convert-arrow-schema';\nimport {makeArrowRecordBatchIterator} from '../batches/make-arrow-batch-iterator';\n\n/**\n * * Convert a loaders.gl Table to an Apache Arrow Table\n * @param mesh\n * @param metadata\n * @param batchSize\n * @returns\n */\nexport function convertTableToArrow(table: Table, options?: {batchSize?: number}): arrow.Table {\n switch (table.shape) {\n case 'arrow-table':\n return table.data;\n\n case 'columnar-table':\n // TODO - optimized implementation is possible\n // return convertColumnarTableToArrow(table, options);\n\n // fall through\n\n default:\n const arrowBatchIterator = makeArrowRecordBatchIterator(table, options);\n return new arrow.Table(arrowBatchIterator);\n }\n}\n\n/**\n * Convert an Apache Arrow table to a loaders.gl Table\n * @note Currently does not convert schema\n */\nexport function convertArrowToTable(arrow: arrow.Table, shape: 'arrow-table'): ArrowTable;\nexport function convertArrowToTable(arrow: arrow.Table, shape: 'columnar-table'): ColumnarTable;\nexport function convertArrowToTable(arrow: arrow.Table, shape: 'object-row-table'): ObjectRowTable;\nexport function convertArrowToTable(arrow: arrow.Table, shape: 'array-row-table'): ArrayRowTable;\nexport function convertArrowToTable(arrow: arrow.Table, shape: 'geojson-table'): GeoJSONTable;\nexport function convertArrowToTable(arrow: arrow.Table, shape: 'columnar-table'): ColumnarTable;\nexport function convertArrowToTable(arrow: arrow.Table, shape: Table['shape']): Table;\n\n/**\n * Convert an Apache Arrow table to a loaders.gl Table\n * @note Currently does not convert schema\n */\nexport function convertArrowToTable(arrowTable: arrow.Table, shape: Table['shape']): Table {\n switch (shape) {\n case 'arrow-table':\n return convertArrowToArrowTable(arrowTable);\n case 'array-row-table':\n return convertArrowToArrayRowTable(arrowTable);\n case 'object-row-table':\n return convertArrowToObjectRowTable(arrowTable);\n case 'columnar-table':\n return convertArrowToColumnarTable(arrowTable);\n case 'geojson-table':\n return convertArrowToGeoJSONTable(arrowTable);\n default:\n throw new Error(shape);\n }\n}\n\n/**\n * Wrap an apache arrow table in a loaders.gl table wrapper.\n * From this additional conversions are available.\n * @param arrowTable\n * @returns\n */\nfunction convertArrowToArrowTable(arrowTable: arrow.Table): ArrowTable {\n return {\n shape: 'arrow-table',\n schema: convertArrowToSchema(arrowTable.schema),\n data: arrowTable\n };\n}\n\nfunction convertArrowToArrayRowTable(arrowTable: arrow.Table): Table {\n const columnarTable = convertArrowToColumnarTable(arrowTable);\n return convertTable(columnarTable, 'array-row-table');\n}\n\nfunction convertArrowToObjectRowTable(arrowTable: arrow.Table): Table {\n const columnarTable = convertArrowToColumnarTable(arrowTable);\n return convertTable(columnarTable, 'object-row-table');\n}\n\n/**\n * Convert an Apache Arrow table to a ColumnarTable\n * @note Currently does not convert schema\n */\nfunction convertArrowToColumnarTable(arrowTable: arrow.Table): ColumnarTable {\n // TODO - avoid calling `getColumn` on columns we are not interested in?\n // Add options object?\n\n const columns: ColumnarTable['data'] = {};\n\n for (const field of arrowTable.schema.fields) {\n // This (is intended to) coalesce all record batches into a single typed array\n const arrowColumn = arrowTable.getChild(field.name);\n const values = arrowColumn?.toArray();\n columns[field.name] = values;\n }\n\n const schema = convertArrowToSchema(arrowTable.schema);\n\n return {\n shape: 'columnar-table',\n schema,\n data: columns\n };\n}\n\n/**\n * Convert an Apache Arrow table to a GeoJSONTable\n * @note Currently does not convert schema\n */\nfunction convertArrowToGeoJSONTable(arrowTable: arrow.Table): GeoJSONTable {\n const schema = convertArrowToSchema(arrowTable.schema);\n\n const features: Feature[] = [];\n\n for (let row = 0; row < arrowTable.numRows; row++) {\n // parse arrow geometry to geojson feature\n const properties = arrowTable.get(row)?.toJSON() || {};\n features.push({type: 'Feature', geometry: null!, properties});\n }\n\n return {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n schema,\n features\n };\n}\n\n// /**\n// * Wrap an apache arrow table in a loaders.gl table wrapper.\n// * From this additional conversions are available.\n// * @param arrowTable\n// * @returns\n// */\n// function convertArrowToArrowTable(arrowTable: arrow.Table): ArrowTable {\n// return {\n// shape: 'arrow-table',\n// schema: convertArrowToSchema(arrowTable.schema),\n// data: arrowTable\n// };\n// }\n\n// function convertArrowToArrayRowTable(arrowTable: arrow.Table): Table {\n// const columnarTable = convertArrowToColumnarTable(arrowTable);\n// return convertTable(columnarTable, 'array-row-table');\n// }\n\n// function convertArrowToObjectRowTable(arrowTable: arrow.Table): Table {\n// const columnarTable = convertArrowToColumnarTable(arrowTable);\n// return convertTable(columnarTable, 'object-row-table');\n// }\n\n// /**\n// * Convert an Apache Arrow table to a ColumnarTable\n// * @note Currently does not convert schema\n// */\n// function convertArrowToColumnarTable(arrowTable: arrow.Table): ColumnarTable {\n// // TODO - avoid calling `getColumn` on columns we are not interested in?\n// // Add options object?\n\n// const columns: ColumnarTable['data'] = {};\n\n// for (const field of arrowTable.schema.fields) {\n// // This (is intended to) coalesce all record batches into a single typed array\n// const arrowColumn = arrowTable.getChild(field.name);\n// const values = arrowColumn?.toArray();\n// columns[field.name] = values;\n// }\n\n// const schema = convertArrowToSchema(arrowTable.schema);\n\n// return {\n// shape: 'columnar-table',\n// schema,\n// data: columns\n// };\n// }\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {\n Table,\n ArrayRowTable,\n ObjectRowTable,\n ColumnarTable,\n ArrowTable\n} from '@loaders.gl/schema';\nimport {\n getTableCell,\n getTableLength,\n getTableRowAsArray,\n getTableRowAsObject\n} from './table-accessors';\nimport {deduceTableSchema} from '../../schema/deduce-table-schema';\nimport {makeColumnFromField} from './table-column';\nimport {convertTableToArrow} from './convert-arrow-table';\n\nexport function convertTable(table: Table, shape: 'object-row-table'): ObjectRowTable;\nexport function convertTable(table: Table, shape: 'array-row-table'): ArrayRowTable;\nexport function convertTable(table: Table, shape: 'columnar-table'): ColumnarTable;\nexport function convertTable(table: Table, shape: 'arrow-table'): ArrowTable;\n\n/**\n * Convert a table to a different shape\n * @param table\n * @param shape\n * @returns\n */\nexport function convertTable(\n table: Table,\n shape: 'object-row-table' | 'array-row-table' | 'columnar-table' | 'arrow-table'\n) {\n switch (shape) {\n case 'object-row-table':\n return convertToObjectRowTable(table);\n case 'array-row-table':\n return convertToArrayRowTable(table);\n case 'columnar-table':\n return convertToColumnarTable(table);\n case 'arrow-table':\n return convertToArrowTable(table);\n default:\n throw new Error(shape);\n }\n}\n\n/** Convert any simple table into columnar format */\nexport function convertToColumnarTable(table: Table): ColumnarTable {\n // TODO - should schema really be optional?\n const schema = table.schema || deduceTableSchema(table);\n const fields = table.schema?.fields || [];\n\n if (table.shape === 'columnar-table') {\n return {...table, schema};\n }\n\n const length = getTableLength(table);\n\n const columns: {[column: string]: ArrayLike<unknown>} = {};\n for (const field of fields) {\n const column = makeColumnFromField(field, length);\n columns[field.name] = column;\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n column[rowIndex] = getTableCell(table, rowIndex, field.name);\n }\n }\n\n return {\n shape: 'columnar-table',\n schema,\n data: columns\n };\n}\n\n/** Convert any table into array row format */\nexport function convertToArrayRowTable(table: Table): ArrayRowTable {\n if (table.shape === 'array-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<unknown[]>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsArray(table, rowIndex);\n }\n return {\n shape: 'array-row-table',\n schema: table.schema,\n data\n };\n}\n\n/** Convert any table into object row format */\nexport function convertToObjectRowTable(table: Table): ObjectRowTable {\n if (table.shape === 'object-row-table') {\n return table;\n }\n const length = getTableLength(table);\n const data = new Array<{[key: string]: unknown}>(length);\n for (let rowIndex = 0; rowIndex < length; rowIndex++) {\n data[rowIndex] = getTableRowAsObject(table, rowIndex);\n }\n return {\n shape: 'object-row-table',\n schema: table.schema,\n data\n };\n}\n\n/**\n * Convert a table to apache arrow format\n * @note this depends on the `@loaders.gl/arrow module being imported\n */\nexport function convertToArrowTable(table: Table): ArrowTable {\n const schema = table.schema || deduceTableSchema(table);\n const arrowTable = convertTableToArrow({...table, schema});\n return {\n shape: 'arrow-table',\n schema,\n data: arrowTable\n };\n}\n\n/**\n *\n * @note - should be part of schema module\n *\nexport function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable {\n const tableKeys = Object.keys(columnarTable);\n const tableRowsCount = columnarTable[tableKeys[0]].length;\n\n const rowFormatTable: {}[] = [];\n\n for (let index = 0; index < tableRowsCount; index++) {\n const tableItem = {};\n for (let keyIndex = 0; keyIndex < tableKeys.length; keyIndex++) {\n const fieldName = tableKeys[keyIndex];\n tableItem[fieldName] = columnarTable[fieldName][index];\n }\n rowFormatTable.push(tableItem);\n }\n\n return {\n shape: 'object-row-table',\n schema: columnarTable.schema,\n data: rowFormatTable\n };\n}\n*/\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {\n convertArrowToTable as convertArrowToTableImplementation,\n convertTableToArrow as convertTableToArrowImplementation\n} from './lib/table/tables/convert-arrow-table';\nimport {convertTable as convertTableImplementation} from './lib/table/tables/convert-table';\nimport {\n convertToArrayRow as convertToArrayRowImplementation,\n convertToObjectRow as convertToObjectRowImplementation\n} from './lib/table/tables/row-utils';\n\n/**\n * @deprecated Use `convert(input, targetShape, [TableConverter])` from `@loaders.gl/schema-utils`.\n */\nexport const convertTable: typeof convertTableImplementation = ((...args) =>\n convertTableImplementation(\n ...(args as Parameters<typeof convertTableImplementation>)\n )) as typeof convertTableImplementation;\n\n/**\n * @deprecated Use `convert(input, 'object-row-table', [TableConverter])` from `@loaders.gl/schema-utils`.\n */\nexport const convertArrowToTable: typeof convertArrowToTableImplementation = ((...args) =>\n convertArrowToTableImplementation(\n ...(args as Parameters<typeof convertArrowToTableImplementation>)\n )) as typeof convertArrowToTableImplementation;\n\n/**\n * @deprecated Use `convert(input, 'arrow', [TableConverter, ArrowConverter])`.\n */\nexport const convertTableToArrow: typeof convertTableToArrowImplementation = ((...args) =>\n convertTableToArrowImplementation(\n ...(args as Parameters<typeof convertTableToArrowImplementation>)\n )) as typeof convertTableToArrowImplementation;\n\n/**\n * @deprecated Use `convert(input, 'object-row-table', [TableConverter])` for table conversions.\n */\nexport const convertToObjectRow: typeof convertToObjectRowImplementation = ((...args) =>\n convertToObjectRowImplementation(\n ...(args as Parameters<typeof convertToObjectRowImplementation>)\n )) as typeof convertToObjectRowImplementation;\n\n/**\n * @deprecated Use `convert(input, 'array-row-table', [TableConverter])` for table conversions.\n */\nexport const convertToArrayRow: typeof convertToArrayRowImplementation = ((...args) =>\n convertToArrayRowImplementation(\n ...(args as Parameters<typeof convertToArrayRowImplementation>)\n )) as typeof convertToArrayRowImplementation;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Schema\nexport {getArrayTypeFromDataType} from './lib/schema/data-type';\nexport {convert} from './lib/converters/converters';\nexport type {Converter, ConversionContext} from './lib/converters/converters';\n\n// Schema utils\nexport {\n convertArrowToSchema,\n convertSchemaToArrow,\n // DETAILED FUNCTIONS\n serializeArrowSchema,\n deserializeArrowSchema,\n serializeArrowMetadata,\n deserializeArrowMetadata,\n serializeArrowField,\n deserializeArrowField,\n serializeArrowType,\n deserializeArrowType\n} from './lib/schema/convert-arrow-schema';\nexport type {\n ArrowSchemaConversionOptions,\n ArrowViewTypeMode,\n ArrowViewTypeSupport\n} from './lib/schema/convert-arrow-schema';\nexport {getArrowViewTypeSupport} from './lib/schema/convert-arrow-schema';\nexport {getDataTypeFromArray} from './lib/schema/data-type';\n\n// TABLE CATEGORY UTILS\n\nexport {deduceTableSchema} from './lib/schema/deduce-table-schema';\nexport {makeTableFromData} from './lib/table/tables/make-table';\nexport {makeTableFromBatches} from './lib/table/batches/make-table-from-batches';\n\nexport type {TableShape} from './lib/table/tables/table-converter/table-converter';\nexport {TABLE_CONVERTERS, TableConverter} from './lib/table/tables/table-converter/table-converter';\nexport {\n convertTable,\n convertToObjectRow,\n convertToArrayRow,\n convertArrowToTable,\n convertTableToArrow\n} from './deprecated';\n\nexport {\n makeTableBatchIterator,\n makeBatchFromTable\n} from './lib/table/batches/make-table-batch-iterator';\nexport {\n makeArrowTableBatchIterator,\n makeArrowRecordBatchIterator\n} from './lib/table/batches/make-arrow-batch-iterator';\nexport {convertBatch, convertBatches} from './lib/table/batches/convert-batches';\n\nexport {\n isArrayRowTable,\n isObjectRowTable,\n isColumnarTable,\n isGeoJSONTable,\n isArrowTable\n} from './lib/table/tables/table-types';\n\nexport {\n isTable,\n getTableLength,\n getTableNumCols,\n getTableCell,\n getTableCellAt,\n getTableRowShape,\n getTableColumnIndex,\n getTableColumnName,\n getTableRowAsObject,\n getTableRowAsArray,\n makeRowIterator,\n makeArrayRowIterator,\n makeObjectRowIterator\n} from './lib/table/tables/table-accessors';\n\n// Table batch builders\n\nexport {TableBatchBuilder} from './lib/table/batch-builder/table-batch-builder';\nexport type {TableBatchAggregator} from './lib/table/batch-builder/table-batch-aggregator';\nexport {RowTableBatchAggregator} from './lib/table/batch-builder/row-table-batch-aggregator';\nexport {ColumnarTableBatchAggregator} from './lib/table/batch-builder/columnar-table-batch-aggregator';\n\nexport {ArrowLikeTable} from './lib/table/arrow-api/arrow-like-table';\n\n// MESH CATEGORY\n\nexport {getMeshSize, getMeshBoundingBox} from './lib/mesh/mesh-utils';\nexport {convertMeshToTable, makeMeshArrowTable} from './lib/mesh/convert-mesh-to-table';\nexport type {MeshArrowTableOptions} from './lib/mesh/convert-mesh-to-table';\nexport {convertTableToMesh} from './lib/mesh/convert-table-to-mesh';\nexport {\n deduceMeshSchema,\n deduceMeshField,\n makeMeshAttributeMetadata\n} from './lib/mesh/deduce-mesh-schema';\n\n// SCHEMA\nexport {\n Schema as ArrowLikeSchema,\n Field as ArrowLikeField,\n DataType as ArrowLikeDataType\n // Null,\n // Binary,\n // Bool,\n // Int,\n // Int8,\n // Int16,\n // Int32,\n // Int64,\n // Uint8,\n // Uint16,\n // Uint32,\n // Uint64,\n // Float,\n // Float16,\n // Float32,\n // Float64,\n // Utf8,\n // Date,\n // DateDay,\n // DateMillisecond,\n // Time,\n // TimeMillisecond,\n // TimeSecond,\n // Timestamp,\n // TimestampSecond,\n // TimestampMillisecond,\n // TimestampMicrosecond,\n // TimestampNanosecond,\n // Interval,\n // IntervalDayTime,\n // IntervalYearMonth,\n // FixedSizeList,\n // Struct\n} from './lib/table/arrow-api/index';\n\n// EXPERIMENTAL APIs\nexport {ArrowTableBuilder} from './lib/table/batch-builder/arrow-table-builder';\nexport type {ArrowTableBuilderOptions} from './lib/table/batch-builder/arrow-table-builder';\n\n// Schema utils\nexport {getTypeInfo} from './lib/table/arrow-api/get-type-info';\n\nexport {default as AsyncQueue} from './lib/utils/async-queue';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {convertArrowToTable} from '@loaders.gl/schema-utils';\nimport type {\n ArrowTable,\n ArrowTableBatch,\n ObjectRowTable,\n ObjectRowTableBatch\n} from '@loaders.gl/schema';\n\n/**\n * Converts an Arrow-backed table into object rows.\n *\n * @param arrowTable - Arrow table wrapper.\n * @returns Object-row table.\n */\nexport function convertArrowTableToObjectRows(arrowTable: ArrowTable): ObjectRowTable {\n return convertArrowToTable(arrowTable.data, 'object-row-table') as ObjectRowTable;\n}\n\n/**\n * Converts an Arrow batch into object-row output.\n *\n * @param batch - Arrow table batch wrapper.\n * @returns Object-row batch.\n */\nexport function convertArrowBatchToObjectRows(batch: ArrowTableBatch): ObjectRowTableBatch {\n const objectRowTable = convertArrowToTable(batch.data, 'object-row-table') as ObjectRowTable;\n\n return {\n batchType: batch.batchType,\n shape: objectRowTable.shape,\n schema: objectRowTable.schema,\n data: objectRowTable.data,\n length: batch.length\n };\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * Metadata container compatible with Apache Arrow metadata maps and plain objects.\n */\nexport type Metadata = Map<string, string> | Record<string, string>;\n\n/**\n * Arrow-like schema shape that exposes schema and field metadata.\n */\nexport type SchemaWithMetadata = {\n /** Schema-level metadata. */\n metadata?: Metadata;\n /** Top-level fields with optional metadata. */\n fields?: {name: string; metadata?: Metadata}[];\n};\n\n/**\n * Reads one metadata value from an Arrow-like metadata container.\n *\n * @param metadata - Metadata map or object.\n * @param key - Metadata key.\n * @returns Stored value or `null` when absent.\n */\nexport function getMetadataValue(metadata: Metadata, key: string): string | null {\n return metadata instanceof Map ? metadata.get(key) || null : metadata[key] || null;\n}\n\n/**\n * Writes one metadata value to an Arrow-like metadata container.\n *\n * @param metadata - Metadata map or object.\n * @param key - Metadata key.\n * @param value - Metadata value.\n */\nexport function setMetadataValue(metadata: Metadata, key: string, value: string): void {\n if (metadata instanceof Map) {\n metadata.set(key, value);\n } else {\n metadata[key] = value;\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable camelcase */\n\nimport {getMetadataValue, type Metadata, setMetadataValue} from './metadata-utils';\n\n/**\n * A GeoParquet metadata object stored in the top-level `geo` schema metadata key.\n */\nexport type GeoMetadata = {\n version?: string;\n primary_column?: string;\n columns: Record<string, GeoColumnMetadata>;\n [key: string]: unknown;\n};\n\n/**\n * GeoParquet metadata for one geometry column.\n */\nexport type GeoColumnMetadata = {\n encoding:\n | 'WKB'\n | 'wkb'\n | 'wkt'\n | 'point'\n | 'linestring'\n | 'polygon'\n | 'multipoint'\n | 'multilinestring'\n | 'multipolygon';\n geometry_types: GeoParquetGeometryType[];\n crs?: object | null;\n crs_type?: 'projjson' | 'wkt2:2019';\n orientation?: 'counterclockwise';\n bbox?: [number, number, number, number] | [number, number, number, number, number, number];\n edges?: 'planar' | 'spherical';\n epoch?: number;\n [key: string]: unknown;\n};\n\n/**\n * Geometry type strings used by GeoParquet metadata.\n */\nexport type GeoParquetGeometryType =\n | 'Point'\n | 'LineString'\n | 'Polygon'\n | 'MultiPoint'\n | 'MultiLineString'\n | 'MultiPolygon'\n | 'GeometryCollection'\n | 'Point Z'\n | 'LineString Z'\n | 'Polygon Z'\n | 'MultiPoint Z'\n | 'MultiLineString Z'\n | 'MultiPolygon Z'\n | 'GeometryCollection Z';\n\n/** GeoArrow extension names used to describe geometry column encodings. */\nexport type GeoArrowEncoding =\n | 'geoarrow.geometry'\n | 'geoarrow.geometrycollection'\n | 'geoarrow.multipolygon'\n | 'geoarrow.polygon'\n | 'geoarrow.multilinestring'\n | 'geoarrow.linestring'\n | 'geoarrow.multipoint'\n | 'geoarrow.point'\n | 'geoarrow.box'\n | 'geoarrow.wkb'\n | 'geoarrow.wkt';\n\n/** CRS serialization identifiers defined by the GeoArrow extension metadata specification. */\nexport type GeoArrowCRSType = 'projjson' | 'wkt2:2019' | 'authority_code' | 'srid';\n\n/** Non-planar edge interpretations supported by GeoArrow extension metadata. */\nexport type GeoArrowEdgeType = 'spherical' | 'vincenty' | 'thomas' | 'andoyer' | 'karney';\n\n/** Geospatial metadata stored on one GeoArrow extension field. */\nexport type GeoArrowMetadata = {\n /** Geometry encoding declared by the Arrow extension name. */\n encoding?: GeoArrowEncoding;\n /** Coordinate reference system metadata as PROJJSON or a serialized string. */\n crs?: Record<string, unknown> | string;\n /** Serialization used when `crs` is represented as a string. */\n crs_type?: GeoArrowCRSType;\n /** Non-planar interpretation of edges between geometry vertices. */\n edges?: GeoArrowEdgeType;\n /** Geometry types represented by the field. */\n geometry_types?: GeoParquetGeometryType[];\n [key: string]: unknown;\n};\n\n/**\n * Reads GeoParquet metadata from a metadata container.\n *\n * @param metadata - Schema metadata container.\n * @returns Parsed GeoParquet metadata or `null`.\n */\nexport function getGeoMetadata(metadata: Metadata | undefined): GeoMetadata | null {\n if (!metadata) {\n return null;\n }\n\n const stringifiedGeoMetadata = getMetadataValue(metadata, 'geo');\n const geoMetadata = stringifiedGeoMetadata && parseJSONStringMetadata(stringifiedGeoMetadata);\n if (!geoMetadata) {\n return null;\n }\n\n for (const column of Object.values(geoMetadata.columns || {})) {\n if (column.encoding) {\n column.encoding = column.encoding.toLowerCase();\n }\n }\n\n return geoMetadata as GeoMetadata;\n}\n\n/**\n * Stores GeoParquet metadata in the top-level `geo` schema metadata key.\n *\n * @param metadata - Schema metadata container.\n * @param geoMetadata - Metadata value to store.\n */\nexport function setGeoMetadata(metadata: Metadata, geoMetadata: GeoMetadata): void {\n setMetadataValue(metadata, 'geo', JSON.stringify(geoMetadata));\n}\n\n/**\n * Unpacks top-level GeoParquet metadata into flattened metadata entries.\n *\n * @param metadata - Schema metadata container.\n */\nexport function unpackGeoMetadata(metadata: Metadata): void {\n const geoMetadata = getGeoMetadata(metadata);\n if (!geoMetadata) {\n return;\n }\n\n const {version, primary_column, columns} = geoMetadata;\n if (version) {\n setMetadataValue(metadata, 'geo.version', version);\n }\n\n if (primary_column) {\n setMetadataValue(metadata, 'geo.primary_column', primary_column);\n }\n\n setMetadataValue(metadata, 'geo.columns', Object.keys(columns || {}).join(','));\n}\n\n/**\n * Unpacks one JSON-encoded metadata value into flattened metadata entries.\n *\n * @param metadata - Metadata container to read from and write to.\n * @param metadataKey - Metadata key whose value should be parsed as JSON.\n */\nexport function unpackJSONStringMetadata(metadata: Metadata, metadataKey: string): void {\n const stringifiedMetadata = getMetadataValue(metadata, metadataKey);\n const json = stringifiedMetadata && parseJSONStringMetadata(stringifiedMetadata);\n\n for (const [key, value] of Object.entries(json || {})) {\n setMetadataValue(\n metadata,\n `${metadataKey}.${key}`,\n typeof value === 'string' ? value : JSON.stringify(value)\n );\n }\n}\n\n/**\n * Parses one JSON metadata value into an object.\n *\n * @param stringifiedMetadata - JSON metadata value.\n * @returns Parsed object or `null` when invalid.\n */\nexport function parseJSONStringMetadata(\n stringifiedMetadata: string\n): Record<string, unknown> | null {\n if (!stringifiedMetadata) {\n return null;\n }\n\n try {\n const metadata = JSON.parse(stringifiedMetadata);\n if (!metadata || typeof metadata !== 'object') {\n return null;\n }\n return metadata;\n } catch {\n return null;\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Types from `@loaders.gl/schema`\nexport type {Geometry as GeoJSONGeometry} from '@loaders.gl/schema';\nexport {GIS_CONVERTERS} from './converters';\n\n// Geo Metadata\n// import {default as GEOPARQUET_METADATA_SCHEMA} from './lib/geo/geoparquet-metadata-schema.json';\n// export {GEOPARQUET_METADATA_SCHEMA};\n// export {GEOPARQUET_METADATA_JSON_SCHEMA} from './lib/geoarrow/geoparquet-metadata-schema';\n\n// export type {GeoMetadata} from './lib/geoarrow/geoparquet-metadata';\n// export {\n// getGeoMetadata,\n// setGeoMetadata,\n// unpackGeoMetadata\n// } from './lib/geoarrow/geoparquet-metadata';\n// export {unpackJSONStringMetadata} from './lib/geoarrow/geoparquet-metadata';\nexport type {Metadata, SchemaWithMetadata} from './lib/geoarrow/metadata-utils';\nexport {getMetadataValue, setMetadataValue} from './lib/geoarrow/metadata-utils';\nexport type {\n GeoMetadata,\n GeoColumnMetadata,\n GeoParquetGeometryType,\n GeoArrowEncoding,\n GeoArrowCRSType,\n GeoArrowEdgeType,\n GeoArrowMetadata\n} from './lib/geoarrow/geoparquet-metadata';\nexport {\n getGeoMetadata,\n setGeoMetadata,\n unpackGeoMetadata,\n unpackJSONStringMetadata,\n parseJSONStringMetadata\n} from './lib/geoarrow/geoparquet-metadata';\nexport type {\n WKBGeometryColumnOptions,\n GeoArrowGeometryColumnOptions\n} from './lib/geoarrow/wkb-geoarrow-utils';\nexport {\n makeGeoArrowGeometryField,\n makeWKBGeometryField,\n setGeoArrowGeometryColumnMetadata,\n setWKBGeometryColumnMetadata,\n setWKBGeometrySchemaMetadata,\n encodeWKBGeometryValue,\n getGeometryWKBOptions,\n inferGeoParquetGeometryTypes,\n getCoordinateDimensions,\n getGeometrySampleCoordinates\n} from './lib/geoarrow/wkb-geoarrow-utils';\nexport type {\n WKBArrowGeometryValueOptions,\n WKBArrowGeometryWriterOptions,\n WKBGeometryValue\n} from './lib/geoarrow/wkb-arrow-utils';\nexport {\n makeWKBGeometryArrowTable,\n makeWKBGeometryArrowTableFromData,\n makeWKBGeometryArrowTableFromWriters,\n makeWKBGeometryData,\n makeWKBGeometryDataFromArray,\n makeWKBGeometryDataFromWriters\n} from './lib/geoarrow/wkb-arrow-utils';\nexport {\n buildFeatureArrowSchema,\n convertFeaturesToWKBArrowTable\n} from './lib/geoarrow/feature-collection-to-arrow';\nexport type {\n GeoArrowBuilderEncoding,\n GeoArrowCoordinateTransform,\n GeoArrowBuilderTarget,\n GeoArrowGeometryArray,\n GeoArrowBuilderBaseOptions,\n GeoArrowBuilderMeasureOptions,\n GeoArrowBuilderWriteOptions,\n GeoArrowBuilderOptions,\n GeoArrowGeometryWriter\n} from './lib/geoarrow/geoarrow-builder';\nexport {GeoArrowBuilder} from './lib/geoarrow/geoarrow-builder';\n\n//\nexport type {GeojsonGeometryInfo} from './lib/geometry-api/geometry-info';\nexport {getGeometryInfo} from './lib/geometry-api/geometry-info';\n\n// Binary Geometry Utilities\nexport type {BinaryGeometryInfo} from './lib/binary-geometry-api/binary-geometry-info';\nexport {getBinaryGeometryInfo} from './lib/binary-geometry-api/binary-geometry-info';\nexport {\n transformBinaryCoords,\n transformGeoJsonCoords\n} from './lib/binary-geometry-api/transform-coordinates';\n\n// FEATURE COLLECTION CONVERSION\nexport {\n FEATURE_COLLECTION_CONVERTERS,\n FeatureCollectionConverter\n} from './lib/feature-collection-converters/feature-collection-converter/feature-collection-converter';\nexport type {\n GeometryColumnBinaryEncoding,\n BinaryPointFeatureScratch,\n BinaryLineFeatureScratch,\n BinaryPolygonFeatureScratch,\n GeometryColumnBinaryFeatureCollectionScratch,\n GeometryColumnToBinaryFeatureCollectionOptions,\n TableGeometryColumnToBinaryFeatureCollectionOptions\n} from './lib/feature-collection-converters/convert-geometry-column-to-binary-feature-collection';\nexport {\n convertGeometryColumnToBinaryFeatureCollection,\n convertGeometryValuesToBinaryFeatureCollection\n} from './lib/feature-collection-converters/convert-geometry-column-to-binary-feature-collection';\nexport {\n convertArrowBinaryFeatureCollectionToBinaryFeatureCollection,\n convertBinaryFeatureCollectionToArrowBinaryFeatureCollection\n} from './lib/feature-collection-converters/convert-arrow-binary-feature-collection';\nexport type {\n LegacyGeoJSONCRS,\n GeoJSONToGeoArrowEncoding,\n GeoJSONToGeoArrowOptions\n} from './lib/table-converters/convert-geojson-to-geoarrow';\nexport {\n applyLegacyGeoJSONCRSToSchema,\n convertFeatureCollectionToGeoArrowTable,\n convertFeaturesToGeoArrowTable,\n isGeoJSONFeatureArray,\n isGeoJSONFeatureCollection,\n makeGeoArrowFeatureRows,\n makeGeoArrowFeatureSchema\n} from './lib/table-converters/convert-geojson-to-geoarrow';\nexport {\n convertFlatGeojsonToBinaryFeatureCollection,\n flatGeojsonToBinary,\n convertGeojsonToBinaryFeatureCollection,\n geojsonToBinary,\n convertGeojsonToFlatGeojson,\n geojsonToFlatGeojson,\n convertBinaryFeatureCollectionToGeojson,\n binaryToGeojson\n} from './deprecated';\n\n// GEOMETRY ENCODING DETECTION\nexport {isWKB, isTWKB, isWKT} from './lib/geometry-converters/wkb/helpers/parse-wkb-header';\n\nexport type {WKBHeader} from './lib/geometry-converters/wkb/helpers/wkb-types';\nexport {WKT_MAGIC_STRINGS} from './lib/geometry-converters/wkb/helpers/wkb-types';\n\n// GEOMETRY CONVERSION\nexport type {GeometryShape} from './lib/geometry-converters/geometry-converter/geometry-converter';\nexport {GeometryConverter} from './lib/geometry-converters/geometry-converter/geometry-converter';\nexport {GeometryColumnConverter} from './lib/geometry-converters/geometry-column-converter';\nexport type {\n BinaryGeometryWKBOptions,\n CoordinateTransform\n} from './lib/geometry-converters/wkb/convert-binary-geometry-to-wkb';\nexport {\n convertBinaryGeometryToWKB,\n getBinaryGeometryWKBSize,\n inferBinaryGeometryTypes,\n reprojectWKBInPlace,\n writeBinaryGeometryToWKB\n} from './lib/geometry-converters/wkb/convert-binary-geometry-to-wkb';\nexport type {\n WKBBuilderBaseOptions,\n WKBBuilderMeasureOptions,\n WKBBuilderOptions,\n WKBBuilderWriteOptions,\n WKBGeometryArray,\n WKBGeometryTypeName,\n WKBGeometryWriter,\n WKBCoordinateTransform\n} from './lib/geometry-converters/wkb/wkb-builder';\nexport {WKBBuilder} from './lib/geometry-converters/wkb/wkb-builder';\nexport {triangulateWKB} from './lib/geometry-converters/wkb/triangulate-wkb';\nexport {\n convertBinaryGeometryToGeometry,\n convertWKBTableToGeoJSON,\n convertWKTToGeometry,\n convertWKBToGeometry,\n convertWKBToBinaryGeometry,\n convertTWKBToGeometry,\n convertGeometryToWKT,\n convertGeometryToWKB,\n convertGeometryToTWKB\n} from './deprecated';\n\n// CRS\nexport type {PROJ4CRS} from './lib/crs/crs';\nexport type {WKTCRS, ParseWKTCRSOptions} from './lib//wkt-crs/parse-wkt-crs';\nexport {parseWKTCRS} from './lib//wkt-crs/parse-wkt-crs';\nexport type {EncodeWKTCRSOptions} from './lib//wkt-crs/encode-wkt-crs';\nexport {encodeWKTCRS} from './lib//wkt-crs/encode-wkt-crs';\n\n// EXPERIMENTAL APIs\n\nexport {encodeHex, decodeHex} from './lib/utils/hex-transcoder';\nexport {extractNumericPropTypes as _extractNumericPropTypes} from './lib/feature-collection-converters/convert-flat-geojson-to-binary-features';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\n\nimport type {Field, Schema} from '@loaders.gl/schema';\nimport {\n getGeoMetadata,\n getMetadataValue,\n setGeoMetadata,\n setMetadataValue,\n type GeoArrowEncoding,\n type GeoArrowMetadata,\n type GeoColumnMetadata,\n type GeoMetadata,\n type GeoParquetGeometryType\n} from '@loaders.gl/gis';\nimport {\n GeoArrowMetadataSchema,\n GeoParquetMetadataSchema\n} from '@loaders.gl/gis/geospatial-metadata-zod-schema';\nimport {convertArrowToSchema} from '@loaders.gl/schema-utils';\n\nconst GEOARROW_EXTENSION_NAME_KEY = 'ARROW:extension:name';\nconst GEOARROW_EXTENSION_METADATA_KEY = 'ARROW:extension:metadata';\nconst GEOPARQUET_VERSION = '1.1.0';\n\nconst GEOARROW_ENCODINGS = [\n 'geoarrow.geometry',\n 'geoarrow.geometrycollection',\n 'geoarrow.multipolygon',\n 'geoarrow.polygon',\n 'geoarrow.multilinestring',\n 'geoarrow.linestring',\n 'geoarrow.multipoint',\n 'geoarrow.point',\n 'geoarrow.box',\n 'geoarrow.wkb',\n 'geoarrow.wkt'\n] as const satisfies GeoArrowEncoding[];\n\nconst GEOPARQUET_TO_GEOARROW_ENCODINGS = {\n wkb: 'geoarrow.wkb',\n point: 'geoarrow.point',\n linestring: 'geoarrow.linestring',\n polygon: 'geoarrow.polygon',\n multipoint: 'geoarrow.multipoint',\n multilinestring: 'geoarrow.multilinestring',\n multipolygon: 'geoarrow.multipolygon'\n} as const satisfies Record<string, GeoArrowEncoding>;\n\nconst GEOARROW_TO_GEOPARQUET_ENCODINGS = {\n 'geoarrow.wkb': 'wkb',\n 'geoarrow.point': 'point',\n 'geoarrow.linestring': 'linestring',\n 'geoarrow.polygon': 'polygon',\n 'geoarrow.multipoint': 'multipoint',\n 'geoarrow.multilinestring': 'multilinestring',\n 'geoarrow.multipolygon': 'multipolygon'\n} as const;\n\nconst GEOARROW_TO_GEOMETRY_TYPE = {\n 'geoarrow.point': 'Point',\n 'geoarrow.linestring': 'LineString',\n 'geoarrow.polygon': 'Polygon',\n 'geoarrow.multipoint': 'MultiPoint',\n 'geoarrow.multilinestring': 'MultiLineString',\n 'geoarrow.multipolygon': 'MultiPolygon'\n} as const satisfies Record<string, GeoParquetGeometryType>;\n\n/** Returns GeoArrow geometry field metadata keyed by column name. */\nfunction getGeometryColumnsFromSchema(schema: Schema): Record<string, GeoArrowMetadata> {\n const geometryColumns: Record<string, GeoArrowMetadata> = {};\n for (const field of schema.fields || []) {\n const metadata = getGeometryMetadataForField(field.metadata || {});\n if (metadata) {\n geometryColumns[field.name] = metadata;\n }\n }\n return geometryColumns;\n}\n\n/** Extracts GeoArrow metadata from one schema field metadata object. */\nfunction getGeometryMetadataForField(\n fieldMetadata: Record<string, string>\n): GeoArrowMetadata | null {\n let metadata: GeoArrowMetadata | null = null;\n let geoEncoding = getMetadataValue(fieldMetadata, GEOARROW_EXTENSION_NAME_KEY);\n if (geoEncoding) {\n geoEncoding = geoEncoding.toLowerCase();\n if (geoEncoding === 'wkb') {\n geoEncoding = 'geoarrow.wkb';\n }\n if (geoEncoding === 'wkt') {\n geoEncoding = 'geoarrow.wkt';\n }\n if (GEOARROW_ENCODINGS.includes(geoEncoding as GeoArrowEncoding)) {\n metadata ||= {};\n metadata.encoding = geoEncoding as GeoArrowEncoding;\n }\n }\n\n const columnMetadata = getMetadataValue(fieldMetadata, GEOARROW_EXTENSION_METADATA_KEY);\n if (columnMetadata) {\n try {\n const parsedMetadata = GeoArrowMetadataSchema.parse(JSON.parse(columnMetadata));\n metadata = {\n ...(metadata || {}),\n ...parsedMetadata\n };\n } catch {\n return metadata;\n }\n }\n\n return metadata;\n}\n\n/**\n * Applies GeoParquet schema metadata to matching geometry fields as GeoArrow field metadata.\n *\n * @param schema - Schema to annotate.\n * @returns The same schema reference.\n */\nexport function applyGeoParquetToFieldMetadata(schema: Schema): Schema {\n const geoMetadata = getGeoMetadata(schema.metadata);\n if (!geoMetadata) {\n return schema;\n }\n\n for (const field of schema.fields) {\n const columnMetadata = geoMetadata.columns?.[field.name];\n if (!columnMetadata) {\n continue;\n }\n\n const fieldMetadata = getGeoArrowMetadataFromGeoParquetField(field, columnMetadata);\n if (!fieldMetadata) {\n continue;\n }\n\n field.metadata ||= {};\n setMetadataValue(field.metadata, GEOARROW_EXTENSION_NAME_KEY, fieldMetadata.extensionName);\n\n if (fieldMetadata.extensionMetadata) {\n setMetadataValue(\n field.metadata,\n GEOARROW_EXTENSION_METADATA_KEY,\n JSON.stringify(fieldMetadata.extensionMetadata)\n );\n }\n }\n\n return schema;\n}\n\n/**\n * Creates an Arrow JS table whose schema metadata matches a loaders.gl schema.\n *\n * @param table - Arrow JS table to rewrap.\n * @param schema - loaders.gl schema containing desired field/schema metadata.\n * @returns Table using the updated Arrow JS schema.\n */\nexport function applyLoadersSchemaToArrowTable(table: arrow.Table, schema: Schema): arrow.Table {\n const arrowSchema = createArrowJsSchema(table.schema, schema);\n return new arrow.Table(arrowSchema, table.batches);\n}\n\n/**\n * Normalizes an Arrow wrapper so GeoParquet metadata is preserved and GeoArrow field metadata is attached.\n *\n * @param arrowTable - loaders.gl Arrow table wrapper.\n * @param schemaMetadata - Optional schema metadata override from the Parquet footer.\n * @returns Arrow table wrapper with synchronized schema metadata.\n */\nexport function normalizeArrowTableGeoMetadata(\n arrowTable: {shape: 'arrow-table'; data: arrow.Table; schema?: Schema},\n schemaMetadata?: Map<string, string> | Record<string, string>\n): {shape: 'arrow-table'; data: arrow.Table; schema: Schema} {\n const schema = convertArrowToSchema(arrowTable.data.schema);\n mergeSchemaMetadata(schema, schemaMetadata);\n applyGeoParquetToFieldMetadata(schema);\n\n return {\n shape: 'arrow-table',\n data: applyLoadersSchemaToArrowTable(arrowTable.data, schema),\n schema\n };\n}\n\n/**\n * Synthesizes GeoParquet schema metadata from GeoArrow field metadata when needed.\n *\n * @param schema - Schema to inspect and update.\n * @returns The same schema reference.\n */\nexport function ensureGeoParquetMetadata(schema: Schema): Schema {\n schema.metadata ||= {};\n const rawExistingGeoMetadata = getGeoMetadata(schema.metadata);\n if (isValidGeoParquetMetadata(rawExistingGeoMetadata)) {\n return schema;\n }\n const existingGeoMetadata: GeoMetadata | undefined = rawExistingGeoMetadata || undefined;\n\n const geometryColumns = getGeometryColumnsFromSchema(schema);\n const geometryColumnNames = Object.keys(geometryColumns);\n if (geometryColumnNames.length === 0) {\n return schema;\n }\n\n const geoMetadata: GeoMetadata = {\n version: GEOPARQUET_VERSION,\n primary_column: geometryColumnNames[0],\n columns: {}\n };\n\n for (const geometryColumnName of geometryColumnNames) {\n const geometryMetadata = geometryColumns[geometryColumnName];\n const synthesizedColumnMetadata = synthesizeGeoParquetColumnMetadata(geometryMetadata);\n if (!synthesizedColumnMetadata) {\n continue;\n }\n\n const existingColumnMetadata = existingGeoMetadata?.columns?.[geometryColumnName];\n geoMetadata.columns[geometryColumnName] = {\n ...pickValidOptionalGeoParquetColumnMetadata(existingColumnMetadata),\n ...synthesizedColumnMetadata\n };\n }\n\n if (Object.keys(geoMetadata.columns).length === 0) {\n return schema;\n }\n\n setGeoMetadata(schema.metadata, geoMetadata);\n return schema;\n}\n\n/**\n * Ensures an Arrow table wrapper carries valid GeoParquet schema metadata when GeoArrow fields are present.\n *\n * @param arrowTable - Arrow table wrapper to inspect and update.\n * @returns Updated Arrow table wrapper.\n */\nexport function ensureGeoParquetMetadataOnArrowTable(arrowTable: {\n shape: 'arrow-table';\n data: arrow.Table;\n schema?: Schema;\n}): {shape: 'arrow-table'; data: arrow.Table; schema: Schema} {\n const schema = arrowTable.schema || convertArrowToSchema(arrowTable.data.schema);\n ensureGeoParquetMetadata(schema);\n\n return {\n shape: 'arrow-table',\n data: applyLoadersSchemaToArrowTable(arrowTable.data, schema),\n schema\n };\n}\n\n/**\n * Returns Parquet file key/value metadata as a plain map.\n *\n * @param parquetMetadata - parquet-wasm metadata object.\n * @returns Metadata map.\n */\nexport function getParquetFileMetadataMap(parquetMetadata: {\n fileMetadata(): {keyValueMetadata(): Map<string, string>};\n}): Map<string, string> {\n return parquetMetadata.fileMetadata().keyValueMetadata();\n}\n\nfunction mergeSchemaMetadata(\n schema: Schema,\n schemaMetadata?: Map<string, string> | Record<string, string>\n): void {\n if (!schemaMetadata) {\n return;\n }\n\n schema.metadata ||= {};\n for (const [metadataKey, metadataValue] of getMetadataEntries(schemaMetadata)) {\n setMetadataValue(schema.metadata, metadataKey, metadataValue);\n }\n}\n\nfunction createArrowJsSchema(baseSchema: arrow.Schema, schema: Schema): arrow.Schema {\n const fields = baseSchema.fields.map(baseField => {\n const nextField = schema.fields.find(field => field.name === baseField.name);\n if (!nextField?.metadata) {\n return baseField;\n }\n\n return baseField.clone({\n metadata: createMetadataMap(nextField.metadata)\n });\n });\n\n return new arrow.Schema(\n fields,\n createMetadataMap(schema.metadata),\n baseSchema.dictionaries,\n baseSchema.metadataVersion\n );\n}\n\nfunction getGeoArrowMetadataFromGeoParquetField(\n field: Field,\n columnMetadata: GeoColumnMetadata\n): {extensionName: GeoArrowEncoding; extensionMetadata?: Record<string, unknown>} | null {\n const normalizedEncoding = String(columnMetadata.encoding || '').toLowerCase();\n const extensionName =\n GEOPARQUET_TO_GEOARROW_ENCODINGS[\n normalizedEncoding as keyof typeof GEOPARQUET_TO_GEOARROW_ENCODINGS\n ];\n\n if (!extensionName) {\n return null;\n }\n\n if (normalizedEncoding === 'wkb' && field.type !== 'binary') {\n return null;\n }\n\n if (normalizedEncoding !== 'wkb' && (field.type === 'binary' || field.type === 'utf8')) {\n return null;\n }\n\n const extensionMetadata: Record<string, unknown> = {};\n if (columnMetadata.crs !== undefined) {\n extensionMetadata.crs = columnMetadata.crs;\n }\n if (columnMetadata.crs_type !== undefined) {\n extensionMetadata.crs_type = columnMetadata.crs_type;\n }\n if (columnMetadata.edges === 'spherical') {\n extensionMetadata.edges = 'spherical';\n }\n\n return Object.keys(extensionMetadata).length > 0\n ? {extensionName, extensionMetadata}\n : {extensionName};\n}\n\nfunction isValidGeoParquetMetadata(geoMetadata: GeoMetadata | null): boolean {\n return GeoParquetMetadataSchema.safeParse(geoMetadata).success;\n}\n\nfunction synthesizeGeoParquetColumnMetadata(\n geometryMetadata: GeoArrowMetadata\n): GeoColumnMetadata | null {\n const encoding = geometryMetadata.encoding\n ? GEOARROW_TO_GEOPARQUET_ENCODINGS[\n geometryMetadata.encoding as keyof typeof GEOARROW_TO_GEOPARQUET_ENCODINGS\n ]\n : null;\n\n if (!encoding) {\n return null;\n }\n\n const geometryTypes = Array.isArray(geometryMetadata.geometry_types)\n ? geometryMetadata.geometry_types\n : inferGeometryTypesFromGeoArrowEncoding(geometryMetadata.encoding);\n\n const columnMetadata: GeoColumnMetadata = {\n encoding,\n geometry_types: geometryTypes\n };\n\n if (geometryMetadata.crs !== undefined && typeof geometryMetadata.crs !== 'string') {\n columnMetadata.crs = geometryMetadata.crs;\n }\n if (geometryMetadata.crs_type === 'projjson' || geometryMetadata.crs_type === 'wkt2:2019') {\n columnMetadata.crs_type = geometryMetadata.crs_type;\n }\n if (geometryMetadata.edges === 'spherical') {\n columnMetadata.edges = 'spherical';\n }\n\n return columnMetadata;\n}\n\nfunction inferGeometryTypesFromGeoArrowEncoding(\n encoding?: GeoArrowEncoding\n): GeoParquetGeometryType[] {\n const geometryType = encoding\n ? GEOARROW_TO_GEOMETRY_TYPE[encoding as keyof typeof GEOARROW_TO_GEOMETRY_TYPE]\n : null;\n return geometryType ? [geometryType] : [];\n}\n\nfunction pickValidOptionalGeoParquetColumnMetadata(\n columnMetadata: GeoColumnMetadata | undefined\n): Partial<GeoColumnMetadata> {\n if (!columnMetadata) {\n return {};\n }\n\n const nextColumnMetadata: Partial<GeoColumnMetadata> = {};\n\n if (columnMetadata.orientation === 'counterclockwise') {\n nextColumnMetadata.orientation = columnMetadata.orientation;\n }\n\n if (isValidBBox(columnMetadata.bbox)) {\n nextColumnMetadata.bbox = columnMetadata.bbox;\n }\n\n if (typeof columnMetadata.epoch === 'number' && Number.isFinite(columnMetadata.epoch)) {\n nextColumnMetadata.epoch = columnMetadata.epoch;\n }\n\n if (columnMetadata.covering && typeof columnMetadata.covering === 'object') {\n nextColumnMetadata.covering = columnMetadata.covering;\n }\n\n return nextColumnMetadata;\n}\n\nfunction isValidBBox(\n bbox: GeoColumnMetadata['bbox']\n): bbox is [number, number, number, number] | [number, number, number, number, number, number] {\n if (!Array.isArray(bbox) || (bbox.length !== 4 && bbox.length !== 6)) {\n return false;\n }\n\n return bbox.every(value => typeof value === 'number' && Number.isFinite(value));\n}\n\nfunction getMetadataEntries(\n metadata: Map<string, string> | Record<string, string>\n): [string, string][] {\n if (metadata instanceof Map) {\n return [...metadata.entries()];\n }\n return Object.entries(metadata);\n}\n\nfunction createMetadataMap(\n metadata: Map<string, string> | Record<string, string> | undefined\n): Map<string, string> {\n if (!metadata) {\n return new Map();\n }\n\n if (metadata instanceof Map) {\n return new Map(metadata);\n }\n\n return new Map(\n Object.entries(metadata).map(([metadataKey, metadataValue]) => [\n metadataKey,\n String(metadataValue)\n ])\n );\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/** Loads the installed parquet-wasm binary in Node.js or defers to browser asset resolution. */\nexport async function loadNodeWasmInput(): Promise<Uint8Array | undefined> {\n if (!isNodeRuntime()) {\n return undefined;\n }\n // Keep these specifiers dynamic so browser bundles do not include Node.js built-ins.\n const nodeProtocol = 'node:';\n const {readFile} = await import(/* @vite-ignore */ `${nodeProtocol}fs/promises`);\n const {createRequire} = await import(/* @vite-ignore */ `${nodeProtocol}module`);\n const {pathToFileURL} = await import(/* @vite-ignore */ `${nodeProtocol}url`);\n const moduleUrl =\n typeof __filename === 'string' ? pathToFileURL(__filename).toString() : import.meta.url;\n const require = createRequire(moduleUrl);\n const wasmPath = require.resolve('parquet-wasm/esm/parquet_wasm_bg.wasm');\n return await readFile(wasmPath);\n}\n\n/** Returns true when Node.js built-ins are available in the current runtime. */\nfunction isNodeRuntime(): boolean {\n return Boolean((globalThis as {process?: {versions?: {node?: string}}}).process?.versions?.node);\n}\n", "let wasm;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n }\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_export_4.set(idx, obj);\n return idx;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nconst CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(\nstate => {\n wasm.__wbindgen_export_5.get(state.dtor)(state.a, state.b);\n}\n);\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n const state = { a: arg0, b: arg1, cnt: 1, dtor };\n const real = (...args) => {\n\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export_5.get(state.dtor)(a, state.b);\n CLOSURE_DTORS.unregister(state);\n } else {\n state.a = a;\n }\n }\n };\n real.original = state;\n CLOSURE_DTORS.register(real, state, state);\n return real;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_export_4.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nfunction getArrayJsValueFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n const mem = getDataViewMemory0();\n const result = [];\n for (let i = ptr; i < ptr + 4 * len; i += 4) {\n result.push(wasm.__wbindgen_export_4.get(mem.getUint32(i, true)));\n }\n wasm.__externref_drop_slice(ptr, len);\n return result;\n}\n/**\n * Read a Parquet file into a stream of Arrow `RecordBatch`es.\n *\n * This returns a ReadableStream containing RecordBatches in WebAssembly memory. To transfer the\n * Arrow table to JavaScript memory you have two options:\n *\n * - (Easier): Call {@linkcode RecordBatch.intoIPCStream} to construct a buffer that can be parsed\n * with Arrow JS's `tableFromIPC` function. (The table will have a single internal record\n * batch).\n * - (More performant but bleeding edge): Call {@linkcode RecordBatch.intoFFI} to construct a data\n * representation that can be parsed zero-copy from WebAssembly with\n * [arrow-js-ffi](https://github.com/kylebarron/arrow-js-ffi) using `parseRecordBatch`.\n *\n * Example with IPC stream:\n *\n * ```js\n * import { tableFromIPC, Table } from \"apache-arrow\";\n * import initWasm, {readParquetStream} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n *\n * const stream = await readParquetStream(url);\n *\n * const batches = [];\n * for await (const wasmRecordBatch of stream) {\n * const arrowTable = tableFromIPC(wasmRecordBatch.intoIPCStream());\n * batches.push(...arrowTable.batches);\n * }\n * const table = new Table(batches);\n * ```\n *\n * Example with `arrow-js-ffi`:\n *\n * ```js\n * import { Table } from \"apache-arrow\";\n * import { parseRecordBatch } from \"arrow-js-ffi\";\n * import initWasm, {readParquetStream, wasmMemory} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n * const WASM_MEMORY = wasmMemory();\n *\n * const stream = await readParquetStream(url);\n *\n * const batches = [];\n * for await (const wasmRecordBatch of stream) {\n * const ffiRecordBatch = wasmRecordBatch.intoFFI();\n * const recordBatch = parseRecordBatch(\n * WASM_MEMORY.buffer,\n * ffiRecordBatch.arrayAddr(),\n * ffiRecordBatch.schemaAddr(),\n * true\n * );\n * batches.push(recordBatch);\n * }\n * const table = new Table(batches);\n * ```\n *\n * @param url URL to Parquet file\n * @param {string} url\n * @param {number | null} [content_length]\n * @returns {Promise<ReadableStream>}\n */\nexport function readParquetStream(url, content_length) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.readParquetStream(ptr0, len0, isLikeNone(content_length) ? 0x100000001 : (content_length) >>> 0);\n return ret;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n}\n/**\n * Transform a ReadableStream of RecordBatches to a ReadableStream of bytes\n *\n * Browser example with piping to a file via the File System API:\n *\n * ```js\n * import initWasm, {ParquetFile, transformParquetStream} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n *\n * const fileInstance = await ParquetFile.fromUrl(\"https://example.com/file.parquet\");\n * const recordBatchStream = await fileInstance.stream();\n * const serializedParquetStream = await transformParquetStream(recordBatchStream);\n * // NB: requires transient user activation - you would typically do this before \u261D\uFE0F\n * const handle = await window.showSaveFilePicker();\n * const writable = await handle.createWritable();\n * await serializedParquetStream.pipeTo(writable);\n * ```\n *\n * NodeJS (ESM) example with piping to a file:\n * ```js\n * import { open } from \"node:fs/promises\";\n * import { Writable } from \"node:stream\";\n * import initWasm, {ParquetFile, transformParquetStream} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n *\n * const fileInstance = await ParquetFile.fromUrl(\"https://example.com/file.parquet\");\n * const recordBatchStream = await fileInstance.stream();\n * const serializedParquetStream = await transformParquetStream(recordBatchStream);\n *\n * // grab a file handle via fsPromises\n * const handle = await open(\"file.parquet\");\n * const destinationStream = Writable.toWeb(handle.createWriteStream());\n * await serializedParquetStream.pipeTo(destinationStream);\n *\n * ```\n * NB: the above is a little contrived - `await writeFile(\"file.parquet\", serializedParquetStream)`\n * is enough for most use cases.\n *\n * Browser kitchen sink example - teeing to the Cache API, using as a streaming post body, transferring\n * to a Web Worker:\n * ```js\n * // prelude elided - see above\n * const serializedParquetStream = await transformParquetStream(recordBatchStream);\n * const [cacheStream, bodyStream] = serializedParquetStream.tee();\n * const postProm = fetch(targetUrl, {\n * method: \"POST\",\n * duplex: \"half\",\n * body: bodyStream\n * });\n * const targetCache = await caches.open(\"foobar\");\n * await targetCache.put(\"https://example.com/file.parquet\", new Response(cacheStream));\n * // this could have been done with another tee, but beware of buffering\n * const workerStream = await targetCache.get(\"https://example.com/file.parquet\").body;\n * const worker = new Worker(\"worker.js\");\n * worker.postMessage(workerStream, [workerStream]);\n * await postProm;\n * ```\n *\n * @param stream A {@linkcode ReadableStream} of {@linkcode RecordBatch} instances\n * @param writer_properties (optional) Configuration for writing to Parquet. Use the {@linkcode\n * WriterPropertiesBuilder} to build a writing configuration, then call `.build()` to create an\n * immutable writer properties to pass in here.\n * @returns ReadableStream containing serialized Parquet data.\n * @param {ReadableStream} stream\n * @param {WriterProperties | null} [writer_properties]\n * @returns {Promise<ReadableStream>}\n */\nexport function transformParquetStream(stream, writer_properties) {\n let ptr0 = 0;\n if (!isLikeNone(writer_properties)) {\n _assertClass(writer_properties, WriterProperties);\n ptr0 = writer_properties.__destroy_into_raw();\n }\n const ret = wasm.transformParquetStream(stream, ptr0);\n return ret;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n/**\n * Read a Parquet file into Arrow data.\n *\n * This returns an Arrow table in WebAssembly memory. To transfer the Arrow table to JavaScript\n * memory you have two options:\n *\n * - (Easier): Call {@linkcode Table.intoIPCStream} to construct a buffer that can be parsed with\n * Arrow JS's `tableFromIPC` function.\n * - (More performant but bleeding edge): Call {@linkcode Table.intoFFI} to construct a data\n * representation that can be parsed zero-copy from WebAssembly with\n * [arrow-js-ffi](https://github.com/kylebarron/arrow-js-ffi) using `parseTable`.\n *\n * Example with IPC stream:\n *\n * ```js\n * import { tableFromIPC } from \"apache-arrow\";\n * import initWasm, {readParquet} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n *\n * const resp = await fetch(\"https://example.com/file.parquet\");\n * const parquetUint8Array = new Uint8Array(await resp.arrayBuffer());\n * const arrowWasmTable = readParquet(parquetUint8Array);\n * const arrowTable = tableFromIPC(arrowWasmTable.intoIPCStream());\n * ```\n *\n * Example with `arrow-js-ffi`:\n *\n * ```js\n * import { parseTable } from \"arrow-js-ffi\";\n * import initWasm, {readParquet, wasmMemory} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n * const WASM_MEMORY = wasmMemory();\n *\n * const resp = await fetch(\"https://example.com/file.parquet\");\n * const parquetUint8Array = new Uint8Array(await resp.arrayBuffer());\n * const arrowWasmTable = readParquet(parquetUint8Array);\n * const ffiTable = arrowWasmTable.intoFFI();\n * const arrowTable = parseTable(\n * WASM_MEMORY.buffer,\n * ffiTable.arrayAddrs(),\n * ffiTable.schemaAddr()\n * );\n * ```\n *\n * @param parquet_file Uint8Array containing Parquet data\n * @param options\n *\n * Options for reading Parquet data. Optional keys include:\n *\n * - `batchSize`: The number of rows in each batch. If not provided, the upstream parquet\n * default is 1024.\n * - `rowGroups`: Only read data from the provided row group indexes.\n * - `limit`: Provide a limit to the number of rows to be read.\n * - `offset`: Provide an offset to skip over the given number of rows.\n * - `columns`: The column names from the file to read.\n * @param {Uint8Array} parquet_file\n * @param {ReaderOptions | null} [options]\n * @returns {Table}\n */\nexport function readParquet(parquet_file, options) {\n const ptr0 = passArray8ToWasm0(parquet_file, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.readParquet(ptr0, len0, isLikeNone(options) ? 0 : addToExternrefTable0(options));\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Table.__wrap(ret[0]);\n}\n\n/**\n * Read an Arrow schema from a Parquet file in memory.\n *\n * This returns an Arrow schema in WebAssembly memory. To transfer the Arrow schema to JavaScript\n * memory you have two options:\n *\n * - (Easier): Call {@linkcode Schema.intoIPCStream} to construct a buffer that can be parsed with\n * Arrow JS's `tableFromIPC` function. This results in an Arrow JS Table with zero rows but a\n * valid schema.\n * - (More performant but bleeding edge): Call {@linkcode Schema.intoFFI} to construct a data\n * representation that can be parsed zero-copy from WebAssembly with\n * [arrow-js-ffi](https://github.com/kylebarron/arrow-js-ffi) using `parseSchema`.\n *\n * Example with IPC Stream:\n *\n * ```js\n * import { tableFromIPC } from \"apache-arrow\";\n * import initWasm, {readSchema} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n *\n * const resp = await fetch(\"https://example.com/file.parquet\");\n * const parquetUint8Array = new Uint8Array(await resp.arrayBuffer());\n * const arrowWasmSchema = readSchema(parquetUint8Array);\n * const arrowTable = tableFromIPC(arrowWasmSchema.intoIPCStream());\n * const arrowSchema = arrowTable.schema;\n * ```\n *\n * Example with `arrow-js-ffi`:\n *\n * ```js\n * import { parseSchema } from \"arrow-js-ffi\";\n * import initWasm, {readSchema, wasmMemory} from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n * const WASM_MEMORY = wasmMemory();\n *\n * const resp = await fetch(\"https://example.com/file.parquet\");\n * const parquetUint8Array = new Uint8Array(await resp.arrayBuffer());\n * const arrowWasmSchema = readSchema(parquetUint8Array);\n * const ffiSchema = arrowWasmSchema.intoFFI();\n * const arrowTable = parseSchema(WASM_MEMORY.buffer, ffiSchema.addr());\n * const arrowSchema = arrowTable.schema;\n * ```\n *\n * @param parquet_file Uint8Array containing Parquet data\n * @param {Uint8Array} parquet_file\n * @returns {Schema}\n */\nexport function readSchema(parquet_file) {\n const ptr0 = passArray8ToWasm0(parquet_file, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.readSchema(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Schema.__wrap(ret[0]);\n}\n\n/**\n * Write Arrow data to a Parquet file.\n *\n * For example, to create a Parquet file with Snappy compression:\n *\n * ```js\n * import { tableToIPC } from \"apache-arrow\";\n * // Edit the `parquet-wasm` import as necessary\n * import initWasm, {\n * Table,\n * WriterPropertiesBuilder,\n * Compression,\n * writeParquet,\n * } from \"parquet-wasm\";\n *\n * // Instantiate the WebAssembly context\n * await initWasm();\n *\n * // Given an existing arrow JS table under `table`\n * const wasmTable = Table.fromIPCStream(tableToIPC(table, \"stream\"));\n * const writerProperties = new WriterPropertiesBuilder()\n * .setCompression(Compression.SNAPPY)\n * .build();\n * const parquetUint8Array = writeParquet(wasmTable, writerProperties);\n * ```\n *\n * If `writerProperties` is not provided or is `null`, the default writer properties will be used.\n * This is equivalent to `new WriterPropertiesBuilder().build()`.\n *\n * @param table A {@linkcode Table} representation in WebAssembly memory.\n * @param writer_properties (optional) Configuration for writing to Parquet. Use the {@linkcode\n * WriterPropertiesBuilder} to build a writing configuration, then call `.build()` to create an\n * immutable writer properties to pass in here.\n * @returns Uint8Array containing written Parquet data.\n * @param {Table} table\n * @param {WriterProperties | null} [writer_properties]\n * @returns {Uint8Array}\n */\nexport function writeParquet(table, writer_properties) {\n _assertClass(table, Table);\n var ptr0 = table.__destroy_into_raw();\n let ptr1 = 0;\n if (!isLikeNone(writer_properties)) {\n _assertClass(writer_properties, WriterProperties);\n ptr1 = writer_properties.__destroy_into_raw();\n }\n const ret = wasm.writeParquet(ptr0, ptr1);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v3;\n}\n\n/**\n * Returns a handle to this wasm instance's `WebAssembly.Table` which is the indirect function\n * table used by Rust\n * @returns {FunctionTable}\n */\nexport function _functionTable() {\n const ret = wasm._functionTable();\n return ret;\n}\n\n/**\n * Returns a handle to this wasm instance's `WebAssembly.Memory`\n * @returns {Memory}\n */\nexport function wasmMemory() {\n const ret = wasm.wasmMemory();\n return ret;\n}\n\nlet cachedUint32ArrayMemory0 = null;\n\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nfunction getArrayU32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\nfunction __wbg_adapter_6(arg0, arg1, arg2) {\n wasm.closure3806_externref_shim(arg0, arg1, arg2);\n}\n\nfunction __wbg_adapter_11(arg0, arg1) {\n wasm.wasm_bindgen__convert__closures_____invoke__h7767827484ad8911(arg0, arg1);\n}\n\nfunction __wbg_adapter_266(arg0, arg1, arg2, arg3) {\n wasm.closure3830_externref_shim(arg0, arg1, arg2, arg3);\n}\n\n/**\n * Supported compression algorithms.\n *\n * Codecs added in format version X.Y can be read by readers based on X.Y and later.\n * Codec support may vary between readers based on the format version and\n * libraries available at runtime.\n * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7}\n */\nexport const Compression = Object.freeze({\n UNCOMPRESSED: 0, \"0\": \"UNCOMPRESSED\",\n SNAPPY: 1, \"1\": \"SNAPPY\",\n GZIP: 2, \"2\": \"GZIP\",\n BROTLI: 3, \"3\": \"BROTLI\",\n /**\n * @deprecated as of Parquet 2.9.0.\n * Switch to LZ4_RAW\n */\n LZ4: 4, \"4\": \"LZ4\",\n ZSTD: 5, \"5\": \"ZSTD\",\n LZ4_RAW: 6, \"6\": \"LZ4_RAW\",\n LZO: 7, \"7\": \"LZO\",\n});\n/**\n * Controls the level of statistics to be computed by the writer\n * @enum {0 | 1 | 2}\n */\nexport const EnabledStatistics = Object.freeze({\n /**\n * Compute no statistics\n */\n None: 0, \"0\": \"None\",\n /**\n * Compute chunk-level statistics but not page-level\n */\n Chunk: 1, \"1\": \"Chunk\",\n /**\n * Compute page-level and chunk-level statistics\n */\n Page: 2, \"2\": \"Page\",\n});\n/**\n * Encodings supported by Parquet.\n * Not all encodings are valid for all types. These enums are also used to specify the\n * encoding of definition and repetition levels.\n * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}\n */\nexport const Encoding = Object.freeze({\n /**\n * Default byte encoding.\n * - BOOLEAN - 1 bit per value, 0 is false; 1 is true.\n * - INT32 - 4 bytes per value, stored as little-endian.\n * - INT64 - 8 bytes per value, stored as little-endian.\n * - FLOAT - 4 bytes per value, stored as little-endian.\n * - DOUBLE - 8 bytes per value, stored as little-endian.\n * - BYTE_ARRAY - 4 byte length stored as little endian, followed by bytes.\n * - FIXED_LEN_BYTE_ARRAY - just the bytes are stored.\n */\n PLAIN: 0, \"0\": \"PLAIN\",\n /**\n * **Deprecated** dictionary encoding.\n *\n * The values in the dictionary are encoded using PLAIN encoding.\n * Since it is deprecated, RLE_DICTIONARY encoding is used for a data page, and\n * PLAIN encoding is used for dictionary page.\n */\n PLAIN_DICTIONARY: 1, \"1\": \"PLAIN_DICTIONARY\",\n /**\n * Group packed run length encoding.\n *\n * Usable for definition/repetition levels encoding and boolean values.\n */\n RLE: 2, \"2\": \"RLE\",\n /**\n * Bit packed encoding.\n *\n * This can only be used if the data has a known max width.\n * Usable for definition/repetition levels encoding.\n */\n BIT_PACKED: 3, \"3\": \"BIT_PACKED\",\n /**\n * Delta encoding for integers, either INT32 or INT64.\n *\n * Works best on sorted data.\n */\n DELTA_BINARY_PACKED: 4, \"4\": \"DELTA_BINARY_PACKED\",\n /**\n * Encoding for byte arrays to separate the length values and the data.\n *\n * The lengths are encoded using DELTA_BINARY_PACKED encoding.\n */\n DELTA_LENGTH_BYTE_ARRAY: 5, \"5\": \"DELTA_LENGTH_BYTE_ARRAY\",\n /**\n * Incremental encoding for byte arrays.\n *\n * Prefix lengths are encoded using DELTA_BINARY_PACKED encoding.\n * Suffixes are stored using DELTA_LENGTH_BYTE_ARRAY encoding.\n */\n DELTA_BYTE_ARRAY: 6, \"6\": \"DELTA_BYTE_ARRAY\",\n /**\n * Dictionary encoding.\n *\n * The ids are encoded using the RLE encoding.\n */\n RLE_DICTIONARY: 7, \"7\": \"RLE_DICTIONARY\",\n /**\n * Encoding for floating-point data.\n *\n * K byte-streams are created where K is the size in bytes of the data type.\n * The individual bytes of an FP value are scattered to the corresponding stream and\n * the streams are concatenated.\n * This itself does not reduce the size of the data but can lead to better compression\n * afterwards.\n */\n BYTE_STREAM_SPLIT: 8, \"8\": \"BYTE_STREAM_SPLIT\",\n});\n/**\n * The Parquet version to use when writing\n * @enum {0 | 1}\n */\nexport const WriterVersion = Object.freeze({\n V1: 0, \"0\": \"V1\",\n V2: 1, \"1\": \"V2\",\n});\n\nconst __wbindgen_enum_ReadableStreamType = [\"bytes\"];\n\nconst __wbindgen_enum_RequestCache = [\"default\", \"no-store\", \"reload\", \"no-cache\", \"force-cache\", \"only-if-cached\"];\n\nconst __wbindgen_enum_RequestCredentials = [\"omit\", \"same-origin\", \"include\"];\n\nconst __wbindgen_enum_RequestMode = [\"same-origin\", \"no-cors\", \"cors\", \"navigate\"];\n\nconst ColumnChunkMetaDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_columnchunkmetadata_free(ptr >>> 0, 1));\n/**\n * Metadata for a Parquet column chunk.\n */\nexport class ColumnChunkMetaData {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ColumnChunkMetaData.prototype);\n obj.__wbg_ptr = ptr;\n ColumnChunkMetaDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ColumnChunkMetaDataFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_columnchunkmetadata_free(ptr, 0);\n }\n /**\n * Total number of values in this column chunk.\n * @returns {number}\n */\n numValues() {\n const ret = wasm.columnchunkmetadata_numValues(this.__wbg_ptr);\n return ret;\n }\n /**\n * Path (or identifier) of this column.\n * @returns {string[]}\n */\n columnPath() {\n const ret = wasm.columnchunkmetadata_columnPath(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Compression for this column.\n * @returns {Compression}\n */\n compression() {\n const ret = wasm.columnchunkmetadata_compression(this.__wbg_ptr);\n return ret;\n }\n /**\n * Byte offset in `file_path()`.\n * @returns {bigint}\n */\n fileOffset() {\n const ret = wasm.columnchunkmetadata_fileOffset(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the total compressed data size of this column chunk.\n * @returns {number}\n */\n compressedSize() {\n const ret = wasm.columnchunkmetadata_compressedSize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the total uncompressed data size of this column chunk.\n * @returns {number}\n */\n uncompressedSize() {\n const ret = wasm.columnchunkmetadata_uncompressedSize(this.__wbg_ptr);\n return ret;\n }\n /**\n * All encodings used for this column.\n * @returns {any[]}\n */\n encodings() {\n const ret = wasm.columnchunkmetadata_encodings(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * File where the column chunk is stored.\n *\n * If not set, assumed to belong to the same file as the metadata.\n * This path is relative to the current file.\n * @returns {string | undefined}\n */\n filePath() {\n const ret = wasm.columnchunkmetadata_filePath(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n}\nif (Symbol.dispose) ColumnChunkMetaData.prototype[Symbol.dispose] = ColumnChunkMetaData.prototype.free;\n\nconst FFIDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_ffidata_free(ptr >>> 0, 1));\n/**\n * An Arrow array exported to FFI.\n *\n * Using [`arrow-js-ffi`](https://github.com/kylebarron/arrow-js-ffi), you can view or copy Arrow\n * these objects to JavaScript.\n *\n * Note that this also includes an ArrowSchema C struct as well, so that extension type\n * information can be maintained.\n * ## Memory management\n *\n * Note that this array will not be released automatically. You need to manually call `.free()` to\n * release memory.\n */\nexport class FFIData {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FFIData.prototype);\n obj.__wbg_ptr = ptr;\n FFIDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FFIDataFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_ffidata_free(ptr, 0);\n }\n /**\n * Access the pointer to the\n * [`ArrowArray`](https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions)\n * struct. This can be viewed or copied (without serialization) to an Arrow JS `RecordBatch` by\n * using [`arrow-js-ffi`](https://github.com/kylebarron/arrow-js-ffi). You can access the\n * [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Memory)\n * instance by using {@linkcode wasmMemory}.\n *\n * **Example**:\n *\n * ```ts\n * import { parseRecordBatch } from \"arrow-js-ffi\";\n *\n * const wasmRecordBatch: FFIRecordBatch = ...\n * const wasmMemory: WebAssembly.Memory = wasmMemory();\n *\n * // Pass `true` to copy arrays across the boundary instead of creating views.\n * const jsRecordBatch = parseRecordBatch(\n * wasmMemory.buffer,\n * wasmRecordBatch.arrayAddr(),\n * wasmRecordBatch.schemaAddr(),\n * true\n * );\n * ```\n * @returns {number}\n */\n arrayAddr() {\n const ret = wasm.ffidata_arrayAddr(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Access the pointer to the\n * [`ArrowSchema`](https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions)\n * struct. This can be viewed or copied (without serialization) to an Arrow JS `Field` by\n * using [`arrow-js-ffi`](https://github.com/kylebarron/arrow-js-ffi). You can access the\n * [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Memory)\n * instance by using {@linkcode wasmMemory}.\n *\n * **Example**:\n *\n * ```ts\n * import { parseRecordBatch } from \"arrow-js-ffi\";\n *\n * const wasmRecordBatch: FFIRecordBatch = ...\n * const wasmMemory: WebAssembly.Memory = wasmMemory();\n *\n * // Pass `true` to copy arrays across the boundary instead of creating views.\n * const jsRecordBatch = parseRecordBatch(\n * wasmMemory.buffer,\n * wasmRecordBatch.arrayAddr(),\n * wasmRecordBatch.schemaAddr(),\n * true\n * );\n * ```\n * @returns {number}\n */\n schemaAddr() {\n const ret = wasm.ffidata_schemaAddr(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) FFIData.prototype[Symbol.dispose] = FFIData.prototype.free;\n\nconst FFISchemaFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_ffischema_free(ptr >>> 0, 1));\n\nexport class FFISchema {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FFISchema.prototype);\n obj.__wbg_ptr = ptr;\n FFISchemaFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FFISchemaFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_ffischema_free(ptr, 0);\n }\n /**\n * Access the pointer to the\n * [`ArrowSchema`](https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions)\n * struct. This can be viewed or copied (without serialization) to an Arrow JS `Field` by\n * using [`arrow-js-ffi`](https://github.com/kylebarron/arrow-js-ffi). You can access the\n * [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Memory)\n * instance by using {@linkcode wasmMemory}.\n *\n * **Example**:\n *\n * ```ts\n * import { parseRecordBatch } from \"arrow-js-ffi\";\n *\n * const wasmRecordBatch: FFIRecordBatch = ...\n * const wasmMemory: WebAssembly.Memory = wasmMemory();\n *\n * // Pass `true` to copy arrays across the boundary instead of creating views.\n * const jsRecordBatch = parseRecordBatch(\n * wasmMemory.buffer,\n * wasmRecordBatch.arrayAddr(),\n * wasmRecordBatch.schemaAddr(),\n * true\n * );\n * ```\n * @returns {number}\n */\n addr() {\n const ret = wasm.ffischema_addr(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) FFISchema.prototype[Symbol.dispose] = FFISchema.prototype.free;\n\nconst FFIStreamFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_ffistream_free(ptr >>> 0, 1));\n/**\n * A representation of an Arrow C Stream in WebAssembly memory exposed as FFI-compatible\n * structs through the Arrow C Data Interface.\n *\n * Unlike other Arrow implementations outside of JS, this always stores the \"stream\" fully\n * materialized as a sequence of Arrow chunks.\n */\nexport class FFIStream {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FFIStream.prototype);\n obj.__wbg_ptr = ptr;\n FFIStreamFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FFIStreamFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_ffistream_free(ptr, 0);\n }\n /**\n * Get the pointer to one ArrowArray FFI struct for a given chunk index and column index\n *\n * Access the pointer to one\n * [`ArrowArray`](https://arrow.apache.org/docs/format/CDataInterface.html#structure-definitions)\n * struct representing one of the internal `RecordBatch`es. This can be viewed or copied (without serialization) to an Arrow JS `RecordBatch` by\n * using [`arrow-js-ffi`](https://github.com/kylebarron/arrow-js-ffi). You can access the\n * [`WebAssembly.Memory`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Memory)\n * instance by using {@linkcode wasmMemory}.\n *\n * **Example**:\n *\n * ```ts\n * import * as arrow from \"apache-arrow\";\n * import { parseRecordBatch } from \"arrow-js-ffi\";\n *\n * const wasmTable: FFITable = ...\n * const wasmMemory: WebAssembly.Memory = wasmMemory();\n *\n * const jsBatches: arrow.RecordBatch[] = []\n * for (let i = 0; i < wasmTable.numBatches(); i++) {\n * // Pass `true` to copy arrays across the boundary instead of creating views.\n * const jsRecordBatch = parseRecordBatch(\n * wasmMemory.buffer,\n * wasmTable.arrayAddr(i),\n * wasmTable.schemaAddr(),\n * true\n * );\n * jsBatches.push(jsRecordBatch);\n * }\n * const jsTable = new arrow.Table(jsBatches);\n * ```\n *\n * @param chunk number The chunk index to use\n * @returns number pointer to an ArrowArray FFI struct in Wasm memory\n * @param {number} chunk\n * @returns {number}\n */\n arrayAddr(chunk) {\n const ret = wasm.ffistream_arrayAddr(this.__wbg_ptr, chunk);\n return ret >>> 0;\n }\n /**\n * Get the total number of elements in this stream\n * @returns {number}\n */\n numArrays() {\n const ret = wasm.ffistream_numArrays(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {Uint32Array}\n */\n arrayAddrs() {\n const ret = wasm.ffistream_arrayAddrs(this.__wbg_ptr);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Get the pointer to the ArrowSchema FFI struct\n * @returns {number}\n */\n schemaAddr() {\n const ret = wasm.ffistream_schemaAddr(this.__wbg_ptr);\n return ret >>> 0;\n }\n drop() {\n const ptr = this.__destroy_into_raw();\n wasm.ffistream_drop(ptr);\n }\n}\nif (Symbol.dispose) FFIStream.prototype[Symbol.dispose] = FFIStream.prototype.free;\n\nconst FileMetaDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_filemetadata_free(ptr >>> 0, 1));\n/**\n * Metadata for a Parquet file.\n */\nexport class FileMetaData {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FileMetaData.prototype);\n obj.__wbg_ptr = ptr;\n FileMetaDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FileMetaDataFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_filemetadata_free(ptr, 0);\n }\n /**\n * String message for application that wrote this file.\n *\n * This should have the following format:\n * `<application> version <application version> (build <application build hash>)`.\n *\n * ```shell\n * parquet-mr version 1.8.0 (build 0fda28af84b9746396014ad6a415b90592a98b3b)\n * ```\n * @returns {string | undefined}\n */\n createdBy() {\n const ret = wasm.filemetadata_createdBy(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Returns key_value_metadata of this file.\n * @returns {Map<any, any>}\n */\n keyValueMetadata() {\n const ret = wasm.filemetadata_keyValueMetadata(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n /**\n * Returns version of this file.\n * @returns {number}\n */\n version() {\n const ret = wasm.filemetadata_version(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns number of rows in the file.\n * @returns {number}\n */\n numRows() {\n const ret = wasm.filemetadata_numRows(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) FileMetaData.prototype[Symbol.dispose] = FileMetaData.prototype.free;\n\nconst IntoUnderlyingByteSourceFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingbytesource_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingByteSource {\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n IntoUnderlyingByteSourceFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_intounderlyingbytesource_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get autoAllocateChunkSize() {\n const ret = wasm.intounderlyingbytesource_autoAllocateChunkSize(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {ReadableByteStreamController} controller\n * @returns {Promise<any>}\n */\n pull(controller) {\n const ret = wasm.intounderlyingbytesource_pull(this.__wbg_ptr, controller);\n return ret;\n }\n /**\n * @param {ReadableByteStreamController} controller\n */\n start(controller) {\n wasm.intounderlyingbytesource_start(this.__wbg_ptr, controller);\n }\n /**\n * @returns {ReadableStreamType}\n */\n get type() {\n const ret = wasm.intounderlyingbytesource_type(this.__wbg_ptr);\n return __wbindgen_enum_ReadableStreamType[ret];\n }\n cancel() {\n const ptr = this.__destroy_into_raw();\n wasm.intounderlyingbytesource_cancel(ptr);\n }\n}\nif (Symbol.dispose) IntoUnderlyingByteSource.prototype[Symbol.dispose] = IntoUnderlyingByteSource.prototype.free;\n\nconst IntoUnderlyingSinkFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingsink_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingSink {\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n IntoUnderlyingSinkFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_intounderlyingsink_free(ptr, 0);\n }\n /**\n * @param {any} reason\n * @returns {Promise<any>}\n */\n abort(reason) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.intounderlyingsink_abort(ptr, reason);\n return ret;\n }\n /**\n * @returns {Promise<any>}\n */\n close() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.intounderlyingsink_close(ptr);\n return ret;\n }\n /**\n * @param {any} chunk\n * @returns {Promise<any>}\n */\n write(chunk) {\n const ret = wasm.intounderlyingsink_write(this.__wbg_ptr, chunk);\n return ret;\n }\n}\nif (Symbol.dispose) IntoUnderlyingSink.prototype[Symbol.dispose] = IntoUnderlyingSink.prototype.free;\n\nconst IntoUnderlyingSourceFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingsource_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingSource {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(IntoUnderlyingSource.prototype);\n obj.__wbg_ptr = ptr;\n IntoUnderlyingSourceFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n IntoUnderlyingSourceFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_intounderlyingsource_free(ptr, 0);\n }\n /**\n * @param {ReadableStreamDefaultController} controller\n * @returns {Promise<any>}\n */\n pull(controller) {\n const ret = wasm.intounderlyingsource_pull(this.__wbg_ptr, controller);\n return ret;\n }\n cancel() {\n const ptr = this.__destroy_into_raw();\n wasm.intounderlyingsource_cancel(ptr);\n }\n}\nif (Symbol.dispose) IntoUnderlyingSource.prototype[Symbol.dispose] = IntoUnderlyingSource.prototype.free;\n\nconst ParquetFileFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_parquetfile_free(ptr >>> 0, 1));\n\nexport class ParquetFile {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ParquetFile.prototype);\n obj.__wbg_ptr = ptr;\n ParquetFileFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ParquetFileFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_parquetfile_free(ptr, 0);\n }\n /**\n * Read from the Parquet file in an async fashion.\n *\n * @param options\n *\n * Options for reading Parquet data. Optional keys include:\n *\n * - `batchSize`: The number of rows in each batch. If not provided, the upstream parquet\n * default is 1024.\n * - `rowGroups`: Only read data from the provided row group indexes.\n * - `limit`: Provide a limit to the number of rows to be read.\n * - `offset`: Provide an offset to skip over the given number of rows.\n * - `columns`: The column names from the file to read.\n * @param {ReaderOptions | null} [options]\n * @returns {Promise<Table>}\n */\n read(options) {\n const ret = wasm.parquetfile_read(this.__wbg_ptr, isLikeNone(options) ? 0 : addToExternrefTable0(options));\n return ret;\n }\n /**\n * @returns {Schema}\n */\n schema() {\n const ret = wasm.parquetfile_schema(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Schema.__wrap(ret[0]);\n }\n /**\n * Create a readable stream of record batches.\n *\n * Each item in the stream will be a {@linkcode RecordBatch}.\n *\n * @param options\n *\n * Options for reading Parquet data. Optional keys include:\n *\n * - `batchSize`: The number of rows in each batch. If not provided, the upstream parquet\n * default is 1024.\n * - `rowGroups`: Only read data from the provided row group indexes.\n * - `limit`: Provide a limit to the number of rows to be read.\n * - `offset`: Provide an offset to skip over the given number of rows.\n * - `columns`: The column names from the file to read.\n * - `concurrency`: The number of concurrent requests to make\n * @param {ReaderOptions | null} [options]\n * @returns {Promise<ReadableStream>}\n */\n stream(options) {\n const ret = wasm.parquetfile_stream(this.__wbg_ptr, isLikeNone(options) ? 0 : addToExternrefTable0(options));\n return ret;\n }\n /**\n * Construct a ParquetFile from a new URL.\n * @param {string} url\n * @returns {Promise<ParquetFile>}\n */\n static fromUrl(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.parquetfile_fromUrl(ptr0, len0);\n return ret;\n }\n /**\n * @returns {ParquetMetaData}\n */\n metadata() {\n const ret = wasm.parquetfile_metadata(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ParquetMetaData.__wrap(ret[0]);\n }\n /**\n * Construct a ParquetFile from a new [Blob] or [File] handle.\n *\n * [Blob]: https://developer.mozilla.org/en-US/docs/Web/API/Blob\n * [File]: https://developer.mozilla.org/en-US/docs/Web/API/File\n *\n * Safety: Do not use this in a multi-threaded environment,\n * (transitively depends on `!Send` `web_sys::Blob`)\n * @param {Blob} handle\n * @returns {Promise<ParquetFile>}\n */\n static fromFile(handle) {\n const ret = wasm.parquetfile_fromFile(handle);\n return ret;\n }\n}\nif (Symbol.dispose) ParquetFile.prototype[Symbol.dispose] = ParquetFile.prototype.free;\n\nconst ParquetMetaDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_parquetmetadata_free(ptr >>> 0, 1));\n/**\n * Global Parquet metadata.\n */\nexport class ParquetMetaData {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ParquetMetaData.prototype);\n obj.__wbg_ptr = ptr;\n ParquetMetaDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ParquetMetaDataFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_parquetmetadata_free(ptr, 0);\n }\n /**\n * Returns row group metadata for all row groups\n * @returns {RowGroupMetaData[]}\n */\n rowGroups() {\n const ret = wasm.parquetmetadata_rowGroups(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns file metadata as reference.\n * @returns {FileMetaData}\n */\n fileMetadata() {\n const ret = wasm.parquetmetadata_fileMetadata(this.__wbg_ptr);\n return FileMetaData.__wrap(ret);\n }\n /**\n * Returns number of row groups in this file.\n * @returns {number}\n */\n numRowGroups() {\n const ret = wasm.parquetmetadata_numRowGroups(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns row group metadata for `i`th position.\n * Position should be less than number of row groups `num_row_groups`.\n * @param {number} i\n * @returns {RowGroupMetaData}\n */\n rowGroup(i) {\n const ret = wasm.parquetmetadata_rowGroup(this.__wbg_ptr, i);\n return RowGroupMetaData.__wrap(ret);\n }\n}\nif (Symbol.dispose) ParquetMetaData.prototype[Symbol.dispose] = ParquetMetaData.prototype.free;\n\nconst RecordBatchFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_recordbatch_free(ptr >>> 0, 1));\n/**\n * A group of columns of equal length in WebAssembly memory with an associated {@linkcode Schema}.\n */\nexport class RecordBatch {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(RecordBatch.prototype);\n obj.__wbg_ptr = ptr;\n RecordBatchFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n static __unwrap(jsValue) {\n if (!(jsValue instanceof RecordBatch)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RecordBatchFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_recordbatch_free(ptr, 0);\n }\n /**\n * The number of columns in this RecordBatch.\n * @returns {number}\n */\n get numColumns() {\n const ret = wasm.recordbatch_numColumns(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Override the schema of this [`RecordBatch`]\n *\n * Returns an error if `schema` is not a superset of the current schema\n * as determined by [`Schema::contains`]\n * @param {Schema} schema\n * @returns {RecordBatch}\n */\n withSchema(schema) {\n _assertClass(schema, Schema);\n var ptr0 = schema.__destroy_into_raw();\n const ret = wasm.recordbatch_withSchema(this.__wbg_ptr, ptr0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return RecordBatch.__wrap(ret[0]);\n }\n /**\n * Consume this RecordBatch and convert to an Arrow IPC Stream buffer\n * @returns {Uint8Array}\n */\n intoIPCStream() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.recordbatch_intoIPCStream(ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * Returns the total number of bytes of memory occupied physically by this batch.\n * @returns {number}\n */\n getArrayMemorySize() {\n const ret = wasm.recordbatch_getArrayMemorySize(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Return a new RecordBatch where each column is sliced\n * according to `offset` and `length`\n * @param {number} offset\n * @param {number} length\n * @returns {RecordBatch}\n */\n slice(offset, length) {\n const ret = wasm.recordbatch_slice(this.__wbg_ptr, offset, length);\n return RecordBatch.__wrap(ret);\n }\n /**\n * The {@linkcode Schema} of this RecordBatch.\n * @returns {Schema}\n */\n get schema() {\n const ret = wasm.recordbatch_schema(this.__wbg_ptr);\n return Schema.__wrap(ret);\n }\n /**\n * Export this RecordBatch to FFI structs according to the Arrow C Data Interface.\n *\n * This method **does not consume** the RecordBatch, so you must remember to call {@linkcode\n * RecordBatch.free} to release the resources. The underlying arrays are reference counted, so\n * this method does not copy data, it only prevents the data from being released.\n * @returns {FFIData}\n */\n toFFI() {\n const ret = wasm.recordbatch_toFFI(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FFIData.__wrap(ret[0]);\n }\n /**\n * Export this RecordBatch to FFI structs according to the Arrow C Data Interface.\n *\n * This method **does consume** the RecordBatch, so the original RecordBatch will be\n * inaccessible after this call. You must still call {@linkcode FFIRecordBatch.free} after\n * you've finished using the FFIRecordBatch.\n * @returns {FFIData}\n */\n intoFFI() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.recordbatch_intoFFI(ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FFIData.__wrap(ret[0]);\n }\n /**\n * The number of rows in this RecordBatch.\n * @returns {number}\n */\n get numRows() {\n const ret = wasm.recordbatch_numRows(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) RecordBatch.prototype[Symbol.dispose] = RecordBatch.prototype.free;\n\nconst RowGroupMetaDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rowgroupmetadata_free(ptr >>> 0, 1));\n/**\n * Metadata for a Parquet row group.\n */\nexport class RowGroupMetaData {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(RowGroupMetaData.prototype);\n obj.__wbg_ptr = ptr;\n RowGroupMetaDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RowGroupMetaDataFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rowgroupmetadata_free(ptr, 0);\n }\n /**\n * Number of columns in this row group.\n * @returns {number}\n */\n numColumns() {\n const ret = wasm.rowgroupmetadata_numColumns(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Total size of all compressed column data in this row group.\n * @returns {number}\n */\n compressedSize() {\n const ret = wasm.rowgroupmetadata_compressedSize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Total byte size of all uncompressed column data in this row group.\n * @returns {number}\n */\n totalByteSize() {\n const ret = wasm.rowgroupmetadata_totalByteSize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns column chunk metadata for `i`th column.\n * @param {number} i\n * @returns {ColumnChunkMetaData}\n */\n column(i) {\n const ret = wasm.rowgroupmetadata_column(this.__wbg_ptr, i);\n return ColumnChunkMetaData.__wrap(ret);\n }\n /**\n * Returns column chunk metadata for all columns\n * @returns {ColumnChunkMetaData[]}\n */\n columns() {\n const ret = wasm.rowgroupmetadata_columns(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Number of rows in this row group.\n * @returns {number}\n */\n numRows() {\n const ret = wasm.rowgroupmetadata_numRows(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) RowGroupMetaData.prototype[Symbol.dispose] = RowGroupMetaData.prototype.free;\n\nconst SchemaFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_schema_free(ptr >>> 0, 1));\n/**\n * A named collection of types that defines the column names and types in a RecordBatch or Table\n * data structure.\n *\n * A Schema can also contain extra user-defined metadata either at the Table or Column level.\n * Column-level metadata is often used to define [extension\n * types](https://arrow.apache.org/docs/format/Columnar.html#extension-types).\n */\nexport class Schema {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Schema.prototype);\n obj.__wbg_ptr = ptr;\n SchemaFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SchemaFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_schema_free(ptr, 0);\n }\n /**\n * Sets the metadata of this `Schema` to be `metadata` and returns a new object\n * @param {SchemaMetadata} metadata\n * @returns {Schema}\n */\n withMetadata(metadata) {\n const ret = wasm.schema_withMetadata(this.__wbg_ptr, metadata);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Schema.__wrap(ret[0]);\n }\n /**\n * Consume this schema and convert to an Arrow IPC Stream buffer\n * @returns {Uint8Array}\n */\n intoIPCStream() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.schema_intoIPCStream(ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * Export this schema to an FFISchema object, which can be read with arrow-js-ffi.\n *\n * This method **does not consume** the Schema, so you must remember to call {@linkcode\n * Schema.free} to release the resources. The underlying arrays are reference counted, so\n * this method does not copy data, it only prevents the data from being released.\n * @returns {FFISchema}\n */\n toFFI() {\n const ret = wasm.schema_toFFI(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FFISchema.__wrap(ret[0]);\n }\n /**\n * Find the index of the column with the given name.\n * @param {string} name\n * @returns {number}\n */\n indexOf(name) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.schema_indexOf(this.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] >>> 0;\n }\n /**\n * Export this Table to FFI structs according to the Arrow C Data Interface.\n *\n * This method **does consume** the Table, so the original Table will be\n * inaccessible after this call. You must still call {@linkcode FFITable.free} after\n * you've finished using the FFITable.\n * @returns {FFISchema}\n */\n intoFFI() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.schema_intoFFI(ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FFISchema.__wrap(ret[0]);\n }\n /**\n * Returns an immutable reference to the Map of custom metadata key-value pairs.\n * @returns {SchemaMetadata}\n */\n metadata() {\n const ret = wasm.schema_metadata(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return takeFromExternrefTable0(ret[0]);\n }\n}\nif (Symbol.dispose) Schema.prototype[Symbol.dispose] = Schema.prototype.free;\n\nconst TableFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_table_free(ptr >>> 0, 1));\n/**\n * A Table in WebAssembly memory conforming to the Apache Arrow spec.\n *\n * A Table consists of one or more {@linkcode RecordBatch} objects plus a {@linkcode Schema} that\n * each RecordBatch conforms to.\n */\nexport class Table {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Table.prototype);\n obj.__wbg_ptr = ptr;\n TableFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TableFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_table_free(ptr, 0);\n }\n /**\n * The number of batches in the Table\n * @returns {number}\n */\n get numBatches() {\n const ret = wasm.table_numBatches(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Access a RecordBatch from the Table by index.\n *\n * @param index The positional index of the RecordBatch to retrieve.\n * @returns a RecordBatch or `null` if out of range.\n * @param {number} index\n * @returns {RecordBatch | undefined}\n */\n recordBatch(index) {\n const ret = wasm.table_recordBatch(this.__wbg_ptr, index);\n return ret === 0 ? undefined : RecordBatch.__wrap(ret);\n }\n /**\n * @returns {RecordBatch[]}\n */\n recordBatches() {\n const ret = wasm.table_recordBatches(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Create a table from an Arrow IPC Stream buffer\n * @param {Uint8Array} buf\n * @returns {Table}\n */\n static fromIPCStream(buf) {\n const ptr0 = passArray8ToWasm0(buf, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.table_fromIPCStream(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Table.__wrap(ret[0]);\n }\n /**\n * Consume this table and convert to an Arrow IPC Stream buffer\n * @returns {Uint8Array}\n */\n intoIPCStream() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.table_intoIPCStream(ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * Returns the total number of bytes of memory occupied physically by all batches in this\n * table.\n * @returns {number}\n */\n getArrayMemorySize() {\n const ret = wasm.table_getArrayMemorySize(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Access the Table's {@linkcode Schema}.\n * @returns {Schema}\n */\n get schema() {\n const ret = wasm.table_schema(this.__wbg_ptr);\n return Schema.__wrap(ret);\n }\n /**\n * Export this Table to FFI structs according to the Arrow C Data Interface.\n *\n * This method **does not consume** the Table, so you must remember to call {@linkcode\n * Table.free} to release the resources. The underlying arrays are reference counted, so\n * this method does not copy data, it only prevents the data from being released.\n * @returns {FFIStream}\n */\n toFFI() {\n const ret = wasm.table_toFFI(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FFIStream.__wrap(ret[0]);\n }\n /**\n * Export this Table to FFI structs according to the Arrow C Data Interface.\n *\n * This method **does consume** the Table, so the original Table will be\n * inaccessible after this call. You must still call {@linkcode FFITable.free} after\n * you've finished using the FFITable.\n * @returns {FFIStream}\n */\n intoFFI() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.table_intoFFI(ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FFIStream.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) Table.prototype[Symbol.dispose] = Table.prototype.free;\n\nconst WriterPropertiesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_writerproperties_free(ptr >>> 0, 1));\n/**\n * Immutable struct to hold writing configuration for `writeParquet`.\n *\n * Use {@linkcode WriterPropertiesBuilder} to create a configuration, then call {@linkcode\n * WriterPropertiesBuilder.build} to create an instance of `WriterProperties`.\n */\nexport class WriterProperties {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(WriterProperties.prototype);\n obj.__wbg_ptr = ptr;\n WriterPropertiesFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WriterPropertiesFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_writerproperties_free(ptr, 0);\n }\n}\nif (Symbol.dispose) WriterProperties.prototype[Symbol.dispose] = WriterProperties.prototype.free;\n\nconst WriterPropertiesBuilderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_writerpropertiesbuilder_free(ptr >>> 0, 1));\n/**\n * Builder to create a writing configuration for `writeParquet`\n *\n * Call {@linkcode build} on the finished builder to create an immputable {@linkcode WriterProperties} to pass to `writeParquet`\n */\nexport class WriterPropertiesBuilder {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(WriterPropertiesBuilder.prototype);\n obj.__wbg_ptr = ptr;\n WriterPropertiesBuilderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WriterPropertiesBuilderFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_writerpropertiesbuilder_free(ptr, 0);\n }\n /**\n * Sets encoding for any column.\n *\n * If dictionary is not enabled, this is treated as a primary encoding for all\n * columns. In case when dictionary is enabled for any column, this value is\n * considered to be a fallback encoding for that column.\n *\n * Panics if user tries to set dictionary encoding here, regardless of dictionary\n * encoding flag being set.\n * @param {Encoding} value\n * @returns {WriterPropertiesBuilder}\n */\n setEncoding(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setEncoding(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets \"created by\" property.\n * @param {string} value\n * @returns {WriterPropertiesBuilder}\n */\n setCreatedBy(value) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passStringToWasm0(value, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.writerpropertiesbuilder_setCreatedBy(ptr, ptr0, len0);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets compression codec for any column.\n * @param {Compression} value\n * @returns {WriterPropertiesBuilder}\n */\n setCompression(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setCompression(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets writer version.\n * @param {WriterVersion} value\n * @returns {WriterPropertiesBuilder}\n */\n setWriterVersion(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setWriterVersion(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets encoding for a column.\n * Takes precedence over globally defined settings.\n *\n * If dictionary is not enabled, this is treated as a primary encoding for this\n * column. In case when dictionary is enabled for this column, either through\n * global defaults or explicitly, this value is considered to be a fallback\n * encoding for this column.\n *\n * Panics if user tries to set dictionary encoding here, regardless of dictionary\n * encoding flag being set.\n * @param {string} col\n * @param {Encoding} value\n * @returns {WriterPropertiesBuilder}\n */\n setColumnEncoding(col, value) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passStringToWasm0(col, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.writerpropertiesbuilder_setColumnEncoding(ptr, ptr0, len0, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets write batch size.\n * @param {number} value\n * @returns {WriterPropertiesBuilder}\n */\n setWriteBatchSize(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setWriteBatchSize(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets compression codec for a column.\n * Takes precedence over globally defined settings.\n * @param {string} col\n * @param {Compression} value\n * @returns {WriterPropertiesBuilder}\n */\n setColumnCompression(col, value) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passStringToWasm0(col, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.writerpropertiesbuilder_setColumnCompression(ptr, ptr0, len0, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets flag to enable/disable dictionary encoding for any column.\n *\n * Use this method to set dictionary encoding, instead of explicitly specifying\n * encoding in `set_encoding` method.\n * @param {boolean} value\n * @returns {WriterPropertiesBuilder}\n */\n setDictionaryEnabled(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setDictionaryEnabled(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets \"key_value_metadata\" property.\n * @param {KeyValueMetadata} value\n * @returns {WriterPropertiesBuilder}\n */\n setKeyValueMetadata(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setKeyValueMetadata(ptr, value);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return WriterPropertiesBuilder.__wrap(ret[0]);\n }\n /**\n * Sets maximum number of rows in a row group.\n * @param {number} value\n * @returns {WriterPropertiesBuilder}\n */\n setMaxRowGroupSize(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setMaxRowGroupSize(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets flag to enable/disable statistics for any column.\n * @param {EnabledStatistics} value\n * @returns {WriterPropertiesBuilder}\n */\n setStatisticsEnabled(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setStatisticsEnabled(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets data page size limit.\n * @param {number} value\n * @returns {WriterPropertiesBuilder}\n */\n setDataPageSizeLimit(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setDataPageSizeLimit(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets flag to enable/disable dictionary encoding for a column.\n * Takes precedence over globally defined settings.\n * @param {string} col\n * @param {boolean} value\n * @returns {WriterPropertiesBuilder}\n */\n setColumnDictionaryEnabled(col, value) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passStringToWasm0(col, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.writerpropertiesbuilder_setColumnDictionaryEnabled(ptr, ptr0, len0, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets flag to enable/disable statistics for a column.\n * Takes precedence over globally defined settings.\n * @param {string} col\n * @param {EnabledStatistics} value\n * @returns {WriterPropertiesBuilder}\n */\n setColumnStatisticsEnabled(col, value) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passStringToWasm0(col, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.writerpropertiesbuilder_setColumnStatisticsEnabled(ptr, ptr0, len0, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Sets dictionary page size limit.\n * @param {number} value\n * @returns {WriterPropertiesBuilder}\n */\n setDictionaryPageSizeLimit(value) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_setDictionaryPageSizeLimit(ptr, value);\n return WriterPropertiesBuilder.__wrap(ret);\n }\n /**\n * Returns default state of the builder.\n */\n constructor() {\n const ret = wasm.writerpropertiesbuilder_new();\n this.__wbg_ptr = ret >>> 0;\n WriterPropertiesBuilderFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Finalizes the configuration and returns immutable writer properties struct.\n * @returns {WriterProperties}\n */\n build() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.writerpropertiesbuilder_build(ptr);\n return WriterProperties.__wrap(ret);\n }\n}\nif (Symbol.dispose) WriterPropertiesBuilder.prototype[Symbol.dispose] = WriterPropertiesBuilder.prototype.free;\n\nconst EXPECTED_RESPONSE_TYPES = new Set(['basic', 'cors', 'default']);\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n const validResponse = module.ok && EXPECTED_RESPONSE_TYPES.has(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_Error_e17e777aac105295 = function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_Number_998bea33bd87c3e0 = function(arg0) {\n const ret = Number(arg0);\n return ret;\n };\n imports.wbg.__wbg_String_8f0eb39a4a4c2f66 = function(arg0, arg1) {\n const ret = String(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_abort_67e1b49bf6614565 = function(arg0) {\n arg0.abort();\n };\n imports.wbg.__wbg_abort_d830bf2e9aa6ec5b = function(arg0, arg1) {\n arg0.abort(arg1);\n };\n imports.wbg.__wbg_append_72a3c0addd2bce38 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments) };\n imports.wbg.__wbg_arrayBuffer_2c907ed8e8ef4e35 = function(arg0) {\n const ret = arg0.arrayBuffer();\n return ret;\n };\n imports.wbg.__wbg_arrayBuffer_9c99b8e2809e8cbb = function() { return handleError(function (arg0) {\n const ret = arg0.arrayBuffer();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_buffer_8d40b1d762fb3c66 = function(arg0) {\n const ret = arg0.buffer;\n return ret;\n };\n imports.wbg.__wbg_byobRequest_2c036bceca1e6037 = function(arg0) {\n const ret = arg0.byobRequest;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_byteLength_331a6b5545834024 = function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n };\n imports.wbg.__wbg_byteOffset_49a5b5608000358b = function(arg0) {\n const ret = arg0.byteOffset;\n return ret;\n };\n imports.wbg.__wbg_call_13410aac570ffff7 = function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_call_a5400b25a865cfd8 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_cancel_8bb5b8f4906b658a = function(arg0) {\n const ret = arg0.cancel();\n return ret;\n };\n imports.wbg.__wbg_catch_c80ecae90cb8ed4e = function(arg0, arg1) {\n const ret = arg0.catch(arg1);\n return ret;\n };\n imports.wbg.__wbg_clearTimeout_6222fede17abcb1a = function(arg0) {\n const ret = clearTimeout(arg0);\n return ret;\n };\n imports.wbg.__wbg_close_a1918cff3cac355b = function(arg0) {\n const ret = arg0.close();\n return ret;\n };\n imports.wbg.__wbg_close_cccada6053ee3a65 = function() { return handleError(function (arg0) {\n arg0.close();\n }, arguments) };\n imports.wbg.__wbg_close_d71a78219dc23e91 = function() { return handleError(function (arg0) {\n arg0.close();\n }, arguments) };\n imports.wbg.__wbg_columnchunkmetadata_new = function(arg0) {\n const ret = ColumnChunkMetaData.__wrap(arg0);\n return ret;\n };\n imports.wbg.__wbg_done_75ed0ee6dd243d9d = function(arg0) {\n const ret = arg0.done;\n return ret;\n };\n imports.wbg.__wbg_enqueue_452bc2343d1c2ff9 = function() { return handleError(function (arg0, arg1) {\n arg0.enqueue(arg1);\n }, arguments) };\n imports.wbg.__wbg_entries_2be2f15bd5554996 = function(arg0) {\n const ret = Object.entries(arg0);\n return ret;\n };\n imports.wbg.__wbg_fetch_87aed7f306ec6d63 = function(arg0, arg1) {\n const ret = arg0.fetch(arg1);\n return ret;\n };\n imports.wbg.__wbg_fetch_f156d10be9a5c88a = function(arg0) {\n const ret = fetch(arg0);\n return ret;\n };\n imports.wbg.__wbg_getReader_48e00749fe3f6089 = function() { return handleError(function (arg0) {\n const ret = arg0.getReader();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_getWriter_03d7689e275ac6a4 = function() { return handleError(function (arg0) {\n const ret = arg0.getWriter();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_get_0da715ceaecea5c8 = function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n };\n imports.wbg.__wbg_get_458e874b43b18b25 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_getdone_f026246f6bbe58d3 = function(arg0) {\n const ret = arg0.done;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n };\n imports.wbg.__wbg_getvalue_31e5a08f61e5aa42 = function(arg0) {\n const ret = arg0.value;\n return ret;\n };\n imports.wbg.__wbg_getwithrefkey_1dc361bd10053bfe = function(arg0, arg1) {\n const ret = arg0[arg1];\n return ret;\n };\n imports.wbg.__wbg_has_b89e451f638123e3 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.has(arg0, arg1);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_headers_29fec3c72865cd75 = function(arg0) {\n const ret = arg0.headers;\n return ret;\n };\n imports.wbg.__wbg_instanceof_ArrayBuffer_67f3012529f6a2dd = function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Response_50fde2cd696850bf = function(arg0) {\n let result;\n try {\n result = arg0 instanceof Response;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Uint8Array_9a8378d955933db7 = function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_isArray_030cce220591fb41 = function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n };\n imports.wbg.__wbg_isSafeInteger_1c0d1af5542e102a = function(arg0) {\n const ret = Number.isSafeInteger(arg0);\n return ret;\n };\n imports.wbg.__wbg_iterator_f370b34483c71a1c = function() {\n const ret = Symbol.iterator;\n return ret;\n };\n imports.wbg.__wbg_length_186546c51cd61acd = function(arg0) {\n const ret = arg0.length;\n return ret;\n };\n imports.wbg.__wbg_length_6bb7e81f9d7713e4 = function(arg0) {\n const ret = arg0.length;\n return ret;\n };\n imports.wbg.__wbg_new_19c25a3f2fa63a02 = function() {\n const ret = new Object();\n return ret;\n };\n imports.wbg.__wbg_new_2e3c58a15f39f5f9 = function(arg0, arg1) {\n try {\n var state0 = {a: arg0, b: arg1};\n var cb0 = (arg0, arg1) => {\n const a = state0.a;\n state0.a = 0;\n try {\n return __wbg_adapter_266(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n const ret = new Promise(cb0);\n return ret;\n } finally {\n state0.a = state0.b = 0;\n }\n };\n imports.wbg.__wbg_new_2ff1f68f3676ea53 = function() {\n const ret = new Map();\n return ret;\n };\n imports.wbg.__wbg_new_638ebfaedbf32a5e = function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n };\n imports.wbg.__wbg_new_66b9434b4e59b63e = function() { return handleError(function () {\n const ret = new AbortController();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_new_99a6a948d5b3f607 = function() { return handleError(function () {\n const ret = new TransformStream();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_new_da9dc54c5db29dfa = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_new_f6e53210afea8e45 = function() { return handleError(function () {\n const ret = new Headers();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_newfromslice_074c56947bd43469 = function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_newnoargs_254190557c45b4ec = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return ret;\n };\n imports.wbg.__wbg_newwithbyteoffset_6bd4b2a4ca518883 = function(arg0, arg1) {\n const ret = new Uint8Array(arg0, arg1 >>> 0);\n return ret;\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_e8f53910b4d42b45 = function(arg0, arg1, arg2) {\n const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n };\n imports.wbg.__wbg_newwithintounderlyingsource_b47f6a6a596a7f24 = function(arg0, arg1) {\n const ret = new ReadableStream(IntoUnderlyingSource.__wrap(arg0), arg1);\n return ret;\n };\n imports.wbg.__wbg_newwithstrandinit_b5d168a29a3fd85f = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = new Request(getStringFromWasm0(arg0, arg1), arg2);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_next_5b3530e612fde77d = function(arg0) {\n const ret = arg0.next;\n return ret;\n };\n imports.wbg.__wbg_next_692e82279131b03c = function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n }, arguments) };\n imports.wbg.__wbg_parquetfile_new = function(arg0) {\n const ret = ParquetFile.__wrap(arg0);\n return ret;\n };\n imports.wbg.__wbg_prototypesetcall_3d4a26c1ed734349 = function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n };\n imports.wbg.__wbg_queueMicrotask_25d0739ac89e8c88 = function(arg0) {\n queueMicrotask(arg0);\n };\n imports.wbg.__wbg_queueMicrotask_4488407636f5bf24 = function(arg0) {\n const ret = arg0.queueMicrotask;\n return ret;\n };\n imports.wbg.__wbg_read_bc925c758aa4d897 = function(arg0) {\n const ret = arg0.read();\n return ret;\n };\n imports.wbg.__wbg_readable_e82cff27b968ed1c = function(arg0) {\n const ret = arg0.readable;\n return ret;\n };\n imports.wbg.__wbg_ready_4186da3cb500ae7d = function(arg0) {\n const ret = arg0.ready;\n return ret;\n };\n imports.wbg.__wbg_recordbatch_new = function(arg0) {\n const ret = RecordBatch.__wrap(arg0);\n return ret;\n };\n imports.wbg.__wbg_recordbatch_unwrap = function(arg0) {\n const ret = RecordBatch.__unwrap(arg0);\n return ret;\n };\n imports.wbg.__wbg_releaseLock_62151472ae632176 = function(arg0) {\n arg0.releaseLock();\n };\n imports.wbg.__wbg_releaseLock_ff29b586502a8221 = function(arg0) {\n arg0.releaseLock();\n };\n imports.wbg.__wbg_resolve_4055c623acdd6a1b = function(arg0) {\n const ret = Promise.resolve(arg0);\n return ret;\n };\n imports.wbg.__wbg_respond_6c2c4e20ef85138e = function() { return handleError(function (arg0, arg1) {\n arg0.respond(arg1 >>> 0);\n }, arguments) };\n imports.wbg.__wbg_rowgroupmetadata_new = function(arg0) {\n const ret = RowGroupMetaData.__wrap(arg0);\n return ret;\n };\n imports.wbg.__wbg_setTimeout_2b339866a2aa3789 = function(arg0, arg1) {\n const ret = setTimeout(arg0, arg1);\n return ret;\n };\n imports.wbg.__wbg_set_1353b2a5e96bc48c = function(arg0, arg1, arg2) {\n arg0.set(getArrayU8FromWasm0(arg1, arg2));\n };\n imports.wbg.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {\n arg0[arg1] = arg2;\n };\n imports.wbg.__wbg_set_b7f1cf4fae26fe2a = function(arg0, arg1, arg2) {\n const ret = arg0.set(arg1, arg2);\n return ret;\n };\n imports.wbg.__wbg_setbody_c8460bdf44147df8 = function(arg0, arg1) {\n arg0.body = arg1;\n };\n imports.wbg.__wbg_setcache_90ca4ad8a8ad40d3 = function(arg0, arg1) {\n arg0.cache = __wbindgen_enum_RequestCache[arg1];\n };\n imports.wbg.__wbg_setcredentials_9cd60d632c9d5dfc = function(arg0, arg1) {\n arg0.credentials = __wbindgen_enum_RequestCredentials[arg1];\n };\n imports.wbg.__wbg_setheaders_0052283e2f3503d1 = function(arg0, arg1) {\n arg0.headers = arg1;\n };\n imports.wbg.__wbg_sethighwatermark_3d5961f834647d41 = function(arg0, arg1) {\n arg0.highWaterMark = arg1;\n };\n imports.wbg.__wbg_setmethod_9b504d5b855b329c = function(arg0, arg1, arg2) {\n arg0.method = getStringFromWasm0(arg1, arg2);\n };\n imports.wbg.__wbg_setmode_a23e1a2ad8b512f8 = function(arg0, arg1) {\n arg0.mode = __wbindgen_enum_RequestMode[arg1];\n };\n imports.wbg.__wbg_setsignal_8c45ad1247a74809 = function(arg0, arg1) {\n arg0.signal = arg1;\n };\n imports.wbg.__wbg_signal_da4d466ce86118b5 = function(arg0) {\n const ret = arg0.signal;\n return ret;\n };\n imports.wbg.__wbg_size_8f84e7768fba0589 = function(arg0) {\n const ret = arg0.size;\n return ret;\n };\n imports.wbg.__wbg_slice_36c55c8c1a260c46 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.slice(arg1, arg2);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_static_accessor_GLOBAL_8921f820c2ce3f12 = function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_GLOBAL_THIS_f0a4409105898184 = function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_SELF_995b214ae681ff99 = function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_static_accessor_WINDOW_cde3890479c675ea = function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_status_3fea3036088621d6 = function(arg0) {\n const ret = arg0.status;\n return ret;\n };\n imports.wbg.__wbg_stringify_b98c93d0a190446a = function() { return handleError(function (arg0) {\n const ret = JSON.stringify(arg0);\n return ret;\n }, arguments) };\n imports.wbg.__wbg_table_new = function(arg0) {\n const ret = Table.__wrap(arg0);\n return ret;\n };\n imports.wbg.__wbg_then_b33a773d723afa3e = function(arg0, arg1, arg2) {\n const ret = arg0.then(arg1, arg2);\n return ret;\n };\n imports.wbg.__wbg_then_e22500defe16819f = function(arg0, arg1) {\n const ret = arg0.then(arg1);\n return ret;\n };\n imports.wbg.__wbg_toString_78df35411a4fd40c = function(arg0) {\n const ret = arg0.toString();\n return ret;\n };\n imports.wbg.__wbg_url_e5720dfacf77b05e = function(arg0, arg1) {\n const ret = arg1.url;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_value_dd9372230531eade = function(arg0) {\n const ret = arg0.value;\n return ret;\n };\n imports.wbg.__wbg_view_91cc97d57ab30530 = function(arg0) {\n const ret = arg0.view;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n };\n imports.wbg.__wbg_wbindgenbigintgetasi64_ac743ece6ab9bba1 = function(arg0, arg1) {\n const v = arg1;\n const ret = typeof(v) === 'bigint' ? v : undefined;\n getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n };\n imports.wbg.__wbg_wbindgenbooleanget_3fe6f642c7d97746 = function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n };\n imports.wbg.__wbg_wbindgencbdrop_eb10308566512b88 = function(arg0) {\n const obj = arg0.original;\n if (obj.cnt-- == 1) {\n obj.a = 0;\n return true;\n }\n const ret = false;\n return ret;\n };\n imports.wbg.__wbg_wbindgendebugstring_99ef257a3ddda34d = function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_wbindgenfunctiontable_aa1084b2969a9cbe = function() {\n const ret = wasm.__wbindgen_export_5;\n return ret;\n };\n imports.wbg.__wbg_wbindgenin_d7a1ee10933d2d55 = function(arg0, arg1) {\n const ret = arg0 in arg1;\n return ret;\n };\n imports.wbg.__wbg_wbindgenisbigint_ecb90cc08a5a9154 = function(arg0) {\n const ret = typeof(arg0) === 'bigint';\n return ret;\n };\n imports.wbg.__wbg_wbindgenisfunction_8cee7dce3725ae74 = function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n };\n imports.wbg.__wbg_wbindgenisobject_307a53c6bd97fbf8 = function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbg_wbindgenisstring_d4fa939789f003b0 = function(arg0) {\n const ret = typeof(arg0) === 'string';\n return ret;\n };\n imports.wbg.__wbg_wbindgenisundefined_c4b71d073b92f3c5 = function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n };\n imports.wbg.__wbg_wbindgenjsvaleq_e6f2ad59ccae1b58 = function(arg0, arg1) {\n const ret = arg0 === arg1;\n return ret;\n };\n imports.wbg.__wbg_wbindgenjsvallooseeq_9bec8c9be826bed1 = function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n };\n imports.wbg.__wbg_wbindgenmemory_d84da70f7c42d172 = function() {\n const ret = wasm.memory;\n return ret;\n };\n imports.wbg.__wbg_wbindgennumberget_f74b4c7525ac05cb = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n };\n imports.wbg.__wbg_wbindgenstringget_0f16a6ddddef376f = function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n };\n imports.wbg.__wbg_wbindgenthrow_451ec1a8469d7eb6 = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbg_writable_e5202c9fd57615db = function(arg0) {\n const ret = arg0.writable;\n return ret;\n };\n imports.wbg.__wbg_write_2e39e04a4c8c9e9d = function(arg0, arg1) {\n const ret = arg0.write(arg1);\n return ret;\n };\n imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n };\n imports.wbg.__wbindgen_cast_3fa4d3e7d32dad96 = function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { dtor_idx: 339, function: Function { arguments: [], shim_idx: 340, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, 339, __wbg_adapter_11);\n return ret;\n };\n imports.wbg.__wbindgen_cast_4625c577ab2ec9ee = function(arg0) {\n // Cast intrinsic for `U64 -> Externref`.\n const ret = BigInt.asUintN(64, arg0);\n return ret;\n };\n imports.wbg.__wbindgen_cast_5c484bf9528b29d7 = function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { dtor_idx: 3805, function: Function { arguments: [Externref], shim_idx: 3806, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, 3805, __wbg_adapter_6);\n return ret;\n };\n imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return ret;\n };\n imports.wbg.__wbindgen_init_externref_table = function() {\n const table = wasm.__wbindgen_export_4;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n ;\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedDataViewMemory0 = null;\n cachedUint32ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n\n\n wasm.__wbindgen_start();\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module !== 'undefined') {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (typeof module_or_path !== 'undefined') {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (typeof module_or_path === 'undefined') {\n module_or_path = new URL('parquet_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type * as ParquetWasm from 'parquet-wasm/esm/parquet_wasm.js';\nimport {loadNodeWasmInput} from './load-wasm-node';\n\nlet initializePromise: Promise<typeof ParquetWasm> | undefined;\n\nexport async function loadWasm(\n wasmUrl?: ParquetWasm.InitInput | Promise<ParquetWasm.InitInput>\n): Promise<typeof ParquetWasm> {\n if (!initializePromise) {\n const nextInitializePromise = loadAndInitializeWasm(wasmUrl);\n const cachedInitializePromise = nextInitializePromise.catch(error => {\n if (initializePromise === cachedInitializePromise) {\n initializePromise = undefined;\n }\n throw error;\n });\n initializePromise = cachedInitializePromise;\n }\n\n return await initializePromise;\n}\n\nasync function loadAndInitializeWasm(\n wasmUrl?: ParquetWasm.InitInput | Promise<ParquetWasm.InitInput>\n): Promise<typeof ParquetWasm> {\n const parquetWasm = await import('parquet-wasm/esm/parquet_wasm.js');\n const moduleOrPath = wasmUrl ? await wasmUrl : await loadDefaultWasmInput();\n if (moduleOrPath) {\n await parquetWasm.default({module_or_path: moduleOrPath});\n } else {\n // parquet-wasm resolves its sibling asset with new URL(..., import.meta.url), which allows\n // browser bundlers to copy and fingerprint the WASM file without a network CDN default.\n await parquetWasm.default();\n }\n return parquetWasm;\n}\n\n/** Loads a local Node asset or defers to parquet-wasm's browser import.meta resolver. */\nasync function loadDefaultWasmInput(): Promise<Uint8Array | undefined> {\n return await loadNodeWasmInput();\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Readable} from 'stream';\nimport {isBrowser} from '@loaders.gl/loader-utils';\n\nexport type StreamIteratorOptions = {\n _streamReadAhead?: boolean;\n /** Cancels the active stream read and rejects iteration with the signal reason. */\n signal?: AbortSignal;\n};\n\n/**\n * Returns an async iterable that reads from a stream (works in both Node.js and browsers)\n * @param stream stream to iterator over\n */\nexport function makeStreamIterator<T>(\n stream: ReadableStream<T> | Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<T> {\n return isBrowser || isReadableStream(stream)\n ? makeBrowserStreamIterator(stream as ReadableStream<T>, options)\n : makeNodeStreamIterator(stream as Readable, options);\n}\n\n/** Detects WHATWG streams in Node.js as well as in browsers. */\nfunction isReadableStream<T>(stream: ReadableStream<T> | Readable): stream is ReadableStream<T> {\n return typeof (stream as ReadableStream<T>).getReader === 'function';\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @see https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate\n */\nasync function* makeBrowserStreamIterator<T>(\n stream: ReadableStream<T>,\n options?: StreamIteratorOptions\n): AsyncIterable<T> {\n // WhatWG: stream is supposed to have a `getIterator` method\n // if (typeof stream.getIterator === 'function') {\n // return stream.getIterator();\n // }\n // if (typeof stream[Symbol.asyncIterator] === 'function') {\n // return makeToArrayBufferIterator(stream);\n // }\n\n // In the browser, we first need to get a lock on the stream\n const reader = stream.getReader();\n const signal = options?.signal;\n const abortListener = () => {\n // Canceling the reader settles a pending read. The loop then throws the signal reason.\n void reader.cancel(signal?.reason).catch(() => {});\n };\n\n let nextBatchPromise: Promise<{done?: boolean; value?: T}> | undefined;\n let streamFinished = false;\n let streamReadFailed = false;\n let iteratorFailed = false;\n\n try {\n throwIfAborted(signal);\n signal?.addEventListener('abort', abortListener, {once: true});\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const currentBatchPromise = nextBatchPromise || reader.read();\n nextBatchPromise = undefined;\n // Read from the stream\n let batch;\n try {\n batch = await currentBatchPromise;\n } catch (error) {\n streamReadFailed = true;\n throw error;\n }\n throwIfAborted(signal);\n const {done, value} = batch;\n // Exit if we're done\n if (done) {\n streamFinished = true;\n return;\n }\n // Issue a read for an additional batch while the current batch is processed\n if (options?._streamReadAhead) {\n nextBatchPromise = reader.read();\n // Observe a prefetched rejection even if the consumer stops before requesting it\n void nextBatchPromise.catch(() => {});\n }\n // Else yield the chunk\n if (value) {\n yield value;\n }\n }\n } catch (error) {\n iteratorFailed = true;\n throw error;\n } finally {\n signal?.removeEventListener('abort', abortListener);\n let cleanupError: unknown;\n\n if (!streamFinished && !streamReadFailed) {\n try {\n await reader.cancel();\n } catch (error) {\n cleanupError = error;\n }\n }\n\n try {\n reader.releaseLock();\n } catch (error) {\n cleanupError ||= error;\n }\n\n // Preserve iteration errors instead of replacing them with cleanup errors\n if (!iteratorFailed && cleanupError) {\n throw cleanupError;\n }\n }\n}\n\n/**\n * Returns an async iterable that reads from a DOM (browser) stream\n * @param stream stream to iterate from\n * @note Requires Node.js >= 10\n */\nasync function* makeNodeStreamIterator<T>(\n stream: Readable,\n options?: StreamIteratorOptions\n): AsyncIterable<T> {\n // Node streams and modern Node.js Web streams both expose an async iterator.\n const iterator = stream[Symbol.asyncIterator]();\n const signal = options?.signal;\n let abortListener: (() => void) | undefined;\n const abortPromise = signal\n ? new Promise<never>((_resolve, reject) => {\n abortListener = () => reject(getAbortReason(signal));\n signal.addEventListener('abort', abortListener, {once: true});\n })\n : null;\n let iteratorFailed = false;\n let streamFinished = false;\n\n try {\n throwIfAborted(signal);\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const nextPromise = iterator.next();\n if (abortPromise) {\n // Observe a late failure if cancellation wins the race.\n void nextPromise.catch(() => {});\n }\n const result = abortPromise\n ? await Promise.race([nextPromise, abortPromise])\n : await nextPromise;\n throwIfAborted(signal);\n if (result.done) {\n streamFinished = true;\n return;\n }\n yield result.value;\n }\n } catch (error) {\n iteratorFailed = true;\n throw error;\n } finally {\n if (abortListener) {\n signal?.removeEventListener('abort', abortListener);\n }\n if (!streamFinished) {\n try {\n await iterator.return?.();\n } catch (error) {\n if (!iteratorFailed) {\n throw error;\n }\n }\n }\n }\n}\n\n/** Returns the standard AbortSignal reason, including a fallback for older runtimes. */\nfunction getAbortReason(signal: AbortSignal): unknown {\n if (signal.reason !== undefined) {\n return signal.reason;\n }\n const error = new Error('The operation was aborted');\n error.name = 'AbortError';\n return error;\n}\n\n/** Throws at a cancellation checkpoint. */\nfunction throwIfAborted(signal?: AbortSignal): void {\n if (signal?.aborted) {\n throw getAbortReason(signal);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// eslint-disable\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\nimport type {ArrowTable, ArrowTableBatch, Schema} from '@loaders.gl/schema';\n\nimport type * as parquetWasm from 'parquet-wasm/esm/parquet_wasm.js';\nimport * as arrow from 'apache-arrow';\n\nimport {\n normalizeArrowTableGeoMetadata,\n getParquetFileMetadataMap\n} from '../geo/geospatial-metadata';\nimport {loadWasm} from '../utils/load-wasm';\nimport {makeStreamIterator} from '../utils/make-stream-iterator';\n\ntype ParquetWasmReaderOptions = parquetWasm.ReaderOptions & {wasmUrl?: string};\n\nexport async function parseParquetFileToArrow(\n file: ReadableFile,\n options?: ParquetWasmReaderOptions\n): Promise<ArrowTable> {\n const wasmUrl = options?.wasmUrl;\n const readerOptions = getReaderOptions(options);\n\n const wasm = await loadWasm(wasmUrl);\n\n const parquetFile = await createParquetFile(file, wasm);\n try {\n const wasmTable = await parquetFile.read(readerOptions);\n const ipcStream = wasmTable.intoIPCStream();\n const arrowTable = arrow.tableFromIPC(ipcStream);\n return normalizeArrowTableGeoMetadata(\n {\n shape: 'arrow-table',\n data: arrowTable\n },\n getParquetFileMetadataMap(parquetFile.metadata())\n );\n } finally {\n parquetFile.free();\n }\n}\n\nexport async function* parseParquetFileToArrowInBatches(\n file: ReadableFile,\n options?: ParquetWasmReaderOptions\n): AsyncIterable<ArrowTableBatch> {\n const wasmUrl = options?.wasmUrl;\n const readerOptions = getReaderOptions(options);\n\n const wasm = await loadWasm(wasmUrl);\n\n const parquetFile = await createParquetFile(file, wasm);\n try {\n const stream = await parquetFile.stream(readerOptions);\n const schemaMetadata = getParquetFileMetadataMap(parquetFile.metadata());\n\n let schema: Schema | undefined;\n for await (const wasmRecordBatch of makeStreamIterator<parquetWasm.RecordBatch>(stream)) {\n const normalizedArrowTable = normalizeArrowTableGeoMetadata(\n {\n shape: 'arrow-table',\n data: arrow.tableFromIPC(wasmRecordBatch.intoIPCStream())\n },\n schemaMetadata\n );\n schema ||= normalizedArrowTable.schema;\n yield {\n batchType: 'data',\n shape: 'arrow-table',\n schema,\n data: normalizedArrowTable.data,\n length: normalizedArrowTable.data.numRows\n };\n }\n } finally {\n parquetFile.free();\n }\n}\n\nasync function createParquetFile(\n file: ReadableFile,\n wasm: typeof parquetWasm\n): Promise<parquetWasm.ParquetFile> {\n if (file.handle instanceof Blob) {\n // Works on Blobs: https://kylebarron.dev/parquet-wasm/classes/esm_parquet_wasm.ParquetFile.html#fromFile\n return await wasm.ParquetFile.fromFile(file.handle as File);\n }\n\n return await wasm.ParquetFile.fromUrl(file.url);\n}\n\nfunction getReaderOptions(options?: ParquetWasmReaderOptions): parquetWasm.ReaderOptions {\n const {wasmUrl, ...readerOptions} = options || {};\n return readerOptions;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/** Merge caller options with default parquet options while preserving top-level option bags. */\nexport function normalizeParquetOptions<OptionsT extends {parquet?: unknown}>(\n options: OptionsT | undefined,\n parquetDefaults: Record<string, unknown>\n): OptionsT {\n return {\n ...options,\n parquet: {...parquetDefaults, ...(options?.parquet as Record<string, unknown> | undefined)}\n } as unknown as OptionsT;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\nimport type {Buffers} from 'apache-arrow/data';\nimport type {DataType, Schema} from '@loaders.gl/schema';\nimport {\n deserializeArrowSchema,\n deserializeArrowType,\n serializeArrowSchema,\n serializeArrowType\n} from '@loaders.gl/schema-utils';\nimport {splitArrowBuffers, type SplitArrowBuffersOptions} from './split-arrow-buffers';\n\n/** Structured-cloneable Arrow Data payload used by dehydrateArrowTable. */\nexport type DehydratedArrowData<T extends arrow.DataType = arrow.DataType> = {\n type: DataType;\n offset: number;\n length: number;\n nullCount: number;\n buffers: Partial<Buffers<T>>;\n children: DehydratedArrowData[];\n dictionary?: DehydratedArrowVector;\n};\n\n/** Structured-cloneable Arrow Vector payload used by dehydrateArrowTable. */\nexport type DehydratedArrowVector<T extends arrow.DataType = arrow.DataType> = {\n data: DehydratedArrowData<T>[];\n};\n\n/** Structured-cloneable Arrow RecordBatch payload used by dehydrateArrowTable. */\nexport type DehydratedArrowRecordBatch<T extends arrow.TypeMap = arrow.TypeMap> = {\n data: DehydratedArrowData<arrow.Struct<T>>;\n};\n\n/** Structured-cloneable Arrow Table payload for same-version Arrow JS boundaries. */\nexport type DehydratedArrowTable<T extends arrow.TypeMap = arrow.TypeMap> = {\n shape: 'arrow-table';\n transport: 'arrow-js';\n schema: Schema;\n batches: DehydratedArrowRecordBatch<T>[];\n};\n\n/** Arrow IPC payload for robust Arrow table transport across Arrow JS versions. */\nexport type SerializedArrowTableIPC = {\n shape: 'arrow-table';\n transport: 'arrow-ipc';\n data: Uint8Array;\n};\n\n/**\n * Dehydrates an Arrow table into a structured-cloneable payload.\n *\n * This format preserves Arrow JS object details and is efficient, but assumes both sides hydrate\n * with a compatible Apache Arrow JS version. Use serializeArrowTableToIPC when crossing version\n * boundaries. Arrow schema and type metadata are serialized with @loaders.gl/schema-utils helpers.\n * @param table Arrow table to dehydrate.\n * @param options Buffer splitting options.\n * @returns Structured-cloneable Arrow table payload.\n */\nexport function dehydrateArrowTable<T extends arrow.TypeMap>(\n table: arrow.Table<T>,\n options?: SplitArrowBuffersOptions\n): DehydratedArrowTable<T> {\n const splitTable = splitArrowBuffers(table, options);\n return {\n shape: 'arrow-table',\n transport: 'arrow-js',\n schema: serializeArrowSchema(splitTable.schema),\n batches: splitTable.batches.map(recordBatch => dehydrateArrowRecordBatch(recordBatch))\n };\n}\n\n/**\n * Hydrates a table payload created by dehydrateArrowTable into a real Arrow table.\n * @param table Structured-cloneable Arrow table payload.\n * @returns Hydrated Arrow table.\n */\nexport function hydrateArrowTable<T extends arrow.TypeMap>(\n table: DehydratedArrowTable<T>\n): arrow.Table<T> {\n const schema = deserializeArrowSchema(table.schema) as arrow.Schema<T>;\n const recordBatches = table.batches.map(\n recordBatch => new arrow.RecordBatch(schema, hydrateArrowData(recordBatch.data))\n );\n return new arrow.Table(schema, recordBatches);\n}\n\n/**\n * Serializes an Arrow table to Arrow IPC bytes.\n *\n * This is less efficient than dehydrateArrowTable for in-memory worker hops, but it is more robust\n * when the producer and consumer may use different Apache Arrow JS versions.\n * @param table Arrow table to serialize.\n * @returns Arrow IPC payload.\n */\nexport function serializeArrowTableToIPC(table: arrow.Table): SerializedArrowTableIPC {\n return {\n shape: 'arrow-table',\n transport: 'arrow-ipc',\n data: arrow.tableToIPC(table)\n };\n}\n\n/**\n * Deserializes Arrow IPC bytes from serializeArrowTableToIPC into a real Arrow table.\n * @param table Serialized Arrow table payload or raw IPC bytes.\n * @returns Deserialized Arrow table.\n */\nexport function deserializeArrowTableFromIPC(\n table: SerializedArrowTableIPC | ArrayBuffer | Uint8Array\n): arrow.Table {\n const data = isSerializedArrowTableIPC(table) ? table.data : table;\n return arrow.tableFromIPC(data);\n}\n\n/**\n * Dehydrates an Arrow record batch into a structured-cloneable payload.\n * @param recordBatch Arrow record batch to dehydrate.\n * @returns Structured-cloneable record batch payload.\n */\nfunction dehydrateArrowRecordBatch<T extends arrow.TypeMap>(\n recordBatch: arrow.RecordBatch<T>\n): DehydratedArrowRecordBatch<T> {\n return {data: dehydrateArrowData(recordBatch.data)};\n}\n\n/**\n * Dehydrates an Arrow data node into a structured-cloneable payload.\n * @param data Arrow data node to dehydrate.\n * @returns Structured-cloneable data payload.\n */\nfunction dehydrateArrowData<T extends arrow.DataType>(data: arrow.Data<T>): DehydratedArrowData<T> {\n return {\n type: serializeArrowType(data.type),\n offset: data.offset,\n length: data.length,\n // @ts-expect-error _nullCount is protected. Preserve the Arrow lazy null-count state.\n nullCount: data._nullCount,\n buffers: {\n [arrow.BufferType.OFFSET]: data.buffers[arrow.BufferType.OFFSET],\n [arrow.BufferType.DATA]: data.buffers[arrow.BufferType.DATA],\n [arrow.BufferType.VALIDITY]: data.buffers[arrow.BufferType.VALIDITY],\n [arrow.BufferType.TYPE]: data.buffers[arrow.BufferType.TYPE]\n },\n children: data.children.map(childData => dehydrateArrowData(childData)),\n dictionary: data.dictionary ? dehydrateArrowVector(data.dictionary) : undefined\n };\n}\n\n/**\n * Dehydrates an Arrow vector into a structured-cloneable payload.\n * @param vector Arrow vector to dehydrate.\n * @returns Structured-cloneable vector payload.\n */\nfunction dehydrateArrowVector<T extends arrow.DataType>(\n vector: arrow.Vector<T>\n): DehydratedArrowVector<T> {\n return {data: vector.data.map(data => dehydrateArrowData(data))};\n}\n\n/**\n * Hydrates an Arrow data payload into a real Arrow data node.\n * @param data Structured-cloneable data payload.\n * @returns Hydrated Arrow data node.\n */\nfunction hydrateArrowData<T extends arrow.DataType>(data: DehydratedArrowData<T>): arrow.Data<T> {\n const children = data.children.map(childData => hydrateArrowData(childData));\n const dictionary = data.dictionary ? hydrateArrowVector(data.dictionary) : undefined;\n return new arrow.Data(\n deserializeArrowType(data.type) as T,\n data.offset,\n data.length,\n data.nullCount,\n data.buffers,\n children,\n dictionary\n );\n}\n\n/**\n * Hydrates an Arrow vector payload into a real Arrow vector.\n * @param vector Structured-cloneable vector payload.\n * @returns Hydrated Arrow vector.\n */\nfunction hydrateArrowVector<T extends arrow.DataType>(\n vector: DehydratedArrowVector<T>\n): arrow.Vector<T> {\n return new arrow.Vector(vector.data.map(data => hydrateArrowData(data)));\n}\n\n/**\n * Tests whether a value is a serialized Arrow table payload.\n * @param value Value to test.\n * @returns True when the value is a SerializedArrowTableIPC.\n */\nfunction isSerializedArrowTableIPC(value: unknown): value is SerializedArrowTableIPC {\n return Boolean(\n value &&\n typeof value === 'object' &&\n (value as SerializedArrowTableIPC).shape === 'arrow-table' &&\n (value as SerializedArrowTableIPC).transport === 'arrow-ipc'\n );\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Types\nexport {VECTOR_TYPES} from './lib/types';\n\n// Arrow loader / Writer\n\nexport {ArrowFormat} from './exports/arrow-format';\n\nexport type {ArrowLoaderOptions} from './exports/arrow-loader';\n\nexport {ArrowLoader} from './arrow-loader';\n\nexport {ArrowWriter} from './arrow-writer';\nexport type {\n ArrowConvertFromOptions,\n ArrowConvertToOptions\n} from './arrow-converter/arrow-converter';\nexport {ARROW_CONVERTERS, ArrowConverter} from './arrow-converter/arrow-converter';\n\nexport {tightenArrowTableSchemaNullability} from './lib/tighten-arrow-table-schema-nullability';\n\n// Geoarrow loader\n\nexport {GeoArrowLoader} from './geoarrow-loader';\n\n// EXPERIMENTAL\n\n// Arrow Utils\nexport {IndexedArrowVector} from './lib/utils/indexed-arrow-vector';\nexport {\n IndexedArrowTable,\n type IndexedArrowTableComparator,\n type IndexedArrowTableFindPredicate,\n type IndexedArrowTablePredicate,\n type IndexedArrowTableRow\n} from './lib/utils/indexed-arrow-table';\nexport {\n MappedArrowTable,\n type MappedArrowTableComparator,\n type MappedArrowTablePredicate\n} from './lib/utils/mapped-arrow-table';\nexport {\n validateArrowTableSchema,\n type ValidateArrowTableSchemaOptions\n} from './lib/utils/arrow-schema-utils';\nexport {\n renameArrowColumns,\n type ArrowFieldNameMap,\n type RenamedArrowColumns\n} from './lib/utils/rename-arrow-columns';\nexport {\n convertArrowTableVariableWidthTypes,\n convertArrowVariableWidthVector,\n type ConvertArrowVariableWidthOptions\n} from './lib/utils/convert-arrow-variable-width';\nexport {\n splitArrowBuffers,\n splitArrowTableBuffers,\n type SplitArrowBuffersInput,\n type SplitArrowBuffersOptions\n} from './lib/utils/split-arrow-buffers';\nexport {\n dehydrateArrowTable,\n hydrateArrowTable,\n serializeArrowTableToIPC,\n deserializeArrowTableFromIPC,\n type DehydratedArrowData,\n type DehydratedArrowRecordBatch,\n type DehydratedArrowTable,\n type DehydratedArrowVector,\n type SerializedArrowTableIPC\n} from './lib/utils/arrow-table-transport';\nexport {\n compareUTF8,\n parseUTF8BigInt,\n parseUTF8Boolean,\n parseUTF8Number,\n type UTF8Comparison\n} from './lib/utils/utf8-utils';\n\nexport type {\n ParseGeoArrowInput,\n ParseGeoArrowResult,\n TriangulateWKBColumnInput,\n TriangulateWKBColumnResult\n} from './triangulate-on-worker';\nexport {\n TriangulationWorker,\n triangulateOnWorker,\n triangulateWKBColumnOnWorker,\n parseGeoArrowOnWorker\n} from './triangulate-on-worker';\nexport {\n triangulateWKBGeometryColumn,\n type TriangulatedWKBGeometryColumns\n} from './triangulate-wkb-geometry-column';\n\n// DEPRECATED EXPORTS\n/** @deprecated Use ArrowLoader. */\nexport {ArrowWorkerLoader} from './exports/arrow-loader';\n/** @deprecated Use GeoArrowLoader. */\nexport {GeoArrowWorkerLoader} from './exports/geoarrow-loader';\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {SerializedArrowTableIPC} from '@loaders.gl/arrow';\nimport {deserializeArrowTableFromIPC, serializeArrowTableToIPC} from '@loaders.gl/arrow';\nimport type {ArrowTable, ObjectRowTable} from '@loaders.gl/schema';\n\ntype ParquetWorkerResult = ArrowTable | ObjectRowTable;\n\ntype SerializedArrowTable = Omit<ArrowTable, 'data'> & {\n /** Transferable Arrow IPC payload produced by the worker. */\n data: SerializedArrowTableIPC;\n};\n\n/** Serializes a Parquet worker result so Arrow buffers are transferred without cloning. */\nexport function serializeParquetWorkerResult(result: unknown): unknown {\n if (!isArrowTable(result)) {\n return result;\n }\n return {\n ...result,\n data: serializeArrowTableToIPC(result.data)\n };\n}\n\n/** Rehydrates a transferred Parquet Arrow result into main-thread Arrow class instances. */\nexport function deserializeParquetWorkerResult(result: unknown): ParquetWorkerResult {\n if (isSerializedArrowTable(result)) {\n return {...result, data: deserializeArrowTableFromIPC(result.data)};\n }\n return result as ParquetWorkerResult;\n}\n\n/** Returns true when a parser result wraps an Apache Arrow table. */\nfunction isArrowTable(value: unknown): value is ArrowTable {\n const table = value as ArrowTable;\n return Boolean(\n table &&\n typeof table === 'object' &&\n table.shape === 'arrow-table' &&\n table.data &&\n 'batches' in table.data\n );\n}\n\n/** Returns true when a worker result contains the loaders.gl Arrow IPC transport format. */\nfunction isSerializedArrowTable(value: unknown): value is SerializedArrowTable {\n const table = value as SerializedArrowTable;\n return Boolean(\n table &&\n typeof table === 'object' &&\n table.shape === 'arrow-table' &&\n table.data &&\n table.data.transport === 'arrow-ipc'\n );\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Format} from '@loaders.gl/loader-utils';\n\nexport const ParquetFormat = {\n name: 'Apache Parquet',\n category: 'table',\n encoding: 'parquet',\n format: 'parquet',\n extensions: ['parquet'],\n mimeTypes: ['application/octet-stream'],\n binary: true,\n tests: ['PAR1', 'PARE']\n} as const satisfies Partial<Format>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {LoaderOptions} from '@loaders.gl/loader-utils';\n\n/** Shared row-level options supported by both Parquet backends. */\ntype ParquetCommonLoaderOptions = {\n limit?: number;\n offset?: number;\n batchSize?: number;\n columns?: string[];\n preserveBinary?: boolean;\n};\n\n/** Additional options supported by the wasm-backed Parquet reader. */\ntype ParquetWasmLoaderOptions = ParquetCommonLoaderOptions & {\n rowGroups?: number[];\n concurrency?: number;\n /** Cancels an active worker parse by terminating its worker. */\n signal?: AbortSignal;\n /** Overrides the packaged Parquet worker asset URL. */\n workerUrl?: string;\n /** Overrides the package-local parquet-wasm binary URL. */\n wasmUrl?: string;\n};\n\n/** Public options for the wasm-backed `ParquetLoader` and `GeoParquetLoader`. */\nexport type ParquetLoaderOptions = LoaderOptions & {\n parquet?: {\n shape?: 'object-row-table' | 'arrow-table';\n } & {\n [Key in keyof ParquetWasmLoaderOptions]?: ParquetWasmLoaderOptions[Key];\n };\n};\n\n/** Public options for the experimental parquetjs-backed `ParquetJSLoader`. */\nexport type ParquetJSLoaderOptions = LoaderOptions & {\n parquet?: {\n shape?: 'object-row-table' | 'arrow-table';\n } & {\n [Key in keyof ParquetCommonLoaderOptions]?: ParquetCommonLoaderOptions[Key];\n };\n};\n\n/** Shared default option bag for the wasm-backed Parquet loaders. */\nexport const PARQUET_LOADER_DEFAULT_OPTIONS = {\n columns: undefined,\n preserveBinary: false,\n shape: 'object-row-table'\n} as const;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {\n ArrowTable,\n ArrowTableBatch,\n ObjectRowTable,\n ObjectRowTableBatch\n} from '@loaders.gl/schema';\n\nimport {ParquetFormat} from './parquet-format';\nimport {PARQUET_LOADER_DEFAULT_OPTIONS} from './parquet-loader-options';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** Shared Parquet loader metadata without parser preloading or worker delivery policy. */\nexport const PARQUET_LOADER_BASE = {\n ...ParquetFormat,\n\n dataType: null as unknown as ObjectRowTable | ArrowTable,\n batchType: null as unknown as ObjectRowTableBatch | ArrowTableBatch,\n\n id: 'parquet',\n module: 'parquet',\n version: VERSION,\n options: {\n parquet: {\n ...PARQUET_LOADER_DEFAULT_OPTIONS\n }\n }\n} as const;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/** Module-relative worker asset for browser ESM and Node.js CommonJS distributions. */\nexport const PARQUET_WORKER_URL = import.meta.url\n ? new URL(getParquetWorkerFile(), import.meta.url).toString()\n : typeof __dirname === 'string'\n ? `${__dirname}/parquet-worker-node.cjs`\n : true;\n\n/** Selects the worker bundle for the current JavaScript runtime. */\nfunction getParquetWorkerFile(): string {\n const isNode = Boolean(\n (globalThis as {process?: {versions?: {node?: string}}}).process?.versions?.node\n );\n return isNode ? './parquet-worker-node.cjs' : './parquet-worker.js';\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {Loader} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n ArrowTable,\n ArrowTableBatch\n} from '@loaders.gl/schema';\n\nimport {PARQUET_LOADER_BASE} from './parquet-loader-base';\nimport type {ParquetLoaderOptions as SharedParquetLoaderOptions} from './parquet-loader-options';\nimport {PARQUET_WORKER_URL} from './parquet-worker-url';\n\n/** Options for the Parquet loader. */\nexport type ParquetLoaderOptions = SharedParquetLoaderOptions;\n\n/** Preloads the parser-bearing WASM Parquet loader implementation. */\nasync function preloadParquetLoader() {\n const {ParquetLoaderWithParser} = await import('@loaders.gl/parquet/parquet-loader');\n return ParquetLoaderWithParser;\n}\n\n/** Metadata-only Parquet table loader supporting object-row and Arrow table output. */\nexport const ParquetLoader = {\n ...PARQUET_LOADER_BASE,\n worker: PARQUET_WORKER_URL,\n preload: preloadParquetLoader\n} as const satisfies Loader<\n ObjectRowTable | ArrowTable,\n ObjectRowTableBatch | ArrowTableBatch,\n ParquetLoaderOptions\n>;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {BlobFile, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n ArrowTable,\n ArrowTableBatch\n} from '@loaders.gl/schema';\nimport type {ReadableFile} from '@loaders.gl/loader-utils';\n\nimport {\n convertArrowBatchToObjectRows,\n convertArrowTableToObjectRows\n} from './lib/parsers/convert-parquet-tables';\nimport {\n parseParquetFileToArrow,\n parseParquetFileToArrowInBatches\n} from './lib/parsers/parse-parquet-to-arrow';\nimport {normalizeParquetOptions} from './lib/utils/normalize-parquet-options';\nimport {\n deserializeParquetWorkerResult,\n serializeParquetWorkerResult\n} from './lib/parquet-worker-transport';\nimport {ParquetLoader as ParquetLoaderMetadata} from './parquet-loader-types';\nimport type {ParquetLoaderOptions} from './parquet-loader-options';\n\nexport type {ParquetLoaderOptions} from './parquet-loader-options';\n\nconst {preload: _ParquetLoaderPreload, ...ParquetLoaderMetadataWithoutPreload} =\n ParquetLoaderMetadata;\n\n/** WASM-backed Parquet table loader supporting object-row and Arrow table output. */\nexport const ParquetLoaderWithParser = {\n ...ParquetLoaderMetadataWithoutPreload,\n parse(arrayBuffer: ArrayBuffer, options?: ParquetLoaderOptions) {\n return parseParquetTable(new BlobFile(arrayBuffer), options);\n },\n parseFile(file, options?: ParquetLoaderOptions) {\n return parseParquetTable(file, options);\n },\n parseFileInBatches(file, options?: ParquetLoaderOptions) {\n return parseParquetTableInBatches(file, options);\n },\n async *parseInBatches(\n asyncIterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options?: ParquetLoaderOptions,\n _context?: unknown\n ) {\n const arrayBuffer = await concatenateArrayBuffersAsync(asyncIterator);\n yield* parseParquetTableInBatches(new BlobFile(arrayBuffer), options);\n },\n serializeWorkerResult: serializeParquetWorkerResult,\n deserializeWorkerResult: deserializeParquetWorkerResult\n} as const satisfies LoaderWithParser<\n ObjectRowTable | ArrowTable,\n ObjectRowTableBatch | ArrowTableBatch,\n ParquetLoaderOptions\n>;\n\n/**\n * Parses a Parquet file using the canonical WASM-backed table loader.\n * @param file readable file abstraction\n * @param options optional loader options\n * @returns object-row or Arrow table output depending on `parquet.shape`\n */\nasync function parseParquetTable(\n file: BlobFile | ReadableFile,\n options?: ParquetLoaderOptions\n): Promise<ObjectRowTable | ArrowTable> {\n const parquetOptions = getParquetOptions(options);\n\n if (parquetOptions.parquet?.shape === 'arrow-table') {\n return await parseParquetFileToArrow(file, parquetOptions.parquet);\n }\n\n const arrowTable = await parseParquetFileToArrow(file, parquetOptions.parquet);\n return convertArrowTableToObjectRows(arrowTable);\n}\n\n/**\n * Parses a Parquet file into streamed table batches using the canonical WASM-backed loader.\n * @param file readable file abstraction\n * @param options optional loader options\n * @returns async iterable of object-row or Arrow batches\n */\nasync function* parseParquetTableInBatches(\n file: BlobFile | ReadableFile,\n options?: ParquetLoaderOptions\n): AsyncIterable<ObjectRowTableBatch | ArrowTableBatch> {\n const parquetOptions = getParquetOptions(options);\n\n if (parquetOptions.parquet?.shape === 'arrow-table') {\n yield* parseParquetFileToArrowInBatches(file, parquetOptions.parquet);\n return;\n }\n\n for await (const batch of parseParquetFileToArrowInBatches(file, parquetOptions.parquet)) {\n yield convertArrowBatchToObjectRows(batch);\n }\n}\n\n/**\n * Normalizes caller options for the canonical WASM-backed Parquet loaders.\n * @param options caller-supplied loader options\n * @returns normalized loader options\n */\nexport function getParquetOptions(options?: ParquetLoaderOptions): ParquetLoaderOptions {\n return normalizeParquetOptions(options, ParquetLoaderWithParser.options.parquet);\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport type {ParquetLoaderOptions} from '../parquet-loader-options';\nimport {ParquetLoaderWithParser} from '../parquet-loader';\n\n/** Worker-local Parquet loader with a package-relative default WASM URL. */\nconst ParquetWorkerLoader = {\n ...ParquetLoaderWithParser,\n parse(arrayBuffer: ArrayBuffer, options?: ParquetLoaderOptions) {\n return ParquetLoaderWithParser.parse(arrayBuffer, addWorkerWasmUrl(options));\n }\n};\n\n/** Adds the package-local WASM asset URL when the caller did not provide one. */\nfunction addWorkerWasmUrl(options?: ParquetLoaderOptions): ParquetLoaderOptions | undefined {\n if (options?.parquet?.wasmUrl || typeof globalThis.location?.href !== 'string') {\n return options;\n }\n return {\n ...options,\n parquet: {\n ...options?.parquet,\n wasmUrl: new URL('parquet_wasm_bg.wasm', globalThis.location.href).toString()\n }\n };\n}\n\ncreateLoaderWorker(ParquetWorkerLoader);\n"],
5
+ "mappings": "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",
6
+ "names": ["parentPort", "process", "options", "payload", "options", "processOnMainThread", "fetch", "init_src", "v", "source", "events", "err", "pump", "options", "MetadataVersion", "UnionMode", "Precision", "DateUnit", "TimeUnit", "IntervalUnit", "Encoding", "BodyCompressionMethod", "CompressionType", "Buffer", "init_buffer", "init_buffer", "Buffer", "Endianness", "DictionaryKind", "Date", "Map", "init_utf8", "Type", "MessageHeader", "Type", "BufferType", "x", "Type", "Null", "Binary", "BinaryView", "LargeBinary", "Utf8", "Utf8View", "LargeUtf8", "Bool", "Decimal", "Duration", "List", "LargeList", "FixedSizeBinary", "FixedSizeList", "init_type", "Type", "init_type", "init_vector", "init_type", "BinaryView", "_a", "_b", "_c", "_d", "init_struct", "instance", "instance", "init_vector", "init_map", "init_struct", "_a", "init_map", "init_vector", "instance", "init_vector", "init_map", "init_struct", "getBool", "setBool", "init_vector", "init_type", "_a", "byteLength", "nullCount", "Type", "BinaryView", "instance", "Utf8View", "length", "getBool", "Type", "instance", "instance", "init_type", "init_vector", "init_type", "_b", "_d", "_c", "Type", "instance", "begin", "end", "newData", "_a", "init_buffer", "Builder", "init_builder", "init_vector", "init_map", "init_type", "init_buffer", "options", "size", "_a", "_b", "_c", "_d", "Schema", "Field", "init_schema", "init_type", "instance", "Builder", "ByteBuffer", "init_schema", "Schema", "instance", "init_utf8", "Date", "Map", "Schema", "RecordBatch", "DictionaryBatch", "Field", "FieldNode", "Null", "Binary", "LargeBinary", "BinaryView", "Utf8", "LargeUtf8", "Utf8View", "Bool", "List", "LargeList", "Decimal", "Duration", "FixedSizeBinary", "FixedSizeList", "init_schema", "init_type", "init_message", "Schema", "RecordBatch", "DictionaryBatch", "FieldNode", "Field", "Null", "Binary", "LargeBinary", "BinaryView", "Utf8", "LargeUtf8", "Utf8View", "Bool", "List", "LargeList", "Decimal", "Date", "Duration", "FixedSizeBinary", "FixedSizeList", "Map", "BodyCompression", "instance", "Buffer", "Builder", "ByteBuffer", "Message", "init_message", "init_buffer", "init_schema", "init_type", "AsyncQueue", "options", "AsyncQueue", "_d", "_e", "_f", "_a", "_c", "init_file", "Int64", "Uint64", "init_int", "_a", "_b", "init_interval", "encoder", "init_schema", "init_type", "init_int", "init_interval", "Field", "_a", "Int64", "init_binary", "init_buffer", "init_builder", "init_buffer", "init_builder", "init_bool", "init_buffer", "init_builder", "Builder", "options", "init_date", "init_builder", "init_decimal", "init_builder", "init_type", "init_builder", "Builder", "init_builder", "init_schema", "init_builder", "init_type", "Builder", "FixedSizeList", "Field", "init_builder", "init_interval", "init_builder", "init_duration", "init_builder", "init_int", "init_builder", "init_list", "init_schema", "init_type", "init_buffer", "init_builder", "List", "Field", "init_schema", "init_type", "init_buffer", "init_builder", "LargeList", "Field", "init_map", "init_schema", "init_type", "init_builder", "Field", "init_null", "init_builder", "Builder", "init_struct", "init_schema", "init_builder", "init_type", "Builder", "Field", "init_timestamp", "init_builder", "init_time", "init_builder", "init_union", "init_schema", "init_buffer", "init_builder", "init_type", "Builder", "options", "Field", "init_utf8", "init_binary", "init_buffer", "init_builder", "init_buffer", "init_builder", "init_type", "init_builder", "init_buffer", "Builder", "BinaryView", "instance", "init_binary", "init_bool", "init_date", "init_decimal", "init_interval", "init_duration", "init_int", "init_list", "init_map", "init_null", "init_struct", "init_timestamp", "init_time", "init_union", "init_utf8", "instance", "options", "instance", "type", "RecordBatch", "Schema", "Null", "Utf8", "Bool", "List", "Field", "_d", "_a", "_c", "init_schema", "init_type", "init_vector", "init_recordbatch", "RecordBatch", "_a", "init_type", "init_recordbatch", "init_vector", "init_schema", "init_type", "init_recordbatch", "Schema", "RecordBatch", "Field", "batches", "_c", "_b", "instance", "data", "Null", "indices", "oldToNew", "_a", "Type", "_b", "_c", "RecordBatch", "init_recordbatch", "init_vector", "init_schema", "init_type", "Schema", "Field", "instance", "Null", "_a", "init_message", "init_file", "Message", "_a", "init_constants", "self", "options", "init_vector", "init_type", "init_message", "init_file", "init_recordbatch", "init_constants", "_a", "_d", "_e", "_f", "_c", "RecordBatch", "DictionaryBatch", "_a", "init_vector", "init_recordbatch", "init_message", "init_type", "RecordBatch", "FieldNode", "init_vector", "init_interval", "init_type", "getBool", "_a", "_b", "_d", "RecordBatch", "init_message", "init_vector", "init_type", "init_recordbatch", "init_constants", "options", "BodyCompression", "Message", "DictionaryBatch", "options", "it", "options", "init_builder", "_a", "reader", "init_reader", "init_writer", "reader", "Schema", "Field", "RecordBatch", "init_schema", "init_type", "init_vector", "init_recordbatch", "init_type", "init_vector", "init_schema", "init_map", "init_struct", "init_builder", "init_bool", "init_null", "init_date", "init_decimal", "init_int", "init_time", "init_timestamp", "init_interval", "init_duration", "init_utf8", "init_binary", "init_list", "init_union", "init_message", "init_recordbatch", "Binary", "BinaryView", "Bool", "Builder", "Decimal", "Duration", "Field", "FixedSizeBinary", "FixedSizeList", "LargeBinary", "LargeList", "LargeUtf8", "List", "Message", "Null", "RecordBatch", "Schema", "Type", "Utf8", "Utf8View", "init_builder", "init_reader", "init_writer", "options", "Schema", "Field", "Null", "Binary", "FixedSizeBinary", "Bool", "Utf8", "Decimal", "List", "FixedSizeList", "objectRow", "arrayRow", "options", "RecordBatch", "options", "convertArrowToTable", "init_src", "convertArrowToTable", "init_src", "init_src", "Schema", "init_src", "require", "Encoding", "RecordBatch", "Schema", "Table", "ptr", "instance", "options", "arg0", "arg1", "import_meta", "options", "init_src", "options", "wasm", "options", "init_src", "isArrowTable", "init_src", "import_meta", "ParquetLoaderWithParser", "options", "init_src", "init_src", "options"]
7
+ }