react-native-audio-browser 0.2.0-next.22 → 0.2.0-next.24

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 (42) hide show
  1. package/android/gradle.properties +1 -1
  2. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +9 -1
  3. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +6 -0
  4. package/android/src/test/java/com/audiobrowser/util/BrowserPathHelperTest.kt +14 -0
  5. package/ios/Browser/BrowserPathHelper.swift +6 -2
  6. package/ios/CarPlay/CPInterfaceController+Safe.swift +93 -23
  7. package/ios/CarPlay/CarPlayController.swift +5 -1
  8. package/ios/CarPlay/TopTemplateReplacer.swift +96 -0
  9. package/ios/Extension/NavigationError+Conversion.swift +7 -0
  10. package/ios/HybridAudioBrowser.swift +4 -1
  11. package/ios/Tests/BrowserPathHelperTests.swift +11 -0
  12. package/ios/Tests/TopTemplateReplacerTests.swift +172 -0
  13. package/lib/commonjs/web/browser/NavigationErrorManager.js +3 -1
  14. package/lib/commonjs/web/browser/NavigationErrorManager.js.map +1 -1
  15. package/lib/commonjs/web/util/BrowserPathHelper.js +6 -0
  16. package/lib/commonjs/web/util/BrowserPathHelper.js.map +1 -1
  17. package/lib/module/web/browser/NavigationErrorManager.js +3 -1
  18. package/lib/module/web/browser/NavigationErrorManager.js.map +1 -1
  19. package/lib/module/web/util/BrowserPathHelper.js +6 -0
  20. package/lib/module/web/util/BrowserPathHelper.js.map +1 -1
  21. package/lib/typescript/src/types/browser.d.ts +8 -1
  22. package/lib/typescript/src/types/browser.d.ts.map +1 -1
  23. package/nitrogen/generated/android/c++/JFormatNavigationErrorParams.hpp +9 -3
  24. package/nitrogen/generated/android/c++/JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.hpp +2 -0
  25. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +4 -0
  26. package/nitrogen/generated/android/c++/JNativeBrowserConfiguration.hpp +2 -0
  27. package/nitrogen/generated/android/c++/JNavigationErrorKind.hpp +58 -0
  28. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/FormatNavigationErrorParams.kt +6 -3
  29. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/NavigationErrorKind.kt +23 -0
  30. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +3 -0
  31. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +3 -0
  32. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +3 -0
  33. package/nitrogen/generated/ios/swift/FormatNavigationErrorParams.swift +7 -2
  34. package/nitrogen/generated/ios/swift/NavigationErrorKind.swift +40 -0
  35. package/nitrogen/generated/shared/c++/FormatNavigationErrorParams.hpp +9 -2
  36. package/nitrogen/generated/shared/c++/NavigationErrorKind.hpp +76 -0
  37. package/package.json +1 -1
  38. package/src/types/browser.ts +9 -1
  39. package/src/web/browser/NavigationErrorManager.ts +3 -1
  40. package/src/web/util/BrowserPathHelper.test.ts +16 -0
  41. package/src/web/util/BrowserPathHelper.ts +9 -0
  42. package/website/guide/carplay.md +30 -0
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { BrowserPathHelper } from '../util/BrowserPathHelper';
3
4
  const ERROR_TITLES = {
4
5
  'network-error': 'Network Error',
5
6
  'http-error': 'Server Error',
@@ -73,7 +74,8 @@ export class NavigationErrorManager {
73
74
  const customFormatted = this.formatCallback({
74
75
  error: navError,
75
76
  defaultFormatted,
76
- path
77
+ path,
78
+ kind: BrowserPathHelper.navigationErrorKind(path)
77
79
  });
78
80
  this._formattedNavigationError = customFormatted || defaultFormatted;
79
81
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["ERROR_TITLES","NavigationErrorManager","onNavigationError","onFormattedNavigationError","setFormatCallback","callback","formatCallback","clearNavigationError","_navigationError","undefined","_formattedNavigationError","error","setNavigationError","code","message","path","statusCode","navError","statusCodeSuccess","defaultFormatted","title","customFormatted","console","getNavigationError","getFormattedNavigationError"],"sourceRoot":"../../../../src","sources":["web/browser/NavigationErrorManager.ts"],"mappings":";;AAQA,MAAMA,YAAiD,GAAG;EACxD,eAAe,EAAE,eAAe;EAChC,YAAY,EAAE,cAAc;EAC5B,mBAAmB,EAAE,mBAAmB;EACxC,gBAAgB,EAAE,OAAO;EACzB,eAAe,EAAE,OAAO;EACxB,eAAe,EAAE,cAAc;EAC/B,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,CAAC;EAKlC;EACAC,iBAAiB,GAAyCA,CAAA,KAAM,CAAC,CAAC;EAClEC,0BAA0B,GAEdA,CAAA,KAAM,CAAC,CAAC;;EAEpB;AACF;AACA;EACEC,iBAAiBA,CACfC,QAA6D,EACvD;IACN,IAAI,CAACC,cAAc,GAAGD,QAAQ;EAChC;;EAEA;AACF;AACA;EACEE,oBAAoBA,CAAA,EAAS;IAC3B,IACE,IAAI,CAACC,gBAAgB,KAAKC,SAAS,IACnC,IAAI,CAACC,yBAAyB,KAAKD,SAAS,EAC5C;MACA,IAAI,CAACD,gBAAgB,GAAGC,SAAS;MACjC,IAAI,CAACC,yBAAyB,GAAGD,SAAS;MAC1C,IAAI,CAACP,iBAAiB,CAAC;QAAES,KAAK,EAAEF;MAAU,CAAC,CAAC;MAC5C,IAAI,CAACN,0BAA0B,CAACM,SAAS,CAAC;IAC5C;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,kBAAkBA,CAChBC,IAAyB,EACzBC,OAAe,EACfC,IAAa,EACbC,UAAmB,EACb;IACN,MAAMC,QAAyB,GAAG;MAChCJ,IAAI;MACJC,OAAO;MACPE,UAAU;MACVE,iBAAiB,EAAET;IACrB,CAAC;IACD,IAAI,CAACD,gBAAgB,GAAGS,QAAQ;IAChC,IAAI,CAACf,iBAAiB,CAAC;MAAES,KAAK,EAAEM;IAAS,CAAC,CAAC;;IAE3C;IACA,MAAME,gBAA0C,GAAG;MACjDC,KAAK,EAAEpB,YAAY,CAACa,IAAI,CAAC;MACzBC;IACF,CAAC;;IAED;IACA,IAAI,IAAI,CAACR,cAAc,IAAIS,IAAI,EAAE;MAC/B,IAAI;QACF,MAAMM,eAAe,GAAG,IAAI,CAACf,cAAc,CAAC;UAC1CK,KAAK,EAAEM,QAAQ;UACfE,gBAAgB;UAChBJ;QACF,CAAC,CAAC;QACF,IAAI,CAACL,yBAAyB,GAAGW,eAAe,IAAIF,gBAAgB;MACtE,CAAC,CAAC,OAAOR,KAAK,EAAE;QACdW,OAAO,CAACX,KAAK,CAAC,0CAA0C,EAAEA,KAAK,CAAC;QAChE,IAAI,CAACD,yBAAyB,GAAGS,gBAAgB;MACnD;IACF,CAAC,MAAM;MACL,IAAI,CAACT,yBAAyB,GAAGS,gBAAgB;IACnD;IAEA,IAAI,CAAChB,0BAA0B,CAAC,IAAI,CAACO,yBAAyB,CAAC;EACjE;;EAEA;AACF;AACA;EACEa,kBAAkBA,CAAA,EAAgC;IAChD,OAAO,IAAI,CAACf,gBAAgB;EAC9B;;EAEA;AACF;AACA;EACEgB,2BAA2BA,CAAA,EAAyC;IAClE,OAAO,IAAI,CAACd,yBAAyB;EACvC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["BrowserPathHelper","ERROR_TITLES","NavigationErrorManager","onNavigationError","onFormattedNavigationError","setFormatCallback","callback","formatCallback","clearNavigationError","_navigationError","undefined","_formattedNavigationError","error","setNavigationError","code","message","path","statusCode","navError","statusCodeSuccess","defaultFormatted","title","customFormatted","kind","navigationErrorKind","console","getNavigationError","getFormattedNavigationError"],"sourceRoot":"../../../../src","sources":["web/browser/NavigationErrorManager.ts"],"mappings":";;AAOA,SAASA,iBAAiB,QAAQ,2BAA2B;AAE7D,MAAMC,YAAiD,GAAG;EACxD,eAAe,EAAE,eAAe;EAChC,YAAY,EAAE,cAAc;EAC5B,mBAAmB,EAAE,mBAAmB;EACxC,gBAAgB,EAAE,OAAO;EACzB,eAAe,EAAE,OAAO;EACxB,eAAe,EAAE,cAAc;EAC/B,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,CAAC;EAKlC;EACAC,iBAAiB,GAAyCA,CAAA,KAAM,CAAC,CAAC;EAClEC,0BAA0B,GAEdA,CAAA,KAAM,CAAC,CAAC;;EAEpB;AACF;AACA;EACEC,iBAAiBA,CACfC,QAA6D,EACvD;IACN,IAAI,CAACC,cAAc,GAAGD,QAAQ;EAChC;;EAEA;AACF;AACA;EACEE,oBAAoBA,CAAA,EAAS;IAC3B,IACE,IAAI,CAACC,gBAAgB,KAAKC,SAAS,IACnC,IAAI,CAACC,yBAAyB,KAAKD,SAAS,EAC5C;MACA,IAAI,CAACD,gBAAgB,GAAGC,SAAS;MACjC,IAAI,CAACC,yBAAyB,GAAGD,SAAS;MAC1C,IAAI,CAACP,iBAAiB,CAAC;QAAES,KAAK,EAAEF;MAAU,CAAC,CAAC;MAC5C,IAAI,CAACN,0BAA0B,CAACM,SAAS,CAAC;IAC5C;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,kBAAkBA,CAChBC,IAAyB,EACzBC,OAAe,EACfC,IAAa,EACbC,UAAmB,EACb;IACN,MAAMC,QAAyB,GAAG;MAChCJ,IAAI;MACJC,OAAO;MACPE,UAAU;MACVE,iBAAiB,EAAET;IACrB,CAAC;IACD,IAAI,CAACD,gBAAgB,GAAGS,QAAQ;IAChC,IAAI,CAACf,iBAAiB,CAAC;MAAES,KAAK,EAAEM;IAAS,CAAC,CAAC;;IAE3C;IACA,MAAME,gBAA0C,GAAG;MACjDC,KAAK,EAAEpB,YAAY,CAACa,IAAI,CAAC;MACzBC;IACF,CAAC;;IAED;IACA,IAAI,IAAI,CAACR,cAAc,IAAIS,IAAI,EAAE;MAC/B,IAAI;QACF,MAAMM,eAAe,GAAG,IAAI,CAACf,cAAc,CAAC;UAC1CK,KAAK,EAAEM,QAAQ;UACfE,gBAAgB;UAChBJ,IAAI;UACJO,IAAI,EAAEvB,iBAAiB,CAACwB,mBAAmB,CAACR,IAAI;QAClD,CAAC,CAAC;QACF,IAAI,CAACL,yBAAyB,GAAGW,eAAe,IAAIF,gBAAgB;MACtE,CAAC,CAAC,OAAOR,KAAK,EAAE;QACda,OAAO,CAACb,KAAK,CAAC,0CAA0C,EAAEA,KAAK,CAAC;QAChE,IAAI,CAACD,yBAAyB,GAAGS,gBAAgB;MACnD;IACF,CAAC,MAAM;MACL,IAAI,CAACT,yBAAyB,GAAGS,gBAAgB;IACnD;IAEA,IAAI,CAAChB,0BAA0B,CAAC,IAAI,CAACO,yBAAyB,CAAC;EACjE;;EAEA;AACF;AACA;EACEe,kBAAkBA,CAAA,EAAgC;IAChD,OAAO,IAAI,CAACjB,gBAAgB;EAC9B;;EAEA;AACF;AACA;EACEkB,2BAA2BA,CAAA,EAAyC;IAClE,OAAO,IAAI,CAAChB,yBAAyB;EACvC;AACF","ignoreList":[]}
@@ -27,6 +27,12 @@ export const BrowserPathHelper = {
27
27
  CONTEXTUAL_TRACK_PARAM: '__trackId',
28
28
  /** Query parameter name for the tapped child's page position (tie-breaker) */
29
29
  CONTEXTUAL_INDEX_PARAM: '__index',
30
+ /**
31
+ * Whether a navigation error on this path came from a browse or a search
32
+ */
33
+ navigationErrorKind(path) {
34
+ return path.startsWith(`${this.SEARCH_PATH_PREFIX}?`) ? 'search' : 'browse';
35
+ },
30
36
  /**
31
37
  * Create a search path for a given query
32
38
  */
@@ -1 +1 @@
1
- {"version":3,"names":["BrowserPathHelper","SEARCH_PATH_PREFIX","CONTEXTUAL_TRACK_PARAM","CONTEXTUAL_INDEX_PARAM","createSearchPath","query","encodedQuery","encodeURIComponent","isContextual","path","includes","stripTrackId","url","isFullUrl","startsWith","urlObj","URL","undefined","searchParams","delete","toString","search","pathname","paramPattern","RegExp","result","replace","build","parentPath","trackId","index","separator","indexParam","extractTrackId","extractParam","extractIndex","raw","test","Number","parseInt","param","get","match","decodeURIComponent","buildUrl","baseUrl","normalizedBase","normalizedPath"],"sourceRoot":"../../../../src","sources":["web/util/BrowserPathHelper.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BrowserPathHelper","SEARCH_PATH_PREFIX","CONTEXTUAL_TRACK_PARAM","CONTEXTUAL_INDEX_PARAM","navigationErrorKind","path","startsWith","createSearchPath","query","encodedQuery","encodeURIComponent","isContextual","includes","stripTrackId","url","isFullUrl","urlObj","URL","undefined","searchParams","delete","toString","search","pathname","paramPattern","RegExp","result","replace","build","parentPath","trackId","index","separator","indexParam","extractTrackId","extractParam","extractIndex","raw","test","Number","parseInt","param","get","match","decodeURIComponent","buildUrl","baseUrl","normalizedBase","normalizedPath"],"sourceRoot":"../../../../src","sources":["web/util/BrowserPathHelper.ts"],"mappings":"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","ignoreList":[]}
@@ -986,6 +986,8 @@ export type FormattedNavigationError = {
986
986
  */
987
987
  message?: string;
988
988
  };
989
+ /** What was being requested when a navigation error occurred. */
990
+ export type NavigationErrorKind = 'browse' | 'search';
989
991
  /**
990
992
  * Parameters passed to the formatNavigationError callback.
991
993
  */
@@ -996,6 +998,8 @@ export type FormatNavigationErrorParams = {
996
998
  defaultFormatted: FormattedNavigationError;
997
999
  /** The path that was being navigated to when the error occurred */
998
1000
  path: string;
1001
+ /** Whether the failed request was a browse or a search */
1002
+ kind: NavigationErrorKind;
999
1003
  };
1000
1004
  /**
1001
1005
  * Callback to customize navigation error display.
@@ -1007,7 +1011,10 @@ export type FormatNavigationErrorParams = {
1007
1011
  * @example
1008
1012
  * ```typescript
1009
1013
  * // Override only specific error types or routes
1010
- * formatNavigationError: ({ error, defaultFormatted, path }) => {
1014
+ * formatNavigationError: ({ error, defaultFormatted, path, kind }) => {
1015
+ * if (error.code === 'empty-content' && kind === 'search') {
1016
+ * return { title: 'No results found' }
1017
+ * }
1011
1018
  * // Custom message for local server routes
1012
1019
  * if (error.code === 'network-error' && path.startsWith('/errors')) {
1013
1020
  * return {
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/types/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/types/browser.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,10 @@
13
13
  #include "FormattedNavigationError.hpp"
14
14
  #include "JFormattedNavigationError.hpp"
15
15
  #include "JNavigationError.hpp"
16
+ #include "JNavigationErrorKind.hpp"
16
17
  #include "JNavigationErrorType.hpp"
17
18
  #include "NavigationError.hpp"
19
+ #include "NavigationErrorKind.hpp"
18
20
  #include "NavigationErrorType.hpp"
19
21
  #include <optional>
20
22
  #include <string>
@@ -44,10 +46,13 @@ namespace margelo::nitro::audiobrowser {
44
46
  jni::local_ref<JFormattedNavigationError> defaultFormatted = this->getFieldValue(fieldDefaultFormatted);
45
47
  static const auto fieldPath = clazz->getField<jni::JString>("path");
46
48
  jni::local_ref<jni::JString> path = this->getFieldValue(fieldPath);
49
+ static const auto fieldKind = clazz->getField<JNavigationErrorKind>("kind");
50
+ jni::local_ref<JNavigationErrorKind> kind = this->getFieldValue(fieldKind);
47
51
  return FormatNavigationErrorParams(
48
52
  error->toCpp(),
49
53
  defaultFormatted->toCpp(),
50
- path->toStdString()
54
+ path->toStdString(),
55
+ kind->toCpp()
51
56
  );
52
57
  }
53
58
 
@@ -57,14 +62,15 @@ namespace margelo::nitro::audiobrowser {
57
62
  */
58
63
  [[maybe_unused]]
59
64
  static jni::local_ref<JFormatNavigationErrorParams::javaobject> fromCpp(const FormatNavigationErrorParams& value) {
60
- using JSignature = JFormatNavigationErrorParams(jni::alias_ref<JNavigationError>, jni::alias_ref<JFormattedNavigationError>, jni::alias_ref<jni::JString>);
65
+ using JSignature = JFormatNavigationErrorParams(jni::alias_ref<JNavigationError>, jni::alias_ref<JFormattedNavigationError>, jni::alias_ref<jni::JString>, jni::alias_ref<JNavigationErrorKind>);
61
66
  static const auto clazz = javaClassStatic();
62
67
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
63
68
  return create(
64
69
  clazz,
65
70
  JNavigationError::fromCpp(value.error),
66
71
  JFormattedNavigationError::fromCpp(value.defaultFormatted),
67
- jni::make_jstring(value.path)
72
+ jni::make_jstring(value.path),
73
+ JNavigationErrorKind::fromCpp(value.kind)
68
74
  );
69
75
  }
70
76
  };
@@ -24,6 +24,8 @@
24
24
  #include "JNavigationError.hpp"
25
25
  #include "NavigationErrorType.hpp"
26
26
  #include "JNavigationErrorType.hpp"
27
+ #include "NavigationErrorKind.hpp"
28
+ #include "JNavigationErrorKind.hpp"
27
29
 
28
30
  namespace margelo::nitro::audiobrowser {
29
31
 
@@ -77,6 +77,8 @@ namespace margelo::nitro::audiobrowser { enum class MediaReference; }
77
77
  namespace margelo::nitro::audiobrowser { struct TrackLoadEvent; }
78
78
  // Forward declaration of `FormatNavigationErrorParams` to properly resolve imports.
79
79
  namespace margelo::nitro::audiobrowser { struct FormatNavigationErrorParams; }
80
+ // Forward declaration of `NavigationErrorKind` to properly resolve imports.
81
+ namespace margelo::nitro::audiobrowser { enum class NavigationErrorKind; }
80
82
  // Forward declaration of `GateDecision` to properly resolve imports.
81
83
  namespace margelo::nitro::audiobrowser { struct GateDecision; }
82
84
  // Forward declaration of `NativeGateRequest` to properly resolve imports.
@@ -305,6 +307,8 @@ namespace margelo::nitro::audiobrowser { struct RetryConfig; }
305
307
  #include "FormatNavigationErrorParams.hpp"
306
308
  #include "JFunc_std__shared_ptr_Promise_std__optional_FormattedNavigationError____FormatNavigationErrorParams.hpp"
307
309
  #include "JFormatNavigationErrorParams.hpp"
310
+ #include "NavigationErrorKind.hpp"
311
+ #include "JNavigationErrorKind.hpp"
308
312
  #include "GateDecision.hpp"
309
313
  #include "NativeGateRequest.hpp"
310
314
  #include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_GateDecision_____NativeGateRequest.hpp"
@@ -59,6 +59,7 @@
59
59
  #include "JMediaTransformParams.hpp"
60
60
  #include "JNativeRouteEntry.hpp"
61
61
  #include "JNavigationError.hpp"
62
+ #include "JNavigationErrorKind.hpp"
62
63
  #include "JNavigationErrorType.hpp"
63
64
  #include "JRequestConfig.hpp"
64
65
  #include "JResolvedTrack.hpp"
@@ -79,6 +80,7 @@
79
80
  #include "MediaTransformParams.hpp"
80
81
  #include "NativeRouteEntry.hpp"
81
82
  #include "NavigationError.hpp"
83
+ #include "NavigationErrorKind.hpp"
82
84
  #include "NavigationErrorType.hpp"
83
85
  #include "RequestConfig.hpp"
84
86
  #include "ResolvedTrack.hpp"
@@ -0,0 +1,58 @@
1
+ ///
2
+ /// JNavigationErrorKind.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NavigationErrorKind.hpp"
12
+
13
+ namespace margelo::nitro::audiobrowser {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "NavigationErrorKind" and the the Kotlin enum "NavigationErrorKind".
19
+ */
20
+ struct JNavigationErrorKind final: public jni::JavaClass<JNavigationErrorKind> {
21
+ public:
22
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/audiobrowser/NavigationErrorKind;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum NavigationErrorKind.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ NavigationErrorKind toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<NavigationErrorKind>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JNavigationErrorKind> fromCpp(NavigationErrorKind value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case NavigationErrorKind::BROWSE:
46
+ static const auto fieldBROWSE = clazz->getStaticField<JNavigationErrorKind>("BROWSE");
47
+ return clazz->getStaticFieldValue(fieldBROWSE);
48
+ case NavigationErrorKind::SEARCH:
49
+ static const auto fieldSEARCH = clazz->getStaticField<JNavigationErrorKind>("SEARCH");
50
+ return clazz->getStaticFieldValue(fieldSEARCH);
51
+ default:
52
+ std::string stringValue = std::to_string(static_cast<int>(value));
53
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
54
+ }
55
+ }
56
+ };
57
+
58
+ } // namespace margelo::nitro::audiobrowser
@@ -25,7 +25,10 @@ data class FormatNavigationErrorParams(
25
25
  val defaultFormatted: FormattedNavigationError,
26
26
  @DoNotStrip
27
27
  @Keep
28
- val path: String
28
+ val path: String,
29
+ @DoNotStrip
30
+ @Keep
31
+ val kind: NavigationErrorKind
29
32
  ) {
30
33
  /* primary constructor */
31
34
 
@@ -37,8 +40,8 @@ data class FormatNavigationErrorParams(
37
40
  @Keep
38
41
  @Suppress("unused")
39
42
  @JvmStatic
40
- private fun fromCpp(error: NavigationError, defaultFormatted: FormattedNavigationError, path: String): FormatNavigationErrorParams {
41
- return FormatNavigationErrorParams(error, defaultFormatted, path)
43
+ private fun fromCpp(error: NavigationError, defaultFormatted: FormattedNavigationError, path: String, kind: NavigationErrorKind): FormatNavigationErrorParams {
44
+ return FormatNavigationErrorParams(error, defaultFormatted, path, kind)
42
45
  }
43
46
  }
44
47
  }
@@ -0,0 +1,23 @@
1
+ ///
2
+ /// NavigationErrorKind.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.audiobrowser
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+ /**
14
+ * Represents the JavaScript enum/union "NavigationErrorKind".
15
+ */
16
+ @DoNotStrip
17
+ @Keep
18
+ enum class NavigationErrorKind(@DoNotStrip @Keep val value: Int) {
19
+ BROWSE(0),
20
+ SEARCH(1);
21
+
22
+ companion object
23
+ }
@@ -104,6 +104,8 @@ namespace margelo::nitro::audiobrowser { struct NativeRouteEntry; }
104
104
  namespace margelo::nitro::audiobrowser { struct NativeUpdateOptions; }
105
105
  // Forward declaration of `NavigationErrorEvent` to properly resolve imports.
106
106
  namespace margelo::nitro::audiobrowser { struct NavigationErrorEvent; }
107
+ // Forward declaration of `NavigationErrorKind` to properly resolve imports.
108
+ namespace margelo::nitro::audiobrowser { enum class NavigationErrorKind; }
107
109
  // Forward declaration of `NavigationErrorType` to properly resolve imports.
108
110
  namespace margelo::nitro::audiobrowser { enum class NavigationErrorType; }
109
111
  // Forward declaration of `NavigationError` to properly resolve imports.
@@ -257,6 +259,7 @@ namespace AudioBrowser { class HybridAudioBrowserSpec_cxx; }
257
259
  #include "NativeUpdateOptions.hpp"
258
260
  #include "NavigationError.hpp"
259
261
  #include "NavigationErrorEvent.hpp"
262
+ #include "NavigationErrorKind.hpp"
260
263
  #include "NavigationErrorType.hpp"
261
264
  #include "NitroAndroidUpdateOptions.hpp"
262
265
  #include "NitroIOSUpdateOptions.hpp"
@@ -108,6 +108,8 @@ namespace margelo::nitro::audiobrowser { struct NativeSetupPlayerOptions; }
108
108
  namespace margelo::nitro::audiobrowser { struct NativeUpdateOptions; }
109
109
  // Forward declaration of `NavigationErrorEvent` to properly resolve imports.
110
110
  namespace margelo::nitro::audiobrowser { struct NavigationErrorEvent; }
111
+ // Forward declaration of `NavigationErrorKind` to properly resolve imports.
112
+ namespace margelo::nitro::audiobrowser { enum class NavigationErrorKind; }
111
113
  // Forward declaration of `NavigationErrorType` to properly resolve imports.
112
114
  namespace margelo::nitro::audiobrowser { enum class NavigationErrorType; }
113
115
  // Forward declaration of `NavigationError` to properly resolve imports.
@@ -259,6 +261,7 @@ namespace margelo::nitro::audiobrowser { struct TransformableRequestConfig; }
259
261
  #include "NativeUpdateOptions.hpp"
260
262
  #include "NavigationError.hpp"
261
263
  #include "NavigationErrorEvent.hpp"
264
+ #include "NavigationErrorKind.hpp"
262
265
  #include "NavigationErrorType.hpp"
263
266
  #include "NitroAndroidUpdateOptions.hpp"
264
267
  #include "NitroIOSUpdateOptions.hpp"
@@ -82,6 +82,8 @@ namespace margelo::nitro::audiobrowser { enum class MediaReference; }
82
82
  namespace margelo::nitro::audiobrowser { struct TrackLoadEvent; }
83
83
  // Forward declaration of `FormatNavigationErrorParams` to properly resolve imports.
84
84
  namespace margelo::nitro::audiobrowser { struct FormatNavigationErrorParams; }
85
+ // Forward declaration of `NavigationErrorKind` to properly resolve imports.
86
+ namespace margelo::nitro::audiobrowser { enum class NavigationErrorKind; }
85
87
  // Forward declaration of `GateDecision` to properly resolve imports.
86
88
  namespace margelo::nitro::audiobrowser { struct GateDecision; }
87
89
  // Forward declaration of `NativeGateRequest` to properly resolve imports.
@@ -251,6 +253,7 @@ namespace margelo::nitro::audiobrowser { struct Progress; }
251
253
  #include "MediaReference.hpp"
252
254
  #include "TrackLoadEvent.hpp"
253
255
  #include "FormatNavigationErrorParams.hpp"
256
+ #include "NavigationErrorKind.hpp"
254
257
  #include "GateDecision.hpp"
255
258
  #include "NativeGateRequest.hpp"
256
259
  #include "Gate.hpp"
@@ -18,8 +18,8 @@ public extension FormatNavigationErrorParams {
18
18
  /**
19
19
  * Create a new instance of `FormatNavigationErrorParams`.
20
20
  */
21
- init(error: NavigationError, defaultFormatted: FormattedNavigationError, path: String) {
22
- self.init(error, defaultFormatted, std.string(path))
21
+ init(error: NavigationError, defaultFormatted: FormattedNavigationError, path: String, kind: NavigationErrorKind) {
22
+ self.init(error, defaultFormatted, std.string(path), kind)
23
23
  }
24
24
 
25
25
  @inline(__always)
@@ -36,4 +36,9 @@ public extension FormatNavigationErrorParams {
36
36
  var path: String {
37
37
  return String(self.__path)
38
38
  }
39
+
40
+ @inline(__always)
41
+ var kind: NavigationErrorKind {
42
+ return self.__kind
43
+ }
39
44
  }
@@ -0,0 +1,40 @@
1
+ ///
2
+ /// NavigationErrorKind.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ /**
9
+ * Represents the JS union `NavigationErrorKind`, backed by a C++ enum.
10
+ */
11
+ public typealias NavigationErrorKind = margelo.nitro.audiobrowser.NavigationErrorKind
12
+
13
+ public extension NavigationErrorKind {
14
+ /**
15
+ * Get a NavigationErrorKind for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "browse":
21
+ self = .browse
22
+ case "search":
23
+ self = .search
24
+ default:
25
+ return nil
26
+ }
27
+ }
28
+
29
+ /**
30
+ * Get the String value this NavigationErrorKind represents.
31
+ */
32
+ var stringValue: String {
33
+ switch self {
34
+ case .browse:
35
+ return "browse"
36
+ case .search:
37
+ return "search"
38
+ }
39
+ }
40
+ }
@@ -32,10 +32,13 @@
32
32
  namespace margelo::nitro::audiobrowser { struct NavigationError; }
33
33
  // Forward declaration of `FormattedNavigationError` to properly resolve imports.
34
34
  namespace margelo::nitro::audiobrowser { struct FormattedNavigationError; }
35
+ // Forward declaration of `NavigationErrorKind` to properly resolve imports.
36
+ namespace margelo::nitro::audiobrowser { enum class NavigationErrorKind; }
35
37
 
36
38
  #include "NavigationError.hpp"
37
39
  #include "FormattedNavigationError.hpp"
38
40
  #include <string>
41
+ #include "NavigationErrorKind.hpp"
39
42
 
40
43
  namespace margelo::nitro::audiobrowser {
41
44
 
@@ -47,10 +50,11 @@ namespace margelo::nitro::audiobrowser {
47
50
  NavigationError error SWIFT_PRIVATE;
48
51
  FormattedNavigationError defaultFormatted SWIFT_PRIVATE;
49
52
  std::string path SWIFT_PRIVATE;
53
+ NavigationErrorKind kind SWIFT_PRIVATE;
50
54
 
51
55
  public:
52
56
  FormatNavigationErrorParams() = default;
53
- explicit FormatNavigationErrorParams(NavigationError error, FormattedNavigationError defaultFormatted, std::string path): error(error), defaultFormatted(defaultFormatted), path(path) {}
57
+ explicit FormatNavigationErrorParams(NavigationError error, FormattedNavigationError defaultFormatted, std::string path, NavigationErrorKind kind): error(error), defaultFormatted(defaultFormatted), path(path), kind(kind) {}
54
58
 
55
59
  public:
56
60
  friend bool operator==(const FormatNavigationErrorParams& lhs, const FormatNavigationErrorParams& rhs) = default;
@@ -68,7 +72,8 @@ namespace margelo::nitro {
68
72
  return margelo::nitro::audiobrowser::FormatNavigationErrorParams(
69
73
  JSIConverter<margelo::nitro::audiobrowser::NavigationError>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "error"))),
70
74
  JSIConverter<margelo::nitro::audiobrowser::FormattedNavigationError>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "defaultFormatted"))),
71
- JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "path")))
75
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "path"))),
76
+ JSIConverter<margelo::nitro::audiobrowser::NavigationErrorKind>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "kind")))
72
77
  );
73
78
  }
74
79
  static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::audiobrowser::FormatNavigationErrorParams& arg) {
@@ -76,6 +81,7 @@ namespace margelo::nitro {
76
81
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "error"), JSIConverter<margelo::nitro::audiobrowser::NavigationError>::toJSI(runtime, arg.error));
77
82
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "defaultFormatted"), JSIConverter<margelo::nitro::audiobrowser::FormattedNavigationError>::toJSI(runtime, arg.defaultFormatted));
78
83
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "path"), JSIConverter<std::string>::toJSI(runtime, arg.path));
84
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "kind"), JSIConverter<margelo::nitro::audiobrowser::NavigationErrorKind>::toJSI(runtime, arg.kind));
79
85
  return obj;
80
86
  }
81
87
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -89,6 +95,7 @@ namespace margelo::nitro {
89
95
  if (!JSIConverter<margelo::nitro::audiobrowser::NavigationError>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "error")))) return false;
90
96
  if (!JSIConverter<margelo::nitro::audiobrowser::FormattedNavigationError>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "defaultFormatted")))) return false;
91
97
  if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "path")))) return false;
98
+ if (!JSIConverter<margelo::nitro::audiobrowser::NavigationErrorKind>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "kind")))) return false;
92
99
  return true;
93
100
  }
94
101
  };
@@ -0,0 +1,76 @@
1
+ ///
2
+ /// NavigationErrorKind.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/NitroHash.hpp>)
11
+ #include <NitroModules/NitroHash.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
16
+ #include <NitroModules/JSIConverter.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
21
+ #include <NitroModules/NitroDefines.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+
26
+ namespace margelo::nitro::audiobrowser {
27
+
28
+ /**
29
+ * An enum which can be represented as a JavaScript union (NavigationErrorKind).
30
+ */
31
+ enum class NavigationErrorKind {
32
+ BROWSE SWIFT_NAME(browse) = 0,
33
+ SEARCH SWIFT_NAME(search) = 1,
34
+ } CLOSED_ENUM;
35
+
36
+ } // namespace margelo::nitro::audiobrowser
37
+
38
+ namespace margelo::nitro {
39
+
40
+ // C++ NavigationErrorKind <> JS NavigationErrorKind (union)
41
+ template <>
42
+ struct JSIConverter<margelo::nitro::audiobrowser::NavigationErrorKind> final {
43
+ static inline margelo::nitro::audiobrowser::NavigationErrorKind fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
44
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, arg);
45
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
46
+ case hashString("browse"): return margelo::nitro::audiobrowser::NavigationErrorKind::BROWSE;
47
+ case hashString("search"): return margelo::nitro::audiobrowser::NavigationErrorKind::SEARCH;
48
+ default: [[unlikely]]
49
+ throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum NavigationErrorKind - invalid value!");
50
+ }
51
+ }
52
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::audiobrowser::NavigationErrorKind arg) {
53
+ switch (arg) {
54
+ case margelo::nitro::audiobrowser::NavigationErrorKind::BROWSE: return JSIConverter<std::string>::toJSI(runtime, "browse");
55
+ case margelo::nitro::audiobrowser::NavigationErrorKind::SEARCH: return JSIConverter<std::string>::toJSI(runtime, "search");
56
+ default: [[unlikely]]
57
+ throw std::invalid_argument("Cannot convert NavigationErrorKind to JS - invalid value: "
58
+ + std::to_string(static_cast<int>(arg)) + "!");
59
+ }
60
+ }
61
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
62
+ if (!value.isString()) {
63
+ return false;
64
+ }
65
+ std::string unionValue = JSIConverter<std::string>::fromJSI(runtime, value);
66
+ switch (hashString(unionValue.c_str(), unionValue.size())) {
67
+ case hashString("browse"):
68
+ case hashString("search"):
69
+ return true;
70
+ default:
71
+ return false;
72
+ }
73
+ }
74
+ };
75
+
76
+ } // namespace margelo::nitro
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-audio-browser",
3
- "version": "0.2.0-next.22",
3
+ "version": "0.2.0-next.24",
4
4
  "description": "react-native-audio-browser is a react native package built with Nitro",
5
5
  "keywords": [
6
6
  "react-native",
@@ -1093,6 +1093,9 @@ export type FormattedNavigationError = {
1093
1093
  message?: string
1094
1094
  }
1095
1095
 
1096
+ /** What was being requested when a navigation error occurred. */
1097
+ export type NavigationErrorKind = 'browse' | 'search'
1098
+
1096
1099
  /**
1097
1100
  * Parameters passed to the formatNavigationError callback.
1098
1101
  */
@@ -1103,6 +1106,8 @@ export type FormatNavigationErrorParams = {
1103
1106
  defaultFormatted: FormattedNavigationError
1104
1107
  /** The path that was being navigated to when the error occurred */
1105
1108
  path: string
1109
+ /** Whether the failed request was a browse or a search */
1110
+ kind: NavigationErrorKind
1106
1111
  }
1107
1112
 
1108
1113
  /**
@@ -1115,7 +1120,10 @@ export type FormatNavigationErrorParams = {
1115
1120
  * @example
1116
1121
  * ```typescript
1117
1122
  * // Override only specific error types or routes
1118
- * formatNavigationError: ({ error, defaultFormatted, path }) => {
1123
+ * formatNavigationError: ({ error, defaultFormatted, path, kind }) => {
1124
+ * if (error.code === 'empty-content' && kind === 'search') {
1125
+ * return { title: 'No results found' }
1126
+ * }
1119
1127
  * // Custom message for local server routes
1120
1128
  * if (error.code === 'network-error' && path.startsWith('/errors')) {
1121
1129
  * return {
@@ -5,6 +5,7 @@ import type {
5
5
  NavigationErrorEvent
6
6
  } from '../../features'
7
7
  import type { NativeBrowserConfiguration } from '../../types/browser-native'
8
+ import { BrowserPathHelper } from '../util/BrowserPathHelper'
8
9
 
9
10
  const ERROR_TITLES: Record<NavigationErrorType, string> = {
10
11
  'network-error': 'Network Error',
@@ -91,7 +92,8 @@ export class NavigationErrorManager {
91
92
  const customFormatted = this.formatCallback({
92
93
  error: navError,
93
94
  defaultFormatted,
94
- path
95
+ path,
96
+ kind: BrowserPathHelper.navigationErrorKind(path)
95
97
  })
96
98
  this._formattedNavigationError = customFormatted || defaultFormatted
97
99
  } catch (error) {