react-native-picture-selector 1.0.26 → 1.0.28

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 (37) hide show
  1. package/android/src/main/cpp/cpp-adapter.cpp +1 -1
  2. package/ios/HybridPictureSelector.swift +98 -134
  3. package/ios/NitroPictureSelectorOnLoad.mm +2 -2
  4. package/nitro.json +1 -1
  5. package/nitrogen/generated/android/NitroPictureSelectorOnLoad.cpp +5 -5
  6. package/nitrogen/generated/android/NitroPictureSelectorOnLoad.hpp +3 -3
  7. package/nitrogen/generated/android/c++/JCompressOptions.hpp +2 -2
  8. package/nitrogen/generated/android/c++/JCropOptions.hpp +2 -2
  9. package/nitrogen/generated/android/c++/JHybridHybridPictureSelectorSpec.cpp +8 -8
  10. package/nitrogen/generated/android/c++/JHybridHybridPictureSelectorSpec.hpp +2 -2
  11. package/nitrogen/generated/android/c++/JMediaAsset.hpp +2 -2
  12. package/nitrogen/generated/android/c++/JMediaType.hpp +2 -2
  13. package/nitrogen/generated/android/c++/JPickerTheme.hpp +2 -2
  14. package/nitrogen/generated/android/c++/JPictureSelectorOptions.hpp +2 -2
  15. package/nitrogen/generated/ios/NitroPictureSelector-Swift-Cxx-Bridge.cpp +4 -4
  16. package/nitrogen/generated/ios/NitroPictureSelector-Swift-Cxx-Bridge.hpp +8 -8
  17. package/nitrogen/generated/ios/NitroPictureSelector-Swift-Cxx-Umbrella.hpp +7 -7
  18. package/nitrogen/generated/ios/c++/HybridHybridPictureSelectorSpecSwift.cpp +2 -2
  19. package/nitrogen/generated/ios/c++/HybridHybridPictureSelectorSpecSwift.hpp +8 -8
  20. package/nitrogen/generated/ios/swift/CompressOptions.swift +2 -2
  21. package/nitrogen/generated/ios/swift/CropOptions.swift +2 -2
  22. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  23. package/nitrogen/generated/ios/swift/Func_void_std__vector_MediaAsset_.swift +1 -1
  24. package/nitrogen/generated/ios/swift/HybridHybridPictureSelectorSpec_cxx.swift +2 -2
  25. package/nitrogen/generated/ios/swift/MediaAsset.swift +2 -2
  26. package/nitrogen/generated/ios/swift/MediaType.swift +1 -1
  27. package/nitrogen/generated/ios/swift/PickerTheme.swift +1 -1
  28. package/nitrogen/generated/ios/swift/PictureSelectorOptions.swift +2 -2
  29. package/nitrogen/generated/shared/c++/CompressOptions.hpp +6 -6
  30. package/nitrogen/generated/shared/c++/CropOptions.hpp +6 -6
  31. package/nitrogen/generated/shared/c++/HybridHybridPictureSelectorSpec.cpp +2 -2
  32. package/nitrogen/generated/shared/c++/HybridHybridPictureSelectorSpec.hpp +4 -4
  33. package/nitrogen/generated/shared/c++/MediaAsset.hpp +6 -6
  34. package/nitrogen/generated/shared/c++/MediaType.hpp +11 -11
  35. package/nitrogen/generated/shared/c++/PickerTheme.hpp +13 -13
  36. package/nitrogen/generated/shared/c++/PictureSelectorOptions.hpp +22 -22
  37. package/package.json +1 -1
@@ -21,6 +21,6 @@
21
21
 
22
22
  JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
23
23
  return facebook::jni::initialize(vm, []() {
24
- margelo::pictureselector::registerAllNatives();
24
+ margelo::nitro::pictureselector::registerAllNatives();
25
25
  });
26
26
  }
@@ -15,27 +15,14 @@ import NitroModules
15
15
  // - Nitro calls openPicker / openCamera on the JS thread.
16
16
  // - All UIKit calls are dispatched to DispatchQueue.main.
17
17
  // - Async result mapping runs in a Swift Task (cooperative thread pool).
18
- //
19
- // API REQUIRES VERIFICATION:
20
- // - PhotoPickerControllerDelegate method signatures in HXPhotoPicker v5.0.5.
21
- // - PhotoAsset.getURL(compression:result:) callback API availability.
22
- // - PickerResult.photoAssets field name.
23
- // - PhotoAsset.mediaType enum values (.photo / .video).
24
- // - PhotoAsset.imageSize property name.
25
- // - PhotoAsset.videoDuration unit (seconds vs ms).
26
- // - AssetURLResult.fileSize field name / optionality.
27
- // - PhotoAsset.Compression type name and initialiser parameters.
28
- // - EditorConfiguration.Photo.CropSize.isRoundCrop property name.
29
18
  // ─────────────────────────────────────────────────────────────────────────────
30
19
 
31
20
  final class HybridPictureSelector: HybridHybridPictureSelectorSpec_base, HybridHybridPictureSelectorSpec_protocol {
32
21
 
33
22
  // MARK: - Private state
34
23
 
35
- /// Bundles the pending resolver together with the options so the delegate
36
- /// can perform compression-aware result mapping.
37
24
  private struct PendingSession {
38
- let resolver: (Result<[MediaAsset], Error>) -> Void
25
+ let promise: Promise<[MediaAsset]>
39
26
  let options: PictureSelectorOptions
40
27
  }
41
28
 
@@ -47,110 +34,104 @@ final class HybridPictureSelector: HybridHybridPictureSelectorSpec_base, HybridH
47
34
  // MARK: - openPicker
48
35
 
49
36
  func openPicker(options: PictureSelectorOptions) -> Promise<[MediaAsset]> {
50
- return Promise { [weak self] resolver in
37
+ let promise = Promise<[MediaAsset]>()
38
+
39
+ DispatchQueue.main.async { [weak self] in
51
40
  guard let self else {
52
- resolver.reject(PictureSelectorError.unknown("openPicker: native module was deallocated"))
41
+ promise.reject(withError: PictureSelectorError.unknown("openPicker: native module was deallocated"))
53
42
  return
54
43
  }
55
44
 
56
- DispatchQueue.main.async {
57
- if self.session != nil {
58
- resolver.reject(PictureSelectorError.unknown(
59
- "A picker or camera session is already active. Dismiss it before opening a new one."
60
- ))
61
- return
62
- }
63
-
64
- guard let topVC = self.topViewController() else {
65
- resolver.reject(PictureSelectorError.unknown(
66
- "No active UIViewController. Ensure the picker is called from a mounted component."
67
- ))
68
- return
69
- }
45
+ if self.session != nil {
46
+ promise.reject(withError: PictureSelectorError.unknown(
47
+ "A picker or camera session is already active. Dismiss it before opening a new one."
48
+ ))
49
+ return
50
+ }
70
51
 
71
- self.session = PendingSession(
72
- resolver: { result in
73
- switch result {
74
- case .success(let assets): resolver.resolve(assets)
75
- case .failure(let err): resolver.reject(err)
76
- }
77
- },
78
- options: options
79
- )
80
-
81
- let config = self.buildPickerConfig(from: options)
82
- let picker = PhotoPickerController(picker: config)
83
- picker.pickerDelegate = self
84
-
85
- self.activePicker = picker
86
- topVC.present(picker, animated: true)
52
+ guard let topVC = self.topViewController() else {
53
+ promise.reject(withError: PictureSelectorError.unknown(
54
+ "No active UIViewController. Ensure the picker is called from a mounted component."
55
+ ))
56
+ return
87
57
  }
58
+
59
+ self.session = PendingSession(promise: promise, options: options)
60
+
61
+ let config = self.buildPickerConfig(from: options)
62
+ let picker = PhotoPickerController(picker: config)
63
+ picker.pickerDelegate = self
64
+
65
+ self.activePicker = picker
66
+ topVC.present(picker, animated: true)
88
67
  }
68
+
69
+ return promise
89
70
  }
90
71
 
91
72
  // MARK: - openCamera
92
73
 
93
74
  func openCamera(options: PictureSelectorOptions) -> Promise<[MediaAsset]> {
94
- return Promise { [weak self] resolver in
75
+ let promise = Promise<[MediaAsset]>()
76
+
77
+ DispatchQueue.main.async { [weak self] in
95
78
  guard let self else {
96
- resolver.reject(PictureSelectorError.unknown("openCamera: native module was deallocated"))
79
+ promise.reject(withError: PictureSelectorError.unknown("openCamera: native module was deallocated"))
97
80
  return
98
81
  }
99
82
 
100
- DispatchQueue.main.async {
101
- if self.session != nil {
102
- resolver.reject(PictureSelectorError.unknown(
103
- "A picker or camera session is already active. Dismiss it before opening a new one."
104
- ))
105
- return
106
- }
83
+ if self.session != nil {
84
+ promise.reject(withError: PictureSelectorError.unknown(
85
+ "A picker or camera session is already active. Dismiss it before opening a new one."
86
+ ))
87
+ return
88
+ }
107
89
 
108
- guard let topVC = self.topViewController() else {
109
- resolver.reject(PictureSelectorError.unknown("No active UIViewController."))
110
- return
111
- }
90
+ guard let topVC = self.topViewController() else {
91
+ promise.reject(withError: PictureSelectorError.unknown("No active UIViewController."))
92
+ return
93
+ }
112
94
 
113
- var cameraConfig = CameraConfiguration()
114
- cameraConfig.mediaType = (options.mediaType == .video) ? .video : .photo
115
- if let maxDur = options.maxVideoDuration {
116
- cameraConfig.videoMaximumDuration = maxDur
117
- }
95
+ var cameraConfig = CameraConfiguration()
96
+ if let maxDur = options.maxVideoDuration {
97
+ cameraConfig.videoMaximumDuration = maxDur
98
+ }
118
99
 
119
- // API REQUIRES VERIFICATION:
120
- // Photo.camera(_:fromViewController:completion:cancel:) method signature.
121
- // If this overload doesn't exist, use CameraController directly:
122
- // let cam = CameraController(config: cameraConfig)
123
- // cam.onCompletion = { ... }
124
- // topVC.present(cam, animated: true)
125
- Photo.camera(
126
- cameraConfig,
127
- fromViewController: topVC
128
- ) { [weak self] result, _ in
129
- guard let self else {
130
- resolver.reject(PictureSelectorError.unknown("openCamera: native module was deallocated"))
131
- return
132
- }
133
- guard let photoAsset = result?.photoAsset else {
134
- resolver.reject(PictureSelectorError.cancelled)
135
- return
136
- }
137
- Task {
138
- do {
139
- let asset = try await self.mapAsset(
140
- photoAsset,
141
- compress: options.compress,
142
- isOriginal: false
143
- )
144
- resolver.resolve([asset])
145
- } catch {
146
- resolver.reject(error)
147
- }
100
+ let captureType: CameraController.CaptureType
101
+ switch options.mediaType {
102
+ case .video: captureType = .video
103
+ case .all: captureType = .all
104
+ default: captureType = .photo
105
+ }
106
+
107
+ let camera = CameraController(config: cameraConfig, type: captureType)
108
+ camera.completion = { [weak self] result, _, _ in
109
+ guard let self else {
110
+ promise.reject(withError: PictureSelectorError.unknown("openCamera: native module was deallocated"))
111
+ return
112
+ }
113
+ Task {
114
+ do {
115
+ let asset = try await self.mapAsset(
116
+ result.photoAsset,
117
+ compress: options.compress,
118
+ isOriginal: false
119
+ )
120
+ promise.resolve(withResult: [asset])
121
+ } catch {
122
+ promise.reject(withError: error)
148
123
  }
149
- } cancel: { _ in
150
- resolver.reject(PictureSelectorError.cancelled)
151
124
  }
152
125
  }
126
+ camera.cancelHandler = { _ in
127
+ promise.reject(withError: PictureSelectorError.cancelled)
128
+ }
129
+
130
+ self.activePicker = camera
131
+ topVC.present(camera, animated: true)
153
132
  }
133
+
134
+ return promise
154
135
  }
155
136
 
156
137
  // MARK: - Config builder
@@ -172,36 +153,32 @@ final class HybridPictureSelector: HybridHybridPictureSelectorSpec_base, HybridH
172
153
  config.maximumSelectedCount = Int(options.maxCount ?? 1)
173
154
 
174
155
  // In-picker camera button
175
- config.allowCustomCamera = options.enableCamera ?? true
156
+ config.photoList.allowAddCamera = options.enableCamera ?? true
176
157
 
177
- // Video duration limits
158
+ // Video duration limits (Int in HXPhotoPicker)
178
159
  if let maxDur = options.maxVideoDuration {
179
- config.maximumSelectedVideoDuration = maxDur
160
+ config.maximumSelectedVideoDuration = Int(maxDur)
180
161
  }
181
162
  if let minDur = options.minVideoDuration {
182
- config.minimumSelectedVideoDuration = minDur
163
+ config.minimumSelectedVideoDuration = Int(minDur)
183
164
  }
184
165
 
185
- // Editor / crop (only when maxCount == 1)
166
+ // Editor / crop (only when maxCount == 1)
186
167
  let maxCount = Int(options.maxCount ?? 1)
187
168
  if let crop = options.crop, crop.enabled, maxCount == 1 {
188
169
  config.editorOptions = [.photo]
189
170
  var editorConfig = EditorConfiguration()
190
171
 
191
- var cropSizeConfig = EditorConfiguration.Photo.CropSize()
192
172
  if crop.circular == true {
193
- // API REQUIRES VERIFICATION: isRoundCrop property name in v5.0.5
194
- cropSizeConfig.isRoundCrop = true
173
+ editorConfig.cropSize.isRoundCrop = true
195
174
  } else if crop.freeStyle == true {
196
- cropSizeConfig.aspectRatios = [] // empty array = free style
175
+ editorConfig.cropSize.isFixedRatio = false
197
176
  } else {
198
177
  let x = crop.ratioX ?? 1.0
199
178
  let y = crop.ratioY ?? 1.0
200
- cropSizeConfig.aspectRatios = [
201
- .init(title: "", ratio: .init(width: x, height: y))
202
- ]
179
+ editorConfig.cropSize.isFixedRatio = true
180
+ editorConfig.cropSize.aspectRatio = .init(width: x, height: y)
203
181
  }
204
- editorConfig.photo.cropSize = cropSizeConfig
205
182
  config.editor = editorConfig
206
183
  }
207
184
 
@@ -210,13 +187,6 @@ final class HybridPictureSelector: HybridHybridPictureSelectorSpec_base, HybridH
210
187
  config.themeColor = color
211
188
  }
212
189
 
213
- // selectedAssets: pre-selecting assets by file:// URI requires resolving each URI
214
- // back to a PHAsset via PHPhotoLibrary and wrapping it in a PhotoAsset object.
215
- // This is not yet implemented. Callers should not rely on this option on iOS.
216
- // TODO: implement pre-selection using PHAsset.fetchAssets(withALAssetURLs:options:)
217
- // or localIdentifier lookup, then set config.preSelectedAssets (verify field name
218
- // in HXPhotoPicker v5.0.5 before enabling).
219
-
220
190
  return config
221
191
  }
222
192
 
@@ -243,8 +213,6 @@ final class HybridPictureSelector: HybridHybridPictureSelectorSpec_base, HybridH
243
213
  compress: CompressOptions?,
244
214
  isOriginal: Bool
245
215
  ) async throws -> MediaAsset {
246
- // Obtain file URL via callback, bridged to async/await.
247
- // API REQUIRES VERIFICATION: getURL(compression:result:) availability in v5.0.5.
248
216
  let urlResult: AssetURLResult = try await withCheckedThrowingContinuation { cont in
249
217
  photoAsset.getURL(
250
218
  compression: buildCompression(from: compress)
@@ -256,22 +224,23 @@ final class HybridPictureSelector: HybridHybridPictureSelectorSpec_base, HybridH
256
224
  }
257
225
  }
258
226
 
259
- // Determine if the user applied edits
260
227
  let wasEdited = photoAsset.editedResult != nil
261
228
  let finalUri = urlResult.url.absoluteString
262
229
  let editedUri: String? = wasEdited ? finalUri : nil
263
230
 
264
- // Image / video dimensions
265
- // API REQUIRES VERIFICATION: imageSize property name in v5.0.5
266
231
  let size: CGSize = photoAsset.imageSize
267
232
 
268
- // Duration: HXPhotoPicker returns seconds; bridge spec expects ms.
269
- // API REQUIRES VERIFICATION: videoDuration property name and unit.
233
+ // HXPhotoPicker returns seconds; bridge spec expects ms.
270
234
  let durationMs: Double = (photoAsset.videoDuration ?? 0) * 1_000
271
235
 
272
- // File size
273
- // API REQUIRES VERIFICATION: AssetURLResult.fileSize field name.
274
- let fileSize: Double = Double(urlResult.fileSize ?? 0)
236
+ // AssetURLResult has no fileSize; read from disk.
237
+ let fileSize: Double
238
+ if let attrs = try? FileManager.default.attributesOfItem(atPath: urlResult.url.path),
239
+ let bytes = attrs[.size] as? UInt64 {
240
+ fileSize = Double(bytes)
241
+ } else {
242
+ fileSize = 0
243
+ }
275
244
 
276
245
  let typeStr: String = (photoAsset.mediaType == .video) ? "video" : "image"
277
246
 
@@ -292,7 +261,6 @@ final class HybridPictureSelector: HybridHybridPictureSelectorSpec_base, HybridH
292
261
 
293
262
  // MARK: - Compression helper
294
263
 
295
- /// API REQUIRES VERIFICATION: PhotoAsset.Compression type name and init params in v5.0.5.
296
264
  private func buildCompression(from options: CompressOptions?) -> PhotoAsset.Compression? {
297
265
  guard let opts = options, opts.enabled else { return nil }
298
266
  return PhotoAsset.Compression(
@@ -345,7 +313,6 @@ extension HybridPictureSelector: PhotoPickerControllerDelegate {
345
313
  _ pickerController: PhotoPickerController,
346
314
  didFinishSelection result: PickerResult
347
315
  ) {
348
- // Capture and clear session atomically before dismiss completes
349
316
  let captured = session
350
317
  session = nil
351
318
  activePicker = nil
@@ -353,15 +320,15 @@ extension HybridPictureSelector: PhotoPickerControllerDelegate {
353
320
  pickerController.dismiss(animated: true) { [weak self] in
354
321
  guard let s = captured else { return }
355
322
  guard let self else {
356
- s.resolver(.failure(PictureSelectorError.unknown("pickerController: native module was deallocated")))
323
+ s.promise.reject(withError: PictureSelectorError.unknown("pickerController: native module was deallocated"))
357
324
  return
358
325
  }
359
326
  Task {
360
327
  do {
361
328
  let assets = try await self.mapResults(result, compress: s.options.compress)
362
- s.resolver(.success(assets))
329
+ s.promise.resolve(withResult: assets)
363
330
  } catch {
364
- s.resolver(.failure(error))
331
+ s.promise.reject(withError: error)
365
332
  }
366
333
  }
367
334
  }
@@ -373,7 +340,7 @@ extension HybridPictureSelector: PhotoPickerControllerDelegate {
373
340
  activePicker = nil
374
341
 
375
342
  pickerController.dismiss(animated: true) {
376
- captured?.resolver(.failure(PictureSelectorError.cancelled))
343
+ captured?.promise.reject(withError: PictureSelectorError.cancelled)
377
344
  }
378
345
  }
379
346
  }
@@ -397,9 +364,6 @@ enum PictureSelectorError: Error, LocalizedError {
397
364
  // MARK: - Nitro registration helper
398
365
 
399
366
  /// Called from NitroPictureSelectorOnLoad.mm at startup.
400
- /// Creates a HybridPictureSelector instance and returns a retained raw pointer
401
- /// to its HybridHybridPictureSelectorSpec_cxx wrapper.
402
- /// The caller (C++ factory) takes ownership via create_std__shared_ptr_HybridHybridPictureSelectorSpec_.
403
367
  @_cdecl("NitroPictureSelectorMakeHybrid")
404
368
  public func NitroPictureSelectorMakeHybrid() -> UnsafeMutableRawPointer {
405
369
  HybridPictureSelector().getCxxWrapper().toUnsafe()
@@ -20,8 +20,8 @@
20
20
  extern "C" void* NitroPictureSelectorMakeHybrid();
21
21
 
22
22
  using namespace margelo::nitro;
23
- using namespace margelo::nitro::margelo::pictureselector;
24
- using namespace margelo::nitro::margelo::pictureselector::bridge::swift;
23
+ using namespace margelo::nitro::pictureselector;
24
+ using namespace margelo::nitro::pictureselector::bridge::swift;
25
25
 
26
26
  @interface NitroPictureSelectorOnLoad: NSObject
27
27
  @end
package/nitro.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "cxxNamespace": ["margelo", "pictureselector"],
2
+ "cxxNamespace": ["pictureselector"],
3
3
  "ios": {
4
4
  "iosModuleName": "NitroPictureSelector"
5
5
  },
@@ -17,11 +17,11 @@
17
17
 
18
18
  #include "JHybridHybridPictureSelectorSpec.hpp"
19
19
 
20
- namespace margelo::nitro::margelo::pictureselector {
20
+ namespace margelo::nitro::pictureselector {
21
21
 
22
22
  int initialize(JavaVM* vm) {
23
23
  return facebook::jni::initialize(vm, []() {
24
- ::margelo::nitro::margelo::pictureselector::registerAllNatives();
24
+ ::margelo::nitro::pictureselector::registerAllNatives();
25
25
  });
26
26
  }
27
27
 
@@ -29,13 +29,13 @@ int initialize(JavaVM* vm) {
29
29
 
30
30
  void registerAllNatives() {
31
31
  using namespace margelo::nitro;
32
- using namespace margelo::nitro::margelo::pictureselector;
32
+ using namespace margelo::nitro::pictureselector;
33
33
 
34
34
  // Register native JNI methods
35
- margelo::nitro::margelo::pictureselector::JHybridHybridPictureSelectorSpec::CxxPart::registerNatives();
35
+ margelo::nitro::pictureselector::JHybridHybridPictureSelectorSpec::CxxPart::registerNatives();
36
36
 
37
37
  // Register Nitro Hybrid Objects
38
38
 
39
39
  }
40
40
 
41
- } // namespace margelo::nitro::margelo::pictureselector
41
+ } // namespace margelo::nitro::pictureselector
@@ -9,7 +9,7 @@
9
9
  #include <functional>
10
10
  #include <NitroModules/NitroDefines.hpp>
11
11
 
12
- namespace margelo::nitro::margelo::pictureselector {
12
+ namespace margelo::nitro::pictureselector {
13
13
 
14
14
  [[deprecated("Use registerNatives() instead.")]]
15
15
  int initialize(JavaVM* vm);
@@ -23,7 +23,7 @@ namespace margelo::nitro::margelo::pictureselector {
23
23
  * JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
24
24
  * return facebook::jni::initialize(vm, []() {
25
25
  * // register all NitroPictureSelector HybridObjects
26
- * margelo::nitro::margelo::pictureselector::registerNatives();
26
+ * margelo::nitro::pictureselector::registerNatives();
27
27
  * // any other custom registrations go here.
28
28
  * });
29
29
  * }
@@ -31,4 +31,4 @@ namespace margelo::nitro::margelo::pictureselector {
31
31
  */
32
32
  void registerAllNatives();
33
33
 
34
- } // namespace margelo::nitro::margelo::pictureselector
34
+ } // namespace margelo::nitro::pictureselector
@@ -12,7 +12,7 @@
12
12
 
13
13
  #include <optional>
14
14
 
15
- namespace margelo::nitro::margelo::pictureselector {
15
+ namespace margelo::nitro::pictureselector {
16
16
 
17
17
  using namespace facebook;
18
18
 
@@ -66,4 +66,4 @@ namespace margelo::nitro::margelo::pictureselector {
66
66
  }
67
67
  };
68
68
 
69
- } // namespace margelo::nitro::margelo::pictureselector
69
+ } // namespace margelo::nitro::pictureselector
@@ -12,7 +12,7 @@
12
12
 
13
13
  #include <optional>
14
14
 
15
- namespace margelo::nitro::margelo::pictureselector {
15
+ namespace margelo::nitro::pictureselector {
16
16
 
17
17
  using namespace facebook;
18
18
 
@@ -70,4 +70,4 @@ namespace margelo::nitro::margelo::pictureselector {
70
70
  }
71
71
  };
72
72
 
73
- } // namespace margelo::nitro::margelo::pictureselector
73
+ } // namespace margelo::nitro::pictureselector
@@ -8,17 +8,17 @@
8
8
  #include "JHybridHybridPictureSelectorSpec.hpp"
9
9
 
10
10
  // Forward declaration of `MediaAsset` to properly resolve imports.
11
- namespace margelo::nitro::margelo::pictureselector { struct MediaAsset; }
11
+ namespace margelo::nitro::pictureselector { struct MediaAsset; }
12
12
  // Forward declaration of `PictureSelectorOptions` to properly resolve imports.
13
- namespace margelo::nitro::margelo::pictureselector { struct PictureSelectorOptions; }
13
+ namespace margelo::nitro::pictureselector { struct PictureSelectorOptions; }
14
14
  // Forward declaration of `MediaType` to properly resolve imports.
15
- namespace margelo::nitro::margelo::pictureselector { enum class MediaType; }
15
+ namespace margelo::nitro::pictureselector { enum class MediaType; }
16
16
  // Forward declaration of `CropOptions` to properly resolve imports.
17
- namespace margelo::nitro::margelo::pictureselector { struct CropOptions; }
17
+ namespace margelo::nitro::pictureselector { struct CropOptions; }
18
18
  // Forward declaration of `CompressOptions` to properly resolve imports.
19
- namespace margelo::nitro::margelo::pictureselector { struct CompressOptions; }
19
+ namespace margelo::nitro::pictureselector { struct CompressOptions; }
20
20
  // Forward declaration of `PickerTheme` to properly resolve imports.
21
- namespace margelo::nitro::margelo::pictureselector { enum class PickerTheme; }
21
+ namespace margelo::nitro::pictureselector { enum class PickerTheme; }
22
22
 
23
23
  #include "MediaAsset.hpp"
24
24
  #include <vector>
@@ -38,7 +38,7 @@ namespace margelo::nitro::margelo::pictureselector { enum class PickerTheme; }
38
38
  #include "PickerTheme.hpp"
39
39
  #include "JPickerTheme.hpp"
40
40
 
41
- namespace margelo::nitro::margelo::pictureselector {
41
+ namespace margelo::nitro::pictureselector {
42
42
 
43
43
  std::shared_ptr<JHybridHybridPictureSelectorSpec> JHybridHybridPictureSelectorSpec::JavaPart::getJHybridHybridPictureSelectorSpec() {
44
44
  auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
@@ -122,4 +122,4 @@ namespace margelo::nitro::margelo::pictureselector {
122
122
  }();
123
123
  }
124
124
 
125
- } // namespace margelo::nitro::margelo::pictureselector
125
+ } // namespace margelo::nitro::pictureselector
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- namespace margelo::nitro::margelo::pictureselector {
17
+ namespace margelo::nitro::pictureselector {
18
18
 
19
19
  using namespace facebook;
20
20
 
@@ -61,4 +61,4 @@ namespace margelo::nitro::margelo::pictureselector {
61
61
  jni::global_ref<JHybridHybridPictureSelectorSpec::JavaPart> _javaPart;
62
62
  };
63
63
 
64
- } // namespace margelo::nitro::margelo::pictureselector
64
+ } // namespace margelo::nitro::pictureselector
@@ -13,7 +13,7 @@
13
13
  #include <optional>
14
14
  #include <string>
15
15
 
16
- namespace margelo::nitro::margelo::pictureselector {
16
+ namespace margelo::nitro::pictureselector {
17
17
 
18
18
  using namespace facebook;
19
19
 
@@ -95,4 +95,4 @@ namespace margelo::nitro::margelo::pictureselector {
95
95
  }
96
96
  };
97
97
 
98
- } // namespace margelo::nitro::margelo::pictureselector
98
+ } // namespace margelo::nitro::pictureselector
@@ -10,7 +10,7 @@
10
10
  #include <fbjni/fbjni.h>
11
11
  #include "MediaType.hpp"
12
12
 
13
- namespace margelo::nitro::margelo::pictureselector {
13
+ namespace margelo::nitro::pictureselector {
14
14
 
15
15
  using namespace facebook;
16
16
 
@@ -58,4 +58,4 @@ namespace margelo::nitro::margelo::pictureselector {
58
58
  }
59
59
  };
60
60
 
61
- } // namespace margelo::nitro::margelo::pictureselector
61
+ } // namespace margelo::nitro::pictureselector
@@ -10,7 +10,7 @@
10
10
  #include <fbjni/fbjni.h>
11
11
  #include "PickerTheme.hpp"
12
12
 
13
- namespace margelo::nitro::margelo::pictureselector {
13
+ namespace margelo::nitro::pictureselector {
14
14
 
15
15
  using namespace facebook;
16
16
 
@@ -61,4 +61,4 @@ namespace margelo::nitro::margelo::pictureselector {
61
61
  }
62
62
  };
63
63
 
64
- } // namespace margelo::nitro::margelo::pictureselector
64
+ } // namespace margelo::nitro::pictureselector
@@ -22,7 +22,7 @@
22
22
  #include <string>
23
23
  #include <vector>
24
24
 
25
- namespace margelo::nitro::margelo::pictureselector {
25
+ namespace margelo::nitro::pictureselector {
26
26
 
27
27
  using namespace facebook;
28
28
 
@@ -118,4 +118,4 @@ namespace margelo::nitro::margelo::pictureselector {
118
118
  }
119
119
  };
120
120
 
121
- } // namespace margelo::nitro::margelo::pictureselector
121
+ } // namespace margelo::nitro::pictureselector
@@ -12,7 +12,7 @@
12
12
  #include "NitroPictureSelector-Swift-Cxx-Umbrella.hpp"
13
13
  #include <NitroModules/NitroDefines.hpp>
14
14
 
15
- namespace margelo::nitro::margelo::pictureselector::bridge::swift {
15
+ namespace margelo::nitro::pictureselector::bridge::swift {
16
16
 
17
17
  // pragma MARK: std::function<void(const std::vector<MediaAsset>& /* result */)>
18
18
  Func_void_std__vector_MediaAsset_ create_Func_void_std__vector_MediaAsset_(void* NON_NULL swiftClosureWrapper) noexcept {
@@ -33,10 +33,10 @@ namespace margelo::nitro::margelo::pictureselector::bridge::swift {
33
33
  // pragma MARK: std::shared_ptr<HybridHybridPictureSelectorSpec>
34
34
  std::shared_ptr<HybridHybridPictureSelectorSpec> create_std__shared_ptr_HybridHybridPictureSelectorSpec_(void* NON_NULL swiftUnsafePointer) noexcept {
35
35
  NitroPictureSelector::HybridHybridPictureSelectorSpec_cxx swiftPart = NitroPictureSelector::HybridHybridPictureSelectorSpec_cxx::fromUnsafe(swiftUnsafePointer);
36
- return std::make_shared<margelo::nitro::margelo::pictureselector::HybridHybridPictureSelectorSpecSwift>(swiftPart);
36
+ return std::make_shared<margelo::nitro::pictureselector::HybridHybridPictureSelectorSpecSwift>(swiftPart);
37
37
  }
38
38
  void* NON_NULL get_std__shared_ptr_HybridHybridPictureSelectorSpec_(std__shared_ptr_HybridHybridPictureSelectorSpec_ cppType) {
39
- std::shared_ptr<margelo::nitro::margelo::pictureselector::HybridHybridPictureSelectorSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::margelo::pictureselector::HybridHybridPictureSelectorSpecSwift>(cppType);
39
+ std::shared_ptr<margelo::nitro::pictureselector::HybridHybridPictureSelectorSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::pictureselector::HybridHybridPictureSelectorSpecSwift>(cppType);
40
40
  #ifdef NITRO_DEBUG
41
41
  if (swiftWrapper == nullptr) [[unlikely]] {
42
42
  throw std::runtime_error("Class \"HybridHybridPictureSelectorSpec\" is not implemented in Swift!");
@@ -46,4 +46,4 @@ namespace margelo::nitro::margelo::pictureselector::bridge::swift {
46
46
  return swiftPart.toUnsafe();
47
47
  }
48
48
 
49
- } // namespace margelo::nitro::margelo::pictureselector::bridge::swift
49
+ } // namespace margelo::nitro::pictureselector::bridge::swift