3
3
using System . Threading . Tasks ;
4
4
using ScriptBloxApi . LanguageFeatures ;
5
5
using ScriptBloxApi . Objects ;
6
+ using static System . Int32 ;
6
7
7
8
namespace ScriptBloxApi . Scripts
8
9
{
@@ -42,17 +43,18 @@ public static async Task<Results> FetchScriptsAsync(
42
43
Order ? order = null
43
44
)
44
45
{
45
- Dictionary < string , string > queryParams = new ( ) ;
46
-
47
- if ( page . HasValue ) queryParams . Add ( "page" , page . Value . ToString ( ) ) ;
48
- if ( max . HasValue ) queryParams . Add ( "max" , max . InternalClamp ( 1 , 20 ) . ToString ( ) ) ;
49
- if ( mode . HasValue ) queryParams . Add ( "mode" , mode . ToString ( ) ) ;
50
- if ( patched . HasValue ) queryParams . Add ( "patched" , patched . Value . GetBoolInt ( ) ) ;
51
- if ( key . HasValue ) queryParams . Add ( "key" , key . Value . GetBoolInt ( ) ) ;
52
- if ( universal . HasValue ) queryParams . Add ( "universal" , universal . Value . GetBoolInt ( ) ) ;
53
- if ( verified . HasValue ) queryParams . Add ( "verified" , verified . Value . GetBoolInt ( ) ) ;
54
- if ( sortBy . HasValue ) queryParams . Add ( "sortBy" , sortBy . ToString ( ) ) ;
55
- if ( order . HasValue ) queryParams . Add ( "order" , order . ToString ( ) ) ;
46
+ ( string Key , string Value ) [ ] queryParams =
47
+ [
48
+ ( "page" , page ? . ToString ( ) ) ,
49
+ ( "max" , max . InternalClamp ( 1 , 20 ) . ToString ( ) ) ,
50
+ ( "mode" , mode ? . ToString ( ) ) ,
51
+ ( "patched" , patched . GetBoolInt ( ) ) ,
52
+ ( "key" , key . GetBoolInt ( ) ) ,
53
+ ( "universal" , universal . GetBoolInt ( ) ) ,
54
+ ( "verified" , verified . GetBoolInt ( ) ) ,
55
+ ( "sortBy" , sortBy ? . ToString ( ) ) ,
56
+ ( "order" , order ? . ToString ( ) )
57
+ ] ;
56
58
57
59
FetchResult fetchResult = await Client . Get < FetchResult > ( "script/fetch" , queryParams ) ;
58
60
@@ -65,10 +67,16 @@ public static async Task<Results> FetchScriptsAsync(
65
67
66
68
public static async Task < IReadOnlyList < Script > > FetchTrendingScriptsAsync ( int ? max = 20 )
67
69
{
68
- FetchResult fetchResult = await Client . Get < FetchResult > ( "script/trending" , new Dictionary < string , string >
69
- {
70
- { "max" , max . InternalClamp ( 1 , 20 ) . ToString ( ) }
71
- } ) ;
70
+ FetchResult fetchResult = await Client . Get < FetchResult > ( "script/trending" , [ ( "max" , max . InternalClamp ( 1 , 20 ) . ToString ( ) ) ] ) ;
71
+ return fetchResult . Result . Scripts ;
72
+ }
73
+
74
+ public static async Task < IReadOnlyList < Script > > FetchScriptsFromUser ( string username , int ? page = 1 , int ? max = 20 )
75
+ {
76
+ FetchResult fetchResult = await Client . Get < FetchResult > ( $ "user/scripts/{ username } ", [
77
+ ( "page" , page . InternalClamp ( 1 , MaxValue ) . ToString ( ) ) ,
78
+ ( "max" , max . InternalClamp ( 1 , 20 ) . ToString ( ) )
79
+ ] ) ;
72
80
return fetchResult . Result . Scripts ;
73
81
}
74
82
@@ -86,19 +94,20 @@ public static async Task<Results> SearchScriptsAsync(
86
94
bool ? strict = null
87
95
)
88
96
{
89
- Dictionary < string , string > queryParams = new ( ) { { "q" , query } } ;
97
+ ( string Key , string Value ) [ ] queryParams =
98
+ [
99
+ ( "page" , page . InternalClamp ( 1 , MaxValue ) . ToString ( ) ) ,
100
+ ( "max" , max . InternalClamp ( 1 , 20 ) . ToString ( ) ) ,
101
+ ( "mode" , mode . ToString ( ) ) ,
102
+ ( "patched" , patched . GetBoolInt ( ) ) ,
103
+ ( "key" , key . GetBoolInt ( ) ) ,
104
+ ( "universal" , universal . GetBoolInt ( ) ) ,
105
+ ( "verified" , verified . GetBoolInt ( ) ) ,
106
+ ( "sortBy" , sortBy . ToString ( ) ) ,
107
+ ( "order" , order . ToString ( ) ) ,
108
+ ( "strict" , strict . ToString ( ) . ToLower ( ) )
109
+ ] ;
90
110
91
- if ( page . HasValue ) queryParams . Add ( "page" , page . Value . ToString ( ) ) ;
92
- if ( max . HasValue ) queryParams . Add ( "max" , max . InternalClamp ( 1 , 20 ) . ToString ( ) ) ;
93
- if ( mode . HasValue ) queryParams . Add ( "mode" , mode . ToString ( ) ) ;
94
- if ( patched . HasValue ) queryParams . Add ( "patched" , patched . Value . GetBoolInt ( ) ) ;
95
- if ( key . HasValue ) queryParams . Add ( "key" , key . Value . GetBoolInt ( ) ) ;
96
- if ( universal . HasValue ) queryParams . Add ( "universal" , universal . Value . GetBoolInt ( ) ) ;
97
- if ( verified . HasValue ) queryParams . Add ( "verified" , verified . Value . GetBoolInt ( ) ) ;
98
- if ( sortBy . HasValue ) queryParams . Add ( "sortBy" , sortBy . ToString ( ) ) ;
99
- if ( order . HasValue ) queryParams . Add ( "order" , order . ToString ( ) ) ;
100
- if ( strict . HasValue ) queryParams . Add ( "strict" , strict . ToString ( ) . ToLower ( ) ) ;
101
-
102
111
FetchResult fetchResult = await Client . Get < FetchResult > ( "script/search" , queryParams ) ;
103
112
104
113
return fetchResult . Result ;
0 commit comments