@mapvx/web-js 1.8.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/config/draco.js +15 -0
- package/dist/cjs/config/draco.js.map +1 -0
- package/dist/cjs/domain/models/mapConfig.js.map +1 -1
- package/dist/cjs/domain/models/scene3D.js +3 -0
- package/dist/cjs/domain/models/scene3D.js.map +1 -0
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/infrastructure/logging/{CountlyLogger.js → MVXLogger.js} +15 -13
- package/dist/cjs/infrastructure/logging/MVXLogger.js.map +1 -0
- package/dist/cjs/logger/logger.js +30 -54
- package/dist/cjs/logger/logger.js.map +1 -1
- package/dist/cjs/logger/sentry.js +76 -0
- package/dist/cjs/logger/sentry.js.map +1 -0
- package/dist/cjs/map/map.js +40 -9
- package/dist/cjs/map/map.js.map +1 -1
- package/dist/cjs/map/scene3DController.js +443 -0
- package/dist/cjs/map/scene3DController.js.map +1 -0
- package/dist/cjs/utils/3d.js +133 -0
- package/dist/cjs/utils/3d.js.map +1 -0
- package/dist/cjs/utils/deckLayers.js +153 -0
- package/dist/cjs/utils/deckLayers.js.map +1 -0
- package/dist/cjs/utils/loadGlb.js +45 -0
- package/dist/cjs/utils/loadGlb.js.map +1 -0
- package/dist/cjs/utils/three.js +75 -0
- package/dist/cjs/utils/three.js.map +1 -0
- package/dist/cjs/utils/threeScene.js +45 -0
- package/dist/cjs/utils/threeScene.js.map +1 -0
- package/dist/es/config/draco.d.ts +12 -0
- package/dist/es/config/draco.d.ts.map +1 -0
- package/dist/es/config/draco.js +12 -0
- package/dist/es/config/draco.js.map +1 -0
- package/dist/es/domain/models/loggeable.d.ts +1 -1
- package/dist/es/domain/models/loggeable.d.ts.map +1 -1
- package/dist/es/domain/models/mapConfig.d.ts +23 -0
- package/dist/es/domain/models/mapConfig.d.ts.map +1 -1
- package/dist/es/domain/models/mapConfig.js.map +1 -1
- package/dist/es/domain/models/scene3D.d.ts +308 -0
- package/dist/es/domain/models/scene3D.d.ts.map +1 -0
- package/dist/es/domain/models/scene3D.js +2 -0
- package/dist/es/domain/models/scene3D.js.map +1 -0
- package/dist/es/domain/ports/ILogger.d.ts +2 -2
- package/dist/es/index.d.ts +2 -1
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +1 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/infrastructure/logging/{CountlyLogger.d.ts → MVXLogger.d.ts} +13 -11
- package/dist/es/infrastructure/logging/MVXLogger.d.ts.map +1 -0
- package/dist/es/infrastructure/logging/{CountlyLogger.js → MVXLogger.js} +13 -11
- package/dist/es/infrastructure/logging/MVXLogger.js.map +1 -0
- package/dist/es/logger/logger.d.ts +2 -3
- package/dist/es/logger/logger.d.ts.map +1 -1
- package/dist/es/logger/logger.js +30 -51
- package/dist/es/logger/logger.js.map +1 -1
- package/dist/es/logger/sentry.d.ts +26 -0
- package/dist/es/logger/sentry.d.ts.map +1 -0
- package/dist/es/logger/sentry.js +72 -0
- package/dist/es/logger/sentry.js.map +1 -0
- package/dist/es/map/map.d.ts +12 -0
- package/dist/es/map/map.d.ts.map +1 -1
- package/dist/es/map/map.js +40 -9
- package/dist/es/map/map.js.map +1 -1
- package/dist/es/map/scene3DController.d.ts +74 -0
- package/dist/es/map/scene3DController.d.ts.map +1 -0
- package/dist/es/map/scene3DController.js +439 -0
- package/dist/es/map/scene3DController.js.map +1 -0
- package/dist/es/utils/3d.d.ts +54 -0
- package/dist/es/utils/3d.d.ts.map +1 -0
- package/dist/es/utils/3d.js +120 -0
- package/dist/es/utils/3d.js.map +1 -0
- package/dist/es/utils/deckLayers.d.ts +51 -0
- package/dist/es/utils/deckLayers.d.ts.map +1 -0
- package/dist/es/utils/deckLayers.js +144 -0
- package/dist/es/utils/deckLayers.js.map +1 -0
- package/dist/es/utils/loadGlb.d.ts +11 -0
- package/dist/es/utils/loadGlb.d.ts.map +1 -0
- package/dist/es/utils/loadGlb.js +42 -0
- package/dist/es/utils/loadGlb.js.map +1 -0
- package/dist/es/utils/three.d.ts +51 -0
- package/dist/es/utils/three.d.ts.map +1 -0
- package/dist/es/utils/three.js +38 -0
- package/dist/es/utils/three.js.map +1 -0
- package/dist/es/utils/threeScene.d.ts +24 -0
- package/dist/es/utils/threeScene.d.ts.map +1 -0
- package/dist/es/utils/threeScene.js +41 -0
- package/dist/es/utils/threeScene.js.map +1 -0
- package/dist/umd/index.js +17848 -12587
- package/dist/umd/index.js.map +1 -1
- package/package.json +15 -5
- package/dist/cjs/infrastructure/logging/CountlyLogger.js.map +0 -1
- package/dist/cjs/logger/rollbar.js +0 -37
- package/dist/cjs/logger/rollbar.js.map +0 -1
- package/dist/es/infrastructure/logging/CountlyLogger.d.ts.map +0 -1
- package/dist/es/infrastructure/logging/CountlyLogger.js.map +0 -1
- package/dist/es/logger/rollbar.d.ts +0 -4
- package/dist/es/logger/rollbar.d.ts.map +0 -1
- package/dist/es/logger/rollbar.js +0 -33
- package/dist/es/logger/rollbar.js.map +0 -1
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Light color for Three.js lights. Accepts a numeric hex (`0xffffff`) or CSS-style hex string (`"#ffffff"`).
|
|
3
|
+
* The runtime maps this to `THREE.Color`.
|
|
4
|
+
*
|
|
5
|
+
* @group Configuration
|
|
6
|
+
*/
|
|
7
|
+
export type Scene3DLightColor = number | string;
|
|
8
|
+
/**
|
|
9
|
+
* Ambient light: uniform illumination with no direction (no `position` field).
|
|
10
|
+
*
|
|
11
|
+
* @group Configuration
|
|
12
|
+
*/
|
|
13
|
+
export interface Scene3DAmbientLightConfig {
|
|
14
|
+
type: "ambient";
|
|
15
|
+
color: Scene3DLightColor;
|
|
16
|
+
/** Light strength (Three.js `intensity`). */
|
|
17
|
+
intensity: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Directional light: parallel rays; requires **position** in scene space (Three.js `light.position`).
|
|
21
|
+
*
|
|
22
|
+
* @group Configuration
|
|
23
|
+
*/
|
|
24
|
+
export interface Scene3DDirectionalLightConfig {
|
|
25
|
+
type: "directional";
|
|
26
|
+
color: Scene3DLightColor;
|
|
27
|
+
/** Light strength (Three.js `intensity`). */
|
|
28
|
+
intensity: number;
|
|
29
|
+
position: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
z: number;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* One configurable light for the Three.js scene used with declarative GLB models.
|
|
37
|
+
*
|
|
38
|
+
* @group Configuration
|
|
39
|
+
*/
|
|
40
|
+
export type Scene3DLightConfig = Scene3DAmbientLightConfig | Scene3DDirectionalLightConfig;
|
|
41
|
+
/**
|
|
42
|
+
* Euler-style rotation for 3D model configuration.
|
|
43
|
+
*
|
|
44
|
+
* All angles are expressed in **degrees** (e.g. `90`, `180`) so common orientations are easy to author.
|
|
45
|
+
* The map runtime must convert to radians (e.g. for Three.js) when applying rotations.
|
|
46
|
+
*
|
|
47
|
+
* @group Configuration
|
|
48
|
+
*/
|
|
49
|
+
export interface Rotation3D {
|
|
50
|
+
/** Rotation around the vertical axis (heading), in degrees. */
|
|
51
|
+
yaw?: number;
|
|
52
|
+
/** Rotation around the lateral axis (tilt), in degrees. */
|
|
53
|
+
pitch?: number;
|
|
54
|
+
/** Rotation around the longitudinal axis (bank), in degrees. */
|
|
55
|
+
roll?: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Geographic anchor for a GLB placement. The model is bottom-aligned to this point (bounding box floor), not center-only.
|
|
59
|
+
*
|
|
60
|
+
* @group Configuration
|
|
61
|
+
*/
|
|
62
|
+
export interface GLBPlacementPosition {
|
|
63
|
+
lng: number;
|
|
64
|
+
lat: number;
|
|
65
|
+
/** Optional vertical offset in the runtime's altitude unit when the feature has no height. */
|
|
66
|
+
altitude?: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Floor visibility for a single GLB instance.
|
|
70
|
+
*
|
|
71
|
+
* @group Configuration
|
|
72
|
+
*/
|
|
73
|
+
export type GLBPlacementVisibility = {
|
|
74
|
+
mode: "allFloors";
|
|
75
|
+
} | {
|
|
76
|
+
mode: "singleFloor";
|
|
77
|
+
floorKey: string;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Translation in **map-space meters** applied after GLB bottom alignment.
|
|
81
|
+
*
|
|
82
|
+
* Because the offset is applied on the placement pivot (which has no scale), 1 unit equals
|
|
83
|
+
* 1 metre in the map regardless of the asset's `defaultScale`. This makes it straightforward
|
|
84
|
+
* to align models with MapLibre style properties such as `fill-extrusion-height`.
|
|
85
|
+
*
|
|
86
|
+
* X and Z are world-aligned (not rotated with the model); Y is always the vertical axis.
|
|
87
|
+
*
|
|
88
|
+
* @group Configuration
|
|
89
|
+
*/
|
|
90
|
+
export interface GLBModelOffset {
|
|
91
|
+
x?: number;
|
|
92
|
+
y?: number;
|
|
93
|
+
z?: number;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Zoom-based transparency for a 3D model, applied as a hard threshold.
|
|
97
|
+
*
|
|
98
|
+
* At or above {@link ZoomTransparencyConfig.zoom}, the model renders with
|
|
99
|
+
* {@link ZoomTransparencyConfig.opacity}; below it, the model is fully opaque (`opacity: 1`).
|
|
100
|
+
*
|
|
101
|
+
* The config uses **opacity** (Three.js semantics) rather than transparency:
|
|
102
|
+
* `1` is fully opaque and `0` is invisible. For example, "95% transparent" is `opacity: 0.05`.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* // From zoom 20 onward, fade the model to 95% transparency.
|
|
107
|
+
* const zoomTransparency: ZoomTransparencyConfig = { zoom: 20, opacity: 0.05 }
|
|
108
|
+
* ```
|
|
109
|
+
*
|
|
110
|
+
* @group Configuration
|
|
111
|
+
*/
|
|
112
|
+
export interface ZoomTransparencyConfig {
|
|
113
|
+
/** Zoom level at/after which {@link ZoomTransparencyConfig.opacity} applies (e.g. `20`). */
|
|
114
|
+
zoom: number;
|
|
115
|
+
/** Opacity applied at/after `zoom`. `0` = invisible, `1` = opaque. 95% transparent = `0.05`. */
|
|
116
|
+
opacity: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Declares a GLB file once; referenced by {@link GLBPlacementConfig.assetId}.
|
|
120
|
+
*
|
|
121
|
+
* @group Configuration
|
|
122
|
+
*/
|
|
123
|
+
export interface GLBAssetConfig {
|
|
124
|
+
/** Unique id among all assets in this map config. */
|
|
125
|
+
id: string;
|
|
126
|
+
/** URL of the `.glb` file (same-origin or CORS-enabled). */
|
|
127
|
+
url: string;
|
|
128
|
+
/** Default uniform scale or per-axis scale before placement overrides. */
|
|
129
|
+
defaultScale?: number | readonly [number, number, number];
|
|
130
|
+
/** Base rotation in degrees; merged with each placement's `rotation` (runtime converts to radians). */
|
|
131
|
+
defaultRotation?: Rotation3D;
|
|
132
|
+
/**
|
|
133
|
+
* Asset-wide offset in **map-space meters** added to every placement of this asset, before
|
|
134
|
+
* the per-placement {@link GLBPlacementConfig.offset}. Applied on the unscaled pivot, so
|
|
135
|
+
* `y: 0.7` raises the model by exactly 0.7 m regardless of `defaultScale`.
|
|
136
|
+
*/
|
|
137
|
+
defaultModelOffset?: GLBModelOffset;
|
|
138
|
+
/**
|
|
139
|
+
* Asset-level zoom-based transparency. Overrides {@link Models3DConfig.zoomTransparency} and is
|
|
140
|
+
* itself overridden by {@link GLBPlacementConfig.zoomTransparency}.
|
|
141
|
+
*/
|
|
142
|
+
zoomTransparency?: ZoomTransparencyConfig;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* One placed instance of a GLB asset.
|
|
146
|
+
*
|
|
147
|
+
* @group Configuration
|
|
148
|
+
*/
|
|
149
|
+
export interface GLBPlacementConfig {
|
|
150
|
+
/** Unique id for this instance (logging, updates). */
|
|
151
|
+
id: string;
|
|
152
|
+
/** References {@link GLBAssetConfig.id}. */
|
|
153
|
+
assetId: string;
|
|
154
|
+
position: GLBPlacementPosition;
|
|
155
|
+
visibility: GLBPlacementVisibility;
|
|
156
|
+
/** Additional rotation in degrees after the asset's `defaultRotation` (runtime converts to radians). */
|
|
157
|
+
rotation?: Rotation3D;
|
|
158
|
+
/** Overrides {@link GLBAssetConfig.defaultScale} for this instance. */
|
|
159
|
+
scale?: number | readonly [number, number, number];
|
|
160
|
+
/**
|
|
161
|
+
* Per-instance offset in **map-space meters**, applied after {@link GLBAssetConfig.defaultModelOffset}.
|
|
162
|
+
* `y: 0.7` raises this specific placement by 0.7 m, e.g. to sit on top of a
|
|
163
|
+
* `fill-extrusion-height: 0.7` layer.
|
|
164
|
+
*/
|
|
165
|
+
offset?: GLBModelOffset;
|
|
166
|
+
/**
|
|
167
|
+
* Placement-level zoom-based transparency. Highest precedence: overrides both
|
|
168
|
+
* {@link GLBAssetConfig.zoomTransparency} and {@link Models3DConfig.zoomTransparency}.
|
|
169
|
+
*/
|
|
170
|
+
zoomTransparency?: ZoomTransparencyConfig;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* GLB catalog and placements for declarative 3D models.
|
|
174
|
+
*
|
|
175
|
+
* @group Configuration
|
|
176
|
+
*/
|
|
177
|
+
export interface Models3DConfig {
|
|
178
|
+
/** When false, GLB loading is skipped even if `assets` / `placements` are set. */
|
|
179
|
+
enabled?: boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Default lights for the Three.js context that renders these GLBs.
|
|
182
|
+
* When omitted, the SDK uses built-in defaults.
|
|
183
|
+
*/
|
|
184
|
+
lights?: Scene3DLightConfig[];
|
|
185
|
+
/**
|
|
186
|
+
* Global offset in **map-space meters** applied to all GLB models as a group.
|
|
187
|
+
* Applied on a container group with no scale, so values are always in metres regardless
|
|
188
|
+
* of individual asset scales. Useful to align the entire model collection with a map layer,
|
|
189
|
+
* for example `y: 0.7` to sit on top of a `fill-extrusion-height: 0.7` surface.
|
|
190
|
+
*
|
|
191
|
+
* Stacks with per-asset {@link GLBAssetConfig.defaultModelOffset} and
|
|
192
|
+
* per-placement {@link GLBPlacementConfig.offset}.
|
|
193
|
+
*/
|
|
194
|
+
globalOffset?: GLBModelOffset;
|
|
195
|
+
/**
|
|
196
|
+
* Default zoom-based transparency applied to every placement. Can be overridden per asset
|
|
197
|
+
* ({@link GLBAssetConfig.zoomTransparency}) or per placement ({@link GLBPlacementConfig.zoomTransparency}).
|
|
198
|
+
* When omitted at all levels, models stay fully opaque at every zoom (current behavior).
|
|
199
|
+
*/
|
|
200
|
+
zoomTransparency?: ZoomTransparencyConfig;
|
|
201
|
+
assets: GLBAssetConfig[];
|
|
202
|
+
placements: GLBPlacementConfig[];
|
|
203
|
+
}
|
|
204
|
+
export interface LabelLayerConfig {
|
|
205
|
+
dataUrl: string;
|
|
206
|
+
binaryData?: boolean;
|
|
207
|
+
minZoom?: number;
|
|
208
|
+
maxZoom?: number;
|
|
209
|
+
defaultHeight?: number;
|
|
210
|
+
size?: number;
|
|
211
|
+
color?: string;
|
|
212
|
+
fontFamily?: string;
|
|
213
|
+
fontWeight?: number;
|
|
214
|
+
fontSize?: number;
|
|
215
|
+
maxWidth?: number;
|
|
216
|
+
}
|
|
217
|
+
export interface ElevatedLinesLayerConfig {
|
|
218
|
+
dataUrl: string;
|
|
219
|
+
binaryData?: boolean;
|
|
220
|
+
minZoom?: number;
|
|
221
|
+
maxZoom?: number;
|
|
222
|
+
defaultHeight?: number;
|
|
223
|
+
lineColor?: string;
|
|
224
|
+
lineWidth?: number;
|
|
225
|
+
widthUnits?: "pixels" | "meters";
|
|
226
|
+
}
|
|
227
|
+
export interface PoiIconsLayerConfig {
|
|
228
|
+
dataUrl: string;
|
|
229
|
+
binaryData?: boolean;
|
|
230
|
+
minZoom?: number;
|
|
231
|
+
maxZoom?: number;
|
|
232
|
+
defaultHeight?: number;
|
|
233
|
+
size?: number;
|
|
234
|
+
sizeUnits?: "pixels" | "meters";
|
|
235
|
+
sizeScale?: number;
|
|
236
|
+
billboard?: boolean;
|
|
237
|
+
}
|
|
238
|
+
export interface StoreLogosLayerConfig {
|
|
239
|
+
dataUrl: string;
|
|
240
|
+
binaryData?: boolean;
|
|
241
|
+
minZoom?: number;
|
|
242
|
+
maxZoom?: number;
|
|
243
|
+
defaultHeight?: number;
|
|
244
|
+
logoScale?: Record<string, number>;
|
|
245
|
+
sizeUnits?: "pixels" | "meters";
|
|
246
|
+
sizeScale?: number;
|
|
247
|
+
billboard?: boolean;
|
|
248
|
+
}
|
|
249
|
+
export interface IconLayersConfig {
|
|
250
|
+
spriteUrl: string;
|
|
251
|
+
storeLogosLayer?: StoreLogosLayerConfig;
|
|
252
|
+
poiIconsLayer?: PoiIconsLayerConfig;
|
|
253
|
+
}
|
|
254
|
+
export interface CustomLayerConfig {
|
|
255
|
+
labelsLayer?: LabelLayerConfig;
|
|
256
|
+
elevatedLinesLayer?: ElevatedLinesLayerConfig;
|
|
257
|
+
iconLayers?: IconLayersConfig;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Top-level 3D scene configuration: declarative GLB models and global scene lighting, plus deck.gl overlay tuning.
|
|
261
|
+
* Serializable only (no WebGL instances). Runtime applies this when the map is in 3D mode.
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```typescript
|
|
265
|
+
* const scene3D: Scene3DConfig = {
|
|
266
|
+
* enabled: true,
|
|
267
|
+
* models: {
|
|
268
|
+
* lights: [
|
|
269
|
+
* { type: "directional", color: "#ffffff", intensity: 2, position: { x: 50, y: 100, z: 80 } },
|
|
270
|
+
* { type: "ambient", color: 0xffffff, intensity: 1.5 },
|
|
271
|
+
* ],
|
|
272
|
+
* // From zoom 20 onward, every model fades to 95% transparency unless overridden.
|
|
273
|
+
* zoomTransparency: { zoom: 20, opacity: 0.05 },
|
|
274
|
+
* assets: [{ id: "kiosk", url: "https://cdn.example.com/kiosk.glb" }],
|
|
275
|
+
* placements: [
|
|
276
|
+
* {
|
|
277
|
+
* id: "kiosk-1",
|
|
278
|
+
* assetId: "kiosk",
|
|
279
|
+
* position: { lng: -70.6, lat: -33.4 },
|
|
280
|
+
* visibility: { mode: "allFloors" },
|
|
281
|
+
* rotation: { yaw: 90 },
|
|
282
|
+
* },
|
|
283
|
+
* ],
|
|
284
|
+
* },
|
|
285
|
+
* deck: { labels: { getSize: 14 }, poiIcons: false },
|
|
286
|
+
* }
|
|
287
|
+
* ```
|
|
288
|
+
*
|
|
289
|
+
* @group Configuration
|
|
290
|
+
*/
|
|
291
|
+
export interface Scene3DConfig {
|
|
292
|
+
/**
|
|
293
|
+
* When `false`, the map does not activate 3D scene features (deck.gl overlay, escalator GLB layer, …)
|
|
294
|
+
* even if {@link MapConfig.mode} is `"3D"`. When omitted or `true`, those features run when `mode` is `"3D"`.
|
|
295
|
+
*/
|
|
296
|
+
enabled?: boolean;
|
|
297
|
+
models?: Models3DConfig;
|
|
298
|
+
customLayers?: CustomLayerConfig;
|
|
299
|
+
hideLayers?: string[];
|
|
300
|
+
}
|
|
301
|
+
export type SpriteIconData = {
|
|
302
|
+
height: number;
|
|
303
|
+
pixelRatio: number;
|
|
304
|
+
width: number;
|
|
305
|
+
x: number;
|
|
306
|
+
y: number;
|
|
307
|
+
};
|
|
308
|
+
//# sourceMappingURL=scene3D.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene3D.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/scene3D.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene3D.js","sourceRoot":"","sources":["../../../../src/domain/models/scene3D.ts"],"names":[],"mappings":""}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* Logger interface (Port)
|
|
3
3
|
* Defines the contract for logging and analytics in the SDK.
|
|
4
4
|
* Following hexagonal architecture, this is a port that can be
|
|
5
|
-
* implemented by different adapters (
|
|
5
|
+
* implemented by different adapters (MVXLogger, console, custom, etc.)
|
|
6
6
|
*
|
|
7
7
|
* @group Utils
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```typescript
|
|
11
|
-
* const logger: ILogger = new
|
|
11
|
+
* const logger: ILogger = new MVXLogger()
|
|
12
12
|
* logger.logEvent("button_click", { buttonId: "submit" })
|
|
13
13
|
* logger.logError(new Error("Something went wrong"), { userId: "123" })
|
|
14
14
|
* ```
|
package/dist/es/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { CacheManager } from "./infrastructure/cache/CacheManager";
|
|
|
7
7
|
export type { CacheConfig, CacheManagerConfig, CacheType } from "./infrastructure/cache/cacheConfig";
|
|
8
8
|
export { DEFAULT_CACHE_CONFIGS, DEFAULT_MAX_STORAGE_BYTES, } from "./infrastructure/cache/cacheConfig";
|
|
9
9
|
export { FetchHttpClient } from "./infrastructure/http/FetchHttpClient";
|
|
10
|
-
export {
|
|
10
|
+
export { MVXLogger } from "./infrastructure/logging/MVXLogger";
|
|
11
11
|
export type { MapVXMap } from "./map/map";
|
|
12
12
|
export { initializeSDK } from "./sdk";
|
|
13
13
|
export type { MapVXSDK, PlacesByTagsSort, SearchPlacesByTagsOptions } from "./sdk";
|
|
@@ -42,6 +42,7 @@ export { MVXRoute, MVXRouteLeg, MVXRouteStep } from "./domain/models/route";
|
|
|
42
42
|
export { AnnounceFormat, TransportationMode, UnitSystem } from "./domain/models/routeConfiguration";
|
|
43
43
|
export type { DrawRouteConfiguration, GetRouteConfiguration, IdLocation, RouteLocation, } from "./domain/models/routeConfiguration";
|
|
44
44
|
export type { GradientStyle, RouteStyle, SolidStyle } from "./domain/models/routeStyle";
|
|
45
|
+
export type { CustomLayerConfig, ElevatedLinesLayerConfig, GLBAssetConfig, GLBModelOffset, GLBPlacementConfig, GLBPlacementPosition, GLBPlacementVisibility, IconLayersConfig, LabelLayerConfig, Models3DConfig, PoiIconsLayerConfig, Rotation3D, Scene3DAmbientLightConfig, Scene3DConfig, Scene3DDirectionalLightConfig, Scene3DLightColor, Scene3DLightConfig, StoreLogosLayerConfig, } from "./domain/models/scene3D";
|
|
45
46
|
export { MVXTransport } from "./domain/models/transport";
|
|
46
47
|
export type { RealtimeSchedule, Schedule } from "./domain/models/transport";
|
|
47
48
|
export type { HealthResponse } from "./interfaces/healthResponse";
|
package/dist/es/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC/D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/F,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AACpG,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAGvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/es/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { DEFAULT_CACHE_CONFIGS, DEFAULT_MAX_STORAGE_BYTES, } from "./infrastruct
|
|
|
6
6
|
// ─── Infrastructure: HTTP ────────────────────────────────────────────────────
|
|
7
7
|
export { FetchHttpClient } from "./infrastructure/http/FetchHttpClient";
|
|
8
8
|
// ─── Infrastructure: Logging ─────────────────────────────────────────────────
|
|
9
|
-
export {
|
|
9
|
+
export { MVXLogger } from "./infrastructure/logging/MVXLogger";
|
|
10
10
|
// ─── SDK ─────────────────────────────────────────────────────────────────────
|
|
11
11
|
export { initializeSDK } from "./sdk";
|
|
12
12
|
// ─── Domain Models: Assets / Icons ───────────────────────────────────────────
|
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,gFAAgF;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAElE,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAA;AAE3C,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAEvE,gFAAgF;AAChF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,gFAAgF;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAElE,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAA;AAE3C,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAEvE,gFAAgF;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAK9D,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAarC,gFAAgF;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAA;AAGhE,gFAAgF;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAgBlG,gFAAgF;AAChF,OAAO,EACL,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAoC/B,gFAAgF;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AASzD,gFAAgF;AAChF,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,2BAA2B,CAAA;AAGlC,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AASrD,gFAAgF;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAMhD,gFAAgF;AAChF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAE3E,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAiCnG,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAQxD,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AAEtF;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,qCAAqC;IACrC,IAAI,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACtD,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAA;IACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA,CAAC,wBAAwB;IACnD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC,CAAA"}
|
|
@@ -1,34 +1,36 @@
|
|
|
1
1
|
import type { ILogger } from "../../domain/ports/ILogger";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* MapVX Logger Adapter
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Default {@link ILogger} implementation for the SDK. Provider-agnostic by name
|
|
6
|
+
* so the underlying error-tracking backend can change without affecting the
|
|
7
|
+
* public API. It wraps the internal Logger singleton: errors are captured as
|
|
8
|
+
* exceptions and events/warnings are recorded as breadcrumbs (currently backed
|
|
9
|
+
* by Sentry).
|
|
8
10
|
*
|
|
9
11
|
* @group Utils
|
|
10
12
|
*
|
|
11
13
|
* @example
|
|
12
14
|
* ```typescript
|
|
13
|
-
* const logger: ILogger = new
|
|
15
|
+
* const logger: ILogger = new MVXLogger()
|
|
14
16
|
* logger.logEvent("user_action", { action: "click" })
|
|
15
17
|
* logger.logError(new Error("Something failed"))
|
|
16
18
|
* ```
|
|
17
19
|
*/
|
|
18
|
-
export declare class
|
|
20
|
+
export declare class MVXLogger implements ILogger {
|
|
19
21
|
private readonly logger;
|
|
20
22
|
private token?;
|
|
21
23
|
constructor();
|
|
22
24
|
/**
|
|
23
|
-
*
|
|
25
|
+
* Records an analytics-style event as a Sentry breadcrumb.
|
|
24
26
|
*/
|
|
25
27
|
logEvent(eventName: string, segmentation?: Record<string, string>): void;
|
|
26
28
|
/**
|
|
27
|
-
*
|
|
29
|
+
* Captures an error as a Sentry exception.
|
|
28
30
|
*/
|
|
29
31
|
logError(error: unknown, context?: Record<string, string>): void;
|
|
30
32
|
/**
|
|
31
|
-
*
|
|
33
|
+
* Records a warning as a Sentry breadcrumb.
|
|
32
34
|
*/
|
|
33
35
|
logWarning(error: unknown, context?: Record<string, string>): void;
|
|
34
36
|
/**
|
|
@@ -36,7 +38,7 @@ export declare class CountlyLogger implements ILogger {
|
|
|
36
38
|
*/
|
|
37
39
|
logDebug(...args: unknown[]): void;
|
|
38
40
|
/**
|
|
39
|
-
* Sets the API token
|
|
41
|
+
* Sets the API token used to enrich event segmentation.
|
|
40
42
|
*/
|
|
41
43
|
setToken(token: string): void;
|
|
42
44
|
/**
|
|
@@ -44,4 +46,4 @@ export declare class CountlyLogger implements ILogger {
|
|
|
44
46
|
*/
|
|
45
47
|
private enrichSegmentation;
|
|
46
48
|
}
|
|
47
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=MVXLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MVXLogger.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/logging/MVXLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAU,YAAW,OAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,KAAK,CAAC,CAAQ;;IAMtB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAKxE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAQhE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAQlE;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIlC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAY3B"}
|
|
@@ -1,33 +1,35 @@
|
|
|
1
1
|
import { Logger } from "../../logger/logger";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* MapVX Logger Adapter
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* Default {@link ILogger} implementation for the SDK. Provider-agnostic by name
|
|
6
|
+
* so the underlying error-tracking backend can change without affecting the
|
|
7
|
+
* public API. It wraps the internal Logger singleton: errors are captured as
|
|
8
|
+
* exceptions and events/warnings are recorded as breadcrumbs (currently backed
|
|
9
|
+
* by Sentry).
|
|
8
10
|
*
|
|
9
11
|
* @group Utils
|
|
10
12
|
*
|
|
11
13
|
* @example
|
|
12
14
|
* ```typescript
|
|
13
|
-
* const logger: ILogger = new
|
|
15
|
+
* const logger: ILogger = new MVXLogger()
|
|
14
16
|
* logger.logEvent("user_action", { action: "click" })
|
|
15
17
|
* logger.logError(new Error("Something failed"))
|
|
16
18
|
* ```
|
|
17
19
|
*/
|
|
18
|
-
export class
|
|
20
|
+
export class MVXLogger {
|
|
19
21
|
constructor() {
|
|
20
22
|
this.logger = Logger.getInstance();
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
|
-
*
|
|
25
|
+
* Records an analytics-style event as a Sentry breadcrumb.
|
|
24
26
|
*/
|
|
25
27
|
logEvent(eventName, segmentation) {
|
|
26
28
|
const enrichedSegmentation = this.enrichSegmentation(segmentation);
|
|
27
29
|
this.logger.logEvent(eventName, enrichedSegmentation);
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
|
-
*
|
|
32
|
+
* Captures an error as a Sentry exception.
|
|
31
33
|
*/
|
|
32
34
|
logError(error, context) {
|
|
33
35
|
if (error instanceof Error) {
|
|
@@ -38,7 +40,7 @@ export class CountlyLogger {
|
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
|
-
*
|
|
43
|
+
* Records a warning as a Sentry breadcrumb.
|
|
42
44
|
*/
|
|
43
45
|
logWarning(error, context) {
|
|
44
46
|
if (error instanceof Error) {
|
|
@@ -55,7 +57,7 @@ export class CountlyLogger {
|
|
|
55
57
|
this.logger.debugLog(...args);
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
|
-
* Sets the API token
|
|
60
|
+
* Sets the API token used to enrich event segmentation.
|
|
59
61
|
*/
|
|
60
62
|
setToken(token) {
|
|
61
63
|
this.token = token;
|
|
@@ -71,4 +73,4 @@ export class CountlyLogger {
|
|
|
71
73
|
return base;
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
|
-
//# sourceMappingURL=
|
|
76
|
+
//# sourceMappingURL=MVXLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MVXLogger.js","sourceRoot":"","sources":["../../../../src/infrastructure/logging/MVXLogger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,SAAS;IAIpB;QACE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAiB,EAAE,YAAqC;QAC/D,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAc,EAAE,OAAgC;QACvD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAc,EAAE,OAAgC;QACzD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAe;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,YAAqC;QAC9D,MAAM,IAAI,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAA;QAE/B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,uCACK,IAAI,KACP,KAAK,EAAE,IAAI,CAAC,KAAK,IAClB;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { type LogArgument } from "
|
|
1
|
+
import { type LogArgument } from "./sentry";
|
|
2
2
|
export declare class Logger {
|
|
3
|
-
private readonly
|
|
4
|
-
private readonly rollbar;
|
|
3
|
+
private readonly sentry;
|
|
5
4
|
private static instance?;
|
|
6
5
|
private constructor();
|
|
7
6
|
static getInstance(): Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logger/logger.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logger/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAUpF,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAQ;IAEhC,OAAO;WAQO,WAAW,IAAI,MAAM;IAOnC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB5E,QAAQ,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAMtC,UAAU,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAcxC,QAAQ,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAatC,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;CAG5B"}
|