jcore-ui
Version:
jcore-ui - components for building an interface
29 lines (24 loc) • 929 B
text/typescript
import { IObject } from '../interfaces';
const cookie = {
set: function (name: string, value: any, opt: IObject) {
const options: IObject = Object.assign({
path: '/',
}, opt || {});
let updatedCookie = encodeURIComponent(name) + "=" + encodeURIComponent(value);
for (let optionKey in options) {
updatedCookie += "; " + optionKey;
let optionValue = options[optionKey];
if (optionValue !== true) {
updatedCookie += "=" + optionValue;
}
}
document.cookie = updatedCookie;
},
get: function (name: string) {
let matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
}
export default cookie