react-native-audio-browser 0.2.0-next.16 → 0.2.0-next.18

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 (27) hide show
  1. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +165 -107
  2. package/android/src/main/java/com/audiobrowser/browser/BrowserManager.kt +11 -29
  3. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +409 -186
  4. package/android/src/main/java/com/audiobrowser/util/BrowserPathHelper.kt +13 -1
  5. package/android/src/main/res/values/strings.xml +6 -21
  6. package/android/src/test/java/com/audiobrowser/player/BrowseTilesTest.kt +385 -0
  7. package/lib/commonjs/features/browser.js +8 -0
  8. package/lib/commonjs/features/browser.js.map +1 -1
  9. package/lib/commonjs/web/browser/BrowserManager.js +6 -8
  10. package/lib/commonjs/web/browser/BrowserManager.js.map +1 -1
  11. package/lib/commonjs/web/browser/SearchManager.js +4 -7
  12. package/lib/commonjs/web/browser/SearchManager.js.map +1 -1
  13. package/lib/module/features/browser.js +8 -0
  14. package/lib/module/features/browser.js.map +1 -1
  15. package/lib/module/web/browser/BrowserManager.js +6 -8
  16. package/lib/module/web/browser/BrowserManager.js.map +1 -1
  17. package/lib/module/web/browser/SearchManager.js +4 -7
  18. package/lib/module/web/browser/SearchManager.js.map +1 -1
  19. package/lib/typescript/package.json +1 -0
  20. package/lib/typescript/src/features/browser.d.ts +8 -0
  21. package/lib/typescript/src/features/browser.d.ts.map +1 -1
  22. package/package.json +2 -2
  23. package/src/features/browser.ts +8 -0
  24. package/src/web/browser/BrowserManager.ts +6 -11
  25. package/src/web/browser/SearchManager.test.ts +75 -0
  26. package/src/web/browser/SearchManager.ts +7 -10
  27. package/src/web/browser/__tests__/search-navigation.test.ts +76 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_RequestConfigBuilder","require","SearchManager","constructor","browserManager","search","params","searchRoute","configuration","routes","find","r","path","results","searchCallback","searchConfig","searchQueryParams","q","query","mode","reference","genre","artist","album","title","playlist","fetchSearchResults","error","console","request","requestConfig","artwork","artworkConfig","Promise","all","map","track","artworkSource","RequestConfigBuilder","resolveArtworkSourceAsync","exports"],"sourceRoot":"../../../../src","sources":["web/browser/SearchManager.ts"],"mappings":";;;;;;AAEA,IAAAA,qBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,CAAC;EACzBC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;EAAG;;EAErD;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,MAAoB,EAAoB;IACnD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACH,cAAc,CAACI,aAAa,CAACC,MAAM,EAAEC,IAAI,CAC/DC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YACpB,CAAC;IACD,IAAI,CAACL,WAAW,EAAE;MAChB,OAAO,EAAE;IACX;IAEA,IAAIM,OAAgB,GAAG,EAAE;;IAEzB;IACA,IAAIN,WAAW,CAACO,cAAc,EAAE;MAC9BD,OAAO,GAAG,MAAMN,WAAW,CAACO,cAAc,CAACR,MAAM,CAAC;IACpD;IACA;IAAA,KACK,IAAIC,WAAW,CAACQ,YAAY,EAAE;MACjC;MACA,MAAMC,iBAAyC,GAAG;QAChDC,CAAC,EAAEX,MAAM,CAACY;MACZ,CAAC;MACD,IAAIZ,MAAM,CAACa,IAAI,EAAEH,iBAAiB,CAACG,IAAI,GAAGb,MAAM,CAACa,IAAI;MACrD,IAAIb,MAAM,CAACc,SAAS,KAAK,IAAI,EAAEJ,iBAAiB,CAACI,SAAS,GAAG,IAAI;MACjE,IAAId,MAAM,CAACe,KAAK,EAAEL,iBAAiB,CAACK,KAAK,GAAGf,MAAM,CAACe,KAAK;MACxD,IAAIf,MAAM,CAACgB,MAAM,EAAEN,iBAAiB,CAACM,MAAM,GAAGhB,MAAM,CAACgB,MAAM;MAC3D,IAAIhB,MAAM,CAACiB,KAAK,EAAEP,iBAAiB,CAACO,KAAK,GAAGjB,MAAM,CAACiB,KAAK;MACxD,IAAIjB,MAAM,CAACkB,KAAK,EAAER,iBAAiB,CAACQ,KAAK,GAAGlB,MAAM,CAACkB,KAAK;MACxD,IAAIlB,MAAM,CAACmB,QAAQ,EAAET,iBAAiB,CAACS,QAAQ,GAAGnB,MAAM,CAACmB,QAAQ;;MAEjE;MACA;MACA,IAAI;QACFZ,OAAO,GAAG,MAAM,IAAI,CAACT,cAAc,CAACsB,kBAAkB,CACpDnB,WAAW,CAACQ,YAAY,EACxBC,iBACF,CAAC;MACH,CAAC,CAAC,OAAOW,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;QACtC,OAAO,EAAE;MACX;IACF;;IAEA;IACA,MAAM;MAAEE,OAAO,EAAEC,aAAa;MAAEC,OAAO,EAAEC;IAAc,CAAC,GACtD,IAAI,CAAC5B,cAAc,CAACI,aAAa;IACnC,IAAIwB,aAAa,EAAE;MACjBnB,OAAO,GAAG,MAAMoB,OAAO,CAACC,GAAG,CACzBrB,OAAO,CAACsB,GAAG,CAAC,MAAOC,KAAK,IAAK;QAC3B,MAAMC,aAAa,GACjB,MAAMC,0CAAoB,CAACC,yBAAyB,CAClDH,KAAK,EACLN,aAAa,EACbE,aACF,CAAC;QACH,IAAIK,aAAa,IAAI,CAACD,KAAK,CAACC,aAAa,EAAE;UACzC,OAAO;YAAE,GAAGD,KAAK;YAAEC;UAAc,CAAC;QACpC;QACA,OAAOD,KAAK;MACd,CAAC,CACH,CAAC;IACH;IAEA,OAAOvB,OAAO;EAChB;AACF;AAAC2B,OAAA,CAAAtC,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_RequestConfigBuilder","require","SearchManager","constructor","browserManager","search","params","searchRoute","configuration","routes","find","r","path","results","searchCallback","searchConfig","searchQueryParams","q","query","mode","reference","genre","artist","album","title","playlist","fetchSearchResults","request","requestConfig","artwork","artworkConfig","Promise","all","map","track","artworkSource","RequestConfigBuilder","resolveArtworkSourceAsync","exports"],"sourceRoot":"../../../../src","sources":["web/browser/SearchManager.ts"],"mappings":";;;;;;AAEA,IAAAA,qBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,CAAC;EACzBC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;EAAG;;EAErD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,MAAoB,EAAoB;IACnD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACH,cAAc,CAACI,aAAa,CAACC,MAAM,EAAEC,IAAI,CAC/DC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YACpB,CAAC;IACD,IAAI,CAACL,WAAW,EAAE;MAChB,OAAO,EAAE;IACX;IAEA,IAAIM,OAAgB,GAAG,EAAE;;IAEzB;IACA,IAAIN,WAAW,CAACO,cAAc,EAAE;MAC9BD,OAAO,GAAG,MAAMN,WAAW,CAACO,cAAc,CAACR,MAAM,CAAC;IACpD;IACA;IAAA,KACK,IAAIC,WAAW,CAACQ,YAAY,EAAE;MACjC;MACA,MAAMC,iBAAyC,GAAG;QAChDC,CAAC,EAAEX,MAAM,CAACY;MACZ,CAAC;MACD,IAAIZ,MAAM,CAACa,IAAI,EAAEH,iBAAiB,CAACG,IAAI,GAAGb,MAAM,CAACa,IAAI;MACrD,IAAIb,MAAM,CAACc,SAAS,KAAK,IAAI,EAAEJ,iBAAiB,CAACI,SAAS,GAAG,IAAI;MACjE,IAAId,MAAM,CAACe,KAAK,EAAEL,iBAAiB,CAACK,KAAK,GAAGf,MAAM,CAACe,KAAK;MACxD,IAAIf,MAAM,CAACgB,MAAM,EAAEN,iBAAiB,CAACM,MAAM,GAAGhB,MAAM,CAACgB,MAAM;MAC3D,IAAIhB,MAAM,CAACiB,KAAK,EAAEP,iBAAiB,CAACO,KAAK,GAAGjB,MAAM,CAACiB,KAAK;MACxD,IAAIjB,MAAM,CAACkB,KAAK,EAAER,iBAAiB,CAACQ,KAAK,GAAGlB,MAAM,CAACkB,KAAK;MACxD,IAAIlB,MAAM,CAACmB,QAAQ,EAAET,iBAAiB,CAACS,QAAQ,GAAGnB,MAAM,CAACmB,QAAQ;;MAEjE;MACA;MACAZ,OAAO,GAAG,MAAM,IAAI,CAACT,cAAc,CAACsB,kBAAkB,CACpDnB,WAAW,CAACQ,YAAY,EACxBC,iBACF,CAAC;IACH;;IAEA;IACA,MAAM;MAAEW,OAAO,EAAEC,aAAa;MAAEC,OAAO,EAAEC;IAAc,CAAC,GACtD,IAAI,CAAC1B,cAAc,CAACI,aAAa;IACnC,IAAIsB,aAAa,EAAE;MACjBjB,OAAO,GAAG,MAAMkB,OAAO,CAACC,GAAG,CACzBnB,OAAO,CAACoB,GAAG,CAAC,MAAOC,KAAK,IAAK;QAC3B,MAAMC,aAAa,GACjB,MAAMC,0CAAoB,CAACC,yBAAyB,CAClDH,KAAK,EACLN,aAAa,EACbE,aACF,CAAC;QACH,IAAIK,aAAa,IAAI,CAACD,KAAK,CAACC,aAAa,EAAE;UACzC,OAAO;YAAE,GAAGD,KAAK;YAAEC;UAAc,CAAC;QACpC;QACA,OAAOD,KAAK;MACd,CAAC,CACH,CAAC;IACH;IAEA,OAAOrB,OAAO;EAChB;AACF;AAACyB,OAAA,CAAApC,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -138,8 +138,16 @@ export function hasSearch() {
138
138
  /**
139
139
  * Searches for tracks using the configured search source.
140
140
  *
141
+ * Resolves `[]` only when the source found nothing; a failed search rejects,
142
+ * so a caller can tell "no results" from "the request failed". The rejection's
143
+ * message describes the failure — native platforms reject with the underlying
144
+ * throwable and JS sees only its message. On web the `Error` also carries a
145
+ * `code`, the {@link NavigationErrorType} the browse path reports as a
146
+ * {@link NavigationError} (`'http-error'`, `'network-error'`).
147
+ *
141
148
  * @param query - The search query string
142
149
  * @returns Promise resolving to an array of matching tracks
150
+ * @throws When the search source or its request fails
143
151
  *
144
152
  * @see {@link configureBrowser}
145
153
  *
@@ -1 +1 @@
1
- {"version":3,"names":["nativeBrowser","NativeUpdatedValue","useNativeUpdatedValue","SEARCH_ROUTE_PATH","toNativeConfig","validateBrowserConfiguration","currentConfiguration","configureBrowser","configuration","__DEV__","getBrowserConfiguration","navigate","pathOrTrack","navigatePath","navigateTrack","getPath","path","onPathChanged","emitterize","cb","usePath","getContent","onContentChanged","useContent","getTabs","tabs","onTabsChanged","useTabs","notifyContentChanged","invalidateAllContent","hasSearch","config","searchRoute","routes","find","r","searchCallback","searchConfig","search","query"],"sourceRoot":"../../../src","sources":["features/browser.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["nativeBrowser","NativeUpdatedValue","useNativeUpdatedValue","SEARCH_ROUTE_PATH","toNativeConfig","validateBrowserConfiguration","currentConfiguration","configureBrowser","configuration","__DEV__","getBrowserConfiguration","navigate","pathOrTrack","navigatePath","navigateTrack","getPath","path","onPathChanged","emitterize","cb","usePath","getContent","onContentChanged","useContent","getTabs","tabs","onTabsChanged","useTabs","notifyContentChanged","invalidateAllContent","hasSearch","config","searchRoute","routes","find","r","searchCallback","searchConfig","search","query"],"sourceRoot":"../../../src","sources":["features/browser.ts"],"mappings":"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","ignoreList":[]}
@@ -294,6 +294,9 @@ export class BrowserManager {
294
294
  * results (no contextual URLs), like the native `makeSearchResult`.
295
295
  * Matches Android's BrowserManager.search() which bypasses resolve() entirely.
296
296
  *
297
+ * A failed search propagates, so `navigate` turns it into a navigation error
298
+ * the way it does a failed browse resolve.
299
+ *
297
300
  * @param searchPath The search path (format: /__search?q=query)
298
301
  * @returns ResolvedTrack containing search results as one untitled section
299
302
  */
@@ -323,14 +326,9 @@ export class BrowserManager {
323
326
  }
324
327
  // Handle request config-based search via the shared layered fetch.
325
328
  else if (searchRoute.searchConfig) {
326
- try {
327
- searchResults = await this.fetchSearchResults(searchRoute.searchConfig, {
328
- q: query
329
- });
330
- } catch (error) {
331
- console.error('Search failed:', error);
332
- return undefined;
333
- }
329
+ searchResults = await this.fetchSearchResults(searchRoute.searchConfig, {
330
+ q: query
331
+ });
334
332
  }
335
333
 
336
334
  // Search callbacks should return fresh tracks without contextual paths (like Android)
@@ -1 +1 @@
1
- {"version":3,"names":["getTrackIdentity","assertedNotNullish","RequestConfigBuilder","SimpleRouter","BrowserPathHelper","assertBrowsePageShape","parseSearchResponse","flattenSections","flattenedChildren","normalizePage","sectionContaining","BrowserManager","_configuration","router","_layerGeneration","_resolvedLayerGeneration","currentNavigationId","onPathChanged","onContentChanged","onTabsChanged","constructor","httpClient","favoriteManager","navigationErrorManager","handleNavigationError","error","path","message","navError","setNavigationError","code","statusCode","_path","value","hasValidConfiguration","clearNavigationError","pathToNavigate","getDefaultPath","navigate","tabs","_tabs","content","_content","configuration","queueSourcePath","_queueSourcePath","setFormatCallback","formatNavigationError","initialPath","tabsRoute","routes","find","r","staticTabs","browseStatic","navigatePath","navigateTrack","track","console","warn","notifyContentChanged","invalidateAllContent","navigationId","undefined","isSearchPath","startsWith","SEARCH_PATH_PREFIX","resolveSearchContent","resolveContent","sections","addContextualPaths","hydrateChildren","transformArtworkForContent","queryTabs","index","map","section","children","flatIndex","identity","src","build","searchPath","queryMatch","match","query","decodeURIComponent","searchRoute","searchResults","searchCallback","reference","searchConfig","fetchSearchResults","q","title","artworkConfig","artwork","ensureLayersResolved","requestConfig","_resolvedRequest","parentArtworkSource","resolveArtworkSourceAsync","transformTrack","artworkSource","transformedSections","Promise","all","resolveRouteContent","route","routeParams","errorContext","browseCallback","result","browseConfig","resolveFromConfig","browse","_layerResolution","generation","promise","cfg","resolvedRequest","requestResolver","request","resolvedBrowse","browseResolver","_resolvedBrowse","catch","err","kindConfig","routeConfig","params","merged","applyLayers","response","executeRequest","queryParams","length","routePatterns","findBestMatch","matchedPattern","routeMatch","matchedRoute","defaultRoute","expandQueueFromContextualPath","contextualPath","trackId","extractTrackId","parentPath","stripTrackId","parentResolvedTrack","rawSections","every","s","tappedIndex","extractIndex","scoped","isQueueable","disabled","playableTracks","tracks","filter","selectedIndex","tappedOffset","tapped","slice","findIndex","singleTrack","resolveMediaItemsForPlayback","startIndex","startPositionMs","searchQuery","trackPath","createSearchPath","searchTracks","t","selectedIdx","isContextual","expanded","firstTab"],"sourceRoot":"../../../../src","sources":["web/browser/BrowserManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getTrackIdentity","assertedNotNullish","RequestConfigBuilder","SimpleRouter","BrowserPathHelper","assertBrowsePageShape","parseSearchResponse","flattenSections","flattenedChildren","normalizePage","sectionContaining","BrowserManager","_configuration","router","_layerGeneration","_resolvedLayerGeneration","currentNavigationId","onPathChanged","onContentChanged","onTabsChanged","constructor","httpClient","favoriteManager","navigationErrorManager","handleNavigationError","error","path","message","navError","setNavigationError","code","statusCode","_path","value","hasValidConfiguration","clearNavigationError","pathToNavigate","getDefaultPath","navigate","tabs","_tabs","content","_content","configuration","queueSourcePath","_queueSourcePath","setFormatCallback","formatNavigationError","initialPath","tabsRoute","routes","find","r","staticTabs","browseStatic","navigatePath","navigateTrack","track","console","warn","notifyContentChanged","invalidateAllContent","navigationId","undefined","isSearchPath","startsWith","SEARCH_PATH_PREFIX","resolveSearchContent","resolveContent","sections","addContextualPaths","hydrateChildren","transformArtworkForContent","queryTabs","index","map","section","children","flatIndex","identity","src","build","searchPath","queryMatch","match","query","decodeURIComponent","searchRoute","searchResults","searchCallback","reference","searchConfig","fetchSearchResults","q","title","artworkConfig","artwork","ensureLayersResolved","requestConfig","_resolvedRequest","parentArtworkSource","resolveArtworkSourceAsync","transformTrack","artworkSource","transformedSections","Promise","all","resolveRouteContent","route","routeParams","errorContext","browseCallback","result","browseConfig","resolveFromConfig","browse","_layerResolution","generation","promise","cfg","resolvedRequest","requestResolver","request","resolvedBrowse","browseResolver","_resolvedBrowse","catch","err","kindConfig","routeConfig","params","merged","applyLayers","response","executeRequest","queryParams","length","routePatterns","findBestMatch","matchedPattern","routeMatch","matchedRoute","defaultRoute","expandQueueFromContextualPath","contextualPath","trackId","extractTrackId","parentPath","stripTrackId","parentResolvedTrack","rawSections","every","s","tappedIndex","extractIndex","scoped","isQueueable","disabled","playableTracks","tracks","filter","selectedIndex","tappedOffset","tapped","slice","findIndex","singleTrack","resolveMediaItemsForPlayback","startIndex","startPositionMs","searchQuery","trackPath","createSearchPath","searchTracks","t","selectedIdx","isContextual","expanded","firstTab"],"sourceRoot":"../../../../src","sources":["web/browser/BrowserManager.ts"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,9 @@ export class SearchManager {
17
17
  * Matches Android's BrowserManager.search(params: SearchParams) behavior.
18
18
  *
19
19
  * @param params Search parameters (query is required, other fields optional)
20
- * @returns Array of matching tracks
20
+ * @returns Array of matching tracks — empty only when the source found none
21
+ * @throws The failure itself: an `Error` carrying a `NavigationErrorType`
22
+ * `code` from `HttpClient`, or whatever a `searchCallback` rejected with
21
23
  */
22
24
  async search(params) {
23
25
  // Find __search__ route entry
@@ -47,12 +49,7 @@ export class SearchManager {
47
49
 
48
50
  // Delegate to the shared layered fetch (request → search) on BrowserManager
49
51
  // so the ladder lives in one place.
50
- try {
51
- results = await this.browserManager.fetchSearchResults(searchRoute.searchConfig, searchQueryParams);
52
- } catch (error) {
53
- console.error('Search failed:', error);
54
- return [];
55
- }
52
+ results = await this.browserManager.fetchSearchResults(searchRoute.searchConfig, searchQueryParams);
56
53
  }
57
54
 
58
55
  // Transform artwork URLs on search results using async method with full Track access
@@ -1 +1 @@
1
- {"version":3,"names":["RequestConfigBuilder","SearchManager","constructor","browserManager","search","params","searchRoute","configuration","routes","find","r","path","results","searchCallback","searchConfig","searchQueryParams","q","query","mode","reference","genre","artist","album","title","playlist","fetchSearchResults","error","console","request","requestConfig","artwork","artworkConfig","Promise","all","map","track","artworkSource","resolveArtworkSourceAsync"],"sourceRoot":"../../../../src","sources":["web/browser/SearchManager.ts"],"mappings":";;AAEA,SAASA,oBAAoB,QAAQ,8BAA8B;;AAEnE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,CAAC;EACzBC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;EAAG;;EAErD;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,MAAoB,EAAoB;IACnD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACH,cAAc,CAACI,aAAa,CAACC,MAAM,EAAEC,IAAI,CAC/DC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YACpB,CAAC;IACD,IAAI,CAACL,WAAW,EAAE;MAChB,OAAO,EAAE;IACX;IAEA,IAAIM,OAAgB,GAAG,EAAE;;IAEzB;IACA,IAAIN,WAAW,CAACO,cAAc,EAAE;MAC9BD,OAAO,GAAG,MAAMN,WAAW,CAACO,cAAc,CAACR,MAAM,CAAC;IACpD;IACA;IAAA,KACK,IAAIC,WAAW,CAACQ,YAAY,EAAE;MACjC;MACA,MAAMC,iBAAyC,GAAG;QAChDC,CAAC,EAAEX,MAAM,CAACY;MACZ,CAAC;MACD,IAAIZ,MAAM,CAACa,IAAI,EAAEH,iBAAiB,CAACG,IAAI,GAAGb,MAAM,CAACa,IAAI;MACrD,IAAIb,MAAM,CAACc,SAAS,KAAK,IAAI,EAAEJ,iBAAiB,CAACI,SAAS,GAAG,IAAI;MACjE,IAAId,MAAM,CAACe,KAAK,EAAEL,iBAAiB,CAACK,KAAK,GAAGf,MAAM,CAACe,KAAK;MACxD,IAAIf,MAAM,CAACgB,MAAM,EAAEN,iBAAiB,CAACM,MAAM,GAAGhB,MAAM,CAACgB,MAAM;MAC3D,IAAIhB,MAAM,CAACiB,KAAK,EAAEP,iBAAiB,CAACO,KAAK,GAAGjB,MAAM,CAACiB,KAAK;MACxD,IAAIjB,MAAM,CAACkB,KAAK,EAAER,iBAAiB,CAACQ,KAAK,GAAGlB,MAAM,CAACkB,KAAK;MACxD,IAAIlB,MAAM,CAACmB,QAAQ,EAAET,iBAAiB,CAACS,QAAQ,GAAGnB,MAAM,CAACmB,QAAQ;;MAEjE;MACA;MACA,IAAI;QACFZ,OAAO,GAAG,MAAM,IAAI,CAACT,cAAc,CAACsB,kBAAkB,CACpDnB,WAAW,CAACQ,YAAY,EACxBC,iBACF,CAAC;MACH,CAAC,CAAC,OAAOW,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;QACtC,OAAO,EAAE;MACX;IACF;;IAEA;IACA,MAAM;MAAEE,OAAO,EAAEC,aAAa;MAAEC,OAAO,EAAEC;IAAc,CAAC,GACtD,IAAI,CAAC5B,cAAc,CAACI,aAAa;IACnC,IAAIwB,aAAa,EAAE;MACjBnB,OAAO,GAAG,MAAMoB,OAAO,CAACC,GAAG,CACzBrB,OAAO,CAACsB,GAAG,CAAC,MAAOC,KAAK,IAAK;QAC3B,MAAMC,aAAa,GACjB,MAAMpC,oBAAoB,CAACqC,yBAAyB,CAClDF,KAAK,EACLN,aAAa,EACbE,aACF,CAAC;QACH,IAAIK,aAAa,IAAI,CAACD,KAAK,CAACC,aAAa,EAAE;UACzC,OAAO;YAAE,GAAGD,KAAK;YAAEC;UAAc,CAAC;QACpC;QACA,OAAOD,KAAK;MACd,CAAC,CACH,CAAC;IACH;IAEA,OAAOvB,OAAO;EAChB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["RequestConfigBuilder","SearchManager","constructor","browserManager","search","params","searchRoute","configuration","routes","find","r","path","results","searchCallback","searchConfig","searchQueryParams","q","query","mode","reference","genre","artist","album","title","playlist","fetchSearchResults","request","requestConfig","artwork","artworkConfig","Promise","all","map","track","artworkSource","resolveArtworkSourceAsync"],"sourceRoot":"../../../../src","sources":["web/browser/SearchManager.ts"],"mappings":";;AAEA,SAASA,oBAAoB,QAAQ,8BAA8B;;AAEnE;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,CAAC;EACzBC,WAAWA,CAASC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;EAAG;;EAErD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,MAAoB,EAAoB;IACnD;IACA,MAAMC,WAAW,GAAG,IAAI,CAACH,cAAc,CAACI,aAAa,CAACC,MAAM,EAAEC,IAAI,CAC/DC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YACpB,CAAC;IACD,IAAI,CAACL,WAAW,EAAE;MAChB,OAAO,EAAE;IACX;IAEA,IAAIM,OAAgB,GAAG,EAAE;;IAEzB;IACA,IAAIN,WAAW,CAACO,cAAc,EAAE;MAC9BD,OAAO,GAAG,MAAMN,WAAW,CAACO,cAAc,CAACR,MAAM,CAAC;IACpD;IACA;IAAA,KACK,IAAIC,WAAW,CAACQ,YAAY,EAAE;MACjC;MACA,MAAMC,iBAAyC,GAAG;QAChDC,CAAC,EAAEX,MAAM,CAACY;MACZ,CAAC;MACD,IAAIZ,MAAM,CAACa,IAAI,EAAEH,iBAAiB,CAACG,IAAI,GAAGb,MAAM,CAACa,IAAI;MACrD,IAAIb,MAAM,CAACc,SAAS,KAAK,IAAI,EAAEJ,iBAAiB,CAACI,SAAS,GAAG,IAAI;MACjE,IAAId,MAAM,CAACe,KAAK,EAAEL,iBAAiB,CAACK,KAAK,GAAGf,MAAM,CAACe,KAAK;MACxD,IAAIf,MAAM,CAACgB,MAAM,EAAEN,iBAAiB,CAACM,MAAM,GAAGhB,MAAM,CAACgB,MAAM;MAC3D,IAAIhB,MAAM,CAACiB,KAAK,EAAEP,iBAAiB,CAACO,KAAK,GAAGjB,MAAM,CAACiB,KAAK;MACxD,IAAIjB,MAAM,CAACkB,KAAK,EAAER,iBAAiB,CAACQ,KAAK,GAAGlB,MAAM,CAACkB,KAAK;MACxD,IAAIlB,MAAM,CAACmB,QAAQ,EAAET,iBAAiB,CAACS,QAAQ,GAAGnB,MAAM,CAACmB,QAAQ;;MAEjE;MACA;MACAZ,OAAO,GAAG,MAAM,IAAI,CAACT,cAAc,CAACsB,kBAAkB,CACpDnB,WAAW,CAACQ,YAAY,EACxBC,iBACF,CAAC;IACH;;IAEA;IACA,MAAM;MAAEW,OAAO,EAAEC,aAAa;MAAEC,OAAO,EAAEC;IAAc,CAAC,GACtD,IAAI,CAAC1B,cAAc,CAACI,aAAa;IACnC,IAAIsB,aAAa,EAAE;MACjBjB,OAAO,GAAG,MAAMkB,OAAO,CAACC,GAAG,CACzBnB,OAAO,CAACoB,GAAG,CAAC,MAAOC,KAAK,IAAK;QAC3B,MAAMC,aAAa,GACjB,MAAMlC,oBAAoB,CAACmC,yBAAyB,CAClDF,KAAK,EACLN,aAAa,EACbE,aACF,CAAC;QACH,IAAIK,aAAa,IAAI,CAACD,KAAK,CAACC,aAAa,EAAE;UACzC,OAAO;YAAE,GAAGD,KAAK;YAAEC;UAAc,CAAC;QACpC;QACA,OAAOD,KAAK;MACd,CAAC,CACH,CAAC;IACH;IAEA,OAAOrB,OAAO;EAChB;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -92,8 +92,16 @@ export declare function hasSearch(): boolean;
92
92
  /**
93
93
  * Searches for tracks using the configured search source.
94
94
  *
95
+ * Resolves `[]` only when the source found nothing; a failed search rejects,
96
+ * so a caller can tell "no results" from "the request failed". The rejection's
97
+ * message describes the failure — native platforms reject with the underlying
98
+ * throwable and JS sees only its message. On web the `Error` also carries a
99
+ * `code`, the {@link NavigationErrorType} the browse path reports as a
100
+ * {@link NavigationError} (`'http-error'`, `'network-error'`).
101
+ *
95
102
  * @param query - The search query string
96
103
  * @returns Promise resolving to an array of matching tracks
104
+ * @throws When the search source or its request fails
97
105
  *
98
106
  * @see {@link configureBrowser}
99
107
  *
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/features/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAUhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAO1E;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,SAAS,CAE1E;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,QAMnD;AAED,wBAAgB,OAAO,uBAEtB;AAED,eAAO,MAAM,aAAa,wCAEzB,CAAA;AAED,wBAAgB,OAAO,IAAI,MAAM,GAAG,SAAS,CAE5C;AAED,wBAAgB,UAAU,IAAI,aAAa,GAAG,SAAS,CAEtD;AAED,eAAO,MAAM,gBAAgB,+CAEmB,CAAA;AAEhD,wBAAgB,UAAU,IAAI,aAAa,GAAG,SAAS,CAEtD;AACD,wBAAgB,OAAO,IAAI,KAAK,EAAE,GAAG,SAAS,CAE7C;AAED,eAAO,MAAM,aAAa,yCAEzB,CAAA;AAED,wBAAgB,OAAO,IAAI,KAAK,EAAE,GAAG,SAAS,CAE7C;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,IAEnD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAA;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAInC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAE5D"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../src/features/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAUhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAO1E;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,SAAS,CAE1E;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,QAMnD;AAED,wBAAgB,OAAO,uBAEtB;AAED,eAAO,MAAM,aAAa,wCAEzB,CAAA;AAED,wBAAgB,OAAO,IAAI,MAAM,GAAG,SAAS,CAE5C;AAED,wBAAgB,UAAU,IAAI,aAAa,GAAG,SAAS,CAEtD;AAED,eAAO,MAAM,gBAAgB,+CAEmB,CAAA;AAEhD,wBAAgB,UAAU,IAAI,aAAa,GAAG,SAAS,CAEtD;AACD,wBAAgB,OAAO,IAAI,KAAK,EAAE,GAAG,SAAS,CAE7C;AAED,eAAO,MAAM,aAAa,yCAEzB,CAAA;AAED,wBAAgB,OAAO,IAAI,KAAK,EAAE,GAAG,SAAS,CAE7C;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,IAEnD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAA;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAInC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAE5D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-audio-browser",
3
- "version": "0.2.0-next.16",
3
+ "version": "0.2.0-next.18",
4
4
  "description": "react-native-audio-browser is a react native package built with Nitro",
5
5
  "keywords": [
6
6
  "react-native",
@@ -55,7 +55,7 @@
55
55
  "build": "yarn prepare",
56
56
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
57
57
  "codegen": "node codegen/index.js --logLevel=\"debug\" && node post-script.cjs && node codegen/strip-struct-equality.cjs && yarn build",
58
- "prepare": "bob build && yarn hooks:install",
58
+ "prepare": "bob build && echo '{\"type\":\"commonjs\"}' > lib/typescript/package.json && yarn hooks:install",
59
59
  "hooks:install": "git config core.hooksPath .githooks || exit 0",
60
60
  "example": "yarn workspace example-native",
61
61
  "ci:android": "yarn android:format:check && yarn android:types && yarn android:test",
@@ -157,8 +157,16 @@ export function hasSearch(): boolean {
157
157
  /**
158
158
  * Searches for tracks using the configured search source.
159
159
  *
160
+ * Resolves `[]` only when the source found nothing; a failed search rejects,
161
+ * so a caller can tell "no results" from "the request failed". The rejection's
162
+ * message describes the failure — native platforms reject with the underlying
163
+ * throwable and JS sees only its message. On web the `Error` also carries a
164
+ * `code`, the {@link NavigationErrorType} the browse path reports as a
165
+ * {@link NavigationError} (`'http-error'`, `'network-error'`).
166
+ *
160
167
  * @param query - The search query string
161
168
  * @returns Promise resolving to an array of matching tracks
169
+ * @throws When the search source or its request fails
162
170
  *
163
171
  * @see {@link configureBrowser}
164
172
  *
@@ -345,6 +345,9 @@ export class BrowserManager {
345
345
  * results (no contextual URLs), like the native `makeSearchResult`.
346
346
  * Matches Android's BrowserManager.search() which bypasses resolve() entirely.
347
347
  *
348
+ * A failed search propagates, so `navigate` turns it into a navigation error
349
+ * the way it does a failed browse resolve.
350
+ *
348
351
  * @param searchPath The search path (format: /__search?q=query)
349
352
  * @returns ResolvedTrack containing search results as one untitled section
350
353
  */
@@ -379,17 +382,9 @@ export class BrowserManager {
379
382
  }
380
383
  // Handle request config-based search via the shared layered fetch.
381
384
  else if (searchRoute.searchConfig) {
382
- try {
383
- searchResults = await this.fetchSearchResults(
384
- searchRoute.searchConfig,
385
- {
386
- q: query
387
- }
388
- )
389
- } catch (error) {
390
- console.error('Search failed:', error)
391
- return undefined
392
- }
385
+ searchResults = await this.fetchSearchResults(searchRoute.searchConfig, {
386
+ q: query
387
+ })
393
388
  }
394
389
 
395
390
  // Search callbacks should return fresh tracks without contextual paths (like Android)
@@ -0,0 +1,75 @@
1
+ import { describe, it, expect, vi } from 'vitest'
2
+ import type { NativeBrowserConfiguration } from '../../types/browser-native'
3
+ import type { HttpClient } from '../http/HttpClient'
4
+ import { BrowserManager } from './BrowserManager'
5
+ import { FavoriteManager } from './FavoriteManager'
6
+ import { NavigationErrorManager } from './NavigationErrorManager'
7
+ import { SearchManager } from './SearchManager'
8
+
9
+ /**
10
+ * Builds a SearchManager over a BrowserManager whose HTTP client answers every
11
+ * request with `respond` — a resolved body or a rejection.
12
+ */
13
+ function makeSearchManager(
14
+ respond: () => Promise<unknown>,
15
+ route: NonNullable<NativeBrowserConfiguration['routes']>[number] = {
16
+ path: '__search__',
17
+ searchConfig: { baseUrl: 'https://api.example.com' }
18
+ }
19
+ ): SearchManager {
20
+ const httpClient = {
21
+ executeRequest: vi.fn().mockImplementation(respond)
22
+ } as unknown as HttpClient
23
+ const browserManager = new BrowserManager(
24
+ httpClient,
25
+ new FavoriteManager(),
26
+ new NavigationErrorManager()
27
+ )
28
+ browserManager.configuration = { routes: [route] }
29
+ return new SearchManager(browserManager)
30
+ }
31
+
32
+ const httpError = (): Error => {
33
+ const error = new Error('HTTP 500: Internal Server Error') as Error & {
34
+ code: string
35
+ statusCode: number
36
+ }
37
+ error.code = 'http-error'
38
+ error.statusCode = 500
39
+ return error
40
+ }
41
+
42
+ describe('SearchManager', () => {
43
+ it('rejects when the search request fails', async () => {
44
+ const manager = makeSearchManager(() => Promise.reject(httpError()))
45
+ await expect(
46
+ manager.search({ query: 'jazz', reference: 'unknown' })
47
+ ).rejects.toThrow('HTTP 500: Internal Server Error')
48
+ })
49
+
50
+ it('resolves [] when the search found nothing', async () => {
51
+ const manager = makeSearchManager(() => Promise.resolve({ children: [] }))
52
+ await expect(
53
+ manager.search({ query: 'jazz', reference: 'unknown' })
54
+ ).resolves.toEqual([])
55
+ })
56
+
57
+ it('resolves the matching tracks', async () => {
58
+ const manager = makeSearchManager(() =>
59
+ Promise.resolve({ children: [{ title: 'Jazz FM', src: 'https://s/1' }] })
60
+ )
61
+ await expect(
62
+ manager.search({ query: 'jazz', reference: 'unknown' })
63
+ ).resolves.toEqual([{ title: 'Jazz FM', src: 'https://s/1' }])
64
+ })
65
+
66
+ it('propagates a rejecting search callback', async () => {
67
+ const manager = makeSearchManager(() => Promise.resolve([]), {
68
+ path: '__search__',
69
+ searchCallback: () => Promise.reject(new Error('callback exploded'))
70
+ })
71
+ await expect(
72
+ manager.search({ query: 'jazz', reference: 'unknown' })
73
+ ).rejects.toThrow('callback exploded')
74
+ })
75
+ })
@@ -15,7 +15,9 @@ export class SearchManager {
15
15
  * Matches Android's BrowserManager.search(params: SearchParams) behavior.
16
16
  *
17
17
  * @param params Search parameters (query is required, other fields optional)
18
- * @returns Array of matching tracks
18
+ * @returns Array of matching tracks — empty only when the source found none
19
+ * @throws The failure itself: an `Error` carrying a `NavigationErrorType`
20
+ * `code` from `HttpClient`, or whatever a `searchCallback` rejected with
19
21
  */
20
22
  async search(params: SearchParams): Promise<Track[]> {
21
23
  // Find __search__ route entry
@@ -48,15 +50,10 @@ export class SearchManager {
48
50
 
49
51
  // Delegate to the shared layered fetch (request → search) on BrowserManager
50
52
  // so the ladder lives in one place.
51
- try {
52
- results = await this.browserManager.fetchSearchResults(
53
- searchRoute.searchConfig,
54
- searchQueryParams
55
- )
56
- } catch (error) {
57
- console.error('Search failed:', error)
58
- return []
59
- }
53
+ results = await this.browserManager.fetchSearchResults(
54
+ searchRoute.searchConfig,
55
+ searchQueryParams
56
+ )
60
57
  }
61
58
 
62
59
  // Transform artwork URLs on search results using async method with full Track access
@@ -0,0 +1,76 @@
1
+ import { describe, it, expect, vi } from 'vitest'
2
+ import type { FormattedNavigationError } from '../../../features'
3
+ import type { HttpClient } from '../../http/HttpClient'
4
+ import { BrowserManager } from '../BrowserManager'
5
+ import { FavoriteManager } from '../FavoriteManager'
6
+ import { NavigationErrorManager } from '../NavigationErrorManager'
7
+
8
+ /**
9
+ * A BrowserManager whose only route is a `searchConfig`, with its HTTP client
10
+ * answering every request with `respond`.
11
+ */
12
+ function makeManager(respond: () => Promise<unknown>): {
13
+ manager: BrowserManager
14
+ errors: NavigationErrorManager
15
+ formattedPaths: string[]
16
+ } {
17
+ const httpClient = {
18
+ executeRequest: vi.fn().mockImplementation(respond)
19
+ } as unknown as HttpClient
20
+ const errors = new NavigationErrorManager()
21
+ const manager = new BrowserManager(httpClient, new FavoriteManager(), errors)
22
+ const formattedPaths: string[] = []
23
+ manager.configuration = {
24
+ routes: [
25
+ {
26
+ path: '__search__',
27
+ searchConfig: { baseUrl: 'https://api.example.com' }
28
+ }
29
+ ],
30
+ formatNavigationError: ({ path }): FormattedNavigationError => {
31
+ formattedPaths.push(path)
32
+ return { title: 'Search unavailable' }
33
+ }
34
+ }
35
+ return { manager, errors, formattedPaths }
36
+ }
37
+
38
+ const httpError = (): Error => {
39
+ const error = new Error('HTTP 500: Internal Server Error') as Error & {
40
+ code: string
41
+ statusCode: number
42
+ }
43
+ error.code = 'http-error'
44
+ error.statusCode = 500
45
+ return error
46
+ }
47
+
48
+ describe('navigating to a search path', () => {
49
+ it('surfaces a navigation error when the search fails', async () => {
50
+ const { manager, errors, formattedPaths } = makeManager(() =>
51
+ Promise.reject(httpError())
52
+ )
53
+
54
+ await manager.navigatePath('/__search?q=jazz')
55
+
56
+ expect(errors.getNavigationError()).toEqual({
57
+ code: 'http-error',
58
+ message: 'HTTP 500: Internal Server Error',
59
+ statusCode: 500,
60
+ statusCodeSuccess: undefined
61
+ })
62
+ expect(formattedPaths).toEqual(['/__search?q=jazz'])
63
+ expect(manager.content).toBeUndefined()
64
+ })
65
+
66
+ it('resolves an empty page without an error when the search found nothing', async () => {
67
+ const { manager, errors } = makeManager(() =>
68
+ Promise.resolve({ children: [] })
69
+ )
70
+
71
+ await manager.navigatePath('/__search?q=jazz')
72
+
73
+ expect(errors.getNavigationError()).toBeUndefined()
74
+ expect(manager.content?.sections).toEqual([{ children: [] }])
75
+ })
76
+ })