diff --git a/packages/theme/src/cli/utilities/theme-environment/cookies.ts b/packages/theme/src/cli/utilities/theme-environment/cookies.ts index c7b5768a6c3..26a968c9421 100644 --- a/packages/theme/src/cli/utilities/theme-environment/cookies.ts +++ b/packages/theme/src/cli/utilities/theme-environment/cookies.ts @@ -1,18 +1,12 @@ -export function parseCookies(cookies: string) { - const cookiesRecord: Record = {} +export function parseCookies(cookies: string): Record { + const entries = cookies.split(';').flatMap((cookie) => { + const [, key, value] = cookie.match(/(.*?)=(.*)$/) ?? [] + const trimmedKey = key?.trim() - cookies.split(';').forEach((cookie) => { - const parts = cookie.match(/(.*?)=(.*)$/) ?? [] - - const key = parts[1]?.trim() - const value = parts[2]?.trim() ?? '' - - if (key) { - cookiesRecord[key] = value - } + return trimmedKey ? [[trimmedKey, value?.trim() ?? '']] : [] }) - return cookiesRecord + return Object.fromEntries(entries) } export function serializeCookies(cookies: Record) {