@itwin/map-layers-formats 5.10.0-dev.1 → 5.10.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/lib/cjs/GoogleMaps/GoogleMapsImageryProvider.d.ts.map +1 -1
  2. package/lib/cjs/GoogleMaps/GoogleMapsImageryProvider.js +29 -18
  3. package/lib/cjs/GoogleMaps/GoogleMapsImageryProvider.js.map +1 -1
  4. package/lib/cjs/OgcApiFeatures/OgcApiFeaturesProvider.js +1 -1
  5. package/lib/cjs/OgcApiFeatures/OgcApiFeaturesProvider.js.map +1 -1
  6. package/lib/cjs/Tools/MapFeatureInfoDecorator.d.ts.map +1 -1
  7. package/lib/cjs/Tools/MapFeatureInfoDecorator.js +3 -1
  8. package/lib/cjs/Tools/MapFeatureInfoDecorator.js.map +1 -1
  9. package/lib/cjs/Tools/MapFeatureInfoTool.d.ts.map +1 -1
  10. package/lib/cjs/Tools/MapFeatureInfoTool.js +11 -5
  11. package/lib/cjs/Tools/MapFeatureInfoTool.js.map +1 -1
  12. package/lib/cjs/internal/GoogleMapsUtils.d.ts.map +1 -1
  13. package/lib/cjs/internal/GoogleMapsUtils.js +19 -14
  14. package/lib/cjs/internal/GoogleMapsUtils.js.map +1 -1
  15. package/lib/esm/GoogleMaps/GoogleMapsImageryProvider.d.ts.map +1 -1
  16. package/lib/esm/GoogleMaps/GoogleMapsImageryProvider.js +29 -18
  17. package/lib/esm/GoogleMaps/GoogleMapsImageryProvider.js.map +1 -1
  18. package/lib/esm/OgcApiFeatures/OgcApiFeaturesProvider.js +2 -2
  19. package/lib/esm/OgcApiFeatures/OgcApiFeaturesProvider.js.map +1 -1
  20. package/lib/esm/Tools/MapFeatureInfoDecorator.d.ts.map +1 -1
  21. package/lib/esm/Tools/MapFeatureInfoDecorator.js +3 -1
  22. package/lib/esm/Tools/MapFeatureInfoDecorator.js.map +1 -1
  23. package/lib/esm/Tools/MapFeatureInfoTool.d.ts.map +1 -1
  24. package/lib/esm/Tools/MapFeatureInfoTool.js +12 -6
  25. package/lib/esm/Tools/MapFeatureInfoTool.js.map +1 -1
  26. package/lib/esm/internal/GoogleMapsUtils.d.ts.map +1 -1
  27. package/lib/esm/internal/GoogleMapsUtils.js +19 -14
  28. package/lib/esm/internal/GoogleMapsUtils.js.map +1 -1
  29. package/package.json +13 -13
@@ -65,9 +65,14 @@ export const GoogleMapsUtils = {
65
65
  * @internal
66
66
  */
67
67
  getSessionOptionsFromMapLayer: (settings) => {
68
- const layerPropertyKeys = settings.properties ? Object.keys(settings.properties) : undefined;
69
- if (layerPropertyKeys === undefined ||
70
- !layerPropertyKeys.includes("mapType") ||
68
+ const properties = settings.properties;
69
+ if (properties === undefined) {
70
+ const msg = "Missing session options";
71
+ Logger.logError(loggerCategory, msg);
72
+ throw new BentleyError(BentleyStatus.ERROR, msg);
73
+ }
74
+ const layerPropertyKeys = Object.keys(properties);
75
+ if (!layerPropertyKeys.includes("mapType") ||
71
76
  !layerPropertyKeys.includes("language") ||
72
77
  !layerPropertyKeys.includes("region")) {
73
78
  const msg = "Missing session options";
@@ -75,21 +80,21 @@ export const GoogleMapsUtils = {
75
80
  throw new BentleyError(BentleyStatus.ERROR, msg);
76
81
  }
77
82
  const createSessionOptions = {
78
- mapType: settings.properties.mapType,
79
- region: settings.properties.region,
80
- language: settings.properties.language,
83
+ mapType: properties.mapType,
84
+ region: properties.region,
85
+ language: properties.language,
81
86
  };
82
- if (Array.isArray(settings.properties?.layerTypes) && settings.properties.layerTypes.length > 0) {
83
- createSessionOptions.layerTypes = settings.properties.layerTypes;
87
+ if (Array.isArray(properties.layerTypes) && properties.layerTypes.length > 0) {
88
+ createSessionOptions.layerTypes = properties.layerTypes;
84
89
  }
85
- if (settings.properties?.scale !== undefined) {
86
- createSessionOptions.scale = settings.properties.scale;
90
+ if (properties.scale !== undefined) {
91
+ createSessionOptions.scale = properties.scale;
87
92
  }
88
- if (settings.properties?.overlay !== undefined) {
89
- createSessionOptions.overlay = settings.properties.overlay;
93
+ if (properties.overlay !== undefined) {
94
+ createSessionOptions.overlay = properties.overlay;
90
95
  }
91
- if (settings.properties?.apiOptions !== undefined) {
92
- createSessionOptions.apiOptions = settings.properties.apiOptions;
96
+ if (properties.apiOptions !== undefined) {
97
+ createSessionOptions.apiOptions = properties.apiOptions;
93
98
  }
94
99
  return createSessionOptions;
95
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMapsUtils.js","sourceRoot":"","sources":["../../../src/internal/GoogleMapsUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { ImageMapLayerProps, ImageMapLayerSettings, MapLayerProviderProperties } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { GoogleMapsMapLayerFormat } from \"../GoogleMaps/GoogleMapsImageryFormat.js\";\r\nimport { GoogleMapsCreateSessionOptions, GoogleMapsLayerTypes, GoogleMapsMapTypes, GoogleMapsScaleFactors } from \"../map-layers-formats.js\";\r\nimport { BentleyError, BentleyStatus, Logger } from \"@itwin/core-bentley\";\r\n\r\nconst loggerCategory = \"MapLayersFormats.GoogleMaps\";\r\n\r\n/** @internal */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const GoogleMapsUtils = {\r\n\r\n /**\r\n * Register the google maps format if it is not already registered.\r\n * @internal\r\n */\r\n checkFormatRegistered: () => {\r\n if (!IModelApp.mapLayerFormatRegistry.isRegistered(GoogleMapsMapLayerFormat.formatId)) {\r\n throw new Error(`GoogleMaps format is not registered`);\r\n }\r\n },\r\n\r\n /**\r\n * Creates a Google Maps layer props.\r\n * @param name Name of the layer (Defaults to \"GoogleMaps\")\r\n * @param opts Options to create the session (Defaults to satellite map type, English language, US region, and roadmap layer type)\r\n * @internal\r\n*/\r\n createMapLayerProps: (name: string = \"GoogleMaps\", opts?: GoogleMapsCreateSessionOptions): ImageMapLayerProps => {\r\n GoogleMapsUtils.checkFormatRegistered();\r\n\r\n return {\r\n formatId: GoogleMapsMapLayerFormat.formatId,\r\n url: \"\",\r\n name,\r\n properties: GoogleMapsUtils.createPropertiesFromSessionOptions(opts ?? {mapType: \"satellite\", language: \"en-US\", region: \"US:\", layerTypes: [\"layerRoadmap\"]}),\r\n };\r\n },\r\n\r\n /**\r\n * Converts the session options to provider properties\r\n * @param opts Options to create the session\r\n * @internal\r\n */\r\n createPropertiesFromSessionOptions: (opts: GoogleMapsCreateSessionOptions): MapLayerProviderProperties => {\r\n const properties: MapLayerProviderProperties = {\r\n mapType: opts.mapType,\r\n language: opts.language,\r\n region: opts.region,\r\n }\r\n\r\n if (opts.layerTypes !== undefined) {\r\n properties.layerTypes = [...opts.layerTypes];\r\n }\r\n\r\n if (opts.scale !== undefined) {\r\n properties.scale = opts.scale;\r\n }\r\n\r\n if (opts.overlay !== undefined) {\r\n properties.overlay = opts.overlay;\r\n }\r\n\r\n if (opts.apiOptions !== undefined) {\r\n properties.apiOptions = [...opts.apiOptions];\r\n }\r\n\r\n return properties;\r\n },\r\n\r\n /**\r\n * Read the session options from the map layer settings.\r\n * @param settings Map layer settings\r\n * ```\r\n * @internal\r\n */\r\n getSessionOptionsFromMapLayer: (settings: ImageMapLayerSettings): GoogleMapsCreateSessionOptions => {\r\n const layerPropertyKeys = settings.properties ? Object.keys(settings.properties) : undefined;\r\n if (layerPropertyKeys === undefined ||\r\n !layerPropertyKeys.includes(\"mapType\") ||\r\n !layerPropertyKeys.includes(\"language\") ||\r\n !layerPropertyKeys.includes(\"region\")) {\r\n const msg = \"Missing session options\";\r\n Logger.logError(loggerCategory, msg);\r\n throw new BentleyError(BentleyStatus.ERROR, msg);\r\n }\r\n\r\n const createSessionOptions: GoogleMapsCreateSessionOptions = {\r\n mapType: settings.properties!.mapType as GoogleMapsMapTypes,\r\n region: settings.properties!.region as string,\r\n language: settings.properties!.language as string,\r\n }\r\n\r\n if (Array.isArray(settings.properties?.layerTypes) && settings.properties.layerTypes.length > 0) {\r\n createSessionOptions.layerTypes = settings.properties.layerTypes as GoogleMapsLayerTypes[];\r\n }\r\n\r\n if (settings.properties?.scale !== undefined) {\r\n createSessionOptions.scale = settings.properties.scale as GoogleMapsScaleFactors;\r\n }\r\n\r\n if (settings.properties?.overlay !== undefined) {\r\n createSessionOptions.overlay = settings.properties.overlay as boolean;\r\n }\r\n\r\n if (settings.properties?.apiOptions !== undefined) {\r\n createSessionOptions.apiOptions = settings.properties.apiOptions as string[];\r\n }\r\n return createSessionOptions;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"GoogleMapsUtils.js","sourceRoot":"","sources":["../../../src/internal/GoogleMapsUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { ImageMapLayerProps, ImageMapLayerSettings, MapLayerProviderProperties } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { GoogleMapsMapLayerFormat } from \"../GoogleMaps/GoogleMapsImageryFormat.js\";\r\nimport { GoogleMapsCreateSessionOptions, GoogleMapsLayerTypes, GoogleMapsMapTypes, GoogleMapsScaleFactors } from \"../map-layers-formats.js\";\r\nimport { BentleyError, BentleyStatus, Logger } from \"@itwin/core-bentley\";\r\n\r\nconst loggerCategory = \"MapLayersFormats.GoogleMaps\";\r\n\r\n/** @internal */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport const GoogleMapsUtils = {\r\n\r\n /**\r\n * Register the google maps format if it is not already registered.\r\n * @internal\r\n */\r\n checkFormatRegistered: () => {\r\n if (!IModelApp.mapLayerFormatRegistry.isRegistered(GoogleMapsMapLayerFormat.formatId)) {\r\n throw new Error(`GoogleMaps format is not registered`);\r\n }\r\n },\r\n\r\n /**\r\n * Creates a Google Maps layer props.\r\n * @param name Name of the layer (Defaults to \"GoogleMaps\")\r\n * @param opts Options to create the session (Defaults to satellite map type, English language, US region, and roadmap layer type)\r\n * @internal\r\n*/\r\n createMapLayerProps: (name: string = \"GoogleMaps\", opts?: GoogleMapsCreateSessionOptions): ImageMapLayerProps => {\r\n GoogleMapsUtils.checkFormatRegistered();\r\n\r\n return {\r\n formatId: GoogleMapsMapLayerFormat.formatId,\r\n url: \"\",\r\n name,\r\n properties: GoogleMapsUtils.createPropertiesFromSessionOptions(opts ?? {mapType: \"satellite\", language: \"en-US\", region: \"US:\", layerTypes: [\"layerRoadmap\"]}),\r\n };\r\n },\r\n\r\n /**\r\n * Converts the session options to provider properties\r\n * @param opts Options to create the session\r\n * @internal\r\n */\r\n createPropertiesFromSessionOptions: (opts: GoogleMapsCreateSessionOptions): MapLayerProviderProperties => {\r\n const properties: MapLayerProviderProperties = {\r\n mapType: opts.mapType,\r\n language: opts.language,\r\n region: opts.region,\r\n }\r\n\r\n if (opts.layerTypes !== undefined) {\r\n properties.layerTypes = [...opts.layerTypes];\r\n }\r\n\r\n if (opts.scale !== undefined) {\r\n properties.scale = opts.scale;\r\n }\r\n\r\n if (opts.overlay !== undefined) {\r\n properties.overlay = opts.overlay;\r\n }\r\n\r\n if (opts.apiOptions !== undefined) {\r\n properties.apiOptions = [...opts.apiOptions];\r\n }\r\n\r\n return properties;\r\n },\r\n\r\n /**\r\n * Read the session options from the map layer settings.\r\n * @param settings Map layer settings\r\n * ```\r\n * @internal\r\n */\r\n getSessionOptionsFromMapLayer: (settings: ImageMapLayerSettings): GoogleMapsCreateSessionOptions => {\r\n const properties = settings.properties;\r\n if (properties === undefined) {\r\n const msg = \"Missing session options\";\r\n Logger.logError(loggerCategory, msg);\r\n throw new BentleyError(BentleyStatus.ERROR, msg);\r\n }\r\n\r\n const layerPropertyKeys = Object.keys(properties);\r\n if (!layerPropertyKeys.includes(\"mapType\") ||\r\n !layerPropertyKeys.includes(\"language\") ||\r\n !layerPropertyKeys.includes(\"region\")) {\r\n const msg = \"Missing session options\";\r\n Logger.logError(loggerCategory, msg);\r\n throw new BentleyError(BentleyStatus.ERROR, msg);\r\n }\r\n\r\n const createSessionOptions: GoogleMapsCreateSessionOptions = {\r\n mapType: properties.mapType as GoogleMapsMapTypes,\r\n region: properties.region as string,\r\n language: properties.language as string,\r\n };\r\n\r\n if (Array.isArray(properties.layerTypes) && properties.layerTypes.length > 0) {\r\n createSessionOptions.layerTypes = properties.layerTypes as GoogleMapsLayerTypes[];\r\n }\r\n\r\n if (properties.scale !== undefined) {\r\n createSessionOptions.scale = properties.scale as GoogleMapsScaleFactors;\r\n }\r\n\r\n if (properties.overlay !== undefined) {\r\n createSessionOptions.overlay = properties.overlay as boolean;\r\n }\r\n\r\n if (properties.apiOptions !== undefined) {\r\n createSessionOptions.apiOptions = properties.apiOptions as string[];\r\n }\r\n return createSessionOptions;\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/map-layers-formats",
3
- "version": "5.10.0-dev.1",
3
+ "version": "5.10.0-dev.3",
4
4
  "description": "Enables additional map-layers formats in iTwin.js",
5
5
  "main": "lib/cjs/map-layers-formats.js",
6
6
  "module": "lib/esm/map-layers-formats.js",
@@ -52,20 +52,20 @@
52
52
  "source-map-support": "^0.5.6",
53
53
  "typescript": "~5.6.2",
54
54
  "fetch-mock": "~11.1.3",
55
- "@itwin/appui-abstract": "5.10.0-dev.1",
56
- "@itwin/build-tools": "5.10.0-dev.1",
57
- "@itwin/core-frontend": "5.10.0-dev.1",
58
- "@itwin/core-bentley": "5.10.0-dev.1",
59
- "internal-tools": "3.0.0-dev.69",
60
- "@itwin/core-common": "5.10.0-dev.1",
61
- "@itwin/core-geometry": "5.10.0-dev.1"
55
+ "@itwin/appui-abstract": "5.10.0-dev.3",
56
+ "@itwin/core-bentley": "5.10.0-dev.3",
57
+ "@itwin/core-frontend": "5.10.0-dev.3",
58
+ "@itwin/build-tools": "5.10.0-dev.3",
59
+ "@itwin/core-geometry": "5.10.0-dev.3",
60
+ "@itwin/core-common": "5.10.0-dev.3",
61
+ "internal-tools": "3.0.0-dev.69"
62
62
  },
63
63
  "peerDependencies": {
64
- "@itwin/appui-abstract": "5.10.0-dev.1",
65
- "@itwin/core-bentley": "5.10.0-dev.1",
66
- "@itwin/core-common": "5.10.0-dev.1",
67
- "@itwin/core-geometry": "5.10.0-dev.1",
68
- "@itwin/core-frontend": "5.10.0-dev.1"
64
+ "@itwin/appui-abstract": "5.10.0-dev.3",
65
+ "@itwin/core-bentley": "5.10.0-dev.3",
66
+ "@itwin/core-geometry": "5.10.0-dev.3",
67
+ "@itwin/core-frontend": "5.10.0-dev.3",
68
+ "@itwin/core-common": "5.10.0-dev.3"
69
69
  },
70
70
  "dependencies": {
71
71
  "google-protobuf": "~3.20.1",