Skip to content

Instantly share code, notes, and snippets.

@mindplay-dk
Created March 19, 2015 20:02
Show Gist options
  • Save mindplay-dk/c86bf338d16d37344136 to your computer and use it in GitHub Desktop.
Save mindplay-dk/c86bf338d16d37344136 to your computer and use it in GitHub Desktop.
Simple client-side cookie reader/writer module in Typescript
@mindplay-dk
Copy link
Author

These days, I'm liking this Typescript solution better - it's safer, it's enumerable, and it performs better when reading multiple cookies.

export interface CookieMap {
  [key: string]: string;
};

/**
 * Parse and decode raw cookies from `document.cookie` to a key/value map.
 */
export function parseDocumentCookies(cookies: string): CookieMap {
  let pairs = cookies
    .split("; ")
    .map(pair => pair.split(/=(.*)$/,2).map(decodeURIComponent));
  
  let object: CookieMap = {};

  for (let [key, value] of pairs) {
    object[key] = value;
  }

  return object;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment