mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
set-cookie-parser: add CookieMap support (#36160)
Allow the parser result to return a CookieMap type.
This commit is contained in:
parent
b639fa5445
commit
997bd7259f
12
types/set-cookie-parser/index.d.ts
vendored
12
types/set-cookie-parser/index.d.ts
vendored
@ -9,10 +9,14 @@
|
||||
declare module "set-cookie-parser" {
|
||||
import http = require("http");
|
||||
|
||||
function SetCookieParser(input: string | ReadonlyArray<string> | http.IncomingMessage, options?: SetCookieParser.Options): SetCookieParser.Cookie[];
|
||||
function SetCookieParser(input: string | ReadonlyArray<string> | http.IncomingMessage, options: SetCookieParser.Options & { map: true }): SetCookieParser.CookieMap;
|
||||
function SetCookieParser(input: string | ReadonlyArray<string> | http.IncomingMessage, options?: SetCookieParser.Options & { map?: false }): SetCookieParser.Cookie[];
|
||||
function SetCookieParser(input: string | ReadonlyArray<string> | http.IncomingMessage, options?: SetCookieParser.Options): SetCookieParser.Cookie[] | SetCookieParser.CookieMap;
|
||||
|
||||
namespace SetCookieParser {
|
||||
function parse(input: string | ReadonlyArray<string> | http.IncomingMessage, options?: Options): Cookie[];
|
||||
function parse(input: string | ReadonlyArray<string> | http.IncomingMessage, options: Options & { map: true }): CookieMap;
|
||||
function parse(input: string | ReadonlyArray<string> | http.IncomingMessage, options?: Options & { map?: false }): Cookie[];
|
||||
function parse(input: string | ReadonlyArray<string> | http.IncomingMessage, options?: Options): Cookie[] | CookieMap;
|
||||
|
||||
function splitCookiesString(input: string | ReadonlyArray<string> | void): string[];
|
||||
|
||||
@ -27,6 +31,10 @@ declare module "set-cookie-parser" {
|
||||
httpOnly?: boolean;
|
||||
}
|
||||
|
||||
interface CookieMap {
|
||||
[name: string]: Cookie;
|
||||
}
|
||||
|
||||
type Options = {
|
||||
decodeValues?: boolean;
|
||||
map?: boolean;
|
||||
|
||||
@ -97,7 +97,7 @@ var decodedValueCookies = setCookie.parse('user=%D0%98%D0%BB%D1%8C%D1%8F%20%D0%9
|
||||
assert.equal(decodedValueCookies[0].value, 'Илья Зайцев');
|
||||
|
||||
// Use map=true option
|
||||
var expectedCookiesMap = {
|
||||
var expectedCookiesMap: setCookie.CookieMap = {
|
||||
foo: {
|
||||
name: 'foo',
|
||||
value: 'bar',
|
||||
@ -106,4 +106,4 @@ var expectedCookiesMap = {
|
||||
}
|
||||
};
|
||||
var cookiesMap = setCookie.parse('foo=bar; Max-Age=1000; Domain=.example.com;', { map: true });
|
||||
assert.deepStrictEqual(cookiesMap, expectedCookiesMap);
|
||||
assert.deepStrictEqual(cookiesMap, expectedCookiesMap);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user