Skip to content

Commit 2d62794

Browse files
committed
feat: charge set all cookies method for more formats
1 parent 83f626e commit 2d62794

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

package/src/request.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,32 @@ class HttpRequestBuilder {
6868
return this;
6969
}
7070

71-
public setAllCookies(cookies: Record<string, string>): this {
71+
/**
72+
* @example
73+
* .setAllCookies([["name", "value"], ["name2", "value2"]])
74+
*/
75+
public setAllCookies(cookies: Array<[string, string]>): this;
76+
/**
77+
* @example
78+
* .setAllCookies(["name=value", "name2=value2"])
79+
*/
80+
public setAllCookies(cookies: Array<string>): this;
81+
/**
82+
* @example
83+
* .setAllCookies({ name: "value", name2: "value2" })
84+
*/
85+
public setAllCookies(cookies: Record<string, string>): this;
86+
public setAllCookies(cookies: Array<[string, string]> | Array<string> | Record<string, string>): this {
87+
if (Array.isArray(cookies)) {
88+
const arr = cookies;
89+
cookies = {};
90+
91+
for (const cookie of arr) {
92+
const [name, value] = Array.isArray(cookie) ? cookie : cookie.split("=");
93+
cookies[name] = value;
94+
}
95+
}
96+
7297
this.cookies = { ...this.cookies, ...cookies };
7398
return this;
7499
}

0 commit comments

Comments
 (0)