@feltmaps/js-sdk 1.5.0-next.4 → 1.5.0-next.6

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/dist/handler.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as zod from 'zod';
2
2
  import { z } from 'zod';
3
- import { z as zInfer, E as Element, G as Geometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, L as Layer, j as LayerGroup, n as LegendItem, q as LayerFilters, s as Feature, i as LayerChangeCallbackParams, l as LayerGroupChangeCallbackParams, p as LegendItemChangeCallbackParams, ag as FilterTernary, t as EntityNode, T as ToolType, v as ToolSettingsMap, w as ToolSettingsChangeEvent, V as ViewportState, y as ViewportConstraints, aG as UnionToIntersection, aH as PromiseOrNot } from './types-CPZlLnbg.js';
3
+ import { J as zInfer, E as Element, G as Geometry, b as ElementGroup, d as ElementChangeCallbackParams, e as ElementGroupChangeCallbackParams, M as MapInteractionEvent, L as Layer, j as LayerGroup, n as LegendItem, q as LayerFilters, s as Feature, u as GetLayerCategoriesGroup, w as GetLayerHistogramBin, A as AggregationMethod, i as LayerChangeCallbackParams, l as LayerGroupChangeCallbackParams, p as LegendItemChangeCallbackParams, an as FilterTernary, y as MapDetails, z as EntityNode, T as ToolType, D as ToolSettingsMap, H as ToolSettingsChangeEvent, V as ViewportState, N as ViewportConstraints, aQ as UnionToIntersection, aR as PromiseOrNot } from './types-CQwkpLq-.js';
4
4
 
5
5
  type Method<TRequest extends {
6
6
  type: string;
@@ -1966,6 +1966,421 @@ declare const GetRenderedFeaturesMessage: z.ZodObject<{
1966
1966
  } | undefined;
1967
1967
  } | undefined;
1968
1968
  }>;
1969
+ declare const GetLayerCategoriesMessage: z.ZodObject<{
1970
+ type: z.ZodLiteral<"getCategoryData">;
1971
+ params: z.ZodObject<{
1972
+ layerId: z.ZodString;
1973
+ attribute: z.ZodString;
1974
+ limit: z.ZodOptional<z.ZodNumber>;
1975
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1976
+ type: z.ZodLiteral<"Polygon">;
1977
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
1978
+ }, "strip", z.ZodTypeAny, {
1979
+ type: "Polygon";
1980
+ coordinates: [number, number][][];
1981
+ }, {
1982
+ type: "Polygon";
1983
+ coordinates: [number, number][][];
1984
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
1985
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
1986
+ values: z.ZodOptional<z.ZodObject<{
1987
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
1988
+ type: z.ZodLiteral<"Polygon">;
1989
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
1990
+ }, "strip", z.ZodTypeAny, {
1991
+ type: "Polygon";
1992
+ coordinates: [number, number][][];
1993
+ }, {
1994
+ type: "Polygon";
1995
+ coordinates: [number, number][][];
1996
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
1997
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
1998
+ aggregation: z.ZodOptional<z.ZodObject<{
1999
+ method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
2000
+ attribute: z.ZodString;
2001
+ }, "strip", z.ZodTypeAny, {
2002
+ attribute: string;
2003
+ method: "avg" | "max" | "min" | "sum" | "median";
2004
+ }, {
2005
+ attribute: string;
2006
+ method: "avg" | "max" | "min" | "sum" | "median";
2007
+ }>>;
2008
+ }, "strip", z.ZodTypeAny, {
2009
+ boundary?: [number, number][] | {
2010
+ type: "Polygon";
2011
+ coordinates: [number, number][][];
2012
+ } | [number, number, number, number] | undefined;
2013
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2014
+ aggregation?: {
2015
+ attribute: string;
2016
+ method: "avg" | "max" | "min" | "sum" | "median";
2017
+ } | undefined;
2018
+ }, {
2019
+ boundary?: [number, number][] | {
2020
+ type: "Polygon";
2021
+ coordinates: [number, number][][];
2022
+ } | [number, number, number, number] | undefined;
2023
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2024
+ aggregation?: {
2025
+ attribute: string;
2026
+ method: "avg" | "max" | "min" | "sum" | "median";
2027
+ } | undefined;
2028
+ }>>;
2029
+ }, "strip", z.ZodTypeAny, {
2030
+ layerId: string;
2031
+ attribute: string;
2032
+ values?: {
2033
+ boundary?: [number, number][] | {
2034
+ type: "Polygon";
2035
+ coordinates: [number, number][][];
2036
+ } | [number, number, number, number] | undefined;
2037
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2038
+ aggregation?: {
2039
+ attribute: string;
2040
+ method: "avg" | "max" | "min" | "sum" | "median";
2041
+ } | undefined;
2042
+ } | undefined;
2043
+ boundary?: [number, number][] | {
2044
+ type: "Polygon";
2045
+ coordinates: [number, number][][];
2046
+ } | [number, number, number, number] | undefined;
2047
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2048
+ limit?: number | undefined;
2049
+ }, {
2050
+ layerId: string;
2051
+ attribute: string;
2052
+ values?: {
2053
+ boundary?: [number, number][] | {
2054
+ type: "Polygon";
2055
+ coordinates: [number, number][][];
2056
+ } | [number, number, number, number] | undefined;
2057
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2058
+ aggregation?: {
2059
+ attribute: string;
2060
+ method: "avg" | "max" | "min" | "sum" | "median";
2061
+ } | undefined;
2062
+ } | undefined;
2063
+ boundary?: [number, number][] | {
2064
+ type: "Polygon";
2065
+ coordinates: [number, number][][];
2066
+ } | [number, number, number, number] | undefined;
2067
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2068
+ limit?: number | undefined;
2069
+ }>;
2070
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2071
+ params: {
2072
+ layerId: string;
2073
+ attribute: string;
2074
+ values?: {
2075
+ boundary?: [number, number][] | {
2076
+ type: "Polygon";
2077
+ coordinates: [number, number][][];
2078
+ } | [number, number, number, number] | undefined;
2079
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2080
+ aggregation?: {
2081
+ attribute: string;
2082
+ method: "avg" | "max" | "min" | "sum" | "median";
2083
+ } | undefined;
2084
+ } | undefined;
2085
+ boundary?: [number, number][] | {
2086
+ type: "Polygon";
2087
+ coordinates: [number, number][][];
2088
+ } | [number, number, number, number] | undefined;
2089
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2090
+ limit?: number | undefined;
2091
+ };
2092
+ type: "getCategoryData";
2093
+ }, {
2094
+ params: {
2095
+ layerId: string;
2096
+ attribute: string;
2097
+ values?: {
2098
+ boundary?: [number, number][] | {
2099
+ type: "Polygon";
2100
+ coordinates: [number, number][][];
2101
+ } | [number, number, number, number] | undefined;
2102
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2103
+ aggregation?: {
2104
+ attribute: string;
2105
+ method: "avg" | "max" | "min" | "sum" | "median";
2106
+ } | undefined;
2107
+ } | undefined;
2108
+ boundary?: [number, number][] | {
2109
+ type: "Polygon";
2110
+ coordinates: [number, number][][];
2111
+ } | [number, number, number, number] | undefined;
2112
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2113
+ limit?: number | undefined;
2114
+ };
2115
+ type: "getCategoryData";
2116
+ }>;
2117
+ declare const GetLayerHistogramMessage: z.ZodObject<{
2118
+ type: z.ZodLiteral<"getHistogramData">;
2119
+ params: z.ZodObject<{
2120
+ layerId: z.ZodString;
2121
+ attribute: z.ZodString;
2122
+ steps: z.ZodUnion<[z.ZodObject<{
2123
+ type: z.ZodLiteral<"equal-intervals">;
2124
+ count: z.ZodNumber;
2125
+ }, "strip", z.ZodTypeAny, {
2126
+ type: "equal-intervals";
2127
+ count: number;
2128
+ }, {
2129
+ type: "equal-intervals";
2130
+ count: number;
2131
+ }>, z.ZodObject<{
2132
+ type: z.ZodLiteral<"time-interval">;
2133
+ interval: z.ZodEnum<["hour", "day", "week", "month", "year"]>;
2134
+ }, "strip", z.ZodTypeAny, {
2135
+ type: "time-interval";
2136
+ interval: "hour" | "day" | "week" | "month" | "year";
2137
+ }, {
2138
+ type: "time-interval";
2139
+ interval: "hour" | "day" | "week" | "month" | "year";
2140
+ }>, z.ZodArray<z.ZodNumber, "many">]>;
2141
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2142
+ type: z.ZodLiteral<"Polygon">;
2143
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2144
+ }, "strip", z.ZodTypeAny, {
2145
+ type: "Polygon";
2146
+ coordinates: [number, number][][];
2147
+ }, {
2148
+ type: "Polygon";
2149
+ coordinates: [number, number][][];
2150
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2151
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2152
+ values: z.ZodOptional<z.ZodObject<{
2153
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2154
+ type: z.ZodLiteral<"Polygon">;
2155
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2156
+ }, "strip", z.ZodTypeAny, {
2157
+ type: "Polygon";
2158
+ coordinates: [number, number][][];
2159
+ }, {
2160
+ type: "Polygon";
2161
+ coordinates: [number, number][][];
2162
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2163
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2164
+ aggregation: z.ZodOptional<z.ZodObject<{
2165
+ method: z.ZodEnum<["avg", "max", "min", "sum", "median"]>;
2166
+ attribute: z.ZodString;
2167
+ }, "strip", z.ZodTypeAny, {
2168
+ attribute: string;
2169
+ method: "avg" | "max" | "min" | "sum" | "median";
2170
+ }, {
2171
+ attribute: string;
2172
+ method: "avg" | "max" | "min" | "sum" | "median";
2173
+ }>>;
2174
+ }, "strip", z.ZodTypeAny, {
2175
+ boundary?: [number, number][] | {
2176
+ type: "Polygon";
2177
+ coordinates: [number, number][][];
2178
+ } | [number, number, number, number] | undefined;
2179
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2180
+ aggregation?: {
2181
+ attribute: string;
2182
+ method: "avg" | "max" | "min" | "sum" | "median";
2183
+ } | undefined;
2184
+ }, {
2185
+ boundary?: [number, number][] | {
2186
+ type: "Polygon";
2187
+ coordinates: [number, number][][];
2188
+ } | [number, number, number, number] | undefined;
2189
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2190
+ aggregation?: {
2191
+ attribute: string;
2192
+ method: "avg" | "max" | "min" | "sum" | "median";
2193
+ } | undefined;
2194
+ }>>;
2195
+ }, "strip", z.ZodTypeAny, {
2196
+ layerId: string;
2197
+ attribute: string;
2198
+ steps: number[] | {
2199
+ type: "equal-intervals";
2200
+ count: number;
2201
+ } | {
2202
+ type: "time-interval";
2203
+ interval: "hour" | "day" | "week" | "month" | "year";
2204
+ };
2205
+ values?: {
2206
+ boundary?: [number, number][] | {
2207
+ type: "Polygon";
2208
+ coordinates: [number, number][][];
2209
+ } | [number, number, number, number] | undefined;
2210
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2211
+ aggregation?: {
2212
+ attribute: string;
2213
+ method: "avg" | "max" | "min" | "sum" | "median";
2214
+ } | undefined;
2215
+ } | undefined;
2216
+ boundary?: [number, number][] | {
2217
+ type: "Polygon";
2218
+ coordinates: [number, number][][];
2219
+ } | [number, number, number, number] | undefined;
2220
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2221
+ }, {
2222
+ layerId: string;
2223
+ attribute: string;
2224
+ steps: number[] | {
2225
+ type: "equal-intervals";
2226
+ count: number;
2227
+ } | {
2228
+ type: "time-interval";
2229
+ interval: "hour" | "day" | "week" | "month" | "year";
2230
+ };
2231
+ values?: {
2232
+ boundary?: [number, number][] | {
2233
+ type: "Polygon";
2234
+ coordinates: [number, number][][];
2235
+ } | [number, number, number, number] | undefined;
2236
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2237
+ aggregation?: {
2238
+ attribute: string;
2239
+ method: "avg" | "max" | "min" | "sum" | "median";
2240
+ } | undefined;
2241
+ } | undefined;
2242
+ boundary?: [number, number][] | {
2243
+ type: "Polygon";
2244
+ coordinates: [number, number][][];
2245
+ } | [number, number, number, number] | undefined;
2246
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2247
+ }>;
2248
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2249
+ params: {
2250
+ layerId: string;
2251
+ attribute: string;
2252
+ steps: number[] | {
2253
+ type: "equal-intervals";
2254
+ count: number;
2255
+ } | {
2256
+ type: "time-interval";
2257
+ interval: "hour" | "day" | "week" | "month" | "year";
2258
+ };
2259
+ values?: {
2260
+ boundary?: [number, number][] | {
2261
+ type: "Polygon";
2262
+ coordinates: [number, number][][];
2263
+ } | [number, number, number, number] | undefined;
2264
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2265
+ aggregation?: {
2266
+ attribute: string;
2267
+ method: "avg" | "max" | "min" | "sum" | "median";
2268
+ } | undefined;
2269
+ } | undefined;
2270
+ boundary?: [number, number][] | {
2271
+ type: "Polygon";
2272
+ coordinates: [number, number][][];
2273
+ } | [number, number, number, number] | undefined;
2274
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2275
+ };
2276
+ type: "getHistogramData";
2277
+ }, {
2278
+ params: {
2279
+ layerId: string;
2280
+ attribute: string;
2281
+ steps: number[] | {
2282
+ type: "equal-intervals";
2283
+ count: number;
2284
+ } | {
2285
+ type: "time-interval";
2286
+ interval: "hour" | "day" | "week" | "month" | "year";
2287
+ };
2288
+ values?: {
2289
+ boundary?: [number, number][] | {
2290
+ type: "Polygon";
2291
+ coordinates: [number, number][][];
2292
+ } | [number, number, number, number] | undefined;
2293
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2294
+ aggregation?: {
2295
+ attribute: string;
2296
+ method: "avg" | "max" | "min" | "sum" | "median";
2297
+ } | undefined;
2298
+ } | undefined;
2299
+ boundary?: [number, number][] | {
2300
+ type: "Polygon";
2301
+ coordinates: [number, number][][];
2302
+ } | [number, number, number, number] | undefined;
2303
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2304
+ };
2305
+ type: "getHistogramData";
2306
+ }>;
2307
+ declare const GetLayerCalculationMessage: z.ZodObject<{
2308
+ type: z.ZodLiteral<"getAggregates">;
2309
+ params: z.ZodObject<{
2310
+ layerId: z.ZodString;
2311
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2312
+ type: z.ZodLiteral<"Polygon">;
2313
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
2314
+ }, "strip", z.ZodTypeAny, {
2315
+ type: "Polygon";
2316
+ coordinates: [number, number][][];
2317
+ }, {
2318
+ type: "Polygon";
2319
+ coordinates: [number, number][][];
2320
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
2321
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
2322
+ aggregation: z.ZodObject<{
2323
+ methods: z.ZodArray<z.ZodUnion<[z.ZodEnum<["avg", "max", "min", "sum", "median"]>, z.ZodLiteral<"count">]>, "many">;
2324
+ attribute: z.ZodOptional<z.ZodString>;
2325
+ }, "strip", z.ZodTypeAny, {
2326
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2327
+ attribute?: string | undefined;
2328
+ }, {
2329
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2330
+ attribute?: string | undefined;
2331
+ }>;
2332
+ }, "strip", z.ZodTypeAny, {
2333
+ layerId: string;
2334
+ aggregation: {
2335
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2336
+ attribute?: string | undefined;
2337
+ };
2338
+ boundary?: [number, number][] | {
2339
+ type: "Polygon";
2340
+ coordinates: [number, number][][];
2341
+ } | [number, number, number, number] | undefined;
2342
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2343
+ }, {
2344
+ layerId: string;
2345
+ aggregation: {
2346
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2347
+ attribute?: string | undefined;
2348
+ };
2349
+ boundary?: [number, number][] | {
2350
+ type: "Polygon";
2351
+ coordinates: [number, number][][];
2352
+ } | [number, number, number, number] | undefined;
2353
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2354
+ }>;
2355
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2356
+ params: {
2357
+ layerId: string;
2358
+ aggregation: {
2359
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2360
+ attribute?: string | undefined;
2361
+ };
2362
+ boundary?: [number, number][] | {
2363
+ type: "Polygon";
2364
+ coordinates: [number, number][][];
2365
+ } | [number, number, number, number] | undefined;
2366
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2367
+ };
2368
+ type: "getAggregates";
2369
+ }, {
2370
+ params: {
2371
+ layerId: string;
2372
+ aggregation: {
2373
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "count")[];
2374
+ attribute?: string | undefined;
2375
+ };
2376
+ boundary?: [number, number][] | {
2377
+ type: "Polygon";
2378
+ coordinates: [number, number][][];
2379
+ } | [number, number, number, number] | undefined;
2380
+ filters?: boolean | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | FilterTernary | null | undefined;
2381
+ };
2382
+ type: "getAggregates";
2383
+ }>;
1969
2384
  type LayersSchema = {
1970
2385
  methods: {
1971
2386
  getLayer: Method<zInfer<typeof GetLayerMessage>, Layer | null>;
@@ -1983,6 +2398,9 @@ type LayersSchema = {
1983
2398
  getLayerFilters: Method<zInfer<typeof GetFiltersMessage>, LayerFilters | null>;
1984
2399
  setLayerFilters: Method<zInfer<typeof SetFiltersMessage>, void>;
1985
2400
  getRenderedFeatures: Method<zInfer<typeof GetRenderedFeaturesMessage>, Array<Feature>>;
2401
+ getCategoryData: Method<zInfer<typeof GetLayerCategoriesMessage>, Array<GetLayerCategoriesGroup>>;
2402
+ getHistogramData: Method<zInfer<typeof GetLayerHistogramMessage>, Array<GetLayerHistogramBin>>;
2403
+ getAggregates: Method<zInfer<typeof GetLayerCalculationMessage>, Record<AggregationMethod | "count", number | null>>;
1986
2404
  };
1987
2405
  listeners: {
1988
2406
  onLayerChange: Listener<zInfer<typeof OnLayerChangeMessage.shape.options>, LayerChangeCallbackParams>;
@@ -1991,6 +2409,23 @@ type LayersSchema = {
1991
2409
  };
1992
2410
  };
1993
2411
 
2412
+ declare const GetMapDetailsMessage: z.ZodObject<{
2413
+ type: z.ZodLiteral<"getMapDetails">;
2414
+ params: z.ZodUndefined;
2415
+ }, z.UnknownKeysParam, z.ZodTypeAny, {
2416
+ type: "getMapDetails";
2417
+ params?: undefined;
2418
+ }, {
2419
+ type: "getMapDetails";
2420
+ params?: undefined;
2421
+ }>;
2422
+ type MiscSchema = {
2423
+ methods: {
2424
+ getMapDetails: Method<zInfer<typeof GetMapDetailsMessage>, MapDetails>;
2425
+ };
2426
+ listeners: {};
2427
+ };
2428
+
1994
2429
  declare const GetSelectionMessage: z.ZodObject<{
1995
2430
  type: z.ZodLiteral<"getSelection">;
1996
2431
  params: z.ZodUndefined;
@@ -2659,7 +3094,7 @@ type ViewportSchema = {
2659
3094
  };
2660
3095
  };
2661
3096
 
2662
- type AllModules = UiSchema | ViewportSchema | LayersSchema | ElementsSchema | SelectionSchema | InteractionsSchema | ToolsSchema;
3097
+ type AllModules = UiSchema | ViewportSchema | LayersSchema | ElementsSchema | SelectionSchema | InteractionsSchema | ToolsSchema | InteractionsSchema | MiscSchema;
2663
3098
 
2664
3099
  type FeltHandlers = {
2665
3100
  methods: FeltMethodHandlers;
package/dist/handler.js CHANGED
@@ -1 +1 @@
1
- import{z as c}from"zod";import{z as y}from"zod";import{z as S}from"zod";function t(n,C){return S.strictObject({type:S.literal(n),params:C})}function x(n,C){return S.strictObject({eventName:S.literal(n),id:S.string(),options:C})}function i(n){return S.strictObject({eventName:S.literal(n),id:S.string()})}import{z as r}from"zod";var z=r.number(),P=r.number(),k=r.object({latitude:P,longitude:z}),T=r.tuple([z,P]),le=r.object({type:r.literal("Point"),coordinates:T}),He=r.object({type:r.literal("LineString"),coordinates:r.array(T)}),M=r.object({type:r.literal("MultiLineString"),coordinates:r.array(He.shape.coordinates)}),pe=r.number().min(1).max(23),G=r.tuple([z,P,z,P]),L=r.object({show:r.array(r.string()).optional(),hide:r.array(r.string()).optional()});import{z as e}from"zod";var d=e.object({id:e.string(),groupId:e.string().nullable(),color:e.string(),name:e.union([e.string(),e.null()]),description:e.union([e.string(),e.null()]),attributes:e.record(e.string(),e.unknown())}),F=e.object({imageUrl:e.string().nullable()}),j=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),Ae=e.enum(["meter","kilometer","foot","mile"]),q=d.extend(F.shape).extend({type:e.literal("Place"),coordinates:le.shape.coordinates,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),Z=d.extend(F.shape).extend(j.shape).extend({type:e.literal("Path"),coordinates:M.shape.coordinates,distanceMarker:e.boolean(),endCaps:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable()}),B=d.extend(F.shape).extend(j.shape).extend({type:e.literal("Polygon"),coordinates:M.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),H=d.extend(F.shape).extend(j.shape).extend({type:e.literal("Circle"),coordinates:T,radius:e.number(),radiusDisplayAngle:e.number(),radiusDisplayUnit:Ae.nullable(),fillOpacity:e.number().min(0).max(1),radiusMarker:e.boolean()}),A=d.extend({type:e.literal("Marker"),coordinates:M.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),D=d.extend({type:e.literal("Highlighter"),coordinates:M.shape.coordinates,opacity:e.number().min(0).max(1)}),me=e.object({position:T,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),coordinates:M.shape.coordinates}),ce=e.object({text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),W=d.extend(me.shape).extend(ce.shape).extend({type:e.literal("Text")}),K=d.extend(me.shape).extend(ce.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),_=d.extend({type:e.literal("Image"),coordinates:M.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),De=d.extend({type:e.literal("Link"),coordinates:M.shape.coordinates,url:e.string()}),u={type:!0,coordinates:!0},h={id:!0},Q=q.partial().required(u).omit(h),w=Z.partial().required(u).omit(h),$=B.partial().required(u).omit(h),J=H.partial().required(u).required({radius:!0}).omit(h),X=A.partial().required(u).omit(h),Y=D.partial().required(u).omit(h),ee=W.partial().required(u).required({text:!0}).omit(h).omit({coordinates:!0,name:!0}),te=K.partial().required(u).required({text:!0}).omit(h).omit({coordinates:!0,name:!0}),We=_.partial().required(u).required({imageUrl:!0}).omit(h),de=e.discriminatedUnion("type",[Q,w,$,J,X,Y,We,ee,te]),Po=q.omit({coordinates:!0}),ko=Z.omit({coordinates:!0}),Fo=B.omit({coordinates:!0}),wo=H.omit({coordinates:!0}),Vo=A.omit({coordinates:!0}),vo=D.omit({coordinates:!0}),Oo=W.omit({coordinates:!0}),Uo=K.omit({coordinates:!0}),Ro=_.omit({coordinates:!0}),No=De.omit({coordinates:!0}),f={type:!0,id:!0},Ke=q.partial().required(f),_e=Z.partial().required(f),Qe=B.partial().required(f),$e=H.partial().required(f),Je=A.partial().required(f),Xe=D.partial().required(f),Ye=W.partial().required(f).omit({coordinates:!0,name:!0}),et=K.partial().required(f).omit({coordinates:!0,name:!0}),tt=_.partial().required(f),ye=e.discriminatedUnion("type",[Ke,_e,Qe,$e,Je,Xe,Ye,et,tt]),ge=e.object({ids:e.array(e.string()).optional()}),ue=e.object({ids:e.array(e.string()).optional()});var ot=t("getElement",y.string()),nt=t("getElementGeometry",y.string()),rt=t("getElements",ge.optional()),at=t("getElementGroup",y.string()),it=t("getElementGroups",ue.optional()),st=t("setElementGroupVisibility",L),lt=x("onElementChange",y.object({id:y.string()})),pt=i("onElementCreate"),mt=x("onElementDelete",y.object({id:y.string()})),ct=x("onElementGroupChange",y.object({id:y.string()})),dt=t("createElement",de),yt=t("updateElement",ye),gt=t("deleteElement",y.string()),he={methods:[ot,nt,rt,at,it,st,dt,yt,gt],listeners:[lt,pt,mt,ct]};var ut=i("onPointerClick"),ht=i("onPointerMove"),fe={methods:null,listeners:[ut,ht]};import{z as s}from"zod";import{z as o}from"zod";var ft=o.enum(["in","ni"]),St=o.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),_o=o.enum(["and","or"]),Se=o.union([o.number(),o.string(),o.boolean(),o.null()]),xe=o.string().or(o.null()),xt=o.tuple([xe,ft,o.array(Se).or(o.null())]),Mt=o.tuple([xe,St,Se]),oe=o.union([xt,Mt]),ne=o.tuple([o.lazy(()=>o.union([ne,oe,o.null(),o.boolean()])),o.enum(["and","or"]),o.lazy(()=>o.union([ne,oe,o.null(),o.boolean()]))]),Me=o.union([ne,oe,o.null(),o.boolean()]);import{z as a}from"zod";var Xo=a.enum(["processing","completed","failed","incomplete"]),be=a.object({ids:a.array(a.string()).optional()}),Le=a.object({ids:a.array(a.string()).optional()}),I=a.object({id:a.string(),layerId:a.string()}),Ce=a.object({ids:I.array().optional(),layerIds:a.string().array().optional()}),Ie=a.object({layerIds:a.array(a.string()).optional(),areaQuery:a.union([a.object({coordinates:k}),a.object({boundary:G})]).optional()});var bt=t("getLayer",s.string()),Lt=t("getLayers",be.optional()),Ct=t("setLayerVisibility",L),It=x("onLayerChange",s.object({id:s.string()})),Et=t("setLayerStyle",s.object({id:s.string(),style:s.object({}).passthrough()})),Tt=t("setLayerLegendVisibility",L),Gt=t("getLayerGroup",s.string()),zt=t("getLayerGroups",Le.optional()),Pt=t("setLayerGroupVisibility",L),kt=t("setLayerGroupLegendVisibility",L),Ft=x("onLayerGroupChange",s.object({id:s.string()})),wt=t("getLegendItem",I),Vt=t("getLegendItems",Ce.optional()),vt=x("onLegendItemChange",I),Ot=t("setLegendItemVisibility",s.object({show:I.array().optional(),hide:I.array().optional()})),Ut=t("getLayerFilters",s.string()),Rt=t("setLayerFilters",s.object({layerId:s.string(),filters:Me,note:s.string().optional()})),Nt=t("getRenderedFeatures",Ie.optional()),Ee={methods:[bt,Lt,Ct,Et,Tt,Gt,zt,Pt,kt,wt,Vt,Ot,Ut,Rt,Nt],listeners:[It,Ft,vt]};import{z as V}from"zod";import{z as b}from"zod";var Te=b.object({id:b.string().or(b.number()),layerId:b.string(),showPopup:b.boolean().optional(),fitViewport:b.boolean().or(b.object({maxZoom:b.number()})).optional()});var jt=t("getSelection",V.undefined()),qt=i("onSelectionChange"),Zt=t("selectFeature",Te),Bt=t("clearSelection",V.object({features:V.boolean().optional(),elements:V.boolean().optional()}).optional()),Ge={methods:[jt,Zt,Bt],listeners:[qt]};import{z as Xt}from"zod";import{z as p}from"zod";var ze=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Pe=p.enum([...ze,"link"]),ke=p.enum(ze),Ht=Q.pick({color:!0,symbol:!0,frame:!0}).required(),At=w.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),Dt=w.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),Wt=$.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),Kt=J.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),_t=X.pick({color:!0,opacity:!0,size:!0}).required(),Qt=Y.pick({color:!0,opacity:!0}).extend({size:p.number().min(0).max(200)}).required(),$t=ee.pick({color:!0,align:!0,style:!0}).required(),Jt=te.pick({color:!0,align:!0,style:!0}).required(),Fe=p.discriminatedUnion("tool",[Ht.partial().extend({tool:p.literal("pin")}),At.partial().extend({tool:p.literal("line")}),Dt.partial().extend({tool:p.literal("route")}),Wt.partial().extend({tool:p.literal("polygon")}),Kt.partial().extend({tool:p.literal("circle")}),_t.partial().extend({tool:p.literal("marker")}),Qt.partial().extend({tool:p.literal("highlighter")}),$t.partial().extend({tool:p.literal("text")}),Jt.partial().extend({tool:p.literal("note")})]);var Yt=t("setTool",Pe.nullable()),eo=t("getTool",Xt.undefined()),to=i("onToolChange"),oo=t("setToolSettings",Fe),no=t("getToolSettings",ke),ro=i("onToolSettingsChange"),we={methods:[Yt,eo,oo,no],listeners:[to,ro]};import{z as m}from"zod";var Ve=m.object({showLegend:m.boolean().optional(),cooperativeGestures:m.boolean().optional(),fullScreenButton:m.boolean().optional(),geolocation:m.boolean().optional(),zoomControls:m.boolean().optional(),scaleBar:m.boolean().optional()}),ve=m.object({featureSelectPanel:m.boolean().optional(),featureHoverPanel:m.boolean().optional(),elementSelectPanel:m.boolean().optional(),linkClickOpen:m.boolean().optional(),imageLightboxOpen:m.boolean().optional()});var ao=t("updateUiControls",Ve),io=t("setOnMapInteractionsUi",ve),Oe={methods:[ao,io],listeners:null};import{z as je}from"zod";import{z as O}from"zod";var v=O.object({center:k,zoom:pe}),Ue=O.object({center:v.shape.center.optional(),zoom:v.shape.zoom.optional()}),Re=O.object({minZoom:v.shape.zoom.nullish(),maxZoom:v.shape.zoom.nullish(),bounds:G.nullish()}).nullable(),Ne=O.object({bounds:G});var so=t("getViewport",je.undefined()),lo=t("setViewport",Ue),po=t("getViewportConstraints",je.undefined()),mo=t("setViewportConstraints",Re),co=t("fitViewportToBounds",Ne),yo=i("onViewportMove"),go=i("onViewportMoveEnd"),uo=i("onMapIdle"),qe={methods:[lo,so,po,mo,co],listeners:[yo,go,uo]};var re=[Oe,qe,Ee,he,Ge,fe,we];function Bn(n,C,ae){let U=new Map;async function ie(g){if(!bo.safeParse(g.data).success){ae?.onUnknownMessage?.(g.data);return}let se=Be.safeParse(g.data);if(!se.success){ae?.onInvalidMessage?.(g.data);return}let{data:l}=se;if(l.type==="felt.ready")g.ports[0]?.postMessage(!0);else if(l.type==="felt.addListener"){if(l.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let E="options"in l.event?{options:"options"in l.event?l.event.options:void 0,handler:N=>{g.ports[0]?.postMessage(N)}}:{handler:N=>{g.ports[0]?.postMessage(N)}},R=C.listeners[l.event.eventName](E);U.set(l.event.id,R)}else if(l.type==="felt.removeListener")U.get(l.id)?.(),U.delete(l.id);else try{let E=C.methods[l.type],R=await E(l.params);g.ports[0]?.postMessage(R)}catch(E){g.ports[0]?.postMessage({__error__:ho(E)})}}return n.addEventListener("message",ie),()=>{n.removeEventListener("message",ie)}}function ho(n){return n instanceof Error?n.message:typeof n=="object"&&n!==null&&"message"in n?String(n.message):typeof n=="string"?n:"Unknown error"}var Ze={methods:re.map(n=>n.methods??[]).flat(),listeners:re.map(n=>n.listeners??[]).flat()},fo=c.discriminatedUnion("eventName",[c.strictObject({eventName:c.literal("")}),...Ze.listeners]),So=c.strictObject({type:c.literal("felt.addListener"),event:fo}),xo=c.strictObject({type:c.literal("felt.removeListener"),id:c.string()}),Mo=c.strictObject({type:c.literal("felt.ready")}),Be=c.discriminatedUnion("type",[Mo,So,xo,...Ze.methods]),bo=c.object({type:c.enum(Be.options.map(n=>n.shape.type.value))});export{Bn as createMessageHandler};
1
+ import{z as g}from"zod";import{z as y}from"zod";import{z as x}from"zod";function t(n,T){return x.strictObject({type:x.literal(n),params:T})}function M(n,T){return x.strictObject({eventName:x.literal(n),id:x.string(),options:T})}function s(n){return x.strictObject({eventName:x.literal(n),id:x.string()})}import{z as a}from"zod";var F=a.number(),k=a.number(),v=a.object({latitude:k,longitude:F}),b=a.tuple([F,k]),ce=a.object({type:a.literal("Point"),coordinates:b}),ge=a.object({type:a.literal("Polygon"),coordinates:a.array(a.array(b))}),Xe=a.object({type:a.literal("LineString"),coordinates:a.array(b)}),L=a.object({type:a.literal("MultiLineString"),coordinates:a.array(Xe.shape.coordinates)}),de=a.number().min(1).max(23),I=a.tuple([F,k,F,k]),G=a.object({show:a.array(a.string()).optional(),hide:a.array(a.string()).optional()});import{z as e}from"zod";var d=e.object({id:e.string(),groupId:e.string().nullable(),color:e.string(),name:e.union([e.string(),e.null()]),description:e.union([e.string(),e.null()]),attributes:e.record(e.string(),e.unknown())}),w=e.object({imageUrl:e.string().nullable()}),H=e.object({strokeOpacity:e.number(),strokeWidth:e.number(),strokeStyle:e.enum(["solid","dashed","dotted"])}),Ye=e.enum(["meter","kilometer","foot","mile"]),B=d.extend(w.shape).extend({type:e.literal("Place"),coordinates:ce.shape.coordinates,symbol:e.string(),frame:e.enum(["frame-circle","frame-square"]).nullable(),hideLabel:e.boolean()}),Z=d.extend(w.shape).extend(H.shape).extend({type:e.literal("Path"),coordinates:L.shape.coordinates,distanceMarker:e.boolean(),endCaps:e.boolean(),routingMode:e.enum(["driving","cycling","walking","flying"]).nullable()}),D=d.extend(w.shape).extend(H.shape).extend({type:e.literal("Polygon"),coordinates:L.shape.coordinates,fillOpacity:e.number().min(0).max(1),areaMarker:e.boolean()}),W=d.extend(w.shape).extend(H.shape).extend({type:e.literal("Circle"),coordinates:b,radius:e.number(),radiusDisplayAngle:e.number(),radiusDisplayUnit:Ye.nullable(),fillOpacity:e.number().min(0).max(1),radiusMarker:e.boolean()}),K=d.extend({type:e.literal("Marker"),coordinates:L.shape.coordinates,opacity:e.number().min(0).max(1),size:e.number().min(0).max(100),zoom:e.number().min(0).max(23)}),_=d.extend({type:e.literal("Highlighter"),coordinates:L.shape.coordinates,opacity:e.number().min(0).max(1)}),ye=e.object({position:b,rotation:e.number(),scale:e.number(),zoom:e.number().min(0).max(23),coordinates:L.shape.coordinates}),ue=e.object({text:e.string(),align:e.enum(["left","center","right"]),style:e.enum(["italic","light","regular","caps"]),name:e.string()}),Q=d.extend(ye.shape).extend(ue.shape).extend({type:e.literal("Text")}),$=d.extend(ye.shape).extend(ue.shape).extend({type:e.literal("Note"),widthScale:e.number().min(0)}),J=d.extend({type:e.literal("Image"),coordinates:L.shape.coordinates,imageUrl:e.string(),opacity:e.number().min(0).max(1)}).omit({color:!0}),et=d.extend({type:e.literal("Link"),coordinates:L.shape.coordinates,url:e.string()}),h={type:!0,coordinates:!0},f={id:!0},X=B.partial().required(h).omit(f),V=Z.partial().required(h).omit(f),Y=D.partial().required(h).omit(f),ee=W.partial().required(h).required({radius:!0}).omit(f),te=K.partial().required(h).omit(f),oe=_.partial().required(h).omit(f),re=Q.partial().required(h).required({text:!0}).omit(f).omit({coordinates:!0,name:!0}),ne=$.partial().required(h).required({text:!0}).omit(f).omit({coordinates:!0,name:!0}),tt=J.partial().required(h).required({imageUrl:!0}).omit(f),he=e.discriminatedUnion("type",[X,V,Y,ee,te,oe,tt,re,ne]),Ko=B.omit({coordinates:!0}),_o=Z.omit({coordinates:!0}),Qo=D.omit({coordinates:!0}),$o=W.omit({coordinates:!0}),Jo=K.omit({coordinates:!0}),Xo=_.omit({coordinates:!0}),Yo=Q.omit({coordinates:!0}),er=$.omit({coordinates:!0}),tr=J.omit({coordinates:!0}),or=et.omit({coordinates:!0}),S={type:!0,id:!0},ot=B.partial().required(S),rt=Z.partial().required(S),nt=D.partial().required(S),at=W.partial().required(S),it=K.partial().required(S),st=_.partial().required(S),lt=Q.partial().required(S).omit({coordinates:!0,name:!0}),pt=$.partial().required(S).omit({coordinates:!0,name:!0}),mt=J.partial().required(S),fe=e.discriminatedUnion("type",[ot,rt,nt,at,it,st,lt,pt,mt]),Se=e.object({ids:e.array(e.string()).optional()}),xe=e.object({ids:e.array(e.string()).optional()});var ct=t("getElement",y.string()),gt=t("getElementGeometry",y.string()),dt=t("getElements",Se.optional()),yt=t("getElementGroup",y.string()),ut=t("getElementGroups",xe.optional()),ht=t("setElementGroupVisibility",G),ft=M("onElementChange",y.object({id:y.string()})),St=s("onElementCreate"),xt=M("onElementDelete",y.object({id:y.string()})),Mt=M("onElementGroupChange",y.object({id:y.string()})),bt=t("createElement",he),Lt=t("updateElement",fe),Ct=t("deleteElement",y.string()),Me={methods:[ct,gt,dt,yt,ut,ht,bt,Lt,Ct],listeners:[ft,St,xt,Mt]};var It=s("onPointerClick"),Gt=s("onPointerMove"),be={methods:null,listeners:[It,Gt]};import{z as l}from"zod";import{z as r}from"zod";var Et=r.enum(["in","ni"]),Tt=r.enum(["lt","gt","le","ge","eq","ne","cn","nc","is","isnt"]),gr=r.enum(["and","or"]),Le=r.union([r.number(),r.string(),r.boolean(),r.null()]),Ce=r.string().or(r.null()),zt=r.tuple([Ce,Et,r.array(Le).or(r.null())]),Pt=r.tuple([Ce,Tt,Le]),ae=r.union([zt,Pt]),ie=r.tuple([r.lazy(()=>r.union([ie,ae,r.null(),r.boolean()])),r.enum(["and","or"]),r.lazy(()=>r.union([ie,ae,r.null(),r.boolean()]))]),E=r.union([ie,ae,r.null(),r.boolean()]);import{z as o}from"zod";var Ie=o.enum(["avg","max","min","sum","median"]),Ft=o.object({method:Ie,attribute:o.string()}),kt=o.object({methods:o.array(o.union([Ie,o.literal("count")])),attribute:o.string().optional()}),O=o.union([I,ge,o.array(b)]),Ge=o.object({boundary:O.optional(),filters:E.optional(),aggregation:Ft.optional()}),Ee=o.object({layerId:o.string(),attribute:o.string(),limit:o.number().optional(),boundary:O.optional(),filters:E.optional(),values:Ge.optional()}),fr=o.object({key:o.union([o.number(),o.string(),o.boolean()]),value:o.number().nullable()}),vt=o.object({type:o.literal("equal-intervals"),count:o.number()}),wt=o.object({type:o.literal("time-interval"),interval:o.enum(["hour","day","week","month","year"])}),Te=o.object({layerId:o.string(),attribute:o.string(),steps:o.union([vt,wt,o.array(o.number())]),boundary:O.optional(),filters:E.optional(),values:Ge.optional()}),Sr=o.object({min:o.number(),max:o.number(),value:o.number()}),ze=o.object({layerId:o.string(),boundary:O.optional(),filters:E.optional(),aggregation:kt});import{z as i}from"zod";var Lr=i.enum(["processing","completed","failed","incomplete"]),Pe=i.object({ids:i.array(i.string()).optional()}),Fe=i.object({ids:i.array(i.string()).optional()}),z=i.object({id:i.string(),layerId:i.string()}),ke=i.object({ids:z.array().optional(),layerIds:i.string().array().optional()}),ve=i.object({layerIds:i.array(i.string()).optional(),areaQuery:i.union([i.object({coordinates:v}),i.object({boundary:I})]).optional()});var Vt=t("getLayer",l.string()),Ot=t("getLayers",Pe.optional()),Ut=t("setLayerVisibility",G),Rt=M("onLayerChange",l.object({id:l.string()})),Nt=t("setLayerStyle",l.object({id:l.string(),style:l.object({}).passthrough()})),jt=t("setLayerLegendVisibility",G),qt=t("getLayerGroup",l.string()),At=t("getLayerGroups",Fe.optional()),Ht=t("setLayerGroupVisibility",G),Bt=t("setLayerGroupLegendVisibility",G),Zt=M("onLayerGroupChange",l.object({id:l.string()})),Dt=t("getLegendItem",z),Wt=t("getLegendItems",ke.optional()),Kt=M("onLegendItemChange",z),_t=t("setLegendItemVisibility",l.object({show:z.array().optional(),hide:z.array().optional()})),Qt=t("getLayerFilters",l.string()),$t=t("setLayerFilters",l.object({layerId:l.string(),filters:E,note:l.string().optional()})),Jt=t("getRenderedFeatures",ve.optional()),Xt=t("getCategoryData",Ee),Yt=t("getHistogramData",Te),eo=t("getAggregates",ze),we={methods:[Vt,Ot,Ut,Nt,jt,qt,At,Ht,Bt,Dt,Wt,_t,Qt,$t,Jt,Xt,Yt,eo],listeners:[Rt,Zt,Kt]};import{z as to}from"zod";var oo=t("getMapDetails",to.undefined()),Ve={methods:[oo],listeners:[]};import{z as U}from"zod";import{z as C}from"zod";var Oe=C.object({id:C.string().or(C.number()),layerId:C.string(),showPopup:C.boolean().optional(),fitViewport:C.boolean().or(C.object({maxZoom:C.number()})).optional()});var ro=t("getSelection",U.undefined()),no=s("onSelectionChange"),ao=t("selectFeature",Oe),io=t("clearSelection",U.object({features:U.boolean().optional(),elements:U.boolean().optional()}).optional()),Ue={methods:[ro,ao,io],listeners:[no]};import{z as fo}from"zod";import{z as m}from"zod";var Re=["pin","line","route","polygon","circle","marker","highlighter","text","note"],Ne=m.enum([...Re,"link"]),je=m.enum(Re),so=X.pick({color:!0,symbol:!0,frame:!0}).required(),lo=V.pick({color:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0}).required(),po=V.pick({color:!0,routingMode:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,distanceMarker:!0,endCaps:!0}).required(),mo=Y.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,areaMarker:!0}).required(),co=ee.pick({color:!0,fillOpacity:!0,strokeOpacity:!0,strokeWidth:!0,strokeStyle:!0,radiusMarker:!0}).required(),go=te.pick({color:!0,opacity:!0,size:!0}).required(),yo=oe.pick({color:!0,opacity:!0}).extend({size:m.number().min(0).max(200)}).required(),uo=re.pick({color:!0,align:!0,style:!0}).required(),ho=ne.pick({color:!0,align:!0,style:!0}).required(),qe=m.discriminatedUnion("tool",[so.partial().extend({tool:m.literal("pin")}),lo.partial().extend({tool:m.literal("line")}),po.partial().extend({tool:m.literal("route")}),mo.partial().extend({tool:m.literal("polygon")}),co.partial().extend({tool:m.literal("circle")}),go.partial().extend({tool:m.literal("marker")}),yo.partial().extend({tool:m.literal("highlighter")}),uo.partial().extend({tool:m.literal("text")}),ho.partial().extend({tool:m.literal("note")})]);var So=t("setTool",Ne.nullable()),xo=t("getTool",fo.undefined()),Mo=s("onToolChange"),bo=t("setToolSettings",qe),Lo=t("getToolSettings",je),Co=s("onToolSettingsChange"),Ae={methods:[So,xo,bo,Lo],listeners:[Mo,Co]};import{z as c}from"zod";var He=c.object({showLegend:c.boolean().optional(),cooperativeGestures:c.boolean().optional(),fullScreenButton:c.boolean().optional(),geolocation:c.boolean().optional(),zoomControls:c.boolean().optional(),scaleBar:c.boolean().optional()}),Be=c.object({featureSelectPanel:c.boolean().optional(),featureHoverPanel:c.boolean().optional(),elementSelectPanel:c.boolean().optional(),linkClickOpen:c.boolean().optional(),imageLightboxOpen:c.boolean().optional()});var Io=t("updateUiControls",He),Go=t("setOnMapInteractionsUi",Be),Ze={methods:[Io,Go],listeners:null};import{z as _e}from"zod";import{z as N}from"zod";var R=N.object({center:v,zoom:de}),De=N.object({center:R.shape.center.optional(),zoom:R.shape.zoom.optional()}),We=N.object({minZoom:R.shape.zoom.nullish(),maxZoom:R.shape.zoom.nullish(),bounds:I.nullish()}).nullable(),Ke=N.object({bounds:I});var Eo=t("getViewport",_e.undefined()),To=t("setViewport",De),zo=t("getViewportConstraints",_e.undefined()),Po=t("setViewportConstraints",We),Fo=t("fitViewportToBounds",Ke),ko=s("onViewportMove"),vo=s("onViewportMoveEnd"),wo=s("onMapIdle"),Qe={methods:[To,Eo,zo,Po,Fo],listeners:[ko,vo,wo]};var se=[Ze,Qe,we,Me,Ue,be,Ae,Ve];function fn(n,T,le){let j=new Map;async function pe(u){if(!jo.safeParse(u.data).success){le?.onUnknownMessage?.(u.data);return}let me=Je.safeParse(u.data);if(!me.success){le?.onInvalidMessage?.(u.data);return}let{data:p}=me;if(p.type==="felt.ready")u.ports[0]?.postMessage(!0);else if(p.type==="felt.addListener"){if(p.event.eventName==="")throw new Error("felt.addListener eventName cannot be empty");let P="options"in p.event?{options:"options"in p.event?p.event.options:void 0,handler:A=>{u.ports[0]?.postMessage(A)}}:{handler:A=>{u.ports[0]?.postMessage(A)}},q=T.listeners[p.event.eventName](P);j.set(p.event.id,q)}else if(p.type==="felt.removeListener")j.get(p.id)?.(),j.delete(p.id);else try{let P=T.methods[p.type],q=await P(p.params);u.ports[0]?.postMessage(q)}catch(P){u.ports[0]?.postMessage({__error__:Vo(P)})}}return n.addEventListener("message",pe),()=>{n.removeEventListener("message",pe)}}function Vo(n){return n instanceof Error?n.message:typeof n=="object"&&n!==null&&"message"in n?String(n.message):typeof n=="string"?n:"Unknown error"}var $e={methods:se.map(n=>n.methods??[]).flat(),listeners:se.map(n=>n.listeners??[]).flat()},Oo=g.discriminatedUnion("eventName",[g.strictObject({eventName:g.literal("")}),...$e.listeners]),Uo=g.strictObject({type:g.literal("felt.addListener"),event:Oo}),Ro=g.strictObject({type:g.literal("felt.removeListener"),id:g.string()}),No=g.strictObject({type:g.literal("felt.ready")}),Je=g.discriminatedUnion("type",[No,Uo,Ro,...$e.methods]),jo=g.object({type:g.enum(Je.options.map(n=>n.shape.type.value))});export{fn as createMessageHandler};