@wemap/providers 3.1.23 → 3.2.2

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 (74) hide show
  1. package/babel.config.json +16 -0
  2. package/debug/MainComponent.jsx +5 -5
  3. package/debug/components/AbsoluteAttitudeComponent.jsx +5 -5
  4. package/debug/components/AbsolutePositionComponent.jsx +7 -9
  5. package/debug/components/GnssWifiComponent.jsx +5 -5
  6. package/debug/components/ImuComponent.jsx +4 -4
  7. package/debug/components/InclinationComponent.jsx +4 -4
  8. package/debug/components/RelativeAttitudeComponent.jsx +4 -4
  9. package/debug/components/StepDetectionComponent.jsx +4 -4
  10. package/debug/components/Utils.js +1 -1
  11. package/debug/{Common.css → css/App.css} +0 -44
  12. package/debug/css/UserOnMapHandler.css +43 -0
  13. package/debug/details/DetailsAttitudeComponent.jsx +1 -1
  14. package/debug/details/DetailsComponent.jsx +4 -5
  15. package/debug/details/DetailsPositionComponent.jsx +2 -2
  16. package/debug/details/ItineraryComponent.jsx +10 -69
  17. package/debug/index.js +8 -8
  18. package/debug/map/MapComponent.jsx +23 -15
  19. package/debug/map/MapHandler.js +7 -16
  20. package/debug/map/helpers/ItineraryMapHandler.js +15 -16
  21. package/debug/map/helpers/MapClickHandler.js +9 -7
  22. package/debug/map/helpers/UserOnMapHandler.js +38 -417
  23. package/debug/stores/ItineraryStore.js +23 -48
  24. package/dist/assets/indoor-maps/bureaux-wemap-montpellier.geojson +339 -513
  25. package/dist/js/providers-components.js +2361 -0
  26. package/dist/logger.html +58 -0
  27. package/index.js +7 -5
  28. package/package.json +25 -21
  29. package/src/Providers.js +15 -15
  30. package/src/ProvidersInterface.js +7 -5
  31. package/src/errors/MissingAccelerometerError.js +2 -2
  32. package/src/errors/MissingGyroscopeError.js +2 -2
  33. package/src/errors/MissingMagnetometerError.js +1 -1
  34. package/src/events/ProviderEvent.js +1 -1
  35. package/src/events/{ProvidersLogger.js → ProvidersLoggerOld.js} +7 -7
  36. package/src/logger/NavigationLogger.js +138 -0
  37. package/src/logger/NavigationLoggerConverter.js +263 -0
  38. package/src/providers/FakeProvider.spec.js +3 -4
  39. package/src/providers/MetaProvider.js +3 -3
  40. package/src/providers/Provider.js +12 -11
  41. package/src/providers/Provider.spec.js +5 -7
  42. package/src/providers/attitude/EkfAttitude.spec.js +1 -1
  43. package/src/providers/attitude/absolute/AbsoluteAttitudeFromBrowserProvider.js +9 -8
  44. package/src/providers/attitude/absolute/AbsoluteAttitudeFromRelAttProvider.js +5 -6
  45. package/src/providers/attitude/absolute/AbsoluteAttitudeProvider.js +3 -3
  46. package/src/providers/attitude/relative/RelativeAttitudeFromBrowserProvider.js +7 -5
  47. package/src/providers/attitude/relative/RelativeAttitudeFromEkfProvider.js +5 -5
  48. package/src/providers/attitude/relative/RelativeAttitudeFromInertialProvider.js +3 -3
  49. package/src/providers/attitude/relative/RelativeAttitudeProvider.js +5 -4
  50. package/src/providers/imu/AccelerometerProvider.js +4 -4
  51. package/src/providers/imu/GyroscopeProvider.js +4 -4
  52. package/src/providers/imu/ImuProvider.js +5 -4
  53. package/src/providers/inclination/InclinationFromAccProvider.js +3 -3
  54. package/src/providers/inclination/InclinationFromRelativeAttitudeProvider.js +3 -3
  55. package/src/providers/inclination/InclinationProvider.js +3 -3
  56. package/src/providers/legacy/helpers/HeadingUnlocker.spec.js +1 -1
  57. package/src/providers/others/BarcodeProvider.js +3 -3
  58. package/src/providers/others/CameraNativeProvider.js +4 -4
  59. package/src/providers/others/CameraProjectionMatrixProvider.js +3 -3
  60. package/src/providers/position/absolute/AbsolutePositionFromRelProvider.js +4 -4
  61. package/src/providers/position/absolute/AbsolutePositionProvider.js +5 -5
  62. package/src/providers/position/absolute/GnssWifiProvider.js +9 -6
  63. package/src/providers/position/absolute/IpProvider.js +3 -3
  64. package/src/providers/position/relative/ArCoreProvider.js +5 -5
  65. package/src/providers/position/relative/GeoRelativePositionFromArCoreProvider.js +3 -3
  66. package/src/providers/position/relative/GeoRelativePositionProvider.js +3 -3
  67. package/src/providers/position/relative/PdrProvider.js +3 -3
  68. package/src/providers/steps/StepDetectionProvider.js +11 -4
  69. package/src/smoothers/PositionSmoother.spec.js +1 -1
  70. package/webpack/{webpack.common.js → webpack.common.cjs} +7 -1
  71. package/webpack/{webpack.dev.js → webpack.dev.cjs} +1 -7
  72. package/webpack/{webpack.prod.js → webpack.prod.cjs} +1 -1
  73. package/babel.config.js +0 -11
  74. package/debug/map/MapboxHelper.js +0 -50
@@ -3,7 +3,7 @@ import chaiAlmost from 'chai-almost';
3
3
 
4
4
  import { deg2rad } from '@wemap/maths';
5
5
 
6
- import HeadingUnlocker from './HeadingUnlocker';
6
+ import HeadingUnlocker from './HeadingUnlocker.js';
7
7
 
8
8
  const expect = chai.expect;
9
9
  chai.use(chaiAlmost());
@@ -1,6 +1,6 @@
1
- import Provider from '../Provider';
2
- import EventType from '../../events/EventType';
3
- import { ArCore } from '../../Providers';
1
+ import Provider from '../Provider.js';
2
+ import EventType from '../../events/EventType.js';
3
+ import { ArCore } from '../../Providers.js';
4
4
 
5
5
  class BarcodeProvider extends Provider {
6
6
 
@@ -1,7 +1,7 @@
1
- import MetaProvider from '../MetaProvider';
2
- import EventType from '../../events/EventType';
3
- import { ArCore } from '../../Providers';
4
- import ProviderState from '../ProviderState';
1
+ import MetaProvider from '../MetaProvider.js';
2
+ import EventType from '../../events/EventType.js';
3
+ import { ArCore } from '../../Providers.js';
4
+ import ProviderState from '../ProviderState.js';
5
5
 
6
6
  class CameraNativeProvider extends MetaProvider {
7
7
 
@@ -1,6 +1,6 @@
1
- import MetaProvider from '../MetaProvider';
2
- import EventType from '../../events/EventType';
3
- import { ArCore } from '../../Providers';
1
+ import MetaProvider from '../MetaProvider.js';
2
+ import EventType from '../../events/EventType.js';
3
+ import { ArCore } from '../../Providers.js';
4
4
 
5
5
  class CameraProjectionMatrixProvider extends MetaProvider {
6
6
 
@@ -1,9 +1,9 @@
1
- import Provider from '../../Provider';
2
- import EventType from '../../../events/EventType';
3
- import ProviderEvent from '../../../events/ProviderEvent';
1
+ import Provider from '../../Provider.js';
2
+ import EventType from '../../../events/EventType.js';
3
+ import ProviderEvent from '../../../events/ProviderEvent.js';
4
4
  import {
5
5
  AbsolutePosition, GeoRelativePosition
6
- } from '../../../Providers';
6
+ } from '../../../Providers.js';
7
7
 
8
8
  class AbsolutePositionFromRelProvider extends Provider {
9
9
 
@@ -7,13 +7,13 @@ import {
7
7
  import { deg2rad } from '@wemap/maths';
8
8
  import { PromiseUtils } from '@wemap/utils';
9
9
 
10
- import MetaProvider from '../../MetaProvider';
11
- import EventType from '../../../events/EventType';
12
- import ProviderEvent from '../../../events/ProviderEvent';
10
+ import MetaProvider from '../../MetaProvider.js';
11
+ import EventType from '../../../events/EventType.js';
12
+ import ProviderEvent from '../../../events/ProviderEvent.js';
13
13
  import {
14
14
  AbsolutePositionFromRel, GnssWifi
15
- } from '../../../Providers';
16
- import ProvidersOptions from '../../../ProvidersOptions';
15
+ } from '../../../Providers.js';
16
+ import ProvidersOptions from '../../../ProvidersOptions.js';
17
17
 
18
18
  // Position accuracy uncertainty ratio
19
19
  const ACCURACY_NEW_POS_EPS_RATIO = 1.5;
@@ -2,12 +2,13 @@ import { deg2rad } from '@wemap/maths';
2
2
  import { UserPosition } from '@wemap/geo';
3
3
  import { TimeUtils } from '@wemap/utils';
4
4
 
5
- import EventType from '../../../events/EventType';
6
- import GeolocationApiMissingError from '../../../errors/GeolocationApiMissingError';
7
- import Provider from '../../Provider';
8
- import GeolocationPermissionDeniedError from '../../../errors/GeolocationPermissionDeniedError';
9
- import GeolocationPositionUnavailableError from '../../../errors/GeolocationPositionUnavailableError';
10
- import Constants from '../../Constants';
5
+ import EventType from '../../../events/EventType.js';
6
+ import GeolocationApiMissingError from '../../../errors/GeolocationApiMissingError.js';
7
+ import Provider from '../../Provider.js';
8
+ import GeolocationPermissionDeniedError from '../../../errors/GeolocationPermissionDeniedError.js';
9
+ import GeolocationPositionUnavailableError from '../../../errors/GeolocationPositionUnavailableError.js';
10
+ import Constants from '../../Constants.js';
11
+ import NavigationLogger from '../../../logger/NavigationLogger.js';
11
12
 
12
13
  const POSITION_OPTIONS = {
13
14
  enableHighAccuracy: true,
@@ -72,6 +73,8 @@ class GnssWifiProvider extends Provider {
72
73
  * @private
73
74
  */
74
75
  onNewPosition = geolocation => {
76
+ NavigationLogger.feedGeolocation(geolocation);
77
+
75
78
  const { coords } = geolocation;
76
79
  if (!coords) {
77
80
  return;
@@ -1,9 +1,9 @@
1
1
  import { UserPosition } from '@wemap/geo';
2
2
  import { TimeUtils } from '@wemap/utils';
3
3
 
4
- import EventType from '../../../events/EventType';
5
- import Provider from '../../Provider';
6
- import IpResolveServerError from '../../../errors/IpResolveServerError';
4
+ import EventType from '../../../events/EventType.js';
5
+ import Provider from '../../Provider.js';
6
+ import IpResolveServerError from '../../../errors/IpResolveServerError.js';
7
7
 
8
8
  /**
9
9
  * GnssWifiProvider is a provider based on navigator.geolocation.
@@ -5,11 +5,11 @@ import {
5
5
  import { deg2rad } from '@wemap/maths';
6
6
  import { TimeUtils } from '@wemap/utils';
7
7
 
8
- import Provider from '../../Provider';
9
- import EventType from '../../../events/EventType';
10
- import MissingArCoreError from '../../../errors/MissingArCoreError';
11
- import MissingNativeInterfaceError from '../../../errors/MissingNativeInterfaceError';
12
- import ProviderState from '../../ProviderState';
8
+ import Provider from '../../Provider.js';
9
+ import EventType from '../../../events/EventType.js';
10
+ import MissingArCoreError from '../../../errors/MissingArCoreError.js';
11
+ import MissingNativeInterfaceError from '../../../errors/MissingNativeInterfaceError.js';
12
+ import ProviderState from '../../ProviderState.js';
13
13
 
14
14
 
15
15
  const Payload = {
@@ -1,10 +1,10 @@
1
1
  import { GeoRelativePosition } from '@wemap/geo';
2
2
 
3
- import EventType from '../../../events/EventType';
4
- import Provider from '../../Provider';
3
+ import EventType from '../../../events/EventType.js';
4
+ import Provider from '../../Provider.js';
5
5
  import {
6
6
  ArCore, AbsoluteAttitude
7
- } from '../../../Providers';
7
+ } from '../../../Providers.js';
8
8
 
9
9
  class GeoRelativePositionFromArCoreProvider extends Provider {
10
10
 
@@ -1,10 +1,10 @@
1
1
  import { PromiseUtils } from '@wemap/utils';
2
2
 
3
- import MetaProvider from '../../MetaProvider';
4
- import EventType from '../../../events/EventType';
3
+ import MetaProvider from '../../MetaProvider.js';
4
+ import EventType from '../../../events/EventType.js';
5
5
  import {
6
6
  Pdr, GeoRelativePositionFromArCore
7
- } from '../../../Providers';
7
+ } from '../../../Providers.js';
8
8
 
9
9
  class GeoRelativePositionProvider extends MetaProvider {
10
10
 
@@ -1,11 +1,11 @@
1
1
  import { GeoRelativePosition } from '@wemap/geo';
2
2
  import { deg2rad } from '@wemap/maths';
3
3
 
4
- import Provider from '../../Provider';
5
- import EventType from '../../../events/EventType';
4
+ import Provider from '../../Provider.js';
5
+ import EventType from '../../../events/EventType.js';
6
6
  import {
7
7
  StepDetection, AbsoluteAttitude
8
- } from '../../../Providers';
8
+ } from '../../../Providers.js';
9
9
 
10
10
  class PdrProvider extends Provider {
11
11
 
@@ -1,12 +1,12 @@
1
1
  import { Constants as GeoConstants } from '@wemap/geo';
2
2
  import { Quaternion } from '@wemap/maths';
3
3
 
4
- import EventType from '../../events/EventType';
5
- import Provider from '../Provider';
6
- import StepDetectionMinMaxPeaks2 from './StepDetectionMinMaxPeaks2';
4
+ import EventType from '../../events/EventType.js';
5
+ import Provider from '../Provider.js';
6
+ import StepDetectionMinMaxPeaks2 from './StepDetectionMinMaxPeaks2.js';
7
7
  import {
8
8
  Accelerometer, Gyroscope, RelativeAttitudeFromInertial
9
- } from '../../Providers';
9
+ } from '../../Providers.js';
10
10
 
11
11
  class StepDetectionProvider extends Provider {
12
12
 
@@ -15,6 +15,13 @@ class StepDetectionProvider extends Provider {
15
15
  this.stepDetector = new StepDetectionMinMaxPeaks2();
16
16
  }
17
17
 
18
+ /**
19
+ * @override
20
+ */
21
+ static get pname() {
22
+ return 'StepDetection';
23
+ }
24
+
18
25
  /**
19
26
  * @override
20
27
  */
@@ -5,7 +5,7 @@ import {
5
5
  Constants as GeoConstants, Coordinates, UserPosition
6
6
  } from '@wemap/geo';
7
7
 
8
- import Smoother from './PositionSmoother';
8
+ import Smoother from './PositionSmoother.js';
9
9
 
10
10
 
11
11
  const expect = chai.expect;
@@ -1,3 +1,5 @@
1
+ const path = require('path');
2
+
1
3
  module.exports = {
2
4
  module: {
3
5
  rules: [
@@ -16,5 +18,9 @@ module.exports = {
16
18
  }
17
19
  ]
18
20
  },
19
- resolve: { extensions: ['.js', '.jsx'] }
21
+ resolve: {
22
+ extensions: ['.js', '.jsx'],
23
+ alias: { 'mapbox-gl': path.resolve('node_modules', 'mapbox-gl') }
24
+ }
25
+
20
26
  };
@@ -1,7 +1,7 @@
1
1
  const merge = require('webpack-merge');
2
2
  const path = require('path');
3
3
 
4
- const common = require('./webpack.common.js');
4
+ const common = require('./webpack.common.cjs');
5
5
  const config = require('../config.json');
6
6
 
7
7
  const distFolder = path.join(__dirname, '../', config.distFolder);
@@ -21,11 +21,5 @@ module.exports = merge(common, {
21
21
  hot: true,
22
22
  host: '0.0.0.0',
23
23
  port: 9000
24
- },
25
- resolve: {
26
- alias: {
27
- 'mapbox-gl': '@thibaudm/mapbox-gl-js-indoor/dist/mapbox-gl.js',
28
- 'mapbox-gl-css': '@thibaudm/mapbox-gl-js-indoor/dist/mapbox-gl.css'
29
- }
30
24
  }
31
25
  });
@@ -1,7 +1,7 @@
1
1
  const merge = require('webpack-merge');
2
2
  const path = require('path');
3
3
 
4
- const common = require('./webpack.common.js');
4
+ const common = require('./webpack.common.cjs');
5
5
  const config = require('../config.json');
6
6
 
7
7
  module.exports = merge(common, {
package/babel.config.js DELETED
@@ -1,11 +0,0 @@
1
- module.exports = function(api) {
2
- api.cache(true);
3
-
4
- const presets = ['@babel/preset-env', '@babel/preset-react'];
5
- const plugins = ['@babel/plugin-proposal-class-properties'];
6
-
7
- return {
8
- presets,
9
- plugins
10
- };
11
- };
@@ -1,50 +0,0 @@
1
- import mapboxgl from 'mapbox-gl';
2
-
3
- class MapboxHelper {
4
-
5
- static coordsToLngLat = coords => [coords.lng, coords.lat];
6
-
7
- // https://stackoverflow.com/a/39006388/2239938
8
- static createGeoJSONCircle(center, radiusInKm, points) {
9
- if (!points) {
10
- points = 64;
11
- }
12
-
13
- var coords = {
14
- latitude: center[1],
15
- longitude: center[0]
16
- };
17
-
18
- var km = radiusInKm;
19
-
20
- var ret = [];
21
- var distanceX = km / (111.320 * Math.cos(coords.latitude * Math.PI / 180));
22
- var distanceY = km / 110.574;
23
-
24
- var theta, x, y;
25
- for (let i = 0; i < points; i++) {
26
- theta = (i / points) * (2 * Math.PI);
27
- x = distanceX * Math.cos(theta);
28
- y = distanceY * Math.sin(theta);
29
-
30
- ret.push([coords.longitude + x, coords.latitude + y]);
31
- }
32
- ret.push(ret[0]);
33
- return ret;
34
- }
35
-
36
- static createMarker(options) {
37
- const elem = document.createElement('div');
38
- elem.style.marginLeft = '-' + options.iconAnchor[0] + 'px';
39
- elem.style.marginTop = '-' + options.iconAnchor[1] + 'px';
40
- elem.style.width = 0;
41
- elem.style.height = 0;
42
- elem.appendChild(options.dom);
43
-
44
- const marker = new mapboxgl.Marker(elem);
45
- marker.setLngLat([options.longitude, options.latitude]);
46
- return marker;
47
- }
48
- }
49
-
50
- export default MapboxHelper;