@honua/sdk-esri-compat 0.1.12 → 0.1.13

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 (248) hide show
  1. package/README.md +2 -0
  2. package/columnar/apache-arrow.d.ts +17 -0
  3. package/columnar/apache-arrow.d.ts.map +1 -0
  4. package/columnar/apache-arrow.js +1036 -0
  5. package/columnar/batch-cache-conformance.d.ts +66 -0
  6. package/columnar/batch-cache-conformance.d.ts.map +1 -0
  7. package/columnar/batch-cache-conformance.js +317 -0
  8. package/columnar/batch-cache-indexeddb.d.ts +31 -0
  9. package/columnar/batch-cache-indexeddb.d.ts.map +1 -0
  10. package/columnar/batch-cache-indexeddb.js +148 -0
  11. package/columnar/batch-cache.d.ts +298 -0
  12. package/columnar/batch-cache.d.ts.map +1 -0
  13. package/columnar/batch-cache.js +757 -0
  14. package/columnar/geoarrow-aggregate.d.ts +178 -0
  15. package/columnar/geoarrow-aggregate.d.ts.map +1 -0
  16. package/columnar/geoarrow-aggregate.js +976 -0
  17. package/columnar/geoarrow-patch.d.ts +382 -0
  18. package/columnar/geoarrow-patch.d.ts.map +1 -0
  19. package/columnar/geoarrow-patch.js +1656 -0
  20. package/columnar/geoarrow-reproject.d.ts +22 -0
  21. package/columnar/geoarrow-reproject.d.ts.map +1 -0
  22. package/columnar/geoarrow-reproject.js +119 -0
  23. package/columnar/geoarrow-serialization.d.ts +68 -0
  24. package/columnar/geoarrow-serialization.d.ts.map +1 -0
  25. package/columnar/geoarrow-serialization.js +331 -0
  26. package/columnar/geoarrow-types.d.ts +271 -0
  27. package/columnar/geoarrow-types.d.ts.map +1 -0
  28. package/columnar/geoarrow-types.js +15 -0
  29. package/columnar/geoarrow.d.ts +52 -0
  30. package/columnar/geoarrow.d.ts.map +1 -0
  31. package/columnar/geoarrow.js +1469 -0
  32. package/columnar/index.d.ts +43 -0
  33. package/columnar/index.d.ts.map +1 -0
  34. package/columnar/index.js +29 -0
  35. package/columnar/operators.d.ts +70 -0
  36. package/columnar/operators.d.ts.map +1 -0
  37. package/columnar/operators.js +307 -0
  38. package/columnar/result.d.ts +369 -0
  39. package/columnar/result.d.ts.map +1 -0
  40. package/columnar/result.js +815 -0
  41. package/columnar/telemetry.d.ts +152 -0
  42. package/columnar/telemetry.d.ts.map +1 -0
  43. package/columnar/telemetry.js +265 -0
  44. package/columnar/transfer.d.ts +28 -0
  45. package/columnar/transfer.d.ts.map +1 -0
  46. package/columnar/transfer.js +669 -0
  47. package/columnar/types.d.ts +175 -0
  48. package/columnar/types.d.ts.map +1 -0
  49. package/columnar/types.js +22 -0
  50. package/columnar/worker.d.ts +157 -0
  51. package/columnar/worker.d.ts.map +1 -0
  52. package/columnar/worker.js +1059 -0
  53. package/connect-url-safety.d.ts +53 -0
  54. package/connect-url-safety.js +189 -0
  55. package/contract/pmtiles.d.ts +6 -5
  56. package/contract/pmtiles.d.ts.map +1 -1
  57. package/contract/pmtiles.js +30 -5
  58. package/core/client.d.ts.map +1 -1
  59. package/core/client.js +87 -19
  60. package/core/deprecation-notice.d.ts +28 -0
  61. package/core/deprecation-notice.d.ts.map +1 -0
  62. package/core/deprecation-notice.js +22 -0
  63. package/core/esri-geojson.d.ts.map +1 -1
  64. package/core/esri-geojson.js +10 -6
  65. package/core/optional-grpc-peer.d.ts +15 -0
  66. package/core/optional-grpc-peer.d.ts.map +1 -0
  67. package/core/optional-grpc-peer.js +60 -0
  68. package/esri-compat/basemap-gallery.d.ts +2 -0
  69. package/esri-compat/basemap-gallery.d.ts.map +1 -1
  70. package/esri-compat/basemap-gallery.js +12 -0
  71. package/esri-compat/basemap.d.ts +4 -0
  72. package/esri-compat/basemap.d.ts.map +1 -1
  73. package/esri-compat/basemap.js +70 -0
  74. package/esri-compat/bookmarks.d.ts +2 -0
  75. package/esri-compat/bookmarks.d.ts.map +1 -1
  76. package/esri-compat/bookmarks.js +12 -0
  77. package/esri-compat/controls.d.ts +18 -0
  78. package/esri-compat/controls.d.ts.map +1 -1
  79. package/esri-compat/controls.js +120 -57
  80. package/esri-compat/directions.d.ts +4 -0
  81. package/esri-compat/directions.d.ts.map +1 -1
  82. package/esri-compat/directions.js +30 -20
  83. package/esri-compat/editor.d.ts +4 -0
  84. package/esri-compat/editor.d.ts.map +1 -1
  85. package/esri-compat/editor.js +16 -0
  86. package/esri-compat/esri-config.d.ts +2 -1
  87. package/esri-compat/esri-config.d.ts.map +1 -1
  88. package/esri-compat/feature-effect.d.ts +23 -0
  89. package/esri-compat/feature-effect.d.ts.map +1 -0
  90. package/esri-compat/feature-effect.js +12 -0
  91. package/esri-compat/feature-form.d.ts +6 -0
  92. package/esri-compat/feature-form.d.ts.map +1 -1
  93. package/esri-compat/feature-form.js +63 -0
  94. package/esri-compat/feature-layer.d.ts +21 -2
  95. package/esri-compat/feature-layer.d.ts.map +1 -1
  96. package/esri-compat/feature-layer.js +172 -1
  97. package/esri-compat/feature-table.d.ts +5 -0
  98. package/esri-compat/feature-table.d.ts.map +1 -1
  99. package/esri-compat/feature-table.js +23 -0
  100. package/esri-compat/identity-manager.d.ts +1 -1
  101. package/esri-compat/identity-manager.js +1 -1
  102. package/esri-compat/legend.d.ts +2 -0
  103. package/esri-compat/legend.d.ts.map +1 -1
  104. package/esri-compat/legend.js +98 -0
  105. package/esri-compat/locator.d.ts +1 -1
  106. package/esri-compat/locator.js +1 -1
  107. package/esri-compat/map-view-mount.d.ts +1 -0
  108. package/esri-compat/map-view-mount.d.ts.map +1 -1
  109. package/esri-compat/map-view-mount.js +46 -25
  110. package/esri-compat/map-view.d.ts +13 -0
  111. package/esri-compat/map-view.d.ts.map +1 -1
  112. package/esri-compat/map-view.js +94 -8
  113. package/esri-compat/map.d.ts +5 -1
  114. package/esri-compat/map.d.ts.map +1 -1
  115. package/esri-compat/map.js +10 -0
  116. package/esri-compat/measurement.d.ts +2 -0
  117. package/esri-compat/measurement.d.ts.map +1 -1
  118. package/esri-compat/measurement.js +14 -0
  119. package/esri-compat/point.d.ts +7 -0
  120. package/esri-compat/point.d.ts.map +1 -1
  121. package/esri-compat/point.js +33 -3
  122. package/esri-compat/popup.d.ts +2 -0
  123. package/esri-compat/popup.d.ts.map +1 -1
  124. package/esri-compat/popup.js +12 -0
  125. package/esri-compat/portal.d.ts +1 -1
  126. package/esri-compat/portal.js +1 -1
  127. package/esri-compat/print.d.ts +3 -0
  128. package/esri-compat/print.d.ts.map +1 -1
  129. package/esri-compat/print.js +15 -0
  130. package/esri-compat/search.d.ts +4 -0
  131. package/esri-compat/search.d.ts.map +1 -1
  132. package/esri-compat/search.js +25 -28
  133. package/esri-compat/sketch.d.ts +2 -0
  134. package/esri-compat/sketch.d.ts.map +1 -1
  135. package/esri-compat/sketch.js +12 -0
  136. package/esri-compat/widget-host.d.ts +46 -17
  137. package/esri-compat/widget-host.d.ts.map +1 -1
  138. package/esri-compat/widget-host.js +84 -20
  139. package/esri-compat/widget-shell-hosts.d.ts +61 -0
  140. package/esri-compat/widget-shell-hosts.d.ts.map +1 -0
  141. package/esri-compat/widget-shell-hosts.js +76 -0
  142. package/index.d.ts +3 -1
  143. package/index.js +1 -0
  144. package/offline/digest.d.ts +15 -0
  145. package/offline/digest.js +58 -0
  146. package/offline/quota.d.ts +161 -0
  147. package/offline/quota.js +370 -0
  148. package/offline/types.d.ts +349 -0
  149. package/offline/types.js +75 -0
  150. package/package.json +21 -2
  151. package/query-planner/canonical-filter.d.ts +30 -0
  152. package/query-planner/canonical-filter.d.ts.map +1 -0
  153. package/query-planner/canonical-filter.js +30 -0
  154. package/query-planner/canonical.d.ts +7 -0
  155. package/query-planner/canonical.d.ts.map +1 -0
  156. package/query-planner/canonical.js +145 -0
  157. package/query-planner/columnar-plan.d.ts +63 -0
  158. package/query-planner/columnar-plan.d.ts.map +1 -0
  159. package/query-planner/columnar-plan.js +94 -0
  160. package/query-planner/cql2-json.d.ts +17 -0
  161. package/query-planner/cql2-json.d.ts.map +1 -0
  162. package/query-planner/cql2-json.js +646 -0
  163. package/query-planner/diagnostics.d.ts +35 -0
  164. package/query-planner/diagnostics.d.ts.map +1 -0
  165. package/query-planner/diagnostics.js +386 -0
  166. package/query-planner/duckdb.d.ts +79 -0
  167. package/query-planner/duckdb.d.ts.map +1 -0
  168. package/query-planner/duckdb.js +772 -0
  169. package/query-planner/execution-context.d.ts +5 -0
  170. package/query-planner/execution-context.d.ts.map +1 -0
  171. package/query-planner/execution-context.js +52 -0
  172. package/query-planner/executor.d.ts +5 -0
  173. package/query-planner/executor.d.ts.map +1 -0
  174. package/query-planner/executor.js +229 -0
  175. package/query-planner/geoservices.d.ts +91 -0
  176. package/query-planner/geoservices.d.ts.map +1 -0
  177. package/query-planner/geoservices.js +688 -0
  178. package/query-planner/grpc.d.ts +100 -0
  179. package/query-planner/grpc.d.ts.map +1 -0
  180. package/query-planner/grpc.js +760 -0
  181. package/query-planner/index.d.ts +59 -0
  182. package/query-planner/index.d.ts.map +1 -0
  183. package/query-planner/index.js +43 -0
  184. package/query-planner/ir.d.ts +25 -0
  185. package/query-planner/ir.d.ts.map +1 -0
  186. package/query-planner/ir.js +479 -0
  187. package/query-planner/local-aggregate.d.ts +5 -0
  188. package/query-planner/local-aggregate.d.ts.map +1 -0
  189. package/query-planner/local-aggregate.js +126 -0
  190. package/query-planner/odata-protocol-module.d.ts +54 -0
  191. package/query-planner/odata-protocol-module.d.ts.map +1 -0
  192. package/query-planner/odata-protocol-module.js +199 -0
  193. package/query-planner/odata-v1.d.ts +23 -0
  194. package/query-planner/odata-v1.d.ts.map +1 -0
  195. package/query-planner/odata-v1.js +202 -0
  196. package/query-planner/odata.d.ts +45 -0
  197. package/query-planner/odata.d.ts.map +1 -0
  198. package/query-planner/odata.js +519 -0
  199. package/query-planner/ogc-compiler.d.ts +55 -0
  200. package/query-planner/ogc-compiler.d.ts.map +1 -0
  201. package/query-planner/ogc-compiler.js +480 -0
  202. package/query-planner/ogc-features.d.ts +53 -0
  203. package/query-planner/ogc-features.d.ts.map +1 -0
  204. package/query-planner/ogc-features.js +639 -0
  205. package/query-planner/planner.d.ts +17 -0
  206. package/query-planner/planner.d.ts.map +1 -0
  207. package/query-planner/planner.js +937 -0
  208. package/query-planner/representation.d.ts +59 -0
  209. package/query-planner/representation.d.ts.map +1 -0
  210. package/query-planner/representation.js +140 -0
  211. package/query-planner/resource.d.ts +94 -0
  212. package/query-planner/resource.d.ts.map +1 -0
  213. package/query-planner/resource.js +526 -0
  214. package/query-planner/semantic-canonical.d.ts +15 -0
  215. package/query-planner/semantic-canonical.d.ts.map +1 -0
  216. package/query-planner/semantic-canonical.js +62 -0
  217. package/query-planner/semantic-compat.d.ts +10 -0
  218. package/query-planner/semantic-compat.d.ts.map +1 -0
  219. package/query-planner/semantic-compat.js +35 -0
  220. package/query-planner/semantic-compiler.d.ts +64 -0
  221. package/query-planner/semantic-compiler.d.ts.map +1 -0
  222. package/query-planner/semantic-compiler.js +81 -0
  223. package/query-planner/semantic-literals.d.ts +30 -0
  224. package/query-planner/semantic-literals.d.ts.map +1 -0
  225. package/query-planner/semantic-literals.js +133 -0
  226. package/query-planner/semantic-types.d.ts +265 -0
  227. package/query-planner/semantic-types.d.ts.map +1 -0
  228. package/query-planner/semantic-types.js +1 -0
  229. package/query-planner/semantic.d.ts +54 -0
  230. package/query-planner/semantic.d.ts.map +1 -0
  231. package/query-planner/semantic.js +1421 -0
  232. package/query-planner/types.d.ts +712 -0
  233. package/query-planner/types.d.ts.map +1 -0
  234. package/query-planner/types.js +49 -0
  235. package/query-planner/wfs-protocol-module.d.ts +57 -0
  236. package/query-planner/wfs-protocol-module.d.ts.map +1 -0
  237. package/query-planner/wfs-protocol-module.js +731 -0
  238. package/query-planner/wfs-semantic.d.ts +58 -0
  239. package/query-planner/wfs-semantic.d.ts.map +1 -0
  240. package/query-planner/wfs-semantic.js +547 -0
  241. package/query-planner/wfs-v1.d.ts +41 -0
  242. package/query-planner/wfs-v1.d.ts.map +1 -0
  243. package/query-planner/wfs-v1.js +366 -0
  244. package/query-planner/wfs.d.ts +4 -0
  245. package/query-planner/wfs.d.ts.map +1 -0
  246. package/query-planner/wfs.js +2 -0
  247. package/widget-capabilities.d.ts +67 -0
  248. package/widget-capabilities.js +152 -0
@@ -0,0 +1,53 @@
1
+ /** Internal credential rejection and canonical query helpers for discovery URLs. */
2
+ /** URLSearchParams has already percent-decoded names before this check. */
3
+ export declare function isCredentialQueryName(name: string): boolean;
4
+ /**
5
+ * How strictly a value that will be persisted verbatim is screened.
6
+ *
7
+ * `identity` is for machine keys (source ids, resource ids, versions, content
8
+ * types, attribution ids) whose whole value is compared against the denylist.
9
+ * `label` is for human prose (display names, attribution text) where only
10
+ * embedded `name=value` / `name: value` assignments are screened, so an
11
+ * ordinary phrase that happens to end in a denylisted word still persists.
12
+ */
13
+ export type CredentialScreenStrictness = "identity" | "label";
14
+ /**
15
+ * Screen a value that a caller wants persisted verbatim for credential-shaped
16
+ * material, using the same denylist that governs endpoint normalization.
17
+ *
18
+ * Scanning is linear in the input length and allocation-bounded: the value is
19
+ * split on literal separators and each segment is compared with unanchored
20
+ * `startsWith`/`endsWith` checks, so there is no backtracking regex (see
21
+ * `src/core/path-utils.ts` for the same constraint on path trimming).
22
+ */
23
+ export declare function hasCredentialShapedMaterial(value: string, strictness: CredentialScreenStrictness): boolean;
24
+ /**
25
+ * Why a string a caller wants persisted verbatim must be refused.
26
+ *
27
+ * `endpoint-not-normalized` is never produced by {@link screenPersistedString};
28
+ * it belongs to an endpoint's own normalization contract and is reported by the
29
+ * caller that owns one.
30
+ */
31
+ export type CredentialScreenReason = "credential-shaped" | "url-shaped" | "endpoint-not-normalized";
32
+ /**
33
+ * Report why a persisted string must be refused, or `undefined` when it is safe.
34
+ *
35
+ * Both strictness levels reject a request URL carrying userinfo, a query, or a
36
+ * fragment. `identity` additionally refuses a relative request reference — any
37
+ * embedded `?`, `#`, or `@` — mirroring the persisted-source shape check in
38
+ * `src/query-planner/planner.ts`, so a matched request URL cannot become a
39
+ * stored identity by accident.
40
+ *
41
+ * This lives beside the denylist rather than in one persistence layer so every
42
+ * durable store — offline regions, the offline edit queue, and realtime resume
43
+ * checkpoints — screens with one implementation and one vocabulary, without
44
+ * importing another layer's error or manifest types.
45
+ */
46
+ export declare function screenPersistedString(value: string, strictness: CredentialScreenStrictness): CredentialScreenReason | undefined;
47
+ /** Message for `reason` at `path`. Never echoes the offending value. */
48
+ export declare function credentialScreenMessage(path: string, reason: CredentialScreenReason): string;
49
+ export declare function hasCredentialQuery(parameters: URLSearchParams): boolean;
50
+ export declare function deleteQueryNames(url: URL, names: ReadonlySet<string>): void;
51
+ /** Stable key/value ordering for credential-free service identity and provenance. */
52
+ export declare function canonicalizeUrlQuery(url: URL): void;
53
+ //# sourceMappingURL=connect-url-safety.d.ts.map
@@ -0,0 +1,189 @@
1
+ /** Internal credential rejection and canonical query helpers for discovery URLs. */
2
+ const CREDENTIAL_QUERY_TOKENS = new Set([
3
+ "auth",
4
+ "awsaccesskeyid",
5
+ "bearer",
6
+ "code",
7
+ "credentials",
8
+ "expires",
9
+ "googleaccessid",
10
+ "jwt",
11
+ "key",
12
+ "keypairid",
13
+ "passwd",
14
+ "policy",
15
+ "pwd",
16
+ "sas",
17
+ "session",
18
+ "sessionid",
19
+ "sig",
20
+ ]);
21
+ // Suffix matching keeps prefixed spellings (`proxy-authorization`, `set-cookie`,
22
+ // `x-api-key`) credential-bearing, matching the plan-persistence classifier in
23
+ // `src/query-planner/planner.ts`.
24
+ const CREDENTIAL_QUERY_SUFFIXES = [
25
+ "accountkey",
26
+ "accesskey",
27
+ "apikey",
28
+ "authorization",
29
+ "consumerkey",
30
+ "cookie",
31
+ "credential",
32
+ "encryptionkey",
33
+ "masterkey",
34
+ "passphrase",
35
+ "password",
36
+ "privatekey",
37
+ "secret",
38
+ "secretkey",
39
+ "signingkey",
40
+ "signature",
41
+ "storagekey",
42
+ "subscriptionkey",
43
+ "token",
44
+ ];
45
+ /**
46
+ * Compare one already-lowercased candidate against the shared credential
47
+ * vocabulary. Separators are dropped so `x-api-key`, `x_api_key`, and `apiKey`
48
+ * collapse onto the same token. This is the single place the denylist is
49
+ * evaluated; callers own segmentation only.
50
+ */
51
+ function matchesCredentialVocabulary(candidate) {
52
+ const token = candidate.replace(/[^a-z0-9]/gu, "");
53
+ if (token.length === 0)
54
+ return false;
55
+ return (CREDENTIAL_QUERY_TOKENS.has(token) ||
56
+ token.startsWith("xamz") ||
57
+ token.startsWith("xgoog") ||
58
+ CREDENTIAL_QUERY_SUFFIXES.some((suffix) => token.endsWith(suffix)));
59
+ }
60
+ /**
61
+ * Fold percent-encoding so an encoded credential name cannot bypass the
62
+ * denylist. Returns `undefined` when the value stays encoded after four
63
+ * layers, which no legitimate service parameter requires.
64
+ */
65
+ function decodeCredentialCandidate(value) {
66
+ let normalized = value.trim().toLowerCase();
67
+ for (let depth = 0; depth < 4 && /%[0-9a-f]{2}/i.test(normalized); depth += 1) {
68
+ try {
69
+ const decoded = decodeURIComponent(normalized).trim().toLowerCase();
70
+ if (decoded === normalized)
71
+ break;
72
+ normalized = decoded;
73
+ }
74
+ catch {
75
+ return undefined;
76
+ }
77
+ }
78
+ return /%[0-9a-f]{2}/i.test(normalized) ? undefined : normalized;
79
+ }
80
+ /** URLSearchParams has already percent-decoded names before this check. */
81
+ export function isCredentialQueryName(name) {
82
+ const normalized = decodeCredentialCandidate(name);
83
+ if (normalized === undefined)
84
+ return true;
85
+ return normalized
86
+ .split(/[&;?#]/u)
87
+ .some((part) => matchesCredentialVocabulary(part.split(/[=:]/u, 1)[0]?.trim() ?? ""));
88
+ }
89
+ /** Segment separators that can introduce an embedded credential assignment. */
90
+ const CREDENTIAL_SEGMENT_SEPARATORS = /[&;?#,\s]+/u;
91
+ /**
92
+ * Screen a value that a caller wants persisted verbatim for credential-shaped
93
+ * material, using the same denylist that governs endpoint normalization.
94
+ *
95
+ * Scanning is linear in the input length and allocation-bounded: the value is
96
+ * split on literal separators and each segment is compared with unanchored
97
+ * `startsWith`/`endsWith` checks, so there is no backtracking regex (see
98
+ * `src/core/path-utils.ts` for the same constraint on path trimming).
99
+ */
100
+ export function hasCredentialShapedMaterial(value, strictness) {
101
+ const normalized = decodeCredentialCandidate(value);
102
+ if (normalized === undefined)
103
+ return true;
104
+ if (strictness === "identity" && matchesCredentialVocabulary(normalized))
105
+ return true;
106
+ for (const segment of normalized.split(CREDENTIAL_SEGMENT_SEPARATORS)) {
107
+ const separator = assignmentIndex(segment);
108
+ if (separator >= 0 && matchesCredentialVocabulary(segment.slice(0, separator)))
109
+ return true;
110
+ }
111
+ return false;
112
+ }
113
+ /**
114
+ * Report why a persisted string must be refused, or `undefined` when it is safe.
115
+ *
116
+ * Both strictness levels reject a request URL carrying userinfo, a query, or a
117
+ * fragment. `identity` additionally refuses a relative request reference — any
118
+ * embedded `?`, `#`, or `@` — mirroring the persisted-source shape check in
119
+ * `src/query-planner/planner.ts`, so a matched request URL cannot become a
120
+ * stored identity by accident.
121
+ *
122
+ * This lives beside the denylist rather than in one persistence layer so every
123
+ * durable store — offline regions, the offline edit queue, and realtime resume
124
+ * checkpoints — screens with one implementation and one vocabulary, without
125
+ * importing another layer's error or manifest types.
126
+ */
127
+ export function screenPersistedString(value, strictness) {
128
+ if (hasCredentialShapedMaterial(value, strictness))
129
+ return "credential-shaped";
130
+ return isCredentialFreeShape(value, strictness) ? undefined : "url-shaped";
131
+ }
132
+ /** Message for `reason` at `path`. Never echoes the offending value. */
133
+ export function credentialScreenMessage(path, reason) {
134
+ if (reason === "url-shaped")
135
+ return `${path} must not be a request URL carrying userinfo, a query, or a fragment.`;
136
+ if (reason === "endpoint-not-normalized")
137
+ return `${path} must be a normalized, credential-free absolute URL.`;
138
+ return `${path} must not contain credential-shaped material.`;
139
+ }
140
+ function isCredentialFreeShape(value, strictness) {
141
+ // An absolute URL always carries a scheme separator; the guard keeps the
142
+ // common non-URL case free of throwing URL construction.
143
+ if (value.includes(":")) {
144
+ try {
145
+ const url = new URL(value);
146
+ // Prose is only refused for a real request URL, one with an authority.
147
+ // A label such as `Data: NOAA #1` parses as an opaque `data:` URL and
148
+ // must not be rejected for a colon followed by a fragment character.
149
+ if (strictness === "identity" || url.host.length > 0) {
150
+ return !url.username && !url.password && !url.search && !url.hash;
151
+ }
152
+ return true;
153
+ }
154
+ catch {
155
+ // Not an absolute URL; fall through to the literal reference check.
156
+ }
157
+ }
158
+ // A machine identity must not even be a relative request reference.
159
+ return strictness === "label" || (!value.includes("?") && !value.includes("#") && !value.includes("@"));
160
+ }
161
+ /** Index of the first `=` or `:` in `segment`, or `-1`. Linear scan, no regex. */
162
+ function assignmentIndex(segment) {
163
+ for (let index = 0; index < segment.length; index += 1) {
164
+ const code = segment.charCodeAt(index);
165
+ if (code === 61 /* '=' */ || code === 58 /* ':' */)
166
+ return index;
167
+ }
168
+ return -1;
169
+ }
170
+ export function hasCredentialQuery(parameters) {
171
+ return [...parameters.keys()].some(isCredentialQueryName);
172
+ }
173
+ export function deleteQueryNames(url, names) {
174
+ for (const name of [...url.searchParams.keys()]) {
175
+ if (names.has(name.toLowerCase()))
176
+ url.searchParams.delete(name);
177
+ }
178
+ }
179
+ /** Stable key/value ordering for credential-free service identity and provenance. */
180
+ export function canonicalizeUrlQuery(url) {
181
+ const entries = [...url.searchParams.entries()].sort(([leftName, leftValue], [rightName, rightValue]) => {
182
+ if (leftName !== rightName)
183
+ return leftName < rightName ? -1 : 1;
184
+ return leftValue < rightValue ? -1 : leftValue > rightValue ? 1 : 0;
185
+ });
186
+ url.search = "";
187
+ for (const [name, value] of entries)
188
+ url.searchParams.append(name, value);
189
+ }
@@ -10,11 +10,12 @@
10
10
  * `Source.protocol("pmtiles").describe()`.
11
11
  *
12
12
  * This module never statically imports the `pmtiles` package. The reader is
13
- * pulled in lazily (`await import("pmtiles")`) the first time an archive is
14
- * actually described, mirroring the Cesium adapter so consumers that never
15
- * touch PMTiles pay zero bundle cost. A minimal `pmtiles` module slice is
16
- * modelled here so the wiring stays unit-testable against an injected fake
17
- * without a network fetch.
13
+ * loaded through a non-literal dynamic import the first time an archive is
14
+ * described, so a REST Vite build does not resolve that optional peer.
15
+ * Node still resolves an installed `pmtiles` package. Pass
16
+ * {@link DescribePmtilesArchiveDeps.PMTiles} to inject the constructor. A
17
+ * minimal module slice keeps that injection unit-testable without a network
18
+ * fetch.
18
19
  *
19
20
  * @module
20
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pmtiles.d.ts","sourceRoot":"","sources":["../../../src/contract/pmtiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pmtiles.d.ts","sourceRoot":"","sources":["../../../src/contract/pmtiles.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,37 @@
1
1
  import { PROTOCOL_DEFAULT_CAPABILITIES } from "./types.js";
2
+ const PMTILES_SPECIFIER = "pmtiles";
2
3
  /**
3
- * Lazily import the `pmtiles` reader. Kept in its own function so the dynamic
4
- * `import("pmtiles")` is the only reference to the package in `src/`, which is
5
- * what keeps PMTiles out of every bundle that never inspects an archive.
4
+ * A literal `import("pmtiles")` is followed by Vite even when REST never
5
+ * describes an archive. The specifier stays a parameter so the production
6
+ * build does not resolve the optional peer. Node resolves it when installed.
6
7
  */
8
+ function importPmtilesSpecifier(specifier) {
9
+ return import(/* @vite-ignore */ specifier);
10
+ }
11
+ function pmtilesPeerMissing(error) {
12
+ if (!(error instanceof Error))
13
+ return false;
14
+ const code = "code" in error && (typeof error.code === "string" || typeof error.code === "number") ? String(error.code) : "";
15
+ const message = `${code}\n${error.message}`;
16
+ return (/ERR_MODULE_NOT_FOUND|ERR_PACKAGE_PATH_NOT_EXPORTED|Failed to resolve module specifier|Failed to fetch dynamically imported module|Cannot find package|Cannot find module/.test(message) && message.includes(PMTILES_SPECIFIER));
17
+ }
7
18
  async function loadPmtilesCtor() {
8
- const mod = (await import("pmtiles"));
9
- return mod.PMTiles;
19
+ let loaded;
20
+ try {
21
+ loaded = await importPmtilesSpecifier(PMTILES_SPECIFIER);
22
+ }
23
+ catch (error) {
24
+ if (!pmtilesPeerMissing(error))
25
+ throw error;
26
+ throw new Error('PMTiles archive inspection could not load the optional peer "pmtiles". Install pmtiles to describe an archive. REST feature queries do not load it.', error instanceof Error ? { cause: error } : undefined);
27
+ }
28
+ const ctor = loaded !== null && typeof loaded === "object" && "PMTiles" in loaded
29
+ ? loaded.PMTiles
30
+ : undefined;
31
+ if (typeof ctor !== "function") {
32
+ throw new Error('The optional peer "pmtiles" loaded but did not export PMTiles.');
33
+ }
34
+ return ctor;
10
35
  }
11
36
  /**
12
37
  * The `pmtiles` `TileType` enum values (spec v3). Duplicated here as a plain
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/core/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,2BAA2B,EAQjC,MAAM,kBAAkB,CAAC;AAyB1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAuD,MAAM,0BAA0B,CAAC;AActH,OAAO,EAAE,YAAY,EAA4D,MAAM,eAAe,CAAC;AACvG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EACL,iBAAiB,EASlB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EAShB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EAQd,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAiB5F,OAAO,EACL,eAAe,EAMhB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAEhB,uBAAuB,EACvB,oBAAoB,EAGpB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,EAEzB,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,iCAAiC,EACjC,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EAKnB,wBAAwB,EACxB,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,wBAAwB,EAExB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,gCAAgC,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAkE,MAAM,UAAU,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAA0D,MAAM,WAAW,CAAC;AAK9F,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAC;AAyG5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,qBAAa,WAAW;IACtB,iFAAiF;IACjF,gBAAuB,6BAA6B,WAA0C;IAC9F,gBAAuB,oCAAoC,aAA4C;IAEvG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,wBAAwB,CAAuC;IACvE,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,kBAAkB,CAAyD;IACnF,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,oBAAoB,CAAqD;IACjF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2D;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;IAE5D;;;;;;;;;;;;;;;;;;;;OAoBG;gBACgB,OAAO,EAAE,kBAAkB;IAgD9C;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAUnC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,4BAA4B;IAqBpC;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;YAoBjB,mBAAmB;IA6BjC;;;;;;;;;;OAUG;YACW,sBAAsB;mBA2Ef,eAAe;IAapC,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;;;OAKG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED;;;OAGG;IACU,sBAAsB,CACjC,MAAM,GAAE,sBAAiC,GACxC,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAQ5C;;;;;;;;;OASG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI9D;;;;;OAKG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IASxD,8EAA8E;IACvE,oBAAoB,IAAI,IAAI;IAInC;;;OAGG;IACU,qBAAqB,CAAC,OAAO,GAAE,0BAAiD,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7G;;;;;;;;;;;;;OAaG;IACW,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,cAAc,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC;IAS1G,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAO/C;;;;;;;;;;;;;;OAcG;IACI,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAQnG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAO9C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa;IAQlE;;;;;;;;;;;;;;OAcG;IACI,WAAW,IAAI,gBAAgB;IAM/B,QAAQ,IAAI,aAAa;IAIzB,OAAO,IAAI,YAAY;IAIvB,UAAU,IAAI,eAAe;IAI7B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;IAIhC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAIzC;;;;;;;;;OASG;IACI,YAAY,CAAC,OAAO,GAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAM,GAAG,iBAAiB;IAIvF,IAAI,IAAI,eAAe;IAIvB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAIlD,eAAe,IAAI,oBAAoB;IAIvC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,yBAAyB;IAI9E,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB;IAI/D,gBAAgB,CAAC,OAAO,GAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAM,GAAG,kBAAkB;IAI5F,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAI7E,2BAA2B,CAAC,aAAa,EAAE,2BAA2B,GAAG,kBAAkB;IAI3F,GAAG,CAAC,WAAW,SAAS,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,QAAQ;IAUvE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,mBAAmB;IAIlF,kBAAkB,CAAC,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAaxD,YAAY,CACvB,eAAe,GAAE,MAAM,GAAG,OAAO,GAAG,2BAAoC,EACxE,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,qBAAqB,CAAC;IAMjC;;;;;;;;;;;;;;;;OAgBG;IACU,gBAAgB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiBzG;;;;;;;;;;;;;;;OAeG;IACU,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAmBjH;;;;;;;;;;OAUG;IACU,eAAe,CAC1B,OAAO,EAAE,+BAA+B,EACxC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;;OAMG;IACU,mBAAmB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IActG,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBvE;;;;;;;;;;;OAWG;IACU,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAC1C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE,EACxD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;YAIC,cAAc;YAKd,kBAAkB;YAMlB,sBAAsB;YA0BtB,mBAAmB;IA0BjC;;;;;;;;;;;OAWG;IACU,aAAa,CACxB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,EAClB,YAAY,CAAC,EAAE,WAAW,EAC1B,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/B,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;QAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B;;;;WAIG;QACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,GAAG,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9F;;;;WAIG;QACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAClG;;;;WAIG;QACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACtC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,gBAAgB,GAAG,OAAO,KAC/B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B;;;;;;WAMG;QACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,GAAG,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACjG,GACL,OAAO,CAAC,QAAQ,CAAC;YAwCN,yBAAyB;IAgIvC,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,qBAAqB;IAShB,gBAAgB,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,kBAAkB,CAAC;IAIjB,yBAAyB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;;;;;;;OAQG;IACI,wBAAwB,CAAC,IAAI,GAAE,gBAAiC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAcvF,qBAAqB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIzF,yBAAyB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIjG,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI1F,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIpF,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIpF,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAIlF,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIrE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI9E,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIhF,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI5E,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAItF,sBAAsB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI9F,qBAAqB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAIhG,mBAAmB,CAC9B,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACzD,GAAG,2BAA2B,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IAIpB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIzF,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIrF,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAMpE,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIrF,qBAAqB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI7F,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAM9E,oBAAoB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIxF,wBAAwB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIhG,wBAAwB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIhG,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI1F,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIpF,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI5E,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1E,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMnF;;;;;OAKG;IACU,kBAAkB,CAAC,OAAO,EAAE;QACvC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACzD,GAAG,OAAO,CAAC,eAAe,CAAC;IAI5B,0DAA0D;IAC7C,SAAS,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAItG;;;;;OAKG;IACU,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB,GACrD,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAI1C;;;;;OAKG;IACU,YAAY,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAM/F,mBAAmB,CAAC,OAAO,EAAE;QACxC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI7B;;;;;;;OAOG;IACU,aAAa,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5G;;;OAGG;IACU,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzD,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,sBAAsB,GACtD,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;IAM9B,sBAAsB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI1F,0BAA0B,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIlG,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAItF,aAAa,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,kBAAkB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIvG,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIzF,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIlF,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI1F,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAMrF,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAInF,mBAAmB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI3F,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIrF,WAAW,CAAC,OAAO,EAAE;QAChC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;QAC9B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACzD,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIrB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIrF,qBAAqB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,oBAAoB,CAAC;IAInB,mBAAmB,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACU,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBzE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzE,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIxE,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI9F,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI/F,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIrE,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIrE,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIxE,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAI3D,WAAW;IA8CzB;;OAEG;YACW,6BAA6B;IA4D3C;;;;;;;;OAQG;IACU,WAAW,CACtB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,yEAAyE;QACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACA,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAkDjE;;;;;OAKG;YACW,YAAY;IAkC1B;;;;;;;;;;;;;;;;;;;;;;OAsBG;YACW,cAAc;YAyMd,uBAAuB;YAoBvB,sBAAsB;IAyBpC,4EAA4E;IAC5E,OAAO,CAAC,oBAAoB;YAId,sBAAsB;IAUpC;;;;OAIG;YACW,kCAAkC;YAYlC,4BAA4B;YAuB5B,gBAAgB;CAG/B"}
package/core/client.js CHANGED
@@ -9,6 +9,7 @@ import { HonuaOgcMaps, getOgcMapImage, getOgcMapsConformance, getOgcMapsLanding
9
9
  import { HonuaOgcProcesses, cancelOgcProcessJob, executeOgcProcess, getOgcProcess, getOgcProcessJob, getOgcProcessJobResults, getOgcProcessesConformance, getOgcProcessesLanding, listOgcProcesses, } from "./ogc-processes.js";
10
10
  import { HonuaOgcRecords, fetchOgcRecordRaw, fetchOgcRecordsRaw, getOgcRecord, getOgcRecordCollection, getOgcRecordsConformance, getOgcRecordsLanding, listOgcRecordCollections, searchOgcRecords, } from "./ogc-records.js";
11
11
  import { HonuaOgcTiles, fetchOgcTile, getOgcCollectionTileset, getOgcTileMatrixSet, getOgcTilesConformance, getOgcTilesLanding, listOgcCollectionTilesets, listOgcTileMatrixSets, } from "./ogc-tiles.js";
12
+ import { explainOptionalGrpcLoadFailure } from "./optional-grpc-peer.js";
12
13
  import { stripQuery, trimTrailingSlashes } from "./path-utils.js";
13
14
  import { decodePbfQueryResponse, isPbfResponse } from "./pbf-decoder.js";
14
15
  import { createGeoServicesGpAdapter, createGeospatialGrpcProcessAdapter, createHonuaProcessRunner, createOgcProcessesAdapter, } from "./process-runner.js";
@@ -303,16 +304,12 @@ export class HonuaClient {
303
304
  if (this.connectClient) {
304
305
  return this.connectClient;
305
306
  }
306
- // Keep optional Connect peers out of the module graph until the first
307
- // gRPC operation is actually awaited. Caching the in-flight promise also
308
- // prevents concurrent first calls from constructing competing clients.
307
+ // Keep optional Connect peers out of the static module graph until the
308
+ // first gRPC operation is awaited. A literal import() is followed by
309
+ // Vite/Rolldown and fails a REST production build when the peer is absent.
309
310
  let initPromise = this.connectClientPromise;
310
311
  if (!initPromise) {
311
- initPromise = Promise.all([
312
- import("@connectrpc/connect"),
313
- import("@connectrpc/connect-web"),
314
- import("../gen/geospatial/v1/feature_service_pb.js"),
315
- ]).then(([{ createClient }, { createGrpcWebTransport }, { FeatureService }]) => {
312
+ initPromise = loadGrpcWebRuntime().then(({ createClient, createGrpcWebTransport, FeatureService }) => {
316
313
  const transport = createGrpcWebTransport(this.connectTransportOptions());
317
314
  this.connectClient = createClient(FeatureService, transport);
318
315
  return this.connectClient;
@@ -327,7 +324,7 @@ export class HonuaClient {
327
324
  if (this.connectClientPromise === initPromise) {
328
325
  this.connectClientPromise = undefined;
329
326
  }
330
- throw error;
327
+ throw explainOptionalGrpcLoadFailure(error);
331
328
  }
332
329
  }
333
330
  /**
@@ -400,7 +397,17 @@ export class HonuaClient {
400
397
  }
401
398
  }
402
399
  static async loadGrpcAdapter() {
403
- return import("./grpc-adapter.js");
400
+ let loaded;
401
+ try {
402
+ loaded = await importOptionalGrpcSpecifier(GRPC_ADAPTER_SPECIFIER);
403
+ }
404
+ catch (error) {
405
+ throw explainOptionalGrpcLoadFailure(error);
406
+ }
407
+ if (!isGrpcAdapterModule(loaded)) {
408
+ throw new Error("HonuaClient gRPC adapter loaded but did not export the query runtime.");
409
+ }
410
+ return loaded;
404
411
  }
405
412
  get isGrpcWeb() {
406
413
  return this.transport === "grpc-web";
@@ -1276,9 +1283,10 @@ export class HonuaClient {
1276
1283
  };
1277
1284
  return this.executeRequest(request, {
1278
1285
  callerSignal,
1286
+ deadlineThroughFinalize: true,
1279
1287
  readOnlyQuery: policy?.readOnlyQuery,
1280
1288
  redirect: policy?.readOnlyQuery ? "preserve-method" : undefined,
1281
- finalize: async (response, durationMs, currentRequest, runAfter) => {
1289
+ finalize: async (response, _durationMs, _currentRequest, runAfter) => {
1282
1290
  // Parse the original body directly when no after-interceptor will read
1283
1291
  // it; only clone when an interceptor needs an independent copy.
1284
1292
  const body = await parseResponseBody(this.hasAfterInterceptors() ? response.clone() : response);
@@ -1288,11 +1296,9 @@ export class HonuaClient {
1288
1296
  // failure envelope back as a "successful" response object.
1289
1297
  const envelopeError = toGeoServicesError(response.status, body, response.headers);
1290
1298
  if (envelopeError) {
1291
- await this.applyErrorInterceptors({
1292
- request: cloneRequestContext(currentRequest),
1293
- error: envelopeError,
1294
- durationMs,
1295
- });
1299
+ // deadlineThroughFinalize is set for this wrapper, so executeRequest
1300
+ // dispatches error interceptors for this throw. Notifying here as well
1301
+ // runs every hook twice.
1296
1302
  throw envelopeError;
1297
1303
  }
1298
1304
  await runAfter();
@@ -1552,9 +1558,14 @@ export class HonuaClient {
1552
1558
  return shorted.value;
1553
1559
  }
1554
1560
  if (!response.ok && !options.okStatuses?.includes(response.status)) {
1555
- const body = options.errorBody
1556
- ? await options.errorBody(response, options.deadlineThroughFinalize ? timeout.signal : undefined)
1557
- : await parseResponseBody(response.clone());
1561
+ const errorBodyRead = options.errorBody
1562
+ ? options.errorBody(response, options.deadlineThroughFinalize ? timeout.signal : undefined)
1563
+ : parseResponseBody(response.clone());
1564
+ // A custom fetchFn can return a non-OK body that ignores init.signal.
1565
+ // Race that read with the same deadline as a successful body.
1566
+ const body = options.deadlineThroughFinalize
1567
+ ? await awaitAbortable(errorBodyRead, timeout.signal)
1568
+ : await errorBodyRead;
1558
1569
  const httpError = toHttpError(response.status, body, response.headers);
1559
1570
  if (!refreshedAuth &&
1560
1571
  (response.status === 401 || response.status === 403) &&
@@ -1591,6 +1602,16 @@ export class HonuaClient {
1591
1602
  if (!options.deadlineThroughFinalize || !timeout.signal?.aborted)
1592
1603
  throw error;
1593
1604
  const terminalError = timeout.didTimeout ? new HonuaTimeoutError(this.timeoutMs ?? 0) : new HonuaAbortError();
1605
+ // A body-read or finalize deadline is the same transient failure as a
1606
+ // timeout inside fetch. Replay-safe requests re-enter the retry policy.
1607
+ // Caller cancellation is never retried. Interceptors run only once the
1608
+ // attempt is terminal, so a later successful retry does not observe it.
1609
+ if (timeout.didTimeout &&
1610
+ shouldRetryRequest(this.retryOptions, request.method, attempt, undefined, terminalError, readOnlyQuery)) {
1611
+ await options.beforeReplay?.(cloneRequestContext(request), undefined, "retry");
1612
+ await this.sleepBeforeRetry(attempt, undefined, retrySignal);
1613
+ continue;
1614
+ }
1594
1615
  beginTerminalErrorNotification(terminalError, performance.now() - startTime);
1595
1616
  throw terminalError;
1596
1617
  }
@@ -1978,3 +1999,50 @@ function mergePathWithQueryParams(path, additionalParams) {
1978
1999
  const withQuery = nextQuery.length > 0 ? `${basePath}?${nextQuery}` : basePath;
1979
2000
  return `${withQuery}${hash}`;
1980
2001
  }
2002
+ const CONNECT_SPECIFIER = "@connectrpc/connect";
2003
+ const CONNECT_WEB_SPECIFIER = "@connectrpc/connect-web";
2004
+ const FEATURE_SERVICE_SPECIFIER = "../gen/geospatial/v1/feature_service_pb.js";
2005
+ const GRPC_ADAPTER_SPECIFIER = "./grpc-adapter.js";
2006
+ /**
2007
+ * Bundlers statically follow a literal `import("@connectrpc/connect")` and a
2008
+ * relative `import("./grpc-adapter.js")` even when REST never calls them.
2009
+ * Passing the specifier through a parameter leaves the import unbound, so a
2010
+ * REST production build does not resolve the optional peers. Node still
2011
+ * resolves the same strings when `transport: "grpc-web"` is selected.
2012
+ */
2013
+ function importOptionalGrpcSpecifier(specifier) {
2014
+ return import(/* @vite-ignore */ specifier);
2015
+ }
2016
+ function isNamespace(value) {
2017
+ return (typeof value === "object" && value !== null) || typeof value === "function";
2018
+ }
2019
+ async function loadGrpcWebRuntime() {
2020
+ const [connect, connectWeb, featureService] = await Promise.all([
2021
+ importOptionalGrpcSpecifier(CONNECT_SPECIFIER),
2022
+ importOptionalGrpcSpecifier(CONNECT_WEB_SPECIFIER),
2023
+ importOptionalGrpcSpecifier(FEATURE_SERVICE_SPECIFIER),
2024
+ ]);
2025
+ if (!isNamespace(connect) || typeof connect.createClient !== "function") {
2026
+ throw new Error('The optional peer "@connectrpc/connect" loaded but did not export createClient.');
2027
+ }
2028
+ if (!isNamespace(connectWeb) || typeof connectWeb.createGrpcWebTransport !== "function") {
2029
+ throw new Error('The optional peer "@connectrpc/connect-web" loaded but did not export createGrpcWebTransport.');
2030
+ }
2031
+ const descriptor = isNamespace(featureService) ? featureService.FeatureService : undefined;
2032
+ if (descriptor == null || typeof descriptor !== "object") {
2033
+ throw new Error("The gRPC FeatureService descriptor loaded but was not a service descriptor.");
2034
+ }
2035
+ return {
2036
+ createClient: connect.createClient,
2037
+ createGrpcWebTransport: connectWeb.createGrpcWebTransport,
2038
+ FeatureService: descriptor,
2039
+ };
2040
+ }
2041
+ function isGrpcAdapterModule(value) {
2042
+ if (!isNamespace(value))
2043
+ return false;
2044
+ return (typeof value.toProtoQueryRequest === "function" &&
2045
+ typeof value.fromProtoQueryResponse === "function" &&
2046
+ typeof value.wrapConnectError === "function" &&
2047
+ typeof value.streamProtoPages === "function");
2048
+ }
@@ -0,0 +1,28 @@
1
+ type DeprecationWarningEmitter = {
2
+ emitWarning(message: string, options: {
3
+ code: string;
4
+ type: string;
5
+ }): void;
6
+ };
7
+ type DeprecationNoticeRuntime = {
8
+ process?: Partial<DeprecationWarningEmitter>;
9
+ console?: {
10
+ warn?: (message: string) => void;
11
+ };
12
+ };
13
+ export interface DeprecationNotice {
14
+ /** Stable `process.emitWarning` code, also the once-per-process key. */
15
+ code: string;
16
+ message: string;
17
+ }
18
+ /**
19
+ * Emits `notice` at most once per process (once per page in a browser), however
20
+ * many copies of the calling module are evaluated. Node routes it through
21
+ * `process.emitWarning` as a `DeprecationWarning`, so `--no-deprecation` and
22
+ * `--trace-deprecation` apply; runtimes without `process` get `console.warn`.
23
+ *
24
+ * Returns true when this call emitted the notice.
25
+ */
26
+ export declare function emitDeprecationNoticeOnce(notice: DeprecationNotice, runtime?: DeprecationNoticeRuntime): boolean;
27
+ export {};
28
+ //# sourceMappingURL=deprecation-notice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecation-notice.d.ts","sourceRoot":"","sources":["../../../src/core/deprecation-notice.ts"],"names":[],"mappings":"AAAA,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7E,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,wBAAiE,GACzE,OAAO,CAYT"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Emits `notice` at most once per process (once per page in a browser), however
3
+ * many copies of the calling module are evaluated. Node routes it through
4
+ * `process.emitWarning` as a `DeprecationWarning`, so `--no-deprecation` and
5
+ * `--trace-deprecation` apply; runtimes without `process` get `console.warn`.
6
+ *
7
+ * Returns true when this call emitted the notice.
8
+ */
9
+ export function emitDeprecationNoticeOnce(notice, runtime = globalThis) {
10
+ const key = Symbol.for(`@honua/sdk-js:deprecation:${notice.code}`);
11
+ const registry = runtime;
12
+ if (registry[key] === true)
13
+ return false;
14
+ registry[key] = true;
15
+ if (typeof runtime.process?.emitWarning === "function") {
16
+ runtime.process.emitWarning(notice.message, { code: notice.code, type: "DeprecationWarning" });
17
+ }
18
+ else {
19
+ runtime.console?.warn?.(`DeprecationWarning [${notice.code}]: ${notice.message}`);
20
+ }
21
+ return true;
22
+ }
@@ -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;AA0MpB;;;;;;;;;;;;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,CAuCrB"}
@@ -62,18 +62,22 @@ function isExteriorRing(ring) {
62
62
  }
63
63
  function isPointOnSegment(point, segmentStart, segmentEnd) {
64
64
  const epsilon = 1e-9;
65
- const crossProduct = (point[0] - segmentStart[0]) * (segmentEnd[1] - segmentStart[1]) -
66
- (point[1] - segmentStart[1]) * (segmentEnd[0] - segmentStart[0]);
65
+ const segmentDeltaX = segmentEnd[0] - segmentStart[0];
66
+ const segmentDeltaY = segmentEnd[1] - segmentStart[1];
67
+ const segmentLengthSquared = segmentDeltaX * segmentDeltaX + segmentDeltaY * segmentDeltaY;
68
+ if (segmentLengthSquared <= epsilon * epsilon) {
69
+ const pointDeltaX = point[0] - segmentStart[0];
70
+ const pointDeltaY = point[1] - segmentStart[1];
71
+ return pointDeltaX * pointDeltaX + pointDeltaY * pointDeltaY <= epsilon * epsilon;
72
+ }
73
+ const crossProduct = (point[0] - segmentStart[0]) * segmentDeltaY - (point[1] - segmentStart[1]) * segmentDeltaX;
67
74
  if (Math.abs(crossProduct) > epsilon) {
68
75
  return false;
69
76
  }
70
- const dotProduct = (point[0] - segmentStart[0]) * (segmentEnd[0] - segmentStart[0]) +
71
- (point[1] - segmentStart[1]) * (segmentEnd[1] - segmentStart[1]);
77
+ const dotProduct = (point[0] - segmentStart[0]) * segmentDeltaX + (point[1] - segmentStart[1]) * segmentDeltaY;
72
78
  if (dotProduct < -epsilon) {
73
79
  return false;
74
80
  }
75
- const segmentLengthSquared = (segmentEnd[0] - segmentStart[0]) * (segmentEnd[0] - segmentStart[0]) +
76
- (segmentEnd[1] - segmentStart[1]) * (segmentEnd[1] - segmentStart[1]);
77
81
  return dotProduct - segmentLengthSquared <= epsilon;
78
82
  }
79
83
  function isPointInsideRing(point, ring) {