@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.
- package/README.md +2 -0
- package/columnar/apache-arrow.d.ts +17 -0
- package/columnar/apache-arrow.d.ts.map +1 -0
- package/columnar/apache-arrow.js +1036 -0
- package/columnar/batch-cache-conformance.d.ts +66 -0
- package/columnar/batch-cache-conformance.d.ts.map +1 -0
- package/columnar/batch-cache-conformance.js +317 -0
- package/columnar/batch-cache-indexeddb.d.ts +31 -0
- package/columnar/batch-cache-indexeddb.d.ts.map +1 -0
- package/columnar/batch-cache-indexeddb.js +148 -0
- package/columnar/batch-cache.d.ts +298 -0
- package/columnar/batch-cache.d.ts.map +1 -0
- package/columnar/batch-cache.js +757 -0
- package/columnar/geoarrow-aggregate.d.ts +178 -0
- package/columnar/geoarrow-aggregate.d.ts.map +1 -0
- package/columnar/geoarrow-aggregate.js +976 -0
- package/columnar/geoarrow-patch.d.ts +382 -0
- package/columnar/geoarrow-patch.d.ts.map +1 -0
- package/columnar/geoarrow-patch.js +1656 -0
- package/columnar/geoarrow-reproject.d.ts +22 -0
- package/columnar/geoarrow-reproject.d.ts.map +1 -0
- package/columnar/geoarrow-reproject.js +119 -0
- package/columnar/geoarrow-serialization.d.ts +68 -0
- package/columnar/geoarrow-serialization.d.ts.map +1 -0
- package/columnar/geoarrow-serialization.js +331 -0
- package/columnar/geoarrow-types.d.ts +271 -0
- package/columnar/geoarrow-types.d.ts.map +1 -0
- package/columnar/geoarrow-types.js +15 -0
- package/columnar/geoarrow.d.ts +52 -0
- package/columnar/geoarrow.d.ts.map +1 -0
- package/columnar/geoarrow.js +1469 -0
- package/columnar/index.d.ts +43 -0
- package/columnar/index.d.ts.map +1 -0
- package/columnar/index.js +29 -0
- package/columnar/operators.d.ts +70 -0
- package/columnar/operators.d.ts.map +1 -0
- package/columnar/operators.js +307 -0
- package/columnar/result.d.ts +369 -0
- package/columnar/result.d.ts.map +1 -0
- package/columnar/result.js +815 -0
- package/columnar/telemetry.d.ts +152 -0
- package/columnar/telemetry.d.ts.map +1 -0
- package/columnar/telemetry.js +265 -0
- package/columnar/transfer.d.ts +28 -0
- package/columnar/transfer.d.ts.map +1 -0
- package/columnar/transfer.js +669 -0
- package/columnar/types.d.ts +175 -0
- package/columnar/types.d.ts.map +1 -0
- package/columnar/types.js +22 -0
- package/columnar/worker.d.ts +157 -0
- package/columnar/worker.d.ts.map +1 -0
- package/columnar/worker.js +1059 -0
- package/connect-url-safety.d.ts +53 -0
- package/connect-url-safety.js +189 -0
- package/contract/pmtiles.d.ts +6 -5
- package/contract/pmtiles.d.ts.map +1 -1
- package/contract/pmtiles.js +30 -5
- package/core/client.d.ts.map +1 -1
- package/core/client.js +87 -19
- package/core/deprecation-notice.d.ts +28 -0
- package/core/deprecation-notice.d.ts.map +1 -0
- package/core/deprecation-notice.js +22 -0
- package/core/esri-geojson.d.ts.map +1 -1
- package/core/esri-geojson.js +10 -6
- package/core/optional-grpc-peer.d.ts +15 -0
- package/core/optional-grpc-peer.d.ts.map +1 -0
- package/core/optional-grpc-peer.js +60 -0
- package/esri-compat/basemap-gallery.d.ts +2 -0
- package/esri-compat/basemap-gallery.d.ts.map +1 -1
- package/esri-compat/basemap-gallery.js +12 -0
- package/esri-compat/basemap.d.ts +4 -0
- package/esri-compat/basemap.d.ts.map +1 -1
- package/esri-compat/basemap.js +70 -0
- package/esri-compat/bookmarks.d.ts +2 -0
- package/esri-compat/bookmarks.d.ts.map +1 -1
- package/esri-compat/bookmarks.js +12 -0
- package/esri-compat/controls.d.ts +18 -0
- package/esri-compat/controls.d.ts.map +1 -1
- package/esri-compat/controls.js +120 -57
- package/esri-compat/directions.d.ts +4 -0
- package/esri-compat/directions.d.ts.map +1 -1
- package/esri-compat/directions.js +30 -20
- package/esri-compat/editor.d.ts +4 -0
- package/esri-compat/editor.d.ts.map +1 -1
- package/esri-compat/editor.js +16 -0
- package/esri-compat/esri-config.d.ts +2 -1
- package/esri-compat/esri-config.d.ts.map +1 -1
- package/esri-compat/feature-effect.d.ts +23 -0
- package/esri-compat/feature-effect.d.ts.map +1 -0
- package/esri-compat/feature-effect.js +12 -0
- package/esri-compat/feature-form.d.ts +6 -0
- package/esri-compat/feature-form.d.ts.map +1 -1
- package/esri-compat/feature-form.js +63 -0
- package/esri-compat/feature-layer.d.ts +21 -2
- package/esri-compat/feature-layer.d.ts.map +1 -1
- package/esri-compat/feature-layer.js +172 -1
- package/esri-compat/feature-table.d.ts +5 -0
- package/esri-compat/feature-table.d.ts.map +1 -1
- package/esri-compat/feature-table.js +23 -0
- package/esri-compat/identity-manager.d.ts +1 -1
- package/esri-compat/identity-manager.js +1 -1
- package/esri-compat/legend.d.ts +2 -0
- package/esri-compat/legend.d.ts.map +1 -1
- package/esri-compat/legend.js +98 -0
- package/esri-compat/locator.d.ts +1 -1
- package/esri-compat/locator.js +1 -1
- package/esri-compat/map-view-mount.d.ts +1 -0
- package/esri-compat/map-view-mount.d.ts.map +1 -1
- package/esri-compat/map-view-mount.js +46 -25
- package/esri-compat/map-view.d.ts +13 -0
- package/esri-compat/map-view.d.ts.map +1 -1
- package/esri-compat/map-view.js +94 -8
- package/esri-compat/map.d.ts +5 -1
- package/esri-compat/map.d.ts.map +1 -1
- package/esri-compat/map.js +10 -0
- package/esri-compat/measurement.d.ts +2 -0
- package/esri-compat/measurement.d.ts.map +1 -1
- package/esri-compat/measurement.js +14 -0
- package/esri-compat/point.d.ts +7 -0
- package/esri-compat/point.d.ts.map +1 -1
- package/esri-compat/point.js +33 -3
- package/esri-compat/popup.d.ts +2 -0
- package/esri-compat/popup.d.ts.map +1 -1
- package/esri-compat/popup.js +12 -0
- package/esri-compat/portal.d.ts +1 -1
- package/esri-compat/portal.js +1 -1
- package/esri-compat/print.d.ts +3 -0
- package/esri-compat/print.d.ts.map +1 -1
- package/esri-compat/print.js +15 -0
- package/esri-compat/search.d.ts +4 -0
- package/esri-compat/search.d.ts.map +1 -1
- package/esri-compat/search.js +25 -28
- package/esri-compat/sketch.d.ts +2 -0
- package/esri-compat/sketch.d.ts.map +1 -1
- package/esri-compat/sketch.js +12 -0
- package/esri-compat/widget-host.d.ts +46 -17
- package/esri-compat/widget-host.d.ts.map +1 -1
- package/esri-compat/widget-host.js +84 -20
- package/esri-compat/widget-shell-hosts.d.ts +61 -0
- package/esri-compat/widget-shell-hosts.d.ts.map +1 -0
- package/esri-compat/widget-shell-hosts.js +76 -0
- package/index.d.ts +3 -1
- package/index.js +1 -0
- package/offline/digest.d.ts +15 -0
- package/offline/digest.js +58 -0
- package/offline/quota.d.ts +161 -0
- package/offline/quota.js +370 -0
- package/offline/types.d.ts +349 -0
- package/offline/types.js +75 -0
- package/package.json +21 -2
- package/query-planner/canonical-filter.d.ts +30 -0
- package/query-planner/canonical-filter.d.ts.map +1 -0
- package/query-planner/canonical-filter.js +30 -0
- package/query-planner/canonical.d.ts +7 -0
- package/query-planner/canonical.d.ts.map +1 -0
- package/query-planner/canonical.js +145 -0
- package/query-planner/columnar-plan.d.ts +63 -0
- package/query-planner/columnar-plan.d.ts.map +1 -0
- package/query-planner/columnar-plan.js +94 -0
- package/query-planner/cql2-json.d.ts +17 -0
- package/query-planner/cql2-json.d.ts.map +1 -0
- package/query-planner/cql2-json.js +646 -0
- package/query-planner/diagnostics.d.ts +35 -0
- package/query-planner/diagnostics.d.ts.map +1 -0
- package/query-planner/diagnostics.js +386 -0
- package/query-planner/duckdb.d.ts +79 -0
- package/query-planner/duckdb.d.ts.map +1 -0
- package/query-planner/duckdb.js +772 -0
- package/query-planner/execution-context.d.ts +5 -0
- package/query-planner/execution-context.d.ts.map +1 -0
- package/query-planner/execution-context.js +52 -0
- package/query-planner/executor.d.ts +5 -0
- package/query-planner/executor.d.ts.map +1 -0
- package/query-planner/executor.js +229 -0
- package/query-planner/geoservices.d.ts +91 -0
- package/query-planner/geoservices.d.ts.map +1 -0
- package/query-planner/geoservices.js +688 -0
- package/query-planner/grpc.d.ts +100 -0
- package/query-planner/grpc.d.ts.map +1 -0
- package/query-planner/grpc.js +760 -0
- package/query-planner/index.d.ts +59 -0
- package/query-planner/index.d.ts.map +1 -0
- package/query-planner/index.js +43 -0
- package/query-planner/ir.d.ts +25 -0
- package/query-planner/ir.d.ts.map +1 -0
- package/query-planner/ir.js +479 -0
- package/query-planner/local-aggregate.d.ts +5 -0
- package/query-planner/local-aggregate.d.ts.map +1 -0
- package/query-planner/local-aggregate.js +126 -0
- package/query-planner/odata-protocol-module.d.ts +54 -0
- package/query-planner/odata-protocol-module.d.ts.map +1 -0
- package/query-planner/odata-protocol-module.js +199 -0
- package/query-planner/odata-v1.d.ts +23 -0
- package/query-planner/odata-v1.d.ts.map +1 -0
- package/query-planner/odata-v1.js +202 -0
- package/query-planner/odata.d.ts +45 -0
- package/query-planner/odata.d.ts.map +1 -0
- package/query-planner/odata.js +519 -0
- package/query-planner/ogc-compiler.d.ts +55 -0
- package/query-planner/ogc-compiler.d.ts.map +1 -0
- package/query-planner/ogc-compiler.js +480 -0
- package/query-planner/ogc-features.d.ts +53 -0
- package/query-planner/ogc-features.d.ts.map +1 -0
- package/query-planner/ogc-features.js +639 -0
- package/query-planner/planner.d.ts +17 -0
- package/query-planner/planner.d.ts.map +1 -0
- package/query-planner/planner.js +937 -0
- package/query-planner/representation.d.ts +59 -0
- package/query-planner/representation.d.ts.map +1 -0
- package/query-planner/representation.js +140 -0
- package/query-planner/resource.d.ts +94 -0
- package/query-planner/resource.d.ts.map +1 -0
- package/query-planner/resource.js +526 -0
- package/query-planner/semantic-canonical.d.ts +15 -0
- package/query-planner/semantic-canonical.d.ts.map +1 -0
- package/query-planner/semantic-canonical.js +62 -0
- package/query-planner/semantic-compat.d.ts +10 -0
- package/query-planner/semantic-compat.d.ts.map +1 -0
- package/query-planner/semantic-compat.js +35 -0
- package/query-planner/semantic-compiler.d.ts +64 -0
- package/query-planner/semantic-compiler.d.ts.map +1 -0
- package/query-planner/semantic-compiler.js +81 -0
- package/query-planner/semantic-literals.d.ts +30 -0
- package/query-planner/semantic-literals.d.ts.map +1 -0
- package/query-planner/semantic-literals.js +133 -0
- package/query-planner/semantic-types.d.ts +265 -0
- package/query-planner/semantic-types.d.ts.map +1 -0
- package/query-planner/semantic-types.js +1 -0
- package/query-planner/semantic.d.ts +54 -0
- package/query-planner/semantic.d.ts.map +1 -0
- package/query-planner/semantic.js +1421 -0
- package/query-planner/types.d.ts +712 -0
- package/query-planner/types.d.ts.map +1 -0
- package/query-planner/types.js +49 -0
- package/query-planner/wfs-protocol-module.d.ts +57 -0
- package/query-planner/wfs-protocol-module.d.ts.map +1 -0
- package/query-planner/wfs-protocol-module.js +731 -0
- package/query-planner/wfs-semantic.d.ts +58 -0
- package/query-planner/wfs-semantic.d.ts.map +1 -0
- package/query-planner/wfs-semantic.js +547 -0
- package/query-planner/wfs-v1.d.ts +41 -0
- package/query-planner/wfs-v1.d.ts.map +1 -0
- package/query-planner/wfs-v1.js +366 -0
- package/query-planner/wfs.d.ts +4 -0
- package/query-planner/wfs.d.ts.map +1 -0
- package/query-planner/wfs.js +2 -0
- package/widget-capabilities.d.ts +67 -0
- 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
|
+
}
|
package/contract/pmtiles.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* without a network
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"pmtiles.d.ts","sourceRoot":"","sources":["../../../src/contract/pmtiles.ts"],"names":[],"mappings":"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"}
|
package/contract/pmtiles.js
CHANGED
|
@@ -1,12 +1,37 @@
|
|
|
1
1
|
import { PROTOCOL_DEFAULT_CAPABILITIES } from "./types.js";
|
|
2
|
+
const PMTILES_SPECIFIER = "pmtiles";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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
|
-
|
|
9
|
-
|
|
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
|
package/core/client.d.ts.map
CHANGED
|
@@ -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":"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"}
|
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
|
|
307
|
-
// gRPC operation is
|
|
308
|
-
//
|
|
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 =
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
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
|
|
1556
|
-
?
|
|
1557
|
-
:
|
|
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;
|
|
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"}
|
package/core/esri-geojson.js
CHANGED
|
@@ -62,18 +62,22 @@ function isExteriorRing(ring) {
|
|
|
62
62
|
}
|
|
63
63
|
function isPointOnSegment(point, segmentStart, segmentEnd) {
|
|
64
64
|
const epsilon = 1e-9;
|
|
65
|
-
const
|
|
66
|
-
|
|
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]) * (
|
|
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) {
|