@geogirafe/lib-geoportal 1.0.2178444470 → 1.0.2183159772

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/api/api.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
package/api/api.js ADDED
@@ -0,0 +1,2 @@
1
+ import GeoGirafeApi from './apigeogirafeapp';
2
+ customElements.define('geogirafe-map', GeoGirafeApi);
@@ -0,0 +1,65 @@
1
+ import ApplicationLifeCycleManager from '../tools/app/lifecyclemanager';
2
+ import AuthManager from '../tools/auth/authmanager';
3
+ import DragManager from '../components/treeview/tools/dragmanager';
4
+ import PluginManager from '../tools/auth/pluginmanager';
5
+ import ConfigManager from '../tools/configuration/configmanager';
6
+ import ErrorManager from '../tools/error/errormanager';
7
+ import I18nManager from '../tools/i18n/i18nmanager';
8
+ import LayerManager from '../tools/layers/layermanager';
9
+ import SnapManager from '../tools/layers/snapmanager';
10
+ import LocalFileManager from '../tools/localfile/localfilemanager';
11
+ import LogManager from '../tools/logging/logmanager';
12
+ import OfflineManager from '../tools/offline/offlinemanager';
13
+ import OgcApiFeaturesManager from '../tools/ogcapi/ogcapifeaturesmanager';
14
+ import OrderingManager from '../tools/ordering/orderingmanager';
15
+ import ShareManager from '../tools/share/sharemanager';
16
+ import StateSerializer from '../tools/share/stateserializer';
17
+ import ComponentManager from '../tools/state/componentManager';
18
+ import MapManager from '../tools/state/mapManager';
19
+ import StateManager from '../tools/state/statemanager';
20
+ import UserInteractionManager from '../tools/state/userInteractionManager';
21
+ import CustomThemesManager from '../tools/themes/customthemesmanager';
22
+ import ThemesHelper from '../tools/themes/themeshelper';
23
+ import ThemesManager from '../tools/themes/themesmanager';
24
+ import UserLayerManager from '../tools/themes/userlayermanager';
25
+ import PermalinkManager from '../tools/url/permalinkmanager';
26
+ import UrlManager from '../tools/url/urlmanager';
27
+ import UserDataManager from '../tools/userdata/userdatamanager';
28
+ import WfsManager from '../tools/wfs/wfsmanager';
29
+ import WmsManager from '../tools/wms/wmsmanager';
30
+ import IGirafeContext from '../tools/context/icontext';
31
+ import ApiSessionManager from './apisessionmanager';
32
+ export default class GirafeApiContext implements IGirafeContext {
33
+ readonly userDataManager: UserDataManager;
34
+ readonly configManager: ConfigManager;
35
+ readonly stateManager: StateManager;
36
+ readonly componentManager: ComponentManager;
37
+ readonly userInteractionManager: UserInteractionManager;
38
+ readonly i18nManager: I18nManager;
39
+ readonly pluginManager: PluginManager;
40
+ readonly themesManager: ThemesManager;
41
+ readonly themesHelper: ThemesHelper;
42
+ readonly permalinkManager: PermalinkManager;
43
+ readonly urlManager: UrlManager;
44
+ readonly dragManager: DragManager;
45
+ readonly layerManager: LayerManager;
46
+ readonly sessionManager: ApiSessionManager;
47
+ readonly stateSerializer: StateSerializer;
48
+ readonly shareManager: ShareManager;
49
+ readonly customThemesManager: CustomThemesManager;
50
+ readonly errorManager: ErrorManager;
51
+ readonly wfsManager: WfsManager;
52
+ readonly authManager: AuthManager;
53
+ readonly snapManager: SnapManager;
54
+ readonly mapManager: MapManager;
55
+ readonly logManager: LogManager;
56
+ readonly offlineManager: OfflineManager;
57
+ readonly applicationLifeCycleManager: ApplicationLifeCycleManager;
58
+ readonly orderingManager: OrderingManager;
59
+ readonly userLayerManager: UserLayerManager;
60
+ readonly wmsManager: WmsManager;
61
+ readonly ogcApiFeaturesManager: OgcApiFeaturesManager;
62
+ readonly localFileManager: LocalFileManager;
63
+ constructor();
64
+ initialize(): Promise<void>;
65
+ }
@@ -0,0 +1,129 @@
1
+ import ApplicationLifeCycleManager from '../tools/app/lifecyclemanager';
2
+ import AuthManager from '../tools/auth/authmanager';
3
+ import DragManager from '../components/treeview/tools/dragmanager';
4
+ import PluginManager from '../tools/auth/pluginmanager';
5
+ import ConfigManager from '../tools/configuration/configmanager';
6
+ import ErrorManager from '../tools/error/errormanager';
7
+ import I18nManager from '../tools/i18n/i18nmanager';
8
+ import LayerManager from '../tools/layers/layermanager';
9
+ import SnapManager from '../tools/layers/snapmanager';
10
+ import LocalFileManager from '../tools/localfile/localfilemanager';
11
+ import LogManager from '../tools/logging/logmanager';
12
+ import OfflineManager from '../tools/offline/offlinemanager';
13
+ import OgcApiFeaturesManager from '../tools/ogcapi/ogcapifeaturesmanager';
14
+ import OrderingManager from '../tools/ordering/orderingmanager';
15
+ import ShareManager from '../tools/share/sharemanager';
16
+ import StateSerializer from '../tools/share/stateserializer';
17
+ import ComponentManager from '../tools/state/componentManager';
18
+ import MapManager from '../tools/state/mapManager';
19
+ import StateManager from '../tools/state/statemanager';
20
+ import UserInteractionManager from '../tools/state/userInteractionManager';
21
+ import CustomThemesManager from '../tools/themes/customthemesmanager';
22
+ import ThemesHelper from '../tools/themes/themeshelper';
23
+ import ThemesManager from '../tools/themes/themesmanager';
24
+ import UserLayerManager from '../tools/themes/userlayermanager';
25
+ import PermalinkManager from '../tools/url/permalinkmanager';
26
+ import UrlManager from '../tools/url/urlmanager';
27
+ import UserDataManager from '../tools/userdata/userdatamanager';
28
+ import WfsManager from '../tools/wfs/wfsmanager';
29
+ import WmsManager from '../tools/wms/wmsmanager';
30
+ import ApiSessionManager from './apisessionmanager';
31
+ export default class GirafeApiContext {
32
+ userDataManager;
33
+ configManager;
34
+ stateManager;
35
+ componentManager;
36
+ userInteractionManager;
37
+ i18nManager;
38
+ pluginManager;
39
+ themesManager;
40
+ themesHelper;
41
+ permalinkManager;
42
+ urlManager;
43
+ dragManager;
44
+ layerManager;
45
+ sessionManager;
46
+ stateSerializer;
47
+ shareManager;
48
+ customThemesManager;
49
+ errorManager;
50
+ wfsManager;
51
+ authManager;
52
+ snapManager;
53
+ mapManager;
54
+ logManager;
55
+ offlineManager;
56
+ applicationLifeCycleManager;
57
+ orderingManager;
58
+ userLayerManager;
59
+ wmsManager;
60
+ ogcApiFeaturesManager;
61
+ localFileManager;
62
+ constructor() {
63
+ this.componentManager = new ComponentManager(this);
64
+ this.userDataManager = new UserDataManager(this);
65
+ this.configManager = new ConfigManager(this);
66
+ this.logManager = new LogManager(this);
67
+ this.stateManager = new StateManager(this);
68
+ this.orderingManager = new OrderingManager(this);
69
+ this.applicationLifeCycleManager = new ApplicationLifeCycleManager(this);
70
+ this.mapManager = new MapManager(this);
71
+ this.offlineManager = new OfflineManager(this);
72
+ this.snapManager = new SnapManager(this);
73
+ this.authManager = new AuthManager(this);
74
+ this.pluginManager = new PluginManager(this);
75
+ this.i18nManager = new I18nManager(this);
76
+ this.userInteractionManager = new UserInteractionManager(this);
77
+ this.dragManager = new DragManager(this);
78
+ this.urlManager = new UrlManager(this);
79
+ this.permalinkManager = new PermalinkManager(this);
80
+ this.layerManager = new LayerManager(this);
81
+ this.userLayerManager = new UserLayerManager(this);
82
+ this.themesHelper = new ThemesHelper(this);
83
+ this.stateSerializer = new StateSerializer(this);
84
+ this.sessionManager = new ApiSessionManager(this);
85
+ this.shareManager = new ShareManager(this);
86
+ this.wfsManager = new WfsManager(this);
87
+ this.errorManager = new ErrorManager(this);
88
+ this.customThemesManager = new CustomThemesManager(this);
89
+ this.themesManager = new ThemesManager(this);
90
+ this.wmsManager = new WmsManager(this);
91
+ this.localFileManager = new LocalFileManager(this);
92
+ this.ogcApiFeaturesManager = new OgcApiFeaturesManager(this);
93
+ }
94
+ async initialize() {
95
+ // NOTE : This initialization order is important, because some singleton will need other ones !
96
+ this.componentManager.initializeSingleton();
97
+ this.userDataManager.initializeSingleton();
98
+ this.configManager.initializeSingleton();
99
+ await this.configManager.loadConfig();
100
+ this.logManager.initializeSingleton();
101
+ this.logManager.initLogging();
102
+ this.stateManager.initializeSingleton();
103
+ this.orderingManager.initializeSingleton();
104
+ this.applicationLifeCycleManager.initializeSingleton();
105
+ this.mapManager.initializeSingleton();
106
+ this.offlineManager.initializeSingleton();
107
+ this.snapManager.initializeSingleton();
108
+ this.authManager.initializeSingleton();
109
+ this.pluginManager.initializeSingleton();
110
+ this.i18nManager.initializeSingleton();
111
+ this.userInteractionManager.initializeSingleton();
112
+ this.dragManager.initializeSingleton();
113
+ this.urlManager.initializeSingleton();
114
+ this.permalinkManager.initializeSingleton();
115
+ this.layerManager.initializeSingleton();
116
+ this.userLayerManager.initializeSingleton();
117
+ this.themesHelper.initializeSingleton();
118
+ this.stateSerializer.initializeSingleton();
119
+ this.sessionManager.initializeSingleton();
120
+ this.shareManager.initializeSingleton();
121
+ this.wfsManager.initializeSingleton();
122
+ this.errorManager.initializeSingleton();
123
+ this.customThemesManager.initializeSingleton();
124
+ this.themesManager.initializeSingleton();
125
+ this.wmsManager.initializeSingleton();
126
+ this.localFileManager.initializeSingleton();
127
+ this.ogcApiFeaturesManager.initializeSingleton();
128
+ }
129
+ }
@@ -0,0 +1,15 @@
1
+ import GirafeHTMLElement from '../base/GirafeHTMLElement';
2
+ import IGirafeContext from '../tools/context/icontext';
3
+ export default class GeoGirafeApi extends GirafeHTMLElement {
4
+ constructor();
5
+ connectedCallback(): void;
6
+ getInheritedContext(): IGirafeContext;
7
+ private defineApiComponents;
8
+ private manageAttributes;
9
+ private manageCenterAttribute;
10
+ private manageZoomAttribute;
11
+ private manageBasemapAttribute;
12
+ private manageBasemapSelectorAttribute;
13
+ private initialize;
14
+ private injectConfigMetaTags;
15
+ }
@@ -0,0 +1,139 @@
1
+ import proj4 from 'proj4';
2
+ import GirafeHTMLElement from '../base/GirafeHTMLElement';
3
+ import MapComponent from '../components/map/component';
4
+ import { register } from 'ol/proj/proj4';
5
+ import GirafeApiContext from './apicontext';
6
+ import BasemapComponent from '../components/basemap/component';
7
+ import MenuButtonComponent from '../components/menubutton/component';
8
+ import { applyOpacityToLayers } from '../tools/utils/utils';
9
+ export default class GeoGirafeApi extends GirafeHTMLElement {
10
+ constructor() {
11
+ super('geogirafe-api');
12
+ this.injectConfigMetaTags();
13
+ }
14
+ connectedCallback() {
15
+ super.connectedCallback();
16
+ this.initialize().then(() => {
17
+ console.log('GeoGirafe API is ready!');
18
+ this.defineApiComponents();
19
+ this.subscribe('application.isReady', (_, isLoaded) => {
20
+ if (isLoaded) {
21
+ this.manageAttributes();
22
+ }
23
+ });
24
+ });
25
+ }
26
+ getInheritedContext() {
27
+ return new GirafeApiContext();
28
+ }
29
+ defineApiComponents() {
30
+ if (!customElements.get('girafe-map')) {
31
+ customElements.define('girafe-map', MapComponent);
32
+ }
33
+ this.shadow.innerHTML = `<girafe-map></girafe-map>`;
34
+ }
35
+ manageAttributes() {
36
+ this.manageCenterAttribute();
37
+ this.manageZoomAttribute();
38
+ this.manageBasemapAttribute();
39
+ this.manageBasemapSelectorAttribute();
40
+ }
41
+ manageCenterAttribute() {
42
+ const center = this.getAttribute('center');
43
+ if (center) {
44
+ const coords = center.split(',');
45
+ const x = Number(coords[0].trim());
46
+ const y = Number(coords[1].trim());
47
+ if (!Number.isNaN(x) && !Number.isNaN(y)) {
48
+ this.context.stateManager.state.position.center = [x, y];
49
+ }
50
+ else {
51
+ console.warn('Invalid center coordinates');
52
+ }
53
+ }
54
+ }
55
+ manageZoomAttribute() {
56
+ const zoom = this.getAttribute('zoom');
57
+ if (zoom) {
58
+ const zoomLevel = Number(zoom.trim());
59
+ if (Number.isNaN(zoomLevel)) {
60
+ console.warn('Invalid zoom level');
61
+ }
62
+ else {
63
+ this.context.stateManager.state.position.zoom = zoomLevel;
64
+ }
65
+ }
66
+ }
67
+ manageBasemapAttribute() {
68
+ const basemap = this.getAttribute('basemap');
69
+ if (basemap) {
70
+ const basemapName = basemap.trim();
71
+ if (basemapName) {
72
+ // Find the basemap in the available basemaps
73
+ const availableBasemap = Object.values(this.context.stateManager.state.basemaps).find((b) => b.name === basemapName);
74
+ if (availableBasemap) {
75
+ applyOpacityToLayers(1, availableBasemap.layersList);
76
+ this.context.stateManager.state.activeBasemaps = [availableBasemap];
77
+ }
78
+ else {
79
+ console.warn(`Basemap '${basemapName}' not found in configuration`);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ manageBasemapSelectorAttribute() {
85
+ const basemapselector = this.getAttribute('basemapselector');
86
+ if (basemapselector != null) {
87
+ if (!customElements.get('girafe-menu-button')) {
88
+ customElements.define('girafe-menu-button', MenuButtonComponent);
89
+ }
90
+ if (!customElements.get('girafe-basemap')) {
91
+ customElements.define('girafe-basemap', BasemapComponent);
92
+ }
93
+ this.shadow.innerHTML += '<girafe-basemap></girafe-basemap>';
94
+ }
95
+ }
96
+ async initialize() {
97
+ await this.context.initialize();
98
+ // Register Coordinate Reference Systems (CRS) definitions in PROJ4
99
+ for (const crs of this.context.configManager.Config.crs) {
100
+ proj4.defs(crs.code, crs.definition);
101
+ }
102
+ register(proj4);
103
+ // Tell the application it is initialized (no auth at the moment for the api)
104
+ this.context.stateManager.state.application.isAuthInitialized = true;
105
+ // Automatically toggle dark/light mode when changed in the system
106
+ globalThis.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {
107
+ const state = this.context.stateManager.state;
108
+ if (e.matches) {
109
+ state.interface.darkFrontendMode = true;
110
+ }
111
+ else {
112
+ state.interface.darkFrontendMode = false;
113
+ }
114
+ });
115
+ }
116
+ injectConfigMetaTags() {
117
+ const location = new URL(import.meta.url);
118
+ if (import.meta.env.DEV) {
119
+ location.pathname = location.pathname.replace('/src/api', '');
120
+ }
121
+ const origin = `${location.origin}${location.pathname.substring(0, location.pathname.lastIndexOf('/'))}`;
122
+ const baseConfigUrl = `${origin}/config.json`;
123
+ const apiConfigUrl = `${origin}/config.api.json`;
124
+ if (!document.querySelector('meta[name="configs"]')) {
125
+ const metaTag = document.createElement('meta');
126
+ metaTag.name = 'configs';
127
+ metaTag.content = 'main,api';
128
+ document.head.appendChild(metaTag);
129
+ const linkMain = document.createElement('link');
130
+ linkMain.rel = 'config-main-url';
131
+ linkMain.href = baseConfigUrl;
132
+ document.head.appendChild(linkMain);
133
+ const linkApi = document.createElement('link');
134
+ linkApi.rel = 'config-api-url';
135
+ linkApi.href = apiConfigUrl;
136
+ document.head.appendChild(linkApi);
137
+ }
138
+ }
139
+ }
@@ -0,0 +1,10 @@
1
+ import GirafeSingleton from '../base/GirafeSingleton';
2
+ import ISessionManager from '../tools/share/isessionmanager';
3
+ declare class ApiSessionManager extends GirafeSingleton implements ISessionManager {
4
+ initializeSingleton(): void;
5
+ beginSession(): void;
6
+ saveStateToSession(): void;
7
+ hasState(): boolean;
8
+ setStateFromSession(): boolean;
9
+ }
10
+ export default ApiSessionManager;
@@ -0,0 +1,21 @@
1
+ import GirafeSingleton from '../base/GirafeSingleton';
2
+ class ApiSessionManager extends GirafeSingleton {
3
+ initializeSingleton() {
4
+ /* For the API: Do Nothing */
5
+ }
6
+ beginSession() {
7
+ /* For the API: Do Nothing */
8
+ }
9
+ saveStateToSession() {
10
+ /* For the API: Do Nothing */
11
+ }
12
+ hasState() {
13
+ /* For the API: State is never stored */
14
+ return false;
15
+ }
16
+ setStateFromSession() {
17
+ /* For the API: State is never restored */
18
+ return false;
19
+ }
20
+ }
21
+ export default ApiSessionManager;
package/api/main.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export { default as GirafeApiContext } from './apicontext';
2
+ export { default as GeoGirafeApi } from './apigeogirafeapp';
3
+ export { default as ApiSessionManager } from './apisessionmanager';
package/api/main.js ADDED
@@ -0,0 +1,3 @@
1
+ export { default as GirafeApiContext } from './apicontext';
2
+ export { default as GeoGirafeApi } from './apigeogirafeapp';
3
+ export { default as ApiSessionManager } from './apisessionmanager';
@@ -200,3 +200,70 @@ export async function inlineTemplate(filename) {
200
200
  map: sourcemap.toString()
201
201
  };
202
202
  }
203
+
204
+ export function extractDefaultExportTypeName(code) {
205
+ const regex = /(?:^|\n)\s*export\s+default\s+(interface|type|enum)\s+(\w+)/;
206
+ const match = code.match(regex);
207
+ if (match) {
208
+ return match[2];
209
+ }
210
+ return null;
211
+ }
212
+
213
+ export function extractDefaultExportValueName(code) {
214
+ const regex = /(?:^|\n)\s*export\s+default\s+(?:async\s+)?(?:abstract\s+)?(class|function|const)\s+(\w+)/;
215
+ const match = code.match(regex);
216
+ if (match) {
217
+ return match[2];
218
+ }
219
+ return null;
220
+ }
221
+
222
+ export function extractDefaultGlobalExportName(code) {
223
+ let regex = /(?:^|\n)\s*export\s+default\s+(?!async|abstract|class|function|const|interface|type|enum\b)(\w+)/;
224
+ let match = code.match(regex);
225
+ if (match) {
226
+ const name = match[1];
227
+ regex = new RegExp(`\\b(class|function|const|interface|type|enum)\\s+${name}\\b`);
228
+ match = code.match(regex);
229
+ if (!match) {
230
+ throw new Error(`Cannot export : Unable to identify the object type of ${name}`);
231
+ }
232
+
233
+ const objectType = match[0].split(' ')[0].trim();
234
+ return {
235
+ objectType: objectType,
236
+ objectName: name
237
+ };
238
+ }
239
+
240
+ // No default export found
241
+ return null;
242
+ }
243
+
244
+ export function extractNotDefaultExportTypeNames(code) {
245
+ const regex = /(?:^|\n)\s*export\s+(?!default\b)(interface|type|enum)\s+(\w+)/g;
246
+ const exportNames = [];
247
+ const matches = code.matchAll(regex);
248
+ for (const match of matches) {
249
+ exportNames.push(match[2]);
250
+ }
251
+ return exportNames;
252
+ }
253
+
254
+ export function extractNotDefaultExportValueNames(code) {
255
+ const exportNames = [];
256
+
257
+ let regex = /(?:^|\n)\s*export\s+(?!default\b)(?:async\s+)?(?:abstract\s+)?(class|function|const)\s+(\w+)/g;
258
+ let matches = code.matchAll(regex);
259
+ for (const match of matches) {
260
+ exportNames.push(match[2]);
261
+ }
262
+
263
+ regex = /(?:^|\n)\s*export\s+(?!default\b)(?!abstract|async|class|function|const|interface|type|enum\b)(\w+)/g;
264
+ matches = code.matchAll(regex);
265
+ for (const match of matches) {
266
+ exportNames.push(match[1]);
267
+ }
268
+ return exportNames;
269
+ }
@@ -35,7 +35,7 @@ export { default as ScaleComponent } from './scale/component';
35
35
  export { default as SearchComponent } from './search/component';
36
36
  export { default as MobileSearchComponent } from './search-mobile/component';
37
37
  export { default as SelectionGridComponent } from './selectiongrid/component';
38
- export { default as SelectionPanelMobile } from './selectionpanel-mobile/component';
38
+ export { default as SelectionPanelMobile, getLinkFriendlyString } from './selectionpanel-mobile/component';
39
39
  export { default as SelectionWindowComponent } from './selectionwindow/component';
40
40
  export { default as ShareComponent } from './share/component';
41
41
  export { default as SwipeUpPanelMobile } from './swipe-up-panel-mobile/component';
@@ -35,7 +35,7 @@ export { default as ScaleComponent } from './scale/component';
35
35
  export { default as SearchComponent } from './search/component';
36
36
  export { default as MobileSearchComponent } from './search-mobile/component';
37
37
  export { default as SelectionGridComponent } from './selectiongrid/component';
38
- export { default as SelectionPanelMobile } from './selectionpanel-mobile/component';
38
+ export { default as SelectionPanelMobile, getLinkFriendlyString } from './selectionpanel-mobile/component';
39
39
  export { default as SelectionWindowComponent } from './selectionwindow/component';
40
40
  export { default as ShareComponent } from './share/component';
41
41
  export { default as SwipeUpPanelMobile } from './swipe-up-panel-mobile/component';
@@ -1,7 +1,7 @@
1
1
  import GirafeHTMLElement from '../../base/GirafeHTMLElement';
2
2
  import LayerWms from '../../models/layers/layerwms';
3
3
  import { LayerAttribute } from '../../models/serverwfs';
4
- import { WfsFilter, WfsOperator } from '../../tools/wfs/wfsfilter';
4
+ import WfsFilter, { WfsOperator } from '../../tools/wfs/wfsfilter';
5
5
  import IGirafeContext from '../../tools/context/icontext';
6
6
  declare class QueryBuilderComponent extends GirafeHTMLElement {
7
7
  template: () => import("uhtml").Hole;
@@ -1,7 +1,7 @@
1
1
  import { htmlFor as uHtmlFor } from 'uhtml/keyed';
2
2
  import { html as uHtml } from 'uhtml';
3
3
  import GirafeHTMLElement from '../../base/GirafeHTMLElement';
4
- import { mapAttributeTypeToFilterOperators, WfsFilter } from '../../tools/wfs/wfsfilter';
4
+ import WfsFilter, { mapAttributeTypeToFilterOperators } from '../../tools/wfs/wfsfilter';
5
5
  import { isString, isNumber, isDate } from '../../models/xmlTypes';
6
6
  class QueryBuilderComponent extends GirafeHTMLElement {
7
7
  template = () => {
package/main.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  /// <reference path="./base/main.d.ts" />
3
3
  /// <reference path="./models/main.d.ts" />
4
4
  /// <reference path="./tools/main.d.ts" />
5
+ /// <reference path="./api/main.d.ts" />
5
6
  /// <reference path="./decs.d.ts" />
6
7
 
7
8
  export {};
package/models/main.d.ts CHANGED
@@ -3,8 +3,13 @@ export { default as BasemapEmpty } from './basemaps/basemapempty';
3
3
  export { default as BasemapOsm } from './basemaps/basemaposm';
4
4
  export { default as BasemapSwisstopoVectorTiles } from './basemaps/basemapswisstopovectortiles';
5
5
  export { default as CustomTheme } from './customtheme';
6
+ export type { GMFMetadata, GMFChildLayer, GMFTreeItem, GMFTheme, GMFGroup, GMFBackgroundLayer, GMFServerOgc, GMFServerOgcAttributes, GMFServerOgcObjectAttributes, GMFServerOgcColumnAttributes } from './gmf';
6
7
  export { default as BaseLayer } from './layers/baselayer';
8
+ export type { GroupLayerOptions } from './layers/grouplayer';
7
9
  export { default as GroupLayer } from './layers/grouplayer';
10
+ export type { default as ILayerWithFilter } from './layers/ilayerwithfilter';
11
+ export type { default as ILayerWithLegend } from './layers/ilayerwithlegend';
12
+ export type { default as ILayerWithTime } from './layers/ilayerwithtime';
8
13
  export { default as Layer } from './layers/layer';
9
14
  export { default as LayerCog } from './layers/layercog';
10
15
  export { default as LayerConsts } from './layers/layerconsts';
@@ -12,16 +17,30 @@ export { default as LayerDrawing } from './layers/layerdrawing';
12
17
  export { default as LayerLocalFile } from './layers/layerlocalfile';
13
18
  export { default as LayerOsm } from './layers/layerosm';
14
19
  export { default as LayerVectorTiles } from './layers/layervectortiles';
20
+ export type { LayerWmsOptions } from './layers/layerwms';
15
21
  export { default as LayerWms } from './layers/layerwms';
16
22
  export { default as LayerWmsExternal } from './layers/layerwmsexternal';
23
+ export type { LayerWmtsOptions } from './layers/layerwmts';
17
24
  export { default as LayerWmts } from './layers/layerwmts';
18
25
  export { default as LayerWmtsExternal } from './layers/layerwmtsexternal';
19
26
  export { default as LayerXYZ } from './layers/layerxyz';
27
+ export type { SnappableLayer } from './layers/snappablelayer';
28
+ export { isSnappableLayer } from './layers/snappablelayer';
29
+ export type { ThemeLayerOptions } from './layers/themelayer';
20
30
  export { default as ThemeLayer } from './layers/themelayer';
21
31
  export { default as ThemeLayerExternal } from './layers/themelayerexternal';
32
+ export type { TimeAwareLayer } from './layers/timeawarelayer';
33
+ export { isTimeAwareLayer } from './layers/timeawarelayer';
34
+ export type { GeometryResult, GeometryCollectionResult, AllSearchResults } from './searchresult';
22
35
  export { default as SearchResult } from './searchresult';
23
36
  export { default as SelectionParam } from './selectionparam';
24
37
  export { default as ServerOgc } from './serverogc';
25
- export { default as ServerOgcApi } from './serverogcapi';
26
- export { default as ServerOgcApiFeatures } from './serverogcapifeatures';
38
+ export type { HttpMethod, OgcApiLinksResponse } from './serverogcapi';
39
+ export { default as ServerOgcApi, OgcApiDefaultEncoding } from './serverogcapi';
40
+ export type { oapifPropertyTypes, OapifSchemaResponse, OapifPropertySchema, OapifCollection, OapifLayer } from './serverogcapifeatures';
41
+ export { default as ServerOgcApiFeatures, oapifNumericTypes, oapifTextTypes, oapifTemporalTypes, oapifPropertyTypesList } from './serverogcapifeatures';
42
+ export type { LayerAttribute } from './serverwfs';
43
+ export { default as ServerWfs } from './serverwfs';
27
44
  export { default as Theme } from './theme';
45
+ export type { XmlTypes } from './xmlTypes';
46
+ export { xmlNumberTypesStrList, xmlStringTypesStrList, xmlDatetimeTypesStrList, xmlTypesStrList, isStringNumeric, isString, isNumber, isDate } from './xmlTypes';
package/models/main.js CHANGED
@@ -17,11 +17,15 @@ export { default as LayerWmsExternal } from './layers/layerwmsexternal';
17
17
  export { default as LayerWmts } from './layers/layerwmts';
18
18
  export { default as LayerWmtsExternal } from './layers/layerwmtsexternal';
19
19
  export { default as LayerXYZ } from './layers/layerxyz';
20
+ export { isSnappableLayer } from './layers/snappablelayer';
20
21
  export { default as ThemeLayer } from './layers/themelayer';
21
22
  export { default as ThemeLayerExternal } from './layers/themelayerexternal';
23
+ export { isTimeAwareLayer } from './layers/timeawarelayer';
22
24
  export { default as SearchResult } from './searchresult';
23
25
  export { default as SelectionParam } from './selectionparam';
24
26
  export { default as ServerOgc } from './serverogc';
25
- export { default as ServerOgcApi } from './serverogcapi';
26
- export { default as ServerOgcApiFeatures } from './serverogcapifeatures';
27
+ export { default as ServerOgcApi, OgcApiDefaultEncoding } from './serverogcapi';
28
+ export { default as ServerOgcApiFeatures, oapifNumericTypes, oapifTextTypes, oapifTemporalTypes, oapifPropertyTypesList } from './serverogcapifeatures';
29
+ export { default as ServerWfs } from './serverwfs';
27
30
  export { default as Theme } from './theme';
31
+ export { xmlNumberTypesStrList, xmlStringTypesStrList, xmlDatetimeTypesStrList, xmlTypesStrList, isStringNumeric, isString, isNumber, isDate } from './xmlTypes';
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "GeoGirafe PSC",
6
6
  "url": "https://doc.geomapfish.dev"
7
7
  },
8
- "version": "1.0.2178444470",
8
+ "version": "1.0.2183159772",
9
9
  "type": "module",
10
10
  "engines": {
11
11
  "node": ">=20.19.0"
@@ -1 +1 @@
1
- {"version":"1.0.2178444470", "build":"2178444470", "date":"25/11/2025"}
1
+ {"version":"1.0.2183159772", "build":"2183159772", "date":"27/11/2025"}
@@ -1,9 +1,10 @@
1
+ import GeoGirafeAppComponent from './geogirafe-component';
1
2
  export default class GeoGirafeApp {
2
3
  private readonly readyPromise;
3
4
  private resolveReady;
4
- private mainComponent;
5
+ protected mainComponent: GeoGirafeAppComponent;
5
6
  private readonly isIframe;
6
- protected get context(): import("../context/icontext").default;
7
+ protected get context(): import("../main").IGirafeContext;
7
8
  constructor(isIframe?: boolean);
8
9
  isReady(): Promise<void>;
9
10
  protected initialize(): Promise<void>;
@@ -0,0 +1,17 @@
1
+ <script type="module">
2
+ try {
3
+ const url = new URL(window.location.href);
4
+ const params = url.searchParams;
5
+
6
+ if (params.has('error')) {
7
+ window.parent.postMessage(
8
+ { type: 'OAUTH_ERROR', error: `${params.get('error')}: ${params.get('error_description')}` },
9
+ '*'
10
+ );
11
+ } else {
12
+ window.parent.postMessage({ type: 'OAUTH_CALLBACK', data: Object.fromEntries(params.entries()) }, '*');
13
+ }
14
+ } catch (error) {
15
+ window.parent.postMessage({ type: 'OAUTH_ERROR', error: error.message }, '*');
16
+ }
17
+ </script>
package/tools/main.d.ts CHANGED
@@ -11,61 +11,106 @@ export { default as PluginManager } from './auth/pluginmanager';
11
11
  export { default as ConfigManager } from './configuration/configmanager';
12
12
  export { default as GirafeConfig } from './configuration/girafeconfig';
13
13
  export { default as GirafeContext } from './context/context';
14
+ export type { default as IGirafeContext } from './context/icontext';
14
15
  export { default as ErrorManager } from './error/errormanager';
15
16
  export { default as CsvManager } from './export/csvmanager';
17
+ export { download } from './export/download';
18
+ export type { GridDataById, GridData, FeatureToGridDataOptions } from './featuretogriddatabyid';
16
19
  export { default as FeatureToGridDataById } from './featuretogriddatabyid';
17
20
  export { default as GeoConsts } from './geoconsts';
21
+ export { formatCoordinates, parseCoordinates, decimalToDMS, printCoordinate } from './geometrytools';
22
+ export type { TranslationsDict } from './i18n/i18nmanager';
18
23
  export { default as I18nManager } from './i18n/i18nmanager';
19
24
  export { default as LayerManager } from './layers/layermanager';
20
25
  export { default as SimpleMaskLayer } from './layers/simplemasklayer';
21
26
  export { default as SimpleMaskManager } from './layers/simplemaskmanager';
22
27
  export { default as SnapManager } from './layers/snapmanager';
28
+ export type { WMSLegendURLOptions } from './legendhelper';
23
29
  export { default as LegendHelper } from './legendhelper';
24
30
  export { default as LocalFileManager } from './localfile/localfilemanager';
25
31
  export { default as LogManager } from './logging/logmanager';
26
32
  export { default as OfflineManager } from './offline/offlinemanager';
33
+ export { DEMO_LAYERS } from './ogcapi/demolayers';
34
+ export type { OgcApiClientOptions } from './ogcapi/ogcapiclient';
35
+ export { default as OgcApiClient } from './ogcapi/ogcapiclient';
36
+ export type { ConformanceLevel } from './ogcapi/ogcapiconformance';
37
+ export { getConformanceClass, serverConformsTo } from './ogcapi/ogcapiconformance';
27
38
  export { default as OgcApiFeaturesClient } from './ogcapi/ogcapifeaturesclient';
28
39
  export { default as OgcApiFeaturesClientGeorama } from './ogcapi/ogcapifeaturesclientgeorama';
29
40
  export { default as OgcApiFeaturesClientGmf } from './ogcapi/ogcapifeaturesclientgmf';
30
41
  export { default as OgcApiFeaturesManager } from './ogcapi/ogcapifeaturesmanager';
31
42
  export { default as OgcApiFeaturesSchema } from './ogcapi/ogcapifeaturesschema';
32
- export { default as OrderingManager } from './ordering/orderingmanager';
43
+ export { default as OrderingManager, LayerTreeStartOrder } from './ordering/orderingmanager';
44
+ export type { GeoTransform } from './raster/rasterutils';
45
+ export { extractGeoTransform, mapToPixel, pixelToMap, getImage, getPixelValue } from './raster/rasterutils';
33
46
  export { default as ResizeWindow } from './resizewindow';
47
+ export type { default as ISessionManager } from './share/isessionmanager';
34
48
  export { default as ActiveBasemapsSerializer } from './share/serializers/activebasemapsserializer';
35
49
  export { default as CustomLayersSerializer } from './share/serializers/customlayersserializer';
36
50
  export { default as GlobeSerializer } from './share/serializers/globeserializer';
37
51
  export { default as InterfaceSerializer } from './share/serializers/interfaceserializer';
38
52
  export { default as LayersConfigSerializer } from './share/serializers/layerconfigserializer';
39
53
  export { default as MapPositionSerializer } from './share/serializers/mappositionserializer';
54
+ export type { SharedInitialSelection } from './share/serializers/selectionserializer';
40
55
  export { default as SelectionSerializer } from './share/serializers/selectionserializer';
56
+ export type { SharedFilter, SharedLayer, SharedInternalTheme, SharedInternalGroup, SharedInternalLayer, SharedExternalTheme, SharedExternalLayer } from './share/serializers/sharedtypes';
41
57
  export { default as SessionManager } from './share/sessionmanager';
42
58
  export { default as ShareManager } from './share/sharemanager';
43
59
  export { default as StateSerializer } from './share/stateserializer';
60
+ export type { default as ISnappingConfig } from './snap/isnapconfig';
61
+ export type { TProxy } from './state/brain/brain';
62
+ export { default as Brain } from './state/brain/brain';
63
+ export type { IBrainSerializable } from './state/brain/decorators';
64
+ export { ignoreCloneSymbol, serializeSymbol, BrainIgnoreClone, BrainSerialize, isBrainSerializable } from './state/brain/decorators';
65
+ export { default as areEqual } from './state/brain/equality';
66
+ export type { Constructor, IBrainSerializer } from './state/brain/serialize';
67
+ export { default as BrainSerializer } from './state/brain/serialize';
68
+ export { deepFreeze, deepCloneCustomizer, deepClone, isPrimitive, isFunction, isVirtualProperty, isConstructor, isIgnoredProperty, isFlagedIgnoreClone, isTypeSupported, isIterator } from './state/brain/tools';
44
69
  export { default as ComponentManager } from './state/componentManager';
70
+ export type { CameraConfig } from './state/globe';
45
71
  export { default as GlobeState } from './state/globe';
46
72
  export { default as GraphicalInterface } from './state/graphicalInterface';
47
73
  export { default as LayersConfig } from './state/layersConfig';
48
74
  export { default as MapManager } from './state/mapManager';
49
75
  export { default as MapPosition } from './state/mapposition';
76
+ export type { InitialSelectionQuery } from './state/objectselection';
50
77
  export { default as ObjectSelection } from './state/objectselection';
78
+ export type { ThemesConfig, InfoBoxContent, Lidar, InfoWindow, ExtendedState } from './state/state';
51
79
  export { default as State } from './state/state';
52
80
  export { default as StateToggleManager } from './state/stateToggleManager';
81
+ export type { Callback } from './state/statemanager';
53
82
  export { default as StateManager } from './state/statemanager';
83
+ export type { SwipeupPanelMode } from './state/swipeuppanelmode';
84
+ export type { GgUserInteractionListener } from './state/userInteractionManager';
54
85
  export { default as UserInteractionManager } from './state/userInteractionManager';
86
+ export type { GgUserInteractionEvent } from './state/userinteractionevent';
87
+ export { gGEventDependencies, isPrimaryPointerAction, isAlternateMouseClick, isMouseWheelClick } from './state/userinteractionevent';
55
88
  export { default as CustomThemesManager } from './themes/customthemesmanager';
89
+ export { DEFAULT_OPACITY, OPACITY_FOR_DEFAULT_BASEMAP } from './themes/themes-config';
56
90
  export { default as ThemesHelper } from './themes/themeshelper';
57
91
  export { default as ThemesManager } from './themes/themesmanager';
58
92
  export { default as UserLayerManager } from './themes/userlayermanager';
59
- export { default as LayerTimeFormatter } from './time/layertimeformatter';
93
+ export type { default as ITimeOptions, TimeResolution, TimeMode, TimeWidget } from './time/itimeoptions';
94
+ export { default as LayerTimeFormatter, TIME_RANGE_SEPARATOR } from './time/layertimeformatter';
95
+ export { SEARCH_VISIBLE_PARAMETER, BASEMAP_VISIBLE_PARAMETER } from './url/permalinkmanager-constants';
60
96
  export { default as PermalinkManager } from './url/permalinkmanager';
61
97
  export { default as UrlManager } from './url/urlmanager';
62
98
  export { default as UserDataManager } from './userdata/userdatamanager';
63
99
  export { default as ColumnAliasHelper } from './utils/aliases';
100
+ export { debounce } from './utils/debounce';
64
101
  export { default as GirafeColorPicker } from './utils/girafecolorpicker';
102
+ export { unByKeyAll, getOlayerByName, removeUnwantedOlParams, polygonFromCircle, getDistance, getArea, isCoordinateInDegrees, getSelectionBoxFromMapClick, reprojectGeometry } from './utils/olutils';
103
+ export { getPropertyByPath, setPropertyByPath, createObjectFromPath, deletePropertyByPath, mergeObjects } from './utils/pathUtils';
104
+ export { generateQrCode } from './utils/qrcode';
65
105
  export { default as ServiceWorkerHelper } from './utils/swhelper';
66
- export { default as WfsClientMapServer } from './wfs/wfsclient';
106
+ export { systemIsInDarkMode, isSafari, isFirefox, getValidIndex, minMax, hexToRgbaArray, rgbStrToRgbaArray, colorToRgbaArray, isValidEmail, applyOpacityToLayers } from './utils/utils';
107
+ export { default as VendorSpecificOgcServerManager } from './vendorspecificogcservermanager';
108
+ export type { WfsClientOptions, WfsClientOptionalOptions, QueryableLayerWms, GetFeatureOptionalOptions } from './wfs/wfsclient';
109
+ export { default as WfsClient, WfsClientMapServer, WfsClientQgis, WfsClientGeorama, WfsClientDefault, WfsClientGeoServer } from './wfs/wfsclient';
110
+ export type { WfsOperator } from './wfs/wfsfilter';
111
+ export { default as WfsFilter, wfsOperatorsStrList, isWfsOperator, mapAttributeTypeToFilterOperators } from './wfs/wfsfilter';
67
112
  export { default as WfsManager } from './wfs/wfsmanager';
68
113
  export { default as WfsParser } from './wfs/wfsparser';
69
- export { default as WmsClient } from './wms/wmsclient';
114
+ export { default as WmsClient, WmsClientQgis, WmsClientMapServer, WmsClientDefault, WmsClientGeoServer } from './wms/wmsclient';
70
115
  export { default as WmsLegendHelper } from './wms/wmslegendhelper';
71
116
  export { default as WmsManager } from './wms/wmsmanager';
package/tools/main.js CHANGED
@@ -13,8 +13,10 @@ export { default as GirafeConfig } from './configuration/girafeconfig';
13
13
  export { default as GirafeContext } from './context/context';
14
14
  export { default as ErrorManager } from './error/errormanager';
15
15
  export { default as CsvManager } from './export/csvmanager';
16
+ export { download } from './export/download';
16
17
  export { default as FeatureToGridDataById } from './featuretogriddatabyid';
17
18
  export { default as GeoConsts } from './geoconsts';
19
+ export { formatCoordinates, parseCoordinates, decimalToDMS, printCoordinate } from './geometrytools';
18
20
  export { default as I18nManager } from './i18n/i18nmanager';
19
21
  export { default as LayerManager } from './layers/layermanager';
20
22
  export { default as SimpleMaskLayer } from './layers/simplemasklayer';
@@ -24,12 +26,16 @@ export { default as LegendHelper } from './legendhelper';
24
26
  export { default as LocalFileManager } from './localfile/localfilemanager';
25
27
  export { default as LogManager } from './logging/logmanager';
26
28
  export { default as OfflineManager } from './offline/offlinemanager';
29
+ export { DEMO_LAYERS } from './ogcapi/demolayers';
30
+ export { default as OgcApiClient } from './ogcapi/ogcapiclient';
31
+ export { getConformanceClass, serverConformsTo } from './ogcapi/ogcapiconformance';
27
32
  export { default as OgcApiFeaturesClient } from './ogcapi/ogcapifeaturesclient';
28
33
  export { default as OgcApiFeaturesClientGeorama } from './ogcapi/ogcapifeaturesclientgeorama';
29
34
  export { default as OgcApiFeaturesClientGmf } from './ogcapi/ogcapifeaturesclientgmf';
30
35
  export { default as OgcApiFeaturesManager } from './ogcapi/ogcapifeaturesmanager';
31
36
  export { default as OgcApiFeaturesSchema } from './ogcapi/ogcapifeaturesschema';
32
- export { default as OrderingManager } from './ordering/orderingmanager';
37
+ export { default as OrderingManager, LayerTreeStartOrder } from './ordering/orderingmanager';
38
+ export { extractGeoTransform, mapToPixel, pixelToMap, getImage, getPixelValue } from './raster/rasterutils';
33
39
  export { default as ResizeWindow } from './resizewindow';
34
40
  export { default as ActiveBasemapsSerializer } from './share/serializers/activebasemapsserializer';
35
41
  export { default as CustomLayersSerializer } from './share/serializers/customlayersserializer';
@@ -41,6 +47,11 @@ export { default as SelectionSerializer } from './share/serializers/selectionser
41
47
  export { default as SessionManager } from './share/sessionmanager';
42
48
  export { default as ShareManager } from './share/sharemanager';
43
49
  export { default as StateSerializer } from './share/stateserializer';
50
+ export { default as Brain } from './state/brain/brain';
51
+ export { ignoreCloneSymbol, serializeSymbol, BrainIgnoreClone, BrainSerialize, isBrainSerializable } from './state/brain/decorators';
52
+ export { default as areEqual } from './state/brain/equality';
53
+ export { default as BrainSerializer } from './state/brain/serialize';
54
+ export { deepFreeze, deepCloneCustomizer, deepClone, isPrimitive, isFunction, isVirtualProperty, isConstructor, isIgnoredProperty, isFlagedIgnoreClone, isTypeSupported, isIterator } from './state/brain/tools';
44
55
  export { default as ComponentManager } from './state/componentManager';
45
56
  export { default as GlobeState } from './state/globe';
46
57
  export { default as GraphicalInterface } from './state/graphicalInterface';
@@ -52,20 +63,30 @@ export { default as State } from './state/state';
52
63
  export { default as StateToggleManager } from './state/stateToggleManager';
53
64
  export { default as StateManager } from './state/statemanager';
54
65
  export { default as UserInteractionManager } from './state/userInteractionManager';
66
+ export { gGEventDependencies, isPrimaryPointerAction, isAlternateMouseClick, isMouseWheelClick } from './state/userinteractionevent';
55
67
  export { default as CustomThemesManager } from './themes/customthemesmanager';
68
+ export { DEFAULT_OPACITY, OPACITY_FOR_DEFAULT_BASEMAP } from './themes/themes-config';
56
69
  export { default as ThemesHelper } from './themes/themeshelper';
57
70
  export { default as ThemesManager } from './themes/themesmanager';
58
71
  export { default as UserLayerManager } from './themes/userlayermanager';
59
- export { default as LayerTimeFormatter } from './time/layertimeformatter';
72
+ export { default as LayerTimeFormatter, TIME_RANGE_SEPARATOR } from './time/layertimeformatter';
73
+ export { SEARCH_VISIBLE_PARAMETER, BASEMAP_VISIBLE_PARAMETER } from './url/permalinkmanager-constants';
60
74
  export { default as PermalinkManager } from './url/permalinkmanager';
61
75
  export { default as UrlManager } from './url/urlmanager';
62
76
  export { default as UserDataManager } from './userdata/userdatamanager';
63
77
  export { default as ColumnAliasHelper } from './utils/aliases';
78
+ export { debounce } from './utils/debounce';
64
79
  export { default as GirafeColorPicker } from './utils/girafecolorpicker';
80
+ export { unByKeyAll, getOlayerByName, removeUnwantedOlParams, polygonFromCircle, getDistance, getArea, isCoordinateInDegrees, getSelectionBoxFromMapClick, reprojectGeometry } from './utils/olutils';
81
+ export { getPropertyByPath, setPropertyByPath, createObjectFromPath, deletePropertyByPath, mergeObjects } from './utils/pathUtils';
82
+ export { generateQrCode } from './utils/qrcode';
65
83
  export { default as ServiceWorkerHelper } from './utils/swhelper';
66
- export { default as WfsClientMapServer } from './wfs/wfsclient';
84
+ export { systemIsInDarkMode, isSafari, isFirefox, getValidIndex, minMax, hexToRgbaArray, rgbStrToRgbaArray, colorToRgbaArray, isValidEmail, applyOpacityToLayers } from './utils/utils';
85
+ export { default as VendorSpecificOgcServerManager } from './vendorspecificogcservermanager';
86
+ export { default as WfsClient, WfsClientMapServer, WfsClientQgis, WfsClientGeorama, WfsClientDefault, WfsClientGeoServer } from './wfs/wfsclient';
87
+ export { default as WfsFilter, wfsOperatorsStrList, isWfsOperator, mapAttributeTypeToFilterOperators } from './wfs/wfsfilter';
67
88
  export { default as WfsManager } from './wfs/wfsmanager';
68
89
  export { default as WfsParser } from './wfs/wfsparser';
69
- export { default as WmsClient } from './wms/wmsclient';
90
+ export { default as WmsClient, WmsClientQgis, WmsClientMapServer, WmsClientDefault, WmsClientGeoServer } from './wms/wmsclient';
70
91
  export { default as WmsLegendHelper } from './wms/wmslegendhelper';
71
92
  export { default as WmsManager } from './wms/wmsmanager';
@@ -4,7 +4,7 @@ export declare const wfsOperatorsStrList: readonly ["eq", "neq", "gt", "gte", "l
4
4
  export type WfsOperator = (typeof wfsOperatorsStrList)[number];
5
5
  export declare function isWfsOperator(value: string): value is WfsOperator;
6
6
  export declare const mapAttributeTypeToFilterOperators: Record<'string' | 'number' | 'date', WfsOperator[]>;
7
- export declare class WfsFilter<WfsXmlTypes extends XmlTypes = XmlTypes> {
7
+ declare class WfsFilter<WfsXmlTypes extends XmlTypes = XmlTypes> {
8
8
  property: string;
9
9
  propertyType?: WfsXmlTypes;
10
10
  operator: WfsOperator;
@@ -25,7 +25,7 @@ export const mapAttributeTypeToFilterOperators = {
25
25
  };
26
26
  const BeginningOfTime = '0001-01-01';
27
27
  const EndOfTime = '9999-12-31';
28
- export class WfsFilter {
28
+ class WfsFilter {
29
29
  property;
30
30
  propertyType;
31
31
  operator;