cookie-utils-js
Version:
A simple JavaScript API for handling cookies.
55 lines (54 loc) • 1.93 kB
TypeScript
declare namespace CookieUtilsJS {
interface BasicOptions {
name: string;
value: string;
}
interface CookieOptions {
domain?: string;
/** 路径
* @value default: '/'
*/
path?: string;
/** 过期时间(Date:时间, number: 毫秒---基于当前时间增加/减少)
* @value default: Session
*/
expires?: Date | number;
/** 安全模式(非 HTTPS Cookie 无法设置“secure”属性,将被浏览器拒绝)*/
secure?: boolean;
/** 用来防止 CSRF 攻击和用户追踪
* @description Strict: 严格,Lax:防范跨站,None: 无限制 (需同时设置secure属性为true)
*/
sameSite?: 'Strict' | 'Lax' | 'None'
}
type CookieFullOptions = BasicOptions & CookieOptions;
/** 浏览器是否禁用cookie */
var browserEnabled: {
readonly prototype: boolean;
}
/** 设置cookie */
function set(opts: CookieFullOptions): void;
function set(opts: CookieFullOptions[]): void;
function set(name: string, value: string, opts?: CookieOptions): void;
/** 获取所有cookie
* @return object | json
*/
function get(): any;
/** 获取指定cookie的值
* @params name
* @return value
*/
function get(name: string): string;
/** 获取指定多个cookie
* @params names: cookie名称数组
*/
function get(names: string[]): any;
function get(names: { name: string; alias?: string; }[]): any;
/** 删除cookie */
function remove(name: string, path?: string): void;
/** 删除多个cookie */
function remove(names: string[]): void;
function remove(names: { name: string; path?: string; }[]): void;
/** 清空当前path下所有cookie */
function clear(): void;
}
export = CookieUtilsJS;