@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
@@ -0,0 +1,177 @@
1
+ import { Type } from './enum';
2
+ import { ArrowLikeField as Field } from './arrow-like-field';
3
+ export { Type } from './enum';
4
+ export type TypedIntArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Int32Array | Uint32Array | Uint8ClampedArray;
5
+ export type TypedFloatArray = Float32Array | Float64Array;
6
+ export type TypedArray = TypedIntArray | TypedFloatArray;
7
+ export type AnyArrayType = Array<any> | TypedIntArray | TypedFloatArray;
8
+ /** ArrowLike DataType class */
9
+ export declare class DataType {
10
+ static isNull(x: any): boolean;
11
+ static isInt(x: any): boolean;
12
+ static isFloat(x: any): boolean;
13
+ static isBinary(x: any): boolean;
14
+ static isUtf8(x: any): boolean;
15
+ static isBool(x: any): boolean;
16
+ static isDecimal(x: any): boolean;
17
+ static isDate(x: any): boolean;
18
+ static isTime(x: any): boolean;
19
+ static isTimestamp(x: any): boolean;
20
+ static isInterval(x: any): boolean;
21
+ static isList(x: any): boolean;
22
+ static isStruct(x: any): boolean;
23
+ static isUnion(x: any): boolean;
24
+ static isFixedSizeBinary(x: any): boolean;
25
+ static isFixedSizeList(x: any): boolean;
26
+ static isMap(x: any): boolean;
27
+ static isDictionary(x: any): boolean;
28
+ get typeId(): Type;
29
+ compareTo(other: DataType): boolean;
30
+ }
31
+ export declare class Null extends DataType {
32
+ get typeId(): Type;
33
+ get [Symbol.toStringTag](): string;
34
+ toString(): string;
35
+ }
36
+ export declare class Bool extends DataType {
37
+ get typeId(): Type;
38
+ get [Symbol.toStringTag](): string;
39
+ toString(): string;
40
+ }
41
+ export declare class Int extends DataType {
42
+ readonly isSigned: boolean;
43
+ readonly bitWidth: number;
44
+ constructor(isSigned: any, bitWidth: any);
45
+ get typeId(): Type;
46
+ get [Symbol.toStringTag](): string;
47
+ toString(): string;
48
+ }
49
+ export declare class Int8 extends Int {
50
+ constructor();
51
+ }
52
+ export declare class Int16 extends Int {
53
+ constructor();
54
+ }
55
+ export declare class Int32 extends Int {
56
+ constructor();
57
+ }
58
+ export declare class Int64 extends Int {
59
+ constructor();
60
+ }
61
+ export declare class Uint8 extends Int {
62
+ constructor();
63
+ }
64
+ export declare class Uint16 extends Int {
65
+ constructor();
66
+ }
67
+ export declare class Uint32 extends Int {
68
+ constructor();
69
+ }
70
+ export declare class Uint64 extends Int {
71
+ constructor();
72
+ }
73
+ export declare class Float extends DataType {
74
+ readonly precision: number;
75
+ constructor(precision: any);
76
+ get typeId(): Type;
77
+ get [Symbol.toStringTag](): string;
78
+ toString(): string;
79
+ }
80
+ export declare class Float16 extends Float {
81
+ constructor();
82
+ }
83
+ export declare class Float32 extends Float {
84
+ constructor();
85
+ }
86
+ export declare class Float64 extends Float {
87
+ constructor();
88
+ }
89
+ export declare class Binary extends DataType {
90
+ constructor();
91
+ get typeId(): Type;
92
+ toString(): string;
93
+ get [Symbol.toStringTag](): string;
94
+ }
95
+ export declare class Utf8 extends DataType {
96
+ get typeId(): Type;
97
+ get [Symbol.toStringTag](): string;
98
+ toString(): string;
99
+ }
100
+ export declare class Date extends DataType {
101
+ readonly unit: number;
102
+ constructor(unit: any);
103
+ get typeId(): Type;
104
+ get [Symbol.toStringTag](): string;
105
+ toString(): string;
106
+ }
107
+ export declare class DateDay extends Date {
108
+ constructor();
109
+ }
110
+ export declare class DateMillisecond extends Date {
111
+ constructor();
112
+ }
113
+ export declare class Time extends DataType {
114
+ readonly unit: any;
115
+ readonly bitWidth: number;
116
+ constructor(unit: any, bitWidth: number);
117
+ get typeId(): Type;
118
+ toString(): string;
119
+ get [Symbol.toStringTag](): string;
120
+ }
121
+ export declare class TimeSecond extends Time {
122
+ constructor();
123
+ }
124
+ export declare class TimeMillisecond extends Time {
125
+ constructor();
126
+ }
127
+ export declare class Timestamp extends DataType {
128
+ readonly unit: any;
129
+ readonly timezone: any;
130
+ constructor(unit: any, timezone?: null);
131
+ get typeId(): Type;
132
+ get [Symbol.toStringTag](): string;
133
+ toString(): string;
134
+ }
135
+ export declare class TimestampSecond extends Timestamp {
136
+ constructor(timezone?: null);
137
+ }
138
+ export declare class TimestampMillisecond extends Timestamp {
139
+ constructor(timezone?: null);
140
+ }
141
+ export declare class TimestampMicrosecond extends Timestamp {
142
+ constructor(timezone?: null);
143
+ }
144
+ export declare class TimestampNanosecond extends Timestamp {
145
+ constructor(timezone?: null);
146
+ }
147
+ export declare class Interval extends DataType {
148
+ readonly unit: number;
149
+ constructor(unit: number);
150
+ get typeId(): Type;
151
+ get [Symbol.toStringTag](): string;
152
+ toString(): string;
153
+ }
154
+ export declare class IntervalDayTime extends Interval {
155
+ constructor();
156
+ }
157
+ export declare class IntervalYearMonth extends Interval {
158
+ constructor();
159
+ }
160
+ export declare class FixedSizeList extends DataType {
161
+ readonly listSize: number;
162
+ readonly children: Field[];
163
+ constructor(listSize: number, child: Field);
164
+ get typeId(): Type;
165
+ get valueType(): DataType;
166
+ get valueField(): Field;
167
+ get [Symbol.toStringTag](): string;
168
+ toString(): string;
169
+ }
170
+ export declare class Struct extends DataType {
171
+ readonly children: Field[];
172
+ constructor(children: Field[]);
173
+ get typeId(): Type;
174
+ toString(): string;
175
+ get [Symbol.toStringTag](): string;
176
+ }
177
+ //# sourceMappingURL=arrow-like-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-like-type.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,463 @@
1
+ "use strict";
2
+ // This code is adapted from ArrowJS https://github.com/apache/arrow
3
+ // under Apache license http://www.apache.org/licenses/LICENSE-2.0
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Struct = exports.FixedSizeList = exports.IntervalYearMonth = exports.IntervalDayTime = exports.Interval = exports.TimestampNanosecond = exports.TimestampMicrosecond = exports.TimestampMillisecond = exports.TimestampSecond = exports.Timestamp = exports.TimeMillisecond = exports.TimeSecond = exports.Time = exports.DateMillisecond = exports.DateDay = exports.Date = exports.Utf8 = exports.Binary = exports.Float64 = exports.Float32 = exports.Float16 = exports.Float = exports.Uint64 = exports.Uint32 = exports.Uint16 = exports.Uint8 = exports.Int64 = exports.Int32 = exports.Int16 = exports.Int8 = exports.Int = exports.Bool = exports.Null = exports.DataType = exports.Type = void 0;
6
+ const enum_1 = require("./enum");
7
+ var enum_2 = require("./enum");
8
+ Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return enum_2.Type; } });
9
+ /** ArrowLike DataType class */
10
+ class DataType {
11
+ static isNull(x) {
12
+ return x && x.typeId === enum_1.Type.Null;
13
+ }
14
+ static isInt(x) {
15
+ return x && x.typeId === enum_1.Type.Int;
16
+ }
17
+ static isFloat(x) {
18
+ return x && x.typeId === enum_1.Type.Float;
19
+ }
20
+ static isBinary(x) {
21
+ return x && x.typeId === enum_1.Type.Binary;
22
+ }
23
+ static isUtf8(x) {
24
+ return x && x.typeId === enum_1.Type.Utf8;
25
+ }
26
+ static isBool(x) {
27
+ return x && x.typeId === enum_1.Type.Bool;
28
+ }
29
+ static isDecimal(x) {
30
+ return x && x.typeId === enum_1.Type.Decimal;
31
+ }
32
+ static isDate(x) {
33
+ return x && x.typeId === enum_1.Type.Date;
34
+ }
35
+ static isTime(x) {
36
+ return x && x.typeId === enum_1.Type.Time;
37
+ }
38
+ static isTimestamp(x) {
39
+ return x && x.typeId === enum_1.Type.Timestamp;
40
+ }
41
+ static isInterval(x) {
42
+ return x && x.typeId === enum_1.Type.Interval;
43
+ }
44
+ static isList(x) {
45
+ return x && x.typeId === enum_1.Type.List;
46
+ }
47
+ static isStruct(x) {
48
+ return x && x.typeId === enum_1.Type.Struct;
49
+ }
50
+ static isUnion(x) {
51
+ return x && x.typeId === enum_1.Type.Union;
52
+ }
53
+ static isFixedSizeBinary(x) {
54
+ return x && x.typeId === enum_1.Type.FixedSizeBinary;
55
+ }
56
+ static isFixedSizeList(x) {
57
+ return x && x.typeId === enum_1.Type.FixedSizeList;
58
+ }
59
+ static isMap(x) {
60
+ return x && x.typeId === enum_1.Type.Map;
61
+ }
62
+ static isDictionary(x) {
63
+ return x && x.typeId === enum_1.Type.Dictionary;
64
+ }
65
+ get typeId() {
66
+ return enum_1.Type.NONE;
67
+ }
68
+ // get ArrayType(): AnyArrayType {
69
+ // return Int8Array;
70
+ // }
71
+ // get ArrayType() { return Array; }
72
+ compareTo(other) {
73
+ // TODO
74
+ return this === other; // comparer.visit(this, other);
75
+ }
76
+ }
77
+ exports.DataType = DataType;
78
+ // NULL
79
+ class Null extends DataType {
80
+ get typeId() {
81
+ return enum_1.Type.Null;
82
+ }
83
+ get [Symbol.toStringTag]() {
84
+ return 'Null';
85
+ }
86
+ toString() {
87
+ return 'Null';
88
+ }
89
+ }
90
+ exports.Null = Null;
91
+ // BOOLEANS
92
+ class Bool extends DataType {
93
+ get typeId() {
94
+ return enum_1.Type.Bool;
95
+ }
96
+ // get ArrayType() {
97
+ // return Uint8Array;
98
+ // }
99
+ get [Symbol.toStringTag]() {
100
+ return 'Bool';
101
+ }
102
+ toString() {
103
+ return 'Bool';
104
+ }
105
+ }
106
+ exports.Bool = Bool;
107
+ // INTS
108
+ class Int extends DataType {
109
+ constructor(isSigned, bitWidth) {
110
+ super();
111
+ this.isSigned = isSigned;
112
+ this.bitWidth = bitWidth;
113
+ }
114
+ get typeId() {
115
+ return enum_1.Type.Int;
116
+ }
117
+ // get ArrayType() {
118
+ // switch (this.bitWidth) {
119
+ // case 8:
120
+ // return this.isSigned ? Int8Array : Uint8Array;
121
+ // case 16:
122
+ // return this.isSigned ? Int16Array : Uint16Array;
123
+ // case 32:
124
+ // return this.isSigned ? Int32Array : Uint32Array;
125
+ // case 64:
126
+ // return this.isSigned ? Int32Array : Uint32Array;
127
+ // default:
128
+ // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
129
+ // }
130
+ // }
131
+ get [Symbol.toStringTag]() {
132
+ return 'Int';
133
+ }
134
+ toString() {
135
+ return `${this.isSigned ? 'I' : 'Ui'}nt${this.bitWidth}`;
136
+ }
137
+ }
138
+ exports.Int = Int;
139
+ class Int8 extends Int {
140
+ constructor() {
141
+ super(true, 8);
142
+ }
143
+ }
144
+ exports.Int8 = Int8;
145
+ class Int16 extends Int {
146
+ constructor() {
147
+ super(true, 16);
148
+ }
149
+ }
150
+ exports.Int16 = Int16;
151
+ class Int32 extends Int {
152
+ constructor() {
153
+ super(true, 32);
154
+ }
155
+ }
156
+ exports.Int32 = Int32;
157
+ class Int64 extends Int {
158
+ constructor() {
159
+ super(true, 64);
160
+ }
161
+ }
162
+ exports.Int64 = Int64;
163
+ class Uint8 extends Int {
164
+ constructor() {
165
+ super(false, 8);
166
+ }
167
+ }
168
+ exports.Uint8 = Uint8;
169
+ class Uint16 extends Int {
170
+ constructor() {
171
+ super(false, 16);
172
+ }
173
+ }
174
+ exports.Uint16 = Uint16;
175
+ class Uint32 extends Int {
176
+ constructor() {
177
+ super(false, 32);
178
+ }
179
+ }
180
+ exports.Uint32 = Uint32;
181
+ class Uint64 extends Int {
182
+ constructor() {
183
+ super(false, 64);
184
+ }
185
+ }
186
+ exports.Uint64 = Uint64;
187
+ // FLOATS
188
+ const Precision = {
189
+ HALF: 16,
190
+ SINGLE: 32,
191
+ DOUBLE: 64
192
+ };
193
+ class Float extends DataType {
194
+ constructor(precision) {
195
+ super();
196
+ this.precision = precision;
197
+ }
198
+ get typeId() {
199
+ return enum_1.Type.Float;
200
+ }
201
+ // get ArrayType() {
202
+ // switch (this.precision) {
203
+ // case Precision.HALF:
204
+ // return Uint16Array;
205
+ // case Precision.SINGLE:
206
+ // return Float32Array;
207
+ // case Precision.DOUBLE:
208
+ // return Float64Array;
209
+ // default:
210
+ // throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`);
211
+ // }
212
+ // }
213
+ get [Symbol.toStringTag]() {
214
+ return 'Float';
215
+ }
216
+ toString() {
217
+ return `Float${this.precision}`;
218
+ }
219
+ }
220
+ exports.Float = Float;
221
+ class Float16 extends Float {
222
+ constructor() {
223
+ super(Precision.HALF);
224
+ }
225
+ }
226
+ exports.Float16 = Float16;
227
+ class Float32 extends Float {
228
+ constructor() {
229
+ super(Precision.SINGLE);
230
+ }
231
+ }
232
+ exports.Float32 = Float32;
233
+ class Float64 extends Float {
234
+ constructor() {
235
+ super(Precision.DOUBLE);
236
+ }
237
+ }
238
+ exports.Float64 = Float64;
239
+ class Binary extends DataType {
240
+ constructor() {
241
+ super();
242
+ }
243
+ get typeId() {
244
+ return enum_1.Type.Binary;
245
+ }
246
+ toString() {
247
+ return 'Binary';
248
+ }
249
+ get [Symbol.toStringTag]() {
250
+ return 'Binary';
251
+ }
252
+ }
253
+ exports.Binary = Binary;
254
+ // STRINGS
255
+ class Utf8 extends DataType {
256
+ get typeId() {
257
+ return enum_1.Type.Utf8;
258
+ }
259
+ // get ArrayType() {
260
+ // return Uint8Array;
261
+ // }
262
+ get [Symbol.toStringTag]() {
263
+ return 'Utf8';
264
+ }
265
+ toString() {
266
+ return 'Utf8';
267
+ }
268
+ }
269
+ exports.Utf8 = Utf8;
270
+ // DATES, TIMES AND INTERVALS
271
+ const DateUnit = {
272
+ DAY: 0,
273
+ MILLISECOND: 1
274
+ };
275
+ class Date extends DataType {
276
+ constructor(unit) {
277
+ super();
278
+ this.unit = unit;
279
+ }
280
+ get typeId() {
281
+ return enum_1.Type.Date;
282
+ }
283
+ // get ArrayType() {
284
+ // return Int32Array;
285
+ // }
286
+ get [Symbol.toStringTag]() {
287
+ return 'Date';
288
+ }
289
+ toString() {
290
+ return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`;
291
+ }
292
+ }
293
+ exports.Date = Date;
294
+ class DateDay extends Date {
295
+ constructor() {
296
+ super(DateUnit.DAY);
297
+ }
298
+ }
299
+ exports.DateDay = DateDay;
300
+ class DateMillisecond extends Date {
301
+ constructor() {
302
+ super(DateUnit.MILLISECOND);
303
+ }
304
+ }
305
+ exports.DateMillisecond = DateMillisecond;
306
+ const TimeUnit = {
307
+ SECOND: 1,
308
+ MILLISECOND: 1e3,
309
+ MICROSECOND: 1e6,
310
+ NANOSECOND: 1e9
311
+ };
312
+ class Time extends DataType {
313
+ constructor(unit, bitWidth) {
314
+ super();
315
+ this.unit = unit;
316
+ this.bitWidth = bitWidth;
317
+ }
318
+ get typeId() {
319
+ return enum_1.Type.Time;
320
+ }
321
+ toString() {
322
+ return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`;
323
+ }
324
+ get [Symbol.toStringTag]() {
325
+ return 'Time';
326
+ }
327
+ }
328
+ exports.Time = Time;
329
+ class TimeSecond extends Time {
330
+ constructor() {
331
+ super(TimeUnit.SECOND, 32);
332
+ }
333
+ }
334
+ exports.TimeSecond = TimeSecond;
335
+ class TimeMillisecond extends Time {
336
+ constructor() {
337
+ super(TimeUnit.MILLISECOND, 32);
338
+ }
339
+ }
340
+ exports.TimeMillisecond = TimeMillisecond;
341
+ // export class TimeMicrosecond extends Time { constructor() { super(TimeUnit.MICROSECOND, 64); } }
342
+ // export class TimeNanosecond extends Time { constructor() { super(TimeUnit.NANOSECOND, 64); } }
343
+ class Timestamp extends DataType {
344
+ constructor(unit, timezone = null) {
345
+ super();
346
+ this.unit = unit;
347
+ this.timezone = timezone;
348
+ }
349
+ get typeId() {
350
+ return enum_1.Type.Timestamp;
351
+ }
352
+ // get ArrayType() {
353
+ // return Int32Array;
354
+ // }
355
+ get [Symbol.toStringTag]() {
356
+ return 'Timestamp';
357
+ }
358
+ toString() {
359
+ return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ''}>`;
360
+ }
361
+ }
362
+ exports.Timestamp = Timestamp;
363
+ class TimestampSecond extends Timestamp {
364
+ constructor(timezone = null) {
365
+ super(TimeUnit.SECOND, timezone);
366
+ }
367
+ }
368
+ exports.TimestampSecond = TimestampSecond;
369
+ class TimestampMillisecond extends Timestamp {
370
+ constructor(timezone = null) {
371
+ super(TimeUnit.MILLISECOND, timezone);
372
+ }
373
+ }
374
+ exports.TimestampMillisecond = TimestampMillisecond;
375
+ class TimestampMicrosecond extends Timestamp {
376
+ constructor(timezone = null) {
377
+ super(TimeUnit.MICROSECOND, timezone);
378
+ }
379
+ }
380
+ exports.TimestampMicrosecond = TimestampMicrosecond;
381
+ class TimestampNanosecond extends Timestamp {
382
+ constructor(timezone = null) {
383
+ super(TimeUnit.NANOSECOND, timezone);
384
+ }
385
+ }
386
+ exports.TimestampNanosecond = TimestampNanosecond;
387
+ const IntervalUnit = {
388
+ DAY_TIME: 0,
389
+ YEAR_MONTH: 1
390
+ };
391
+ class Interval extends DataType {
392
+ constructor(unit) {
393
+ super();
394
+ this.unit = unit;
395
+ }
396
+ get typeId() {
397
+ return enum_1.Type.Interval;
398
+ }
399
+ // get ArrayType() {
400
+ // return Int32Array;
401
+ // }
402
+ get [Symbol.toStringTag]() {
403
+ return 'Interval';
404
+ }
405
+ toString() {
406
+ return `Interval<${IntervalUnit[this.unit]}>`;
407
+ }
408
+ }
409
+ exports.Interval = Interval;
410
+ class IntervalDayTime extends Interval {
411
+ constructor() {
412
+ super(IntervalUnit.DAY_TIME);
413
+ }
414
+ }
415
+ exports.IntervalDayTime = IntervalDayTime;
416
+ class IntervalYearMonth extends Interval {
417
+ constructor() {
418
+ super(IntervalUnit.YEAR_MONTH);
419
+ }
420
+ }
421
+ exports.IntervalYearMonth = IntervalYearMonth;
422
+ class FixedSizeList extends DataType {
423
+ constructor(listSize, child) {
424
+ super();
425
+ this.listSize = listSize;
426
+ this.children = [child];
427
+ }
428
+ get typeId() {
429
+ return enum_1.Type.FixedSizeList;
430
+ }
431
+ get valueType() {
432
+ return this.children[0].type;
433
+ }
434
+ get valueField() {
435
+ return this.children[0];
436
+ }
437
+ // get ArrayType() {
438
+ // return this.valueType.ArrayType;
439
+ // }
440
+ get [Symbol.toStringTag]() {
441
+ return 'FixedSizeList';
442
+ }
443
+ toString() {
444
+ return `FixedSizeList[${this.listSize}]<${this.valueType}>`;
445
+ }
446
+ }
447
+ exports.FixedSizeList = FixedSizeList;
448
+ class Struct extends DataType {
449
+ constructor(children) {
450
+ super();
451
+ this.children = children;
452
+ }
453
+ get typeId() {
454
+ return enum_1.Type.Struct;
455
+ }
456
+ toString() {
457
+ return `Struct<{${this.children.map((f) => `${f.name}:${f.type}`).join(', ')}}>`;
458
+ }
459
+ get [Symbol.toStringTag]() {
460
+ return 'Struct';
461
+ }
462
+ }
463
+ exports.Struct = Struct;