// @ts-check /** * * @param {object} params * @param {import("../types").CookieObject[]} params.cookies * @returns {string[]} */ function serializeCookies({ cookies }) { /** @type {string[]} */ let cookiesStringsArray = []; for (let i = 0; i < cookies.length; i++) { const cookieObject = cookies[i]; let cookieString = `${cookieObject.name}=${cookieObject.value}`; if (cookieObject.maxAge) { cookieString += `;Max-Age=${cookieObject.maxAge}`; } if (cookieObject.path) { cookieString += `;Path=${cookieObject.path}`; } if (cookieObject.domain) { cookieString += `;Domain=${cookieObject.domain}`; } if (cookieObject.secure) { cookieString += ";Secure"; } if (cookieObject.httpOnly) { cookieString += ";HttpOnly"; } if (cookieObject.sameSite) { cookieString += `;SameSite=${cookieObject.sameSite}`; } if (cookieObject.expires) { cookieString += `;expires=${cookieObject.expires}`; } if (cookieObject.priority) { cookieString += `;priority=${cookieObject.priority}`; } cookiesStringsArray.push(cookieString); } return cookiesStringsArray; } module.exports = serializeCookies;