@@ -92,4 +92,59 @@ class URL(url: String, base: String = js.native) extends js.Object {
92
92
* MDN
93
93
*/
94
94
var hash : String = js.native
95
+
96
+ var searchParams : URLSearchParams = js.native
97
+ }
98
+
99
+ /**
100
+ * The URLSearchParams defines utility methods to work with the query string of a URL.
101
+ *
102
+ * An object implementing URLSearchParams can directly be used in a for...of structure, for example the following two lines are equivalent:
103
+ *
104
+ * MDN
105
+ */
106
+ @ js.native
107
+ trait URLSearchParamsInterface extends js.Object {
108
+ def append (name : String , value : String ): Unit
109
+ def delete (name : String ): Unit
110
+ def get (name : String ): js.UndefOr [String ]
111
+ def getAll (name : String ): js.Array [String ]
112
+ def has (name : String ): Boolean
113
+ def set (name : String , value : String ): Unit
114
+ def sort (): Unit
115
+
116
+ @ JSName (js.Symbol .iterator)
117
+ def entries (): js.Iterator [js.Tuple2 [String , String ]] = js.native
118
+
119
+ @ JSName (js.Symbol .iterator)
120
+ def values (): js.Iterator [String ] = js.native
121
+
122
+ def forEach (callback : js.Function2 [String , String , Unit ]): Unit = js.native
123
+ }
124
+
125
+ /**
126
+ * The URLSearchParams() constructor creates and returns a new URLSearchParams object. Leading '?' characters are ignored.
127
+ *
128
+ * MDN
129
+ */
130
+ @ js.native
131
+ @ JSGlobal
132
+ class URLSearchParams extends URLSearchParamsInterface {
133
+ def this (init : String ) = this ()
134
+ def this (init : js.Array [String ]) = this ()
135
+ def this (init : js.Dictionary [String ]) = this ()
136
+
137
+ override def append (name : String , value : String ): Unit = js.native
138
+
139
+ override def delete (name : String ): Unit = js.native
140
+
141
+ override def get (name : String ): js.UndefOr [String ] = js.native
142
+
143
+ override def getAll (name : String ): Sequence [String ] = js.native
144
+
145
+ override def has (name : String ): Boolean = js.native
146
+
147
+ override def set (name : String , value : String ): Unit = js.native
148
+
149
+ override def sort (): Unit = js.native
95
150
}
0 commit comments