@honua/react 0.1.0-beta.0 → 0.1.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contract/discovery.d.ts +231 -0
- package/contract/discovery.d.ts.map +1 -0
- package/contract/discovery.js +554 -0
- package/contract/edit-sketch.d.ts +8 -0
- package/contract/edit-sketch.d.ts.map +1 -1
- package/contract/edit-sketch.js +15 -0
- package/contract/edit-snapping.d.ts +160 -0
- package/contract/edit-snapping.d.ts.map +1 -0
- package/contract/edit-snapping.js +675 -0
- package/contract/generated/projjson-v0.7-crs-validator.d.ts +35 -0
- package/contract/generated/projjson-v0.7-crs-validator.d.ts.map +1 -0
- package/contract/generated/projjson-v0.7-crs-validator.js +3941 -0
- package/contract/index.d.ts +11 -2
- package/contract/index.d.ts.map +1 -1
- package/contract/index.js +4 -1
- package/contract/pmtiles.d.ts +31 -0
- package/contract/pmtiles.d.ts.map +1 -1
- package/contract/pmtiles.js +60 -20
- package/contract/protocol-module.d.ts +70 -0
- package/contract/protocol-module.d.ts.map +1 -0
- package/contract/protocol-module.js +1 -0
- package/contract/schema-envelope.d.ts +26 -0
- package/contract/schema-envelope.d.ts.map +1 -0
- package/contract/schema-envelope.js +25 -0
- package/contract/schema.d.ts +582 -0
- package/contract/schema.d.ts.map +1 -0
- package/contract/schema.js +2483 -0
- package/contract/source-capability-support.d.ts +6 -0
- package/contract/source-capability-support.d.ts.map +1 -0
- package/contract/source-capability-support.js +154 -0
- package/contract/source.d.ts +35 -17
- package/contract/source.d.ts.map +1 -1
- package/contract/source.js +267 -71
- package/contract/types.d.ts +140 -4
- package/contract/types.d.ts.map +1 -1
- package/contract/types.js +6 -14
- package/core/bounded-json.d.ts +4 -0
- package/core/bounded-json.d.ts.map +1 -0
- package/core/bounded-json.js +38 -0
- package/core/cache-state.d.ts +9 -0
- package/core/cache-state.d.ts.map +1 -1
- package/core/cache-state.js +10 -0
- package/core/capabilities-xml.d.ts +33 -0
- package/core/capabilities-xml.d.ts.map +1 -0
- package/core/capabilities-xml.js +331 -0
- package/core/client.d.ts +4 -1
- package/core/client.d.ts.map +1 -1
- package/core/client.js +115 -29
- package/core/error-classifications.d.ts +153 -0
- package/core/error-classifications.d.ts.map +1 -0
- package/core/error-classifications.js +140 -0
- package/core/error-code-registry.d.ts +158 -0
- package/core/error-code-registry.d.ts.map +1 -0
- package/core/error-code-registry.js +143 -0
- package/core/error-envelope.d.ts +68 -0
- package/core/error-envelope.d.ts.map +1 -0
- package/core/error-envelope.js +357 -0
- package/core/errors.d.ts +45 -29
- package/core/errors.d.ts.map +1 -1
- package/core/errors.js +97 -50
- package/core/geoparquet-sql.d.ts +30 -2
- package/core/geoparquet-sql.d.ts.map +1 -1
- package/core/geoparquet-sql.js +38 -3
- package/core/odata-key-path.d.ts +12 -0
- package/core/odata-key-path.d.ts.map +1 -0
- package/core/odata-key-path.js +28 -0
- package/core/odata-write-codec.d.ts +66 -0
- package/core/odata-write-codec.d.ts.map +1 -0
- package/core/odata-write-codec.js +1083 -0
- package/core/odata.d.ts +59 -7
- package/core/odata.d.ts.map +1 -1
- package/core/odata.js +431 -99
- package/core/ogc-features.d.ts.map +1 -1
- package/core/ogc-features.js +3 -0
- package/core/ogc-maps.d.ts +7 -0
- package/core/ogc-maps.d.ts.map +1 -1
- package/core/ogc-maps.js +46 -7
- package/core/ogc-processes.d.ts +2 -1
- package/core/ogc-processes.d.ts.map +1 -1
- package/core/ogc-processes.js +33 -5
- package/core/ogc-records.d.ts +9 -0
- package/core/ogc-records.d.ts.map +1 -1
- package/core/ogc-records.js +78 -29
- package/core/ogc-tiles.d.ts +10 -1
- package/core/ogc-tiles.d.ts.map +1 -1
- package/core/ogc-tiles.js +56 -17
- package/core/path-utils.d.ts +9 -0
- package/core/path-utils.d.ts.map +1 -1
- package/core/path-utils.js +19 -0
- package/core/protocol-transport.d.ts +1 -0
- package/core/protocol-transport.d.ts.map +1 -1
- package/core/request-pipeline.d.ts.map +1 -1
- package/core/request-pipeline.js +1 -1
- package/core/spatial-filter.d.ts +8 -4
- package/core/spatial-filter.d.ts.map +1 -1
- package/core/spatial-filter.js +206 -16
- package/core/stac-static.d.ts +6 -2
- package/core/stac-static.d.ts.map +1 -1
- package/core/stac-static.js +260 -69
- package/core/surfaces.d.ts.map +1 -1
- package/core/surfaces.js +69 -5
- package/core/types.d.ts +125 -7
- package/core/types.d.ts.map +1 -1
- package/core/wfs-capabilities.d.ts +2 -0
- package/core/wfs-capabilities.d.ts.map +1 -1
- package/core/wfs-capabilities.js +8 -1
- package/core/wfs.d.ts.map +1 -1
- package/core/wfs.js +10 -0
- package/core/wms-capabilities.d.ts +56 -84
- package/core/wms-capabilities.d.ts.map +1 -1
- package/core/wms-capabilities.js +212 -509
- package/core/wmts-capabilities.d.ts +62 -62
- package/core/wmts-capabilities.d.ts.map +1 -1
- package/core/wmts-capabilities.js +224 -371
- package/esri-compat/editor.d.ts +8 -0
- package/esri-compat/editor.d.ts.map +1 -1
- package/esri-compat/editor.js +13 -0
- package/esri-compat/feature-layer.d.ts +2 -0
- package/esri-compat/feature-layer.d.ts.map +1 -1
- package/esri-compat/feature-layer.js +1 -0
- package/esri-compat/layer-list.d.ts +11 -0
- package/esri-compat/layer-list.d.ts.map +1 -1
- package/esri-compat/layer-list.js +49 -0
- package/esri-compat/legend.d.ts +10 -0
- package/esri-compat/legend.d.ts.map +1 -1
- package/esri-compat/legend.js +27 -0
- package/esri-compat/portal.d.ts +197 -0
- package/esri-compat/portal.d.ts.map +1 -0
- package/esri-compat/portal.js +251 -0
- package/esri-compat/renderer-objects.d.ts +40 -0
- package/esri-compat/renderer-objects.d.ts.map +1 -0
- package/esri-compat/renderer-objects.js +62 -0
- package/esri-compat/sketch.d.ts +43 -0
- package/esri-compat/sketch.d.ts.map +1 -1
- package/esri-compat/sketch.js +46 -0
- package/esri-compat/snapping.d.ts +43 -0
- package/esri-compat/snapping.d.ts.map +1 -0
- package/esri-compat/snapping.js +45 -0
- package/esri-compat/url.d.ts.map +1 -1
- package/esri-compat/url.js +1 -1
- package/esri-compat/widget-host.d.ts +84 -0
- package/esri-compat/widget-host.d.ts.map +1 -0
- package/esri-compat/widget-host.js +159 -0
- package/filter-registry/index.d.ts +145 -0
- package/filter-registry/index.d.ts.map +1 -0
- package/filter-registry/index.js +531 -0
- package/generated-app/errors.d.ts +18 -2
- package/generated-app/errors.d.ts.map +1 -1
- package/generated-app/errors.js +44 -11
- package/map/automatic-mount-integration.d.ts +134 -0
- package/map/automatic-mount-integration.d.ts.map +1 -0
- package/map/automatic-mount-integration.js +305 -0
- package/map/automatic-source-strategy.d.ts +125 -0
- package/map/automatic-source-strategy.d.ts.map +1 -0
- package/map/automatic-source-strategy.js +494 -0
- package/map/data-to-map-bridge.d.ts +293 -0
- package/map/data-to-map-bridge.d.ts.map +1 -0
- package/map/data-to-map-bridge.js +817 -0
- package/map/geojson-projection.d.ts +33 -0
- package/map/geojson-projection.d.ts.map +1 -0
- package/map/geojson-projection.js +118 -0
- package/map/index.d.ts +14 -0
- package/map/index.d.ts.map +1 -1
- package/map/index.js +8 -0
- package/map/raster-source-spec.d.ts +30 -0
- package/map/raster-source-spec.d.ts.map +1 -0
- package/map/raster-source-spec.js +190 -0
- package/map/raster-source-strategy.d.ts +65 -0
- package/map/raster-source-strategy.d.ts.map +1 -0
- package/map/raster-source-strategy.js +232 -0
- package/map/source-to-maplibre.d.ts +91 -0
- package/map/source-to-maplibre.d.ts.map +1 -0
- package/map/source-to-maplibre.js +454 -0
- package/map/temporal-playback.d.ts +139 -0
- package/map/temporal-playback.d.ts.map +1 -0
- package/map/temporal-playback.js +247 -0
- package/package.json +14 -1
- 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/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 +373 -0
- package/query-planner/duckdb.d.ts +79 -0
- package/query-planner/duckdb.d.ts.map +1 -0
- package/query-planner/duckdb.js +758 -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 +50 -0
- package/query-planner/executor.d.ts +5 -0
- package/query-planner/executor.d.ts.map +1 -0
- package/query-planner/executor.js +223 -0
- package/query-planner/geoservices.d.ts +91 -0
- package/query-planner/geoservices.d.ts.map +1 -0
- package/query-planner/geoservices.js +667 -0
- package/query-planner/grpc.d.ts +100 -0
- package/query-planner/grpc.d.ts.map +1 -0
- package/query-planner/grpc.js +736 -0
- package/query-planner/index.d.ts +44 -0
- package/query-planner/index.d.ts.map +1 -0
- package/query-planner/index.js +30 -0
- package/query-planner/ir.d.ts +20 -0
- package/query-planner/ir.d.ts.map +1 -0
- package/query-planner/ir.js +417 -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.d.ts +48 -0
- package/query-planner/odata.d.ts.map +1 -0
- package/query-planner/odata.js +662 -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 +617 -0
- package/query-planner/planner.d.ts +17 -0
- package/query-planner/planner.d.ts.map +1 -0
- package/query-planner/planner.js +818 -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 +560 -0
- package/query-planner/types.d.ts.map +1 -0
- package/query-planner/types.js +49 -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.d.ts +6 -0
- package/query-planner/wfs.d.ts.map +1 -0
- package/query-planner/wfs.js +71 -0
- package/react/external-map.d.ts +67 -0
- package/react/external-map.d.ts.map +1 -0
- package/react/external-map.js +63 -0
- package/react/honua-map.d.ts.map +1 -1
- package/react/honua-map.js +3 -2
- package/react/honua-source-layer.d.ts +110 -0
- package/react/honua-source-layer.d.ts.map +1 -0
- package/react/honua-source-layer.js +101 -0
- package/react/hooks.d.ts +28 -0
- package/react/hooks.d.ts.map +1 -1
- package/react/hooks.js +26 -4
- package/react/index.d.ts +8 -0
- package/react/index.d.ts.map +1 -1
- package/react/index.js +5 -0
- package/react/query-cache.d.ts +26 -4
- package/react/query-cache.d.ts.map +1 -1
- package/react/query-cache.js +51 -8
- package/react/selection.d.ts +177 -0
- package/react/selection.d.ts.map +1 -0
- package/react/selection.js +0 -0
- package/react/use-mounted-source.d.ts +69 -0
- package/react/use-mounted-source.d.ts.map +1 -0
- package/react/use-mounted-source.js +346 -0
- package/runtime/edit-snapping.d.ts +107 -0
- package/runtime/edit-snapping.d.ts.map +1 -0
- package/runtime/edit-snapping.js +190 -0
- package/runtime/errors.d.ts +3 -2
- package/runtime/errors.d.ts.map +1 -1
- package/runtime/errors.js +19 -2
- package/runtime/index.d.ts +6 -0
- package/runtime/index.d.ts.map +1 -1
- package/runtime/index.js +3 -0
- package/runtime/maplibre-renderer.d.ts +41 -0
- package/runtime/maplibre-renderer.d.ts.map +1 -0
- package/runtime/maplibre-renderer.js +322 -0
- package/runtime/query-tiles.d.ts +2 -1
- package/runtime/query-tiles.d.ts.map +1 -1
- package/runtime/query-tiles.js +6 -2
- package/runtime/source-bridge.d.ts +4 -4
- package/runtime/source-bridge.d.ts.map +1 -1
- package/runtime/source-bridge.js +9 -56
- package/runtime/style-interactions.d.ts +3 -2
- package/runtime/style-interactions.d.ts.map +1 -1
- package/runtime/style-interactions.js +11 -3
- package/runtime/terra-draw-sketch.d.ts +275 -0
- package/runtime/terra-draw-sketch.d.ts.map +1 -0
- package/runtime/terra-draw-sketch.js +404 -0
- package/source-capability-registry.d.ts +1 -0
- package/source-capability-registry.js +1 -0
- package/source-capability-types.d.ts +186 -0
- package/source-capability-types.js +7 -0
- package/style/index.d.ts +2 -0
- package/style/index.d.ts.map +1 -1
- package/style/index.js +2 -0
- package/style/renderers.d.ts +326 -0
- package/style/renderers.d.ts.map +1 -0
- package/style/renderers.js +517 -0
- package/webmap/convert-renderer.d.ts +24 -3
- package/webmap/convert-renderer.d.ts.map +1 -1
- package/webmap/convert-renderer.js +93 -112
- package/webmap/index.d.ts +1 -1
- package/webmap/index.d.ts.map +1 -1
- package/webmap/index.js +1 -1
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import type { CrsDefinition, ExecutableBoundingBox, ExecutableCrsBinding, ExecutableGeometryValue, ExtensionIdentifier, JsonPrimitive, JsonValue, SourceProtocol, SourceSchemaV2 } from "../contract/schema.js";
|
|
2
|
+
export type FieldName<TRecord> = Extract<keyof TRecord, string>;
|
|
3
|
+
type NonNullish<TValue> = Exclude<TValue, null | undefined>;
|
|
4
|
+
type Scalar = string | number | boolean | bigint | Date;
|
|
5
|
+
type IsUntyped<TValue> = unknown extends TValue ? true : false;
|
|
6
|
+
export type ScalarFieldName<TRecord> = {
|
|
7
|
+
[TKey in FieldName<TRecord>]-?: IsUntyped<NonNullish<TRecord[TKey]>> extends true ? TKey : NonNullish<TRecord[TKey]> extends Scalar ? TKey : never;
|
|
8
|
+
}[FieldName<TRecord>];
|
|
9
|
+
export type StringFieldName<TRecord> = {
|
|
10
|
+
[TKey in FieldName<TRecord>]-?: IsUntyped<NonNullish<TRecord[TKey]>> extends true ? TKey : NonNullish<TRecord[TKey]> extends TemporalValue ? never : NonNullish<TRecord[TKey]> extends string ? TKey : never;
|
|
11
|
+
}[FieldName<TRecord>];
|
|
12
|
+
export type OrderableFieldName<TRecord> = {
|
|
13
|
+
[TKey in FieldName<TRecord>]-?: IsUntyped<NonNullish<TRecord[TKey]>> extends true ? TKey : NonNullish<TRecord[TKey]> extends string | number | bigint | Date ? TKey : never;
|
|
14
|
+
}[FieldName<TRecord>];
|
|
15
|
+
export type NumericFieldName<TRecord> = {
|
|
16
|
+
[TKey in FieldName<TRecord>]-?: IsUntyped<NonNullish<TRecord[TKey]>> extends true ? TKey : NonNullish<TRecord[TKey]> extends number | bigint ? TKey : never;
|
|
17
|
+
}[FieldName<TRecord>];
|
|
18
|
+
export type GroupableFieldName<TRecord> = ScalarFieldName<TRecord>;
|
|
19
|
+
declare const temporalValueBrand: unique symbol;
|
|
20
|
+
/** Schema/role-derived temporal string; an ordinary string does not gain temporal operators. */
|
|
21
|
+
export type TemporalValue<TKind extends "date" | "instant" = "date" | "instant"> = string & {
|
|
22
|
+
readonly [temporalValueBrand]: TKind;
|
|
23
|
+
};
|
|
24
|
+
export type TemporalFieldName<TRecord> = {
|
|
25
|
+
[TKey in FieldName<TRecord>]-?: IsUntyped<NonNullish<TRecord[TKey]>> extends true ? TKey : NonNullish<TRecord[TKey]> extends TemporalValue | Date ? TKey : never;
|
|
26
|
+
}[FieldName<TRecord>];
|
|
27
|
+
export type GeometryFieldName<TRecord> = {
|
|
28
|
+
[TKey in FieldName<TRecord>]-?: IsUntyped<NonNullish<TRecord[TKey]>> extends true ? TKey : NonNullish<TRecord[TKey]> extends ExecutableGeometryValue ? TKey : never;
|
|
29
|
+
}[FieldName<TRecord>];
|
|
30
|
+
export type QueryLiteral<TValue> = IsUntyped<NonNullish<TValue>> extends true ? JsonValue : NonNullish<TValue> extends bigint | Date ? string : NonNullish<TValue> extends JsonPrimitive ? NonNullish<TValue> : JsonValue;
|
|
31
|
+
export interface PropertyNode<TField extends string = string> {
|
|
32
|
+
readonly kind: "property";
|
|
33
|
+
readonly name: TField;
|
|
34
|
+
}
|
|
35
|
+
export interface LiteralNode<TValue extends JsonValue = JsonValue> {
|
|
36
|
+
readonly kind: "literal";
|
|
37
|
+
readonly value: TValue;
|
|
38
|
+
}
|
|
39
|
+
export type EqualityOperator = "eq" | "ne";
|
|
40
|
+
export type OrderedComparisonOperator = "lt" | "lte" | "gt" | "gte";
|
|
41
|
+
type EqualityNode<TRecord> = {
|
|
42
|
+
[TKey in ScalarFieldName<TRecord>]: {
|
|
43
|
+
readonly kind: "comparison";
|
|
44
|
+
readonly operator: EqualityOperator;
|
|
45
|
+
readonly left: PropertyNode<TKey>;
|
|
46
|
+
readonly right: LiteralNode<QueryLiteral<TRecord[TKey]>>;
|
|
47
|
+
};
|
|
48
|
+
}[ScalarFieldName<TRecord>];
|
|
49
|
+
type OrderedComparisonNode<TRecord> = {
|
|
50
|
+
[TKey in OrderableFieldName<TRecord>]: {
|
|
51
|
+
readonly kind: "comparison";
|
|
52
|
+
readonly operator: OrderedComparisonOperator;
|
|
53
|
+
readonly left: PropertyNode<TKey>;
|
|
54
|
+
readonly right: LiteralNode<QueryLiteral<TRecord[TKey]>>;
|
|
55
|
+
};
|
|
56
|
+
}[OrderableFieldName<TRecord>];
|
|
57
|
+
export type ComparisonNode<TRecord> = EqualityNode<TRecord> | OrderedComparisonNode<TRecord>;
|
|
58
|
+
type ListNodeForRecord<TRecord> = {
|
|
59
|
+
[TKey in ScalarFieldName<TRecord>]: {
|
|
60
|
+
readonly kind: "list";
|
|
61
|
+
readonly operator: "in";
|
|
62
|
+
readonly operand: PropertyNode<TKey>;
|
|
63
|
+
readonly values: readonly [LiteralNode<QueryLiteral<TRecord[TKey]>>, ...LiteralNode<QueryLiteral<TRecord[TKey]>>[]];
|
|
64
|
+
};
|
|
65
|
+
}[ScalarFieldName<TRecord>];
|
|
66
|
+
export type ListNode<TRecord> = ListNodeForRecord<TRecord>;
|
|
67
|
+
type RangeNodeForRecord<TRecord> = {
|
|
68
|
+
[TKey in OrderableFieldName<TRecord>]: {
|
|
69
|
+
readonly kind: "range";
|
|
70
|
+
readonly operator: "between";
|
|
71
|
+
readonly operand: PropertyNode<TKey>;
|
|
72
|
+
readonly lower: LiteralNode<QueryLiteral<TRecord[TKey]>>;
|
|
73
|
+
readonly upper: LiteralNode<QueryLiteral<TRecord[TKey]>>;
|
|
74
|
+
};
|
|
75
|
+
}[OrderableFieldName<TRecord>];
|
|
76
|
+
export type RangeNode<TRecord> = RangeNodeForRecord<TRecord>;
|
|
77
|
+
export interface NullNode<TField extends string = string> {
|
|
78
|
+
readonly kind: "null";
|
|
79
|
+
readonly operator: "is-null" | "is-not-null";
|
|
80
|
+
readonly operand: PropertyNode<TField>;
|
|
81
|
+
}
|
|
82
|
+
export interface PatternNode<TField extends string = string> {
|
|
83
|
+
readonly kind: "pattern";
|
|
84
|
+
readonly operator: "like";
|
|
85
|
+
readonly operand: PropertyNode<TField>;
|
|
86
|
+
readonly pattern: string;
|
|
87
|
+
readonly caseSensitive?: boolean;
|
|
88
|
+
}
|
|
89
|
+
export type TopologicalSpatialPredicate = "equals" | "intersects" | "within" | "contains" | "disjoint" | "touches" | "overlaps" | "crosses";
|
|
90
|
+
export type DistanceSpatialPredicate = "within-distance" | "beyond-distance";
|
|
91
|
+
export type SpatialPredicate = TopologicalSpatialPredicate | "bbox-intersects" | DistanceSpatialPredicate;
|
|
92
|
+
export type DistanceUnit = "metre" | "kilometre" | "foot" | "us-survey-foot" | "mile" | "nautical-mile" | "degree" | "radian";
|
|
93
|
+
export interface DistanceOperand {
|
|
94
|
+
readonly value: number;
|
|
95
|
+
readonly unit: DistanceUnit;
|
|
96
|
+
readonly mode: "planar" | "geodesic";
|
|
97
|
+
}
|
|
98
|
+
export type SourceSpatiality = "primary-geometry" | "non-spatial" | "ambiguous-geometry";
|
|
99
|
+
export type SpatialNode<TRecord, TSpatiality extends SourceSpatiality> = TSpatiality extends "non-spatial" ? never : ({
|
|
100
|
+
readonly kind: "spatial";
|
|
101
|
+
readonly operator: TopologicalSpatialPredicate;
|
|
102
|
+
readonly geometry: ExecutableGeometryValue;
|
|
103
|
+
} | {
|
|
104
|
+
readonly kind: "spatial";
|
|
105
|
+
readonly operator: "bbox-intersects";
|
|
106
|
+
readonly bbox: ExecutableBoundingBox;
|
|
107
|
+
} | {
|
|
108
|
+
readonly kind: "spatial";
|
|
109
|
+
readonly operator: DistanceSpatialPredicate;
|
|
110
|
+
readonly geometry: ExecutableGeometryValue;
|
|
111
|
+
readonly distance: DistanceOperand;
|
|
112
|
+
}) & (TSpatiality extends "primary-geometry" ? {
|
|
113
|
+
readonly property?: PropertyNode<GeometryFieldName<TRecord>>;
|
|
114
|
+
} : {
|
|
115
|
+
readonly property: PropertyNode<GeometryFieldName<TRecord>>;
|
|
116
|
+
});
|
|
117
|
+
export type TemporalPredicate = "before" | "after" | "during" | "time-intersects";
|
|
118
|
+
export type TemporalLiteralNode = {
|
|
119
|
+
readonly kind: "temporal-literal";
|
|
120
|
+
readonly valueType: "date" | "instant";
|
|
121
|
+
readonly value: string;
|
|
122
|
+
} | {
|
|
123
|
+
readonly kind: "temporal-literal";
|
|
124
|
+
readonly valueType: "interval";
|
|
125
|
+
readonly value: readonly [string, string];
|
|
126
|
+
};
|
|
127
|
+
type TemporalNodeForRecord<TRecord> = {
|
|
128
|
+
[TKey in TemporalFieldName<TRecord>]: {
|
|
129
|
+
readonly kind: "temporal";
|
|
130
|
+
readonly operator: TemporalPredicate;
|
|
131
|
+
readonly operand: PropertyNode<TKey>;
|
|
132
|
+
readonly value: TemporalLiteralNode;
|
|
133
|
+
};
|
|
134
|
+
}[TemporalFieldName<TRecord>];
|
|
135
|
+
export type TemporalNode<TRecord> = TemporalNodeForRecord<TRecord>;
|
|
136
|
+
export type BuiltInNativeDialect = "honua-grpc" | "geoservices-sql92" | "cql2-json" | "cql2-text" | "fes-2.0" | "odata-4.0" | "duckdb-sql";
|
|
137
|
+
export type NativeDialectFor<TProtocol extends SourceProtocol> = TProtocol extends "grpc" ? "honua-grpc" : TProtocol extends "geoservices-feature-service" | "geoservices-map-service" | "geoservices-image-service" ? "geoservices-sql92" : TProtocol extends "ogc-features" | "ogc-records" | "stac" ? "cql2-json" | "cql2-text" : TProtocol extends "wfs" ? "fes-2.0" : TProtocol extends "odata" ? "odata-4.0" : TProtocol extends "geoparquet" ? "duckdb-sql" : TProtocol extends ExtensionIdentifier ? `${TProtocol}.${string}` : never;
|
|
138
|
+
export type NativePayloadFor<TDialect extends BuiltInNativeDialect | ExtensionIdentifier> = TDialect extends "cql2-json" | "honua-grpc" ? {
|
|
139
|
+
readonly format: "json";
|
|
140
|
+
readonly value: JsonValue;
|
|
141
|
+
} : TDialect extends "fes-2.0" ? {
|
|
142
|
+
readonly format: "xml";
|
|
143
|
+
readonly text: string;
|
|
144
|
+
} : TDialect extends "geoservices-sql92" | "cql2-text" | "odata-4.0" | "duckdb-sql" ? {
|
|
145
|
+
readonly format: "text";
|
|
146
|
+
readonly text: string;
|
|
147
|
+
} : TDialect extends ExtensionIdentifier ? {
|
|
148
|
+
readonly format: "text" | "xml";
|
|
149
|
+
readonly text: string;
|
|
150
|
+
} | {
|
|
151
|
+
readonly format: "json";
|
|
152
|
+
readonly value: JsonValue;
|
|
153
|
+
} : never;
|
|
154
|
+
export type NativeFilter<TDialect extends BuiltInNativeDialect | ExtensionIdentifier> = {
|
|
155
|
+
readonly kind: "native";
|
|
156
|
+
readonly dialect: TDialect;
|
|
157
|
+
readonly payload: NativePayloadFor<TDialect>;
|
|
158
|
+
};
|
|
159
|
+
export type SemanticFilter<TRecord, TSpatiality extends SourceSpatiality> = ComparisonNode<TRecord> | ListNode<TRecord> | RangeNode<TRecord> | NullNode<FieldName<TRecord>> | PatternNode<StringFieldName<TRecord>> | SpatialNode<TRecord, TSpatiality> | TemporalNode<TRecord> | {
|
|
160
|
+
readonly kind: "boolean";
|
|
161
|
+
readonly operator: "and" | "or";
|
|
162
|
+
readonly args: readonly [SemanticFilter<TRecord, TSpatiality>, ...SemanticFilter<TRecord, TSpatiality>[]];
|
|
163
|
+
} | {
|
|
164
|
+
readonly kind: "not";
|
|
165
|
+
readonly arg: SemanticFilter<TRecord, TSpatiality>;
|
|
166
|
+
};
|
|
167
|
+
export type QueryFilter<TRecord, TProtocol extends SourceProtocol, TSpatiality extends SourceSpatiality> = SemanticFilter<TRecord, TSpatiality> | (NativeDialectFor<TProtocol> extends never ? never : NativeFilter<NativeDialectFor<TProtocol>>);
|
|
168
|
+
export interface SemanticSort<TRecord> {
|
|
169
|
+
readonly field: OrderableFieldName<TRecord>;
|
|
170
|
+
readonly direction: "asc" | "desc";
|
|
171
|
+
readonly nulls?: "first" | "last" | "native";
|
|
172
|
+
}
|
|
173
|
+
export type CountMetric<TRecord, TAlias extends string = string> = {
|
|
174
|
+
readonly fn: "count";
|
|
175
|
+
readonly field?: FieldName<TRecord>;
|
|
176
|
+
readonly as: TAlias;
|
|
177
|
+
};
|
|
178
|
+
export type NumericMetric<TRecord, TAlias extends string = string> = {
|
|
179
|
+
readonly fn: "sum" | "avg" | "stddev" | "variance";
|
|
180
|
+
readonly field: NumericFieldName<TRecord>;
|
|
181
|
+
readonly as: TAlias;
|
|
182
|
+
};
|
|
183
|
+
export type ExtremumMetric<TRecord, TAlias extends string = string> = {
|
|
184
|
+
readonly fn: "min" | "max";
|
|
185
|
+
readonly field: OrderableFieldName<TRecord>;
|
|
186
|
+
readonly as: TAlias;
|
|
187
|
+
};
|
|
188
|
+
export type AggregateMetric<TRecord, TAlias extends string = string> = CountMetric<TRecord, TAlias> | NumericMetric<TRecord, TAlias> | ExtremumMetric<TRecord, TAlias>;
|
|
189
|
+
export type GeometryProjectionFor<TRecord, TSpatiality extends SourceSpatiality> = TSpatiality extends "non-spatial" ? "omit" : TSpatiality extends "primary-geometry" ? "include" | "omit" | {
|
|
190
|
+
readonly field: GeometryFieldName<TRecord>;
|
|
191
|
+
} : "omit" | {
|
|
192
|
+
readonly field: GeometryFieldName<TRecord>;
|
|
193
|
+
};
|
|
194
|
+
export type OutputCrsFor<TSpatiality extends SourceSpatiality> = TSpatiality extends "non-spatial" ? never : Exclude<CrsDefinition, {
|
|
195
|
+
readonly kind: "unknown";
|
|
196
|
+
}>;
|
|
197
|
+
export interface FirstPageRequest {
|
|
198
|
+
readonly kind: "first";
|
|
199
|
+
readonly limit?: number;
|
|
200
|
+
}
|
|
201
|
+
export interface OffsetPageRequest {
|
|
202
|
+
readonly kind: "offset";
|
|
203
|
+
readonly offset: number;
|
|
204
|
+
readonly limit?: number;
|
|
205
|
+
}
|
|
206
|
+
/** Continuation values remain runtime-owned and are intentionally outside the S1 JSON AST. */
|
|
207
|
+
export type SemanticPageRequest = FirstPageRequest | OffsetPageRequest;
|
|
208
|
+
interface SemanticQueryBase<TRecord, TProtocol extends SourceProtocol, TSpatiality extends SourceSpatiality> {
|
|
209
|
+
readonly filter?: QueryFilter<TRecord, TProtocol, TSpatiality>;
|
|
210
|
+
readonly sort?: readonly SemanticSort<TRecord>[];
|
|
211
|
+
readonly page?: SemanticPageRequest;
|
|
212
|
+
readonly outputCrs?: OutputCrsFor<TSpatiality>;
|
|
213
|
+
}
|
|
214
|
+
export interface SemanticFeatureQuery<TRecord, TProtocol extends SourceProtocol, TSpatiality extends SourceSpatiality, TSelect extends readonly FieldName<TRecord>[] | undefined = undefined, TGeometry extends GeometryProjectionFor<TRecord, TSpatiality> = GeometryProjectionFor<TRecord, TSpatiality>> extends SemanticQueryBase<TRecord, TProtocol, TSpatiality> {
|
|
215
|
+
readonly kind: "features";
|
|
216
|
+
readonly select?: TSelect;
|
|
217
|
+
readonly geometry?: TGeometry;
|
|
218
|
+
}
|
|
219
|
+
export interface SemanticAggregateQuery<TRecord, TProtocol extends SourceProtocol, TSpatiality extends SourceSpatiality, TGroupBy extends readonly GroupableFieldName<TRecord>[] = readonly [], TMetrics extends readonly [AggregateMetric<TRecord>, ...AggregateMetric<TRecord>[]] = readonly [
|
|
220
|
+
AggregateMetric<TRecord>,
|
|
221
|
+
...AggregateMetric<TRecord>[]
|
|
222
|
+
]> extends SemanticQueryBase<TRecord, TProtocol, TSpatiality> {
|
|
223
|
+
readonly kind: "aggregate";
|
|
224
|
+
readonly groupBy: TGroupBy;
|
|
225
|
+
readonly metrics: TMetrics;
|
|
226
|
+
}
|
|
227
|
+
export type SemanticQuery<TRecord, TProtocol extends SourceProtocol, TSpatiality extends SourceSpatiality> = SemanticFeatureQuery<TRecord, TProtocol, TSpatiality, readonly FieldName<TRecord>[] | undefined, GeometryProjectionFor<TRecord, TSpatiality>> | SemanticAggregateQuery<TRecord, TProtocol, TSpatiality, readonly GroupableFieldName<TRecord>[], readonly [AggregateMetric<TRecord>, ...AggregateMetric<TRecord>[]]>;
|
|
228
|
+
export type SpatialityForSchema<TSchema extends Pick<SourceSchemaV2, "geometry">> = TSchema["geometry"] extends {
|
|
229
|
+
readonly state: "none";
|
|
230
|
+
} ? "non-spatial" : TSchema["geometry"] extends {
|
|
231
|
+
readonly state: "known";
|
|
232
|
+
readonly primaryField: {
|
|
233
|
+
readonly state: "known";
|
|
234
|
+
};
|
|
235
|
+
} ? "primary-geometry" : "ambiguous-geometry";
|
|
236
|
+
export interface ParseSemanticQueryOptions {
|
|
237
|
+
/** A verified schema is reparsed before use so JavaScript callers cannot forge schema truth. */
|
|
238
|
+
readonly schema?: SourceSchemaV2;
|
|
239
|
+
/** When present, a native expression must match this source protocol. */
|
|
240
|
+
readonly protocol?: SourceProtocol;
|
|
241
|
+
}
|
|
242
|
+
/** Identity inputs carried into canonical semantic-query bytes and hashes. */
|
|
243
|
+
export interface CanonicalSemanticQueryOptions extends ParseSemanticQueryOptions {
|
|
244
|
+
/** Version/fingerprint of the CRS registry or transform policy used by the caller. */
|
|
245
|
+
readonly crsVersion?: string;
|
|
246
|
+
/** Version/fingerprint of the authorization/capability policy used by the caller. */
|
|
247
|
+
readonly policyVersion?: string;
|
|
248
|
+
}
|
|
249
|
+
/** External CQL2 filter context that cannot be encoded inside CQL2 JSON itself. */
|
|
250
|
+
export interface Cql2JsonInterchangeOptions extends ParseSemanticQueryOptions {
|
|
251
|
+
/**
|
|
252
|
+
* CRS and coordinate order represented by spatial literals. Required when a
|
|
253
|
+
* supported expression contains a geometry or bounding box.
|
|
254
|
+
*/
|
|
255
|
+
readonly filterCrs?: ExecutableCrsBinding;
|
|
256
|
+
}
|
|
257
|
+
/** Strict, supported CQL2 JSON filter expression. */
|
|
258
|
+
export type Cql2JsonExpression = Readonly<{
|
|
259
|
+
op: string;
|
|
260
|
+
args: readonly JsonValue[];
|
|
261
|
+
}>;
|
|
262
|
+
export type LegacyWhereProtocol = "geoservices-feature-service" | "geoservices-map-service" | "geoservices-image-service" | "ogc-features" | "ogc-records" | "stac" | "odata" | "geoparquet";
|
|
263
|
+
export type LegacyWhereDialectFor<TProtocol extends LegacyWhereProtocol> = TProtocol extends "geoservices-feature-service" | "geoservices-map-service" | "geoservices-image-service" ? "geoservices-sql92" : TProtocol extends "ogc-features" | "ogc-records" | "stac" ? "cql2-text" : TProtocol extends "odata" ? "odata-4.0" : "duckdb-sql";
|
|
264
|
+
export {};
|
|
265
|
+
//# sourceMappingURL=semantic-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-types.d.ts","sourceRoot":"","sources":["../../../src/query-planner/semantic-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type JsonValue, type SourceProtocol } from "../contract/schema.js";
|
|
2
|
+
import type { AggregateMetric, ComparisonNode, EqualityOperator, FieldName, GeometryProjectionFor, GroupableFieldName, LiteralNode, NativeDialectFor, NativeFilter, NullNode, OrderableFieldName, OrderedComparisonOperator, ParseSemanticQueryOptions, PatternNode, PropertyNode, QueryLiteral, RangeNode, ScalarFieldName, SemanticAggregateQuery, SemanticFeatureQuery, SemanticFilter, SemanticQuery, SourceSpatiality, SpatialNode, StringFieldName, TemporalFieldName, TemporalLiteralNode, TemporalNode, TemporalPredicate } from "./semantic-types.js";
|
|
3
|
+
export declare const MAX_SEMANTIC_QUERY_BYTES: number;
|
|
4
|
+
export declare const MAX_SEMANTIC_QUERY_DEPTH = 64;
|
|
5
|
+
export declare const MAX_SEMANTIC_QUERY_NODES = 20000;
|
|
6
|
+
export declare const MAX_SEMANTIC_QUERY_COLLECTION_ITEMS = 10000;
|
|
7
|
+
export declare const MAX_SEMANTIC_QUERY_TEXT_BYTES: number;
|
|
8
|
+
type RuntimeQuery = SemanticQuery<Record<string, unknown>, SourceProtocol, SourceSpatiality>;
|
|
9
|
+
/** @internal Shared bounded JSON boundary for semantic interchange codecs. */
|
|
10
|
+
export declare function parseBoundedSemanticJson(value: string | unknown): JsonValue;
|
|
11
|
+
/**
|
|
12
|
+
* Parse untrusted JSON or an untyped JavaScript value into a deeply immutable
|
|
13
|
+
* semantic query. Syntax, resource bounds, dialect payload shape, and (when
|
|
14
|
+
* supplied) schema field/type compatibility are all checked before return.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseSemanticQuery(value: string | unknown, options?: ParseSemanticQueryOptions): RuntimeQuery;
|
|
17
|
+
/** Validate and freeze a typed query while preserving its generic relationship. */
|
|
18
|
+
export declare function defineSemanticQuery<const TQuery extends {
|
|
19
|
+
readonly kind: "features" | "aggregate";
|
|
20
|
+
}>(query: TQuery, options?: ParseSemanticQueryOptions): TQuery;
|
|
21
|
+
export interface SemanticQueryBuilder<TRecord, TProtocol extends SourceProtocol, TSpatiality extends SourceSpatiality> {
|
|
22
|
+
property<TKey extends FieldName<TRecord>>(name: TKey): PropertyNode<TKey>;
|
|
23
|
+
literal<const TValue extends JsonValue>(value: TValue): LiteralNode<TValue>;
|
|
24
|
+
comparison<TKey extends ScalarFieldName<TRecord>>(operator: EqualityOperator, left: PropertyNode<TKey>, right: QueryLiteral<TRecord[TKey]> | LiteralNode<QueryLiteral<TRecord[TKey]>>): ComparisonNode<TRecord>;
|
|
25
|
+
comparison<TKey extends OrderableFieldName<TRecord>>(operator: OrderedComparisonOperator, left: PropertyNode<TKey>, right: QueryLiteral<TRecord[TKey]> | LiteralNode<QueryLiteral<TRecord[TKey]>>): ComparisonNode<TRecord>;
|
|
26
|
+
inList<TKey extends ScalarFieldName<TRecord>>(operand: PropertyNode<TKey>, values: readonly [
|
|
27
|
+
QueryLiteral<TRecord[TKey]> | LiteralNode<QueryLiteral<TRecord[TKey]>>,
|
|
28
|
+
...(QueryLiteral<TRecord[TKey]> | LiteralNode<QueryLiteral<TRecord[TKey]>>)[]
|
|
29
|
+
]): SemanticFilter<TRecord, TSpatiality>;
|
|
30
|
+
between<TKey extends OrderableFieldName<TRecord>>(operand: PropertyNode<TKey>, lower: QueryLiteral<TRecord[TKey]> | LiteralNode<QueryLiteral<TRecord[TKey]>>, upper: QueryLiteral<TRecord[TKey]> | LiteralNode<QueryLiteral<TRecord[TKey]>>): RangeNode<TRecord>;
|
|
31
|
+
isNull<TKey extends FieldName<TRecord>>(operand: PropertyNode<TKey>, operator?: "is-null" | "is-not-null"): NullNode<TKey>;
|
|
32
|
+
like<TKey extends StringFieldName<TRecord>>(operand: PropertyNode<TKey>, pattern: string, options?: {
|
|
33
|
+
readonly caseSensitive?: boolean;
|
|
34
|
+
}): PatternNode<TKey>;
|
|
35
|
+
and(...args: readonly [SemanticFilter<TRecord, TSpatiality>, ...SemanticFilter<TRecord, TSpatiality>[]]): SemanticFilter<TRecord, TSpatiality>;
|
|
36
|
+
or(...args: readonly [SemanticFilter<TRecord, TSpatiality>, ...SemanticFilter<TRecord, TSpatiality>[]]): SemanticFilter<TRecord, TSpatiality>;
|
|
37
|
+
not(arg: SemanticFilter<TRecord, TSpatiality>): SemanticFilter<TRecord, TSpatiality>;
|
|
38
|
+
temporal<TKey extends TemporalFieldName<TRecord>>(operator: TemporalPredicate, operand: PropertyNode<TKey>, value: TemporalLiteralNode): TemporalNode<TRecord>;
|
|
39
|
+
native<TDialect extends NativeDialectFor<TProtocol>>(dialect: TDialect, payload: NativeFilter<TDialect>["payload"]): NativeFilter<TDialect>;
|
|
40
|
+
features<const TSelect extends readonly FieldName<TRecord>[] | undefined = undefined, const TGeometry extends GeometryProjectionFor<TRecord, TSpatiality> = GeometryProjectionFor<TRecord, TSpatiality>>(query?: Omit<SemanticFeatureQuery<TRecord, TProtocol, TSpatiality, TSelect, TGeometry>, "kind">): SemanticFeatureQuery<TRecord, TProtocol, TSpatiality, TSelect, TGeometry>;
|
|
41
|
+
aggregate<const TGroupBy extends readonly GroupableFieldName<TRecord>[], const TMetrics extends readonly [AggregateMetric<TRecord>, ...AggregateMetric<TRecord>[]]>(query: Omit<SemanticAggregateQuery<TRecord, TProtocol, TSpatiality, TGroupBy, TMetrics>, "kind">): SemanticAggregateQuery<TRecord, TProtocol, TSpatiality, TGroupBy, TMetrics>;
|
|
42
|
+
}
|
|
43
|
+
/** Create immutable, schema-typed AST nodes without importing a protocol compiler. */
|
|
44
|
+
export declare function createSemanticQueryBuilder<TRecord, TProtocol extends SourceProtocol, TSpatiality extends SourceSpatiality = "ambiguous-geometry">(): SemanticQueryBuilder<TRecord, TProtocol, TSpatiality>;
|
|
45
|
+
/** Build a validated spatial node without weakening its executable operand. */
|
|
46
|
+
export declare function defineSpatialNode<TRecord, TSpatiality extends Exclude<SourceSpatiality, "non-spatial">>(value: SpatialNode<TRecord, TSpatiality>): SpatialNode<TRecord, TSpatiality>;
|
|
47
|
+
export declare function temporalLiteral(valueType: "date" | "instant", value: string): Extract<TemporalLiteralNode, {
|
|
48
|
+
readonly valueType: "date" | "instant";
|
|
49
|
+
}>;
|
|
50
|
+
export declare function temporalLiteral(valueType: "interval", value: readonly [string, string]): Extract<TemporalLiteralNode, {
|
|
51
|
+
readonly valueType: "interval";
|
|
52
|
+
}>;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=semantic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../../src/query-planner/semantic.ts"],"names":[],"mappings":"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"}
|