{"version":3,"file":"CookieStorage.mjs","sources":["../../../src/storage/CookieStorage.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport JsCookie from 'js-cookie';\nexport class CookieStorage {\n    constructor(data = {}) {\n        const { path, domain, expires, sameSite, secure } = data;\n        this.domain = domain;\n        this.path = path || '/';\n        this.expires = Object.prototype.hasOwnProperty.call(data, 'expires')\n            ? expires\n            : 365;\n        this.secure = Object.prototype.hasOwnProperty.call(data, 'secure')\n            ? secure\n            : true;\n        if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n            if (!sameSite || !['strict', 'lax', 'none'].includes(sameSite)) {\n                throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n            }\n            if (sameSite === 'none' && !this.secure) {\n                throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n            }\n            this.sameSite = sameSite;\n        }\n    }\n    async setItem(key, value) {\n        JsCookie.set(key, value, this.getData());\n    }\n    async getItem(key) {\n        const item = JsCookie.get(key);\n        return item ?? null;\n    }\n    async removeItem(key) {\n        JsCookie.remove(key, this.getData());\n    }\n    async clear() {\n        const cookie = JsCookie.get();\n        const promises = Object.keys(cookie).map(key => this.removeItem(key));\n        await Promise.all(promises);\n    }\n    getData() {\n        return {\n            path: this.path,\n            expires: this.expires,\n            domain: this.domain,\n            secure: this.secure,\n            ...(this.sameSite && { sameSite: this.sameSite }),\n        };\n    }\n}\n"],"names":[],"mappings":";;AAAA;AACA;AAEO,MAAM,aAAa,CAAC;AAC3B,IAAI,WAAW,CAAC,IAAI,GAAG,EAAE,EAAE;AAC3B,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;AACjE,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC;AAChC,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAC5E,cAAc,OAAO;AACrB,cAAc,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC1E,cAAc,MAAM;AACpB,cAAc,IAAI,CAAC;AACnB,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;AACpE,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC5E,gBAAgB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;AAC1G,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACrD,gBAAgB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;AAC7G,aAAa;AACb,YAAY,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACrC,SAAS;AACT,KAAK;AACL,IAAI,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE;AAC9B,QAAQ,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACjD,KAAK;AACL,IAAI,MAAM,OAAO,CAAC,GAAG,EAAE;AACvB,QAAQ,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC,QAAQ,OAAO,IAAI,IAAI,IAAI,CAAC;AAC5B,KAAK;AACL,IAAI,MAAM,UAAU,CAAC,GAAG,EAAE;AAC1B,QAAQ,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;AACtC,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9E,QAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,IAAI,CAAC,IAAI;AAC3B,YAAY,OAAO,EAAE,IAAI,CAAC,OAAO;AACjC,YAAY,MAAM,EAAE,IAAI,CAAC,MAAM;AAC/B,YAAY,MAAM,EAAE,IAAI,CAAC,MAAM;AAC/B,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7D,SAAS,CAAC;AACV,KAAK;AACL;;;;"}