@loaders.gl/schema 4.0.0-alpha.9 → 4.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/dist.min.js +558 -943
  2. package/dist/es5/index.js +7 -0
  3. package/dist/es5/index.js.map +1 -1
  4. package/dist/es5/lib/table/arrow-api/arrow-like-table.js +4 -3
  5. package/dist/es5/lib/table/arrow-api/arrow-like-table.js.map +1 -1
  6. package/dist/es5/lib/table/batches/row-table-batch-aggregator.js.map +1 -1
  7. package/dist/es5/lib/table/simple-table/convert-table.js +24 -0
  8. package/dist/es5/lib/table/simple-table/convert-table.js.map +1 -1
  9. package/dist/es5/lib/table/simple-table/table-accessors.js +69 -42
  10. package/dist/es5/lib/table/simple-table/table-accessors.js.map +1 -1
  11. package/dist/es5/types/batch.js +2 -0
  12. package/dist/es5/types/batch.js.map +1 -0
  13. package/dist/es5/types/binary-geometries.js +2 -0
  14. package/dist/es5/types/binary-geometries.js.map +1 -0
  15. package/dist/es5/types/category-gis.js.map +1 -1
  16. package/dist/es5/types/category-image.js.map +1 -1
  17. package/dist/es5/types/category-table.js.map +1 -1
  18. package/dist/es5/types/flat-geometries.js +2 -0
  19. package/dist/es5/types/flat-geometries.js.map +1 -0
  20. package/dist/es5/types/schema.js.map +1 -1
  21. package/dist/esm/index.js +1 -0
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/lib/table/arrow-api/arrow-like-table.js +4 -3
  24. package/dist/esm/lib/table/arrow-api/arrow-like-table.js.map +1 -1
  25. package/dist/esm/lib/table/batches/row-table-batch-aggregator.js.map +1 -1
  26. package/dist/esm/lib/table/simple-table/convert-table.js +22 -0
  27. package/dist/esm/lib/table/simple-table/convert-table.js.map +1 -1
  28. package/dist/esm/lib/table/simple-table/table-accessors.js +49 -22
  29. package/dist/esm/lib/table/simple-table/table-accessors.js.map +1 -1
  30. package/dist/esm/types/batch.js +2 -0
  31. package/dist/esm/types/batch.js.map +1 -0
  32. package/dist/esm/types/binary-geometries.js +2 -0
  33. package/dist/esm/types/binary-geometries.js.map +1 -0
  34. package/dist/esm/types/category-gis.js.map +1 -1
  35. package/dist/esm/types/category-image.js.map +1 -1
  36. package/dist/esm/types/category-table.js.map +1 -1
  37. package/dist/esm/types/flat-geometries.js +2 -0
  38. package/dist/esm/types/flat-geometries.js.map +1 -0
  39. package/dist/esm/types/schema.js.map +1 -1
  40. package/dist/index.d.ts +7 -5
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/lib/table/arrow-api/arrow-like-table.d.ts +1 -5
  43. package/dist/lib/table/arrow-api/arrow-like-table.d.ts.map +1 -1
  44. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts +3 -3
  45. package/dist/lib/table/batches/row-table-batch-aggregator.d.ts.map +1 -1
  46. package/dist/lib/table/simple-table/convert-table.d.ts +34 -1
  47. package/dist/lib/table/simple-table/convert-table.d.ts.map +1 -1
  48. package/dist/lib/table/simple-table/table-accessors.d.ts.map +1 -1
  49. package/dist/types/batch.d.ts +34 -0
  50. package/dist/types/batch.d.ts.map +1 -0
  51. package/dist/types/binary-geometries.d.ts +56 -0
  52. package/dist/types/binary-geometries.d.ts.map +1 -0
  53. package/dist/types/category-gis.d.ts +3 -84
  54. package/dist/types/category-gis.d.ts.map +1 -1
  55. package/dist/types/category-image.d.ts +1 -1
  56. package/dist/types/category-image.d.ts.map +1 -1
  57. package/dist/types/category-table.d.ts +42 -22
  58. package/dist/types/category-table.d.ts.map +1 -1
  59. package/dist/types/flat-geometries.d.ts +30 -0
  60. package/dist/types/flat-geometries.d.ts.map +1 -0
  61. package/dist/types/schema.d.ts +0 -15
  62. package/dist/types/schema.d.ts.map +1 -1
  63. package/package.json +2 -2
  64. package/src/index.ts +13 -7
  65. package/src/lib/table/arrow-api/arrow-like-table.ts +3 -2
  66. package/src/lib/table/batches/row-table-batch-aggregator.ts +2 -2
  67. package/src/lib/table/simple-table/convert-table.ts +73 -1
  68. package/src/lib/table/simple-table/table-accessors.ts +56 -22
  69. package/src/types/batch.ts +41 -0
  70. package/src/types/binary-geometries.ts +62 -0
  71. package/src/types/category-gis.ts +30 -104
  72. package/src/types/category-image.ts +1 -1
  73. package/src/types/category-table.ts +49 -27
  74. package/src/types/flat-geometries.ts +40 -0
  75. package/src/types/schema.ts +0 -17
  76. package/dist/bundle.js +0 -5
  77. package/dist/index.js +0 -92
  78. package/dist/lib/mesh/convert-mesh.js +0 -40
  79. package/dist/lib/mesh/deduce-mesh-schema.js +0 -66
  80. package/dist/lib/mesh/mesh-to-arrow-table.js +0 -44
  81. package/dist/lib/mesh/mesh-utils.js +0 -51
  82. package/dist/lib/table/arrow/arrow-type-utils.js +0 -53
  83. package/dist/lib/table/arrow/convert-schema-arrow.js +0 -187
  84. package/dist/lib/table/arrow/convert-table-to-arrow.js +0 -57
  85. package/dist/lib/table/arrow-api/arrow-like-field.js +0 -34
  86. package/dist/lib/table/arrow-api/arrow-like-schema.js +0 -81
  87. package/dist/lib/table/arrow-api/arrow-like-table.js +0 -53
  88. package/dist/lib/table/arrow-api/arrow-like-type.js +0 -463
  89. package/dist/lib/table/arrow-api/enum.js +0 -97
  90. package/dist/lib/table/arrow-api/get-type-info.js +0 -29
  91. package/dist/lib/table/arrow-api/index.js +0 -25
  92. package/dist/lib/table/batches/base-table-batch-aggregator.js +0 -60
  93. package/dist/lib/table/batches/columnar-table-batch-aggregator.js +0 -92
  94. package/dist/lib/table/batches/row-table-batch-aggregator.js +0 -81
  95. package/dist/lib/table/batches/table-batch-aggregator.js +0 -3
  96. package/dist/lib/table/batches/table-batch-builder.js +0 -152
  97. package/dist/lib/table/simple-table/convert-table.js +0 -65
  98. package/dist/lib/table/simple-table/data-type.js +0 -93
  99. package/dist/lib/table/simple-table/make-table.js +0 -95
  100. package/dist/lib/table/simple-table/row-utils.js +0 -33
  101. package/dist/lib/table/simple-table/table-accessors.js +0 -319
  102. package/dist/lib/table/simple-table/table-column.js +0 -41
  103. package/dist/lib/table/simple-table/table-schema.js +0 -85
  104. package/dist/lib/utils/assert.js +0 -12
  105. package/dist/lib/utils/async-queue.js +0 -92
  106. package/dist/types/category-gis.js +0 -2
  107. package/dist/types/category-image.js +0 -2
  108. package/dist/types/category-mesh.js +0 -3
  109. package/dist/types/category-table.js +0 -3
  110. package/dist/types/category-texture.js +0 -3
  111. package/dist/types/schema.js +0 -3
  112. package/dist/types/types.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"category-image.js","names":[],"sources":["../../../src/types/category-image.ts"],"sourcesContent":["/**\n * data images\n */\nexport type ImageDataType = {\n data: Uint8Array;\n width: number;\n height: number;\n compressed?: boolean;\n};\n\n/**\n * Supported Image Types\n */\nexport type ImageType = ImageBitmap | typeof Image | ImageDataType;\n\n/**\n * Image type string used to control or determine the type of images returned from ImageLoader\n */\nexport type ImageTypeEnum = 'imagebitmap' | 'image' | 'data';\n"],"mappings":""}
1
+ {"version":3,"file":"category-image.js","names":[],"sources":["../../../src/types/category-image.ts"],"sourcesContent":["/**\n * data images\n */\nexport type ImageDataType = {\n data: Uint8Array;\n width: number;\n height: number;\n compressed?: boolean;\n};\n\n/**\n * Supported Image Types\n */\nexport type ImageType = ImageBitmap | ImageDataType | HTMLImageElement;\n\n/**\n * Image type string used to control or determine the type of images returned from ImageLoader\n */\nexport type ImageTypeEnum = 'imagebitmap' | 'image' | 'data';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"category-table.js","names":[],"sources":["../../../src/types/category-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Table as ApacheArrowTable, RecordBatch} from 'apache-arrow';\nimport type {Batch, Schema} from './schema';\nimport type {Feature} from './category-gis';\n\n// Idea was to just import types, but it seems\n// Seems this triggers more bundling and build issues than it is worth...\n// import type {Table as ApacheArrowTable, RecordBatch} from 'apache-arrow';\n// type ApacheArrowTable = any;\n// type RecordBatch = any;\n\n/** A general table */\nexport type Table =\n | RowTable\n | ArrayRowTable\n | ObjectRowTable\n | GeoJSONRowTable\n | ColumnarTable\n | ArrowTable;\n\n/** A table organized as an array of rows */\nexport type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONRowTable;\n\n/** A table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTable = {\n shape: 'array-row-table';\n schema?: Schema;\n data: any[][];\n};\n\n/** A table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTable = {\n shape: 'object-row-table';\n schema?: Schema;\n data: {[columnName: string]: any}[];\n};\n\n/** A table organized as an array of rows, each row is a GeoJSON Feature */\nexport type GeoJSONRowTable = {\n shape: 'geojson-row-table';\n schema?: Schema;\n data: Feature[];\n};\n\n/** A table organized as a map of columns, each column is an array of value */\nexport type ColumnarTable = {\n shape: 'columnar-table';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n};\n\n/** A table organized as an Apache Arrow table */\nexport type ArrowTable = {\n shape: 'arrow-table';\n schema?: Schema;\n data: ApacheArrowTable;\n};\n\n/** A collection of tables */\nexport type Tables<TableType = Table> = {\n shape: 'tables';\n tables: {name: string; table: TableType}[];\n};\n\n// Batches\n\n/** Batch for a general table */\nexport type TableBatch = Batch & {\n data: any;\n length: number;\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n};\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTableBatch = TableBatch & {\n shape: 'array-row-table';\n data: any[][];\n};\n\n/** Batch for a table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTableBatch = TableBatch & {\n shape: 'object-row-table';\n data: {[columnName: string]: any}[];\n};\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type GeoJSONRowTableBatch = TableBatch & {\n shape: 'geojson-row-table';\n data: Feature[];\n};\n\n/** Batch for a table organized as a map of columns, each column is an array of value */\nexport type ColumnarTableBatch = TableBatch & {\n shape: 'columnar-table';\n data: {[columnName: string]: ArrayLike<unknown>};\n};\n\n/** Batch for a table organized as an Apache Arrow table */\nexport type ArrowTableBatch = TableBatch & {\n shape: 'arrow-table';\n data: RecordBatch;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"category-table.js","names":[],"sources":["../../../src/types/category-table.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Schema} from './schema';\nimport type {Batch} from './batch';\nimport type {Feature} from './category-gis';\n\n// Avoid a big dependency, apparently even a type import can pull in a lot of code\n// import type {Table as ApacheArrowTable} from 'apache-arrow';\n\ntype ApacheArrowTable = unknown;\ntype ApacheRecordBatch = unknown;\n\n/** A general table */\nexport type Table =\n | RowTable\n | ArrayRowTable\n | ObjectRowTable\n | GeoJSONTable\n | ColumnarTable\n | ArrowTable;\n\n/** A table organized as an array of rows */\nexport type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONTable;\n\n/** A table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTable = {\n shape: 'array-row-table';\n schema?: Schema;\n data: any[][];\n};\n\n/** A table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTable = {\n shape: 'object-row-table';\n schema?: Schema;\n data: {[columnName: string]: any}[];\n};\n\n/**\n * A table organized as an array of rows, each row is a GeoJSON Feature\n * @note For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data`\n */\nexport type GeoJSONTable = {\n shape: 'geojson-table';\n schema?: Schema;\n /** For compatibility with GeoJSON, the type field must always be set to `FeatureCollection` */\n type: 'FeatureCollection';\n /** For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data` */\n features: Feature[];\n};\n\n/** A table organized as a map of columns, each column is an array of value */\nexport type ColumnarTable = {\n shape: 'columnar-table';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n};\n\n/** A table organized as an Apache Arrow table */\nexport type ArrowTable = {\n shape: 'arrow-table';\n schema?: Schema;\n data: ApacheArrowTable;\n};\n\n/** A collection of tables */\nexport type Tables<TableType = Table> = {\n shape: 'tables';\n tables: {name: string; table: TableType}[];\n};\n\n// Batches\n\n/** Batch for a general table */\nexport type TableBatch =\n | ArrayRowTableBatch\n | ObjectRowTableBatch\n | GeoJSONTableBatch\n | ColumnarTableBatch\n | ArrowTableBatch;\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type ArrayRowTableBatch = Batch & {\n shape: 'array-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: any[][];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an object mapping columns to values */\nexport type ObjectRowTableBatch = Batch & {\n shape: 'object-row-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n data: {[columnName: string]: any}[];\n length: number;\n};\n\n/** Batch for a table organized as an array of rows, each row is an array of values */\nexport type GeoJSONTableBatch = Batch & {\n shape: 'geojson-table';\n schema?: Schema;\n schemaType?: 'explicit' | 'deduced';\n type: 'FeatureCollection';\n features: Feature[];\n length: number;\n};\n\n/** Batch for a table organized as a map of columns, each column is an array of value */\nexport type ColumnarTableBatch = Batch & {\n shape: 'columnar-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: {[columnName: string]: ArrayLike<unknown>};\n length: number;\n};\n\n/** Batch for a table organized as an Apache Arrow table */\nexport type ArrowTableBatch = Batch & {\n shape: 'arrow-table';\n schemaType?: 'explicit' | 'deduced';\n schema?: Schema;\n data: ApacheRecordBatch;\n length: number;\n};\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=flat-geometries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flat-geometries.js","names":[],"sources":["../../../src/types/flat-geometries.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n// FLAT GEOJSON FORMAT GEOMETRY\nimport type {Feature, Geometry, Point, LineString, Polygon} from 'geojson';\n\n/** Flat geometry type */\nexport type FlatGeometryType = 'Point' | 'LineString' | 'Polygon';\n\ntype RemoveCoordinatesField<Type> = {\n [Property in keyof Type as Exclude<Property, 'coordinates'>]: Type[Property];\n};\n\n/** Generic flat geometry data storage type */\nexport type FlatIndexedGeometry = {\n data: number[];\n indices: number[];\n};\n\n/** GeoJSON (Multi)Point geometry with coordinate data flattened into `data` array and indexed by `indices` */\nexport type FlatPoint = RemoveCoordinatesField<Point> & FlatIndexedGeometry;\n\n/** GeoJSON (Multi)LineString geometry with coordinate data flattened into `data` array and indexed by `indices` */\nexport type FlatLineString = RemoveCoordinatesField<LineString> & FlatIndexedGeometry;\n\n/** GeoJSON (Multi)Polygon geometry with coordinate data flattened into `data` array and indexed by 2D `indices` */\nexport type FlatPolygon = RemoveCoordinatesField<Polygon> & {\n data: number[];\n indices: number[][];\n areas: number[][];\n};\n\n/** GeoJSON geometry with coordinate data flattened into `data` array and indexed by 2D `indices` */\nexport type FlatGeometry = FlatPoint | FlatLineString | FlatPolygon;\n\ntype FlattenGeometry<Type> = {\n [Property in keyof Type]: Type[Property] extends Geometry ? FlatGeometry : Type[Property];\n};\n\n/** GeoJSON Feature with Geometry replaced by FlatGeometry */\nexport type FlatFeature = FlattenGeometry<Feature>;\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":[],"sources":["../../../src/types/schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {RecordBatch} from 'apache-arrow';\n\n/** For dictionary type */\nexport type KeyType = 'int8' | 'int16' | 'int32' | 'uint8' | 'uint16' | 'uint32';\n\n/** ArrowLike DataType class */\nexport type DataType =\n | 'null'\n // Primitive types\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 | 'binary'\n | 'utf8'\n | 'date-day'\n | 'date-millisecond'\n | 'time-second'\n | 'time-millisecond'\n | 'time-microsecond'\n | 'time-nanosecond'\n | 'timestamp-second'\n | 'timestamp-millisecond'\n | 'timestamp-microsecond'\n | 'timestamp-nanosecond'\n | 'interval-daytime'\n | 'interval-yearmonth'\n // Composite types\n | {type: 'list'; children: Field[]} // one child only\n | {type: 'struct'; children: Field[]}\n | {\n type: 'sparse-union';\n typeIds: Int32Array;\n children: Field[];\n typeIdToChildIndex: {[key: number]: number};\n }\n | {\n type: 'dense-union';\n typeIds: Int32Array;\n children: Field[];\n typeIdToChildIndex: {[key: number]: number};\n }\n | {type: 'fixed-size-binary'; byteWidth: number}\n | {type: 'fixed-size-list'; listSize: number; children: Field[]}\n | {type: 'map'; keysSorted: boolean; children: Field[]} // Field is \"struct\"\n | {type: 'dictionary'; id: number; indices: KeyType; dictionary: DataType; isOrdered: boolean};\n// TODO - unions etc\n\n/**\n * SchemaMetadata\n */\nexport type SchemaMetadata = Record<string, string>;\nexport type FieldMetadata = Record<string, string>;\n\nexport type Field = {\n name: string;\n type: DataType;\n nullable?: boolean;\n metadata?: FieldMetadata;\n};\n\n/**\n * `Schema` type that that can hold all data required by an Arrow Schema\n * but is fully serializable. Helper functions make it easy to convert to and from arrow schemas\n * https://loaders.gl/arrowjs/docs/api-reference/schema\n */\nexport type Schema = {\n fields: Field[];\n metadata: SchemaMetadata;\n};\n\nexport type Batch = {\n batchType: 'data' | 'metadata' | 'partial-result' | 'final-result';\n batch?: number;\n mimeType?: string;\n shape: string;\n data: any;\n recordBatch?: RecordBatch;\n length: number;\n schema?: Schema;\n bytesUsed?: number;\n count?: number;\n cursor?: number;\n [key: string]: any;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"schema.js","names":[],"sources":["../../../src/types/schema.ts"],"sourcesContent":["// loaders.gl, MIT license\n\n/** For dictionary type */\nexport type KeyType = 'int8' | 'int16' | 'int32' | 'uint8' | 'uint16' | 'uint32';\n\n/** ArrowLike DataType class */\nexport type DataType =\n | 'null'\n // Primitive types\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 | 'binary'\n | 'utf8'\n | 'date-day'\n | 'date-millisecond'\n | 'time-second'\n | 'time-millisecond'\n | 'time-microsecond'\n | 'time-nanosecond'\n | 'timestamp-second'\n | 'timestamp-millisecond'\n | 'timestamp-microsecond'\n | 'timestamp-nanosecond'\n | 'interval-daytime'\n | 'interval-yearmonth'\n // Composite types\n | {type: 'list'; children: Field[]} // one child only\n | {type: 'struct'; children: Field[]}\n | {\n type: 'sparse-union';\n typeIds: Int32Array;\n children: Field[];\n typeIdToChildIndex: {[key: number]: number};\n }\n | {\n type: 'dense-union';\n typeIds: Int32Array;\n children: Field[];\n typeIdToChildIndex: {[key: number]: number};\n }\n | {type: 'fixed-size-binary'; byteWidth: number}\n | {type: 'fixed-size-list'; listSize: number; children: Field[]}\n | {type: 'map'; keysSorted: boolean; children: Field[]} // Field is \"struct\"\n | {type: 'dictionary'; id: number; indices: KeyType; dictionary: DataType; isOrdered: boolean};\n// TODO - unions etc\n\n/**\n * SchemaMetadata\n */\nexport type SchemaMetadata = Record<string, string>;\nexport type FieldMetadata = Record<string, string>;\n\nexport type Field = {\n name: string;\n type: DataType;\n nullable?: boolean;\n metadata?: FieldMetadata;\n};\n\n/**\n * `Schema` type that that can hold all data required by an Arrow Schema\n * but is fully serializable. Helper functions make it easy to convert to and from arrow schemas\n * https://loaders.gl/arrowjs/docs/api-reference/schema\n */\nexport type Schema = {\n fields: Field[];\n metadata: SchemaMetadata;\n};\n"],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- export type { TypedArray, TypedArrayConstructor, NumberArray, ArrayType, AnyArray } from './types/types';
2
- export type { Schema, Field, DataType, Batch, SchemaMetadata, FieldMetadata } from './types/schema';
3
- export type { Table, RowTable, ArrayRowTable, ObjectRowTable, GeoJSONRowTable, ColumnarTable, ArrowTable, Tables } from './types/category-table';
4
- export type { TableBatch, ArrayRowTableBatch, ObjectRowTableBatch, GeoJSONRowTableBatch, ColumnarTableBatch, ArrowTableBatch } from './types/category-table';
1
+ export type { TypedArray, BigTypedArray, TypedArrayConstructor, BigTypedArrayConstructor, NumberArray, ArrayType, AnyArray } from './types/types';
2
+ export type { Schema, Field, DataType, SchemaMetadata, FieldMetadata } from './types/schema';
3
+ export type { Batch } from './types/batch';
4
+ export type { Table, RowTable, ArrayRowTable, ObjectRowTable, GeoJSONTable, ColumnarTable, ArrowTable, Tables } from './types/category-table';
5
+ export type { TableBatch, ArrayRowTableBatch, ObjectRowTableBatch, GeoJSONTableBatch, ColumnarTableBatch, ArrowTableBatch } from './types/category-table';
5
6
  export { TableBatchBuilder } from './lib/table/batches/table-batch-builder';
6
7
  export type { TableBatchAggregator } from './lib/table/batches/table-batch-aggregator';
7
8
  export { RowTableBatchAggregator } from './lib/table/batches/row-table-batch-aggregator';
@@ -9,6 +10,7 @@ export { ColumnarTableBatchAggregator } from './lib/table/batches/columnar-table
9
10
  export { getTableLength, getTableNumCols, getTableCell, getTableRowShape, getTableColumnIndex, getTableColumnName, getTableRowAsObject, getTableRowAsArray, makeRowIterator, makeArrayRowIterator, makeObjectRowIterator } from './lib/table/simple-table/table-accessors';
10
11
  export { ArrowLikeTable } from './lib/table/arrow-api/arrow-like-table';
11
12
  export { makeTableFromData } from './lib/table/simple-table/make-table';
13
+ export { convertTable } from './lib/table/simple-table/convert-table';
12
14
  export { deduceTableSchema } from './lib/table/simple-table/table-schema';
13
15
  export { convertToObjectRow, convertToArrayRow } from './lib/table/simple-table/row-utils';
14
16
  export { getDataTypeFromArray } from './lib/table/simple-table/data-type';
@@ -21,7 +23,7 @@ export type { GeoJSON, Feature, FeatureCollection, Geometry, Position, GeoJsonPr
21
23
  export type { GeojsonGeometryInfo } from './types/category-gis';
22
24
  export type { FlatFeature, FlatIndexedGeometry, FlatGeometry, FlatGeometryType, FlatPoint, FlatLineString, FlatPolygon } from './types/category-gis';
23
25
  export type { BinaryGeometryType, BinaryGeometry, BinaryPointGeometry, BinaryLineGeometry, BinaryPolygonGeometry, BinaryAttribute } from './types/category-gis';
24
- export type { BinaryFeatures, BinaryPointFeatures, BinaryLineFeatures, BinaryPolygonFeatures } from './types/category-gis';
26
+ export type { BinaryFeatureCollection, BinaryFeature, BinaryPointFeature, BinaryLineFeature, BinaryPolygonFeature } from './types/category-gis';
25
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';
26
28
  export { getTypeInfo } from './lib/table/arrow-api/get-type-info';
27
29
  export { getArrowType } from './lib/table/arrow/arrow-type-utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,7 @@ export declare class ArrowLikeTable {
15
15
  schema: ArrowLikeSchema;
16
16
  table: Table;
17
17
  constructor(table: Table);
18
- get data(): any[][] | {
19
- [columnName: string]: any;
20
- }[] | import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[] | {
21
- [columnName: string]: ArrayLike<unknown>;
22
- } | import("apache-arrow").Table<any>;
18
+ get data(): unknown;
23
19
  get numCols(): number;
24
20
  get length(): number;
25
21
  getChild(columnName: string): ArrowLikeVector;
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-like-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AAEpD,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAgBpD,cAAM,eAAe;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;gBAEP,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM;IAK5C,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;CAU9B;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAUxB,IAAI,IAAI;;;;0CAEP;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;CAO9C"}
1
+ {"version":3,"file":"arrow-like-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/arrow-api/arrow-like-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,+BAA+B,CAAC;AAEpD,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAgBpD,cAAM,eAAe;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;gBAEP,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM;IAK5C,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;CAW9B;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;gBAED,KAAK,EAAE,KAAK;IAUxB,IAAI,IAAI,YAEP;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;CAO9C"}
@@ -6,9 +6,9 @@ export declare class RowTableBatchAggregator implements TableBatchAggregator {
6
6
  options: TableBatchOptions;
7
7
  length: number;
8
8
  objectRows: {
9
- [columnName: string]: any;
10
- } | null;
11
- arrayRows: any[] | null;
9
+ [columnName: string]: unknown;
10
+ }[] | null;
11
+ arrayRows: unknown[][] | null;
12
12
  cursor: number;
13
13
  private _headers;
14
14
  constructor(schema: Schema, options: TableBatchOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"row-table-batch-aggregator.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/batches/row-table-batch-aggregator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAC,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAIjF,qBAAa,uBAAwB,YAAW,oBAAoB;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAE3B,MAAM,EAAE,MAAM,CAAK;IACnB,UAAU,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAAG,IAAI,CAAQ;IACtD,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAQ;IAC/B,MAAM,EAAE,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;IActD,QAAQ,IAAI,MAAM;IAIlB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB9C,YAAY,CAAC,GAAG,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBrE,QAAQ,IAAI,UAAU,GAAG,IAAI;CAmB9B"}
1
+ {"version":3,"file":"row-table-batch-aggregator.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/batches/row-table-batch-aggregator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAC,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAIjF,qBAAa,uBAAwB,YAAW,oBAAoB;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAE3B,MAAM,EAAE,MAAM,CAAK;IACnB,UAAU,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,EAAE,GAAG,IAAI,CAAQ;IAC5D,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAAQ;IACrC,MAAM,EAAE,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;IActD,QAAQ,IAAI,MAAM;IAIlB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB9C,YAAY,CAAC,GAAG,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBrE,QAAQ,IAAI,UAAU,GAAG,IAAI;CAmB9B"}
@@ -1,8 +1,41 @@
1
- import { Table, ArrayRowTable, ObjectRowTable, ColumnarTable } from '../../../types/category-table';
1
+ import { Table, ArrayRowTable, ObjectRowTable, ColumnarTable, ArrowTable } from '../../../types/category-table';
2
+ export declare function convertTable(table: Table, shape: 'object-row-table'): ObjectRowTable;
3
+ export declare function convertTable(table: Table, shape: 'array-row-table'): ArrayRowTable;
4
+ export declare function convertTable(table: Table, shape: 'columnar-table'): ColumnarTable;
5
+ export declare function convertTable(table: Table, shape: 'arrow-table'): ArrowTable;
6
+ /**
7
+ * Convert a table to apache arrow format
8
+ * @note this depends on the `@loaders.gl/arrow module being imported
9
+ */
10
+ export declare function makeArrowTable(table: Table): Table;
2
11
  /** Convert any simple table into columnar format */
3
12
  export declare function makeColumnarTable(table: Table): ColumnarTable;
4
13
  /** Convert any table into array row format */
5
14
  export declare function makeArrayRowTable(table: Table): ArrayRowTable;
6
15
  /** Convert any table into object row format */
7
16
  export declare function makeObjectRowTable(table: Table): ObjectRowTable;
17
+ /**
18
+ /**
19
+ *
20
+ * @note - should be part of schema module
21
+ export function convertColumnarToRowFormatTable(columnarTable: ColumnarTable): ObjectRowTable {
22
+ const tableKeys = ;
23
+ const tableRowsCount = columnarTable[tableKeys[0]].length;
24
+
25
+ const objectRows: ObjectRowTable['data'] = [];
26
+
27
+ for (let index = 0; index < tableRowsCount; index++) {
28
+ const objectRow = {};
29
+ for (const fieldName of Object.keys(columnarTable.data)) {
30
+ objectRow[fieldName] = columnarTable[fieldName][index];
31
+ }
32
+ objectRows.push(objectRow);
33
+ }
34
+
35
+ return {
36
+ shape: 'object-row-table',
37
+ data: objectRows
38
+ };
39
+ }
40
+ */
8
41
  //# sourceMappingURL=convert-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/convert-table.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAIlG,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAyB7D;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAc7D;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc/D"}
1
+ {"version":3,"file":"convert-table.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/convert-table.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,+BAA+B,CAAC;AAIvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,GAAG,cAAc,CAAC;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,aAAa,CAAC;AACpF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAAC;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,GAAG,UAAU,CAAC;AA0B7E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAMlD;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAyB7D;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAc7D;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc/D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-accessors.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/table-accessors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAEnF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAkBnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAsBpD;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAuBxF;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAqB3F;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,GAAG,kBAAkB,CAarF;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED;;;;GAIG;AAEH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,GACZ;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CA6CjC;AAED;;;;GAIG;AAEH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,EAAE,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,EAAE,CA+CX;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAc7D;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc/D;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc9D;AAID;;;;GAIG;AACH,wBAAiB,eAAe,CAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,GAC5C,QAAQ,CAAC,OAAO,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAYhD;AAED;;;;GAIG;AACH,wBAAiB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAK/F;AAED;;;;GAIG;AACH,wBAAiB,qBAAqB,CACpC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAM,GACpC,QAAQ,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAKpC"}
1
+ {"version":3,"file":"table-accessors.d.ts","sourceRoot":"","sources":["../../../../src/lib/table/simple-table/table-accessors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAEnF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAqBnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAsBpD;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CA0BxF;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAyB3F;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,GAAG,kBAAkB,CAcrF;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED;;;;GAIG;AAEH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,EACxC,IAAI,CAAC,EAAE,MAAM,GACZ;IAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAwDjC;AAED;;;;GAIG;AAEH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,EAAE,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,EAAE,CA2DX;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAc7D;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc/D;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAc9D;AAID;;;;GAIG;AACH,wBAAiB,eAAe,CAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,GAC5C,QAAQ,CAAC,OAAO,EAAE,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAYhD;AAED;;;;GAIG;AACH,wBAAiB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAK/F;AAED;;;;GAIG;AACH,wBAAiB,qBAAqB,CACpC,KAAK,EAAE,KAAK,EACZ,MAAM,GAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAM,GACpC,QAAQ,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,CAAC,CAKpC"}
@@ -0,0 +1,34 @@
1
+ import { Schema } from './schema';
2
+ import type { RecordBatch } from 'apache-arrow';
3
+ /**
4
+ * A batch of data (or metadata/schema), from a streaming loader
5
+ * @see parseInBatches()
6
+ * @see loadInBatches()
7
+ */
8
+ export type Batch = {
9
+ /** A batch can contain metadata, data, or in case of unstructured data (JSON) */
10
+ batchType: 'data' | 'metadata' | 'partial-result' | 'final-result';
11
+ /** A string identifying the shape of data in this batch (table, etc) */
12
+ shape: string;
13
+ /** Schema of the data in this batch */
14
+ schema?: Schema;
15
+ /** Data in this batch */
16
+ data: unknown;
17
+ /** If this is an arrow table. @deprecated Use `data` */
18
+ recordBatch?: RecordBatch;
19
+ /** Length of data in this batch */
20
+ length: number;
21
+ /** A count of batches received */
22
+ batch?: number;
23
+ /** A count of batches received */
24
+ count?: number;
25
+ /** Bytes used so far */
26
+ bytesUsed?: number;
27
+ /** cursor is the */
28
+ cursor?: number;
29
+ /** MIME type of the data generating this batch */
30
+ mimeType?: string;
31
+ /** Any other data */
32
+ [key: string]: unknown;
33
+ };
34
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/types/batch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,cAAc,CAAC;IACnE,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qBAAqB;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { TypedArray } from './types';
2
+ export type BinaryAttribute = {
3
+ value: TypedArray;
4
+ size: number;
5
+ };
6
+ export type BinaryGeometryType = 'Point' | 'LineString' | 'Polygon';
7
+ type NumericProps = {
8
+ [key: string]: BinaryAttribute;
9
+ };
10
+ type Properties = object[];
11
+ /**
12
+ * Represent a single Geometry, similar to a GeoJSON Geometry
13
+ */
14
+ export type BinaryGeometry = BinaryPointGeometry | BinaryLineGeometry | BinaryPolygonGeometry;
15
+ /** Binary point geometry: an array of positions */
16
+ export type BinaryPointGeometry = {
17
+ type: 'Point';
18
+ positions: BinaryAttribute;
19
+ };
20
+ /** Binary line geometry, array of positions and indices to the start of each line */
21
+ export type BinaryLineGeometry = {
22
+ type: 'LineString';
23
+ positions: BinaryAttribute;
24
+ pathIndices: BinaryAttribute;
25
+ };
26
+ /** Binary polygon geometry, an array of positions to each primitite polygon and polygon */
27
+ export type BinaryPolygonGeometry = {
28
+ type: 'Polygon';
29
+ positions: BinaryAttribute;
30
+ polygonIndices: BinaryAttribute;
31
+ primitivePolygonIndices: BinaryAttribute;
32
+ triangles?: BinaryAttribute;
33
+ };
34
+ /** Common properties for binary geometries */
35
+ export type BinaryProperties = {
36
+ featureIds: BinaryAttribute;
37
+ globalFeatureIds: BinaryAttribute;
38
+ numericProps: NumericProps;
39
+ properties: Properties;
40
+ fields?: Properties;
41
+ };
42
+ /** Binary feature + binary attributes */
43
+ export type BinaryFeature = BinaryPointFeature | BinaryLineFeature | BinaryPolygonFeature;
44
+ export type BinaryPointFeature = BinaryPointGeometry & BinaryProperties;
45
+ export type BinaryLineFeature = BinaryLineGeometry & BinaryProperties;
46
+ export type BinaryPolygonFeature = BinaryPolygonGeometry & BinaryProperties;
47
+ /**
48
+ * Represent a collection of Features, similar to a GeoJSON FeatureCollection
49
+ */
50
+ export type BinaryFeatureCollection = {
51
+ points?: BinaryPointFeature;
52
+ lines?: BinaryLineFeature;
53
+ polygons?: BinaryPolygonFeature;
54
+ };
55
+ export {};
56
+ //# sourceMappingURL=binary-geometries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-geometries.d.ts","sourceRoot":"","sources":["../../src/types/binary-geometries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAIxC,MAAM,MAAM,eAAe,GAAG;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;AAEpE,KAAK,YAAY,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAC,CAAC;AACrD,KAAK,UAAU,GAAG,MAAM,EAAE,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAE9F,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;IAC3B,cAAc,EAAE,eAAe,CAAC;IAChC,uBAAuB,EAAE,eAAe,CAAC;IACzC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE1F,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { TypedArray } from './types';
2
- import type { Feature, Geometry, Point, LineString, Polygon } from 'geojson';
3
1
  export type { GeoJSON, Feature, FeatureCollection, Geometry, Position, GeoJsonProperties } from 'geojson';
4
2
  export type { Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection } from 'geojson';
3
+ export type { FlatGeometryType, FlatIndexedGeometry, FlatPoint, FlatLineString, FlatPolygon, FlatGeometry, FlatFeature } from './flat-geometries';
4
+ export type { BinaryAttribute, BinaryGeometryType, BinaryGeometry, BinaryPointGeometry, BinaryLineGeometry, BinaryPolygonGeometry, BinaryProperties, BinaryFeatureCollection, BinaryFeature, BinaryPointFeature, BinaryLineFeature, BinaryPolygonFeature } from './binary-geometries';
5
+ /** Aggregate information for converting GeoJSON into other formats */
5
6
  export type GeojsonGeometryInfo = {
6
7
  coordLength: number;
7
8
  pointPositionsCount: number;
@@ -14,86 +15,4 @@ export type GeojsonGeometryInfo = {
14
15
  polygonRingsCount: number;
15
16
  polygonFeaturesCount: number;
16
17
  };
17
- export type FlatGeometryType = 'Point' | 'LineString' | 'Polygon';
18
- type RemoveCoordinatesField<Type> = {
19
- [Property in keyof Type as Exclude<Property, 'coordinates'>]: Type[Property];
20
- };
21
- /**
22
- * Generic flat geometry data storage type
23
- */
24
- export type FlatIndexedGeometry = {
25
- data: number[];
26
- indices: number[];
27
- };
28
- /**
29
- * GeoJSON (Multi)Point geometry with coordinate data flattened into `data` array and indexed by `indices`
30
- */
31
- export type FlatPoint = RemoveCoordinatesField<Point> & FlatIndexedGeometry;
32
- /**
33
- * GeoJSON (Multi)LineString geometry with coordinate data flattened into `data` array and indexed by `indices`
34
- */
35
- export type FlatLineString = RemoveCoordinatesField<LineString> & FlatIndexedGeometry;
36
- /**
37
- * GeoJSON (Multi)Polygon geometry with coordinate data flattened into `data` array and indexed by 2D `indices`
38
- */
39
- export type FlatPolygon = RemoveCoordinatesField<Polygon> & {
40
- data: number[];
41
- indices: number[][];
42
- areas: number[][];
43
- };
44
- export type FlatGeometry = FlatPoint | FlatLineString | FlatPolygon;
45
- type FlattenGeometry<Type> = {
46
- [Property in keyof Type]: Type[Property] extends Geometry ? FlatGeometry : Type[Property];
47
- };
48
- /**
49
- * GeoJSON Feature with Geometry replaced by FlatGeometry
50
- */
51
- export type FlatFeature = FlattenGeometry<Feature>;
52
- export type BinaryAttribute = {
53
- value: TypedArray;
54
- size: number;
55
- };
56
- export type BinaryGeometryType = 'Point' | 'LineString' | 'Polygon';
57
- type NumericProps = {
58
- [key: string]: BinaryAttribute;
59
- };
60
- type Properties = object[];
61
- /**
62
- * Represent a single Geometry, similar to a GeoJSON Geometry
63
- */
64
- export type BinaryGeometry = BinaryPointGeometry | BinaryLineGeometry | BinaryPolygonGeometry;
65
- export type BinaryPointGeometry = {
66
- type: 'Point';
67
- positions: BinaryAttribute;
68
- };
69
- export type BinaryLineGeometry = {
70
- type: 'LineString';
71
- positions: BinaryAttribute;
72
- pathIndices: BinaryAttribute;
73
- };
74
- export type BinaryPolygonGeometry = {
75
- type: 'Polygon';
76
- positions: BinaryAttribute;
77
- polygonIndices: BinaryAttribute;
78
- primitivePolygonIndices: BinaryAttribute;
79
- triangles?: BinaryAttribute;
80
- };
81
- export type BinaryProperties = {
82
- featureIds: BinaryAttribute;
83
- globalFeatureIds: BinaryAttribute;
84
- numericProps: NumericProps;
85
- properties: Properties;
86
- fields?: Properties;
87
- };
88
- export type BinaryPointFeatures = BinaryPointGeometry & BinaryProperties;
89
- export type BinaryLineFeatures = BinaryLineGeometry & BinaryProperties;
90
- export type BinaryPolygonFeatures = BinaryPolygonGeometry & BinaryProperties;
91
- /**
92
- * Represent a collection of Features, similar to a GeoJSON FeatureCollection
93
- */
94
- export type BinaryFeatures = {
95
- points?: BinaryPointFeatures;
96
- lines?: BinaryLineFeatures;
97
- polygons?: BinaryPolygonFeatures;
98
- };
99
18
  //# sourceMappingURL=category-gis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-gis.d.ts","sourceRoot":"","sources":["../../src/types/category-gis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category-gis.d.ts","sourceRoot":"","sources":["../../src/types/category-gis.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,OAAO,EACP,YAAY,EACZ,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC"}
@@ -10,7 +10,7 @@ export type ImageDataType = {
10
10
  /**
11
11
  * Supported Image Types
12
12
  */
13
- export type ImageType = ImageBitmap | typeof Image | ImageDataType;
13
+ export type ImageType = ImageBitmap | ImageDataType | HTMLImageElement;
14
14
  /**
15
15
  * Image type string used to control or determine the type of images returned from ImageLoader
16
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"category-image.d.ts","sourceRoot":"","sources":["../../src/types/category-image.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,KAAK,GAAG,aAAa,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"category-image.d.ts","sourceRoot":"","sources":["../../src/types/category-image.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC"}
@@ -1,10 +1,12 @@
1
- import type { Table as ApacheArrowTable, RecordBatch } from 'apache-arrow';
2
- import type { Batch, Schema } from './schema';
1
+ import type { Schema } from './schema';
2
+ import type { Batch } from './batch';
3
3
  import type { Feature } from './category-gis';
4
+ type ApacheArrowTable = unknown;
5
+ type ApacheRecordBatch = unknown;
4
6
  /** A general table */
5
- export type Table = RowTable | ArrayRowTable | ObjectRowTable | GeoJSONRowTable | ColumnarTable | ArrowTable;
7
+ export type Table = RowTable | ArrayRowTable | ObjectRowTable | GeoJSONTable | ColumnarTable | ArrowTable;
6
8
  /** A table organized as an array of rows */
7
- export type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONRowTable;
9
+ export type RowTable = ArrayRowTable | ObjectRowTable | GeoJSONTable;
8
10
  /** A table organized as an array of rows, each row is an array of values */
9
11
  export type ArrayRowTable = {
10
12
  shape: 'array-row-table';
@@ -19,11 +21,17 @@ export type ObjectRowTable = {
19
21
  [columnName: string]: any;
20
22
  }[];
21
23
  };
22
- /** A table organized as an array of rows, each row is a GeoJSON Feature */
23
- export type GeoJSONRowTable = {
24
- shape: 'geojson-row-table';
24
+ /**
25
+ * A table organized as an array of rows, each row is a GeoJSON Feature
26
+ * @note For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data`
27
+ */
28
+ export type GeoJSONTable = {
29
+ shape: 'geojson-table';
25
30
  schema?: Schema;
26
- data: Feature[];
31
+ /** For compatibility with GeoJSON, the type field must always be set to `FeatureCollection` */
32
+ type: 'FeatureCollection';
33
+ /** For compatibility with GeoJSON, rows are stored in `table.features` instead of `table.data` */
34
+ features: Feature[];
27
35
  };
28
36
  /** A table organized as a map of columns, each column is an array of value */
29
37
  export type ColumnarTable = {
@@ -48,39 +56,51 @@ export type Tables<TableType = Table> = {
48
56
  }[];
49
57
  };
50
58
  /** Batch for a general table */
51
- export type TableBatch = Batch & {
52
- data: any;
53
- length: number;
54
- schema?: Schema;
55
- schemaType?: 'explicit' | 'deduced';
56
- };
59
+ export type TableBatch = ArrayRowTableBatch | ObjectRowTableBatch | GeoJSONTableBatch | ColumnarTableBatch | ArrowTableBatch;
57
60
  /** Batch for a table organized as an array of rows, each row is an array of values */
58
- export type ArrayRowTableBatch = TableBatch & {
61
+ export type ArrayRowTableBatch = Batch & {
59
62
  shape: 'array-row-table';
63
+ schema?: Schema;
64
+ schemaType?: 'explicit' | 'deduced';
60
65
  data: any[][];
66
+ length: number;
61
67
  };
62
68
  /** Batch for a table organized as an array of rows, each row is an object mapping columns to values */
63
- export type ObjectRowTableBatch = TableBatch & {
69
+ export type ObjectRowTableBatch = Batch & {
64
70
  shape: 'object-row-table';
71
+ schema?: Schema;
72
+ schemaType?: 'explicit' | 'deduced';
65
73
  data: {
66
74
  [columnName: string]: any;
67
75
  }[];
76
+ length: number;
68
77
  };
69
78
  /** Batch for a table organized as an array of rows, each row is an array of values */
70
- export type GeoJSONRowTableBatch = TableBatch & {
71
- shape: 'geojson-row-table';
72
- data: Feature[];
79
+ export type GeoJSONTableBatch = Batch & {
80
+ shape: 'geojson-table';
81
+ schema?: Schema;
82
+ schemaType?: 'explicit' | 'deduced';
83
+ type: 'FeatureCollection';
84
+ features: Feature[];
85
+ length: number;
73
86
  };
74
87
  /** Batch for a table organized as a map of columns, each column is an array of value */
75
- export type ColumnarTableBatch = TableBatch & {
88
+ export type ColumnarTableBatch = Batch & {
76
89
  shape: 'columnar-table';
90
+ schemaType?: 'explicit' | 'deduced';
91
+ schema?: Schema;
77
92
  data: {
78
93
  [columnName: string]: ArrayLike<unknown>;
79
94
  };
95
+ length: number;
80
96
  };
81
97
  /** Batch for a table organized as an Apache Arrow table */
82
- export type ArrowTableBatch = TableBatch & {
98
+ export type ArrowTableBatch = Batch & {
83
99
  shape: 'arrow-table';
84
- data: RecordBatch;
100
+ schemaType?: 'explicit' | 'deduced';
101
+ schema?: Schema;
102
+ data: ApacheRecordBatch;
103
+ length: number;
85
104
  };
105
+ export {};
86
106
  //# sourceMappingURL=category-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-table.d.ts","sourceRoot":"","sources":["../../src/types/category-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category-table.d.ts","sourceRoot":"","sources":["../../src/types/category-table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Feature, Geometry, Point, LineString, Polygon } from 'geojson';
2
+ /** Flat geometry type */
3
+ export type FlatGeometryType = 'Point' | 'LineString' | 'Polygon';
4
+ type RemoveCoordinatesField<Type> = {
5
+ [Property in keyof Type as Exclude<Property, 'coordinates'>]: Type[Property];
6
+ };
7
+ /** Generic flat geometry data storage type */
8
+ export type FlatIndexedGeometry = {
9
+ data: number[];
10
+ indices: number[];
11
+ };
12
+ /** GeoJSON (Multi)Point geometry with coordinate data flattened into `data` array and indexed by `indices` */
13
+ export type FlatPoint = RemoveCoordinatesField<Point> & FlatIndexedGeometry;
14
+ /** GeoJSON (Multi)LineString geometry with coordinate data flattened into `data` array and indexed by `indices` */
15
+ export type FlatLineString = RemoveCoordinatesField<LineString> & FlatIndexedGeometry;
16
+ /** GeoJSON (Multi)Polygon geometry with coordinate data flattened into `data` array and indexed by 2D `indices` */
17
+ export type FlatPolygon = RemoveCoordinatesField<Polygon> & {
18
+ data: number[];
19
+ indices: number[][];
20
+ areas: number[][];
21
+ };
22
+ /** GeoJSON geometry with coordinate data flattened into `data` array and indexed by 2D `indices` */
23
+ export type FlatGeometry = FlatPoint | FlatLineString | FlatPolygon;
24
+ type FlattenGeometry<Type> = {
25
+ [Property in keyof Type]: Type[Property] extends Geometry ? FlatGeometry : Type[Property];
26
+ };
27
+ /** GeoJSON Feature with Geometry replaced by FlatGeometry */
28
+ export type FlatFeature = FlattenGeometry<Feature>;
29
+ export {};
30
+ //# sourceMappingURL=flat-geometries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flat-geometries.d.ts","sourceRoot":"","sources":["../../src/types/flat-geometries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AAE3E,yBAAyB;AACzB,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;AAElE,KAAK,sBAAsB,CAAC,IAAI,IAAI;KACjC,QAAQ,IAAI,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;CAC7E,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,8GAA8G;AAC9G,MAAM,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC;AAE5E,mHAAmH;AACnH,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAC;AAEtF,mHAAmH;AACnH,MAAM,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG;IAC1D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;CACnB,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,WAAW,CAAC;AAEpE,KAAK,eAAe,CAAC,IAAI,IAAI;KAC1B,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;CAC1F,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC"}