{"_id":"@affinity-lab/sk-session","_rev":"5-3b438c014d4f1b8f71a2fd9d9d583a71","name":"@affinity-lab/sk-session","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@affinity-lab/sk-session","version":"1.0.0","main":"index.js","author":{"name":"Gergely Laborci"},"dependencies":{"axios":"^1.3.2","@sveltejs/kit":"next","devalue":"^4.3.0"},"gitHead":"bb01f84f7652f3748288bbb73a3a5aa6a6b012e0","_id":"@affinity-lab/sk-session@1.0.0","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-gPMQ+m1FjXgqSlX5QVtpSdX5duGmlO/O94LTTrLmaik00KrSjci1F8C/6NG91WwaPlW+dU/G/d/IZ+vYsIFoPg==","shasum":"33950d1035dff38c6b708c9c4083b2bbd64c8ab3","tarball":"https://registry.npmjs.org/@affinity-lab/sk-session/-/sk-session-1.0.0.tgz","fileCount":7,"unpackedSize":3075,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnsXLnOwLa6+Ci0J7H+83A9z5kbtPyPwUiL4X5Fs51bgIhAJYLQ5TjLSa6jZ2xZ1RDMVC2gvezTPh5wSGom7WnlIIM"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIp42ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrltg//T1C0zF6YL53VXibqpshnW0haUuE8jPBcwGZbnlpaWgua+UY2\r\nBR+q/ejT+jBqXX3YBJ86FWV7qB5PKELBZ+B948oM7PcddxoMRef1Hqpj5ljJ\r\nxmSGshc/QABa6iZYz0Gu1UkAufl3BIbJWla/dFaqeTAElpoLzZ12bPH+pcn3\r\nJ22W5r7/yo33eGiStEnAqYHBmAG8HqhAcAXQT8WXfrFWzC9kRt31y0WyFgbE\r\nRDW3ObVYc4+rp1uXZvAKB34/1LUSX5uOr237KvZ/fOzbPUyvt57FBB8YaQ4I\r\nzJKNkSdNTIm/tYPzu445Vl/V60i2FIIEZqYRHLUjYmPiCPlmQZNAMbJX7+dG\r\nkEqgRWp83OYE7AKw9ciN2eCOB+SG4Ym3EK32dP7sbZKZ+8wZMCkyfDJ47x0C\r\nk32YjjiRPiuPiej9SuzJmyTkcnyTdBjCnrlz+4tqytsj1hLYoIzqqC5LrkLv\r\nMzFZwZV4v2LKTvaEs/tRJ07IL6sXRD4T98LLWQH7Jxwa+zx9zlufvsHqUnKY\r\nJLkYdRmOqWWgMU8kTlQIuKdTlgdZHxqtlgntttoIz9b00xEreC03y0NtRkS7\r\nkYjcsfZrwRGaaBKDKGPANVk/8r+auG6v3hsmTOdIK4gx+C5nk74mgOvil3XZ\r\nlrAnjcqo3gNdsX0J4+l+Shi/O+iJ+/AC7n4=\r\n=srzb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"laborci","email":"gergely@laborci.hu"},"directories":{},"maintainers":[{"name":"laborci","email":"gergely@laborci.hu"},{"name":"affinity-lab-organizer","email":"laborci.gergely+affinity@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sk-session_1.0.0_1679990325961_0.9224804133101863"},"_hasShrinkwrap":false},"1.0.1":{"name":"@affinity-lab/sk-session","version":"1.0.1","main":"index.js","author":{"name":"Gergely Laborci"},"dependencies":{"axios":"^1.3.2","@sveltejs/kit":"next","devalue":"^4.3.0"},"gitHead":"bb01f84f7652f3748288bbb73a3a5aa6a6b012e0","description":"Session manager for SvelteKit projects","_id":"@affinity-lab/sk-session@1.0.1","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-JJe/uYWGXiPqbIGOPNUh399+jNTOEHhRpHh7UU58QlN2/Vy+qTyQZYXxTQNJUsunj79TTLWoFuj+Fe8qf4Forw==","shasum":"73299e4d47c080affc7fb52a4e39e494362f01ea","tarball":"https://registry.npmjs.org/@affinity-lab/sk-session/-/sk-session-1.0.1.tgz","fileCount":7,"unpackedSize":4511,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+Lf+WHIgFzlbORUYmziKcJMGnalzsi7e2jIjN5GilpgIgB0mEePHllHguXltQ1E7EK96Ow9poOktL6/UZM87OVAg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIrgPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohFhAAid+0O5Ow9CIQ0BJINWIGYen+wjIylN4Ed41Wh1ofe7zzxZAA\r\nVznHZ62wZx0p2A/7xs2knHSlPvW6cIrJRLehuYabsFTJLhpiavXvffwfy9z+\r\nluMBCbJfKcmQm9wQWROAkvU+ZQNqWdDEo29Y+yNBHTLA3vj14olxvxfPuv85\r\n2s6l0OnqTX0UJn6wEC6XB+jya18+D7cFvgjNaFEwhmB9GJvTBanDM/FhmZx+\r\n8LOmJWsRWiPUywM7c61/gnTJzrU+oDYamHwDLnlnwl83n8TNRRi3QJ50vfDX\r\n57B+X3YKnKfFSY8scSycz11Wx/xVLBZu8LuRdnRa7WLd0YnBKmCRnWRQqwvh\r\nTivx1ojNyjb2trwiFfe8FSn1p1j9/ticKHw7nXzWlXXXv/aSzdTaQVwIUEvX\r\nNeEMJwQQILqwLrmDAMhhOo/ak1l0orerySQ+NrFTZn2TYCtno5xKmMhW7bEU\r\nPX/hBRRd1rDQkyTKI8WNLSBTSz5GC6CGeSQRxXeVxvMduwxZqtqJYys0pMm1\r\nFAdu7S11ILGX+I/pX/DIRtRk7U3TcjEbRdpljB9iGIJwg592FLeAT8y/jgeq\r\noUqcGmZEBtsV6KtSKdEnCr6bJq3RyHDYkdHxdcHXVXR1nxcMzy2Rtfp+6IZU\r\nPbWmme5s+6oWz6QAPCYLlHmRjKq/N3CDCm8=\r\n=mm2w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"laborci","email":"gergely@laborci.hu"},"directories":{},"maintainers":[{"name":"laborci","email":"gergely@laborci.hu"},{"name":"affinity-lab-organizer","email":"laborci.gergely+affinity@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sk-session_1.0.1_1679996943133_0.2971734517776148"},"_hasShrinkwrap":false},"1.1.1":{"name":"@affinity-lab/sk-session","version":"1.1.1","main":"index.js","author":{"name":"Gergely Laborci"},"dependencies":{"axios":"^1.3.2","@sveltejs/kit":"next","devalue":"^4.3.0"},"gitHead":"a63785c04280134776226926926d2d38d4ca2ff3","description":"Session manager for SvelteKit projects","_id":"@affinity-lab/sk-session@1.1.1","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-i2vc5BYBa4IZTKEySCm7N//7bRuyX6pJ7N8jhjSWEE805eh+2kw8YO6BpHl2RD4vz5YhMoMUZGGmIHwuSjwBhQ==","shasum":"875a3637935ecb87fad1589254da03ae89bd86ed","tarball":"https://registry.npmjs.org/@affinity-lab/sk-session/-/sk-session-1.1.1.tgz","fileCount":7,"unpackedSize":4883,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCM9Z6w3BmX8Wict703raupeosLr9JdsTAdNNq/wwrN2gIhAJJqJwL/yANQKmr293MiXCPFCtzU9sZw0ED7UmGr+O4s"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPQw/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo40g/+M+x78sJVcoK7Xre7bXbez18zeK279/REmHk+IkptuLcUIT6e\r\nILUD8sOjvEQAflGxqHq9WWFafUSnAAX24ENyilB6QBbbYxB8pbGDFZi/tFz9\r\nAnRs0JETGwY8yoTHaRxw6ZPCllJm5G2Cw/4dM6ILcgoMIFD9YNBxvjp0vY3p\r\nqM+W/5teEPmC4XApdCFVF1DqWfvV67awCiwyiWtgIkaxuy+r9+S3PcYoqfI7\r\nO2GaYqL6sOVKUGnGeFgx4eFDdK4LHuxDgcKHrzMY1lr+giW9F82W8/jJhUPm\r\nY9qWS37FvTiVcx5awV4a9UOJ26Y6ziw3gaI6Vsi+6c+3bHPnYvxrW3mrwZpH\r\nq5v7AE+sziikRQiz18rPYlSBJs9y1Z29c1E+W/8mMDp0j5afRlZDizO7K5CB\r\nBLCWm5sp4tGnDgL5GFhemefowcFlIlk/AdW+ELnDvc/P4Uf1EFAKrdIdEJhh\r\nGniynxTdngg8GDQIqAYS3O5kSw3A4IsgbSQ4qdn8Qxo5oenEq/DeHrbsvNek\r\n8yVy2lM+S1o+36KzDvcNz5gIqUAthvDpTKMEq4alyw5FynVi0y71eGgm7XbU\r\nGhvX8TUhuzDT5tqpuqJ0BEpdHSUD8KexTmTJ+kx44qirJnPy5irY5wV2pz6z\r\nsXVBq98coamfrTCMixikNz+ddfdtEDzM12Y=\r\n=y+uZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"laborci","email":"gergely@laborci.hu"},"directories":{},"maintainers":[{"name":"laborci","email":"gergely@laborci.hu"},{"name":"affinity-lab-organizer","email":"laborci.gergely+affinity@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sk-session_1.1.1_1681722430819_0.5018950913013469"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-28T07:58:45.877Z","1.0.0":"2023-03-28T07:58:46.086Z","modified":"2024-04-22T11:55:15.736Z","1.0.1":"2023-03-28T09:49:03.290Z","1.1.1":"2023-04-17T09:07:10.993Z"},"maintainers":[{"email":"szaj.szabolcs@gmail.com","name":"frogyboy"},{"email":"gabberson0312@gmail.com","name":"gabi0312"},{"email":"divad.sari@gmail.com","name":"davdom004"},{"email":"gergely@laborci.hu","name":"laborci"},{"email":"laborci.gergely+affinity@gmail.com","name":"affinity-lab-organizer"}],"author":{"name":"Gergely Laborci"},"readme":"# @affinity-lab/sk-session\n\nSession manager for SvelteKit projects\n\n## Installation\n\n```\nnpm i -s @affinity-lab/sk-session\n```\n## Usage\n\n### Set up the service \n\n> `$lib/services/session-manager.ts`\n```ts\nimport SessionManager, { MemoryStorageAdapter } from \"@affinity-lab/sk-session\";\n\nexport let sessionManager = new SessionManager(new MemoryStorageAdapter(3600, 60));\n```\n\nOnly MemoryStorageAdapter provided this point, but you can create your on own session storage adapter. It needs to implement the `IStorageAdapter` interface.\n\n\n### Declare Session type\n> `src/app.d.ts`\n```ts\ndeclare namespace App {\n\t// interface Error {}\n\texport type SessionData = undefined | {\n\t\t[p: string]: any,\n\t\tuser?: MyUserType\n\t}\n\tinterface Locals {session: SessionData;}\n\tinterface PageData {session: SessionData;}\n\t// interface Platform {}\n}\n```\n\n### Apply it in hooks.server.js\n> `src/hooks.server.ts`\n```ts\nimport type {Handle, RequestEvent} from \"@sveltejs/kit\";\nimport {sessionManager} from \"./lib/services/session-manager\";\n\nexport async function handle({event, resolve}: { event: RequestEvent, resolve: any }) {\n\tsessionManager.handleRequest(event); // <- this will setup the session\n\tlet response = await resolve(event);\n\tsessionManager.update(event); // <- this will write the session data\n\treturn response;\n}\n```\n\nFrom that point, you can reach session from the `RequestEvent`.\n\n```ts\nlet user:MyUserType|undefined = event.session.user;\n```","readmeFilename":"README.md","description":"Session manager for SvelteKit projects"}