diff --git a/types/js-cookie/index.d.ts b/types/js-cookie/index.d.ts index 7b90b4ecd5..71fd7c793d 100644 --- a/types/js-cookie/index.d.ts +++ b/types/js-cookie/index.d.ts @@ -3,6 +3,7 @@ // Definitions by: Theodore Brown // BendingBender // Antoine Lépée +// Yuto Doi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -88,7 +89,7 @@ declare namespace Cookies { * will run the converter first for each cookie. The returned * string will be used as the cookie value. */ - withConverter(converter: CookieReadConverter | { write: CookieWriteConverter; read: CookieReadConverter; }): CookiesStatic; + withConverter(converter: CookieReadConverter | { write?: CookieWriteConverter; read?: CookieReadConverter; }): CookiesStatic; } type CookieWriteConverter = (value: string | T, name: string) => string; diff --git a/types/js-cookie/js-cookie-tests.ts b/types/js-cookie/js-cookie-tests.ts index df30d90975..5e263ca266 100644 --- a/types/js-cookie/js-cookie-tests.ts +++ b/types/js-cookie/js-cookie-tests.ts @@ -53,3 +53,15 @@ const PHPCookies = Cookies.withConverter({ .replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent); } }); + +const BlankConverterCookies = Cookies.withConverter({ + read(value, name) { + if (name === 'hoge') { + return value.replace('hoge', 'fuga'); + } + return value; + } +}); + +document.cookie = 'hoge=hogehoge'; +BlankConverterCookies.get('hoge');