11import type { InnertubeSearchRequest } from "../../types/youtube" ;
2+
23import formatLargeNumber from "../formatLargeNumber" ;
34
45export default async function ( query : string ) {
@@ -33,6 +34,7 @@ export default async function (query: string) {
3334
3435 if ( ! data || data . length === 0 ) {
3536 console . error ( "No search results found for query:" , query ) ;
37+
3638 return [ ] ;
3739 }
3840
@@ -42,21 +44,33 @@ export default async function (query: string) {
4244 subscribers : number | string ;
4345 channel_id : string ;
4446 } > = [ ] ;
47+
4548 for ( const content of data ?? [ ] ) {
46- for ( const channel of content ?. itemSectionRenderer ?. contents ?? [ ] ) {
49+ for ( const channel of content ?. itemSectionRenderer ?. contents ??
50+ [ ] ) {
4751 if ( channel ?. channelRenderer ?. channelId ) {
4852 channelsResponse . push ( {
49- title : channel ?. channelRenderer ?. longBylineText ?. runs ?. [ 0 ] ?. text || "N/A" ,
50- handle : channel ?. channelRenderer ?. subscriberCountText ?. simpleText || "N/A" ,
51- subscribers : formatLargeNumber ( channel ?. channelRenderer ?. videoCountText ?. simpleText ) ,
52- channel_id : channel ?. channelRenderer ?. channelId || "N/A" ,
53+ title :
54+ channel ?. channelRenderer ?. longBylineText ?. runs ?. [ 0 ]
55+ ?. text || "N/A" ,
56+ handle :
57+ channel ?. channelRenderer ?. subscriberCountText
58+ ?. simpleText || "N/A" ,
59+ subscribers : formatLargeNumber (
60+ channel ?. channelRenderer ?. videoCountText
61+ ?. simpleText ,
62+ ) ,
63+ channel_id :
64+ channel ?. channelRenderer ?. channelId || "N/A" ,
5365 } ) ;
5466 }
5567 }
5668 }
69+
5770 return channelsResponse ;
5871 } catch ( err ) {
5972 console . error ( err ) ;
73+
6074 return [ ] ;
6175 }
6276}
0 commit comments