@loaders.gl/arrow 4.0.4 → 4.1.0-alpha.10

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 (109) hide show
  1. package/dist/arrow-loader.d.ts +1 -0
  2. package/dist/arrow-loader.d.ts.map +1 -1
  3. package/dist/arrow-loader.js +1 -1
  4. package/dist/arrow-loader.js.map +1 -1
  5. package/dist/arrow-worker.js +241 -3
  6. package/dist/arrow-writer.js +1 -1
  7. package/dist/arrow-writer.js.map +1 -1
  8. package/dist/dist.dev.js +1496 -641
  9. package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts +8 -4
  10. package/dist/geoarrow/convert-geoarrow-to-binary-geometry.d.ts.map +1 -1
  11. package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js +75 -54
  12. package/dist/geoarrow/convert-geoarrow-to-binary-geometry.js.map +1 -1
  13. package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.d.ts +13 -0
  14. package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.d.ts.map +1 -0
  15. package/dist/geoarrow/{convert-geoarrow-to-geojson.js → convert-geoarrow-to-geojson-geometry.js} +34 -27
  16. package/dist/geoarrow/convert-geoarrow-to-geojson-geometry.js.map +1 -0
  17. package/dist/geoarrow/get-arrow-bounds.d.ts.map +1 -1
  18. package/dist/geoarrow/get-arrow-bounds.js.map +1 -1
  19. package/dist/geoarrow-loader.d.ts.map +1 -1
  20. package/dist/geoarrow-loader.js +0 -1
  21. package/dist/geoarrow-loader.js.map +1 -1
  22. package/dist/geoarrow-writer.js +1 -1
  23. package/dist/geoarrow-writer.js.map +1 -1
  24. package/dist/index.cjs +436 -347
  25. package/dist/index.d.ts +5 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +4 -3
  28. package/dist/index.js.map +1 -1
  29. package/dist/lib/arrow-table-batch.d.ts.map +1 -1
  30. package/dist/lib/arrow-table-batch.js.map +1 -1
  31. package/dist/lib/arrow-table.d.ts.map +1 -1
  32. package/dist/lib/arrow-table.js.map +1 -1
  33. package/dist/lib/encode-arrow.d.ts.map +1 -1
  34. package/dist/lib/encode-arrow.js.map +1 -1
  35. package/dist/lib/encode-geoarrow.d.ts.map +1 -1
  36. package/dist/lib/encode-geoarrow.js.map +1 -1
  37. package/dist/parsers/parse-arrow-in-batches.d.ts +2 -1
  38. package/dist/parsers/parse-arrow-in-batches.d.ts.map +1 -1
  39. package/dist/parsers/parse-arrow-in-batches.js +8 -1
  40. package/dist/parsers/parse-arrow-in-batches.js.map +1 -1
  41. package/dist/parsers/parse-arrow-sync.d.ts.map +1 -1
  42. package/dist/parsers/parse-arrow-sync.js +2 -0
  43. package/dist/parsers/parse-arrow-sync.js.map +1 -1
  44. package/dist/parsers/parse-geoarrow-in-batches.d.ts.map +1 -1
  45. package/dist/parsers/parse-geoarrow-in-batches.js.map +1 -1
  46. package/dist/parsers/parse-geoarrow-sync.d.ts.map +1 -1
  47. package/dist/parsers/parse-geoarrow-sync.js.map +1 -1
  48. package/dist/schema/arrow-type-utils.d.ts.map +1 -1
  49. package/dist/schema/arrow-type-utils.js.map +1 -1
  50. package/dist/schema/convert-arrow-schema.d.ts.map +1 -1
  51. package/dist/schema/convert-arrow-schema.js.map +1 -1
  52. package/dist/tables/convert-arrow-to-columnar-table.d.ts.map +1 -1
  53. package/dist/tables/convert-arrow-to-columnar-table.js +1 -0
  54. package/dist/tables/convert-arrow-to-columnar-table.js.map +1 -1
  55. package/dist/tables/convert-arrow-to-geojson-table.d.ts +1 -1
  56. package/dist/tables/convert-arrow-to-geojson-table.d.ts.map +1 -1
  57. package/dist/tables/convert-arrow-to-geojson-table.js +14 -8
  58. package/dist/tables/convert-arrow-to-geojson-table.js.map +1 -1
  59. package/dist/tables/convert-columnar-to-row-table.d.ts.map +1 -1
  60. package/dist/tables/convert-columnar-to-row-table.js +1 -0
  61. package/dist/tables/convert-columnar-to-row-table.js.map +1 -1
  62. package/dist/tables/convert-table-to-arrow.d.ts.map +1 -1
  63. package/dist/tables/convert-table-to-arrow.js.map +1 -1
  64. package/dist/triangulate-on-worker.d.ts +40 -6
  65. package/dist/triangulate-on-worker.d.ts.map +1 -1
  66. package/dist/triangulate-on-worker.js +12 -2
  67. package/dist/triangulate-on-worker.js.map +1 -1
  68. package/dist/triangulation-worker.js +11703 -34
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/types.js.map +1 -1
  71. package/dist/workers/arrow-worker.js.map +1 -1
  72. package/dist/workers/hard-clone.d.ts +23 -0
  73. package/dist/workers/hard-clone.d.ts.map +1 -0
  74. package/dist/workers/hard-clone.js +57 -0
  75. package/dist/workers/hard-clone.js.map +1 -0
  76. package/dist/workers/triangulation-worker-node.d.ts.map +1 -1
  77. package/dist/workers/triangulation-worker-node.js.map +1 -1
  78. package/dist/workers/triangulation-worker.js +37 -2
  79. package/dist/workers/triangulation-worker.js.map +1 -1
  80. package/package.json +18 -12
  81. package/src/arrow-loader.ts +3 -1
  82. package/src/geoarrow/convert-geoarrow-to-binary-geometry.ts +105 -62
  83. package/src/geoarrow/{convert-geoarrow-to-geojson.ts → convert-geoarrow-to-geojson-geometry.ts} +58 -47
  84. package/src/geoarrow/get-arrow-bounds.ts +2 -1
  85. package/src/geoarrow-loader.ts +2 -5
  86. package/src/index.ts +11 -4
  87. package/src/lib/arrow-table-batch.ts +2 -1
  88. package/src/lib/arrow-table.ts +2 -1
  89. package/src/lib/encode-arrow.ts +2 -1
  90. package/src/lib/encode-geoarrow.ts +2 -1
  91. package/src/parsers/parse-arrow-in-batches.ts +9 -2
  92. package/src/parsers/parse-arrow-sync.ts +8 -2
  93. package/src/parsers/parse-geoarrow-in-batches.ts +2 -1
  94. package/src/parsers/parse-geoarrow-sync.ts +2 -1
  95. package/src/schema/arrow-type-utils.ts +2 -1
  96. package/src/schema/convert-arrow-schema.ts +2 -1
  97. package/src/tables/convert-arrow-to-columnar-table.ts +3 -1
  98. package/src/tables/convert-arrow-to-geojson-table.ts +20 -8
  99. package/src/tables/convert-columnar-to-row-table.ts +3 -1
  100. package/src/tables/convert-table-to-arrow.ts +2 -1
  101. package/src/triangulate-on-worker.ts +53 -9
  102. package/src/types.ts +2 -1
  103. package/src/workers/arrow-worker.ts +2 -1
  104. package/src/workers/hard-clone.ts +162 -0
  105. package/src/workers/triangulation-worker-node.ts +2 -1
  106. package/src/workers/triangulation-worker.ts +59 -4
  107. package/dist/geoarrow/convert-geoarrow-to-geojson.d.ts +0 -20
  108. package/dist/geoarrow/convert-geoarrow-to-geojson.d.ts.map +0 -1
  109. package/dist/geoarrow/convert-geoarrow-to-geojson.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"convert-table-to-arrow.js","names":[],"sources":["../../src/tables/convert-table-to-arrow.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\n// import {\n// Table as ApacheArrowTable,\n// Schema as ApacheArrowSchema,\n// RecordBatch,\n// FixedSizeList,\n// Field,\n// Data,\n// FixedSizeListVector\n// } from 'apache-arrow/Arrow.dom';\n// import {AbstractVector} from 'apache-arrow/vector';\n\n// import {Table} from '../../types/category-table';\n// import {getArrowType, getArrowVector} from './arrow-type-utils';\n// import {makeMeshAttributeMetadata} from './deduce-mesh-schema';\n// import {getTableLength, getTableNumCols} from './table-accessors';\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 convertTableToArrow(table: Table, options?: {batchSize?: number}): ArrowTable {\n const vectors: AbstractVector[] = [];\n const fields: Field[] = [];\n\n const length = getTableLength(table);\n const batchSize = options?.batchSize || length;\n\n const recordBatches: RecordBatch[] = [];\n for (let i = 0; i < length; i += batchSize) {\n for (let columnIndex = 0; columnIndex < getTableNumCols(table); ++columnIndex) {\n const field_ = table.schema.fields[columnIndex];\n const column = getTableColumnAt(table, columnIndex, i, batchSize);\n const type = getArrowType(column);\n const vector = getArrowVector(column);\n const listType = new FixedSizeList(size, new Field('value', type));\n const field = new Field(field_.name, 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\n for (const attributeKey in table.columns) {\n const attribute = mesh.attributes[attributeKey];\n const {value, size = 1} = attribute;\n }\n\n const schema = new ApacheArrowSchema(fields, table?.schema?.metadata || new Map<string, string>());\n const recordBatch = new RecordBatch(schema, vectors[0].length, vectors);\n const apacheArrowTable = new ApacheArrowTable(schema, recordBatch);\n\n return apacheArrowTable;\n}\n*/\n"],"mappings":""}
1
+ {"version":3,"file":"convert-table-to-arrow.js","names":[],"sources":["../../src/tables/convert-table-to-arrow.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// import {\n// Table as ApacheArrowTable,\n// Schema as ApacheArrowSchema,\n// RecordBatch,\n// FixedSizeList,\n// Field,\n// Data,\n// FixedSizeListVector\n// } from 'apache-arrow/Arrow.dom';\n// import {AbstractVector} from 'apache-arrow/vector';\n\n// import {Table} from '../../types/category-table';\n// import {getArrowType, getArrowVector} from './arrow-type-utils';\n// import {makeMeshAttributeMetadata} from './deduce-mesh-schema';\n// import {getTableLength, getTableNumCols} from './table-accessors';\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 convertTableToArrow(table: Table, options?: {batchSize?: number}): ArrowTable {\n const vectors: AbstractVector[] = [];\n const fields: Field[] = [];\n\n const length = getTableLength(table);\n const batchSize = options?.batchSize || length;\n\n const recordBatches: RecordBatch[] = [];\n for (let i = 0; i < length; i += batchSize) {\n for (let columnIndex = 0; columnIndex < getTableNumCols(table); ++columnIndex) {\n const field_ = table.schema.fields[columnIndex];\n const column = getTableColumnAt(table, columnIndex, i, batchSize);\n const type = getArrowType(column);\n const vector = getArrowVector(column);\n const listType = new FixedSizeList(size, new Field('value', type));\n const field = new Field(field_.name, 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\n for (const attributeKey in table.columns) {\n const attribute = mesh.attributes[attributeKey];\n const {value, size = 1} = attribute;\n }\n\n const schema = new ApacheArrowSchema(fields, table?.schema?.metadata || new Map<string, string>());\n const recordBatch = new RecordBatch(schema, vectors[0].length, vectors);\n const apacheArrowTable = new ApacheArrowTable(schema, recordBatch);\n\n return apacheArrowTable;\n}\n*/\n"],"mappings":""}
@@ -1,15 +1,44 @@
1
+ import * as arrow from 'apache-arrow';
1
2
  import type { WorkerOptions } from '@loaders.gl/worker-utils';
2
- export type TriangulationWorkerInput = TriangulateInput | {
3
+ import { BinaryDataFromGeoArrow, GeoArrowEncoding } from '@loaders.gl/arrow';
4
+ export type TriangulationWorkerInput = ({
5
+ operation: 'triangulate';
6
+ } & TriangulateInput) | ParseGeoArrowInput | {
3
7
  operation: 'test';
4
8
  data: any;
5
9
  };
6
- export type TriangulationWorkerOutput = TriangulateResult | {
10
+ export type TriangulationWorkerOutput = ({
11
+ operation: 'triangulate';
12
+ } & TriangulateResult) | ({
13
+ operation: 'parse-geoarrow';
14
+ } & ParseGeoArrowResult) | {
7
15
  operation: 'test';
8
16
  data: any;
9
17
  };
18
+ type GeoArrowChunkData = {
19
+ type: arrow.DataType;
20
+ offset: number;
21
+ length: number;
22
+ nullCount: number;
23
+ buffers: any;
24
+ children: arrow.Data[];
25
+ dictionary?: arrow.Vector;
26
+ };
27
+ export type ParseGeoArrowInput = {
28
+ operation: 'parse-geoarrow';
29
+ chunkData: GeoArrowChunkData;
30
+ chunkIndex: number;
31
+ chunkOffset: number;
32
+ geometryEncoding: GeoArrowEncoding;
33
+ calculateMeanCenters: boolean;
34
+ triangle: boolean;
35
+ };
36
+ export type ParseGeoArrowResult = {
37
+ chunkIndex: number;
38
+ binaryDataFromGeoArrow: BinaryDataFromGeoArrow | null;
39
+ };
10
40
  /** Input data for operation: 'triangulate' */
11
41
  export type TriangulateInput = {
12
- operation: 'triangulate';
13
42
  polygonIndices: Uint16Array;
14
43
  primitivePolygonIndices: Int32Array;
15
44
  flatCoordinateArray: Float64Array;
@@ -17,7 +46,7 @@ export type TriangulateInput = {
17
46
  };
18
47
  /** Result type for operation: 'triangulate' */
19
48
  export type TriangulateResult = TriangulateInput & {
20
- triangleIndices: Uint32Array;
49
+ triangleIndices?: Uint32Array;
21
50
  };
22
51
  /**
23
52
  * Worker for tessellating geometries. Normally called through triangulateOnWorker
@@ -30,7 +59,12 @@ export declare const TriangulationWorker: {
30
59
  options: {};
31
60
  };
32
61
  /**
33
- * Provide type safety
62
+ * Triangulate a set of polygons on worker, type safe API
63
+ */
64
+ export declare function triangulateOnWorker(data: TriangulateInput, options?: WorkerOptions): Promise<TriangulateResult>;
65
+ /**
66
+ * Parse GeoArrow geometry colum on worker, type safe API
34
67
  */
35
- export declare function triangulateOnWorker(data: TriangulationWorkerInput, options?: WorkerOptions): Promise<TriangulationWorkerOutput>;
68
+ export declare function parseGeoArrowOnWorker(data: ParseGeoArrowInput, options?: WorkerOptions): Promise<ParseGeoArrowResult>;
69
+ export {};
36
70
  //# sourceMappingURL=triangulate-on-worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triangulate-on-worker.d.ts","sourceRoot":"","sources":["../src/triangulate-on-worker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAO5D,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AACzF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AAE3F,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,cAAc,EAAE,WAAW,CAAC;IAC5B,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,YAAY,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,eAAe,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,wBAAwB,EAC9B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAEpC"}
1
+ {"version":3,"file":"triangulate-on-worker.d.ts","sourceRoot":"","sources":["../src/triangulate-on-worker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAM3E,MAAM,MAAM,wBAAwB,GAChC,CAAC;IAAC,SAAS,EAAE,aAAa,CAAA;CAAC,GAAG,gBAAgB,CAAC,GAC/C,kBAAkB,GAClB;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AAEnC,MAAM,MAAM,yBAAyB,GACjC,CAAC;IAAC,SAAS,EAAE,aAAa,CAAA;CAAC,GAAG,iBAAiB,CAAC,GAChD,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAA;CAAC,GAAG,mBAAmB,CAAC,GACrD;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAC,CAAC;AAEnC,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACvD,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,WAAW,CAAC;IAC5B,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,YAAY,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,eAAe,CAAC,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
@@ -1,5 +1,5 @@
1
1
  import { processOnWorker } from '@loaders.gl/worker-utils';
2
- const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
2
+ const VERSION = typeof "4.1.0-alpha.10" !== 'undefined' ? "4.1.0-alpha.10" : 'latest';
3
3
  export const TriangulationWorker = {
4
4
  id: 'triangulation',
5
5
  name: 'Triangulate',
@@ -9,6 +9,16 @@ export const TriangulationWorker = {
9
9
  };
10
10
  export function triangulateOnWorker(data) {
11
11
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12
- return processOnWorker(TriangulationWorker, data, options);
12
+ return processOnWorker(TriangulationWorker, {
13
+ ...data,
14
+ operation: 'triangulate'
15
+ }, options);
16
+ }
17
+ export function parseGeoArrowOnWorker(data) {
18
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19
+ return processOnWorker(TriangulationWorker, {
20
+ ...data,
21
+ operation: 'parse-geoarrow'
22
+ }, options);
13
23
  }
14
24
  //# sourceMappingURL=triangulate-on-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"triangulate-on-worker.js","names":["processOnWorker","VERSION","__VERSION__","TriangulationWorker","id","name","module","version","options","triangulateOnWorker","data","arguments","length","undefined"],"sources":["../src/triangulate-on-worker.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nimport type {WorkerOptions} from '@loaders.gl/worker-utils';\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type TriangulationWorkerInput = TriangulateInput | {operation: 'test'; data: any};\nexport type TriangulationWorkerOutput = TriangulateResult | {operation: 'test'; data: any};\n\n/** Input data for operation: 'triangulate' */\nexport type TriangulateInput = {\n operation: 'triangulate';\n polygonIndices: Uint16Array;\n primitivePolygonIndices: Int32Array;\n flatCoordinateArray: Float64Array;\n nDim: number;\n};\n\n/** Result type for operation: 'triangulate' */\nexport type TriangulateResult = TriangulateInput & {\n triangleIndices: Uint32Array;\n};\n\n/**\n * Worker for tessellating geometries. Normally called through triangulateOnWorker\n */\nexport const TriangulationWorker = {\n id: 'triangulation',\n name: 'Triangulate',\n module: 'arrow',\n version: VERSION,\n options: {}\n};\n\n/**\n * Provide type safety\n */\nexport function triangulateOnWorker(\n data: TriangulationWorkerInput,\n options: WorkerOptions = {}\n): Promise<TriangulationWorkerOutput> {\n return processOnWorker(TriangulationWorker, data, options);\n}\n"],"mappings":"AAIA,SAAQA,eAAe,QAAO,0BAA0B;AAIxD,MAAMC,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAsB3E,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,EAAE,EAAE,eAAe;EACnBC,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEN,OAAO;EAChBO,OAAO,EAAE,CAAC;AACZ,CAAC;AAKD,OAAO,SAASC,mBAAmBA,CACjCC,IAA8B,EAEM;EAAA,IADpCF,OAAsB,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE3B,OAAOX,eAAe,CAACG,mBAAmB,EAAEO,IAAI,EAAEF,OAAO,CAAC;AAC5D"}
1
+ {"version":3,"file":"triangulate-on-worker.js","names":["processOnWorker","VERSION","TriangulationWorker","id","name","module","version","options","triangulateOnWorker","data","arguments","length","undefined","operation","parseGeoArrowOnWorker"],"sources":["../src/triangulate-on-worker.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport * as arrow from 'apache-arrow';\nimport type {WorkerOptions} from '@loaders.gl/worker-utils';\nimport {processOnWorker} from '@loaders.gl/worker-utils';\nimport {BinaryDataFromGeoArrow, GeoArrowEncoding} from '@loaders.gl/arrow';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type TriangulationWorkerInput =\n | ({operation: 'triangulate'} & TriangulateInput)\n | ParseGeoArrowInput\n | {operation: 'test'; data: any};\n\nexport type TriangulationWorkerOutput =\n | ({operation: 'triangulate'} & TriangulateResult)\n | ({operation: 'parse-geoarrow'} & ParseGeoArrowResult)\n | {operation: 'test'; data: any};\n\ntype GeoArrowChunkData = {\n type: arrow.DataType;\n offset: number;\n length: number;\n nullCount: number;\n buffers: any;\n children: arrow.Data[];\n dictionary?: arrow.Vector;\n};\n\nexport type ParseGeoArrowInput = {\n operation: 'parse-geoarrow';\n chunkData: GeoArrowChunkData;\n chunkIndex: number;\n chunkOffset: number;\n geometryEncoding: GeoArrowEncoding;\n calculateMeanCenters: boolean;\n triangle: boolean;\n};\n\nexport type ParseGeoArrowResult = {\n chunkIndex: number;\n binaryDataFromGeoArrow: BinaryDataFromGeoArrow | null;\n};\n\n/** Input data for operation: 'triangulate' */\nexport type TriangulateInput = {\n polygonIndices: Uint16Array;\n primitivePolygonIndices: Int32Array;\n flatCoordinateArray: Float64Array;\n nDim: number;\n};\n\n/** Result type for operation: 'triangulate' */\nexport type TriangulateResult = TriangulateInput & {\n triangleIndices?: Uint32Array;\n};\n\n/**\n * Worker for tessellating geometries. Normally called through triangulateOnWorker\n */\nexport const TriangulationWorker = {\n id: 'triangulation',\n name: 'Triangulate',\n module: 'arrow',\n version: VERSION,\n options: {}\n};\n\n/**\n * Triangulate a set of polygons on worker, type safe API\n */\nexport function triangulateOnWorker(\n data: TriangulateInput,\n options: WorkerOptions = {}\n): Promise<TriangulateResult> {\n return processOnWorker(TriangulationWorker, {...data, operation: 'triangulate'}, options);\n}\n\n/**\n * Parse GeoArrow geometry colum on worker, type safe API\n */\nexport function parseGeoArrowOnWorker(\n data: ParseGeoArrowInput,\n options: WorkerOptions = {}\n): Promise<ParseGeoArrowResult> {\n return processOnWorker(TriangulationWorker, {...data, operation: 'parse-geoarrow'}, options);\n}\n"],"mappings":"AAMA,SAAQA,eAAe,QAAO,0BAA0B;AAKxD,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAqD3E,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,EAAE,EAAE,eAAe;EACnBC,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAE,OAAO;EACfC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE,CAAC;AACZ,CAAC;AAKD,OAAO,SAASC,mBAAmBA,CACjCC,IAAsB,EAEM;EAAA,IAD5BF,OAAsB,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE3B,OAAOV,eAAe,CAACE,mBAAmB,EAAE;IAAC,GAAGO,IAAI;IAAEI,SAAS,EAAE;EAAa,CAAC,EAAEN,OAAO,CAAC;AAC3F;AAKA,OAAO,SAASO,qBAAqBA,CACnCL,IAAwB,EAEM;EAAA,IAD9BF,OAAsB,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE3B,OAAOV,eAAe,CAACE,mBAAmB,EAAE;IAAC,GAAGO,IAAI;IAAEI,SAAS,EAAE;EAAgB,CAAC,EAAEN,OAAO,CAAC;AAC9F"}