UNPKG

@kikiutils/nitro-session

Version:
1 lines 1.99 kB
{"version":3,"file":"cookie.mjs","sources":["../../../src/handlers/token/cookie.ts"],"sourcesContent":["import type { CookieSerializeOptions } from 'cookie-es';\nimport {\n deleteCookie,\n getCookie,\n setCookie,\n} from 'h3';\nimport type { H3Event } from 'h3';\nimport {\n merge,\n omit,\n} from 'lodash-es';\n\nimport type { TokenStorageOptions } from '../../types/options';\n\nexport class CookieTokenHandler {\n #name: string;\n #serializeOptions: CookieSerializeOptions;\n\n constructor(options: TokenStorageOptions.Cookie['options'], maxAge: number) {\n this.#name = options?.name || 'session';\n this.#serializeOptions = {\n ...merge(\n {\n httpOnly: true,\n path: '/',\n sameSite: 'lax',\n secure: true,\n },\n omit(options, 'name'),\n ),\n maxAge,\n };\n }\n\n delete(event: H3Event) {\n deleteCookie(event, this.#name, this.#serializeOptions);\n }\n\n get(event: H3Event) {\n return getCookie(event, this.#name);\n }\n\n set(event: H3Event, value: string) {\n setCookie(event, this.#name, value, this.#serializeOptions);\n }\n}\n"],"names":[],"mappings":";;;MAca,kBAAkB,CAAA;AAC3B,IAAA,KAAK;AACL,IAAA,iBAAiB;IAEjB,WAAY,CAAA,OAA8C,EAAE,MAAc,EAAA;QACtE,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI,IAAI,SAAS;QACvC,IAAI,CAAC,iBAAiB,GAAG;AACrB,YAAA,GAAG,KAAK,CACJ;AACI,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,MAAM,EAAE,IAAI;AACf,aAAA,EACD,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CACxB;YACD,MAAM;SACT;;AAGL,IAAA,MAAM,CAAC,KAAc,EAAA;QACjB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;;AAG3D,IAAA,GAAG,CAAC,KAAc,EAAA;QACd,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;;IAGvC,GAAG,CAAC,KAAc,EAAE,KAAa,EAAA;AAC7B,QAAA,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;;AAElE;;;;"}