UNPKG

ziggurat.js

Version:

a tiny modular js library for templates and other shorthands

64 lines (61 loc) 1.57 kB
// Generated by CoffeeScript 2.7.0 zg.cookies = new Proxy({}, { get: function(_, name) { var cookie, cookies, i, len; // extract cookie from document.cookie cookies = (function() { var i, len, ref, results; ref = document.cookie.split('; '); results = []; for (i = 0, len = ref.length; i < len; i++) { cookie = ref[i]; results.push(cookie.split('=')); } return results; })(); for (i = 0, len = cookies.length; i < len; i++) { cookie = cookies[i]; if (cookie[0] === name) { return cookie[1]; } } }, set: function(_, name, value) { var cookie, k, v; // build a statement to be put into document.cookie if (typeof value === 'object') { cookie = `${name}=${value.value}; `; // add every property to cookie string cookie += ((function() { var results; if (k !== 'value') { results = []; for (k in value) { v = value[k]; results.push(v != null ? `${k} = ${v}` : `${k}`); } return results; } })()).join('; '); } else { cookie = `${name}=${value}`; } return document.cookie = cookie; } }); zg.load_json_cookie = function(name) { var SyntaxError, val; val = zg.cookies[name]; try { return JSON.parse(val); } catch (error) { SyntaxError = error; return null; } }; zg.mirror_to_cookie = function(value, name, options) { return zg.cookies[name] = { "value": JSON.stringify(value), ...options }; };