@loaders.gl/schema 4.0.0-alpha.4 → 4.0.0-alpha.6

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 (343) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/dist.min.js +13589 -0
  5. package/dist/es5/bundle.js +6 -0
  6. package/dist/es5/bundle.js.map +1 -0
  7. package/dist/es5/index.js +406 -0
  8. package/dist/es5/index.js.map +1 -0
  9. package/dist/es5/lib/mesh/convert-mesh.js +34 -0
  10. package/dist/es5/lib/mesh/convert-mesh.js.map +1 -0
  11. package/dist/es5/lib/mesh/deduce-mesh-schema.js +56 -0
  12. package/dist/es5/lib/mesh/deduce-mesh-schema.js.map +1 -0
  13. package/dist/es5/lib/mesh/mesh-to-arrow-table.js +2 -0
  14. package/dist/es5/lib/mesh/mesh-to-arrow-table.js.map +1 -0
  15. package/dist/es5/lib/mesh/mesh-utils.js +40 -0
  16. package/dist/es5/lib/mesh/mesh-utils.js.map +1 -0
  17. package/dist/es5/lib/table/arrow/arrow-type-utils.js +30 -0
  18. package/dist/es5/lib/table/arrow/arrow-type-utils.js.map +1 -0
  19. package/dist/es5/lib/table/arrow/convert-schema-arrow.js +179 -0
  20. package/dist/es5/lib/table/arrow/convert-schema-arrow.js.map +1 -0
  21. package/dist/es5/lib/table/arrow/convert-table-to-arrow.js +2 -0
  22. package/dist/es5/lib/table/arrow/convert-table-to-arrow.js.map +1 -0
  23. package/dist/es5/lib/table/arrow-api/arrow-like-field.js +49 -0
  24. package/dist/es5/lib/table/arrow-api/arrow-like-field.js.map +1 -0
  25. package/dist/es5/lib/table/arrow-api/arrow-like-schema.js +118 -0
  26. package/dist/es5/lib/table/arrow-api/arrow-like-schema.js.map +1 -0
  27. package/dist/es5/lib/table/arrow-api/arrow-like-table.js +80 -0
  28. package/dist/es5/lib/table/arrow-api/arrow-like-table.js.map +1 -0
  29. package/dist/es5/lib/table/arrow-api/arrow-like-type.js +740 -0
  30. package/dist/es5/lib/table/arrow-api/arrow-like-type.js.map +1 -0
  31. package/dist/es5/lib/table/arrow-api/enum.js +55 -0
  32. package/dist/es5/lib/table/arrow-api/enum.js.map +1 -0
  33. package/dist/es5/lib/table/arrow-api/get-type-info.js +27 -0
  34. package/dist/es5/lib/table/arrow-api/get-type-info.js.map +1 -0
  35. package/dist/es5/lib/table/arrow-api/index.js +44 -0
  36. package/dist/es5/lib/table/arrow-api/index.js.map +1 -0
  37. package/dist/es5/lib/table/batches/base-table-batch-aggregator.js +78 -0
  38. package/dist/es5/lib/table/batches/base-table-batch-aggregator.js.map +1 -0
  39. package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js +106 -0
  40. package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js.map +1 -0
  41. package/dist/es5/lib/table/batches/row-table-batch-aggregator.js +96 -0
  42. package/dist/es5/lib/table/batches/row-table-batch-aggregator.js.map +1 -0
  43. package/dist/es5/lib/table/batches/table-batch-aggregator.js +2 -0
  44. package/dist/es5/lib/table/batches/table-batch-aggregator.js.map +1 -0
  45. package/dist/es5/lib/table/batches/table-batch-builder.js +173 -0
  46. package/dist/es5/lib/table/batches/table-batch-builder.js.map +1 -0
  47. package/dist/es5/lib/table/simple-table/convert-table.js +82 -0
  48. package/dist/es5/lib/table/simple-table/convert-table.js.map +1 -0
  49. package/dist/es5/lib/table/simple-table/data-type.js +94 -0
  50. package/dist/es5/lib/table/simple-table/data-type.js.map +1 -0
  51. package/dist/es5/lib/table/simple-table/make-table.js +60 -0
  52. package/dist/es5/lib/table/simple-table/make-table.js.map +1 -0
  53. package/dist/es5/lib/table/simple-table/row-utils.js +34 -0
  54. package/dist/es5/lib/table/simple-table/row-utils.js.map +1 -0
  55. package/dist/es5/lib/table/simple-table/table-accessors.js +343 -0
  56. package/dist/es5/lib/table/simple-table/table-accessors.js.map +1 -0
  57. package/dist/es5/lib/table/simple-table/table-column.js +12 -0
  58. package/dist/es5/lib/table/simple-table/table-column.js.map +1 -0
  59. package/dist/es5/lib/table/simple-table/table-schema.js +85 -0
  60. package/dist/es5/lib/table/simple-table/table-schema.js.map +1 -0
  61. package/dist/es5/lib/utils/assert.js +12 -0
  62. package/dist/es5/lib/utils/assert.js.map +1 -0
  63. package/dist/es5/lib/utils/async-queue.js +169 -0
  64. package/dist/es5/lib/utils/async-queue.js.map +1 -0
  65. package/dist/es5/types/category-gis.js +2 -0
  66. package/dist/es5/types/category-gis.js.map +1 -0
  67. package/dist/es5/types/category-image.js +2 -0
  68. package/dist/es5/types/category-image.js.map +1 -0
  69. package/dist/es5/types/category-mesh.js +2 -0
  70. package/dist/es5/types/category-mesh.js.map +1 -0
  71. package/dist/es5/types/category-table.js +2 -0
  72. package/dist/es5/types/category-table.js.map +1 -0
  73. package/dist/es5/types/category-texture.js +2 -0
  74. package/dist/es5/types/category-texture.js.map +1 -0
  75. package/dist/es5/types/schema.js +2 -0
  76. package/dist/es5/types/schema.js.map +1 -0
  77. package/dist/es5/types/types.js +2 -0
  78. package/dist/es5/types/types.js.map +1 -0
  79. package/dist/esm/bundle.js +4 -0
  80. package/dist/esm/bundle.js.map +1 -0
  81. package/dist/esm/index.js +16 -0
  82. package/dist/esm/index.js.map +1 -0
  83. package/dist/{category → esm/lib}/mesh/convert-mesh.js +0 -11
  84. package/dist/esm/lib/mesh/convert-mesh.js.map +1 -0
  85. package/dist/esm/lib/mesh/deduce-mesh-schema.js +48 -0
  86. package/dist/esm/lib/mesh/deduce-mesh-schema.js.map +1 -0
  87. package/dist/esm/lib/mesh/mesh-to-arrow-table.js +2 -0
  88. package/dist/esm/lib/mesh/mesh-to-arrow-table.js.map +1 -0
  89. package/dist/{category → esm/lib}/mesh/mesh-utils.js +0 -5
  90. package/dist/esm/lib/mesh/mesh-utils.js.map +1 -0
  91. package/dist/{lib/arrow/arrow-like-type-utils.js → esm/lib/table/arrow/arrow-type-utils.js} +3 -11
  92. package/dist/esm/lib/table/arrow/arrow-type-utils.js.map +1 -0
  93. package/dist/esm/lib/table/arrow/convert-schema-arrow.js +158 -0
  94. package/dist/esm/lib/table/arrow/convert-schema-arrow.js.map +1 -0
  95. package/dist/esm/lib/table/arrow/convert-table-to-arrow.js +2 -0
  96. package/dist/esm/lib/table/arrow/convert-table-to-arrow.js.map +1 -0
  97. package/dist/{lib/schema/impl/field.js → esm/lib/table/arrow-api/arrow-like-field.js} +6 -13
  98. package/dist/esm/lib/table/arrow-api/arrow-like-field.js.map +1 -0
  99. package/dist/{lib/schema/impl/schema.js → esm/lib/table/arrow-api/arrow-like-schema.js} +22 -47
  100. package/dist/esm/lib/table/arrow-api/arrow-like-schema.js.map +1 -0
  101. package/dist/esm/lib/table/arrow-api/arrow-like-table.js +51 -0
  102. package/dist/esm/lib/table/arrow-api/arrow-like-table.js.map +1 -0
  103. package/dist/{lib/schema/impl/type.js → esm/lib/table/arrow-api/arrow-like-type.js} +11 -116
  104. package/dist/esm/lib/table/arrow-api/arrow-like-type.js.map +1 -0
  105. package/dist/{lib/schema/impl → esm/lib/table/arrow-api}/enum.js +3 -4
  106. package/dist/esm/lib/table/arrow-api/enum.js.map +1 -0
  107. package/dist/{lib/arrow → esm/lib/table/arrow-api}/get-type-info.js +1 -4
  108. package/dist/esm/lib/table/arrow-api/get-type-info.js.map +1 -0
  109. package/dist/esm/lib/table/arrow-api/index.js +5 -0
  110. package/dist/esm/lib/table/arrow-api/index.js.map +1 -0
  111. package/dist/{lib → esm/lib/table}/batches/base-table-batch-aggregator.js +1 -18
  112. package/dist/esm/lib/table/batches/base-table-batch-aggregator.js.map +1 -0
  113. package/dist/{lib → esm/lib/table}/batches/columnar-table-batch-aggregator.js +1 -24
  114. package/dist/esm/lib/table/batches/columnar-table-batch-aggregator.js.map +1 -0
  115. package/dist/{lib → esm/lib/table}/batches/row-table-batch-aggregator.js +2 -22
  116. package/dist/esm/lib/table/batches/row-table-batch-aggregator.js.map +1 -0
  117. package/dist/esm/lib/table/batches/table-batch-aggregator.js.map +1 -0
  118. package/dist/{lib → esm/lib/table}/batches/table-batch-builder.js +6 -49
  119. package/dist/esm/lib/table/batches/table-batch-builder.js.map +1 -0
  120. package/dist/esm/lib/table/simple-table/convert-table.js +59 -0
  121. package/dist/esm/lib/table/simple-table/convert-table.js.map +1 -0
  122. package/dist/esm/lib/table/simple-table/data-type.js +85 -0
  123. package/dist/esm/lib/table/simple-table/data-type.js.map +1 -0
  124. package/dist/esm/lib/table/simple-table/make-table.js +50 -0
  125. package/dist/esm/lib/table/simple-table/make-table.js.map +1 -0
  126. package/dist/{lib/utils → esm/lib/table/simple-table}/row-utils.js +0 -8
  127. package/dist/esm/lib/table/simple-table/row-utils.js.map +1 -0
  128. package/dist/esm/lib/table/simple-table/table-accessors.js +262 -0
  129. package/dist/esm/lib/table/simple-table/table-accessors.js.map +1 -0
  130. package/dist/esm/lib/table/simple-table/table-column.js +6 -0
  131. package/dist/esm/lib/table/simple-table/table-column.js.map +1 -0
  132. package/dist/esm/lib/table/simple-table/table-schema.js +70 -0
  133. package/dist/esm/lib/table/simple-table/table-schema.js.map +1 -0
  134. package/dist/esm/lib/utils/assert.js +6 -0
  135. package/dist/esm/lib/utils/assert.js.map +1 -0
  136. package/dist/esm/lib/utils/async-queue.js +94 -0
  137. package/dist/esm/lib/utils/async-queue.js.map +1 -0
  138. package/dist/esm/types/category-gis.js +2 -0
  139. package/dist/esm/types/category-gis.js.map +1 -0
  140. package/dist/esm/types/category-image.js +2 -0
  141. package/dist/esm/types/category-image.js.map +1 -0
  142. package/dist/esm/types/category-mesh.js +2 -0
  143. package/dist/esm/types/category-mesh.js.map +1 -0
  144. package/dist/esm/types/category-table.js +2 -0
  145. package/dist/esm/types/category-table.js.map +1 -0
  146. package/dist/esm/types/category-texture.js +2 -0
  147. package/dist/esm/types/category-texture.js.map +1 -0
  148. package/dist/esm/types/schema.js +2 -0
  149. package/dist/esm/types/schema.js.map +1 -0
  150. package/dist/esm/types/types.js.map +1 -0
  151. package/dist/index.d.ts +29 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +92 -13
  154. package/dist/lib/mesh/convert-mesh.d.ts +15 -0
  155. package/dist/lib/mesh/convert-mesh.d.ts.map +1 -0
  156. package/dist/lib/mesh/convert-mesh.js +40 -0
  157. package/dist/lib/mesh/deduce-mesh-schema.d.ts +24 -0
  158. package/dist/lib/mesh/deduce-mesh-schema.d.ts.map +1 -0
  159. package/dist/lib/mesh/deduce-mesh-schema.js +66 -0
  160. package/dist/lib/mesh/mesh-to-arrow-table.d.ts +1 -0
  161. package/dist/lib/mesh/mesh-to-arrow-table.d.ts.map +1 -0
  162. package/dist/lib/mesh/mesh-to-arrow-table.js +44 -0
  163. package/dist/lib/mesh/mesh-utils.d.ts +23 -0
  164. package/dist/lib/mesh/mesh-utils.d.ts.map +1 -0
  165. package/dist/lib/mesh/mesh-utils.js +51 -0
  166. package/dist/lib/table/arrow/arrow-type-utils.d.ts +4 -0
  167. package/dist/lib/table/arrow/arrow-type-utils.d.ts.map +1 -0
  168. package/dist/lib/table/arrow/arrow-type-utils.js +53 -0
  169. package/dist/lib/table/arrow/convert-schema-arrow.d.ts +13 -0
  170. package/dist/lib/table/arrow/convert-schema-arrow.d.ts.map +1 -0
  171. package/dist/lib/table/arrow/convert-schema-arrow.js +187 -0
  172. package/dist/lib/table/arrow/convert-table-to-arrow.d.ts +42 -0
  173. package/dist/lib/table/arrow/convert-table-to-arrow.d.ts.map +1 -0
  174. package/dist/lib/table/arrow/convert-table-to-arrow.js +57 -0
  175. package/dist/lib/table/arrow-api/arrow-like-field.d.ts +19 -0
  176. package/dist/lib/table/arrow-api/arrow-like-field.d.ts.map +1 -0
  177. package/dist/lib/table/arrow-api/arrow-like-field.js +34 -0
  178. package/dist/lib/table/arrow-api/arrow-like-schema.d.ts +12 -0
  179. package/dist/lib/table/arrow-api/arrow-like-schema.d.ts.map +1 -0
  180. package/dist/lib/table/arrow-api/arrow-like-schema.js +81 -0
  181. package/dist/lib/table/arrow-api/arrow-like-table.d.ts +28 -0
  182. package/dist/lib/table/arrow-api/arrow-like-table.d.ts.map +1 -0
  183. package/dist/lib/table/arrow-api/arrow-like-table.js +53 -0
  184. package/dist/lib/table/arrow-api/arrow-like-type.d.ts +177 -0
  185. package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -0
  186. package/dist/lib/table/arrow-api/arrow-like-type.js +463 -0
  187. package/dist/lib/table/arrow-api/enum.d.ts +92 -0
  188. package/dist/lib/table/arrow-api/enum.d.ts.map +1 -0
  189. package/dist/lib/table/arrow-api/enum.js +97 -0
  190. package/dist/lib/table/arrow-api/get-type-info.d.ts +13 -0
  191. package/dist/lib/table/arrow-api/get-type-info.d.ts.map +1 -0
  192. package/dist/lib/table/arrow-api/get-type-info.js +29 -0
  193. package/dist/lib/table/arrow-api/index.d.ts +5 -0
  194. package/dist/lib/table/arrow-api/index.d.ts.map +1 -0
  195. package/dist/lib/table/arrow-api/index.js +25 -0
  196. package/dist/lib/table/batches/base-table-batch-aggregator.d.ts +19 -0
  197. package/dist/lib/table/batches/base-table-batch-aggregator.d.ts.map +1 -0
  198. package/dist/lib/table/batches/base-table-batch-aggregator.js +60 -0
  199. package/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts +23 -0
  200. package/dist/lib/table/batches/columnar-table-batch-aggregator.d.ts.map +1 -0
  201. package/dist/lib/table/batches/columnar-table-batch-aggregator.js +92 -0
  202. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts +22 -0
  203. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts.map +1 -0
  204. package/dist/lib/table/batches/row-table-batch-aggregator.js +81 -0
  205. package/dist/lib/table/batches/table-batch-aggregator.d.ts +25 -0
  206. package/dist/lib/table/batches/table-batch-aggregator.d.ts.map +1 -0
  207. package/dist/lib/table/batches/table-batch-aggregator.js +3 -0
  208. package/dist/lib/table/batches/table-batch-builder.d.ts +53 -0
  209. package/dist/lib/table/batches/table-batch-builder.d.ts.map +1 -0
  210. package/dist/lib/table/batches/table-batch-builder.js +152 -0
  211. package/dist/lib/table/simple-table/convert-table.d.ts +8 -0
  212. package/dist/lib/table/simple-table/convert-table.d.ts.map +1 -0
  213. package/dist/lib/table/simple-table/convert-table.js +65 -0
  214. package/dist/lib/table/simple-table/data-type.d.ts +17 -0
  215. package/dist/lib/table/simple-table/data-type.d.ts.map +1 -0
  216. package/dist/lib/table/simple-table/data-type.js +93 -0
  217. package/dist/lib/table/simple-table/make-table.d.ts +65 -0
  218. package/dist/lib/table/simple-table/make-table.d.ts.map +1 -0
  219. package/dist/lib/table/simple-table/make-table.js +95 -0
  220. package/dist/lib/table/simple-table/row-utils.d.ts +9 -0
  221. package/dist/lib/table/simple-table/row-utils.d.ts.map +1 -0
  222. package/dist/lib/table/simple-table/row-utils.js +33 -0
  223. package/dist/lib/table/simple-table/table-accessors.d.ts +67 -0
  224. package/dist/lib/table/simple-table/table-accessors.d.ts.map +1 -0
  225. package/dist/lib/table/simple-table/table-accessors.js +319 -0
  226. package/dist/lib/table/simple-table/table-column.d.ts +7 -0
  227. package/dist/lib/table/simple-table/table-column.d.ts.map +1 -0
  228. package/dist/lib/table/simple-table/table-column.js +41 -0
  229. package/dist/lib/table/simple-table/table-schema.d.ts +15 -0
  230. package/dist/lib/table/simple-table/table-schema.d.ts.map +1 -0
  231. package/dist/lib/table/simple-table/table-schema.js +85 -0
  232. package/dist/lib/utils/assert.d.ts +2 -0
  233. package/dist/lib/utils/assert.d.ts.map +1 -0
  234. package/dist/lib/utils/assert.js +11 -5
  235. package/dist/lib/utils/async-queue.d.ts +18 -0
  236. package/dist/lib/utils/async-queue.d.ts.map +1 -0
  237. package/dist/lib/utils/async-queue.js +82 -109
  238. package/dist/types/category-gis.d.ts +99 -0
  239. package/dist/types/category-gis.d.ts.map +1 -0
  240. package/dist/types/category-gis.js +2 -0
  241. package/dist/types/category-image.d.ts +18 -0
  242. package/dist/types/category-image.d.ts.map +1 -0
  243. package/dist/types/category-image.js +2 -0
  244. package/dist/types/category-mesh.d.ts +48 -0
  245. package/dist/types/category-mesh.d.ts.map +1 -0
  246. package/dist/types/category-mesh.js +3 -0
  247. package/dist/types/category-table.d.ts +86 -0
  248. package/dist/types/category-table.d.ts.map +1 -0
  249. package/dist/types/category-table.js +3 -0
  250. package/dist/types/category-texture.d.ts +18 -0
  251. package/dist/types/category-texture.d.ts.map +1 -0
  252. package/dist/types/category-texture.js +3 -0
  253. package/dist/types/schema.d.ts +77 -0
  254. package/dist/types/schema.d.ts.map +1 -0
  255. package/dist/types/schema.js +3 -0
  256. package/dist/types/types.d.ts +15 -0
  257. package/dist/types/types.d.ts.map +1 -0
  258. package/dist/types/types.js +2 -0
  259. package/package.json +7 -8
  260. package/src/index.ts +82 -29
  261. package/src/{category → lib}/mesh/convert-mesh.ts +10 -8
  262. package/src/{category → lib}/mesh/deduce-mesh-schema.ts +20 -19
  263. package/src/{category → lib}/mesh/mesh-to-arrow-table.ts +5 -3
  264. package/src/{category → lib}/mesh/mesh-utils.ts +2 -2
  265. package/src/lib/{arrow → table/arrow}/arrow-type-utils.ts +16 -12
  266. package/src/lib/table/arrow/convert-schema-arrow.ts +232 -0
  267. package/src/lib/table/arrow/convert-table-to-arrow.ts +59 -0
  268. package/src/lib/{schema/impl/field.ts → table/arrow-api/arrow-like-field.ts} +6 -4
  269. package/src/lib/table/arrow-api/arrow-like-schema.ts +99 -0
  270. package/src/lib/table/arrow-api/arrow-like-table.ts +83 -0
  271. package/src/lib/{schema/impl/type.ts → table/arrow-api/arrow-like-type.ts} +2 -1
  272. package/src/lib/{arrow → table/arrow-api}/get-type-info.ts +4 -3
  273. package/src/lib/table/arrow-api/index.ts +6 -0
  274. package/src/lib/{batches → table/batches}/base-table-batch-aggregator.ts +5 -3
  275. package/src/lib/{batches → table/batches}/columnar-table-batch-aggregator.ts +5 -3
  276. package/src/lib/{batches → table/batches}/row-table-batch-aggregator.ts +6 -4
  277. package/src/lib/{batches → table/batches}/table-batch-aggregator.ts +4 -2
  278. package/src/lib/{batches → table/batches}/table-batch-builder.ts +8 -6
  279. package/src/lib/table/simple-table/convert-table.ts +72 -0
  280. package/src/lib/table/simple-table/data-type.ts +102 -0
  281. package/src/lib/table/simple-table/make-table.ts +108 -0
  282. package/src/lib/table/simple-table/table-accessors.ts +360 -0
  283. package/src/lib/table/simple-table/table-column.ts +47 -0
  284. package/src/lib/table/simple-table/table-schema.ts +97 -0
  285. package/src/types/category-gis.ts +136 -0
  286. package/src/types/category-image.ts +19 -0
  287. package/src/{category/mesh/mesh-types.ts → types/category-mesh.ts} +6 -4
  288. package/src/types/category-table.ts +104 -0
  289. package/src/types/category-texture.ts +30 -0
  290. package/src/types/schema.ts +97 -0
  291. package/src/types/types.ts +43 -0
  292. package/dist/bundle.js.map +0 -1
  293. package/dist/category/common.js +0 -2
  294. package/dist/category/common.js.map +0 -1
  295. package/dist/category/gis.js +0 -2
  296. package/dist/category/gis.js.map +0 -1
  297. package/dist/category/mesh/convert-mesh.js.map +0 -1
  298. package/dist/category/mesh/deduce-mesh-schema.js +0 -42
  299. package/dist/category/mesh/deduce-mesh-schema.js.map +0 -1
  300. package/dist/category/mesh/mesh-to-arrow-table.js +0 -31
  301. package/dist/category/mesh/mesh-to-arrow-table.js.map +0 -1
  302. package/dist/category/mesh/mesh-types.js +0 -2
  303. package/dist/category/mesh/mesh-types.js.map +0 -1
  304. package/dist/category/mesh/mesh-utils.js.map +0 -1
  305. package/dist/category/table/deduce-table-schema.js +0 -51
  306. package/dist/category/table/deduce-table-schema.js.map +0 -1
  307. package/dist/category/table/table-types.js +0 -2
  308. package/dist/category/table/table-types.js.map +0 -1
  309. package/dist/index.js.map +0 -1
  310. package/dist/lib/arrow/arrow-like-type-utils.js.map +0 -1
  311. package/dist/lib/arrow/arrow-type-utils.js +0 -62
  312. package/dist/lib/arrow/arrow-type-utils.js.map +0 -1
  313. package/dist/lib/arrow/get-type-info.js.map +0 -1
  314. package/dist/lib/batches/base-table-batch-aggregator.js.map +0 -1
  315. package/dist/lib/batches/columnar-table-batch-aggregator.js.map +0 -1
  316. package/dist/lib/batches/row-table-batch-aggregator.js.map +0 -1
  317. package/dist/lib/batches/table-batch-aggregator.js.map +0 -1
  318. package/dist/lib/batches/table-batch-builder.js.map +0 -1
  319. package/dist/lib/schema/impl/enum.js.map +0 -1
  320. package/dist/lib/schema/impl/field.js.map +0 -1
  321. package/dist/lib/schema/impl/schema.js.map +0 -1
  322. package/dist/lib/schema/impl/type.js.map +0 -1
  323. package/dist/lib/schema/index.js +0 -5
  324. package/dist/lib/schema/index.js.map +0 -1
  325. package/dist/lib/schema-utils/deduce-column-type.js +0 -23
  326. package/dist/lib/schema-utils/deduce-column-type.js.map +0 -1
  327. package/dist/lib/utils/assert.js.map +0 -1
  328. package/dist/lib/utils/async-queue.js.map +0 -1
  329. package/dist/lib/utils/row-utils.js.map +0 -1
  330. package/dist/types.js.map +0 -1
  331. package/src/category/common.ts +0 -30
  332. package/src/category/gis.ts +0 -61
  333. package/src/category/table/deduce-table-schema.ts +0 -123
  334. package/src/category/table/table-types.ts +0 -81
  335. package/src/lib/arrow/arrow-like-type-utils.ts +0 -25
  336. package/src/lib/schema/impl/schema.ts +0 -99
  337. package/src/lib/schema/index.ts +0 -82
  338. package/src/lib/schema-utils/deduce-column-type.ts +0 -92
  339. package/src/types.ts +0 -19
  340. /package/dist/{lib → esm/lib/table}/batches/table-batch-aggregator.js +0 -0
  341. /package/dist/{types.js → esm/types/types.js} +0 -0
  342. /package/src/lib/{schema/impl → table/arrow-api}/enum.ts +0 -0
  343. /package/src/lib/{utils → table/simple-table}/row-utils.ts +0 -0
@@ -1,192 +1,149 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
-
3
2
  let _Symbol$toStringTag, _Symbol$toStringTag2, _Symbol$toStringTag3, _Symbol$toStringTag4, _Symbol$toStringTag5, _Symbol$toStringTag6, _Symbol$toStringTag7, _Symbol$toStringTag8;
4
-
5
3
  import { Type } from './enum';
6
4
  export { Type } from './enum';
7
5
  export class DataType {
8
6
  static isNull(x) {
9
7
  return x && x.typeId === Type.Null;
10
8
  }
11
-
12
9
  static isInt(x) {
13
10
  return x && x.typeId === Type.Int;
14
11
  }
15
-
16
12
  static isFloat(x) {
17
13
  return x && x.typeId === Type.Float;
18
14
  }
19
-
20
15
  static isBinary(x) {
21
16
  return x && x.typeId === Type.Binary;
22
17
  }
23
-
24
18
  static isUtf8(x) {
25
19
  return x && x.typeId === Type.Utf8;
26
20
  }
27
-
28
21
  static isBool(x) {
29
22
  return x && x.typeId === Type.Bool;
30
23
  }
31
-
32
24
  static isDecimal(x) {
33
25
  return x && x.typeId === Type.Decimal;
34
26
  }
35
-
36
27
  static isDate(x) {
37
28
  return x && x.typeId === Type.Date;
38
29
  }
39
-
40
30
  static isTime(x) {
41
31
  return x && x.typeId === Type.Time;
42
32
  }
43
-
44
33
  static isTimestamp(x) {
45
34
  return x && x.typeId === Type.Timestamp;
46
35
  }
47
-
48
36
  static isInterval(x) {
49
37
  return x && x.typeId === Type.Interval;
50
38
  }
51
-
52
39
  static isList(x) {
53
40
  return x && x.typeId === Type.List;
54
41
  }
55
-
56
42
  static isStruct(x) {
57
43
  return x && x.typeId === Type.Struct;
58
44
  }
59
-
60
45
  static isUnion(x) {
61
46
  return x && x.typeId === Type.Union;
62
47
  }
63
-
64
48
  static isFixedSizeBinary(x) {
65
49
  return x && x.typeId === Type.FixedSizeBinary;
66
50
  }
67
-
68
51
  static isFixedSizeList(x) {
69
52
  return x && x.typeId === Type.FixedSizeList;
70
53
  }
71
-
72
54
  static isMap(x) {
73
55
  return x && x.typeId === Type.Map;
74
56
  }
75
-
76
57
  static isDictionary(x) {
77
58
  return x && x.typeId === Type.Dictionary;
78
59
  }
79
-
80
60
  get typeId() {
81
61
  return Type.NONE;
82
62
  }
83
-
84
63
  compareTo(other) {
85
64
  return this === other;
86
65
  }
87
-
88
66
  }
89
67
  export class Null extends DataType {
90
68
  get typeId() {
91
69
  return Type.Null;
92
70
  }
93
-
94
71
  get [Symbol.toStringTag]() {
95
72
  return 'Null';
96
73
  }
97
-
98
74
  toString() {
99
75
  return 'Null';
100
76
  }
101
-
102
77
  }
103
78
  export class Bool extends DataType {
104
79
  get typeId() {
105
80
  return Type.Bool;
106
81
  }
107
-
108
82
  get [Symbol.toStringTag]() {
109
83
  return 'Bool';
110
84
  }
111
-
112
85
  toString() {
113
86
  return 'Bool';
114
87
  }
115
-
116
88
  }
117
89
  _Symbol$toStringTag = Symbol.toStringTag;
118
90
  export class Int extends DataType {
119
91
  constructor(isSigned, bitWidth) {
120
92
  super();
121
-
122
93
  _defineProperty(this, "isSigned", void 0);
123
-
124
94
  _defineProperty(this, "bitWidth", void 0);
125
-
126
95
  this.isSigned = isSigned;
127
96
  this.bitWidth = bitWidth;
128
97
  }
129
-
130
98
  get typeId() {
131
99
  return Type.Int;
132
100
  }
133
-
134
101
  get [_Symbol$toStringTag]() {
135
102
  return 'Int';
136
103
  }
137
-
138
104
  toString() {
139
105
  return "".concat(this.isSigned ? 'I' : 'Ui', "nt").concat(this.bitWidth);
140
106
  }
141
-
142
107
  }
143
108
  export class Int8 extends Int {
144
109
  constructor() {
145
110
  super(true, 8);
146
111
  }
147
-
148
112
  }
149
113
  export class Int16 extends Int {
150
114
  constructor() {
151
115
  super(true, 16);
152
116
  }
153
-
154
117
  }
155
118
  export class Int32 extends Int {
156
119
  constructor() {
157
120
  super(true, 32);
158
121
  }
159
-
160
122
  }
161
123
  export class Int64 extends Int {
162
124
  constructor() {
163
125
  super(true, 64);
164
126
  }
165
-
166
127
  }
167
128
  export class Uint8 extends Int {
168
129
  constructor() {
169
130
  super(false, 8);
170
131
  }
171
-
172
132
  }
173
133
  export class Uint16 extends Int {
174
134
  constructor() {
175
135
  super(false, 16);
176
136
  }
177
-
178
137
  }
179
138
  export class Uint32 extends Int {
180
139
  constructor() {
181
140
  super(false, 32);
182
141
  }
183
-
184
142
  }
185
143
  export class Uint64 extends Int {
186
144
  constructor() {
187
145
  super(false, 64);
188
146
  }
189
-
190
147
  }
191
148
  const Precision = {
192
149
  HALF: 16,
@@ -197,74 +154,58 @@ _Symbol$toStringTag2 = Symbol.toStringTag;
197
154
  export class Float extends DataType {
198
155
  constructor(precision) {
199
156
  super();
200
-
201
157
  _defineProperty(this, "precision", void 0);
202
-
203
158
  this.precision = precision;
204
159
  }
205
-
206
160
  get typeId() {
207
161
  return Type.Float;
208
162
  }
209
-
210
163
  get [_Symbol$toStringTag2]() {
211
164
  return 'Float';
212
165
  }
213
-
214
166
  toString() {
215
167
  return "Float".concat(this.precision);
216
168
  }
217
-
218
169
  }
219
170
  export class Float16 extends Float {
220
171
  constructor() {
221
172
  super(Precision.HALF);
222
173
  }
223
-
224
174
  }
225
175
  export class Float32 extends Float {
226
176
  constructor() {
227
177
  super(Precision.SINGLE);
228
178
  }
229
-
230
179
  }
231
180
  export class Float64 extends Float {
232
181
  constructor() {
233
182
  super(Precision.DOUBLE);
234
183
  }
235
-
236
184
  }
237
185
  export class Binary extends DataType {
238
186
  constructor() {
239
187
  super();
240
188
  }
241
-
242
189
  get typeId() {
243
190
  return Type.Binary;
244
191
  }
245
-
246
192
  toString() {
247
193
  return 'Binary';
248
194
  }
249
-
250
195
  get [Symbol.toStringTag]() {
251
196
  return 'Binary';
252
197
  }
253
-
254
198
  }
255
199
  export class Utf8 extends DataType {
256
200
  get typeId() {
257
201
  return Type.Utf8;
258
202
  }
259
-
260
203
  get [Symbol.toStringTag]() {
261
204
  return 'Utf8';
262
205
  }
263
-
264
206
  toString() {
265
207
  return 'Utf8';
266
208
  }
267
-
268
209
  }
269
210
  const DateUnit = {
270
211
  DAY: 0,
@@ -274,36 +215,28 @@ _Symbol$toStringTag3 = Symbol.toStringTag;
274
215
  export class Date extends DataType {
275
216
  constructor(unit) {
276
217
  super();
277
-
278
218
  _defineProperty(this, "unit", void 0);
279
-
280
219
  this.unit = unit;
281
220
  }
282
-
283
221
  get typeId() {
284
222
  return Type.Date;
285
223
  }
286
-
287
224
  get [_Symbol$toStringTag3]() {
288
225
  return 'Date';
289
226
  }
290
-
291
227
  toString() {
292
228
  return "Date".concat((this.unit + 1) * 32, "<").concat(DateUnit[this.unit], ">");
293
229
  }
294
-
295
230
  }
296
231
  export class DateDay extends Date {
297
232
  constructor() {
298
233
  super(DateUnit.DAY);
299
234
  }
300
-
301
235
  }
302
236
  export class DateMillisecond extends Date {
303
237
  constructor() {
304
238
  super(DateUnit.MILLISECOND);
305
239
  }
306
-
307
240
  }
308
241
  const TimeUnit = {
309
242
  SECOND: 1,
@@ -315,89 +248,74 @@ _Symbol$toStringTag4 = Symbol.toStringTag;
315
248
  export class Time extends DataType {
316
249
  constructor(unit, bitWidth) {
317
250
  super();
318
-
319
251
  _defineProperty(this, "unit", void 0);
320
-
321
252
  _defineProperty(this, "bitWidth", void 0);
322
-
323
253
  this.unit = unit;
324
254
  this.bitWidth = bitWidth;
325
255
  }
326
-
327
256
  get typeId() {
328
257
  return Type.Time;
329
258
  }
330
-
331
259
  toString() {
332
260
  return "Time".concat(this.bitWidth, "<").concat(TimeUnit[this.unit], ">");
333
261
  }
334
-
335
262
  get [_Symbol$toStringTag4]() {
336
263
  return 'Time';
337
264
  }
338
-
339
265
  }
340
266
  export class TimeSecond extends Time {
341
267
  constructor() {
342
268
  super(TimeUnit.SECOND, 32);
343
269
  }
344
-
345
270
  }
346
271
  export class TimeMillisecond extends Time {
347
272
  constructor() {
348
273
  super(TimeUnit.MILLISECOND, 32);
349
274
  }
350
-
351
275
  }
352
276
  _Symbol$toStringTag5 = Symbol.toStringTag;
353
277
  export class Timestamp extends DataType {
354
- constructor(unit, timezone = null) {
278
+ constructor(unit) {
279
+ let timezone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
355
280
  super();
356
-
357
281
  _defineProperty(this, "unit", void 0);
358
-
359
282
  _defineProperty(this, "timezone", void 0);
360
-
361
283
  this.unit = unit;
362
284
  this.timezone = timezone;
363
285
  }
364
-
365
286
  get typeId() {
366
287
  return Type.Timestamp;
367
288
  }
368
-
369
289
  get [_Symbol$toStringTag5]() {
370
290
  return 'Timestamp';
371
291
  }
372
-
373
292
  toString() {
374
293
  return "Timestamp<".concat(TimeUnit[this.unit]).concat(this.timezone ? ", ".concat(this.timezone) : '', ">");
375
294
  }
376
-
377
295
  }
378
296
  export class TimestampSecond extends Timestamp {
379
- constructor(timezone = null) {
297
+ constructor() {
298
+ let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
380
299
  super(TimeUnit.SECOND, timezone);
381
300
  }
382
-
383
301
  }
384
302
  export class TimestampMillisecond extends Timestamp {
385
- constructor(timezone = null) {
303
+ constructor() {
304
+ let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
386
305
  super(TimeUnit.MILLISECOND, timezone);
387
306
  }
388
-
389
307
  }
390
308
  export class TimestampMicrosecond extends Timestamp {
391
- constructor(timezone = null) {
309
+ constructor() {
310
+ let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
392
311
  super(TimeUnit.MICROSECOND, timezone);
393
312
  }
394
-
395
313
  }
396
314
  export class TimestampNanosecond extends Timestamp {
397
- constructor(timezone = null) {
315
+ constructor() {
316
+ let timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
398
317
  super(TimeUnit.NANOSECOND, timezone);
399
318
  }
400
-
401
319
  }
402
320
  const IntervalUnit = {
403
321
  DAY_TIME: 0,
@@ -407,92 +325,69 @@ _Symbol$toStringTag6 = Symbol.toStringTag;
407
325
  export class Interval extends DataType {
408
326
  constructor(unit) {
409
327
  super();
410
-
411
328
  _defineProperty(this, "unit", void 0);
412
-
413
329
  this.unit = unit;
414
330
  }
415
-
416
331
  get typeId() {
417
332
  return Type.Interval;
418
333
  }
419
-
420
334
  get [_Symbol$toStringTag6]() {
421
335
  return 'Interval';
422
336
  }
423
-
424
337
  toString() {
425
338
  return "Interval<".concat(IntervalUnit[this.unit], ">");
426
339
  }
427
-
428
340
  }
429
341
  export class IntervalDayTime extends Interval {
430
342
  constructor() {
431
343
  super(IntervalUnit.DAY_TIME);
432
344
  }
433
-
434
345
  }
435
346
  export class IntervalYearMonth extends Interval {
436
347
  constructor() {
437
348
  super(IntervalUnit.YEAR_MONTH);
438
349
  }
439
-
440
350
  }
441
351
  _Symbol$toStringTag7 = Symbol.toStringTag;
442
352
  export class FixedSizeList extends DataType {
443
353
  constructor(listSize, child) {
444
354
  super();
445
-
446
355
  _defineProperty(this, "listSize", void 0);
447
-
448
356
  _defineProperty(this, "children", void 0);
449
-
450
357
  this.listSize = listSize;
451
358
  this.children = [child];
452
359
  }
453
-
454
360
  get typeId() {
455
361
  return Type.FixedSizeList;
456
362
  }
457
-
458
363
  get valueType() {
459
364
  return this.children[0].type;
460
365
  }
461
-
462
366
  get valueField() {
463
367
  return this.children[0];
464
368
  }
465
-
466
369
  get [_Symbol$toStringTag7]() {
467
370
  return 'FixedSizeList';
468
371
  }
469
-
470
372
  toString() {
471
373
  return "FixedSizeList[".concat(this.listSize, "]<").concat(this.valueType, ">");
472
374
  }
473
-
474
375
  }
475
376
  _Symbol$toStringTag8 = Symbol.toStringTag;
476
377
  export class Struct extends DataType {
477
378
  constructor(children) {
478
379
  super();
479
-
480
380
  _defineProperty(this, "children", void 0);
481
-
482
381
  this.children = children;
483
382
  }
484
-
485
383
  get typeId() {
486
384
  return Type.Struct;
487
385
  }
488
-
489
386
  toString() {
490
387
  return "Struct<{".concat(this.children.map(f => "".concat(f.name, ":").concat(f.type)).join(', '), "}>");
491
388
  }
492
-
493
389
  get [_Symbol$toStringTag8]() {
494
390
  return 'Struct';
495
391
  }
496
-
497
392
  }
498
- //# sourceMappingURL=type.js.map
393
+ //# sourceMappingURL=arrow-like-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-like-type.js","names":["Type","DataType","isNull","x","typeId","Null","isInt","Int","isFloat","Float","isBinary","Binary","isUtf8","Utf8","isBool","Bool","isDecimal","Decimal","isDate","Date","isTime","Time","isTimestamp","Timestamp","isInterval","Interval","isList","List","isStruct","Struct","isUnion","Union","isFixedSizeBinary","FixedSizeBinary","isFixedSizeList","FixedSizeList","isMap","Map","isDictionary","Dictionary","NONE","compareTo","other","Symbol","toStringTag","toString","_Symbol$toStringTag","constructor","isSigned","bitWidth","_defineProperty","concat","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Precision","HALF","SINGLE","DOUBLE","_Symbol$toStringTag2","precision","Float16","Float32","Float64","DateUnit","DAY","MILLISECOND","_Symbol$toStringTag3","unit","DateDay","DateMillisecond","TimeUnit","SECOND","MICROSECOND","NANOSECOND","_Symbol$toStringTag4","TimeSecond","TimeMillisecond","_Symbol$toStringTag5","timezone","arguments","length","undefined","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","IntervalUnit","DAY_TIME","YEAR_MONTH","_Symbol$toStringTag6","IntervalDayTime","IntervalYearMonth","_Symbol$toStringTag7","listSize","child","children","valueType","type","valueField","_Symbol$toStringTag8","map","f","name","join"],"sources":["../../../../../src/lib/table/arrow-api/arrow-like-type.ts"],"sourcesContent":["// This code is adapted from ArrowJS https://github.com/apache/arrow\n// under Apache license http://www.apache.org/licenses/LICENSE-2.0\n\nimport {Type} from './enum';\n\nimport {ArrowLikeField as Field} from './arrow-like-field';\n\nexport {Type} from './enum';\n\nexport type TypedIntArray =\n | Int8Array\n | Uint8Array\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Int32Array\n | Uint32Array\n | Uint8ClampedArray;\n\nexport type TypedFloatArray = Float32Array | Float64Array;\n\nexport type TypedArray = TypedIntArray | TypedFloatArray;\n\nexport type AnyArrayType = Array<any> | TypedIntArray | TypedFloatArray;\n\n/** ArrowLike DataType class */\nexport class DataType {\n static isNull(x: any): boolean {\n return x && x.typeId === Type.Null;\n }\n static isInt(x: any): boolean {\n return x && x.typeId === Type.Int;\n }\n static isFloat(x: any): boolean {\n return x && x.typeId === Type.Float;\n }\n static isBinary(x: any): boolean {\n return x && x.typeId === Type.Binary;\n }\n static isUtf8(x: any): boolean {\n return x && x.typeId === Type.Utf8;\n }\n static isBool(x: any): boolean {\n return x && x.typeId === Type.Bool;\n }\n static isDecimal(x: any): boolean {\n return x && x.typeId === Type.Decimal;\n }\n static isDate(x: any): boolean {\n return x && x.typeId === Type.Date;\n }\n static isTime(x: any): boolean {\n return x && x.typeId === Type.Time;\n }\n static isTimestamp(x: any): boolean {\n return x && x.typeId === Type.Timestamp;\n }\n static isInterval(x: any): boolean {\n return x && x.typeId === Type.Interval;\n }\n static isList(x: any): boolean {\n return x && x.typeId === Type.List;\n }\n static isStruct(x: any): boolean {\n return x && x.typeId === Type.Struct;\n }\n static isUnion(x: any): boolean {\n return x && x.typeId === Type.Union;\n }\n static isFixedSizeBinary(x: any): boolean {\n return x && x.typeId === Type.FixedSizeBinary;\n }\n static isFixedSizeList(x: any): boolean {\n return x && x.typeId === Type.FixedSizeList;\n }\n static isMap(x: any): boolean {\n return x && x.typeId === Type.Map;\n }\n static isDictionary(x: any): boolean {\n return x && x.typeId === Type.Dictionary;\n }\n\n get typeId(): Type {\n return Type.NONE;\n }\n\n // get ArrayType(): AnyArrayType {\n // return Int8Array;\n // }\n\n // get ArrayType() { return Array; }\n compareTo(other: DataType): boolean {\n // TODO\n return this === other; // comparer.visit(this, other);\n }\n}\n\n// NULL\n\nexport class Null extends DataType {\n get typeId(): Type {\n return Type.Null;\n }\n get [Symbol.toStringTag](): string {\n return 'Null';\n }\n toString(): string {\n return 'Null';\n }\n}\n\n// BOOLEANS\n\nexport class Bool extends DataType {\n get typeId(): Type {\n return Type.Bool;\n }\n // get ArrayType() {\n // return Uint8Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Bool';\n }\n toString(): string {\n return 'Bool';\n }\n}\n\n// INTS\n\nexport class Int extends DataType {\n readonly isSigned: boolean;\n readonly bitWidth: number;\n constructor(isSigned, bitWidth) {\n super();\n this.isSigned = isSigned;\n this.bitWidth = bitWidth;\n }\n get typeId(): Type {\n return Type.Int;\n }\n // get ArrayType() {\n // switch (this.bitWidth) {\n // case 8:\n // return this.isSigned ? Int8Array : Uint8Array;\n // case 16:\n // return this.isSigned ? Int16Array : Uint16Array;\n // case 32:\n // return this.isSigned ? Int32Array : Uint32Array;\n // case 64:\n // return this.isSigned ? Int32Array : Uint32Array;\n // default:\n // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n // }\n // }\n get [Symbol.toStringTag](): string {\n return 'Int';\n }\n toString(): string {\n return `${this.isSigned ? 'I' : 'Ui'}nt${this.bitWidth}`;\n }\n}\n\nexport class Int8 extends Int {\n constructor() {\n super(true, 8);\n }\n}\nexport class Int16 extends Int {\n constructor() {\n super(true, 16);\n }\n}\nexport class Int32 extends Int {\n constructor() {\n super(true, 32);\n }\n}\nexport class Int64 extends Int {\n constructor() {\n super(true, 64);\n }\n}\nexport class Uint8 extends Int {\n constructor() {\n super(false, 8);\n }\n}\nexport class Uint16 extends Int {\n constructor() {\n super(false, 16);\n }\n}\nexport class Uint32 extends Int {\n constructor() {\n super(false, 32);\n }\n}\nexport class Uint64 extends Int {\n constructor() {\n super(false, 64);\n }\n}\n\n// FLOATS\n\nconst Precision = {\n HALF: 16,\n SINGLE: 32,\n DOUBLE: 64\n};\n\nexport class Float extends DataType {\n readonly precision: number;\n constructor(precision) {\n super();\n this.precision = precision;\n }\n get typeId(): Type {\n return Type.Float;\n }\n // get ArrayType() {\n // switch (this.precision) {\n // case Precision.HALF:\n // return Uint16Array;\n // case Precision.SINGLE:\n // return Float32Array;\n // case Precision.DOUBLE:\n // return Float64Array;\n // default:\n // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);\n // }\n // }\n get [Symbol.toStringTag](): string {\n return 'Float';\n }\n toString(): string {\n return `Float${this.precision}`;\n }\n}\n\nexport class Float16 extends Float {\n constructor() {\n super(Precision.HALF);\n }\n}\nexport class Float32 extends Float {\n constructor() {\n super(Precision.SINGLE);\n }\n}\nexport class Float64 extends Float {\n constructor() {\n super(Precision.DOUBLE);\n }\n}\n\nexport class Binary extends DataType {\n constructor() {\n super();\n }\n get typeId() {\n return Type.Binary;\n }\n toString() {\n return 'Binary';\n }\n get [Symbol.toStringTag]() {\n return 'Binary';\n }\n}\n\n// STRINGS\n\nexport class Utf8 extends DataType {\n get typeId(): Type {\n return Type.Utf8;\n }\n // get ArrayType() {\n // return Uint8Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Utf8';\n }\n toString(): string {\n return 'Utf8';\n }\n}\n\n// DATES, TIMES AND INTERVALS\n\nconst DateUnit = {\n DAY: 0,\n MILLISECOND: 1\n};\n\nexport class Date extends DataType {\n readonly unit: number;\n constructor(unit) {\n super();\n this.unit = unit;\n }\n get typeId(): Type {\n return Type.Date;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Date';\n }\n toString(): string {\n return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`;\n }\n}\n\nexport class DateDay extends Date {\n constructor() {\n super(DateUnit.DAY);\n }\n}\nexport class DateMillisecond extends Date {\n constructor() {\n super(DateUnit.MILLISECOND);\n }\n}\n\nconst TimeUnit = {\n SECOND: 1,\n MILLISECOND: 1e3,\n MICROSECOND: 1e6,\n NANOSECOND: 1e9\n};\n\nexport class Time extends DataType {\n readonly unit: any;\n readonly bitWidth: number;\n\n constructor(unit: any, bitWidth: number) {\n super();\n this.unit = unit;\n this.bitWidth = bitWidth;\n }\n get typeId(): Type {\n return Type.Time;\n }\n toString(): string {\n return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`;\n }\n get [Symbol.toStringTag](): string {\n return 'Time';\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n}\n\nexport class TimeSecond extends Time {\n constructor() {\n super(TimeUnit.SECOND, 32);\n }\n}\nexport class TimeMillisecond extends Time {\n constructor() {\n super(TimeUnit.MILLISECOND, 32);\n }\n}\n// export class TimeMicrosecond extends Time { constructor() { super(TimeUnit.MICROSECOND, 64); } }\n// export class TimeNanosecond extends Time { constructor() { super(TimeUnit.NANOSECOND, 64); } }\n\nexport class Timestamp extends DataType {\n readonly unit: any;\n readonly timezone: any;\n\n constructor(unit: any, timezone = null) {\n super();\n this.unit = unit;\n this.timezone = timezone;\n }\n get typeId(): Type {\n return Type.Timestamp;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Timestamp';\n }\n toString(): string {\n return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ''}>`;\n }\n}\n\nexport class TimestampSecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.SECOND, timezone);\n }\n}\nexport class TimestampMillisecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.MILLISECOND, timezone);\n }\n}\nexport class TimestampMicrosecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.MICROSECOND, timezone);\n }\n}\nexport class TimestampNanosecond extends Timestamp {\n constructor(timezone = null) {\n super(TimeUnit.NANOSECOND, timezone);\n }\n}\n\nconst IntervalUnit = {\n DAY_TIME: 0,\n YEAR_MONTH: 1\n};\n\nexport class Interval extends DataType {\n readonly unit: number;\n constructor(unit: number) {\n super();\n this.unit = unit;\n }\n get typeId(): Type {\n return Type.Interval;\n }\n // get ArrayType() {\n // return Int32Array;\n // }\n get [Symbol.toStringTag](): string {\n return 'Interval';\n }\n toString(): string {\n return `Interval<${IntervalUnit[this.unit]}>`;\n }\n}\n\nexport class IntervalDayTime extends Interval {\n constructor() {\n super(IntervalUnit.DAY_TIME);\n }\n}\nexport class IntervalYearMonth extends Interval {\n constructor() {\n super(IntervalUnit.YEAR_MONTH);\n }\n}\n\nexport class FixedSizeList extends DataType {\n readonly listSize: number;\n readonly children: Field[];\n\n constructor(listSize: number, child: Field) {\n super();\n this.listSize = listSize;\n this.children = [child];\n }\n get typeId(): Type {\n return Type.FixedSizeList;\n }\n get valueType() {\n return this.children[0].type;\n }\n get valueField() {\n return this.children[0];\n }\n // get ArrayType() {\n // return this.valueType.ArrayType;\n // }\n get [Symbol.toStringTag](): string {\n return 'FixedSizeList';\n }\n toString(): string {\n return `FixedSizeList[${this.listSize}]<${this.valueType}>`;\n }\n}\n\nexport class Struct extends DataType {\n public readonly children: Field[];\n\n constructor(children: Field[]) {\n super();\n this.children = children;\n }\n\n public get typeId() {\n return Type.Struct;\n }\n public toString() {\n return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(', ')}}>`;\n }\n get [Symbol.toStringTag](): string {\n return 'Struct';\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- export let Type;
2
-
3
- (function (Type) {
1
+ export let Type = function (Type) {
4
2
  Type[Type["NONE"] = 0] = "NONE";
5
3
  Type[Type["Null"] = 1] = "Null";
6
4
  Type[Type["Int"] = 2] = "Int";
@@ -45,5 +43,6 @@ export let Type;
45
43
  Type[Type["SparseUnion"] = -24] = "SparseUnion";
46
44
  Type[Type["IntervalDayTime"] = -25] = "IntervalDayTime";
47
45
  Type[Type["IntervalYearMonth"] = -26] = "IntervalYearMonth";
48
- })(Type || (Type = {}));
46
+ return Type;
47
+ }({});
49
48
  //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","names":["Type"],"sources":["../../../../../src/lib/table/arrow-api/enum.ts"],"sourcesContent":["// This code is adapted from ArrowJS https://github.com/apache/arrow\n// under Apache license http://www.apache.org/licenses/LICENSE-2.0\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 enum values 0-17 (NONE through Map) are written to an Arrow\n * 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 /** The default placeholder type */\n NONE = 0,\n /** A NULL type having no physical storage */\n Null = 1,\n /** Signed or unsigned 8, 16, 32, or 64-bit little-endian integer */\n Int = 2,\n /** 2, 4, or 8-byte floating point value */\n Float = 3,\n /** Variable-length bytes (no guarantee of UTF8-ness) */\n Binary = 4,\n /** UTF8 variable-length string as List<Char> */\n Utf8 = 5,\n /** Boolean as 1 bit, LSB bit-packed ordering */\n Bool = 6,\n /** Precision-and-scale-based decimal type. Storage type depends on the parameters. */\n Decimal = 7,\n /** int32_t days or int64_t milliseconds since the UNIX epoch */\n Date = 8,\n /** Time as signed 32 or 64-bit integer, representing either seconds, milliseconds, microseconds, or nanoseconds since midnight since midnight */\n Time = 9,\n /** Exact timestamp encoded with int64 since UNIX epoch (Default unit millisecond) */\n Timestamp = 10,\n /** YEAR_MONTH or DAY_TIME interval in SQL style */\n Interval = 11,\n /** A list of some logical data type */\n List = 12,\n /** Struct of logical types */\n Struct = 13,\n /** Union of logical types */\n Union = 14,\n /** Fixed-size binary. Each value occupies the same number of bytes */\n FixedSizeBinary = 15,\n /** Fixed-size list. Each value occupies the same number of bytes */\n FixedSizeList = 16,\n /** Map of named logical types */\n Map = 17,\n\n /** Dictionary aka Category type */\n Dictionary = -1,\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}\n"],"mappings":"AA6BA,WAAYA,IAAI,aAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA"}
@@ -1,4 +1,4 @@
1
- import { Type } from '../schema';
1
+ import { Type } from './arrow-like-type';
2
2
  export function getTypeInfo(arrowTypeLike) {
3
3
  return {
4
4
  typeId: arrowTypeLike.typeId,
@@ -9,16 +9,13 @@ export function getTypeInfo(arrowTypeLike) {
9
9
  };
10
10
  }
11
11
  let ReverseType = null;
12
-
13
12
  function getTypeKey(typeKey) {
14
13
  if (!ReverseType) {
15
14
  ReverseType = {};
16
-
17
15
  for (const key in Type) {
18
16
  ReverseType[Type[key]] = key;
19
17
  }
20
18
  }
21
-
22
19
  return ReverseType[typeKey];
23
20
  }
24
21
  //# sourceMappingURL=get-type-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-type-info.js","names":["Type","getTypeInfo","arrowTypeLike","typeId","ArrayType","typeName","toString","typeEnumName","getTypeKey","precision","ReverseType","typeKey","key"],"sources":["../../../../../src/lib/table/arrow-api/get-type-info.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Type} from './arrow-like-type';\n\n/**\n * Gets type information from an Arrow type object or \"mock\" Arrow type object\n * @param arrowTypeLike Arrow Type or type object of similar shape\n */\nexport function getTypeInfo(arrowTypeLike: any): {\n typeId: Type;\n ArrayType: ArrayLike<unknown>;\n typeName: string;\n typeEnumName?: string;\n precision?: number;\n} {\n return {\n typeId: arrowTypeLike.typeId,\n ArrayType: arrowTypeLike.ArrayType,\n typeName: arrowTypeLike.toString(),\n typeEnumName: getTypeKey(arrowTypeLike.typeId),\n precision: arrowTypeLike.precision\n };\n}\n\nlet ReverseType: {[key: string]: string} | null = null;\n\nfunction getTypeKey(typeKey) {\n if (!ReverseType) {\n ReverseType = {};\n for (const key in Type) {\n ReverseType[Type[key]] = key;\n }\n }\n\n return ReverseType[typeKey];\n}\n"],"mappings":"AAEA,SAAQA,IAAI,QAAO,mBAAmB;AAMtC,OAAO,SAASC,WAAWA,CAACC,aAAkB,EAM5C;EACA,OAAO;IACLC,MAAM,EAAED,aAAa,CAACC,MAAM;IAC5BC,SAAS,EAAEF,aAAa,CAACE,SAAS;IAClCC,QAAQ,EAAEH,aAAa,CAACI,QAAQ,CAAC,CAAC;IAClCC,YAAY,EAAEC,UAAU,CAACN,aAAa,CAACC,MAAM,CAAC;IAC9CM,SAAS,EAAEP,aAAa,CAACO;EAC3B,CAAC;AACH;AAEA,IAAIC,WAA2C,GAAG,IAAI;AAEtD,SAASF,UAAUA,CAACG,OAAO,EAAE;EAC3B,IAAI,CAACD,WAAW,EAAE;IAChBA,WAAW,GAAG,CAAC,CAAC;IAChB,KAAK,MAAME,GAAG,IAAIZ,IAAI,EAAE;MACtBU,WAAW,CAACV,IAAI,CAACY,GAAG,CAAC,CAAC,GAAGA,GAAG;IAC9B;EACF;EAEA,OAAOF,WAAW,CAACC,OAAO,CAAC;AAC7B"}
@@ -0,0 +1,5 @@
1
+ export { ArrowLikeField as Field } from './arrow-like-field';
2
+ export { ArrowLikeSchema as Schema } from './arrow-like-schema';
3
+ export { ArrowLikeTable as Table } from './arrow-like-table';
4
+ export * from './arrow-like-type';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ArrowLikeField","Field","ArrowLikeSchema","Schema","ArrowLikeTable","Table"],"sources":["../../../../../src/lib/table/arrow-api/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport {ArrowLikeField as Field} from './arrow-like-field';\nexport {ArrowLikeSchema as Schema} from './arrow-like-schema';\nexport {ArrowLikeTable as Table} from './arrow-like-table';\nexport * from './arrow-like-type';\n"],"mappings":"AAEA,SAAQA,cAAc,IAAIC,KAAK,QAAO,oBAAoB;AAC1D,SAAQC,eAAe,IAAIC,MAAM,QAAO,qBAAqB;AAC7D,SAAQC,cAAc,IAAIC,KAAK,QAAO,oBAAoB;AAC1D,cAAc,mBAAmB"}
@@ -1,62 +1,46 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  const DEFAULT_ROW_COUNT = 100;
3
- export default class RowTableBatchAggregator {
3
+ export class BaseTableBatchAggregator {
4
4
  constructor(schema, options) {
5
5
  _defineProperty(this, "schema", void 0);
6
-
7
6
  _defineProperty(this, "options", void 0);
8
-
9
7
  _defineProperty(this, "length", 0);
10
-
11
8
  _defineProperty(this, "rows", null);
12
-
13
9
  _defineProperty(this, "cursor", 0);
14
-
15
10
  _defineProperty(this, "_headers", []);
16
-
17
11
  this.options = options;
18
12
  this.schema = schema;
19
-
20
13
  if (!Array.isArray(schema)) {
21
14
  this._headers = [];
22
-
23
15
  for (const key in schema) {
24
16
  this._headers[schema[key].index] = schema[key].name;
25
17
  }
26
18
  }
27
19
  }
28
-
29
20
  rowCount() {
30
21
  return this.length;
31
22
  }
32
-
33
23
  addArrayRow(row, cursor) {
34
24
  if (Number.isFinite(cursor)) {
35
25
  this.cursor = cursor;
36
26
  }
37
-
38
27
  this.rows = this.rows || new Array(DEFAULT_ROW_COUNT);
39
28
  this.rows[this.length] = row;
40
29
  this.length++;
41
30
  }
42
-
43
31
  addObjectRow(row, cursor) {
44
32
  if (Number.isFinite(cursor)) {
45
33
  this.cursor = cursor;
46
34
  }
47
-
48
35
  this.rows = this.rows || new Array(DEFAULT_ROW_COUNT);
49
36
  this.rows[this.length] = row;
50
37
  this.length++;
51
38
  }
52
-
53
39
  getBatch() {
54
40
  let rows = this.rows;
55
-
56
41
  if (!rows) {
57
42
  return null;
58
43
  }
59
-
60
44
  rows = rows.slice(0, this.length);
61
45
  this.rows = null;
62
46
  const batch = {
@@ -69,6 +53,5 @@ export default class RowTableBatchAggregator {
69
53
  };
70
54
  return batch;
71
55
  }
72
-
73
56
  }
74
57
  //# sourceMappingURL=base-table-batch-aggregator.js.map