hono-sessions 0.5.8 → 0.6.1
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 +9 -6
- package/esm/deps.d.ts +1 -0
- package/esm/deps.d.ts.map +1 -0
- package/esm/mod.d.ts +1 -0
- package/esm/mod.d.ts.map +1 -0
- package/esm/src/Crypto.d.ts +1 -0
- package/esm/src/Crypto.d.ts.map +1 -0
- package/esm/src/Middleware.d.ts +1 -0
- package/esm/src/Middleware.d.ts.map +1 -0
- package/esm/src/Session.d.ts +11 -16
- package/esm/src/Session.d.ts.map +1 -0
- package/esm/src/Session.js +6 -7
- package/esm/src/store/CookieStore.d.ts +1 -0
- package/esm/src/store/CookieStore.d.ts.map +1 -0
- package/esm/src/store/MemoryStore.d.ts +1 -0
- package/esm/src/store/MemoryStore.d.ts.map +1 -0
- package/esm/src/store/Store.d.ts +1 -0
- package/esm/src/store/Store.d.ts.map +1 -0
- package/esm/src/store/bun/BunSqliteStore.d.ts +1 -0
- package/esm/src/store/bun/BunSqliteStore.d.ts.map +1 -0
- package/esm/src/store/cloudflare/CloudflareD1Store.d.ts +1 -0
- package/esm/src/store/cloudflare/CloudflareD1Store.d.ts.map +1 -0
- package/package.json +6 -5
- package/script/deps.d.ts +1 -0
- package/script/deps.d.ts.map +1 -0
- package/script/mod.d.ts +1 -0
- package/script/mod.d.ts.map +1 -0
- package/script/src/Crypto.d.ts +1 -0
- package/script/src/Crypto.d.ts.map +1 -0
- package/script/src/Crypto.js +2 -3
- package/script/src/Middleware.d.ts +1 -0
- package/script/src/Middleware.d.ts.map +1 -0
- package/script/src/Middleware.js +1 -2
- package/script/src/Session.d.ts +11 -16
- package/script/src/Session.d.ts.map +1 -0
- package/script/src/Session.js +6 -7
- package/script/src/store/CookieStore.d.ts +1 -0
- package/script/src/store/CookieStore.d.ts.map +1 -0
- package/script/src/store/MemoryStore.d.ts +1 -0
- package/script/src/store/MemoryStore.d.ts.map +1 -0
- package/script/src/store/Store.d.ts +1 -0
- package/script/src/store/Store.d.ts.map +1 -0
- package/script/src/store/bun/BunSqliteStore.d.ts +1 -0
- package/script/src/store/bun/BunSqliteStore.d.ts.map +1 -0
- package/script/src/store/cloudflare/CloudflareD1Store.d.ts +1 -0
- package/script/src/store/cloudflare/CloudflareD1Store.d.ts.map +1 -0
package/README.md
CHANGED
|
@@ -24,6 +24,7 @@ If you want to use a backend storage driver (instead of just storing session dat
|
|
|
24
24
|
- Encrypted cookies thanks to [iron-webcrypto](https://github.com/brc-dd/iron-webcrypto)
|
|
25
25
|
- Session expiration after inactivity
|
|
26
26
|
- Session key rotation*
|
|
27
|
+
- Strong typing for session variables
|
|
27
28
|
|
|
28
29
|
> *It is not necessary to rotate CookieStore sessions because of how a pure cookie session works (no server-side state). Therefore, using session key rotation will have no effect while using CookieStore.
|
|
29
30
|
|
|
@@ -55,9 +56,15 @@ import {
|
|
|
55
56
|
CookieStore
|
|
56
57
|
} from 'https://deno.land/x/hono_sessions/mod.ts'
|
|
57
58
|
|
|
59
|
+
// Add types to your session data (optional)
|
|
60
|
+
type SessionDataTypes = {
|
|
61
|
+
'counter': number
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Set up your Hono instance, using your
|
|
58
65
|
const app = new Hono<{
|
|
59
66
|
Variables: {
|
|
60
|
-
session: Session
|
|
67
|
+
session: Session<SessionDataTypes>,
|
|
61
68
|
session_key_rotation: boolean
|
|
62
69
|
}
|
|
63
70
|
}>()
|
|
@@ -78,11 +85,7 @@ app.use('*', sessionMiddleware({
|
|
|
78
85
|
app.get('/', async (c, next) => {
|
|
79
86
|
const session = c.get('session')
|
|
80
87
|
|
|
81
|
-
|
|
82
|
-
session.set('counter', session.get('counter') as number + 1)
|
|
83
|
-
} else {
|
|
84
|
-
session.set('counter', 1)
|
|
85
|
-
}
|
|
88
|
+
session.set('counter', (session.get('counter') || 0) + 1)
|
|
86
89
|
|
|
87
90
|
return c.html(`<h1>You have visited this page ${ session.get('counter') } times</h1>`)
|
|
88
91
|
})
|
package/esm/deps.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA"}
|
package/esm/mod.d.ts
CHANGED
package/esm/mod.d.ts.map
ADDED
|
@@ -0,0 +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"}
|
package/esm/src/Crypto.d.ts
CHANGED
|
@@ -14,3 +14,4 @@ export declare function encrypt(password: string, payload: object | string): Pro
|
|
|
14
14
|
* @returns Promise of the unencrypted value (string or object in most cases)
|
|
15
15
|
*/
|
|
16
16
|
export declare function decrypt(password: string, encrypted: string): Promise<unknown>;
|
|
17
|
+
//# sourceMappingURL=Crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../src/src/Crypto.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzF;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAElF"}
|
package/esm/src/Middleware.d.ts
CHANGED
|
@@ -0,0 +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"}
|
package/esm/src/Session.d.ts
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
|
-
interface SessionDataEntry {
|
|
2
|
-
value:
|
|
1
|
+
interface SessionDataEntry<T> {
|
|
2
|
+
value: T;
|
|
3
3
|
flash: boolean;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
export interface SessionData {
|
|
9
|
-
_data: Record<string, SessionDataEntry>;
|
|
5
|
+
export interface SessionData<T = any> {
|
|
6
|
+
_data: Record<string, SessionDataEntry<T>>;
|
|
10
7
|
_expire: string | null;
|
|
11
8
|
_delete: boolean;
|
|
12
9
|
_accessed: string | null;
|
|
13
10
|
}
|
|
14
|
-
|
|
15
|
-
* Session class with methods for interacting with the session
|
|
16
|
-
*/
|
|
17
|
-
export declare class Session {
|
|
11
|
+
export declare class Session<T = any> {
|
|
18
12
|
private cache;
|
|
19
13
|
constructor();
|
|
20
|
-
setCache(cache_data: SessionData): void;
|
|
21
|
-
getCache(): SessionData
|
|
14
|
+
setCache(cache_data: SessionData<T>): void;
|
|
15
|
+
getCache(): SessionData<T>;
|
|
22
16
|
setExpiration(expiration: string): void;
|
|
23
17
|
reupSession(expiration: number | null | undefined): void;
|
|
24
18
|
deleteSession(): void;
|
|
25
19
|
sessionValid(): boolean;
|
|
26
20
|
updateAccess(): void;
|
|
27
|
-
get(key:
|
|
28
|
-
set(key:
|
|
29
|
-
flash(key:
|
|
21
|
+
get<K extends keyof T>(key: K): T[K] | null;
|
|
22
|
+
set<K extends keyof T>(key: K, value: T[K]): void;
|
|
23
|
+
flash<K extends keyof T>(key: K, value: T[K]): void;
|
|
30
24
|
}
|
|
31
25
|
export {};
|
|
26
|
+
//# sourceMappingURL=Session.d.ts.map
|
|
@@ -0,0 +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"}
|
package/esm/src/Session.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session class with methods for interacting with the session
|
|
3
|
-
*/
|
|
4
1
|
export class Session {
|
|
5
2
|
constructor() {
|
|
6
3
|
Object.defineProperty(this, "cache", {
|
|
@@ -53,15 +50,17 @@ export class Session {
|
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
52
|
set(key, value) {
|
|
56
|
-
|
|
57
|
-
value,
|
|
53
|
+
const entry = {
|
|
54
|
+
value: value,
|
|
58
55
|
flash: false
|
|
59
56
|
};
|
|
57
|
+
this.cache._data[key] = entry;
|
|
60
58
|
}
|
|
61
59
|
flash(key, value) {
|
|
62
|
-
|
|
63
|
-
value,
|
|
60
|
+
const entry = {
|
|
61
|
+
value: value,
|
|
64
62
|
flash: true
|
|
65
63
|
};
|
|
64
|
+
this.cache._data[key] = entry;
|
|
66
65
|
}
|
|
67
66
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieStore.d.ts","sourceRoot":"","sources":["../../../src/src/store/CookieStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAoB,WAAW,EAAE,MAAM,cAAc,CAAA;AAE5D,UAAU,kBAAkB;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,cAAM,WAAW;IACR,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACxC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,iBAAiB,EAAE,MAAM,CAAA;gBAEpB,OAAO,CAAC,EAAE,kBAAkB;IAMlC,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyBnD,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW;IAKnD,aAAa,CAAC,CAAC,EAAE,OAAO;IAIxB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW;CAI/D;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../../src/src/store/MemoryStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C;;GAEG;AACH,cAAM,WAAY,YAAW,KAAK;IAChC,OAAO,CAAC,IAAI,CAA0B;;IAMtC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS;IAI3D,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW;IAIpD,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW;CAG1D;AAED,eAAe,WAAW,CAAA"}
|
package/esm/src/store/Store.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/src/store/Store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,KAAK;IAC5B,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAI,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IAC7G,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjF,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACtF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSqliteStore.d.ts","sourceRoot":"","sources":["../../../../src/src/store/bun/BunSqliteStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,cAAe,YAAW,KAAK;IAC1C,EAAE,EAAE,GAAG,CAAA;IACP,SAAS,EAAE,MAAM,CAAA;gBAEL,EAAE,EAAE,GAAG,EAAE,SAAS,SAAa;IAO3C,cAAc,CAAC,SAAS,EAAE,MAAM;IAWhC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAC,WAAW,EAAE,WAAW;IAKxD,aAAa,CAAC,SAAS,EAAE,MAAM;IAK/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAC,WAAW,EAAE,WAAW;CAI9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudflareD1Store.d.ts","sourceRoot":"","sources":["../../../../src/src/store/cloudflare/CloudflareD1Store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,iBAAkB,YAAW,KAAK;IAC7C,EAAE,EAAE,GAAG,CAAA;IACP,SAAS,EAAE,MAAM,CAAA;gBAEL,SAAS,GAAE,MAAmB;IAIpC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAC,SAAS;IAY3C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAC,WAAW,EAAE,WAAW;IAIxD,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;CAGrE"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"module": "./esm/mod.js",
|
|
3
|
-
"main": "./script/mod.js",
|
|
4
2
|
"name": "hono-sessions",
|
|
5
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
6
4
|
"description": "Cookie-based sessions for Hono web framework",
|
|
7
|
-
"license": "MIT",
|
|
8
5
|
"repository": {
|
|
9
6
|
"type": "git",
|
|
10
7
|
"url": "git+https://github.com/jcs224/hono_sessions.git"
|
|
11
8
|
},
|
|
9
|
+
"license": "MIT",
|
|
12
10
|
"bugs": {
|
|
13
11
|
"url": "https://github.com/jcs224/hono_sessions/issues"
|
|
14
12
|
},
|
|
13
|
+
"main": "./script/mod.js",
|
|
14
|
+
"module": "./esm/mod.js",
|
|
15
15
|
"exports": {
|
|
16
16
|
".": {
|
|
17
17
|
"import": "./esm/mod.js",
|
|
@@ -29,5 +29,6 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"hono": "^4.0.0",
|
|
31
31
|
"iron-webcrypto": "0.10.1"
|
|
32
|
-
}
|
|
32
|
+
},
|
|
33
|
+
"_generatedBy": "dnt@dev"
|
|
33
34
|
}
|
package/script/deps.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA"}
|
package/script/mod.d.ts
CHANGED
|
@@ -0,0 +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"}
|
package/script/src/Crypto.d.ts
CHANGED
|
@@ -14,3 +14,4 @@ export declare function encrypt(password: string, payload: object | string): Pro
|
|
|
14
14
|
* @returns Promise of the unencrypted value (string or object in most cases)
|
|
15
15
|
*/
|
|
16
16
|
export declare function decrypt(password: string, encrypted: string): Promise<unknown>;
|
|
17
|
+
//# sourceMappingURL=Crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../src/src/Crypto.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzF;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAElF"}
|
package/script/src/Crypto.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.encrypt = encrypt;
|
|
4
|
+
exports.decrypt = decrypt;
|
|
4
5
|
const deps_js_1 = require("../deps.js");
|
|
5
6
|
/**
|
|
6
7
|
* Encrypt a string or object value
|
|
@@ -12,7 +13,6 @@ const deps_js_1 = require("../deps.js");
|
|
|
12
13
|
async function encrypt(password, payload) {
|
|
13
14
|
return await deps_js_1.Iron.seal(globalThis.crypto, payload, password, deps_js_1.Iron.defaults);
|
|
14
15
|
}
|
|
15
|
-
exports.encrypt = encrypt;
|
|
16
16
|
/**
|
|
17
17
|
* Decrypt an encrypted payload
|
|
18
18
|
*
|
|
@@ -23,4 +23,3 @@ exports.encrypt = encrypt;
|
|
|
23
23
|
async function decrypt(password, encrypted) {
|
|
24
24
|
return await deps_js_1.Iron.unseal(globalThis.crypto, encrypted, { default: password }, deps_js_1.Iron.defaults);
|
|
25
25
|
}
|
|
26
|
-
exports.decrypt = decrypt;
|
|
@@ -0,0 +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"}
|
package/script/src/Middleware.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.sessionMiddleware =
|
|
6
|
+
exports.sessionMiddleware = sessionMiddleware;
|
|
7
7
|
const deps_js_1 = require("../deps.js");
|
|
8
8
|
const CookieStore_js_1 = __importDefault(require("./store/CookieStore.js"));
|
|
9
9
|
const mod_js_1 = require("../mod.js");
|
|
@@ -121,4 +121,3 @@ function sessionMiddleware(options) {
|
|
|
121
121
|
});
|
|
122
122
|
return middleware;
|
|
123
123
|
}
|
|
124
|
-
exports.sessionMiddleware = sessionMiddleware;
|
package/script/src/Session.d.ts
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
|
-
interface SessionDataEntry {
|
|
2
|
-
value:
|
|
1
|
+
interface SessionDataEntry<T> {
|
|
2
|
+
value: T;
|
|
3
3
|
flash: boolean;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
export interface SessionData {
|
|
9
|
-
_data: Record<string, SessionDataEntry>;
|
|
5
|
+
export interface SessionData<T = any> {
|
|
6
|
+
_data: Record<string, SessionDataEntry<T>>;
|
|
10
7
|
_expire: string | null;
|
|
11
8
|
_delete: boolean;
|
|
12
9
|
_accessed: string | null;
|
|
13
10
|
}
|
|
14
|
-
|
|
15
|
-
* Session class with methods for interacting with the session
|
|
16
|
-
*/
|
|
17
|
-
export declare class Session {
|
|
11
|
+
export declare class Session<T = any> {
|
|
18
12
|
private cache;
|
|
19
13
|
constructor();
|
|
20
|
-
setCache(cache_data: SessionData): void;
|
|
21
|
-
getCache(): SessionData
|
|
14
|
+
setCache(cache_data: SessionData<T>): void;
|
|
15
|
+
getCache(): SessionData<T>;
|
|
22
16
|
setExpiration(expiration: string): void;
|
|
23
17
|
reupSession(expiration: number | null | undefined): void;
|
|
24
18
|
deleteSession(): void;
|
|
25
19
|
sessionValid(): boolean;
|
|
26
20
|
updateAccess(): void;
|
|
27
|
-
get(key:
|
|
28
|
-
set(key:
|
|
29
|
-
flash(key:
|
|
21
|
+
get<K extends keyof T>(key: K): T[K] | null;
|
|
22
|
+
set<K extends keyof T>(key: K, value: T[K]): void;
|
|
23
|
+
flash<K extends keyof T>(key: K, value: T[K]): void;
|
|
30
24
|
}
|
|
31
25
|
export {};
|
|
26
|
+
//# sourceMappingURL=Session.d.ts.map
|
|
@@ -0,0 +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"}
|
package/script/src/Session.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Session = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Session class with methods for interacting with the session
|
|
6
|
-
*/
|
|
7
4
|
class Session {
|
|
8
5
|
constructor() {
|
|
9
6
|
Object.defineProperty(this, "cache", {
|
|
@@ -56,16 +53,18 @@ class Session {
|
|
|
56
53
|
}
|
|
57
54
|
}
|
|
58
55
|
set(key, value) {
|
|
59
|
-
|
|
60
|
-
value,
|
|
56
|
+
const entry = {
|
|
57
|
+
value: value,
|
|
61
58
|
flash: false
|
|
62
59
|
};
|
|
60
|
+
this.cache._data[key] = entry;
|
|
63
61
|
}
|
|
64
62
|
flash(key, value) {
|
|
65
|
-
|
|
66
|
-
value,
|
|
63
|
+
const entry = {
|
|
64
|
+
value: value,
|
|
67
65
|
flash: true
|
|
68
66
|
};
|
|
67
|
+
this.cache._data[key] = entry;
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
70
|
exports.Session = Session;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieStore.d.ts","sourceRoot":"","sources":["../../../src/src/store/CookieStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAoB,WAAW,EAAE,MAAM,cAAc,CAAA;AAE5D,UAAU,kBAAkB;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED;;GAEG;AACH,cAAM,WAAW;IACR,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACxC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,iBAAiB,EAAE,MAAM,CAAA;gBAEpB,OAAO,CAAC,EAAE,kBAAkB;IAMlC,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyBnD,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW;IAKnD,aAAa,CAAC,CAAC,EAAE,OAAO;IAIxB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW;CAI/D;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../../src/src/store/MemoryStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C;;GAEG;AACH,cAAM,WAAY,YAAW,KAAK;IAChC,OAAO,CAAC,IAAI,CAA0B;;IAMtC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS;IAI3D,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW;IAIpD,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW;CAG1D;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/src/store/Store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,KAAK;IAC5B,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAI,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IAC7G,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjF,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACtF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunSqliteStore.d.ts","sourceRoot":"","sources":["../../../../src/src/store/bun/BunSqliteStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,cAAe,YAAW,KAAK;IAC1C,EAAE,EAAE,GAAG,CAAA;IACP,SAAS,EAAE,MAAM,CAAA;gBAEL,EAAE,EAAE,GAAG,EAAE,SAAS,SAAa;IAO3C,cAAc,CAAC,SAAS,EAAE,MAAM;IAWhC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAC,WAAW,EAAE,WAAW;IAKxD,aAAa,CAAC,SAAS,EAAE,MAAM;IAK/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAC,WAAW,EAAE,WAAW;CAI9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudflareD1Store.d.ts","sourceRoot":"","sources":["../../../../src/src/store/cloudflare/CloudflareD1Store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,iBAAkB,YAAW,KAAK;IAC7C,EAAE,EAAE,GAAG,CAAA;IACP,SAAS,EAAE,MAAM,CAAA;gBAEL,SAAS,GAAE,MAAmB;IAIpC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAC,SAAS;IAY3C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAC,WAAW,EAAE,WAAW;IAIxD,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;CAGrE"}
|