@maplibre/maplibre-react-native 11.0.0-alpha.31 → 11.0.0-alpha.33

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 (99) hide show
  1. package/README.md +1 -1
  2. package/android/src/main/java/org/maplibre/reactnative/MLRNPackage.kt +10 -12
  3. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapView.kt +9 -0
  4. package/android/src/main/java/org/maplibre/reactnative/components/mapview/MLRNMapViewManager.kt +5 -1
  5. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNModule.java +6 -24
  6. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNOfflineModule.kt +561 -0
  7. package/ios/components/map-view/MLRNMapView.h +1 -0
  8. package/ios/components/map-view/MLRNMapView.m +5 -0
  9. package/ios/components/map-view/MLRNMapViewComponentView.mm +4 -0
  10. package/ios/modules/mlrn/MLRNModule.m +0 -13
  11. package/ios/modules/offline/MLRNOfflineModule.h +4 -7
  12. package/ios/modules/offline/MLRNOfflineModule.mm +693 -0
  13. package/lib/commonjs/MLRNModule.js +1 -3
  14. package/lib/commonjs/MLRNModule.js.map +1 -1
  15. package/lib/commonjs/components/map-view/AndroidTextureMapViewNativeComponent.ts +1 -0
  16. package/lib/commonjs/components/map-view/MapView.js.map +1 -1
  17. package/lib/commonjs/components/map-view/MapViewNativeComponent.ts +1 -0
  18. package/lib/commonjs/index.js +0 -8
  19. package/lib/commonjs/index.js.map +1 -1
  20. package/lib/commonjs/modules/offline/NativeOfflineModule.js +9 -0
  21. package/lib/commonjs/modules/offline/NativeOfflineModule.js.map +1 -0
  22. package/lib/commonjs/modules/offline/OfflineManager.js +124 -164
  23. package/lib/commonjs/modules/offline/OfflineManager.js.map +1 -1
  24. package/lib/commonjs/modules/offline/OfflinePack.js +15 -25
  25. package/lib/commonjs/modules/offline/OfflinePack.js.map +1 -1
  26. package/lib/module/MLRNModule.js +0 -1
  27. package/lib/module/MLRNModule.js.map +1 -1
  28. package/lib/module/components/map-view/AndroidTextureMapViewNativeComponent.ts +1 -0
  29. package/lib/module/components/map-view/MapView.js.map +1 -1
  30. package/lib/module/components/map-view/MapViewNativeComponent.ts +1 -0
  31. package/lib/module/index.js +0 -1
  32. package/lib/module/index.js.map +1 -1
  33. package/lib/module/modules/offline/NativeOfflineModule.js +5 -0
  34. package/lib/module/modules/offline/NativeOfflineModule.js.map +1 -0
  35. package/lib/module/modules/offline/OfflineManager.js +123 -163
  36. package/lib/module/modules/offline/OfflineManager.js.map +1 -1
  37. package/lib/module/modules/offline/OfflinePack.js +14 -25
  38. package/lib/module/modules/offline/OfflinePack.js.map +1 -1
  39. package/lib/typescript/commonjs/src/MLRNModule.d.ts +1 -6
  40. package/lib/typescript/commonjs/src/MLRNModule.d.ts.map +1 -1
  41. package/lib/typescript/commonjs/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts +1 -0
  42. package/lib/typescript/commonjs/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts +6 -0
  44. package/lib/typescript/commonjs/src/components/map-view/MapView.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts +1 -0
  46. package/lib/typescript/commonjs/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/src/index.d.ts +2 -5
  48. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/src/modules/offline/NativeOfflineModule.d.ts +50 -0
  50. package/lib/typescript/commonjs/src/modules/offline/NativeOfflineModule.d.ts.map +1 -0
  51. package/lib/typescript/commonjs/src/modules/offline/OfflineManager.d.ts +66 -69
  52. package/lib/typescript/commonjs/src/modules/offline/OfflineManager.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/src/modules/offline/OfflinePack.d.ts +11 -9
  54. package/lib/typescript/commonjs/src/modules/offline/OfflinePack.d.ts.map +1 -1
  55. package/lib/typescript/module/src/MLRNModule.d.ts +1 -6
  56. package/lib/typescript/module/src/MLRNModule.d.ts.map +1 -1
  57. package/lib/typescript/module/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts +1 -0
  58. package/lib/typescript/module/src/components/map-view/AndroidTextureMapViewNativeComponent.d.ts.map +1 -1
  59. package/lib/typescript/module/src/components/map-view/MapView.d.ts +6 -0
  60. package/lib/typescript/module/src/components/map-view/MapView.d.ts.map +1 -1
  61. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts +1 -0
  62. package/lib/typescript/module/src/components/map-view/MapViewNativeComponent.d.ts.map +1 -1
  63. package/lib/typescript/module/src/index.d.ts +2 -5
  64. package/lib/typescript/module/src/index.d.ts.map +1 -1
  65. package/lib/typescript/module/src/modules/offline/NativeOfflineModule.d.ts +50 -0
  66. package/lib/typescript/module/src/modules/offline/NativeOfflineModule.d.ts.map +1 -0
  67. package/lib/typescript/module/src/modules/offline/OfflineManager.d.ts +66 -69
  68. package/lib/typescript/module/src/modules/offline/OfflineManager.d.ts.map +1 -1
  69. package/lib/typescript/module/src/modules/offline/OfflinePack.d.ts +11 -9
  70. package/lib/typescript/module/src/modules/offline/OfflinePack.d.ts.map +1 -1
  71. package/package.json +7 -3
  72. package/src/MLRNModule.ts +0 -8
  73. package/src/components/map-view/AndroidTextureMapViewNativeComponent.ts +1 -0
  74. package/src/components/map-view/MapView.tsx +7 -0
  75. package/src/components/map-view/MapViewNativeComponent.ts +1 -0
  76. package/src/index.ts +13 -5
  77. package/src/modules/offline/NativeOfflineModule.ts +63 -0
  78. package/src/modules/offline/OfflineManager.ts +174 -210
  79. package/src/modules/offline/OfflinePack.ts +22 -32
  80. package/android/src/main/java/org/maplibre/reactnative/modules/MLRNOfflineModule.java +0 -586
  81. package/ios/modules/offline/MLRNOfflineModule.m +0 -524
  82. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js +0 -37
  83. package/lib/commonjs/modules/offline/OfflineCreatePackOptions.js.map +0 -1
  84. package/lib/commonjs/utils/makeNativeBounds.js +0 -11
  85. package/lib/commonjs/utils/makeNativeBounds.js.map +0 -1
  86. package/lib/module/modules/offline/OfflineCreatePackOptions.js +0 -32
  87. package/lib/module/modules/offline/OfflineCreatePackOptions.js.map +0 -1
  88. package/lib/module/utils/makeNativeBounds.js +0 -7
  89. package/lib/module/utils/makeNativeBounds.js.map +0 -1
  90. package/lib/typescript/commonjs/src/modules/offline/OfflineCreatePackOptions.d.ts +0 -20
  91. package/lib/typescript/commonjs/src/modules/offline/OfflineCreatePackOptions.d.ts.map +0 -1
  92. package/lib/typescript/commonjs/src/utils/makeNativeBounds.d.ts +0 -2
  93. package/lib/typescript/commonjs/src/utils/makeNativeBounds.d.ts.map +0 -1
  94. package/lib/typescript/module/src/modules/offline/OfflineCreatePackOptions.d.ts +0 -20
  95. package/lib/typescript/module/src/modules/offline/OfflineCreatePackOptions.d.ts.map +0 -1
  96. package/lib/typescript/module/src/utils/makeNativeBounds.d.ts +0 -2
  97. package/lib/typescript/module/src/utils/makeNativeBounds.d.ts.map +0 -1
  98. package/src/modules/offline/OfflineCreatePackOptions.ts +0 -53
  99. package/src/utils/makeNativeBounds.ts +0 -5
@@ -4,36 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.OfflinePack = void 0;
7
- var _reactNative = require("react-native");
8
- const MLRNOfflineModule = _reactNative.NativeModules.MLRNOfflineModule;
7
+ var _NativeOfflineModule = _interopRequireDefault(require("./NativeOfflineModule.js"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  class OfflinePack {
10
+ /** Unique Identifier (UUID), auto-generated natively during creation. */
11
+
12
+ /** User-provided metadata object. */
13
+
10
14
  constructor(pack) {
11
- this.pack = pack;
12
- this._metadata = null;
13
- }
14
- get name() {
15
- const {
16
- metadata
17
- } = this;
18
- return metadata && metadata.name;
19
- }
20
- get bounds() {
21
- return this.pack.bounds;
22
- }
23
- get metadata() {
24
- if (!this._metadata && this.pack.metadata) {
25
- this._metadata = JSON.parse(this.pack.metadata);
26
- }
27
- return this._metadata;
15
+ this.id = pack.id;
16
+ this.bounds = pack.bounds;
17
+ this.metadata = JSON.parse(pack.metadata);
28
18
  }
29
- status() {
30
- return MLRNOfflineModule.getPackStatus(this.name);
19
+ async status() {
20
+ return _NativeOfflineModule.default.getPackStatus(this.id);
31
21
  }
32
- resume() {
33
- return MLRNOfflineModule.resumePackDownload(this.name);
22
+ async resume() {
23
+ return _NativeOfflineModule.default.resumePackDownload(this.id);
34
24
  }
35
- pause() {
36
- return MLRNOfflineModule.pausePackDownload(this.name);
25
+ async pause() {
26
+ return _NativeOfflineModule.default.pausePackDownload(this.id);
37
27
  }
38
28
  }
39
29
  exports.OfflinePack = OfflinePack;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","MLRNOfflineModule","NativeModules","OfflinePack","constructor","pack","_metadata","name","metadata","bounds","JSON","parse","status","getPackStatus","resume","resumePackDownload","pause","pausePackDownload","exports"],"sourceRoot":"../../../../src","sources":["modules/offline/OfflinePack.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIA,MAAMC,iBAAiB,GAAGC,0BAAa,CAACD,iBAAiB;AAalD,MAAME,WAAW,CAAC;EAIvBC,WAAWA,CAACC,IAA8B,EAAE;IAC1C,IAAI,CAACA,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,SAAS,GAAG,IAAI;EACvB;EAEA,IAAIC,IAAIA,CAAA,EAAkB;IACxB,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI;IACzB,OAAOA,QAAQ,IAAIA,QAAQ,CAACD,IAAI;EAClC;EAEA,IAAIE,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACJ,IAAI,CAACI,MAAM;EACzB;EAEA,IAAID,QAAQA,CAAA,EAA+B;IACzC,IAAI,CAAC,IAAI,CAACF,SAAS,IAAI,IAAI,CAACD,IAAI,CAACG,QAAQ,EAAE;MACzC,IAAI,CAACF,SAAS,GAAGI,IAAI,CAACC,KAAK,CAAC,IAAI,CAACN,IAAI,CAACG,QAAQ,CAAC;IACjD;IACA,OAAO,IAAI,CAACF,SAAS;EACvB;EAEAM,MAAMA,CAAA,EAA+B;IACnC,OAAOX,iBAAiB,CAACY,aAAa,CAAC,IAAI,CAACN,IAAI,CAAC;EACnD;EAEAO,MAAMA,CAAA,EAAkB;IACtB,OAAOb,iBAAiB,CAACc,kBAAkB,CAAC,IAAI,CAACR,IAAI,CAAC;EACxD;EAEAS,KAAKA,CAAA,EAAkB;IACrB,OAAOf,iBAAiB,CAACgB,iBAAiB,CAAC,IAAI,CAACV,IAAI,CAAC;EACvD;AACF;AAACW,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_NativeOfflineModule","_interopRequireDefault","require","e","__esModule","default","OfflinePack","constructor","pack","id","bounds","metadata","JSON","parse","status","NativeOfflineModule","getPackStatus","resume","resumePackDownload","pause","pausePackDownload","exports"],"sourceRoot":"../../../../src","sources":["modules/offline/OfflinePack.ts"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAE+B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAexB,MAAMG,WAAW,CAAC;EACvB;;EAGA;;EAKAC,WAAWA,CAACC,IAAuB,EAAE;IACnC,IAAI,CAACC,EAAE,GAAGD,IAAI,CAACC,EAAE;IACjB,IAAI,CAACC,MAAM,GAAGF,IAAI,CAACE,MAAsB;IACzC,IAAI,CAACC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACL,IAAI,CAACG,QAAQ,CAAC;EAC3C;EAEA,MAAMG,MAAMA,CAAA,EAA+B;IACzC,OAAOC,4BAAmB,CAACC,aAAa,CAAC,IAAI,CAACP,EAAE,CAAC;EACnD;EAEA,MAAMQ,MAAMA,CAAA,EAAkB;IAC5B,OAAOF,4BAAmB,CAACG,kBAAkB,CAAC,IAAI,CAACT,EAAE,CAAC;EACxD;EAEA,MAAMU,KAAKA,CAAA,EAAkB;IAC3B,OAAOJ,4BAAmB,CAACK,iBAAiB,CAAC,IAAI,CAACX,EAAE,CAAC;EACvD;AACF;AAACY,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -3,7 +3,6 @@
3
3
  import { NativeModules } from "react-native";
4
4
  const MLRNModule = Object.create(NativeModules.MLRNModule);
5
5
  export const {
6
- OfflinePackDownloadState,
7
6
  StyleSource,
8
7
  StyleURL,
9
8
  addCustomHeader,
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","MLRNModule","Object","create","OfflinePackDownloadState","StyleSource","StyleURL","addCustomHeader","removeCustomHeader","setConnected"],"sourceRoot":"../../src","sources":["MLRNModule.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;AAwB5C,MAAMC,UAAuB,GAAGC,MAAM,CAACC,MAAM,CAACH,aAAa,CAACC,UAAU,CAAC;AAEvE,OAAO,MAAM;EACXG,wBAAwB;EACxBC,WAAW;EACXC,QAAQ;EAERC,eAAe;EACfC,kBAAkB;EAElBC;AACF,CAAC,GAAGR,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","MLRNModule","Object","create","StyleSource","StyleURL","addCustomHeader","removeCustomHeader","setConnected"],"sourceRoot":"../../src","sources":["MLRNModule.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;AAiB5C,MAAMC,UAAuB,GAAGC,MAAM,CAACC,MAAM,CAACH,aAAa,CAACC,UAAU,CAAC;AAEvE,OAAO,MAAM;EACXG,WAAW;EACXC,QAAQ;EAERC,eAAe;EACfC,kBAAkB;EAElBC;AACF,CAAC,GAAGP,UAAU","ignoreList":[]}
@@ -74,6 +74,7 @@ export interface NativeProps extends ViewProps {
74
74
 
75
75
  compass?: CodegenTypes.WithDefault<boolean, false>;
76
76
  compassPosition?: NativeOrnamentViewPosition;
77
+ compassHiddenFacingNorth?: CodegenTypes.WithDefault<boolean, true>;
77
78
 
78
79
  onPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
79
80
  onLongPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","memo","useImperativeHandle","useLayoutEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","AndroidTextureMapViewNativeComponent","MapViewNativeComponent","NativeMapViewModule","LogManager","transformStyle","findNodeHandle","getFilter","jsx","_jsx","MLRNModule","console","error","styles","create","flex1","flex","MapView","androidView","style","props","ref","isReady","setIsReady","nativeRef","getCenter","current","getZoom","getBearing","getPitch","getBounds","getViewState","project","lngLat","unproject","point","queryRenderedFeatures","pixelPointOrPixelPointBoundsOrOptions","options","Array","isArray","value","queryRenderedFeaturesWithPoint","layers","filter","queryRenderedFeaturesWithBounds","takeSnap","writeToDisk","setSourceVisibility","visible","source","sourceLayer","showAttribution","start","stop","nativeProps","mapStyle","light","otherProps","nativeMapStyle","undefined","JSON","stringify","transformedLight","mapView","NativeMapView","OS","onLayout","testID","children"],"sourceRoot":"../../../../src","sources":["components/map-view/MapView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","memo","useImperativeHandle","useLayoutEffect","useMemo","useRef","useState","NativeModules","Platform","StyleSheet","View","AndroidTextureMapViewNativeComponent","MapViewNativeComponent","NativeMapViewModule","LogManager","transformStyle","findNodeHandle","getFilter","jsx","_jsx","MLRNModule","console","error","styles","create","flex1","flex","MapView","androidView","style","props","ref","isReady","setIsReady","nativeRef","getCenter","current","getZoom","getBearing","getPitch","getBounds","getViewState","project","lngLat","unproject","point","queryRenderedFeatures","pixelPointOrPixelPointBoundsOrOptions","options","Array","isArray","value","queryRenderedFeaturesWithPoint","layers","filter","queryRenderedFeaturesWithBounds","takeSnap","writeToDisk","setSourceVisibility","visible","source","sourceLayer","showAttribution","start","stop","nativeProps","mapStyle","light","otherProps","nativeMapStyle","undefined","JSON","stringify","transformedLight","mapView","NativeMapView","OS","onLayout","testID","children"],"sourceRoot":"../../../../src","sources":["components/map-view/MapView.tsx"],"mappings":"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","ignoreList":[]}
@@ -71,6 +71,7 @@ export interface NativeProps extends ViewProps {
71
71
 
72
72
  compass?: CodegenTypes.WithDefault<boolean, false>;
73
73
  compassPosition?: NativeOrnamentViewPosition;
74
+ compassHiddenFacingNorth?: CodegenTypes.WithDefault<boolean, true>;
74
75
 
75
76
  onPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
76
77
  onLongPress?: CodegenTypes.BubblingEventHandler<NativePressEvent>;
@@ -26,7 +26,6 @@ export { MarkerView } from "./components/annotations/MarkerView.js";
26
26
  export { LocationManager } from "./modules/location/LocationManager.js";
27
27
  export { OfflineManager } from "./modules/offline/OfflineManager.js";
28
28
  export { OfflinePack } from "./modules/offline/OfflinePack.js";
29
- export { OfflineCreatePackOptions } from "./modules/offline/OfflineCreatePackOptions.js";
30
29
  export { SnapshotManager } from "./modules/snapshot/SnapshotManager.js";
31
30
  export { Animated } from "./utils/animated/Animated.js";
32
31
  export { LogManager } from "./modules/log/LogManager.js";
@@ -1 +1 @@
1
- {"version":3,"names":["Camera","MapView","PointAnnotation","Annotation","Callout","UserLocation","NativeUserLocation","useCurrentPosition","ImageSource","ShapeSource","RasterSource","VectorSource","Images","FillLayer","FillExtrusionLayer","HeatmapLayer","LineLayer","CircleLayer","SymbolLayer","RasterLayer","BackgroundLayer","MarkerView","LocationManager","OfflineManager","OfflinePack","OfflineCreatePackOptions","SnapshotManager","Animated","LogManager"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,iBAAc;AAE5B,SAcEA,MAAM,QACD,+BAA4B;AAEnC,SAKEC,OAAO,QACF,kCAA+B;AAEtC,SAASC,eAAe,QAAQ,6CAA0C;AAE1E,SAASC,UAAU,QAAQ,wCAAqC;AAChE,SAASC,OAAO,QAAQ,qCAAkC;AAE1D,SAASC,YAAY,QAAQ,4CAAyC;AACtE,SAASC,kBAAkB,QAAQ,kDAA+C;AAClF,SAASC,kBAAkB,QAAQ,+BAA4B;AAE/D,SAEEC,WAAW,QACN,kDAA+C;AAEtD,SAGEC,WAAW,QACN,kDAA+C;AAEtD,SAEEC,YAAY,QACP,oDAAiD;AAExD,SAGEC,YAAY,QACP,oDAAiD;AAExD,SAASC,MAAM,QAAQ,wBAAqB;AAC5C,SAASC,SAAS,QAAQ,kCAA+B;AACzD,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,SAAS,QAAQ,kCAA+B;AACzD,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,eAAe,QAAQ,wCAAqC;AACrE,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SACEC,eAAe,QAEV,uCAAoC;AAE3C,SAASC,cAAc,QAAQ,qCAAkC;AAGjE,SAASC,WAAW,QAAQ,kCAA+B;AAC3D,SAASC,wBAAwB,QAAQ,+CAA4C;AACrF,SAASC,eAAe,QAAQ,uCAAoC;AAwBpE,SAASC,QAAQ,QAAQ,8BAA2B;AACpD,SAASC,UAAU,QAAuB,6BAA0B","ignoreList":[]}
1
+ {"version":3,"names":["Camera","MapView","PointAnnotation","Annotation","Callout","UserLocation","NativeUserLocation","useCurrentPosition","ImageSource","ShapeSource","RasterSource","VectorSource","Images","FillLayer","FillExtrusionLayer","HeatmapLayer","LineLayer","CircleLayer","SymbolLayer","RasterLayer","BackgroundLayer","MarkerView","LocationManager","OfflineManager","OfflinePack","SnapshotManager","Animated","LogManager"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,iBAAc;AAE5B,SAcEA,MAAM,QACD,+BAA4B;AAEnC,SAKEC,OAAO,QACF,kCAA+B;AAEtC,SAASC,eAAe,QAAQ,6CAA0C;AAE1E,SAASC,UAAU,QAAQ,wCAAqC;AAChE,SAASC,OAAO,QAAQ,qCAAkC;AAE1D,SAASC,YAAY,QAAQ,4CAAyC;AACtE,SAASC,kBAAkB,QAAQ,kDAA+C;AAClF,SAASC,kBAAkB,QAAQ,+BAA4B;AAE/D,SAEEC,WAAW,QACN,kDAA+C;AAEtD,SAGEC,WAAW,QACN,kDAA+C;AAEtD,SAEEC,YAAY,QACP,oDAAiD;AAExD,SAGEC,YAAY,QACP,oDAAiD;AAExD,SAASC,MAAM,QAAQ,wBAAqB;AAC5C,SAASC,SAAS,QAAQ,kCAA+B;AACzD,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,SAAS,QAAQ,kCAA+B;AACzD,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,eAAe,QAAQ,wCAAqC;AACrE,SAASC,UAAU,QAAQ,wCAAqC;AAEhE,SACEC,eAAe,QAEV,uCAAoC;AAE3C,SACEC,cAAc,QAMT,qCAAkC;AACzC,SACEC,WAAW,QAEN,kCAA+B;AAEtC,SAASC,eAAe,QAAQ,uCAAoC;AAwBpE,SAASC,QAAQ,QAAQ,8BAA2B;AACpD,SAASC,UAAU,QAAuB,6BAA0B","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from "react-native";
4
+ export default TurboModuleRegistry.getEnforcing("MLRNOfflineModule");
5
+ //# sourceMappingURL=NativeOfflineModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../../src","sources":["modules/offline/NativeOfflineModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA6DlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,mBAAmB,CAAC","ignoreList":[]}
@@ -1,25 +1,25 @@
1
1
  "use strict";
2
2
 
3
- import { NativeModules, NativeEventEmitter } from "react-native";
4
- import { OfflineCreatePackOptions } from "./OfflineCreatePackOptions.js";
3
+ import NativeOfflineModule from "./NativeOfflineModule.js";
5
4
  import { OfflinePack } from "./OfflinePack.js";
6
- import { isUndefined, isFunction, isAndroid } from "../../utils/index.js";
7
- const MLRNModule = NativeModules.MLRNModule;
8
- const MLRNOfflineModule = NativeModules.MLRNOfflineModule;
9
- export const OfflineModuleEventEmitter = new NativeEventEmitter(MLRNOfflineModule);
5
+
6
+ /**
7
+ * Represents the offline pack download state
8
+ */
9
+
10
10
  /**
11
11
  * OfflineManager implements a singleton (shared object) that manages offline packs.
12
- * All of this classs instance methods are asynchronous, reflecting the fact that offline resources are stored in a database.
12
+ * All of this class's instance methods are asynchronous, reflecting the fact that offline resources are stored in a database.
13
13
  * The shared object maintains a canonical collection of offline packs.
14
14
  */
15
15
  class OfflineManager {
16
16
  constructor() {
17
- this._hasInitialized = false;
18
- this._offlinePacks = {};
19
- this._progressListeners = {};
20
- this._errorListeners = {};
21
- this._onProgress = this._onProgress.bind(this);
22
- this._onError = this._onError.bind(this);
17
+ this.initialized = false;
18
+ this.offlinePacks = {};
19
+ this.progressListeners = {};
20
+ this.errorListeners = {};
21
+ this.handleProgress = this.handleProgress.bind(this);
22
+ this.onError = this.onError.bind(this);
23
23
  this.subscriptionProgress = null;
24
24
  this.subscriptionError = null;
25
25
  }
@@ -30,30 +30,36 @@ class OfflineManager {
30
30
  * @example
31
31
  *
32
32
  * const progressListener = (offlineRegion, status) => console.log(offlineRegion, status);
33
- * const errorListener = (offlineRegion, err) => console.log(offlineRegion, err);
33
+ * const errorListener = (offlineRegion, error) => console.log(offlineRegion, error);
34
34
  *
35
- * await OfflineManager.createPack({
36
- * name: 'offlinePack',
35
+ * const offlinePack = await OfflineManager.createPack({
37
36
  * styleURL: 'https://demotiles.maplibre.org/tiles/tiles.json',
38
37
  * minZoom: 14,
39
38
  * maxZoom: 20,
40
- * bounds: [[neLng, neLat], [swLng, swLat]]
39
+ * bounds: [west, south, east, north],
40
+ * metadata: { customValue: 'myValue' }
41
41
  * }, progressListener, errorListener)
42
42
  *
43
- * @param {OfflineCreatePackOptions} options Create options for a offline pack that specifices zoom levels, style url, and the region to download.
44
- * @param {ProgressListener} progressListener Callback that listens for status events while downloading the offline resource.
45
- * @param {ErrorListener} errorListener Callback that listens for status events while downloading the offline resource.
46
- * @return {void}
43
+ * @param options Create options for offline pack that specifies zoom levels, style url, and the region to download.
44
+ * @param progressListener Callback that listens for status events while downloading the offline resource.
45
+ * @param errorListener Callback that listens for status events while downloading the offline resource.
46
+ *
47
+ * @return The created offline pack with its generated ID.
47
48
  */
48
49
  async createPack(options, progressListener, errorListener) {
49
- await this._initialize();
50
- const packOptions = new OfflineCreatePackOptions(options);
51
- if (this._offlinePacks[packOptions.name]) {
52
- throw new Error(`Offline pack with name ${packOptions.name} already exists.`);
53
- }
54
- this.subscribe(packOptions.name, progressListener, errorListener);
55
- const nativeOfflinePack = await MLRNOfflineModule.createPack(packOptions);
56
- this._offlinePacks[packOptions.name] = new OfflinePack(nativeOfflinePack);
50
+ await this.initialize();
51
+ const offlinePackOptions = {
52
+ mapStyle: options.mapStyle,
53
+ bounds: options.bounds,
54
+ minZoom: options.minZoom ?? 10,
55
+ maxZoom: options.maxZoom ?? 20,
56
+ metadata: JSON.stringify(options.metadata ?? {})
57
+ };
58
+ const nativeOfflinePack = await NativeOfflineModule.createPack(offlinePackOptions);
59
+ const offlinePack = new OfflinePack(nativeOfflinePack);
60
+ this.offlinePacks[offlinePack.id] = offlinePack;
61
+ await this.addListener(offlinePack.id, progressListener, errorListener);
62
+ return offlinePack;
57
63
  }
58
64
 
59
65
  /**
@@ -62,41 +68,29 @@ class OfflineManager {
62
68
  * This is more efficient than deleting the offline pack and downloading it again. If the data stored locally matches that on the server, new data will not be downloaded.
63
69
  *
64
70
  * @example
65
- * await OfflineManager.invalidatePack('packName')
71
+ * await OfflineManager.invalidatePack(pack.id)
66
72
  *
67
- * @param {string} name Name of the offline pack.
68
- * @return {void}
73
+ * @param id ID of the OfflinePack.
69
74
  */
70
- async invalidatePack(name) {
71
- if (!name) {
72
- return;
73
- }
74
- await this._initialize();
75
- const offlinePack = this._offlinePacks[name];
76
- if (offlinePack) {
77
- await MLRNOfflineModule.invalidatePack(name);
78
- }
75
+ async invalidatePack(id) {
76
+ await this.initialize();
77
+ const offlinePack = await this.getPack(id);
78
+ await NativeOfflineModule.invalidatePack(offlinePack.id);
79
79
  }
80
80
 
81
81
  /**
82
- * Unregisters the given offline pack and allows resources that are no longer required by any remaining packs to be potentially freed.
82
+ * Unregisters the given OfflinePack and allows resources that are no longer required by any remaining packs to be potentially freed.
83
83
  *
84
84
  * @example
85
- * await OfflineManager.deletePack('packName')
85
+ * await OfflineManager.deletePack(pack.id)
86
86
  *
87
- * @param {string} name Name of the offline pack.
88
- * @return {void}
87
+ * @param id ID of the OfflinePack.
89
88
  */
90
- async deletePack(name) {
91
- if (!name) {
92
- return;
93
- }
94
- await this._initialize();
95
- const offlinePack = this._offlinePacks[name];
96
- if (offlinePack) {
97
- await MLRNOfflineModule.deletePack(name);
98
- delete this._offlinePacks[name];
99
- }
89
+ async deletePack(id) {
90
+ await this.initialize();
91
+ const offlinePack = await this.getPack(id);
92
+ await NativeOfflineModule.deletePack(offlinePack.id);
93
+ delete this.offlinePacks[offlinePack.id];
100
94
  }
101
95
 
102
96
  /**
@@ -107,12 +101,10 @@ class OfflineManager {
107
101
  *
108
102
  * @example
109
103
  * await OfflineManager.invalidateAmbientCache();
110
- *
111
- * @return {void}
112
104
  */
113
105
  async invalidateAmbientCache() {
114
- await this._initialize();
115
- await MLRNOfflineModule.invalidateAmbientCache();
106
+ await this.initialize();
107
+ await NativeOfflineModule.invalidateAmbientCache();
116
108
  }
117
109
 
118
110
  /**
@@ -121,12 +113,10 @@ class OfflineManager {
121
113
  *
122
114
  * @example
123
115
  * await OfflineManager.clearAmbientCache();
124
- *
125
- * @return {void}
126
116
  */
127
117
  async clearAmbientCache() {
128
- await this._initialize();
129
- await MLRNOfflineModule.clearAmbientCache();
118
+ await this.initialize();
119
+ await NativeOfflineModule.clearAmbientCache();
130
120
  }
131
121
 
132
122
  /**
@@ -136,12 +126,11 @@ class OfflineManager {
136
126
  * @example
137
127
  * await OfflineManager.setMaximumAmbientCacheSize(5000000);
138
128
  *
139
- * @param {number} size Size of ambient cache.
140
- * @return {void}
129
+ * @param size Size of ambient cache.
141
130
  */
142
131
  async setMaximumAmbientCacheSize(size) {
143
- await this._initialize();
144
- await MLRNOfflineModule.setMaximumAmbientCacheSize(size);
132
+ await this.initialize();
133
+ await NativeOfflineModule.setMaximumAmbientCacheSize(size);
145
134
  }
146
135
 
147
136
  /**
@@ -149,12 +138,10 @@ class OfflineManager {
149
138
  *
150
139
  * @example
151
140
  * await OfflineManager.resetDatabase();
152
- *
153
- * @return {void}
154
141
  */
155
142
  async resetDatabase() {
156
- await this._initialize();
157
- await MLRNOfflineModule.resetDatabase();
143
+ await this.initialize();
144
+ await NativeOfflineModule.resetDatabase();
158
145
  }
159
146
 
160
147
  /**
@@ -162,26 +149,25 @@ class OfflineManager {
162
149
  *
163
150
  * @example
164
151
  * const offlinePacks = await OfflineManager.getPacks();
165
- *
166
- * @return {Array<OfflinePack>}
167
152
  */
168
153
  async getPacks() {
169
- await this._initialize();
170
- return Object.keys(this._offlinePacks).map(name => this._offlinePacks[name]).filter(pack => !!pack);
154
+ await this.initialize();
155
+ return Object.values(this.offlinePacks);
171
156
  }
172
157
 
173
158
  /**
174
- * Retrieves an offline pack that is stored in the database by name.
159
+ * Retrieves an offline pack that is stored in the database by ID.
175
160
  *
176
161
  * @example
177
- * const offlinePack = await OfflineManager.getPack();
178
- *
179
- * @param {string} name Name of the offline pack.
180
- * @return {OfflinePack}
162
+ * const offlinePack = await OfflineManager.getPack(offlinePack.id);
181
163
  */
182
- async getPack(name) {
183
- await this._initialize();
184
- return this._offlinePacks[name];
164
+ async getPack(id) {
165
+ await this.initialize();
166
+ const offlinePack = this.offlinePacks[id];
167
+ if (!offlinePack) {
168
+ throw new Error(`OfflinePack ${id} not found`);
169
+ }
170
+ return offlinePack;
185
171
  }
186
172
 
187
173
  /**
@@ -190,12 +176,11 @@ class OfflineManager {
190
176
  * @example
191
177
  * await OfflineManager.mergeOfflineRegions(path);
192
178
  *
193
- * @param {string} path Path to offline tile db on file system.
194
- * @return {void}
179
+ * @param path Path to offline tile db on file system.
195
180
  */
196
181
  async mergeOfflineRegions(path) {
197
- await this._initialize();
198
- return MLRNOfflineModule.mergeOfflineRegions(path);
182
+ await this.initialize();
183
+ return NativeOfflineModule.mergeOfflineRegions(path);
199
184
  }
200
185
 
201
186
  /**
@@ -205,11 +190,10 @@ class OfflineManager {
205
190
  * @example
206
191
  * OfflineManager.setTileCountLimit(1000);
207
192
  *
208
- * @param {number} limit Map tile limit count.
209
- * @return {void}
193
+ * @param limit Map tile limit count.
210
194
  */
211
195
  setTileCountLimit(limit) {
212
- MLRNOfflineModule.setTileCountLimit(limit);
196
+ NativeOfflineModule.setTileCountLimit(limit);
213
197
  }
214
198
 
215
199
  /**
@@ -219,11 +203,10 @@ class OfflineManager {
219
203
  * @example
220
204
  * OfflineManager.setProgressEventThrottle(500);
221
205
  *
222
- * @param {number} throttleValue event throttle value in ms.
223
- * @return {void}
206
+ * @param throttleValue Event throttle value in ms.
224
207
  */
225
208
  setProgressEventThrottle(throttleValue) {
226
- MLRNOfflineModule.setProgressEventThrottle(throttleValue);
209
+ NativeOfflineModule.setProgressEventThrottle(throttleValue);
227
210
  }
228
211
 
229
212
  /**
@@ -232,109 +215,86 @@ class OfflineManager {
232
215
  *
233
216
  * @example
234
217
  * const progressListener = (offlinePack, status) => console.log(offlinePack, status)
235
- * const errorListener = (offlinePack, err) => console.log(offlinePack, err)
236
- * OfflineManager.subscribe('packName', progressListener, errorListener)
218
+ * const errorListener = (offlinePack, error) => console.log(offlinePack, error)
219
+ * OfflineManager.addListener(pack.id, progressListener, errorListener)
237
220
  *
238
- * @param {string} packName Name of the offline pack.
239
- * @param {ProgressListener} progressListener Callback that listens for status events while downloading the offline resource.
240
- * @param {ErrorListener} errorListener Callback that listens for status events while downloading the offline resource.
241
- * @return {void}
221
+ * @param id ID of the offline pack.
222
+ * @param progressListener Callback that listens for status events while downloading the offline resource.
223
+ * @param errorListener Callback that listens for status events while downloading the offline resource.
242
224
  */
243
- async subscribe(packName, progressListener, errorListener) {
244
- const totalProgressListeners = Object.keys(this._progressListeners).length;
245
- if (isFunction(progressListener)) {
246
- if (totalProgressListeners === 0) {
247
- this.subscriptionProgress = OfflineModuleEventEmitter.addListener(MLRNModule.OfflineCallbackName.Progress, this._onProgress);
248
- }
249
- this._progressListeners[packName] = progressListener;
225
+ async addListener(id, progressListener, errorListener) {
226
+ const totalProgressListeners = Object.keys(this.progressListeners).length;
227
+ if (totalProgressListeners === 0) {
228
+ this.subscriptionProgress = NativeOfflineModule.onProgress(this.handleProgress);
250
229
  }
251
- const totalErrorListeners = Object.keys(this._errorListeners).length;
252
- if (isFunction(errorListener)) {
253
- if (totalErrorListeners === 0) {
254
- this.subscriptionError = OfflineModuleEventEmitter.addListener(MLRNModule.OfflineCallbackName.Error, this._onError);
255
- }
256
- this._errorListeners[packName] = errorListener;
230
+ this.progressListeners[id] = progressListener;
231
+ const totalErrorListeners = Object.keys(this.errorListeners).length;
232
+ if (totalErrorListeners === 0) {
233
+ this.subscriptionError = NativeOfflineModule.onError(this.onError);
257
234
  }
258
-
259
- // we need to manually set the pack observer on Android
260
- // if we're resuming a pack download instead of going thru the create flow
261
- if (isAndroid() && this._offlinePacks[packName]) {
262
- try {
263
- // manually set a listener, since listeners are only set on create flow
264
- await MLRNOfflineModule.setPackObserver(packName);
265
- } catch (e) {
266
- console.log("Unable to set pack observer", e);
267
- }
235
+ this.errorListeners[id] = errorListener;
236
+ if (this.offlinePacks[id]) {
237
+ await NativeOfflineModule.setPackObserver(id);
268
238
  }
269
239
  }
270
240
 
271
241
  /**
272
242
  * Unsubscribes any listeners associated with the offline pack.
273
- * It's a good idea to call this on componentWillUnmount.
243
+ * Should be called when the component unmounts.
274
244
  *
275
245
  * @example
276
- * OfflineManager.unsubscribe('packName')
246
+ * useEffect(() => {
247
+ * return () => {
248
+ * OfflineManager.removeListener(pack.id);
249
+ * }
250
+ * }, []);
277
251
  *
278
- * @param {string} packName Name of the offline pack.
279
- * @return {void}
252
+ * @param packId ID of the offline pack.
280
253
  */
281
- unsubscribe(packName) {
282
- delete this._progressListeners[packName];
283
- delete this._errorListeners[packName];
284
- if (Object.keys(this._progressListeners).length === 0 && this.subscriptionProgress) {
254
+ removeListener(packId) {
255
+ delete this.progressListeners[packId];
256
+ delete this.errorListeners[packId];
257
+ if (Object.keys(this.progressListeners).length === 0 && this.subscriptionProgress) {
285
258
  this.subscriptionProgress.remove();
286
259
  }
287
- if (Object.keys(this._errorListeners).length === 0 && this.subscriptionError) {
260
+ if (Object.keys(this.errorListeners).length === 0 && this.subscriptionError) {
288
261
  this.subscriptionError.remove();
289
262
  }
290
263
  }
291
- async _initialize() {
292
- if (this._hasInitialized) {
264
+ async initialize() {
265
+ if (this.initialized) {
293
266
  return true;
294
267
  }
295
- const nativeOfflinePacks = await MLRNOfflineModule.getPacks();
268
+ const nativeOfflinePacks = await NativeOfflineModule.getPacks();
296
269
  for (const nativeOfflinePack of nativeOfflinePacks) {
297
270
  const offlinePack = new OfflinePack(nativeOfflinePack);
298
- if (offlinePack.name) {
299
- this._offlinePacks[offlinePack.name] = offlinePack;
300
- }
271
+ this.offlinePacks[offlinePack.id] = offlinePack;
301
272
  }
302
- this._hasInitialized = true;
273
+ this.initialized = true;
303
274
  return true;
304
275
  }
305
- _onProgress(e) {
276
+ handleProgress(event) {
306
277
  const {
307
- name,
278
+ id,
308
279
  state
309
- } = e;
310
- if (!this._hasListeners(name, this._progressListeners)) {
311
- return;
312
- }
313
- const pack = this._offlinePacks[name];
314
- if (pack) {
315
- this._progressListeners[name]?.(pack, e);
280
+ } = event;
281
+ const offlinePack = this.offlinePacks[id];
282
+ if (offlinePack) {
283
+ this.progressListeners[offlinePack.id]?.(offlinePack, event);
316
284
  }
317
-
318
- // cleanup listeners now that they are no longer needed
319
- if (state === MLRNModule.OfflinePackDownloadState.Complete) {
320
- this.unsubscribe(name);
285
+ if (state === "complete") {
286
+ this.removeListener(id);
321
287
  }
322
288
  }
323
- _onError(e) {
289
+ onError(event) {
324
290
  const {
325
- name
326
- } = e;
327
- if (!this._hasListeners(name, this._errorListeners)) {
328
- return;
329
- }
330
- const pack = this._offlinePacks[name];
331
- if (pack) {
332
- this._errorListeners[name]?.(pack, e);
291
+ id
292
+ } = event;
293
+ const offlinePack = this.offlinePacks[id];
294
+ if (offlinePack) {
295
+ this.errorListeners[offlinePack.id]?.(offlinePack, event);
333
296
  }
334
297
  }
335
- _hasListeners(name, listenerMap) {
336
- return !isUndefined(this._offlinePacks[name]) && isFunction(listenerMap[name]);
337
- }
338
298
  }
339
299
  const offlineManager = new OfflineManager();
340
300
  export { offlineManager as OfflineManager };