geo-polygonize 0.53.0 → 0.55.0

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.
@@ -33,6 +33,11 @@ export class WasmPolygonResult {
33
33
 
34
34
  export function polygonize(geojson_str: string, node_input?: boolean | null, snap_grid_size?: number | null, extract_only_polygonal?: boolean | null, report_mode?: boolean | null): string;
35
35
 
36
+ /**
37
+ * Returns the exact retained topology contract for a GeoJSON canonical-options call.
38
+ */
39
+ export function polygonizeFingerprintWithOptions(geojson_str: string, options_val: Partial<PolygonizerOptions>): string;
40
+
36
41
  /**
37
42
  * Polygonizes an Arrow IPC stream containing a GeoArrow LineString array.
38
43
  *
@@ -42,12 +47,20 @@ export function polygonize(geojson_str: string, node_input?: boolean | null, sna
42
47
  */
43
48
  export function polygonizeGeoArrowWithOptions(ipc_bytes: Uint8Array, options_val: Partial<PolygonizerOptions>): Uint8Array;
44
49
 
50
+ /**
51
+ * Returns the complete versioned topology report for a GeoJSON canonical-options call.
52
+ *
53
+ * The report is the JSON serialization of `TopologyFingerprintV1`; it is the
54
+ * stable cross-binding success contract, not a polygon-only GeoJSON projection.
55
+ */
56
+ export function polygonizeReportWithOptions(geojson_str: string, options_val: Partial<PolygonizerOptions>): string;
57
+
45
58
  /**
46
59
  * Polygonizes a GeoJSON FeatureCollection using the canonical `PolygonizerOptions`.
47
60
  *
48
- * This is the primary entry point for JavaScript users. It accepts a JSON string
49
- * of options and returns a JSON string representing the result, including faces,
50
- * dangles, cut-lines, and (optionally) provenance/diagnostics.
61
+ * This compatibility entry point returns polygons only. Use
62
+ * [`polygonize_report_with_options_js`] when dangles, cut edges, invalid rings,
63
+ * provenance, diagnostics, and exact coordinate encoding are required.
51
64
  */
52
65
  export function polygonizeWithOptions(geojson_str: string, options_val: Partial<PolygonizerOptions>): string;
53
66
 
@@ -64,7 +77,9 @@ export interface InitOutput {
64
77
  readonly __wbg_polygonizerwasmerror_free: (a: number, b: number) => void;
65
78
  readonly __wbg_wasmpolygonresult_free: (a: number, b: number) => void;
66
79
  readonly polygonize: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
80
+ readonly polygonizeFingerprintWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
67
81
  readonly polygonizeGeoArrowWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
82
+ readonly polygonizeReportWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
68
83
  readonly polygonizeWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
69
84
  readonly polygonizeWithOptionsBuffer: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
70
85
  readonly polygonize_buffers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
@@ -4,7 +4,9 @@ export const memory: WebAssembly.Memory;
4
4
  export const __wbg_polygonizerwasmerror_free: (a: number, b: number) => void;
5
5
  export const __wbg_wasmpolygonresult_free: (a: number, b: number) => void;
6
6
  export const polygonize: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
7
+ export const polygonizeFingerprintWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
7
8
  export const polygonizeGeoArrowWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
9
+ export const polygonizeReportWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
8
10
  export const polygonizeWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
9
11
  export const polygonizeWithOptionsBuffer: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
10
12
  export const polygonize_buffers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
@@ -328,6 +328,33 @@ function polygonize(geojson_str, node_input, snap_grid_size, extract_only_polygo
328
328
  }
329
329
  }
330
330
 
331
+ /**
332
+ * Returns the exact retained topology contract for a GeoJSON canonical-options call.
333
+ * @param {string} geojson_str
334
+ * @param {any} options_val
335
+ * @returns {string}
336
+ */
337
+ function polygonizeFingerprintWithOptions(geojson_str, options_val) {
338
+ let deferred3_0;
339
+ let deferred3_1;
340
+ try {
341
+ const ptr0 = passStringToWasm0(geojson_str, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
342
+ const len0 = WASM_VECTOR_LEN;
343
+ const ret = wasm.polygonizeFingerprintWithOptions(ptr0, len0, options_val);
344
+ var ptr2 = ret[0];
345
+ var len2 = ret[1];
346
+ if (ret[3]) {
347
+ ptr2 = 0; len2 = 0;
348
+ throw takeFromExternrefTable0(ret[2]);
349
+ }
350
+ deferred3_0 = ptr2;
351
+ deferred3_1 = len2;
352
+ return getStringFromWasm0(ptr2, len2);
353
+ } finally {
354
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
355
+ }
356
+ }
357
+
331
358
  /**
332
359
  * Polygonizes an Arrow IPC stream containing a GeoArrow LineString array.
333
360
  *
@@ -350,12 +377,42 @@ function polygonizeGeoArrowWithOptions(ipc_bytes, options_val) {
350
377
  return v2;
351
378
  }
352
379
 
380
+ /**
381
+ * Returns the complete versioned topology report for a GeoJSON canonical-options call.
382
+ *
383
+ * The report is the JSON serialization of `TopologyFingerprintV1`; it is the
384
+ * stable cross-binding success contract, not a polygon-only GeoJSON projection.
385
+ * @param {string} geojson_str
386
+ * @param {any} options_val
387
+ * @returns {string}
388
+ */
389
+ function polygonizeReportWithOptions(geojson_str, options_val) {
390
+ let deferred3_0;
391
+ let deferred3_1;
392
+ try {
393
+ const ptr0 = passStringToWasm0(geojson_str, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
394
+ const len0 = WASM_VECTOR_LEN;
395
+ const ret = wasm.polygonizeReportWithOptions(ptr0, len0, options_val);
396
+ var ptr2 = ret[0];
397
+ var len2 = ret[1];
398
+ if (ret[3]) {
399
+ ptr2 = 0; len2 = 0;
400
+ throw takeFromExternrefTable0(ret[2]);
401
+ }
402
+ deferred3_0 = ptr2;
403
+ deferred3_1 = len2;
404
+ return getStringFromWasm0(ptr2, len2);
405
+ } finally {
406
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
407
+ }
408
+ }
409
+
353
410
  /**
354
411
  * Polygonizes a GeoJSON FeatureCollection using the canonical `PolygonizerOptions`.
355
412
  *
356
- * This is the primary entry point for JavaScript users. It accepts a JSON string
357
- * of options and returns a JSON string representing the result, including faces,
358
- * dangles, cut-lines, and (optionally) provenance/diagnostics.
413
+ * This compatibility entry point returns polygons only. Use
414
+ * [`polygonize_report_with_options_js`] when dangles, cut edges, invalid rings,
415
+ * provenance, diagnostics, and exact coordinate encoding are required.
359
416
  * @param {string} geojson_str
360
417
  * @param {any} options_val
361
418
  * @returns {string}
@@ -1143,7 +1200,9 @@ var geo_polygonize = /*#__PURE__*/Object.freeze({
1143
1200
  initSync: initSync,
1144
1201
  initThreadPool: initThreadPool,
1145
1202
  polygonize: polygonize,
1203
+ polygonizeFingerprintWithOptions: polygonizeFingerprintWithOptions,
1146
1204
  polygonizeGeoArrowWithOptions: polygonizeGeoArrowWithOptions,
1205
+ polygonizeReportWithOptions: polygonizeReportWithOptions,
1147
1206
  polygonizeWithOptions: polygonizeWithOptions,
1148
1207
  polygonizeWithOptionsBuffer: polygonizeWithOptionsBuffer,
1149
1208
  polygonize_buffers: polygonize_buffers,
@@ -1189,4 +1248,4 @@ const cfbRobustOptions = {
1189
1248
  input_profile_id: "cfb_robust_v1",
1190
1249
  };
1191
1250
 
1192
- export { PolygonizerWasmError, WasmPolygonResult, cfbRobustOptions, __wbg_init as default, initSync, initThreadPool, polygonize, polygonizeGeoArrowWithOptions, polygonizeWithOptions, polygonizeWithOptionsBuffer, polygonize_buffers, polygonize_geoarrow, wbg_rayon_PoolBuilder, wbg_rayon_start_worker };
1251
+ export { PolygonizerWasmError, WasmPolygonResult, cfbRobustOptions, __wbg_init as default, initSync, initThreadPool, polygonize, polygonizeFingerprintWithOptions, polygonizeGeoArrowWithOptions, polygonizeReportWithOptions, polygonizeWithOptions, polygonizeWithOptionsBuffer, polygonize_buffers, polygonize_geoarrow, wbg_rayon_PoolBuilder, wbg_rayon_start_worker };
@@ -35,6 +35,11 @@ export function initThreadPool(num_threads: number): Promise<any>;
35
35
 
36
36
  export function polygonize(geojson_str: string, node_input?: boolean | null, snap_grid_size?: number | null, extract_only_polygonal?: boolean | null, report_mode?: boolean | null): string;
37
37
 
38
+ /**
39
+ * Returns the exact retained topology contract for a GeoJSON canonical-options call.
40
+ */
41
+ export function polygonizeFingerprintWithOptions(geojson_str: string, options_val: Partial<PolygonizerOptions>): string;
42
+
38
43
  /**
39
44
  * Polygonizes an Arrow IPC stream containing a GeoArrow LineString array.
40
45
  *
@@ -44,12 +49,20 @@ export function polygonize(geojson_str: string, node_input?: boolean | null, sna
44
49
  */
45
50
  export function polygonizeGeoArrowWithOptions(ipc_bytes: Uint8Array, options_val: Partial<PolygonizerOptions>): Uint8Array;
46
51
 
52
+ /**
53
+ * Returns the complete versioned topology report for a GeoJSON canonical-options call.
54
+ *
55
+ * The report is the JSON serialization of `TopologyFingerprintV1`; it is the
56
+ * stable cross-binding success contract, not a polygon-only GeoJSON projection.
57
+ */
58
+ export function polygonizeReportWithOptions(geojson_str: string, options_val: Partial<PolygonizerOptions>): string;
59
+
47
60
  /**
48
61
  * Polygonizes a GeoJSON FeatureCollection using the canonical `PolygonizerOptions`.
49
62
  *
50
- * This is the primary entry point for JavaScript users. It accepts a JSON string
51
- * of options and returns a JSON string representing the result, including faces,
52
- * dangles, cut-lines, and (optionally) provenance/diagnostics.
63
+ * This compatibility entry point returns polygons only. Use
64
+ * [`polygonize_report_with_options_js`] when dangles, cut edges, invalid rings,
65
+ * provenance, diagnostics, and exact coordinate encoding are required.
53
66
  */
54
67
  export function polygonizeWithOptions(geojson_str: string, options_val: Partial<PolygonizerOptions>): string;
55
68
 
@@ -76,7 +89,9 @@ export interface InitOutput {
76
89
  readonly __wbg_polygonizerwasmerror_free: (a: number, b: number) => void;
77
90
  readonly __wbg_wasmpolygonresult_free: (a: number, b: number) => void;
78
91
  readonly polygonize: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
92
+ readonly polygonizeFingerprintWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
79
93
  readonly polygonizeGeoArrowWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
94
+ readonly polygonizeReportWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
80
95
  readonly polygonizeWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
81
96
  readonly polygonizeWithOptionsBuffer: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
82
97
  readonly polygonize_buffers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
@@ -3,7 +3,9 @@
3
3
  export const __wbg_polygonizerwasmerror_free: (a: number, b: number) => void;
4
4
  export const __wbg_wasmpolygonresult_free: (a: number, b: number) => void;
5
5
  export const polygonize: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
6
+ export const polygonizeFingerprintWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
6
7
  export const polygonizeGeoArrowWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
8
+ export const polygonizeReportWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
7
9
  export const polygonizeWithOptions: (a: number, b: number, c: any) => [number, number, number, number];
8
10
  export const polygonizeWithOptionsBuffer: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
9
11
  export const polygonize_buffers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geo-polygonize",
3
- "version": "0.53.0",
3
+ "version": "0.55.0",
4
4
  "description": "A native Rust port of the JTS/GEOS polygonization algorithm (Wasm)",
5
5
  "type": "module",
6
6
  "scripts": {