@loaders.gl/schema 4.0.0-beta.2 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/dist.dev.js +1745 -0
  2. package/dist/index.cjs +1692 -0
  3. package/dist/index.d.ts +0 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +16 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/{esm/lib → lib}/mesh/convert-mesh.js +1 -1
  8. package/dist/lib/mesh/convert-mesh.js.map +1 -0
  9. package/dist/{esm/lib → lib}/mesh/deduce-mesh-schema.js +1 -1
  10. package/dist/lib/mesh/deduce-mesh-schema.js.map +1 -0
  11. package/dist/lib/mesh/mesh-to-arrow-table.js.map +1 -0
  12. package/dist/lib/mesh/mesh-utils.js.map +1 -0
  13. package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-field.js +5 -6
  14. package/dist/lib/table/arrow-api/arrow-like-field.js.map +1 -0
  15. package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-schema.js +3 -4
  16. package/dist/lib/table/arrow-api/arrow-like-schema.js.map +1 -0
  17. package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-table.js +7 -8
  18. package/dist/lib/table/arrow-api/arrow-like-table.js.map +1 -0
  19. package/dist/lib/table/arrow-api/arrow-like-type.d.ts +1 -1
  20. package/dist/lib/table/arrow-api/arrow-like-type.d.ts.map +1 -1
  21. package/dist/{esm/lib → lib}/table/arrow-api/arrow-like-type.js +22 -23
  22. package/dist/lib/table/arrow-api/arrow-like-type.js.map +1 -0
  23. package/dist/lib/table/arrow-api/enum.js.map +1 -0
  24. package/dist/{esm/lib → lib}/table/arrow-api/get-type-info.js +1 -1
  25. package/dist/lib/table/arrow-api/get-type-info.js.map +1 -0
  26. package/dist/lib/table/arrow-api/index.js +5 -0
  27. package/dist/lib/table/arrow-api/index.js.map +1 -0
  28. package/dist/{esm/lib → lib}/table/batches/base-table-batch-aggregator.js +6 -7
  29. package/dist/lib/table/batches/base-table-batch-aggregator.js.map +1 -0
  30. package/dist/{esm/lib → lib}/table/batches/columnar-table-batch-aggregator.js +4 -5
  31. package/dist/lib/table/batches/columnar-table-batch-aggregator.js.map +1 -0
  32. package/dist/{esm/lib → lib}/table/batches/row-table-batch-aggregator.js +8 -9
  33. package/dist/lib/table/batches/row-table-batch-aggregator.js.map +1 -0
  34. package/dist/lib/table/batches/table-batch-aggregator.js.map +1 -0
  35. package/dist/{esm/lib → lib}/table/batches/table-batch-builder.js +14 -15
  36. package/dist/lib/table/batches/table-batch-builder.js.map +1 -0
  37. package/dist/{esm/lib → lib}/table/simple-table/convert-table.js +3 -3
  38. package/dist/lib/table/simple-table/convert-table.js.map +1 -0
  39. package/dist/lib/table/simple-table/data-type.js.map +1 -0
  40. package/dist/{esm/lib → lib}/table/simple-table/make-table.js +1 -1
  41. package/dist/lib/table/simple-table/make-table.js.map +1 -0
  42. package/dist/lib/table/simple-table/row-utils.js.map +1 -0
  43. package/dist/{esm/lib → lib}/table/simple-table/table-accessors.js +2 -2
  44. package/dist/lib/table/simple-table/table-accessors.js.map +1 -0
  45. package/dist/{esm/lib → lib}/table/simple-table/table-column.js +1 -1
  46. package/dist/lib/table/simple-table/table-column.js.map +1 -0
  47. package/dist/{esm/lib → lib}/table/simple-table/table-schema.js +1 -1
  48. package/dist/lib/table/simple-table/table-schema.js.map +1 -0
  49. package/dist/lib/utils/assert.js.map +1 -0
  50. package/dist/{esm/lib → lib}/utils/async-queue.js +3 -4
  51. package/dist/lib/utils/async-queue.js.map +1 -0
  52. package/dist/types/batch.d.ts +3 -2
  53. package/dist/types/batch.d.ts.map +1 -1
  54. package/dist/types/batch.js.map +1 -0
  55. package/dist/types/binary-geometries.js.map +1 -0
  56. package/dist/types/category-gis.js.map +1 -0
  57. package/dist/types/category-image.js.map +1 -0
  58. package/dist/types/category-mesh.js.map +1 -0
  59. package/dist/types/category-table.js.map +1 -0
  60. package/dist/types/category-texture.js.map +1 -0
  61. package/dist/types/flat-geometries.js.map +1 -0
  62. package/dist/types/schema.js.map +1 -0
  63. package/dist/types/types.d.ts +1 -1
  64. package/dist/types/types.d.ts.map +1 -1
  65. package/dist/types/types.js.map +1 -0
  66. package/package.json +14 -6
  67. package/src/index.ts +0 -1
  68. package/src/lib/table/arrow-api/arrow-like-type.ts +0 -2
  69. package/src/types/batch.ts +4 -2
  70. package/src/types/types.ts +0 -2
  71. package/dist/bundle.d.ts +0 -2
  72. package/dist/bundle.d.ts.map +0 -1
  73. package/dist/dist.min.js +0 -13204
  74. package/dist/es5/bundle.js +0 -6
  75. package/dist/es5/bundle.js.map +0 -1
  76. package/dist/es5/index.js +0 -413
  77. package/dist/es5/index.js.map +0 -1
  78. package/dist/es5/lib/mesh/convert-mesh.js +0 -34
  79. package/dist/es5/lib/mesh/convert-mesh.js.map +0 -1
  80. package/dist/es5/lib/mesh/deduce-mesh-schema.js +0 -56
  81. package/dist/es5/lib/mesh/deduce-mesh-schema.js.map +0 -1
  82. package/dist/es5/lib/mesh/mesh-to-arrow-table.js +0 -2
  83. package/dist/es5/lib/mesh/mesh-to-arrow-table.js.map +0 -1
  84. package/dist/es5/lib/mesh/mesh-utils.js +0 -40
  85. package/dist/es5/lib/mesh/mesh-utils.js.map +0 -1
  86. package/dist/es5/lib/table/arrow/arrow-type-utils.js +0 -30
  87. package/dist/es5/lib/table/arrow/arrow-type-utils.js.map +0 -1
  88. package/dist/es5/lib/table/arrow/convert-schema-arrow.js +0 -179
  89. package/dist/es5/lib/table/arrow/convert-schema-arrow.js.map +0 -1
  90. package/dist/es5/lib/table/arrow/convert-table-to-arrow.js +0 -2
  91. package/dist/es5/lib/table/arrow/convert-table-to-arrow.js.map +0 -1
  92. package/dist/es5/lib/table/arrow-api/arrow-like-field.js +0 -49
  93. package/dist/es5/lib/table/arrow-api/arrow-like-field.js.map +0 -1
  94. package/dist/es5/lib/table/arrow-api/arrow-like-schema.js +0 -118
  95. package/dist/es5/lib/table/arrow-api/arrow-like-schema.js.map +0 -1
  96. package/dist/es5/lib/table/arrow-api/arrow-like-table.js +0 -81
  97. package/dist/es5/lib/table/arrow-api/arrow-like-table.js.map +0 -1
  98. package/dist/es5/lib/table/arrow-api/arrow-like-type.js +0 -740
  99. package/dist/es5/lib/table/arrow-api/arrow-like-type.js.map +0 -1
  100. package/dist/es5/lib/table/arrow-api/enum.js +0 -55
  101. package/dist/es5/lib/table/arrow-api/enum.js.map +0 -1
  102. package/dist/es5/lib/table/arrow-api/get-type-info.js +0 -27
  103. package/dist/es5/lib/table/arrow-api/get-type-info.js.map +0 -1
  104. package/dist/es5/lib/table/arrow-api/index.js +0 -44
  105. package/dist/es5/lib/table/arrow-api/index.js.map +0 -1
  106. package/dist/es5/lib/table/batches/base-table-batch-aggregator.js +0 -78
  107. package/dist/es5/lib/table/batches/base-table-batch-aggregator.js.map +0 -1
  108. package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js +0 -106
  109. package/dist/es5/lib/table/batches/columnar-table-batch-aggregator.js.map +0 -1
  110. package/dist/es5/lib/table/batches/row-table-batch-aggregator.js +0 -96
  111. package/dist/es5/lib/table/batches/row-table-batch-aggregator.js.map +0 -1
  112. package/dist/es5/lib/table/batches/table-batch-aggregator.js +0 -2
  113. package/dist/es5/lib/table/batches/table-batch-aggregator.js.map +0 -1
  114. package/dist/es5/lib/table/batches/table-batch-builder.js +0 -173
  115. package/dist/es5/lib/table/batches/table-batch-builder.js.map +0 -1
  116. package/dist/es5/lib/table/simple-table/convert-table.js +0 -106
  117. package/dist/es5/lib/table/simple-table/convert-table.js.map +0 -1
  118. package/dist/es5/lib/table/simple-table/data-type.js +0 -94
  119. package/dist/es5/lib/table/simple-table/data-type.js.map +0 -1
  120. package/dist/es5/lib/table/simple-table/make-table.js +0 -60
  121. package/dist/es5/lib/table/simple-table/make-table.js.map +0 -1
  122. package/dist/es5/lib/table/simple-table/row-utils.js +0 -34
  123. package/dist/es5/lib/table/simple-table/row-utils.js.map +0 -1
  124. package/dist/es5/lib/table/simple-table/table-accessors.js +0 -370
  125. package/dist/es5/lib/table/simple-table/table-accessors.js.map +0 -1
  126. package/dist/es5/lib/table/simple-table/table-column.js +0 -12
  127. package/dist/es5/lib/table/simple-table/table-column.js.map +0 -1
  128. package/dist/es5/lib/table/simple-table/table-schema.js +0 -85
  129. package/dist/es5/lib/table/simple-table/table-schema.js.map +0 -1
  130. package/dist/es5/lib/utils/assert.js +0 -12
  131. package/dist/es5/lib/utils/assert.js.map +0 -1
  132. package/dist/es5/lib/utils/async-queue.js +0 -169
  133. package/dist/es5/lib/utils/async-queue.js.map +0 -1
  134. package/dist/es5/types/batch.js +0 -2
  135. package/dist/es5/types/batch.js.map +0 -1
  136. package/dist/es5/types/binary-geometries.js +0 -2
  137. package/dist/es5/types/binary-geometries.js.map +0 -1
  138. package/dist/es5/types/category-gis.js +0 -2
  139. package/dist/es5/types/category-gis.js.map +0 -1
  140. package/dist/es5/types/category-image.js +0 -2
  141. package/dist/es5/types/category-image.js.map +0 -1
  142. package/dist/es5/types/category-mesh.js +0 -2
  143. package/dist/es5/types/category-mesh.js.map +0 -1
  144. package/dist/es5/types/category-table.js +0 -2
  145. package/dist/es5/types/category-table.js.map +0 -1
  146. package/dist/es5/types/category-texture.js +0 -2
  147. package/dist/es5/types/category-texture.js.map +0 -1
  148. package/dist/es5/types/flat-geometries.js +0 -2
  149. package/dist/es5/types/flat-geometries.js.map +0 -1
  150. package/dist/es5/types/schema.js +0 -2
  151. package/dist/es5/types/schema.js.map +0 -1
  152. package/dist/es5/types/types.js +0 -2
  153. package/dist/es5/types/types.js.map +0 -1
  154. package/dist/esm/bundle.js +0 -4
  155. package/dist/esm/bundle.js.map +0 -1
  156. package/dist/esm/index.js +0 -17
  157. package/dist/esm/index.js.map +0 -1
  158. package/dist/esm/lib/mesh/convert-mesh.js.map +0 -1
  159. package/dist/esm/lib/mesh/deduce-mesh-schema.js.map +0 -1
  160. package/dist/esm/lib/mesh/mesh-to-arrow-table.js.map +0 -1
  161. package/dist/esm/lib/mesh/mesh-utils.js.map +0 -1
  162. package/dist/esm/lib/table/arrow/arrow-type-utils.js +0 -24
  163. package/dist/esm/lib/table/arrow/arrow-type-utils.js.map +0 -1
  164. package/dist/esm/lib/table/arrow/convert-schema-arrow.js +0 -158
  165. package/dist/esm/lib/table/arrow/convert-schema-arrow.js.map +0 -1
  166. package/dist/esm/lib/table/arrow/convert-table-to-arrow.js +0 -2
  167. package/dist/esm/lib/table/arrow/convert-table-to-arrow.js.map +0 -1
  168. package/dist/esm/lib/table/arrow-api/arrow-like-field.js.map +0 -1
  169. package/dist/esm/lib/table/arrow-api/arrow-like-schema.js.map +0 -1
  170. package/dist/esm/lib/table/arrow-api/arrow-like-table.js.map +0 -1
  171. package/dist/esm/lib/table/arrow-api/arrow-like-type.js.map +0 -1
  172. package/dist/esm/lib/table/arrow-api/enum.js.map +0 -1
  173. package/dist/esm/lib/table/arrow-api/get-type-info.js.map +0 -1
  174. package/dist/esm/lib/table/arrow-api/index.js +0 -5
  175. package/dist/esm/lib/table/arrow-api/index.js.map +0 -1
  176. package/dist/esm/lib/table/batches/base-table-batch-aggregator.js.map +0 -1
  177. package/dist/esm/lib/table/batches/columnar-table-batch-aggregator.js.map +0 -1
  178. package/dist/esm/lib/table/batches/row-table-batch-aggregator.js.map +0 -1
  179. package/dist/esm/lib/table/batches/table-batch-aggregator.js.map +0 -1
  180. package/dist/esm/lib/table/batches/table-batch-builder.js.map +0 -1
  181. package/dist/esm/lib/table/simple-table/convert-table.js.map +0 -1
  182. package/dist/esm/lib/table/simple-table/data-type.js.map +0 -1
  183. package/dist/esm/lib/table/simple-table/make-table.js.map +0 -1
  184. package/dist/esm/lib/table/simple-table/row-utils.js.map +0 -1
  185. package/dist/esm/lib/table/simple-table/table-accessors.js.map +0 -1
  186. package/dist/esm/lib/table/simple-table/table-column.js.map +0 -1
  187. package/dist/esm/lib/table/simple-table/table-schema.js.map +0 -1
  188. package/dist/esm/lib/utils/assert.js.map +0 -1
  189. package/dist/esm/lib/utils/async-queue.js.map +0 -1
  190. package/dist/esm/types/batch.js.map +0 -1
  191. package/dist/esm/types/binary-geometries.js.map +0 -1
  192. package/dist/esm/types/category-gis.js.map +0 -1
  193. package/dist/esm/types/category-image.js.map +0 -1
  194. package/dist/esm/types/category-mesh.js.map +0 -1
  195. package/dist/esm/types/category-table.js.map +0 -1
  196. package/dist/esm/types/category-texture.js.map +0 -1
  197. package/dist/esm/types/flat-geometries.js.map +0 -1
  198. package/dist/esm/types/schema.js.map +0 -1
  199. package/dist/esm/types/types.js.map +0 -1
  200. package/dist/lib/table/arrow/arrow-type-utils.d.ts +0 -4
  201. package/dist/lib/table/arrow/arrow-type-utils.d.ts.map +0 -1
  202. package/dist/lib/table/arrow/convert-schema-arrow.d.ts +0 -13
  203. package/dist/lib/table/arrow/convert-schema-arrow.d.ts.map +0 -1
  204. package/dist/lib/table/arrow/convert-table-to-arrow.d.ts +0 -42
  205. package/dist/lib/table/arrow/convert-table-to-arrow.d.ts.map +0 -1
  206. package/src/bundle.ts +0 -4
  207. package/src/lib/table/arrow/arrow-type-utils.ts +0 -71
  208. package/src/lib/table/arrow/convert-schema-arrow.ts +0 -232
  209. package/src/lib/table/arrow/convert-table-to-arrow.ts +0 -59
  210. /package/dist/{esm/lib → lib}/mesh/mesh-to-arrow-table.js +0 -0
  211. /package/dist/{esm/lib → lib}/mesh/mesh-utils.js +0 -0
  212. /package/dist/{esm/lib → lib}/table/arrow-api/enum.js +0 -0
  213. /package/dist/{esm/lib → lib}/table/batches/table-batch-aggregator.js +0 -0
  214. /package/dist/{esm/lib → lib}/table/simple-table/data-type.js +0 -0
  215. /package/dist/{esm/lib → lib}/table/simple-table/row-utils.js +0 -0
  216. /package/dist/{esm/lib → lib}/utils/assert.js +0 -0
  217. /package/dist/{esm/types → types}/batch.js +0 -0
  218. /package/dist/{esm/types → types}/binary-geometries.js +0 -0
  219. /package/dist/{esm/types → types}/category-gis.js +0 -0
  220. /package/dist/{esm/types → types}/category-image.js +0 -0
  221. /package/dist/{esm/types → types}/category-mesh.js +0 -0
  222. /package/dist/{esm/types → types}/category-table.js +0 -0
  223. /package/dist/{esm/types → types}/category-texture.js +0 -0
  224. /package/dist/{esm/types → types}/flat-geometries.js +0 -0
  225. /package/dist/{esm/types → types}/schema.js +0 -0
  226. /package/dist/{esm/types → types}/types.js +0 -0
package/dist/index.d.ts CHANGED
@@ -26,6 +26,5 @@ export type { BinaryGeometryType, BinaryGeometry, BinaryPointGeometry, BinaryLin
26
26
  export type { BinaryFeatureCollection, BinaryFeature, BinaryPointFeature, BinaryLineFeature, BinaryPolygonFeature } from './types/category-gis';
27
27
  export { Schema as ArrowLikeSchema, Field as ArrowLikeField, DataType as ArrowLikeDataType, Null, Binary, Bool, Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64, Float, Float16, Float32, Float64, Utf8, Date, DateDay, DateMillisecond, Time, TimeMillisecond, TimeSecond, Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond, Interval, IntervalDayTime, IntervalYearMonth, FixedSizeList, Struct } from './lib/table/arrow-api';
28
28
  export { getTypeInfo } from './lib/table/arrow-api/get-type-info';
29
- export { getArrowType } from './lib/table/arrow/arrow-type-utils';
30
29
  export { default as AsyncQueue } from './lib/utils/async-queue';
31
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,SAAS,EACT,QAAQ,EACT,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE3F,YAAY,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AAGzC,YAAY,EACV,KAAK,EACL,QAAQ,EACR,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAC,4BAA4B,EAAC,MAAM,qDAAqD,CAAC;AAEjG,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAC,cAAc,EAAC,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AAGxE,YAAY,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,YAAY,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAG7E,YAAY,EAAC,aAAa,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAIpF,YAAY,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,OAAO,EACP,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAG9D,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,MAAM,IAAI,eAAe,EACzB,KAAK,IAAI,cAAc,EACvB,QAAQ,IAAI,iBAAiB,EAC7B,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,eAAe,EACf,IAAI,EACJ,eAAe,EACf,UAAU,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,MAAM,EACP,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAC,WAAW,EAAC,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ export { TableBatchBuilder } from "./lib/table/batches/table-batch-builder.js";
2
+ export { RowTableBatchAggregator } from "./lib/table/batches/row-table-batch-aggregator.js";
3
+ export { ColumnarTableBatchAggregator } from "./lib/table/batches/columnar-table-batch-aggregator.js";
4
+ export { getTableLength, getTableNumCols, getTableCell, getTableRowShape, getTableColumnIndex, getTableColumnName, getTableRowAsObject, getTableRowAsArray, makeRowIterator, makeArrayRowIterator, makeObjectRowIterator } from "./lib/table/simple-table/table-accessors.js";
5
+ export { ArrowLikeTable } from "./lib/table/arrow-api/arrow-like-table.js";
6
+ export { makeTableFromData } from "./lib/table/simple-table/make-table.js";
7
+ export { convertTable } from "./lib/table/simple-table/convert-table.js";
8
+ export { deduceTableSchema } from "./lib/table/simple-table/table-schema.js";
9
+ export { convertToObjectRow, convertToArrayRow } from "./lib/table/simple-table/row-utils.js";
10
+ export { getDataTypeFromArray } from "./lib/table/simple-table/data-type.js";
11
+ export { getMeshSize, getMeshBoundingBox } from "./lib/mesh/mesh-utils.js";
12
+ export { deduceMeshSchema, deduceMeshField, makeMeshAttributeMetadata } from "./lib/mesh/deduce-mesh-schema.js";
13
+ export { Schema as ArrowLikeSchema, Field as ArrowLikeField, DataType as ArrowLikeDataType, Null, Binary, Bool, Int, Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32, Uint64, Float, Float16, Float32, Float64, Utf8, Date, DateDay, DateMillisecond, Time, TimeMillisecond, TimeSecond, Timestamp, TimestampSecond, TimestampMillisecond, TimestampMicrosecond, TimestampNanosecond, Interval, IntervalDayTime, IntervalYearMonth, FixedSizeList, Struct } from "./lib/table/arrow-api/index.js";
14
+ export { getTypeInfo } from "./lib/table/arrow-api/get-type-info.js";
15
+ export { default as AsyncQueue } from "./lib/utils/async-queue.js";
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["TableBatchBuilder","RowTableBatchAggregator","ColumnarTableBatchAggregator","getTableLength","getTableNumCols","getTableCell","getTableRowShape","getTableColumnIndex","getTableColumnName","getTableRowAsObject","getTableRowAsArray","makeRowIterator","makeArrayRowIterator","makeObjectRowIterator","ArrowLikeTable","makeTableFromData","convertTable","deduceTableSchema","convertToObjectRow","convertToArrayRow","getDataTypeFromArray","getMeshSize","getMeshBoundingBox","deduceMeshSchema","deduceMeshField","makeMeshAttributeMetadata","Schema","ArrowLikeSchema","Field","ArrowLikeField","DataType","ArrowLikeDataType","Null","Binary","Bool","Int","Int8","Int16","Int32","Int64","Uint8","Uint16","Uint32","Uint64","Float","Float16","Float32","Float64","Utf8","Date","DateDay","DateMillisecond","Time","TimeMillisecond","TimeSecond","Timestamp","TimestampSecond","TimestampMillisecond","TimestampMicrosecond","TimestampNanosecond","Interval","IntervalDayTime","IntervalYearMonth","FixedSizeList","Struct","getTypeInfo","default","AsyncQueue"],"sources":["../src/index.ts"],"sourcesContent":["// COMMON CATEGORY\nexport type {\n TypedArray,\n BigTypedArray,\n TypedArrayConstructor,\n BigTypedArrayConstructor,\n NumberArray,\n ArrayType,\n AnyArray\n} from './types/types';\n\nexport type {Schema, Field, DataType, SchemaMetadata, FieldMetadata} from './types/schema';\n\nexport type {Batch} from './types/batch';\n\n// TABLE CATEGORY TYPES\nexport type {\n Table,\n RowTable,\n ArrayRowTable,\n ObjectRowTable,\n GeoJSONTable,\n ColumnarTable,\n ArrowTable,\n Tables\n} from './types/category-table';\nexport type {\n TableBatch,\n ArrayRowTableBatch,\n ObjectRowTableBatch,\n GeoJSONTableBatch,\n ColumnarTableBatch,\n ArrowTableBatch\n} from './types/category-table';\n\n// TABLE CATEGORY UTILS\nexport {TableBatchBuilder} from './lib/table/batches/table-batch-builder';\nexport type {TableBatchAggregator} from './lib/table/batches/table-batch-aggregator';\nexport {RowTableBatchAggregator} from './lib/table/batches/row-table-batch-aggregator';\nexport {ColumnarTableBatchAggregator} from './lib/table/batches/columnar-table-batch-aggregator';\n\nexport {\n getTableLength,\n getTableNumCols,\n getTableCell,\n getTableRowShape,\n getTableColumnIndex,\n getTableColumnName,\n getTableRowAsObject,\n getTableRowAsArray,\n makeRowIterator,\n makeArrayRowIterator,\n makeObjectRowIterator\n} from './lib/table/simple-table/table-accessors';\n\nexport {ArrowLikeTable} from './lib/table/arrow-api/arrow-like-table';\n\nexport {makeTableFromData} from './lib/table/simple-table/make-table';\nexport {convertTable} from './lib/table/simple-table/convert-table';\nexport {deduceTableSchema} from './lib/table/simple-table/table-schema';\nexport {convertToObjectRow, convertToArrayRow} from './lib/table/simple-table/row-utils';\nexport {getDataTypeFromArray} from './lib/table/simple-table/data-type';\n\n// MESH CATEGORY\nexport type {\n MeshTable,\n MeshArrowTable,\n Mesh,\n MeshGeometry,\n MeshAttribute,\n MeshAttributes\n} from './types/category-mesh';\n\nexport {getMeshSize, getMeshBoundingBox} from './lib/mesh/mesh-utils';\n// Commented out due to https://github.com/visgl/deck.gl/issues/6906 and https://github.com/visgl/loaders.gl/issues/2177\n// export {convertMesh} from './category/mesh/convert-mesh';\nexport {\n deduceMeshSchema,\n deduceMeshField,\n makeMeshAttributeMetadata\n} from './lib/mesh/deduce-mesh-schema';\n\n// TEXTURES\nexport type {TextureLevel, GPUTextureFormat} from './types/category-texture';\n\n// IMAGES\nexport type {ImageDataType, ImageType, ImageTypeEnum} from './types/category-image';\n\n// TYPES\n// GIS CATEGORY - GEOJSON\nexport type {\n GeoJSON,\n Feature,\n FeatureCollection,\n Geometry,\n Position,\n GeoJsonProperties,\n Point,\n MultiPoint,\n LineString,\n MultiLineString,\n Polygon,\n MultiPolygon,\n GeometryCollection\n} from './types/category-gis';\n\nexport type {GeojsonGeometryInfo} from './types/category-gis';\n\n// GIS CATEGORY - FLAT GEOJSON\nexport type {\n FlatFeature,\n FlatIndexedGeometry,\n FlatGeometry,\n FlatGeometryType,\n FlatPoint,\n FlatLineString,\n FlatPolygon\n} from './types/category-gis';\n\n// GIS CATEGORY - BINARY\nexport type {\n BinaryGeometryType,\n BinaryGeometry,\n BinaryPointGeometry,\n BinaryLineGeometry,\n BinaryPolygonGeometry,\n BinaryAttribute\n} from './types/category-gis';\nexport type {\n BinaryFeatureCollection,\n BinaryFeature,\n BinaryPointFeature,\n BinaryLineFeature,\n BinaryPolygonFeature\n} from './types/category-gis';\n\n// SCHEMA\nexport {\n Schema as ArrowLikeSchema,\n Field as ArrowLikeField,\n DataType as ArrowLikeDataType,\n Null,\n Binary,\n Bool,\n Int,\n Int8,\n Int16,\n Int32,\n Int64,\n Uint8,\n Uint16,\n Uint32,\n Uint64,\n Float,\n Float16,\n Float32,\n Float64,\n Utf8,\n Date,\n DateDay,\n DateMillisecond,\n Time,\n TimeMillisecond,\n TimeSecond,\n Timestamp,\n TimestampSecond,\n TimestampMillisecond,\n TimestampMicrosecond,\n TimestampNanosecond,\n Interval,\n IntervalDayTime,\n IntervalYearMonth,\n FixedSizeList,\n Struct\n} from './lib/table/arrow-api';\n\n// EXPERIMENTAL APIs\n\n// SCHEMA UTILS\nexport {getTypeInfo} from './lib/table/arrow-api/get-type-info';\n\nexport {default as AsyncQueue} from './lib/utils/async-queue';\n"],"mappings":"SAoCQA,iBAAiB;AAAA,SAEjBC,uBAAuB;AAAA,SACvBC,4BAA4B;AAAA,SAGlCC,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,gBAAgB,EAChBC,mBAAmB,EACnBC,kBAAkB,EAClBC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,oBAAoB,EACpBC,qBAAqB;AAAA,SAGfC,cAAc;AAAA,SAEdC,iBAAiB;AAAA,SACjBC,YAAY;AAAA,SACZC,iBAAiB;AAAA,SACjBC,kBAAkB,EAAEC,iBAAiB;AAAA,SACrCC,oBAAoB;AAAA,SAYpBC,WAAW,EAAEC,kBAAkB;AAAA,SAIrCC,gBAAgB,EAChBC,eAAe,EACfC,yBAAyB;AAAA,SA2DzBC,MAAM,IAAIC,eAAe,EACzBC,KAAK,IAAIC,cAAc,EACvBC,QAAQ,IAAIC,iBAAiB,EAC7BC,IAAI,EACJC,MAAM,EACNC,IAAI,EACJC,GAAG,EACHC,IAAI,EACJC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,OAAO,EACPC,OAAO,EACPC,IAAI,EACJC,IAAI,EACJC,OAAO,EACPC,eAAe,EACfC,IAAI,EACJC,eAAe,EACfC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,EACnBC,QAAQ,EACRC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,EACbC,MAAM;AAAA,SAMAC,WAAW;AAAA,SAEXC,OAAO,IAAIC,UAAU"}
@@ -5,7 +5,7 @@ export function convertMesh(mesh, shape, options) {
5
5
  case 'columnar-table':
6
6
  return convertMeshToColumnarTable(mesh);
7
7
  default:
8
- throw new Error("Unsupported shape ".concat(options === null || options === void 0 ? void 0 : options.shape));
8
+ throw new Error(`Unsupported shape ${options === null || options === void 0 ? void 0 : options.shape}`);
9
9
  }
10
10
  }
11
11
  export function convertMeshToColumnarTable(mesh) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-mesh.js","names":["convertMesh","mesh","shape","options","convertMeshToColumnarTable","Error","columns","columnName","attribute","Object","entries","attributes","value","schema","data"],"sources":["../../../src/lib/mesh/convert-mesh.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Mesh} from '../../types/category-mesh';\nimport type {ColumnarTable, ArrowTable} from '../../types/category-table';\n// import {convertMeshToArrowTable} from './mesh-to-arrow-table';\n\ntype TargetShape = 'mesh' | 'columnar-table' | 'arrow-table';\n\n/**\n * Convert a mesh to a specific shape\n */\nexport function convertMesh(\n mesh: Mesh,\n shape: TargetShape,\n options?: any\n): Mesh | ColumnarTable | ArrowTable {\n switch (shape || 'mesh') {\n case 'mesh':\n return mesh;\n case 'columnar-table':\n return convertMeshToColumnarTable(mesh);\n // case 'arrow-table':\n // return {\n // shape: 'arrow-table',\n // data: convertMeshToArrowTable(mesh)\n // };\n default:\n throw new Error(`Unsupported shape ${options?.shape}`);\n }\n}\n\n/**\n * Convert a loaders.gl Mesh to a Columnar Table\n * @param mesh\n * @returns\n */\nexport function convertMeshToColumnarTable(mesh: Mesh): ColumnarTable {\n const columns = {};\n\n for (const [columnName, attribute] of Object.entries(mesh.attributes)) {\n columns[columnName] = attribute.value;\n }\n\n return {\n shape: 'columnar-table',\n schema: mesh.schema,\n data: columns\n };\n}\n"],"mappings":"AAWA,OAAO,SAASA,WAAWA,CACzBC,IAAU,EACVC,KAAkB,EAClBC,OAAa,EACsB;EACnC,QAAQD,KAAK,IAAI,MAAM;IACrB,KAAK,MAAM;MACT,OAAOD,IAAI;IACb,KAAK,gBAAgB;MACnB,OAAOG,0BAA0B,CAACH,IAAI,CAAC;IAMzC;MACE,MAAM,IAAII,KAAK,CAAE,qBAAoBF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAED,KAAM,EAAC,CAAC;EAC1D;AACF;AAOA,OAAO,SAASE,0BAA0BA,CAACH,IAAU,EAAiB;EACpE,MAAMK,OAAO,GAAG,CAAC,CAAC;EAElB,KAAK,MAAM,CAACC,UAAU,EAAEC,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACT,IAAI,CAACU,UAAU,CAAC,EAAE;IACrEL,OAAO,CAACC,UAAU,CAAC,GAAGC,SAAS,CAACI,KAAK;EACvC;EAEA,OAAO;IACLV,KAAK,EAAE,gBAAgB;IACvBW,MAAM,EAAEZ,IAAI,CAACY,MAAM;IACnBC,IAAI,EAAER;EACR,CAAC;AACH"}
@@ -1,4 +1,4 @@
1
- import { getDataTypeFromTypedArray } from '../table/simple-table/data-type';
1
+ import { getDataTypeFromTypedArray } from "../table/simple-table/data-type.js";
2
2
  export function deduceMeshSchema(attributes) {
3
3
  let metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4
4
  const fields = deduceMeshFields(attributes);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduce-mesh-schema.js","names":["getDataTypeFromTypedArray","deduceMeshSchema","attributes","metadata","arguments","length","undefined","fields","deduceMeshFields","deduceMeshField","name","attribute","optionalMetadata","type","value","makeMeshAttributeMetadata","listSize","size","children","nullable","attributeName","push","result","byteOffset","toString","byteStride","normalized"],"sources":["../../../src/lib/mesh/deduce-mesh-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {MeshAttribute, MeshAttributes} from '../../types/category-mesh';\nimport {Schema, Field} from '../../types/schema';\nimport {getDataTypeFromTypedArray} from '../table/simple-table/data-type';\n\n/**\n * Create a schema for mesh attributes data\n * @param attributes\n * @param metadata\n * @returns\n */\nexport function deduceMeshSchema(\n attributes: MeshAttributes,\n metadata: Record<string, string> = {}\n): Schema {\n const fields = deduceMeshFields(attributes);\n return {fields, metadata};\n}\n\n/**\n * Create arrow-like schema field for mesh attribute\n * @param attributeName\n * @param attribute\n * @param optionalMetadata\n * @returns\n */\nexport function deduceMeshField(\n name: string,\n attribute: MeshAttribute,\n optionalMetadata?: Record<string, string>\n): Field {\n const type = getDataTypeFromTypedArray(attribute.value);\n const metadata = optionalMetadata ? optionalMetadata : makeMeshAttributeMetadata(attribute);\n return {\n name,\n type: {type: 'fixed-size-list', listSize: attribute.size, children: [{name: 'value', type}]},\n nullable: false,\n metadata\n };\n}\n\n/**\n * Create fields array for mesh attributes\n * @param attributes\n * @returns\n */\nfunction deduceMeshFields(attributes: MeshAttributes): Field[] {\n const fields: Field[] = [];\n for (const attributeName in attributes) {\n const attribute: MeshAttribute = attributes[attributeName];\n fields.push(deduceMeshField(attributeName, attribute));\n }\n return fields;\n}\n\n/**\n * Make metadata by mesh attribute properties\n * @param attribute\n * @returns\n */\nexport function makeMeshAttributeMetadata(attribute: MeshAttribute): Record<string, string> {\n const result: Record<string, string> = {};\n if ('byteOffset' in attribute) {\n result.byteOffset = attribute.byteOffset!.toString(10);\n }\n if ('byteStride' in attribute) {\n result.byteStride = attribute.byteStride!.toString(10);\n }\n if ('normalized' in attribute) {\n result.normalized = attribute.normalized!.toString();\n }\n return result;\n}\n"],"mappings":"SAIQA,yBAAyB;AAQjC,OAAO,SAASC,gBAAgBA,CAC9BC,UAA0B,EAElB;EAAA,IADRC,QAAgC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAErC,MAAMG,MAAM,GAAGC,gBAAgB,CAACN,UAAU,CAAC;EAC3C,OAAO;IAACK,MAAM;IAAEJ;EAAQ,CAAC;AAC3B;AASA,OAAO,SAASM,eAAeA,CAC7BC,IAAY,EACZC,SAAwB,EACxBC,gBAAyC,EAClC;EACP,MAAMC,IAAI,GAAGb,yBAAyB,CAACW,SAAS,CAACG,KAAK,CAAC;EACvD,MAAMX,QAAQ,GAAGS,gBAAgB,GAAGA,gBAAgB,GAAGG,yBAAyB,CAACJ,SAAS,CAAC;EAC3F,OAAO;IACLD,IAAI;IACJG,IAAI,EAAE;MAACA,IAAI,EAAE,iBAAiB;MAAEG,QAAQ,EAAEL,SAAS,CAACM,IAAI;MAAEC,QAAQ,EAAE,CAAC;QAACR,IAAI,EAAE,OAAO;QAAEG;MAAI,CAAC;IAAC,CAAC;IAC5FM,QAAQ,EAAE,KAAK;IACfhB;EACF,CAAC;AACH;AAOA,SAASK,gBAAgBA,CAACN,UAA0B,EAAW;EAC7D,MAAMK,MAAe,GAAG,EAAE;EAC1B,KAAK,MAAMa,aAAa,IAAIlB,UAAU,EAAE;IACtC,MAAMS,SAAwB,GAAGT,UAAU,CAACkB,aAAa,CAAC;IAC1Db,MAAM,CAACc,IAAI,CAACZ,eAAe,CAACW,aAAa,EAAET,SAAS,CAAC,CAAC;EACxD;EACA,OAAOJ,MAAM;AACf;AAOA,OAAO,SAASQ,yBAAyBA,CAACJ,SAAwB,EAA0B;EAC1F,MAAMW,MAA8B,GAAG,CAAC,CAAC;EACzC,IAAI,YAAY,IAAIX,SAAS,EAAE;IAC7BW,MAAM,CAACC,UAAU,GAAGZ,SAAS,CAACY,UAAU,CAAEC,QAAQ,CAAC,EAAE,CAAC;EACxD;EACA,IAAI,YAAY,IAAIb,SAAS,EAAE;IAC7BW,MAAM,CAACG,UAAU,GAAGd,SAAS,CAACc,UAAU,CAAED,QAAQ,CAAC,EAAE,CAAC;EACxD;EACA,IAAI,YAAY,IAAIb,SAAS,EAAE;IAC7BW,MAAM,CAACI,UAAU,GAAGf,SAAS,CAACe,UAAU,CAAEF,QAAQ,CAAC,CAAC;EACtD;EACA,OAAOF,MAAM;AACf"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-to-arrow-table.js","names":[],"sources":["../../../src/lib/mesh/mesh-to-arrow-table.ts"],"sourcesContent":["/* Problem with arrow dependency...\nimport {\n Table,\n Schema,\n RecordBatch,\n FixedSizeList,\n Field,\n Data,\n FixedSizeListVector\n} from 'apache-arrow';\nimport {AbstractVector} from 'apache-arrow/vector';\nimport {getArrowType, getArrowVector} from '../table/arrow/arrow-type-utils';\nimport type {Mesh} from './mesh-types';\nimport {makeMeshAttributeMetadata} from './deduce-mesh-schema';\n\n/**\n * * Convert a loaders.gl Mesh to an Apache Arrow Table\n * @param mesh\n * @param metadata\n * @param batchSize\n * @returns\n *\nexport function convertMeshToArrowTable(mesh: Mesh, batchSize?: number): Table {\n const vectors: AbstractVector[] = [];\n const fields: Field[] = [];\n for (const attributeKey in mesh.attributes) {\n const attribute = mesh.attributes[attributeKey];\n const {value, size = 1} = attribute;\n const type = getArrowType(value);\n const vector = getArrowVector(value);\n const listType = new FixedSizeList(size, new Field('value', type));\n const field = new Field(attributeKey, listType, false, makeMeshAttributeMetadata(attribute));\n const data = new Data(listType, 0, value.length / size, 0, undefined, [vector]);\n const listVector = new FixedSizeListVector(data);\n vectors.push(listVector);\n fields.push(field);\n }\n const schema = new Schema(fields, mesh?.schema?.metadata || new Map<string, string>());\n const recordBatch = new RecordBatch(schema, vectors[0].length, vectors);\n const table = new Table(schema, recordBatch);\n return table;\n}\n*/\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-utils.js","names":["getMeshSize","attributes","size","attributeName","attribute","ArrayBuffer","isView","byteLength","BYTES_PER_ELEMENT","getMeshBoundingBox","minX","Infinity","minY","minZ","maxX","maxY","maxZ","positions","POSITION","value","len","length","i","x","y","z"],"sources":["../../../src/lib/mesh/mesh-utils.ts"],"sourcesContent":["// Mesh category utilities\n// TODO - move to mesh category module, or to math.gl/geometry module\nimport {TypedArray} from '../../types/types';\nimport {MeshAttributes} from '../../types/category-mesh';\n\ntype TypedArrays = {[key: string]: TypedArray};\n\n/**\n * Holds an axis aligned bounding box\n * TODO - make sure AxisAlignedBoundingBox in math.gl/culling understands this format (or change this format)\n */\ntype BoundingBox = [[number, number, number], [number, number, number]];\n\n/**\n * Get number of vertices in mesh\n * @param attributes\n */\nexport function getMeshSize(attributes: TypedArrays): number {\n let size = 0;\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName];\n if (ArrayBuffer.isView(attribute)) {\n // @ts-ignore DataView doesn't have BYTES_PER_ELEMENT\n size += attribute.byteLength * attribute.BYTES_PER_ELEMENT;\n }\n }\n return size;\n}\n\n/**\n * Get the (axis aligned) bounding box of a mesh\n * @param attributes\n * @returns array of two vectors representing the axis aligned bounding box\n */\n// eslint-disable-next-line complexity\nexport function getMeshBoundingBox(attributes: MeshAttributes): BoundingBox {\n let minX = Infinity;\n let minY = Infinity;\n let minZ = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n let maxZ = -Infinity;\n\n const positions = attributes.POSITION ? attributes.POSITION.value : [];\n const len = positions && positions.length;\n\n for (let i = 0; i < len; i += 3) {\n const x = positions[i];\n const y = positions[i + 1];\n const z = positions[i + 2];\n\n minX = x < minX ? x : minX;\n minY = y < minY ? y : minY;\n minZ = z < minZ ? z : minZ;\n\n maxX = x > maxX ? x : maxX;\n maxY = y > maxY ? y : maxY;\n maxZ = z > maxZ ? z : maxZ;\n }\n return [\n [minX, minY, minZ],\n [maxX, maxY, maxZ]\n ];\n}\n"],"mappings":"AAiBA,OAAO,SAASA,WAAWA,CAACC,UAAuB,EAAU;EAC3D,IAAIC,IAAI,GAAG,CAAC;EACZ,KAAK,MAAMC,aAAa,IAAIF,UAAU,EAAE;IACtC,MAAMG,SAAS,GAAGH,UAAU,CAACE,aAAa,CAAC;IAC3C,IAAIE,WAAW,CAACC,MAAM,CAACF,SAAS,CAAC,EAAE;MAEjCF,IAAI,IAAIE,SAAS,CAACG,UAAU,GAAGH,SAAS,CAACI,iBAAiB;IAC5D;EACF;EACA,OAAON,IAAI;AACb;AAQA,OAAO,SAASO,kBAAkBA,CAACR,UAA0B,EAAe;EAC1E,IAAIS,IAAI,GAAGC,QAAQ;EACnB,IAAIC,IAAI,GAAGD,QAAQ;EACnB,IAAIE,IAAI,GAAGF,QAAQ;EACnB,IAAIG,IAAI,GAAG,CAACH,QAAQ;EACpB,IAAII,IAAI,GAAG,CAACJ,QAAQ;EACpB,IAAIK,IAAI,GAAG,CAACL,QAAQ;EAEpB,MAAMM,SAAS,GAAGhB,UAAU,CAACiB,QAAQ,GAAGjB,UAAU,CAACiB,QAAQ,CAACC,KAAK,GAAG,EAAE;EACtE,MAAMC,GAAG,GAAGH,SAAS,IAAIA,SAAS,CAACI,MAAM;EAEzC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,EAAEE,CAAC,IAAI,CAAC,EAAE;IAC/B,MAAMC,CAAC,GAAGN,SAAS,CAACK,CAAC,CAAC;IACtB,MAAME,CAAC,GAAGP,SAAS,CAACK,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAMG,CAAC,GAAGR,SAAS,CAACK,CAAC,GAAG,CAAC,CAAC;IAE1BZ,IAAI,GAAGa,CAAC,GAAGb,IAAI,GAAGa,CAAC,GAAGb,IAAI;IAC1BE,IAAI,GAAGY,CAAC,GAAGZ,IAAI,GAAGY,CAAC,GAAGZ,IAAI;IAC1BC,IAAI,GAAGY,CAAC,GAAGZ,IAAI,GAAGY,CAAC,GAAGZ,IAAI;IAE1BC,IAAI,GAAGS,CAAC,GAAGT,IAAI,GAAGS,CAAC,GAAGT,IAAI;IAC1BC,IAAI,GAAGS,CAAC,GAAGT,IAAI,GAAGS,CAAC,GAAGT,IAAI;IAC1BC,IAAI,GAAGS,CAAC,GAAGT,IAAI,GAAGS,CAAC,GAAGT,IAAI;EAC5B;EACA,OAAO,CACL,CAACN,IAAI,EAAEE,IAAI,EAAEC,IAAI,CAAC,EAClB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC,CACnB;AACH"}
@@ -1,12 +1,11 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  export class ArrowLikeField {
3
2
  constructor(name, type) {
4
3
  let nullable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
5
4
  let metadata = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Map();
6
- _defineProperty(this, "name", void 0);
7
- _defineProperty(this, "type", void 0);
8
- _defineProperty(this, "nullable", void 0);
9
- _defineProperty(this, "metadata", void 0);
5
+ this.name = void 0;
6
+ this.type = void 0;
7
+ this.nullable = void 0;
8
+ this.metadata = void 0;
10
9
  this.name = name;
11
10
  this.type = type;
12
11
  this.nullable = nullable;
@@ -22,7 +21,7 @@ export class ArrowLikeField {
22
21
  return this.name === other.name && this.type === other.type && this.nullable === other.nullable && this.metadata === other.metadata;
23
22
  }
24
23
  toString() {
25
- return "".concat(this.type).concat(this.nullable ? ', nullable' : '').concat(this.metadata ? ", metadata: ".concat(this.metadata) : '');
24
+ return `${this.type}${this.nullable ? ', nullable' : ''}${this.metadata ? `, metadata: ${this.metadata}` : ''}`;
26
25
  }
27
26
  }
28
27
  //# sourceMappingURL=arrow-like-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-like-field.js","names":["ArrowLikeField","constructor","name","type","nullable","arguments","length","undefined","metadata","Map","typeId","clone","compareTo","other","toString"],"sources":["../../../../src/lib/table/arrow-api/arrow-like-field.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {DataType} from './arrow-like-type';\n\n/**\n * ArrowJS `Field` API-compatible class for row-based tables\n * https://loaders.gl/arrowjs/docs/api-reference/field\n * A field holds name, nullable, and metadata information about a table \"column\"\n * A Schema is essentially a list of fields\n */\nexport class ArrowLikeField {\n name: string;\n type: DataType;\n nullable: boolean;\n metadata: Map<string, string>;\n\n constructor(\n name: string,\n type: DataType,\n nullable = false,\n metadata: Map<string, string> = new Map()\n ) {\n this.name = name;\n this.type = type;\n this.nullable = nullable;\n this.metadata = metadata;\n }\n\n get typeId(): number {\n return this.type && this.type.typeId;\n }\n\n clone(): ArrowLikeField {\n return new ArrowLikeField(this.name, this.type, this.nullable, this.metadata);\n }\n\n compareTo(other: this): boolean {\n return (\n this.name === other.name &&\n this.type === other.type &&\n this.nullable === other.nullable &&\n this.metadata === other.metadata\n );\n }\n\n toString(): string {\n return `${this.type}${this.nullable ? ', nullable' : ''}${\n this.metadata ? `, metadata: ${this.metadata}` : ''\n }`;\n }\n}\n"],"mappings":"AAUA,OAAO,MAAMA,cAAc,CAAC;EAM1BC,WAAWA,CACTC,IAAY,EACZC,IAAc,EAGd;IAAA,IAFAC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAAA,IAChBG,QAA6B,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAII,GAAG,CAAC,CAAC;IAAA,KAT3CP,IAAI;IAAA,KACJC,IAAI;IAAA,KACJC,QAAQ;IAAA,KACRI,QAAQ;IAQN,IAAI,CAACN,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACI,QAAQ,GAAGA,QAAQ;EAC1B;EAEA,IAAIE,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACP,IAAI,IAAI,IAAI,CAACA,IAAI,CAACO,MAAM;EACtC;EAEAC,KAAKA,CAAA,EAAmB;IACtB,OAAO,IAAIX,cAAc,CAAC,IAAI,CAACE,IAAI,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACI,QAAQ,CAAC;EAC/E;EAEAI,SAASA,CAACC,KAAW,EAAW;IAC9B,OACE,IAAI,CAACX,IAAI,KAAKW,KAAK,CAACX,IAAI,IACxB,IAAI,CAACC,IAAI,KAAKU,KAAK,CAACV,IAAI,IACxB,IAAI,CAACC,QAAQ,KAAKS,KAAK,CAACT,QAAQ,IAChC,IAAI,CAACI,QAAQ,KAAKK,KAAK,CAACL,QAAQ;EAEpC;EAEAM,QAAQA,CAAA,EAAW;IACjB,OAAQ,GAAE,IAAI,CAACX,IAAK,GAAE,IAAI,CAACC,QAAQ,GAAG,YAAY,GAAG,EAAG,GACtD,IAAI,CAACI,QAAQ,GAAI,eAAc,IAAI,CAACA,QAAS,EAAC,GAAG,EAClD,EAAC;EACJ;AACF"}
@@ -1,10 +1,9 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { ArrowLikeField } from './arrow-like-field';
1
+ import { ArrowLikeField } from "./arrow-like-field.js";
3
2
  export class ArrowLikeSchema {
4
3
  constructor(fields) {
5
4
  let metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();
6
- _defineProperty(this, "fields", void 0);
7
- _defineProperty(this, "metadata", void 0);
5
+ this.fields = void 0;
6
+ this.metadata = void 0;
8
7
  this.fields = fields.map(field => new ArrowLikeField(field.name, field.type, field.nullable, field.metadata));
9
8
  this.metadata = metadata instanceof Map ? metadata : new Map(Object.entries(metadata));
10
9
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-like-schema.js","names":["ArrowLikeField","ArrowLikeSchema","constructor","fields","metadata","arguments","length","undefined","Map","map","field","name","type","nullable","Object","entries","compareTo","other","i","select","nameMap","create","_len","columnNames","Array","_key","selectedFields","filter","selectAt","_len2","columnIndices","_key2","index","Boolean","assign","schemaOrFields","otherArrowLikeSchema","mergeMaps","fieldMap","mergedFields","values","m1","m2"],"sources":["../../../../src/lib/table/arrow-api/arrow-like-schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {SchemaMetadata, Field} from '../../../types/schema';\nimport {ArrowLikeField} from './arrow-like-field';\n\nexport class ArrowLikeSchema {\n fields: ArrowLikeField[];\n metadata: Map<string, string>;\n\n constructor(\n fields: ArrowLikeField[] | Field[],\n metadata: SchemaMetadata | Map<string, string> = new Map<string, string>()\n ) {\n // checkNames(fields);\n // For kepler fields, create arrow compatible `Fields` that have kepler fields as `metadata`\n this.fields = fields.map(\n (field) => new ArrowLikeField(field.name, field.type, field.nullable, field.metadata)\n );\n this.metadata =\n metadata instanceof Map ? metadata : new Map<string, string>(Object.entries(metadata));\n }\n\n // TODO - arrow only seems to compare fields, not metadata\n compareTo(other: ArrowLikeSchema): boolean {\n if (this.metadata !== other.metadata) {\n return false;\n }\n if (this.fields.length !== other.fields.length) {\n return false;\n }\n for (let i = 0; i < this.fields.length; ++i) {\n if (!this.fields[i].compareTo(other.fields[i])) {\n return false;\n }\n }\n return true;\n }\n\n select(...columnNames: string[]): ArrowLikeSchema {\n // Ensure column names reference valid fields\n const nameMap = Object.create(null);\n for (const name of columnNames) {\n nameMap[name] = true;\n }\n const selectedFields = this.fields.filter((field) => nameMap[field.name]);\n return new ArrowLikeSchema(selectedFields, this.metadata);\n }\n\n selectAt(...columnIndices: number[]): ArrowLikeSchema {\n // Ensure column indices reference valid fields\n const selectedFields = columnIndices.map((index) => this.fields[index]).filter(Boolean);\n return new ArrowLikeSchema(selectedFields, this.metadata);\n }\n\n assign(schemaOrFields: ArrowLikeSchema | ArrowLikeField[]): ArrowLikeSchema {\n let fields: ArrowLikeField[];\n let metadata = this.metadata;\n\n if (schemaOrFields instanceof ArrowLikeSchema) {\n const otherArrowLikeSchema = schemaOrFields;\n fields = otherArrowLikeSchema.fields;\n metadata = mergeMaps(mergeMaps(new Map(), this.metadata), otherArrowLikeSchema.metadata);\n } else {\n fields = schemaOrFields;\n }\n\n // Create a merged list of fields, overwrite fields in place, new fields at end\n const fieldMap: {[key: string]: ArrowLikeField} = Object.create(null);\n\n for (const field of this.fields) {\n fieldMap[field.name] = field;\n }\n\n for (const field of fields) {\n fieldMap[field.name] = field;\n }\n\n const mergedFields = Object.values(fieldMap);\n\n return new ArrowLikeSchema(mergedFields, metadata);\n }\n}\n\n// Warn if any duplicated field names\n// function checkNames(fields: Field[]): void {\n// const usedNames: Record<string, boolean> = {};\n// for (const field of fields) {\n// if (usedNames[field.name]) {\n// // eslint-disable-next-line\n// console.warn('ArrowLikeSchema: duplicated field name', field.name, field);\n// }\n// usedNames[field.name] = true;\n// }\n// }\n\nfunction mergeMaps<T>(m1: T, m2: T): T {\n // @ts-ignore\n return new Map([...(m1 || new Map()), ...(m2 || new Map())]);\n}\n"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { ArrowLikeSchema } from './arrow-like-schema';
3
- import { deduceTableSchema } from '../simple-table/table-schema';
4
- import { getTableCell, getTableLength, getTableNumCols } from '../simple-table/table-accessors';
1
+ import { ArrowLikeSchema } from "./arrow-like-schema.js";
2
+ import { deduceTableSchema } from "../simple-table/table-schema.js";
3
+ import { getTableCell, getTableLength, getTableNumCols } from "../simple-table/table-accessors.js";
5
4
  class ArrowLikeVector {
6
5
  constructor(table, columnName) {
7
- _defineProperty(this, "table", void 0);
8
- _defineProperty(this, "columnName", void 0);
6
+ this.table = void 0;
7
+ this.columnName = void 0;
9
8
  this.table = table;
10
9
  this.columnName = columnName;
11
10
  }
@@ -27,8 +26,8 @@ class ArrowLikeVector {
27
26
  }
28
27
  export class ArrowLikeTable {
29
28
  constructor(table) {
30
- _defineProperty(this, "schema", void 0);
31
- _defineProperty(this, "table", void 0);
29
+ this.schema = void 0;
30
+ this.table = void 0;
32
31
  const schema = table.schema || deduceTableSchema(table);
33
32
  this.schema = new ArrowLikeSchema(schema.fields, schema.metadata);
34
33
  this.table = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-like-table.js","names":["ArrowLikeSchema","deduceTableSchema","getTableCell","getTableLength","getTableNumCols","ArrowLikeVector","constructor","table","columnName","get","rowIndex","toArray","_arrowTable$getChild","shape","arrowTable","data","getChild","Error","ArrowLikeTable","schema","fields","metadata","features","numCols","length"],"sources":["../../../../src/lib/table/arrow-api/arrow-like-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Table} from '../../../types/category-table';\n\nimport {ArrowLikeSchema} from './arrow-like-schema';\n\nimport {deduceTableSchema} from '../simple-table/table-schema';\n\nimport {\n getTableCell,\n getTableLength,\n getTableNumCols\n // getTableCell,\n // getTableRowShape,\n // getTableColumnIndex,\n // getTableColumnName,\n // getTableRowAsObject,\n // getTableRowAsArray\n} from '../simple-table/table-accessors';\n\nclass ArrowLikeVector {\n table: Table;\n columnName: string;\n\n constructor(table: Table, columnName: string) {\n this.table = table;\n this.columnName = columnName;\n }\n\n get(rowIndex: number): unknown {\n return getTableCell(this.table, rowIndex, this.columnName);\n }\n\n toArray(): ArrayLike<unknown> {\n switch (this.table.shape) {\n case 'arrow-table':\n const arrowTable = this.table.data as any;\n return arrowTable.getChild(this.columnName)?.toArray();\n case 'columnar-table':\n return this.table.data[this.columnName];\n default:\n throw new Error(this.table.shape);\n }\n }\n}\n\n/**\n * Class that provides an API similar to Apache Arrow Table class\n * Forwards methods directly if the underlying table is Arrow, otherwise calls accessor functions\n */\nexport class ArrowLikeTable {\n schema: ArrowLikeSchema;\n table: Table;\n\n constructor(table: Table) {\n const schema = table.schema || deduceTableSchema(table);\n this.schema = new ArrowLikeSchema(schema.fields, schema.metadata);\n this.table = {...table, schema};\n }\n\n // get schema() {\n // return this.table.schema;\n // }\n\n get data() {\n return this.table.shape === 'geojson-table' ? this.table.features : this.table.data;\n }\n\n get numCols(): number {\n return getTableNumCols(this.table);\n }\n\n get length(): number {\n return getTableLength(this.table);\n }\n\n getChild(columnName: string): ArrowLikeVector {\n return new ArrowLikeVector(this.table, columnName);\n }\n\n // getChildAt(columnIndex: number): ArrowLikeVector {\n // return\n // }\n}\n"],"mappings":"SAIQA,eAAe;AAAA,SAEfC,iBAAiB;AAAA,SAGvBC,YAAY,EACZC,cAAc,EACdC,eAAe;AASjB,MAAMC,eAAe,CAAC;EAIpBC,WAAWA,CAACC,KAAY,EAAEC,UAAkB,EAAE;IAAA,KAH9CD,KAAK;IAAA,KACLC,UAAU;IAGR,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EAEAC,GAAGA,CAACC,QAAgB,EAAW;IAC7B,OAAOR,YAAY,CAAC,IAAI,CAACK,KAAK,EAAEG,QAAQ,EAAE,IAAI,CAACF,UAAU,CAAC;EAC5D;EAEAG,OAAOA,CAAA,EAAuB;IAAA,IAAAC,oBAAA;IAC5B,QAAQ,IAAI,CAACL,KAAK,CAACM,KAAK;MACtB,KAAK,aAAa;QAChB,MAAMC,UAAU,GAAG,IAAI,CAACP,KAAK,CAACQ,IAAW;QACzC,QAAAH,oBAAA,GAAOE,UAAU,CAACE,QAAQ,CAAC,IAAI,CAACR,UAAU,CAAC,cAAAI,oBAAA,uBAApCA,oBAAA,CAAsCD,OAAO,CAAC,CAAC;MACxD,KAAK,gBAAgB;QACnB,OAAO,IAAI,CAACJ,KAAK,CAACQ,IAAI,CAAC,IAAI,CAACP,UAAU,CAAC;MACzC;QACE,MAAM,IAAIS,KAAK,CAAC,IAAI,CAACV,KAAK,CAACM,KAAK,CAAC;IACrC;EACF;AACF;AAMA,OAAO,MAAMK,cAAc,CAAC;EAI1BZ,WAAWA,CAACC,KAAY,EAAE;IAAA,KAH1BY,MAAM;IAAA,KACNZ,KAAK;IAGH,MAAMY,MAAM,GAAGZ,KAAK,CAACY,MAAM,IAAIlB,iBAAiB,CAACM,KAAK,CAAC;IACvD,IAAI,CAACY,MAAM,GAAG,IAAInB,eAAe,CAACmB,MAAM,CAACC,MAAM,EAAED,MAAM,CAACE,QAAQ,CAAC;IACjE,IAAI,CAACd,KAAK,GAAG;MAAC,GAAGA,KAAK;MAAEY;IAAM,CAAC;EACjC;EAMA,IAAIJ,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACR,KAAK,CAACM,KAAK,KAAK,eAAe,GAAG,IAAI,CAACN,KAAK,CAACe,QAAQ,GAAG,IAAI,CAACf,KAAK,CAACQ,IAAI;EACrF;EAEA,IAAIQ,OAAOA,CAAA,EAAW;IACpB,OAAOnB,eAAe,CAAC,IAAI,CAACG,KAAK,CAAC;EACpC;EAEA,IAAIiB,MAAMA,CAAA,EAAW;IACnB,OAAOrB,cAAc,CAAC,IAAI,CAACI,KAAK,CAAC;EACnC;EAEAS,QAAQA,CAACR,UAAkB,EAAmB;IAC5C,OAAO,IAAIH,eAAe,CAAC,IAAI,CAACE,KAAK,EAAEC,UAAU,CAAC;EACpD;AAKF"}
@@ -1,7 +1,7 @@
1
1
  import { Type } from './enum';
2
2
  import { ArrowLikeField as Field } from './arrow-like-field';
3
3
  export { Type } from './enum';
4
- export type TypedIntArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Int32Array | Uint32Array | Uint8ClampedArray;
4
+ export type TypedIntArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Uint8ClampedArray;
5
5
  export type TypedFloatArray = Float32Array | Float64Array;
6
6
  export type TypedArray = TypedIntArray | TypedFloatArray;
7
7
  export type AnyArrayType = Array<any> | TypedIntArray | TypedFloatArray;
@@ -1 +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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"}
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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"}
@@ -1,7 +1,6 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  let _Symbol$toStringTag, _Symbol$toStringTag2, _Symbol$toStringTag3, _Symbol$toStringTag4, _Symbol$toStringTag5, _Symbol$toStringTag6, _Symbol$toStringTag7, _Symbol$toStringTag8;
3
- import { Type } from './enum';
4
- export { Type } from './enum';
2
+ import { Type } from "./enum.js";
3
+ export { Type } from "./enum.js";
5
4
  export class DataType {
6
5
  static isNull(x) {
7
6
  return x && x.typeId === Type.Null;
@@ -90,8 +89,8 @@ _Symbol$toStringTag = Symbol.toStringTag;
90
89
  export class Int extends DataType {
91
90
  constructor(isSigned, bitWidth) {
92
91
  super();
93
- _defineProperty(this, "isSigned", void 0);
94
- _defineProperty(this, "bitWidth", void 0);
92
+ this.isSigned = void 0;
93
+ this.bitWidth = void 0;
95
94
  this.isSigned = isSigned;
96
95
  this.bitWidth = bitWidth;
97
96
  }
@@ -102,7 +101,7 @@ export class Int extends DataType {
102
101
  return 'Int';
103
102
  }
104
103
  toString() {
105
- return "".concat(this.isSigned ? 'I' : 'Ui', "nt").concat(this.bitWidth);
104
+ return `${this.isSigned ? 'I' : 'Ui'}nt${this.bitWidth}`;
106
105
  }
107
106
  }
108
107
  export class Int8 extends Int {
@@ -154,7 +153,7 @@ _Symbol$toStringTag2 = Symbol.toStringTag;
154
153
  export class Float extends DataType {
155
154
  constructor(precision) {
156
155
  super();
157
- _defineProperty(this, "precision", void 0);
156
+ this.precision = void 0;
158
157
  this.precision = precision;
159
158
  }
160
159
  get typeId() {
@@ -164,7 +163,7 @@ export class Float extends DataType {
164
163
  return 'Float';
165
164
  }
166
165
  toString() {
167
- return "Float".concat(this.precision);
166
+ return `Float${this.precision}`;
168
167
  }
169
168
  }
170
169
  export class Float16 extends Float {
@@ -215,7 +214,7 @@ _Symbol$toStringTag3 = Symbol.toStringTag;
215
214
  export class Date extends DataType {
216
215
  constructor(unit) {
217
216
  super();
218
- _defineProperty(this, "unit", void 0);
217
+ this.unit = void 0;
219
218
  this.unit = unit;
220
219
  }
221
220
  get typeId() {
@@ -225,7 +224,7 @@ export class Date extends DataType {
225
224
  return 'Date';
226
225
  }
227
226
  toString() {
228
- return "Date".concat((this.unit + 1) * 32, "<").concat(DateUnit[this.unit], ">");
227
+ return `Date${(this.unit + 1) * 32}<${DateUnit[this.unit]}>`;
229
228
  }
230
229
  }
231
230
  export class DateDay extends Date {
@@ -248,8 +247,8 @@ _Symbol$toStringTag4 = Symbol.toStringTag;
248
247
  export class Time extends DataType {
249
248
  constructor(unit, bitWidth) {
250
249
  super();
251
- _defineProperty(this, "unit", void 0);
252
- _defineProperty(this, "bitWidth", void 0);
250
+ this.unit = void 0;
251
+ this.bitWidth = void 0;
253
252
  this.unit = unit;
254
253
  this.bitWidth = bitWidth;
255
254
  }
@@ -257,7 +256,7 @@ export class Time extends DataType {
257
256
  return Type.Time;
258
257
  }
259
258
  toString() {
260
- return "Time".concat(this.bitWidth, "<").concat(TimeUnit[this.unit], ">");
259
+ return `Time${this.bitWidth}<${TimeUnit[this.unit]}>`;
261
260
  }
262
261
  get [_Symbol$toStringTag4]() {
263
262
  return 'Time';
@@ -278,8 +277,8 @@ export class Timestamp extends DataType {
278
277
  constructor(unit) {
279
278
  let timezone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
280
279
  super();
281
- _defineProperty(this, "unit", void 0);
282
- _defineProperty(this, "timezone", void 0);
280
+ this.unit = void 0;
281
+ this.timezone = void 0;
283
282
  this.unit = unit;
284
283
  this.timezone = timezone;
285
284
  }
@@ -290,7 +289,7 @@ export class Timestamp extends DataType {
290
289
  return 'Timestamp';
291
290
  }
292
291
  toString() {
293
- return "Timestamp<".concat(TimeUnit[this.unit]).concat(this.timezone ? ", ".concat(this.timezone) : '', ">");
292
+ return `Timestamp<${TimeUnit[this.unit]}${this.timezone ? `, ${this.timezone}` : ''}>`;
294
293
  }
295
294
  }
296
295
  export class TimestampSecond extends Timestamp {
@@ -325,7 +324,7 @@ _Symbol$toStringTag6 = Symbol.toStringTag;
325
324
  export class Interval extends DataType {
326
325
  constructor(unit) {
327
326
  super();
328
- _defineProperty(this, "unit", void 0);
327
+ this.unit = void 0;
329
328
  this.unit = unit;
330
329
  }
331
330
  get typeId() {
@@ -335,7 +334,7 @@ export class Interval extends DataType {
335
334
  return 'Interval';
336
335
  }
337
336
  toString() {
338
- return "Interval<".concat(IntervalUnit[this.unit], ">");
337
+ return `Interval<${IntervalUnit[this.unit]}>`;
339
338
  }
340
339
  }
341
340
  export class IntervalDayTime extends Interval {
@@ -352,8 +351,8 @@ _Symbol$toStringTag7 = Symbol.toStringTag;
352
351
  export class FixedSizeList extends DataType {
353
352
  constructor(listSize, child) {
354
353
  super();
355
- _defineProperty(this, "listSize", void 0);
356
- _defineProperty(this, "children", void 0);
354
+ this.listSize = void 0;
355
+ this.children = void 0;
357
356
  this.listSize = listSize;
358
357
  this.children = [child];
359
358
  }
@@ -370,21 +369,21 @@ export class FixedSizeList extends DataType {
370
369
  return 'FixedSizeList';
371
370
  }
372
371
  toString() {
373
- return "FixedSizeList[".concat(this.listSize, "]<").concat(this.valueType, ">");
372
+ return `FixedSizeList[${this.listSize}]<${this.valueType}>`;
374
373
  }
375
374
  }
376
375
  _Symbol$toStringTag8 = Symbol.toStringTag;
377
376
  export class Struct extends DataType {
378
377
  constructor(children) {
379
378
  super();
380
- _defineProperty(this, "children", void 0);
379
+ this.children = void 0;
381
380
  this.children = children;
382
381
  }
383
382
  get typeId() {
384
383
  return Type.Struct;
385
384
  }
386
385
  toString() {
387
- return "Struct<{".concat(this.children.map(f => "".concat(f.name, ":").concat(f.type)).join(', '), "}>");
386
+ return `Struct<{${this.children.map(f => `${f.name}:${f.type}`).join(', ')}}>`;
388
387
  }
389
388
  get [_Symbol$toStringTag8]() {
390
389
  return 'Struct';
@@ -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","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 | 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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"}
@@ -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 './arrow-like-type';
1
+ import { Type } from "./arrow-like-type.js";
2
2
  export function getTypeInfo(arrowTypeLike) {
3
3
  return {
4
4
  typeId: arrowTypeLike.typeId,
@@ -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":"SAEQA,IAAI;AAMZ,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.js";
2
+ export { ArrowLikeSchema as Schema } from "./arrow-like-schema.js";
3
+ export { ArrowLikeTable as Table } from "./arrow-like-table.js";
4
+ export * from "./arrow-like-type.js";
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":"SAEQA,cAAc,IAAIC,KAAK;AAAA,SACvBC,eAAe,IAAIC,MAAM;AAAA,SACzBC,cAAc,IAAIC,KAAK;AAAA"}
@@ -1,13 +1,12 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  const DEFAULT_ROW_COUNT = 100;
3
2
  export class BaseTableBatchAggregator {
4
3
  constructor(schema, options) {
5
- _defineProperty(this, "schema", void 0);
6
- _defineProperty(this, "options", void 0);
7
- _defineProperty(this, "length", 0);
8
- _defineProperty(this, "rows", null);
9
- _defineProperty(this, "cursor", 0);
10
- _defineProperty(this, "_headers", []);
4
+ this.schema = void 0;
5
+ this.options = void 0;
6
+ this.length = 0;
7
+ this.rows = null;
8
+ this.cursor = 0;
9
+ this._headers = [];
11
10
  this.options = options;
12
11
  this.schema = schema;
13
12
  if (!Array.isArray(schema)) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-table-batch-aggregator.js","names":["DEFAULT_ROW_COUNT","BaseTableBatchAggregator","constructor","schema","options","length","rows","cursor","_headers","Array","isArray","key","index","name","rowCount","addArrayRow","row","Number","isFinite","addObjectRow","getBatch","slice","batch","shape","batchType","data"],"sources":["../../../../src/lib/table/batches/base-table-batch-aggregator.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from '../../../types/schema';\nimport type {TableBatch} from '../../../types/category-table';\nimport {TableBatchAggregator, TableBatchOptions} from './table-batch-aggregator';\n\nconst DEFAULT_ROW_COUNT = 100;\n\nexport class BaseTableBatchAggregator implements TableBatchAggregator {\n schema: Schema;\n options: TableBatchOptions;\n\n length: number = 0;\n rows: any[] | null = null;\n cursor: number = 0;\n private _headers: string[] = [];\n\n constructor(schema: Schema, options: TableBatchOptions) {\n this.options = options;\n this.schema = schema;\n\n // schema is an array if there're no headers\n // object if there are headers\n if (!Array.isArray(schema)) {\n this._headers = [];\n for (const key in schema) {\n this._headers[schema[key].index] = schema[key].name;\n }\n }\n }\n\n rowCount(): number {\n return this.length;\n }\n\n addArrayRow(row: any[], cursor?: number): void {\n if (Number.isFinite(cursor)) {\n this.cursor = cursor as number;\n }\n\n this.rows = this.rows || new Array(DEFAULT_ROW_COUNT);\n this.rows[this.length] = row;\n this.length++;\n }\n\n addObjectRow(row: {[columnName: string]: any}, cursor?: number): void {\n if (Number.isFinite(cursor)) {\n this.cursor = cursor as number;\n }\n\n this.rows = this.rows || new Array(DEFAULT_ROW_COUNT);\n this.rows[this.length] = row;\n this.length++;\n }\n\n getBatch(): TableBatch | null {\n let rows = this.rows;\n if (!rows) {\n return null;\n }\n\n rows = rows.slice(0, this.length);\n this.rows = null;\n\n const batch: TableBatch = {\n shape: this.options.shape,\n batchType: 'data',\n data: rows,\n length: this.length,\n schema: this.schema,\n cursor: this.cursor\n };\n\n return batch;\n }\n}\n"],"mappings":"AAMA,MAAMA,iBAAiB,GAAG,GAAG;AAE7B,OAAO,MAAMC,wBAAwB,CAAiC;EASpEC,WAAWA,CAACC,MAAc,EAAEC,OAA0B,EAAE;IAAA,KARxDD,MAAM;IAAA,KACNC,OAAO;IAAA,KAEPC,MAAM,GAAW,CAAC;IAAA,KAClBC,IAAI,GAAiB,IAAI;IAAA,KACzBC,MAAM,GAAW,CAAC;IAAA,KACVC,QAAQ,GAAa,EAAE;IAG7B,IAAI,CAACJ,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACD,MAAM,GAAGA,MAAM;IAIpB,IAAI,CAACM,KAAK,CAACC,OAAO,CAACP,MAAM,CAAC,EAAE;MAC1B,IAAI,CAACK,QAAQ,GAAG,EAAE;MAClB,KAAK,MAAMG,GAAG,IAAIR,MAAM,EAAE;QACxB,IAAI,CAACK,QAAQ,CAACL,MAAM,CAACQ,GAAG,CAAC,CAACC,KAAK,CAAC,GAAGT,MAAM,CAACQ,GAAG,CAAC,CAACE,IAAI;MACrD;IACF;EACF;EAEAC,QAAQA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACT,MAAM;EACpB;EAEAU,WAAWA,CAACC,GAAU,EAAET,MAAe,EAAQ;IAC7C,IAAIU,MAAM,CAACC,QAAQ,CAACX,MAAM,CAAC,EAAE;MAC3B,IAAI,CAACA,MAAM,GAAGA,MAAgB;IAChC;IAEA,IAAI,CAACD,IAAI,GAAG,IAAI,CAACA,IAAI,IAAI,IAAIG,KAAK,CAACT,iBAAiB,CAAC;IACrD,IAAI,CAACM,IAAI,CAAC,IAAI,CAACD,MAAM,CAAC,GAAGW,GAAG;IAC5B,IAAI,CAACX,MAAM,EAAE;EACf;EAEAc,YAAYA,CAACH,GAAgC,EAAET,MAAe,EAAQ;IACpE,IAAIU,MAAM,CAACC,QAAQ,CAACX,MAAM,CAAC,EAAE;MAC3B,IAAI,CAACA,MAAM,GAAGA,MAAgB;IAChC;IAEA,IAAI,CAACD,IAAI,GAAG,IAAI,CAACA,IAAI,IAAI,IAAIG,KAAK,CAACT,iBAAiB,CAAC;IACrD,IAAI,CAACM,IAAI,CAAC,IAAI,CAACD,MAAM,CAAC,GAAGW,GAAG;IAC5B,IAAI,CAACX,MAAM,EAAE;EACf;EAEAe,QAAQA,CAAA,EAAsB;IAC5B,IAAId,IAAI,GAAG,IAAI,CAACA,IAAI;IACpB,IAAI,CAACA,IAAI,EAAE;MACT,OAAO,IAAI;IACb;IAEAA,IAAI,GAAGA,IAAI,CAACe,KAAK,CAAC,CAAC,EAAE,IAAI,CAAChB,MAAM,CAAC;IACjC,IAAI,CAACC,IAAI,GAAG,IAAI;IAEhB,MAAMgB,KAAiB,GAAG;MACxBC,KAAK,EAAE,IAAI,CAACnB,OAAO,CAACmB,KAAK;MACzBC,SAAS,EAAE,MAAM;MACjBC,IAAI,EAAEnB,IAAI;MACVD,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBF,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBI,MAAM,EAAE,IAAI,CAACA;IACf,CAAC;IAED,OAAOe,KAAK;EACd;AACF"}
@@ -1,11 +1,10 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  const DEFAULT_ROW_COUNT = 100;
3
2
  export class ColumnarTableBatchAggregator {
4
3
  constructor(schema, options) {
5
- _defineProperty(this, "schema", void 0);
6
- _defineProperty(this, "length", 0);
7
- _defineProperty(this, "allocated", 0);
8
- _defineProperty(this, "columns", {});
4
+ this.schema = void 0;
5
+ this.length = 0;
6
+ this.allocated = 0;
7
+ this.columns = {};
9
8
  this.schema = schema;
10
9
  this._reallocateColumns();
11
10
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnar-table-batch-aggregator.js","names":["DEFAULT_ROW_COUNT","ColumnarTableBatchAggregator","constructor","schema","options","length","allocated","columns","_reallocateColumns","rowCount","addArrayRow","row","i","fieldName","addObjectRow","getBatch","_pruneColumns","Array","isArray","field","name","index","batch","shape","batchType","data","ArrayType","type","Float32Array","oldColumn","ArrayBuffer","isView","typedArray","set","columnName","column","Object","entries","slice"],"sources":["../../../../src/lib/table/batches/columnar-table-batch-aggregator.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from '../../../types/schema';\nimport type {ColumnarTableBatch, ArrowTableBatch} from '../../../types/category-table';\nimport {TableBatchAggregator} from './table-batch-aggregator';\n\ntype ColumnarTableBatchOptions = {};\n\nconst DEFAULT_ROW_COUNT = 100;\n\nexport class ColumnarTableBatchAggregator implements TableBatchAggregator {\n schema: Schema;\n length: number = 0;\n allocated: number = 0;\n columns: {[columnName: string]: any[]} = {};\n\n constructor(schema: Schema, options: ColumnarTableBatchOptions) {\n this.schema = schema;\n this._reallocateColumns();\n }\n\n rowCount(): number {\n return this.length;\n }\n\n addArrayRow(row: any[]) {\n // If user keeps pushing rows beyond batch size, reallocate\n this._reallocateColumns();\n let i = 0;\n // TODO what if no csv header, columns not populated?\n for (const fieldName in this.columns) {\n this.columns[fieldName][this.length] = row[i++];\n }\n this.length++;\n }\n\n addObjectRow(row: {[columnName: string]: any}): void {\n // If user keeps pushing rows beyond batch size, reallocate\n this._reallocateColumns();\n for (const fieldName in row) {\n this.columns[fieldName][this.length] = row[fieldName];\n }\n this.length++;\n }\n\n getBatch(): ColumnarTableBatch | ArrowTableBatch | null {\n this._pruneColumns();\n const columns = Array.isArray(this.schema) ? this.columns : {};\n\n // schema is an array if there're no headers\n // object if there are headers\n // columns should match schema format\n if (!Array.isArray(this.schema)) {\n for (const fieldName in this.schema) {\n const field = this.schema[fieldName];\n columns[field.name] = this.columns[field.index];\n }\n }\n\n this.columns = {};\n\n const batch: ColumnarTableBatch = {\n shape: 'columnar-table',\n batchType: 'data',\n data: columns,\n schema: this.schema,\n length: this.length\n };\n\n return batch;\n }\n\n // HELPERS\n\n _reallocateColumns() {\n if (this.length < this.allocated) {\n return;\n }\n\n // @ts-ignore TODO\n this.allocated = this.allocated > 0 ? (this.allocated *= 2) : DEFAULT_ROW_COUNT;\n this.columns = {};\n\n for (const fieldName in this.schema) {\n const field = this.schema[fieldName];\n const ArrayType = field.type || Float32Array;\n const oldColumn = this.columns[field.index];\n\n if (oldColumn && ArrayBuffer.isView(oldColumn)) {\n // Copy the old data to the new array\n const typedArray = new ArrayType(this.allocated);\n typedArray.set(oldColumn);\n this.columns[field.index] = typedArray;\n } else if (oldColumn) {\n // Plain array\n oldColumn.length = this.allocated;\n this.columns[field.index] = oldColumn;\n } else {\n // Create new\n this.columns[field.index] = new ArrayType(this.allocated);\n }\n }\n }\n\n _pruneColumns() {\n for (const [columnName, column] of Object.entries(this.columns)) {\n this.columns[columnName] = column.slice(0, this.length);\n }\n }\n}\n"],"mappings":"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"}