hono-sessions 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,7 +15,7 @@ Other runtimes may work, but are untested. In addition to Hono's requirements, t
15
15
 
16
16
  ### 🛠️ Features
17
17
  - Flash messages — data that is deleted once it's read (one-off error messages, etc.)
18
- - Built-in Memory and Cookie storage drivers, as well as [community-supported drivers](https://github.com/jcs224/hono_sessions/wiki)
18
+ - Built-in Memory and Cookie storage drivers, as well as [community-supported drivers](https://github.com/jcs224/hono_sessions/wiki/Community-adapters) and the ability to [create your own storage driver](https://github.com/jcs224/hono_sessions/wiki/Creating-a-custom-storage-driver)
19
19
  - Encrypted cookies thanks to [iron-webcrypto](https://github.com/brc-dd/iron-webcrypto)
20
20
  - Session expiration after inactivity
21
21
  - Session key rotation*
@@ -151,6 +151,18 @@ import { sessionMiddleware, CookieStore, Session } from 'hono-sessions'
151
151
  export default app
152
152
  ```
153
153
 
154
+ ## API
155
+
156
+ The `session` object returned from `c.get('session')` has several methods:
157
+
158
+ - `get(id: string)`: Fetch the value from a given key.
159
+
160
+ - `set(id: string, value: any)`: Set a value that can be serialized with `JSON.stringify()`
161
+
162
+ - `flash(id: string, value: any)`: Similar to `set()`, however the value is deleted immediately after it's read once. Best used for one-off alerts or form validation messages (login failure, etc.)
163
+
164
+ - `forget(id: string)`: Remove a value from the session based on its key
165
+
154
166
  ## Troubleshooting
155
167
 
156
168
  ### TypeScript errors
package/esm/mod.d.ts CHANGED
@@ -5,6 +5,7 @@ import { sessionMiddleware } from './src/Middleware.js';
5
5
  import { Session } from './src/Session.js';
6
6
  import type { SessionData } from './src/Session.js';
7
7
  import Store from './src/store/Store.js';
8
+ import type SessionOptions from './src/SessionOptions.js';
8
9
  export { MemoryStore, CookieStore, sessionMiddleware, encrypt, decrypt, Session, };
9
- export type { SessionData, Store };
10
+ export type { SessionData, SessionOptions, Store };
10
11
  //# sourceMappingURL=mod.d.ts.map
package/esm/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EACL,OAAO,EACP,OAAO,EACR,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,MAAM,sBAAsB,CAAA;AAExC,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,OAAO,GACR,CAAA;AAED,YAAY,EACV,WAAW,EACX,KAAK,EACN,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EACL,OAAO,EACP,OAAO,EACR,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,MAAM,sBAAsB,CAAA;AACxC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,OAAO,GACR,CAAA;AAED,YAAY,EACV,WAAW,EACX,cAAc,EACd,KAAK,EACN,CAAA"}
@@ -1,15 +1,5 @@
1
1
  import { MiddlewareHandler } from '../deps.js';
2
- import Store from './store/Store.js';
3
- import CookieStore from './store/CookieStore.js';
4
- import { CookieOptions } from '../deps.js';
5
- interface SessionOptions {
6
- store: Store | CookieStore;
7
- encryptionKey?: string;
8
- expireAfterSeconds?: number;
9
- cookieOptions?: CookieOptions;
10
- sessionCookieName?: string;
11
- }
2
+ import SessionOptions from './SessionOptions.js';
12
3
  /** Function that returns a Hono-compatible session middleware */
13
4
  export declare function sessionMiddleware(options: SessionOptions): MiddlewareHandler;
14
- export {};
15
5
  //# sourceMappingURL=Middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../src/src/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,MAAM,kBAAkB,CAAA;AACpC,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,GAAG,WAAW,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAyI5E"}
1
+ {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../src/src/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGtF,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAEhD,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAyI5E"}
@@ -20,6 +20,7 @@ export declare class Session<T = any> {
20
20
  updateAccess(): void;
21
21
  get<K extends keyof T>(key: K): T[K] | null;
22
22
  set<K extends keyof T>(key: K, value: T[K]): void;
23
+ forget<K extends keyof T>(key: K): void;
23
24
  flash<K extends keyof T>(key: K, value: T[K]): void;
24
25
  }
25
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/src/Session.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,OAAO,CAAC,CAAC,GAAG,GAAG;IAE1B,OAAO,CAAC,KAAK,CAAgB;;IAW7B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAInC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;IAI1B,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAMjD,aAAa;IAIb,YAAY,IAAI,OAAO;IAIvB,YAAY;IAIZ,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAe3C,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAS1C,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CAQ7C"}
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/src/Session.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,OAAO,CAAC,CAAC,GAAG,GAAG;IAE1B,OAAO,CAAC,KAAK,CAAgB;;IAW7B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAInC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;IAI1B,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAMjD,aAAa;IAIb,YAAY,IAAI,OAAO;IAIvB,YAAY;IAIZ,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAe3C,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAS1C,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAMhC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CAQ7C"}
@@ -56,6 +56,12 @@ export class Session {
56
56
  };
57
57
  this.cache._data[key] = entry;
58
58
  }
59
+ forget(key) {
60
+ const entry = this.cache._data[key];
61
+ if (!entry)
62
+ return;
63
+ delete this.cache._data[key];
64
+ }
59
65
  flash(key, value) {
60
66
  const entry = {
61
67
  value: value,
@@ -0,0 +1,11 @@
1
+ import Store from './store/Store.js';
2
+ import CookieStore from './store/CookieStore.js';
3
+ import { CookieOptions } from '../deps.js';
4
+ export default interface SessionOptions {
5
+ store: Store | CookieStore;
6
+ encryptionKey?: string;
7
+ expireAfterSeconds?: number;
8
+ cookieOptions?: CookieOptions;
9
+ sessionCookieName?: string;
10
+ }
11
+ //# sourceMappingURL=SessionOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionOptions.d.ts","sourceRoot":"","sources":["../../src/src/SessionOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,kBAAkB,CAAA;AACpC,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,cAAc;IACrC,KAAK,EAAE,KAAK,GAAG,WAAW,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B"}
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono-sessions",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "Cookie-based sessions for Hono web framework",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "hono": "^4.0.0",
27
- "iron-webcrypto": "0.10.1"
27
+ "iron-webcrypto": "^1.2.1"
28
28
  },
29
29
  "_generatedBy": "dnt@dev"
30
30
  }
package/script/mod.d.ts CHANGED
@@ -5,6 +5,7 @@ import { sessionMiddleware } from './src/Middleware.js';
5
5
  import { Session } from './src/Session.js';
6
6
  import type { SessionData } from './src/Session.js';
7
7
  import Store from './src/store/Store.js';
8
+ import type SessionOptions from './src/SessionOptions.js';
8
9
  export { MemoryStore, CookieStore, sessionMiddleware, encrypt, decrypt, Session, };
9
- export type { SessionData, Store };
10
+ export type { SessionData, SessionOptions, Store };
10
11
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EACL,OAAO,EACP,OAAO,EACR,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,MAAM,sBAAsB,CAAA;AAExC,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,OAAO,GACR,CAAA;AAED,YAAY,EACV,WAAW,EACX,KAAK,EACN,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAA;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EACL,OAAO,EACP,OAAO,EACR,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,MAAM,sBAAsB,CAAA;AACxC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,OAAO,GACR,CAAA;AAED,YAAY,EACV,WAAW,EACX,cAAc,EACd,KAAK,EACN,CAAA"}
@@ -1,15 +1,5 @@
1
1
  import { MiddlewareHandler } from '../deps.js';
2
- import Store from './store/Store.js';
3
- import CookieStore from './store/CookieStore.js';
4
- import { CookieOptions } from '../deps.js';
5
- interface SessionOptions {
6
- store: Store | CookieStore;
7
- encryptionKey?: string;
8
- expireAfterSeconds?: number;
9
- cookieOptions?: CookieOptions;
10
- sessionCookieName?: string;
11
- }
2
+ import SessionOptions from './SessionOptions.js';
12
3
  /** Function that returns a Hono-compatible session middleware */
13
4
  export declare function sessionMiddleware(options: SessionOptions): MiddlewareHandler;
14
- export {};
15
5
  //# sourceMappingURL=Middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../src/src/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,MAAM,kBAAkB,CAAA;AACpC,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,GAAG,WAAW,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAyI5E"}
1
+ {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../src/src/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGtF,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAEhD,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAyI5E"}
@@ -20,6 +20,7 @@ export declare class Session<T = any> {
20
20
  updateAccess(): void;
21
21
  get<K extends keyof T>(key: K): T[K] | null;
22
22
  set<K extends keyof T>(key: K, value: T[K]): void;
23
+ forget<K extends keyof T>(key: K): void;
23
24
  flash<K extends keyof T>(key: K, value: T[K]): void;
24
25
  }
25
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/src/Session.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,OAAO,CAAC,CAAC,GAAG,GAAG;IAE1B,OAAO,CAAC,KAAK,CAAgB;;IAW7B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAInC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;IAI1B,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAMjD,aAAa;IAIb,YAAY,IAAI,OAAO;IAIvB,YAAY;IAIZ,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAe3C,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAS1C,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CAQ7C"}
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../src/src/Session.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qBAAa,OAAO,CAAC,CAAC,GAAG,GAAG;IAE1B,OAAO,CAAC,KAAK,CAAgB;;IAW7B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAInC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;IAI1B,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAMjD,aAAa;IAIb,YAAY,IAAI,OAAO;IAIvB,YAAY;IAIZ,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAe3C,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAS1C,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAMhC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;CAQ7C"}
@@ -59,6 +59,12 @@ class Session {
59
59
  };
60
60
  this.cache._data[key] = entry;
61
61
  }
62
+ forget(key) {
63
+ const entry = this.cache._data[key];
64
+ if (!entry)
65
+ return;
66
+ delete this.cache._data[key];
67
+ }
62
68
  flash(key, value) {
63
69
  const entry = {
64
70
  value: value,
@@ -0,0 +1,11 @@
1
+ import Store from './store/Store.js';
2
+ import CookieStore from './store/CookieStore.js';
3
+ import { CookieOptions } from '../deps.js';
4
+ export default interface SessionOptions {
5
+ store: Store | CookieStore;
6
+ encryptionKey?: string;
7
+ expireAfterSeconds?: number;
8
+ cookieOptions?: CookieOptions;
9
+ sessionCookieName?: string;
10
+ }
11
+ //# sourceMappingURL=SessionOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionOptions.d.ts","sourceRoot":"","sources":["../../src/src/SessionOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,kBAAkB,CAAA;AACpC,OAAO,WAAW,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,cAAc;IACrC,KAAK,EAAE,KAAK,GAAG,WAAW,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });