@mapvx/web-js 1.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/LICENSE.md +19 -0
- package/README.md +257 -0
- package/dist/cjs/assets/icons.js +87 -0
- package/dist/cjs/assets/icons.js.map +1 -0
- package/dist/cjs/assets/route_animation_icon.svg +15 -0
- package/dist/cjs/assets/user-dot-icon.svg +3 -0
- package/dist/cjs/config/sdkConfig.js +3 -0
- package/dist/cjs/config/sdkConfig.js.map +1 -0
- package/dist/cjs/controllers/routeController.js +1054 -0
- package/dist/cjs/controllers/routeController.js.map +1 -0
- package/dist/cjs/domain/models/_internal.js +15 -0
- package/dist/cjs/domain/models/_internal.js.map +1 -0
- package/dist/cjs/domain/models/_rtl.js +10 -0
- package/dist/cjs/domain/models/_rtl.js.map +1 -0
- package/dist/cjs/domain/models/animation.js +63 -0
- package/dist/cjs/domain/models/animation.js.map +1 -0
- package/dist/cjs/domain/models/banner.js +24 -0
- package/dist/cjs/domain/models/banner.js.map +1 -0
- package/dist/cjs/domain/models/categories.js +25 -0
- package/dist/cjs/domain/models/categories.js.map +1 -0
- package/dist/cjs/domain/models/cityFilterOption.js +3 -0
- package/dist/cjs/domain/models/cityFilterOption.js.map +1 -0
- package/dist/cjs/domain/models/configuration.js +3 -0
- package/dist/cjs/domain/models/configuration.js.map +1 -0
- package/dist/cjs/domain/models/cssCustomization.js +3 -0
- package/dist/cjs/domain/models/cssCustomization.js.map +1 -0
- package/dist/cjs/domain/models/fitOptions.js +3 -0
- package/dist/cjs/domain/models/fitOptions.js.map +1 -0
- package/dist/cjs/domain/models/innerFloors.js +3 -0
- package/dist/cjs/domain/models/innerFloors.js.map +1 -0
- package/dist/cjs/domain/models/institution.js +44 -0
- package/dist/cjs/domain/models/institution.js.map +1 -0
- package/dist/cjs/domain/models/latLng.js +3 -0
- package/dist/cjs/domain/models/latLng.js.map +1 -0
- package/dist/cjs/domain/models/location.js +3 -0
- package/dist/cjs/domain/models/location.js.map +1 -0
- package/dist/cjs/domain/models/loggeable.js +52 -0
- package/dist/cjs/domain/models/loggeable.js.map +1 -0
- package/dist/cjs/domain/models/mapCamera.js +3 -0
- package/dist/cjs/domain/models/mapCamera.js.map +1 -0
- package/dist/cjs/domain/models/mapConfig.js +15 -0
- package/dist/cjs/domain/models/mapConfig.js.map +1 -0
- package/dist/cjs/domain/models/marker.js +400 -0
- package/dist/cjs/domain/models/marker.js.map +1 -0
- package/dist/cjs/domain/models/multilanguage.js +18 -0
- package/dist/cjs/domain/models/multilanguage.js.map +1 -0
- package/dist/cjs/domain/models/openingHours.js +3 -0
- package/dist/cjs/domain/models/openingHours.js.map +1 -0
- package/dist/cjs/domain/models/place.js +101 -0
- package/dist/cjs/domain/models/place.js.map +1 -0
- package/dist/cjs/domain/models/platform.js +3 -0
- package/dist/cjs/domain/models/platform.js.map +1 -0
- package/dist/cjs/domain/models/popover.js +3 -0
- package/dist/cjs/domain/models/popover.js.map +1 -0
- package/dist/cjs/domain/models/product.js +3 -0
- package/dist/cjs/domain/models/product.js.map +1 -0
- package/dist/cjs/domain/models/property.js +104 -0
- package/dist/cjs/domain/models/property.js.map +1 -0
- package/dist/cjs/domain/models/route.js +166 -0
- package/dist/cjs/domain/models/route.js.map +1 -0
- package/dist/cjs/domain/models/routeConfiguration.js +80 -0
- package/dist/cjs/domain/models/routeConfiguration.js.map +1 -0
- package/dist/cjs/domain/models/routeInstance.js +30 -0
- package/dist/cjs/domain/models/routeInstance.js.map +1 -0
- package/dist/cjs/domain/models/routeStyle.js +3 -0
- package/dist/cjs/domain/models/routeStyle.js.map +1 -0
- package/dist/cjs/domain/models/transport.js +22 -0
- package/dist/cjs/domain/models/transport.js.map +1 -0
- package/dist/cjs/domain/ports/ICache.js +3 -0
- package/dist/cjs/domain/ports/ICache.js.map +1 -0
- package/dist/cjs/domain/ports/IHttpClient.js +3 -0
- package/dist/cjs/domain/ports/IHttpClient.js.map +1 -0
- package/dist/cjs/domain/ports/ILogger.js +23 -0
- package/dist/cjs/domain/ports/ILogger.js.map +1 -0
- package/dist/cjs/domain/ports/index.js +10 -0
- package/dist/cjs/domain/ports/index.js.map +1 -0
- package/dist/cjs/index.js +76 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/infrastructure/cache/CacheManager.js +236 -0
- package/dist/cjs/infrastructure/cache/CacheManager.js.map +1 -0
- package/dist/cjs/infrastructure/cache/LRUCache.js +153 -0
- package/dist/cjs/infrastructure/cache/LRUCache.js.map +1 -0
- package/dist/cjs/infrastructure/cache/PersistentCache.js +160 -0
- package/dist/cjs/infrastructure/cache/PersistentCache.js.map +1 -0
- package/dist/cjs/infrastructure/cache/cacheConfig.js +70 -0
- package/dist/cjs/infrastructure/cache/cacheConfig.js.map +1 -0
- package/dist/cjs/infrastructure/http/FetchHttpClient.js +75 -0
- package/dist/cjs/infrastructure/http/FetchHttpClient.js.map +1 -0
- package/dist/cjs/infrastructure/logging/CountlyLogger.js +78 -0
- package/dist/cjs/infrastructure/logging/CountlyLogger.js.map +1 -0
- package/dist/cjs/interfaces/cache.js +3 -0
- package/dist/cjs/interfaces/cache.js.map +1 -0
- package/dist/cjs/interfaces/healthResponse.js +3 -0
- package/dist/cjs/interfaces/healthResponse.js.map +1 -0
- package/dist/cjs/interfaces/institutionResponse.js +3 -0
- package/dist/cjs/interfaces/institutionResponse.js.map +1 -0
- package/dist/cjs/interfaces/metadata.js +3 -0
- package/dist/cjs/interfaces/metadata.js.map +1 -0
- package/dist/cjs/interfaces/placeResponse.js +3 -0
- package/dist/cjs/interfaces/placeResponse.js.map +1 -0
- package/dist/cjs/interfaces/routeCacheResponse.js +3 -0
- package/dist/cjs/interfaces/routeCacheResponse.js.map +1 -0
- package/dist/cjs/interfaces/routeResponse.js +3 -0
- package/dist/cjs/interfaces/routeResponse.js.map +1 -0
- package/dist/cjs/interfaces/styleResponse.js +3 -0
- package/dist/cjs/interfaces/styleResponse.js.map +1 -0
- package/dist/cjs/logger/logger.js +91 -0
- package/dist/cjs/logger/logger.js.map +1 -0
- package/dist/cjs/logger/rollbar.js +24 -0
- package/dist/cjs/logger/rollbar.js.map +1 -0
- package/dist/cjs/map/map.js +1457 -0
- package/dist/cjs/map/map.js.map +1 -0
- package/dist/cjs/repository/repository.js +574 -0
- package/dist/cjs/repository/repository.js.map +1 -0
- package/dist/cjs/repository/requester.js +590 -0
- package/dist/cjs/repository/requester.js.map +1 -0
- package/dist/cjs/sdk.js +351 -0
- package/dist/cjs/sdk.js.map +1 -0
- package/dist/cjs/utils/error.js +20 -0
- package/dist/cjs/utils/error.js.map +1 -0
- package/dist/cjs/utils/images.js +26 -0
- package/dist/cjs/utils/images.js.map +1 -0
- package/dist/cjs/utils/nav-functions.js +150 -0
- package/dist/cjs/utils/nav-functions.js.map +1 -0
- package/dist/cjs/utils/opening-hours-helper.js +911 -0
- package/dist/cjs/utils/opening-hours-helper.js.map +1 -0
- package/dist/cjs/utils/route-utils.js +58 -0
- package/dist/cjs/utils/route-utils.js.map +1 -0
- package/dist/cjs/utils/update-css.js +77 -0
- package/dist/cjs/utils/update-css.js.map +1 -0
- package/dist/cjs/utils/utils.js +105 -0
- package/dist/cjs/utils/utils.js.map +1 -0
- package/dist/es/assets/icons.d.ts +86 -0
- package/dist/es/assets/icons.d.ts.map +1 -0
- package/dist/es/assets/icons.js +83 -0
- package/dist/es/assets/icons.js.map +1 -0
- package/dist/es/assets/route_animation_icon.svg +15 -0
- package/dist/es/assets/user-dot-icon.svg +3 -0
- package/dist/es/config/sdkConfig.d.ts +105 -0
- package/dist/es/config/sdkConfig.d.ts.map +1 -0
- package/dist/es/config/sdkConfig.js +2 -0
- package/dist/es/config/sdkConfig.js.map +1 -0
- package/dist/es/controllers/routeController.d.ts +161 -0
- package/dist/es/controllers/routeController.d.ts.map +1 -0
- package/dist/es/controllers/routeController.js +1050 -0
- package/dist/es/controllers/routeController.js.map +1 -0
- package/dist/es/domain/models/_internal.d.ts +21 -0
- package/dist/es/domain/models/_internal.d.ts.map +1 -0
- package/dist/es/domain/models/_internal.js +11 -0
- package/dist/es/domain/models/_internal.js.map +1 -0
- package/dist/es/domain/models/_rtl.d.ts +7 -0
- package/dist/es/domain/models/_rtl.d.ts.map +1 -0
- package/dist/es/domain/models/_rtl.js +7 -0
- package/dist/es/domain/models/_rtl.js.map +1 -0
- package/dist/es/domain/models/animation.d.ts +161 -0
- package/dist/es/domain/models/animation.d.ts.map +1 -0
- package/dist/es/domain/models/animation.js +58 -0
- package/dist/es/domain/models/animation.js.map +1 -0
- package/dist/es/domain/models/banner.d.ts +64 -0
- package/dist/es/domain/models/banner.d.ts.map +1 -0
- package/dist/es/domain/models/banner.js +20 -0
- package/dist/es/domain/models/banner.js.map +1 -0
- package/dist/es/domain/models/categories.d.ts +157 -0
- package/dist/es/domain/models/categories.d.ts.map +1 -0
- package/dist/es/domain/models/categories.js +20 -0
- package/dist/es/domain/models/categories.js.map +1 -0
- package/dist/es/domain/models/cityFilterOption.d.ts +15 -0
- package/dist/es/domain/models/cityFilterOption.d.ts.map +1 -0
- package/dist/es/domain/models/cityFilterOption.js +2 -0
- package/dist/es/domain/models/cityFilterOption.js.map +1 -0
- package/dist/es/domain/models/configuration.d.ts +523 -0
- package/dist/es/domain/models/configuration.d.ts.map +1 -0
- package/dist/es/domain/models/configuration.js +2 -0
- package/dist/es/domain/models/configuration.js.map +1 -0
- package/dist/es/domain/models/cssCustomization.d.ts +63 -0
- package/dist/es/domain/models/cssCustomization.d.ts.map +1 -0
- package/dist/es/domain/models/cssCustomization.js +2 -0
- package/dist/es/domain/models/cssCustomization.js.map +1 -0
- package/dist/es/domain/models/fitOptions.d.ts +175 -0
- package/dist/es/domain/models/fitOptions.d.ts.map +1 -0
- package/dist/es/domain/models/fitOptions.js +2 -0
- package/dist/es/domain/models/fitOptions.js.map +1 -0
- package/dist/es/domain/models/innerFloors.d.ts +42 -0
- package/dist/es/domain/models/innerFloors.d.ts.map +1 -0
- package/dist/es/domain/models/innerFloors.js +2 -0
- package/dist/es/domain/models/innerFloors.js.map +1 -0
- package/dist/es/domain/models/institution.d.ts +64 -0
- package/dist/es/domain/models/institution.d.ts.map +1 -0
- package/dist/es/domain/models/institution.js +40 -0
- package/dist/es/domain/models/institution.js.map +1 -0
- package/dist/es/domain/models/latLng.d.ts +14 -0
- package/dist/es/domain/models/latLng.d.ts.map +1 -0
- package/dist/es/domain/models/latLng.js +2 -0
- package/dist/es/domain/models/latLng.js.map +1 -0
- package/dist/es/domain/models/location.d.ts +10 -0
- package/dist/es/domain/models/location.d.ts.map +1 -0
- package/dist/es/domain/models/location.js +2 -0
- package/dist/es/domain/models/location.js.map +1 -0
- package/dist/es/domain/models/loggeable.d.ts +43 -0
- package/dist/es/domain/models/loggeable.d.ts.map +1 -0
- package/dist/es/domain/models/loggeable.js +48 -0
- package/dist/es/domain/models/loggeable.js.map +1 -0
- package/dist/es/domain/models/mapCamera.d.ts +109 -0
- package/dist/es/domain/models/mapCamera.d.ts.map +1 -0
- package/dist/es/domain/models/mapCamera.js +2 -0
- package/dist/es/domain/models/mapCamera.js.map +1 -0
- package/dist/es/domain/models/mapConfig.d.ts +238 -0
- package/dist/es/domain/models/mapConfig.d.ts.map +1 -0
- package/dist/es/domain/models/mapConfig.js +12 -0
- package/dist/es/domain/models/mapConfig.js.map +1 -0
- package/dist/es/domain/models/marker.d.ts +301 -0
- package/dist/es/domain/models/marker.d.ts.map +1 -0
- package/dist/es/domain/models/marker.js +396 -0
- package/dist/es/domain/models/marker.js.map +1 -0
- package/dist/es/domain/models/multilanguage.d.ts +27 -0
- package/dist/es/domain/models/multilanguage.d.ts.map +1 -0
- package/dist/es/domain/models/multilanguage.js +14 -0
- package/dist/es/domain/models/multilanguage.js.map +1 -0
- package/dist/es/domain/models/openingHours.d.ts +30 -0
- package/dist/es/domain/models/openingHours.d.ts.map +1 -0
- package/dist/es/domain/models/openingHours.js +2 -0
- package/dist/es/domain/models/openingHours.js.map +1 -0
- package/dist/es/domain/models/place.d.ts +167 -0
- package/dist/es/domain/models/place.d.ts.map +1 -0
- package/dist/es/domain/models/place.js +97 -0
- package/dist/es/domain/models/place.js.map +1 -0
- package/dist/es/domain/models/platform.d.ts +6 -0
- package/dist/es/domain/models/platform.d.ts.map +1 -0
- package/dist/es/domain/models/platform.js +2 -0
- package/dist/es/domain/models/platform.js.map +1 -0
- package/dist/es/domain/models/popover.d.ts +14 -0
- package/dist/es/domain/models/popover.d.ts.map +1 -0
- package/dist/es/domain/models/popover.js +2 -0
- package/dist/es/domain/models/popover.js.map +1 -0
- package/dist/es/domain/models/product.d.ts +36 -0
- package/dist/es/domain/models/product.d.ts.map +1 -0
- package/dist/es/domain/models/product.js +2 -0
- package/dist/es/domain/models/product.js.map +1 -0
- package/dist/es/domain/models/property.d.ts +172 -0
- package/dist/es/domain/models/property.d.ts.map +1 -0
- package/dist/es/domain/models/property.js +100 -0
- package/dist/es/domain/models/property.js.map +1 -0
- package/dist/es/domain/models/route.d.ts +199 -0
- package/dist/es/domain/models/route.d.ts.map +1 -0
- package/dist/es/domain/models/route.js +160 -0
- package/dist/es/domain/models/route.js.map +1 -0
- package/dist/es/domain/models/routeConfiguration.d.ts +140 -0
- package/dist/es/domain/models/routeConfiguration.d.ts.map +1 -0
- package/dist/es/domain/models/routeConfiguration.js +75 -0
- package/dist/es/domain/models/routeConfiguration.js.map +1 -0
- package/dist/es/domain/models/routeInstance.d.ts +52 -0
- package/dist/es/domain/models/routeInstance.d.ts.map +1 -0
- package/dist/es/domain/models/routeInstance.js +26 -0
- package/dist/es/domain/models/routeInstance.js.map +1 -0
- package/dist/es/domain/models/routeStyle.d.ts +47 -0
- package/dist/es/domain/models/routeStyle.d.ts.map +1 -0
- package/dist/es/domain/models/routeStyle.js +2 -0
- package/dist/es/domain/models/routeStyle.js.map +1 -0
- package/dist/es/domain/models/transport.d.ts +176 -0
- package/dist/es/domain/models/transport.d.ts.map +1 -0
- package/dist/es/domain/models/transport.js +18 -0
- package/dist/es/domain/models/transport.js.map +1 -0
- package/dist/es/domain/ports/ICache.d.ts +70 -0
- package/dist/es/domain/ports/ICache.d.ts.map +1 -0
- package/dist/es/domain/ports/ICache.js +2 -0
- package/dist/es/domain/ports/ICache.js.map +1 -0
- package/dist/es/domain/ports/IHttpClient.d.ts +77 -0
- package/dist/es/domain/ports/IHttpClient.d.ts.map +1 -0
- package/dist/es/domain/ports/IHttpClient.js +2 -0
- package/dist/es/domain/ports/IHttpClient.js.map +1 -0
- package/dist/es/domain/ports/ILogger.d.ts +61 -0
- package/dist/es/domain/ports/ILogger.d.ts.map +1 -0
- package/dist/es/domain/ports/ILogger.js +19 -0
- package/dist/es/domain/ports/ILogger.js.map +1 -0
- package/dist/es/domain/ports/index.d.ts +9 -0
- package/dist/es/domain/ports/index.d.ts.map +1 -0
- package/dist/es/domain/ports/index.js +6 -0
- package/dist/es/domain/ports/index.js.map +1 -0
- package/dist/es/index.d.ts +58 -0
- package/dist/es/index.d.ts.map +1 -0
- package/dist/es/index.js +48 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/infrastructure/cache/CacheManager.d.ts +106 -0
- package/dist/es/infrastructure/cache/CacheManager.d.ts.map +1 -0
- package/dist/es/infrastructure/cache/CacheManager.js +232 -0
- package/dist/es/infrastructure/cache/CacheManager.js.map +1 -0
- package/dist/es/infrastructure/cache/LRUCache.d.ts +70 -0
- package/dist/es/infrastructure/cache/LRUCache.d.ts.map +1 -0
- package/dist/es/infrastructure/cache/LRUCache.js +149 -0
- package/dist/es/infrastructure/cache/LRUCache.js.map +1 -0
- package/dist/es/infrastructure/cache/PersistentCache.d.ts +58 -0
- package/dist/es/infrastructure/cache/PersistentCache.d.ts.map +1 -0
- package/dist/es/infrastructure/cache/PersistentCache.js +156 -0
- package/dist/es/infrastructure/cache/PersistentCache.js.map +1 -0
- package/dist/es/infrastructure/cache/cacheConfig.d.ts +51 -0
- package/dist/es/infrastructure/cache/cacheConfig.d.ts.map +1 -0
- package/dist/es/infrastructure/cache/cacheConfig.js +66 -0
- package/dist/es/infrastructure/cache/cacheConfig.js.map +1 -0
- package/dist/es/infrastructure/http/FetchHttpClient.d.ts +41 -0
- package/dist/es/infrastructure/http/FetchHttpClient.d.ts.map +1 -0
- package/dist/es/infrastructure/http/FetchHttpClient.js +71 -0
- package/dist/es/infrastructure/http/FetchHttpClient.js.map +1 -0
- package/dist/es/infrastructure/logging/CountlyLogger.d.ts +47 -0
- package/dist/es/infrastructure/logging/CountlyLogger.d.ts.map +1 -0
- package/dist/es/infrastructure/logging/CountlyLogger.js +74 -0
- package/dist/es/infrastructure/logging/CountlyLogger.js.map +1 -0
- package/dist/es/interfaces/cache.d.ts +5 -0
- package/dist/es/interfaces/cache.d.ts.map +1 -0
- package/dist/es/interfaces/cache.js +2 -0
- package/dist/es/interfaces/cache.js.map +1 -0
- package/dist/es/interfaces/healthResponse.d.ts +17 -0
- package/dist/es/interfaces/healthResponse.d.ts.map +1 -0
- package/dist/es/interfaces/healthResponse.js +2 -0
- package/dist/es/interfaces/healthResponse.js.map +1 -0
- package/dist/es/interfaces/institutionResponse.d.ts +12 -0
- package/dist/es/interfaces/institutionResponse.d.ts.map +1 -0
- package/dist/es/interfaces/institutionResponse.js +2 -0
- package/dist/es/interfaces/institutionResponse.js.map +1 -0
- package/dist/es/interfaces/metadata.d.ts +7 -0
- package/dist/es/interfaces/metadata.d.ts.map +1 -0
- package/dist/es/interfaces/metadata.js +2 -0
- package/dist/es/interfaces/metadata.js.map +1 -0
- package/dist/es/interfaces/placeResponse.d.ts +50 -0
- package/dist/es/interfaces/placeResponse.d.ts.map +1 -0
- package/dist/es/interfaces/placeResponse.js +2 -0
- package/dist/es/interfaces/placeResponse.js.map +1 -0
- package/dist/es/interfaces/routeCacheResponse.d.ts +13 -0
- package/dist/es/interfaces/routeCacheResponse.d.ts.map +1 -0
- package/dist/es/interfaces/routeCacheResponse.js +2 -0
- package/dist/es/interfaces/routeCacheResponse.js.map +1 -0
- package/dist/es/interfaces/routeResponse.d.ts +42 -0
- package/dist/es/interfaces/routeResponse.d.ts.map +1 -0
- package/dist/es/interfaces/routeResponse.js +2 -0
- package/dist/es/interfaces/routeResponse.js.map +1 -0
- package/dist/es/interfaces/styleResponse.d.ts +5 -0
- package/dist/es/interfaces/styleResponse.d.ts.map +1 -0
- package/dist/es/interfaces/styleResponse.js +2 -0
- package/dist/es/interfaces/styleResponse.js.map +1 -0
- package/dist/es/logger/logger.d.ts +14 -0
- package/dist/es/logger/logger.d.ts.map +1 -0
- package/dist/es/logger/logger.js +84 -0
- package/dist/es/logger/logger.js.map +1 -0
- package/dist/es/logger/rollbar.d.ts +4 -0
- package/dist/es/logger/rollbar.d.ts.map +1 -0
- package/dist/es/logger/rollbar.js +20 -0
- package/dist/es/logger/rollbar.js.map +1 -0
- package/dist/es/map/map.d.ts +598 -0
- package/dist/es/map/map.d.ts.map +1 -0
- package/dist/es/map/map.js +1430 -0
- package/dist/es/map/map.js.map +1 -0
- package/dist/es/repository/repository.d.ts +65 -0
- package/dist/es/repository/repository.d.ts.map +1 -0
- package/dist/es/repository/repository.js +570 -0
- package/dist/es/repository/repository.js.map +1 -0
- package/dist/es/repository/requester.d.ts +169 -0
- package/dist/es/repository/requester.d.ts.map +1 -0
- package/dist/es/repository/requester.js +586 -0
- package/dist/es/repository/requester.js.map +1 -0
- package/dist/es/sdk.d.ts +279 -0
- package/dist/es/sdk.d.ts.map +1 -0
- package/dist/es/sdk.js +346 -0
- package/dist/es/sdk.js.map +1 -0
- package/dist/es/utils/error.d.ts +8 -0
- package/dist/es/utils/error.d.ts.map +1 -0
- package/dist/es/utils/error.js +16 -0
- package/dist/es/utils/error.js.map +1 -0
- package/dist/es/utils/images.d.ts +8 -0
- package/dist/es/utils/images.d.ts.map +1 -0
- package/dist/es/utils/images.js +22 -0
- package/dist/es/utils/images.js.map +1 -0
- package/dist/es/utils/nav-functions.d.ts +85 -0
- package/dist/es/utils/nav-functions.d.ts.map +1 -0
- package/dist/es/utils/nav-functions.js +143 -0
- package/dist/es/utils/nav-functions.js.map +1 -0
- package/dist/es/utils/opening-hours-helper.d.ts +395 -0
- package/dist/es/utils/opening-hours-helper.d.ts.map +1 -0
- package/dist/es/utils/opening-hours-helper.js +906 -0
- package/dist/es/utils/opening-hours-helper.js.map +1 -0
- package/dist/es/utils/route-utils.d.ts +28 -0
- package/dist/es/utils/route-utils.d.ts.map +1 -0
- package/dist/es/utils/route-utils.js +54 -0
- package/dist/es/utils/route-utils.js.map +1 -0
- package/dist/es/utils/update-css.d.ts +12 -0
- package/dist/es/utils/update-css.d.ts.map +1 -0
- package/dist/es/utils/update-css.js +73 -0
- package/dist/es/utils/update-css.js.map +1 -0
- package/dist/es/utils/utils.d.ts +39 -0
- package/dist/es/utils/utils.d.ts.map +1 -0
- package/dist/es/utils/utils.js +97 -0
- package/dist/es/utils/utils.js.map +1 -0
- package/dist/umd/index.js +16874 -0
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/styles.css +107 -0
- package/dist/umd/styles.css.map +1 -0
- package/dist/umd/styles.js +37 -0
- package/dist/umd/styles.js.map +1 -0
- package/package.json +198 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Banner } from "./banner";
|
|
2
|
+
import { PropertyUtils } from "./property";
|
|
3
|
+
/**
|
|
4
|
+
* MapVX place object, is a custom object containing data of a specific real place.
|
|
5
|
+
* Represents a physical location with all its associated metadata and properties.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const place = new MVXPlace(placeResponse);
|
|
10
|
+
* console.log(place.title); // "Coffee Shop"
|
|
11
|
+
* console.log(place.position); // { lat: 40.7128, lng: -74.0060 }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @group Places & Locations
|
|
15
|
+
*/
|
|
16
|
+
export class MVXPlace {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new place instance with the parameters specified in the data.
|
|
19
|
+
*
|
|
20
|
+
* @param rawPlace - JSON configuration parameters for the place from API response
|
|
21
|
+
* @returns A new instance of MVXPlace
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const placeResponse = await fetchPlaceData(placeId);
|
|
26
|
+
* const place = new MVXPlace(placeResponse);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
constructor(rawPlace) {
|
|
30
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
31
|
+
const tagsAndKeywords = ((_a = rawPlace.tags) !== null && _a !== void 0 ? _a : []).concat((_b = rawPlace.keywords) !== null && _b !== void 0 ? _b : []);
|
|
32
|
+
this.mapvxId = rawPlace.id;
|
|
33
|
+
this.clientId = (_c = rawPlace.alias) !== null && _c !== void 0 ? _c : rawPlace.externalId;
|
|
34
|
+
this.title = rawPlace.title;
|
|
35
|
+
this.hidePlace = tagsAndKeywords.includes("hide_search");
|
|
36
|
+
this.description = rawPlace.description;
|
|
37
|
+
this.shortDescription = rawPlace.shortDescription;
|
|
38
|
+
// @ts-expect-error - lon is not in the type but search results have it
|
|
39
|
+
this.position = { lat: rawPlace.lat, lng: rawPlace.lng || rawPlace.lon };
|
|
40
|
+
this.category = rawPlace.category;
|
|
41
|
+
this.tags = (_d = rawPlace.tags) !== null && _d !== void 0 ? _d : [];
|
|
42
|
+
this.generalCategory = rawPlace.general_category;
|
|
43
|
+
this.localizedCategory = (_e = rawPlace.localizedCategory) !== null && _e !== void 0 ? _e : "";
|
|
44
|
+
this.parentInstitutionId = rawPlace.parent_institution;
|
|
45
|
+
this.inFloors = rawPlace.inFloor;
|
|
46
|
+
this.innerFloors = [];
|
|
47
|
+
for (const key in rawPlace.innerFloors) {
|
|
48
|
+
this.innerFloors.push(Object.assign(Object.assign({}, rawPlace.innerFloors[key]), { key }));
|
|
49
|
+
}
|
|
50
|
+
this.innerFloors.sort((a, b) => a.index - b.index);
|
|
51
|
+
this.openingHours = rawPlace.opening_hours;
|
|
52
|
+
this.address = rawPlace.address;
|
|
53
|
+
this.transportLine = (_f = rawPlace.properties) === null || _f === void 0 ? void 0 : _f.filter((p) => p.type === "transport_line");
|
|
54
|
+
if (rawPlace.logo) {
|
|
55
|
+
this.logo = typeof rawPlace.logo === "string" ? rawPlace.logo : rawPlace.logo.light;
|
|
56
|
+
}
|
|
57
|
+
this.images = (_g = rawPlace.images) !== null && _g !== void 0 ? _g : [];
|
|
58
|
+
this.banners = ((_h = rawPlace.banners) !== null && _h !== void 0 ? _h : []).map((bannerResponse) => new Banner(bannerResponse));
|
|
59
|
+
this.properties = PropertyUtils.parseProperties((_j = rawPlace.properties) !== null && _j !== void 0 ? _j : []);
|
|
60
|
+
this.parentId = rawPlace.parent_id;
|
|
61
|
+
this.parentType = rawPlace.parent_type;
|
|
62
|
+
this.metadata = rawPlace.metadata;
|
|
63
|
+
this.visibility = (_k = rawPlace.visibility) !== null && _k !== void 0 ? _k : "public";
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns the floor in which the place exists as an InnerFloor object.
|
|
67
|
+
* If no matching available floor is found or if the place is not indoor,
|
|
68
|
+
* an undefined value will be returned.
|
|
69
|
+
*
|
|
70
|
+
* @param parentPlaceFloors - Array of existing parent place floors to search in
|
|
71
|
+
* @returns The matching InnerFloor object or undefined if not found
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const buildingFloors = getBuildingFloors();
|
|
76
|
+
* const placeFloor = place.inFloor(buildingFloors);
|
|
77
|
+
* if (placeFloor) {
|
|
78
|
+
* console.log(`Place is on floor: ${placeFloor.name}`);
|
|
79
|
+
* }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
inFloor(parentPlaceFloors) {
|
|
83
|
+
if (!this.inFloors || this.inFloors.length === 0) {
|
|
84
|
+
// outdoor place
|
|
85
|
+
return parentPlaceFloors.find((floor) => floor.reachableFromGPS);
|
|
86
|
+
}
|
|
87
|
+
return parentPlaceFloors.find((floor) => { var _a; return floor.key === ((_a = this.inFloors) === null || _a === void 0 ? void 0 : _a[0]); });
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns a string representation of the place
|
|
91
|
+
* @returns String in format "MVXPlace {mapvxId}"
|
|
92
|
+
*/
|
|
93
|
+
toString() {
|
|
94
|
+
return `MVXPlace ${this.mapvxId}`;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=place.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"place.js","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,OAAO,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAA;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,QAAQ;IAsInB;;;;;;;;;;;OAWG;IACH,YAAY,QAAuB;;QACjC,MAAM,eAAe,GAAG,CAAC,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAA,QAAQ,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAA;QAE7E,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,MAAA,QAAQ,CAAC,KAAK,mCAAI,QAAQ,CAAC,UAAU,CAAA;QACrD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QACxD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAA;QACjD,uEAAuE;QACvE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAA;QACxE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,IAAI,GAAG,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAA;QAChD,IAAI,CAAC,iBAAiB,GAAG,MAAA,QAAQ,CAAC,iBAAiB,mCAAI,EAAE,CAAA;QACzD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,kBAAkB,CAAA;QACtD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,iCAChB,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,KAC5B,GAAG,IACH,CAAA;SACH;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAClD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAA,QAAQ,CAAC,UAAU,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAEtE,CAAA;QACb,IAAI,QAAQ,CAAC,IAAI,EAAE;YACjB,IAAI,CAAC,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;SACpF;QACD,IAAI,CAAC,MAAM,GAAG,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAA,QAAQ,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;QAC3F,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,eAAe,CAAC,MAAA,QAAQ,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAA;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,UAAU,GAAG,MAAA,QAAQ,CAAC,UAAU,mCAAI,QAAQ,CAAA;IACnD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAA+B;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAChD,gBAAgB;YAChB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACjE;QACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,KAAK,CAAC,GAAG,MAAK,MAAA,IAAI,CAAC,QAAQ,0CAAG,CAAC,CAAC,CAAA,CAAA,EAAA,CAAC,CAAA;IAC5E,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/platform.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../src/domain/models/platform.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model configuration parameters for custom PopOver
|
|
3
|
+
* Defines the configuration options for popover components
|
|
4
|
+
* @todo Complete attributes with additional configuration options
|
|
5
|
+
* @hidden
|
|
6
|
+
*/
|
|
7
|
+
export interface PopOverConfig {
|
|
8
|
+
/**
|
|
9
|
+
* Identifier of the place associated with this popover
|
|
10
|
+
* Used to display place-specific information in the popover
|
|
11
|
+
*/
|
|
12
|
+
placeId?: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=popover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/popover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../../src/domain/models/popover.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a product in the system.
|
|
3
|
+
* Any route to a product should be a route to its category (ProductCategory should be a valid MVXPlace).
|
|
4
|
+
*
|
|
5
|
+
* To obtain product information, a language parameter should be sent.
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export interface Product {
|
|
9
|
+
/**
|
|
10
|
+
* Unique identifier for the product
|
|
11
|
+
*/
|
|
12
|
+
id: string;
|
|
13
|
+
/**
|
|
14
|
+
* Identifier of the category this product belongs to
|
|
15
|
+
*/
|
|
16
|
+
categoryId: string;
|
|
17
|
+
/**
|
|
18
|
+
* The name of the product
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* Price of the product
|
|
23
|
+
*/
|
|
24
|
+
price: number;
|
|
25
|
+
/**
|
|
26
|
+
* Brand name of the product
|
|
27
|
+
*/
|
|
28
|
+
brand: string;
|
|
29
|
+
/**
|
|
30
|
+
* Stock Keeping Unit or other product identifier
|
|
31
|
+
* Used for inventory and product tracking purposes
|
|
32
|
+
* @see https://es.wikipedia.org/wiki/Stock-keeping_unit
|
|
33
|
+
*/
|
|
34
|
+
sku: string;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=product.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/product.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAA;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../src/domain/models/product.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { type PlaceResponse } from "../../interfaces/placeResponse";
|
|
2
|
+
import { MVXPlace } from "./place";
|
|
3
|
+
/**
|
|
4
|
+
* Base interface for all property types that a place can have.
|
|
5
|
+
* Defines the common fields that all properties must have.
|
|
6
|
+
* @group Places & Locations
|
|
7
|
+
*/
|
|
8
|
+
export interface Property {
|
|
9
|
+
/**
|
|
10
|
+
* Title of the property
|
|
11
|
+
*/
|
|
12
|
+
title: string;
|
|
13
|
+
/**
|
|
14
|
+
* Subtitle or description of the property
|
|
15
|
+
*/
|
|
16
|
+
subtitle: string;
|
|
17
|
+
/**
|
|
18
|
+
* URL of the icon associated with the property (optional)
|
|
19
|
+
*/
|
|
20
|
+
icon?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Image URL for the property icon (optional)
|
|
23
|
+
*/
|
|
24
|
+
imageUrl?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Type of property to identify its category
|
|
27
|
+
*/
|
|
28
|
+
type?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Identifier of the parent place of the property (optional)
|
|
31
|
+
*/
|
|
32
|
+
childParentPlace?: string;
|
|
33
|
+
/**
|
|
34
|
+
* URL associated with the property (optional)
|
|
35
|
+
*/
|
|
36
|
+
url?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Icon prefix (defaults to "fas" for Font Awesome)
|
|
39
|
+
*/
|
|
40
|
+
iconPrefix?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Order of the property (optional)
|
|
43
|
+
*/
|
|
44
|
+
sortChildrenBy?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Interface that represents the API response for properties.
|
|
48
|
+
* Contains the data structure as it comes from the server.
|
|
49
|
+
* @group Places & Locations
|
|
50
|
+
*/
|
|
51
|
+
export interface PropertyResponse {
|
|
52
|
+
/**
|
|
53
|
+
* Identifying key of the property
|
|
54
|
+
*/
|
|
55
|
+
key: string;
|
|
56
|
+
/**
|
|
57
|
+
* Descriptive text of the property
|
|
58
|
+
*/
|
|
59
|
+
text: string;
|
|
60
|
+
/**
|
|
61
|
+
* URL of the associated icon (optional)
|
|
62
|
+
*/
|
|
63
|
+
icon?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Image URL for the property icon (optional)
|
|
66
|
+
*/
|
|
67
|
+
imageUrl?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Type of property
|
|
70
|
+
*/
|
|
71
|
+
type?: string;
|
|
72
|
+
/**
|
|
73
|
+
* URL associated with the property (optional)
|
|
74
|
+
*/
|
|
75
|
+
url?: string;
|
|
76
|
+
/**
|
|
77
|
+
* List of child places associated with this property
|
|
78
|
+
*/
|
|
79
|
+
child_places?: PlaceResponse[] | string[];
|
|
80
|
+
/**
|
|
81
|
+
* List of nested child properties
|
|
82
|
+
*/
|
|
83
|
+
child_properties: PropertyResponse[];
|
|
84
|
+
/**
|
|
85
|
+
* Identifier of the parent place of the children
|
|
86
|
+
*/
|
|
87
|
+
child_parent_place?: string;
|
|
88
|
+
/**
|
|
89
|
+
* Icon prefix
|
|
90
|
+
*/
|
|
91
|
+
iconPrefix?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Order of properties should be sorted by
|
|
94
|
+
*/
|
|
95
|
+
sortChildrenBy?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Interface that represents a transport service associated with a place.
|
|
99
|
+
* Extends the Property interface with transport-specific fields.
|
|
100
|
+
* @group Places & Locations
|
|
101
|
+
*/
|
|
102
|
+
export interface TransportLine extends Property {
|
|
103
|
+
/**
|
|
104
|
+
* Fixed type that identifies this property as a transport line
|
|
105
|
+
*/
|
|
106
|
+
type: "transport_line";
|
|
107
|
+
/**
|
|
108
|
+
* List of available transport lines
|
|
109
|
+
*/
|
|
110
|
+
lines: string[];
|
|
111
|
+
/**
|
|
112
|
+
* Source or provider of the transport service
|
|
113
|
+
*/
|
|
114
|
+
source: string[] | string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Interface for properties that only contain text.
|
|
118
|
+
* Extends Property without adding additional fields.
|
|
119
|
+
* @group Places & Locations
|
|
120
|
+
*/
|
|
121
|
+
export interface TextProperty extends Property {
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Interface for properties that have associated child places.
|
|
125
|
+
* Allows referencing other places from a property.
|
|
126
|
+
* @group Places & Locations
|
|
127
|
+
*/
|
|
128
|
+
export interface ChildPlacesProperty extends Property {
|
|
129
|
+
/**
|
|
130
|
+
* List of child places associated with this property.
|
|
131
|
+
* Can contain both IDs and complete MVXPlace objects.
|
|
132
|
+
*/
|
|
133
|
+
childPlaces: (MVXPlace | string)[];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Interface for properties that have nested sub-properties.
|
|
137
|
+
* Allows creating hierarchical property structures.
|
|
138
|
+
* @group Places & Locations
|
|
139
|
+
*/
|
|
140
|
+
export interface ChildPropertiesProperty extends Property {
|
|
141
|
+
/**
|
|
142
|
+
* List of nested child properties
|
|
143
|
+
*/
|
|
144
|
+
childProperties: Property[];
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Interface for properties that have an associated URL.
|
|
148
|
+
* Allows redirecting to external websites from a property.
|
|
149
|
+
* @group Places & Locations
|
|
150
|
+
*/
|
|
151
|
+
export interface UrlProperty extends Property {
|
|
152
|
+
/**
|
|
153
|
+
* URL to redirect to when this property is selected
|
|
154
|
+
*/
|
|
155
|
+
url: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Utility class for processing and converting properties from API responses.
|
|
159
|
+
* Provides methods to parse different property structures.
|
|
160
|
+
* @group Places & Locations
|
|
161
|
+
*/
|
|
162
|
+
export declare class PropertyUtils {
|
|
163
|
+
/**
|
|
164
|
+
* Converts an array of PropertyResponse to a typed Property array.
|
|
165
|
+
* Handles nested properties recursively and different property types.
|
|
166
|
+
*
|
|
167
|
+
* @param response Array of PropertyResponse from the API
|
|
168
|
+
* @returns Processed and typed Property array
|
|
169
|
+
*/
|
|
170
|
+
static parseProperties(response: PropertyResponse[]): Property[];
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=property.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAA;IAEzC;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;IAEpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C;;OAEG;IACH,IAAI,EAAE,gBAAgB,CAAA;IAEtB;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ;CAAG;AAEjD;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD;;;OAGG;IACH,WAAW,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACvD;;OAEG;IACH,eAAe,EAAE,QAAQ,EAAE,CAAA;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,QAAQ,EAAE;CA8EjE"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { MVXPlace } from "./place";
|
|
2
|
+
/**
|
|
3
|
+
* Utility class for processing and converting properties from API responses.
|
|
4
|
+
* Provides methods to parse different property structures.
|
|
5
|
+
* @group Places & Locations
|
|
6
|
+
*/
|
|
7
|
+
export class PropertyUtils {
|
|
8
|
+
/**
|
|
9
|
+
* Converts an array of PropertyResponse to a typed Property array.
|
|
10
|
+
* Handles nested properties recursively and different property types.
|
|
11
|
+
*
|
|
12
|
+
* @param response Array of PropertyResponse from the API
|
|
13
|
+
* @returns Processed and typed Property array
|
|
14
|
+
*/
|
|
15
|
+
static parseProperties(response) {
|
|
16
|
+
try {
|
|
17
|
+
const properties = [];
|
|
18
|
+
if (response) {
|
|
19
|
+
response.forEach((item) => {
|
|
20
|
+
var _a, _b, _c;
|
|
21
|
+
if (item.child_places) {
|
|
22
|
+
const childPlaces = item.child_places;
|
|
23
|
+
const childPlacesProperty = {
|
|
24
|
+
childPlaces: [],
|
|
25
|
+
title: item.key,
|
|
26
|
+
subtitle: item.text,
|
|
27
|
+
childParentPlace: item.child_parent_place,
|
|
28
|
+
icon: item.icon,
|
|
29
|
+
imageUrl: item.imageUrl,
|
|
30
|
+
iconPrefix: (_a = item.iconPrefix) !== null && _a !== void 0 ? _a : "fas",
|
|
31
|
+
sortChildrenBy: item.sortChildrenBy,
|
|
32
|
+
};
|
|
33
|
+
childPlaces.forEach((element) => {
|
|
34
|
+
if (typeof element === "string") {
|
|
35
|
+
// Add id to the array of childPlaces
|
|
36
|
+
childPlacesProperty.childPlaces.push(element);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// Transform object to MVXPlace and add to childPlaces array
|
|
40
|
+
const mvxPlace = new MVXPlace(element);
|
|
41
|
+
childPlacesProperty.childPlaces.push(mvxPlace);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
properties.push(childPlacesProperty);
|
|
45
|
+
}
|
|
46
|
+
else if (item.child_properties) {
|
|
47
|
+
// Parsing child properties with recursive call
|
|
48
|
+
const childProperties = item.child_properties;
|
|
49
|
+
const childPropertiesProperty = {
|
|
50
|
+
childProperties: [],
|
|
51
|
+
title: item.key,
|
|
52
|
+
subtitle: item.text,
|
|
53
|
+
childParentPlace: item.child_parent_place,
|
|
54
|
+
icon: item.icon,
|
|
55
|
+
imageUrl: item.imageUrl,
|
|
56
|
+
iconPrefix: (_b = item.iconPrefix) !== null && _b !== void 0 ? _b : "fas",
|
|
57
|
+
sortChildrenBy: item.sortChildrenBy,
|
|
58
|
+
};
|
|
59
|
+
const childPropertiesResult = this.parseProperties(childProperties);
|
|
60
|
+
childPropertiesProperty.childProperties = childPropertiesResult;
|
|
61
|
+
properties.push(childPropertiesProperty);
|
|
62
|
+
}
|
|
63
|
+
else if (item.url) {
|
|
64
|
+
const property = {
|
|
65
|
+
title: item.key,
|
|
66
|
+
subtitle: item.text,
|
|
67
|
+
icon: item.icon,
|
|
68
|
+
imageUrl: item.imageUrl,
|
|
69
|
+
iconPrefix: item.iconPrefix,
|
|
70
|
+
url: item.url,
|
|
71
|
+
type: item.type,
|
|
72
|
+
sortChildrenBy: item.sortChildrenBy,
|
|
73
|
+
};
|
|
74
|
+
properties.push(property);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const property = {
|
|
78
|
+
title: item.key,
|
|
79
|
+
subtitle: item.text,
|
|
80
|
+
childParentPlace: item.child_parent_place,
|
|
81
|
+
icon: item.icon,
|
|
82
|
+
imageUrl: item.imageUrl,
|
|
83
|
+
type: item.type,
|
|
84
|
+
iconPrefix: (_c = item.iconPrefix) !== null && _c !== void 0 ? _c : "fas",
|
|
85
|
+
sortChildrenBy: item.sortChildrenBy,
|
|
86
|
+
};
|
|
87
|
+
properties.push(property);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return properties;
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
console.log(err);
|
|
95
|
+
console.log(response);
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property.js","sourceRoot":"","sources":["../../../../src/domain/models/property.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAsLlC;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,QAA4B;QACjD,IAAI;YACF,MAAM,UAAU,GAAe,EAAE,CAAA;YACjC,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;oBACxB,IAAI,IAAI,CAAC,YAAY,EAAE;wBACrB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAA;wBACrC,MAAM,mBAAmB,GAAwB;4BAC/C,WAAW,EAAE,EAAE;4BACf,KAAK,EAAE,IAAI,CAAC,GAAG;4BACf,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;4BACzC,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK;4BACpC,cAAc,EAAE,IAAI,CAAC,cAAc;yBACpC,CAAA;wBACD,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;4BAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gCAC/B,qCAAqC;gCACrC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;6BAC9C;iCAAM;gCACL,4DAA4D;gCAC5D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAA;gCACtC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;6BAC/C;wBACH,CAAC,CAAC,CAAA;wBACF,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;qBACrC;yBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBAChC,+CAA+C;wBAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAA;wBAC7C,MAAM,uBAAuB,GAA4B;4BACvD,eAAe,EAAE,EAAE;4BACnB,KAAK,EAAE,IAAI,CAAC,GAAG;4BACf,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;4BACzC,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK;4BACpC,cAAc,EAAE,IAAI,CAAC,cAAc;yBACpC,CAAA;wBACD,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;wBACnE,uBAAuB,CAAC,eAAe,GAAG,qBAAqB,CAAA;wBAC/D,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;qBACzC;yBAAM,IAAI,IAAI,CAAC,GAAG,EAAE;wBACnB,MAAM,QAAQ,GAAgB;4BAC5B,KAAK,EAAE,IAAI,CAAC,GAAG;4BACf,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,cAAc,EAAE,IAAI,CAAC,cAAc;yBACpC,CAAA;wBACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;qBAC1B;yBAAM;wBACL,MAAM,QAAQ,GAAa;4BACzB,KAAK,EAAE,IAAI,CAAC,GAAG;4BACf,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;4BACzC,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK;4BACpC,cAAc,EAAE,IAAI,CAAC,cAAc;yBACpC,CAAA;wBACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;qBAC1B;gBACH,CAAC,CAAC,CAAA;aACH;YACD,OAAO,UAAU,CAAA;SAClB;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACrB,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CACF"}
|