tsbase
Version:
Base class libraries for TypeScript
34 lines (33 loc) • 1.25 kB
TypeScript
import { Result } from '../../Patterns/Result/Result';
import { JsonSerializer } from '../../Utility/Serialization/JsonSerializer';
import { IGenericStorage } from './IGenericStorage';
declare enum CookieOptionKeys {
Domain = "domain",
Path = "path",
Expires = "expires",
Secure = "secure",
SameSite = "samesite",
Priority = "priority"
}
type CookieOptions = {
[CookieOptionKeys.Domain]?: string;
[CookieOptionKeys.Path]?: string;
[CookieOptionKeys.Expires]?: Date;
[CookieOptionKeys.Secure]?: boolean;
[CookieOptionKeys.SameSite]?: 'lax' | 'strict';
[CookieOptionKeys.Priority]?: 'low' | 'medium' | 'high';
};
/**
* Provides a generic interface for interacting with Cookies
*/
export declare class CookieStorage implements IGenericStorage {
private serializer;
private mainDocument;
constructor(serializer?: JsonSerializer, mainDocument?: Document);
Get<T>(type: new () => T, key: string): Result<T>;
Set<T>(key: string, value: T, options?: CookieOptions): Result<null>;
GetValue(key: string): Result<string>;
SetValue(key: string, value: string, options?: CookieOptions): Result<null>;
Remove(key: string, path?: string, domain?: string): Result<null>;
}
export {};