@honua/sdk-esri-compat 0.1.13 → 0.1.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/contract/source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/contract/source.ts"],"names":[],"mappings":"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"}
@@ -1480,10 +1480,10 @@ export function wfsSource(descriptor, client, policy) {
1480
1480
  * does not issue network traffic.
1481
1481
  */
1482
1482
  let cachedFormat;
1483
- async function negotiateJsonOrThrow() {
1483
+ async function negotiateJsonOrThrow(signal) {
1484
1484
  if (cachedFormat)
1485
1485
  return cachedFormat;
1486
- const snapshot = await root.capabilities();
1486
+ const snapshot = await root.capabilities(signal ? { signal } : undefined);
1487
1487
  const choice = root.negotiateOutputFormat(snapshot);
1488
1488
  if (!choice) {
1489
1489
  throw new HonuaCapabilityNotSupportedError("query", descriptor.protocol, descriptor.id);
@@ -1589,7 +1589,7 @@ export function wfsSource(descriptor, client, policy) {
1589
1589
  // Unfiltered queryExtent: prefer the per-feature-type WGS84BoundingBox
1590
1590
  // from GetCapabilities so we avoid an extra HTTP request entirely.
1591
1591
  if (!hasExtentFilter(request) && request?.outSr === undefined) {
1592
- const snapshot = await root.capabilities();
1592
+ const snapshot = await root.capabilities(request?.signal ? { signal: request.signal } : undefined);
1593
1593
  const ft = snapshot.featureTypes.find((entry) => entry.name === typeName);
1594
1594
  if (ft?.wgs84BoundingBox) {
1595
1595
  return { extent: { ...ft.wgs84BoundingBox } };
@@ -1599,7 +1599,7 @@ export function wfsSource(descriptor, client, policy) {
1599
1599
  // covers all features the filter resolves to, not just the first
1600
1600
  // server-default page. Caller pagination is intentionally ignored —
1601
1601
  // queryExtent is a "what bbox holds the matching set" question.
1602
- const choice = await negotiateJsonOrThrow();
1602
+ const choice = await negotiateJsonOrThrow(request?.signal);
1603
1603
  const drainPageSize = 2000;
1604
1604
  const extentRequest = toWfsExtentDrainRequest(request);
1605
1605
  let xmin = Number.POSITIVE_INFINITY;
@@ -1614,7 +1614,7 @@ export function wfsSource(descriptor, client, policy) {
1614
1614
  ...extentRequest,
1615
1615
  pagination: { offset, limit: drainPageSize },
1616
1616
  };
1617
- const json = await runGetFeatureJson(featureType, choice, featureNamespace, await compileSourceQuery(pageRequest, "query"));
1617
+ const json = await runGetFeatureJson(featureType, choice, featureNamespace, await compileSourceQuery(pageRequest, "query"), request?.signal);
1618
1618
  const page = computeExtentFromFeatureCollection(json);
1619
1619
  count += page.count;
1620
1620
  if (page.extent) {
@@ -1697,7 +1697,7 @@ export function wfsSource(descriptor, client, policy) {
1697
1697
  const requestedLimit = request?.pagination?.limit;
1698
1698
  if (requestedLimit === 0)
1699
1699
  return [];
1700
- const choice = await negotiateJsonOrThrow();
1700
+ const choice = await negotiateJsonOrThrow(request?.signal);
1701
1701
  const limitCap = typeof requestedLimit === "number" && requestedLimit > 0 ? requestedLimit : undefined;
1702
1702
  const drainPageSize = 2000;
1703
1703
  const ids = [];
@@ -1712,7 +1712,7 @@ export function wfsSource(descriptor, client, policy) {
1712
1712
  ...idsRequest,
1713
1713
  pagination: { offset, limit: pageSize },
1714
1714
  };
1715
- const json = await runGetFeatureJson(featureType, choice, featureNamespace, await compileSourceQuery(pageRequest, "query"));
1715
+ const json = await runGetFeatureJson(featureType, choice, featureNamespace, await compileSourceQuery(pageRequest, "query"), request?.signal);
1716
1716
  const collection = json;
1717
1717
  const features = collection.features ?? [];
1718
1718
  for (const feature of features) {
@@ -1868,7 +1868,7 @@ function toWfsObjectIdsDrainRequest(request) {
1868
1868
  * GeoJSON FeatureCollection. The protocol compiler owns filter, projection,
1869
1869
  * paging, CRS, and transport selection so legacy drains do not duplicate it.
1870
1870
  */
1871
- async function runGetFeatureJson(featureType, choice, featureNamespace, compiled) {
1871
+ async function runGetFeatureJson(featureType, choice, featureNamespace, compiled, signal) {
1872
1872
  const typePrefix = compiled.typeName.includes(":")
1873
1873
  ? compiled.typeName.slice(0, compiled.typeName.indexOf(":"))
1874
1874
  : undefined;
@@ -1886,6 +1886,9 @@ async function runGetFeatureJson(featureType, choice, featureNamespace, compiled
1886
1886
  ...(compiled.count !== undefined ? { count: compiled.count } : {}),
1887
1887
  ...(compiled.startIndex !== undefined && compiled.startIndex > 0 ? { startIndex: compiled.startIndex } : {}),
1888
1888
  ...(compiled.srsName !== undefined ? { srsName: compiled.srsName } : {}),
1889
+ // The drains (queryExtent / queryObjectIds) issue many pages; every page
1890
+ // must observe the caller's cancellation, not just the first request.
1891
+ ...(signal ? { signal } : {}),
1889
1892
  };
1890
1893
  if (compiled.method === "POST" && compiled.filter !== undefined) {
1891
1894
  params.body = buildWfsPostGetFeatureBody({
@@ -1 +1 @@
1
- {"version":3,"file":"esri-geojson.d.ts","sourceRoot":"","sources":["../../../src/core/esri-geojson.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,YAAY,EAKZ,cAAc,EACd,YAAY,EACZ,qBAAqB,EACtB,MAAM,YAAY,CAAC;AA2MpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAClE,eAAe,GAAG,IAAI,CA0ExB;AAkBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAQ1E;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC5C,gBAAgB,CAAC,EAAE,qBAAqB,GACvC,YAAY,GAAG,IAAI,CAuCrB"}
1
+ {"version":3,"file":"esri-geojson.d.ts","sourceRoot":"","sources":["../../../src/core/esri-geojson.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,YAAY,EAKZ,cAAc,EACd,YAAY,EACZ,qBAAqB,EACtB,MAAM,YAAY,CAAC;AA2MpB;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAClE,eAAe,GAAG,IAAI,CA0ExB;AAkBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAQ1E;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC5C,gBAAgB,CAAC,EAAE,qBAAqB,GACvC,YAAY,GAAG,IAAI,CAyCrB"}
@@ -333,11 +333,13 @@ export function geoJsonToEsriGeometry(geometry, spatialReference) {
333
333
  const sr = spatialReference ? { spatialReference } : {};
334
334
  switch (geometry.type) {
335
335
  case "Point": {
336
- const [x, y] = geometry.coordinates;
336
+ const [x, y, z] = geometry.coordinates;
337
337
  if (typeof x !== "number" || typeof y !== "number") {
338
338
  return null;
339
339
  }
340
- return { x, y, ...sr };
340
+ // Keep the altitude of a 3D position: dropping it would hand back a
341
+ // different geometry than the source served.
342
+ return { x, y, ...(typeof z === "number" && Number.isFinite(z) ? { z } : {}), ...sr };
341
343
  }
342
344
  case "MultiPoint": {
343
345
  return { points: geometry.coordinates.map((position) => [...position]), ...sr };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@honua/sdk-esri-compat",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "ArcGIS JS API compatibility layer for ArcGIS migration from Esri apps to the open Honua + MapLibre stack",
5
5
  "keywords": [
6
6
  "gis",
@@ -46,7 +46,7 @@
46
46
  "proj4": "^2.20.9"
47
47
  },
48
48
  "peerDependencies": {
49
- "@honua/sdk": "0.1.13",
49
+ "@honua/sdk": "0.1.14",
50
50
  "@bufbuild/protobuf": "^2.0.0",
51
51
  "@connectrpc/connect": "^2.0.0",
52
52
  "@connectrpc/connect-web": "^2.0.0",