"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parseCookies; /** * Parse request cookies * =================================================== * * @description This function takes in a request object and * returns the cookies as a JS object */ function parseCookies({ request, cookieString, }) { try { /** @type {string | undefined} */ const cookieStr = request ? request.headers.cookie : cookieString ? cookieString : undefined; if (!cookieStr) return {}; if (!cookieStr || typeof cookieStr !== "string") { return {}; } const cookieSplitArray = cookieStr.split(";"); let cookieObject = {}; cookieSplitArray.forEach((keyValueString) => { const [key, value] = keyValueString.split("="); if (key && typeof key == "string") { const parsedKey = key.replace(/^ +| +$/, ""); cookieObject[parsedKey] = value && typeof value == "string" ? value.replace(/^ +| +$/, "") : ""; } }); return cookieObject; } catch (error) { console.log(`ERROR parsing cookies: ${error.message}`); return {}; } }