@eggjs/session 5.0.0-beta.20 → 5.0.0-beta.21

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.
@@ -1,3 +1,33 @@
1
- import "../../config.default-DZBEY1o7.js";
2
- import { SessionApplication, SessionStore, SessionStoreOrAppSessionStoreClass } from "../../application-DXD5_ZB9.js";
3
- export { SessionStore, SessionStoreOrAppSessionStoreClass, SessionApplication as default };
1
+ import { Application } from 'egg';
2
+ import type { SessionConfig } from '../../config/config.default.ts';
3
+ export type SessionStore = Required<SessionConfig>['store'];
4
+ export type SessionStoreOrAppSessionStoreClass = SessionStore | {
5
+ new (app: Application): SessionStore;
6
+ };
7
+ export default class SessionApplication extends Application {
8
+ /**
9
+ * set session external store
10
+ *
11
+ * ```js
12
+ * app.sessionStore = {
13
+ * get(key): Promise<unknown>,
14
+ * set(key, data): Promise<void>,
15
+ * destroy(key): Promise<void>,
16
+ * };
17
+ *
18
+ * app.sessionStore = class SessionStore {
19
+ * constructor(app) {
20
+ * }
21
+ * get(key): Promise<unknown>,
22
+ * set(key, data): Promise<void>,
23
+ * destroy(key): Promise<void>,
24
+ * }
25
+ * ```
26
+ * @param {Class|Object} store session store class or instance
27
+ */
28
+ set sessionStore(store: SessionStoreOrAppSessionStoreClass | null | undefined);
29
+ /**
30
+ * get sessionStore instance
31
+ */
32
+ get sessionStore(): SessionStore | undefined;
33
+ }
@@ -1,3 +1,49 @@
1
- import { SessionApplication } from "../../application-D-OUDikL.js";
2
-
3
- export { SessionApplication as default };
1
+ import assert from 'node:assert';
2
+ import { Application } from 'egg';
3
+ export default class SessionApplication extends Application {
4
+ /**
5
+ * set session external store
6
+ *
7
+ * ```js
8
+ * app.sessionStore = {
9
+ * get(key): Promise<unknown>,
10
+ * set(key, data): Promise<void>,
11
+ * destroy(key): Promise<void>,
12
+ * };
13
+ *
14
+ * app.sessionStore = class SessionStore {
15
+ * constructor(app) {
16
+ * }
17
+ * get(key): Promise<unknown>,
18
+ * set(key, data): Promise<void>,
19
+ * destroy(key): Promise<void>,
20
+ * }
21
+ * ```
22
+ * @param {Class|Object} store session store class or instance
23
+ */
24
+ set sessionStore(store) {
25
+ if (this.config.session.store && this.config.env !== 'unittest') {
26
+ this.coreLogger.warn('[@eggjs/session] sessionStore already exists and will be overwrite');
27
+ }
28
+ // support this.sessionStore = null to disable external store
29
+ if (!store) {
30
+ this.config.session.store = undefined;
31
+ this.coreLogger.info('[@eggjs/session] sessionStore is disabled');
32
+ return;
33
+ }
34
+ if (typeof store === 'function') {
35
+ store = new store(this);
36
+ }
37
+ assert(typeof store.get === 'function', 'store.get must be function');
38
+ assert(typeof store.set === 'function', 'store.set must be function');
39
+ assert(typeof store.destroy === 'function', 'store.destroy must be function');
40
+ this.config.session.store = store;
41
+ }
42
+ /**
43
+ * get sessionStore instance
44
+ */
45
+ get sessionStore() {
46
+ return this.config.session.store;
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9hcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFFakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQztBQVlsQyxNQUFNLENBQUMsT0FBTyxPQUFPLGtCQUFtQixTQUFRLFdBQVc7SUFDekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSCxJQUFJLFlBQVksQ0FBQyxLQUE0RDtRQUMzRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1FBQzdGLENBQUM7UUFFRCw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1lBQ2xFLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE1BQU0sQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLEtBQUssVUFBVSxFQUFFLDRCQUE0QixDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztRQUN0RSxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbkMsQ0FBQztDQUNGIn0=
@@ -1,2 +1,2 @@
1
- import { createSession } from "koa-session";
2
- export { createSession as default };
1
+ import { createSession } from 'koa-session';
2
+ export default createSession;
@@ -1,7 +1,3 @@
1
- import { createSession } from "koa-session";
2
-
3
- //#region src/app/middleware/session.ts
4
- var session_default = createSession;
5
-
6
- //#endregion
7
- export { session_default as default };
1
+ import { createSession } from 'koa-session';
2
+ export default createSession;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvbWlkZGxld2FyZS9zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsZUFBZSxhQUFhLENBQUMifQ==
package/dist/app.d.ts CHANGED
@@ -1,10 +1,6 @@
1
- import { Application, ILifecycleBoot } from "egg";
2
-
3
- //#region src/app.d.ts
4
- declare class AppBoot implements ILifecycleBoot {
5
- private readonly app;
6
- constructor(app: Application);
7
- configWillLoad(): void;
1
+ import type { ILifecycleBoot, Application } from 'egg';
2
+ export default class AppBoot implements ILifecycleBoot {
3
+ private readonly app;
4
+ constructor(app: Application);
5
+ configWillLoad(): void;
8
6
  }
9
- //#endregion
10
- export { AppBoot as default };
package/dist/app.js CHANGED
@@ -1,27 +1,26 @@
1
- import { SessionConfig } from "./config.default-B6ogFpca.js";
2
-
3
- //#region src/app.ts
4
- var AppBoot = class {
5
- app;
6
- constructor(app) {
7
- this.app = app;
8
- }
9
- configWillLoad() {
10
- const app = this.app;
11
- SessionConfig.parse(app.config.session);
12
- if (!app.config.session.httpOnly) app.coreLogger.warn("[@eggjs/session]: please set `config.session.httpOnly` to true. It is very dangerous if session can read by client JavaScript.");
13
- app.config.coreMiddleware.push("session");
14
- app.on("session:missed", ({ ctx, key }) => {
15
- ctx.coreLogger.warn("[session][missed] key(%s)", key);
16
- });
17
- app.on("session:expired", ({ ctx, key, value }) => {
18
- ctx.coreLogger.warn("[session][expired] key(%s) value(%j)", key, app.config.session.logValue ? value : "");
19
- });
20
- app.on("session:invalid", ({ ctx, key, value }) => {
21
- ctx.coreLogger.warn("[session][invalid] key(%s) value(%j)", key, app.config.session.logValue ? value : "");
22
- });
23
- }
24
- };
25
-
26
- //#endregion
27
- export { AppBoot as default };
1
+ import { SessionConfig } from "./config/config.default.js";
2
+ export default class AppBoot {
3
+ app;
4
+ constructor(app) {
5
+ this.app = app;
6
+ }
7
+ configWillLoad() {
8
+ const app = this.app;
9
+ SessionConfig.parse(app.config.session);
10
+ if (!app.config.session.httpOnly) {
11
+ app.coreLogger.warn('[@eggjs/session]: please set `config.session.httpOnly` to true. It is very dangerous if session can read by client JavaScript.');
12
+ }
13
+ app.config.coreMiddleware.push('session');
14
+ // listen on session's events
15
+ app.on('session:missed', ({ ctx, key }) => {
16
+ ctx.coreLogger.warn('[session][missed] key(%s)', key);
17
+ });
18
+ app.on('session:expired', ({ ctx, key, value }) => {
19
+ ctx.coreLogger.warn('[session][expired] key(%s) value(%j)', key, app.config.session.logValue ? value : '');
20
+ });
21
+ app.on('session:invalid', ({ ctx, key, value }) => {
22
+ ctx.coreLogger.warn('[session][invalid] key(%s) value(%j)', key, app.config.session.logValue ? value : '');
23
+ });
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsTUFBTSxDQUFDLE9BQU8sT0FBTyxPQUFPO0lBQ1QsR0FBRyxDQUFDO0lBRXJCLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3JCLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2pCLGdJQUFnSSxDQUNqSSxDQUFDO1FBQ0osQ0FBQztRQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyw2QkFBNkI7UUFDN0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7WUFDeEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDaEQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RyxDQUFDLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNoRCxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
@@ -1,2 +1,206 @@
1
- import { SessionConfig, _default } from "../config.default-DZBEY1o7.js";
2
- export { SessionConfig, _default as default };
1
+ import z from 'zod';
2
+ export declare const SessionConfig: z.ZodObject<{
3
+ key: z.ZodDefault<z.ZodString>;
4
+ maxAge: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"session">]>>;
5
+ autoCommit: z.ZodDefault<z.ZodBoolean>;
6
+ overwrite: z.ZodDefault<z.ZodBoolean>;
7
+ httpOnly: z.ZodDefault<z.ZodBoolean>;
8
+ signed: z.ZodDefault<z.ZodBoolean>;
9
+ rolling: z.ZodDefault<z.ZodBoolean>;
10
+ renew: z.ZodDefault<z.ZodBoolean>;
11
+ secure: z.ZodOptional<z.ZodBoolean>;
12
+ sameSite: z.ZodOptional<z.ZodString>;
13
+ externalKey: z.ZodOptional<z.ZodObject<{
14
+ get: z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>;
15
+ set: z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodString], z.ZodUnknown>, z.ZodVoid>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ set: (args_0: any, args_1: string, ...args: unknown[]) => void;
18
+ get: (args_0: any, ...args: unknown[]) => string;
19
+ }, {
20
+ set: (args_0: any, args_1: string, ...args: unknown[]) => void;
21
+ get: (args_0: any, ...args: unknown[]) => string;
22
+ }>>;
23
+ store: z.ZodOptional<z.ZodObject<{
24
+ get: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodNumber, z.ZodObject<{
25
+ rolling: z.ZodBoolean;
26
+ ctx: z.ZodAny;
27
+ }, "strip", z.ZodTypeAny, {
28
+ rolling: boolean;
29
+ ctx?: any;
30
+ }, {
31
+ rolling: boolean;
32
+ ctx?: any;
33
+ }>], z.ZodUnknown>, z.ZodPromise<z.ZodAny>>;
34
+ set: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodAny, z.ZodNumber, z.ZodObject<{
35
+ rolling: z.ZodBoolean;
36
+ changed: z.ZodBoolean;
37
+ ctx: z.ZodAny;
38
+ }, "strip", z.ZodTypeAny, {
39
+ rolling: boolean;
40
+ changed: boolean;
41
+ ctx?: any;
42
+ }, {
43
+ rolling: boolean;
44
+ changed: boolean;
45
+ ctx?: any;
46
+ }>], z.ZodUnknown>, z.ZodPromise<z.ZodVoid>>;
47
+ destroy: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodObject<{
48
+ ctx: z.ZodAny;
49
+ }, "strip", z.ZodTypeAny, {
50
+ ctx?: any;
51
+ }, {
52
+ ctx?: any;
53
+ }>], z.ZodUnknown>, z.ZodPromise<z.ZodVoid>>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ set: (args_0: string, args_1: any, args_2: number, args_3: {
56
+ rolling: boolean;
57
+ changed: boolean;
58
+ ctx?: any;
59
+ }, ...args: unknown[]) => Promise<void>;
60
+ get: (args_0: string, args_1: number, args_2: {
61
+ rolling: boolean;
62
+ ctx?: any;
63
+ }, ...args: unknown[]) => Promise<any>;
64
+ destroy: (args_0: string, args_1: {
65
+ ctx?: any;
66
+ }, ...args: unknown[]) => Promise<void>;
67
+ }, {
68
+ set: (args_0: string, args_1: any, args_2: number, args_3: {
69
+ rolling: boolean;
70
+ changed: boolean;
71
+ ctx?: any;
72
+ }, ...args: unknown[]) => Promise<void>;
73
+ get: (args_0: string, args_1: number, args_2: {
74
+ rolling: boolean;
75
+ ctx?: any;
76
+ }, ...args: unknown[]) => Promise<any>;
77
+ destroy: (args_0: string, args_1: {
78
+ ctx?: any;
79
+ }, ...args: unknown[]) => Promise<void>;
80
+ }>>;
81
+ ContextStore: z.ZodOptional<z.ZodAny>;
82
+ encode: z.ZodDefault<z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>>>;
83
+ decode: z.ZodDefault<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodAny>>;
84
+ genid: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>>;
85
+ prefix: z.ZodOptional<z.ZodString>;
86
+ valid: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
87
+ beforeSave: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodVoid>>;
88
+ } & {
89
+ logValue: z.ZodDefault<z.ZodBoolean>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ signed: boolean;
92
+ overwrite: boolean;
93
+ logValue: boolean;
94
+ key: string;
95
+ autoCommit: boolean;
96
+ httpOnly: boolean;
97
+ rolling: boolean;
98
+ renew: boolean;
99
+ encode: (args_0: any, ...args: unknown[]) => string;
100
+ decode: (args_0: string, ...args: unknown[]) => any;
101
+ secure?: boolean | undefined;
102
+ prefix?: string | undefined;
103
+ sameSite?: string | undefined;
104
+ maxAge?: number | "session" | undefined;
105
+ externalKey?: {
106
+ set: (args_0: any, args_1: string, ...args: unknown[]) => void;
107
+ get: (args_0: any, ...args: unknown[]) => string;
108
+ } | undefined;
109
+ store?: {
110
+ set: (args_0: string, args_1: any, args_2: number, args_3: {
111
+ rolling: boolean;
112
+ changed: boolean;
113
+ ctx?: any;
114
+ }, ...args: unknown[]) => Promise<void>;
115
+ get: (args_0: string, args_1: number, args_2: {
116
+ rolling: boolean;
117
+ ctx?: any;
118
+ }, ...args: unknown[]) => Promise<any>;
119
+ destroy: (args_0: string, args_1: {
120
+ ctx?: any;
121
+ }, ...args: unknown[]) => Promise<void>;
122
+ } | undefined;
123
+ ContextStore?: any;
124
+ genid?: ((args_0: any, ...args: unknown[]) => string) | undefined;
125
+ valid?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
126
+ beforeSave?: ((args_0: any, args_1: any, ...args: unknown[]) => void) | undefined;
127
+ }, {
128
+ secure?: boolean | undefined;
129
+ prefix?: string | undefined;
130
+ signed?: boolean | undefined;
131
+ overwrite?: boolean | undefined;
132
+ sameSite?: string | undefined;
133
+ logValue?: boolean | undefined;
134
+ key?: string | undefined;
135
+ maxAge?: number | "session" | undefined;
136
+ autoCommit?: boolean | undefined;
137
+ httpOnly?: boolean | undefined;
138
+ rolling?: boolean | undefined;
139
+ renew?: boolean | undefined;
140
+ externalKey?: {
141
+ set: (args_0: any, args_1: string, ...args: unknown[]) => void;
142
+ get: (args_0: any, ...args: unknown[]) => string;
143
+ } | undefined;
144
+ store?: {
145
+ set: (args_0: string, args_1: any, args_2: number, args_3: {
146
+ rolling: boolean;
147
+ changed: boolean;
148
+ ctx?: any;
149
+ }, ...args: unknown[]) => Promise<void>;
150
+ get: (args_0: string, args_1: number, args_2: {
151
+ rolling: boolean;
152
+ ctx?: any;
153
+ }, ...args: unknown[]) => Promise<any>;
154
+ destroy: (args_0: string, args_1: {
155
+ ctx?: any;
156
+ }, ...args: unknown[]) => Promise<void>;
157
+ } | undefined;
158
+ ContextStore?: any;
159
+ encode?: ((args_0: any, ...args: unknown[]) => string) | undefined;
160
+ decode?: ((args_0: string, ...args: unknown[]) => any) | undefined;
161
+ genid?: ((args_0: any, ...args: unknown[]) => string) | undefined;
162
+ valid?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
163
+ beforeSave?: ((args_0: any, args_1: any, ...args: unknown[]) => void) | undefined;
164
+ }>;
165
+ export type SessionConfig = z.infer<typeof SessionConfig>;
166
+ declare const _default: {
167
+ session: {
168
+ signed: boolean;
169
+ overwrite: boolean;
170
+ logValue: boolean;
171
+ key: string;
172
+ autoCommit: boolean;
173
+ httpOnly: boolean;
174
+ rolling: boolean;
175
+ renew: boolean;
176
+ encode: (args_0: any, ...args: unknown[]) => string;
177
+ decode: (args_0: string, ...args: unknown[]) => any;
178
+ secure?: boolean | undefined;
179
+ prefix?: string | undefined;
180
+ sameSite?: string | undefined;
181
+ maxAge?: number | "session" | undefined;
182
+ externalKey?: {
183
+ set: (args_0: any, args_1: string, ...args: unknown[]) => void;
184
+ get: (args_0: any, ...args: unknown[]) => string;
185
+ } | undefined;
186
+ store?: {
187
+ set: (args_0: string, args_1: any, args_2: number, args_3: {
188
+ rolling: boolean;
189
+ changed: boolean;
190
+ ctx?: any;
191
+ }, ...args: unknown[]) => Promise<void>;
192
+ get: (args_0: string, args_1: number, args_2: {
193
+ rolling: boolean;
194
+ ctx?: any;
195
+ }, ...args: unknown[]) => Promise<any>;
196
+ destroy: (args_0: string, args_1: {
197
+ ctx?: any;
198
+ }, ...args: unknown[]) => Promise<void>;
199
+ } | undefined;
200
+ ContextStore?: any;
201
+ genid?: ((args_0: any, ...args: unknown[]) => string) | undefined;
202
+ valid?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
203
+ beforeSave?: ((args_0: any, args_1: any, ...args: unknown[]) => void) | undefined;
204
+ };
205
+ };
206
+ export default _default;
@@ -1,3 +1,14 @@
1
- import { SessionConfig, config_default_default } from "../config.default-B6ogFpca.js";
2
-
3
- export { SessionConfig, config_default_default as default };
1
+ import z from 'zod';
2
+ import { SessionOptions } from 'koa-session';
3
+ export const SessionConfig = SessionOptions.extend({
4
+ logValue: z.boolean().default(true),
5
+ });
6
+ export default {
7
+ session: SessionConfig.parse({
8
+ maxAge: 24 * 3600 * 1000, // ms, one day
9
+ key: 'EGG_SESS',
10
+ httpOnly: true,
11
+ encrypt: true,
12
+ }),
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUNwQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ2pELFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUNwQyxDQUFDLENBQUM7QUFJSCxlQUFlO0lBQ2IsT0FBTyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDM0IsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxFQUFFLGNBQWM7UUFDeEMsR0FBRyxFQUFFLFVBQVU7UUFDZixRQUFRLEVBQUUsSUFBSTtRQUNkLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQztDQUNILENBQUMifQ==
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { SessionConfig } from "./config.default-DZBEY1o7.js";
2
- import "./application-DXD5_ZB9.js";
3
- import "./types-C7PNACny.js";
4
- export { SessionConfig };
1
+ import './config/config.default.ts';
2
+ import './app/extend/application.ts';
3
+ import './types.ts';
4
+ export * from './config/config.default.ts';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { SessionConfig } from "./config.default-B6ogFpca.js";
2
- import "./application-D-OUDikL.js";
3
- import "./types-DQoXDiso.js";
4
-
5
- export { SessionConfig };
1
+ import "./config/config.default.js";
2
+ import "./app/extend/application.js";
3
+ import "./types.js";
4
+ export * from "./config/config.default.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sWUFBWSxDQUFDO0FBRXBCLGNBQWMsNEJBQTRCLENBQUMifQ==
package/dist/types.d.ts CHANGED
@@ -1,3 +1,11 @@
1
- import "./config.default-DZBEY1o7.js";
2
- import "./application-DXD5_ZB9.js";
3
- import "./types-C7PNACny.js";
1
+ import type { SessionConfig } from './config/config.default.ts';
2
+ import type { SessionStoreOrAppSessionStoreClass, SessionStore } from './app/extend/application.ts';
3
+ declare module 'egg' {
4
+ interface EggAppConfig {
5
+ session: SessionConfig;
6
+ }
7
+ interface Application {
8
+ set sessionStore(store: SessionStoreOrAppSessionStoreClass | null | undefined);
9
+ get sessionStore(): SessionStore | undefined;
10
+ }
11
+ }
package/dist/types.js CHANGED
@@ -1,3 +1,2 @@
1
- import "./types-DQoXDiso.js";
2
-
3
- export { };
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/session",
3
- "version": "5.0.0-beta.20",
3
+ "version": "5.0.0-beta.21",
4
4
  "description": "session plugin for egg",
5
5
  "eggPlugin": {
6
6
  "name": "session"
@@ -43,7 +43,7 @@
43
43
  "zod": "^3.24.1"
44
44
  },
45
45
  "peerDependencies": {
46
- "egg": "4.1.0-beta.20"
46
+ "egg": "4.1.0-beta.21"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@eggjs/redis": "^3.0.0",
@@ -51,9 +51,9 @@
51
51
  "tsdown": "^0.15.4",
52
52
  "typescript": "^5.9.3",
53
53
  "vitest": "4.0.0-beta.16",
54
- "@eggjs/mock": "7.0.0-beta.20",
55
- "@eggjs/supertest": "9.0.0-beta.20",
56
- "@eggjs/tsconfig": "3.1.0-beta.20"
54
+ "@eggjs/mock": "7.0.0-beta.21",
55
+ "@eggjs/supertest": "9.0.0-beta.21",
56
+ "@eggjs/tsconfig": "3.1.0-beta.21"
57
57
  },
58
58
  "files": [
59
59
  "dist"
@@ -62,7 +62,7 @@
62
62
  "module": "./dist/index.js",
63
63
  "types": "./dist/index.d.ts",
64
64
  "scripts": {
65
- "build": "tsdown",
65
+ "build": "tsdown && rimraf dist && tsc -b --clean && tsc",
66
66
  "typecheck": "tsc --noEmit",
67
67
  "lint": "oxlint --type-aware",
68
68
  "lint:fix": "npm run lint -- --fix",
@@ -1,48 +0,0 @@
1
- import assert from "node:assert";
2
- import { Application } from "egg";
3
-
4
- //#region src/app/extend/application.ts
5
- var SessionApplication = class extends Application {
6
- /**
7
- * set session external store
8
- *
9
- * ```js
10
- * app.sessionStore = {
11
- * get(key): Promise<unknown>,
12
- * set(key, data): Promise<void>,
13
- * destroy(key): Promise<void>,
14
- * };
15
- *
16
- * app.sessionStore = class SessionStore {
17
- * constructor(app) {
18
- * }
19
- * get(key): Promise<unknown>,
20
- * set(key, data): Promise<void>,
21
- * destroy(key): Promise<void>,
22
- * }
23
- * ```
24
- * @param {Class|Object} store session store class or instance
25
- */
26
- set sessionStore(store) {
27
- if (this.config.session.store && this.config.env !== "unittest") this.coreLogger.warn("[@eggjs/session] sessionStore already exists and will be overwrite");
28
- if (!store) {
29
- this.config.session.store = void 0;
30
- this.coreLogger.info("[@eggjs/session] sessionStore is disabled");
31
- return;
32
- }
33
- if (typeof store === "function") store = new store(this);
34
- assert(typeof store.get === "function", "store.get must be function");
35
- assert(typeof store.set === "function", "store.set must be function");
36
- assert(typeof store.destroy === "function", "store.destroy must be function");
37
- this.config.session.store = store;
38
- }
39
- /**
40
- * get sessionStore instance
41
- */
42
- get sessionStore() {
43
- return this.config.session.store;
44
- }
45
- };
46
-
47
- //#endregion
48
- export { SessionApplication };
@@ -1,37 +0,0 @@
1
- import { SessionConfig } from "./config.default-DZBEY1o7.js";
2
- import { Application } from "egg";
3
-
4
- //#region src/app/extend/application.d.ts
5
- type SessionStore = Required<SessionConfig>['store'];
6
- type SessionStoreOrAppSessionStoreClass = SessionStore | {
7
- new (app: Application): SessionStore;
8
- };
9
- declare class SessionApplication extends Application {
10
- /**
11
- * set session external store
12
- *
13
- * ```js
14
- * app.sessionStore = {
15
- * get(key): Promise<unknown>,
16
- * set(key, data): Promise<void>,
17
- * destroy(key): Promise<void>,
18
- * };
19
- *
20
- * app.sessionStore = class SessionStore {
21
- * constructor(app) {
22
- * }
23
- * get(key): Promise<unknown>,
24
- * set(key, data): Promise<void>,
25
- * destroy(key): Promise<void>,
26
- * }
27
- * ```
28
- * @param {Class|Object} store session store class or instance
29
- */
30
- set sessionStore(store: SessionStoreOrAppSessionStoreClass | null | undefined);
31
- /**
32
- * get sessionStore instance
33
- */
34
- get sessionStore(): SessionStore | undefined;
35
- }
36
- //#endregion
37
- export { SessionApplication, SessionStore, SessionStoreOrAppSessionStoreClass };
@@ -1,14 +0,0 @@
1
- import z from "zod";
2
- import { SessionOptions } from "koa-session";
3
-
4
- //#region src/config/config.default.ts
5
- const SessionConfig = SessionOptions.extend({ logValue: z.boolean().default(true) });
6
- var config_default_default = { session: SessionConfig.parse({
7
- maxAge: 24 * 3600 * 1e3,
8
- key: "EGG_SESS",
9
- httpOnly: true,
10
- encrypt: true
11
- }) };
12
-
13
- //#endregion
14
- export { SessionConfig, config_default_default };
@@ -1,209 +0,0 @@
1
- import z from "zod";
2
-
3
- //#region src/config/config.default.d.ts
4
- declare const SessionConfig: z.ZodObject<{
5
- key: z.ZodDefault<z.ZodString>;
6
- maxAge: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"session">]>>;
7
- autoCommit: z.ZodDefault<z.ZodBoolean>;
8
- overwrite: z.ZodDefault<z.ZodBoolean>;
9
- httpOnly: z.ZodDefault<z.ZodBoolean>;
10
- signed: z.ZodDefault<z.ZodBoolean>;
11
- rolling: z.ZodDefault<z.ZodBoolean>;
12
- renew: z.ZodDefault<z.ZodBoolean>;
13
- secure: z.ZodOptional<z.ZodBoolean>;
14
- sameSite: z.ZodOptional<z.ZodString>;
15
- externalKey: z.ZodOptional<z.ZodObject<{
16
- get: z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>;
17
- set: z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodString], z.ZodUnknown>, z.ZodVoid>;
18
- }, "strip", z.ZodTypeAny, {
19
- set: (args_0: any, args_1: string, ...args: unknown[]) => void;
20
- get: (args_0: any, ...args: unknown[]) => string;
21
- }, {
22
- set: (args_0: any, args_1: string, ...args: unknown[]) => void;
23
- get: (args_0: any, ...args: unknown[]) => string;
24
- }>>;
25
- store: z.ZodOptional<z.ZodObject<{
26
- get: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodNumber, z.ZodObject<{
27
- rolling: z.ZodBoolean;
28
- ctx: z.ZodAny;
29
- }, "strip", z.ZodTypeAny, {
30
- rolling: boolean;
31
- ctx?: any;
32
- }, {
33
- rolling: boolean;
34
- ctx?: any;
35
- }>], z.ZodUnknown>, z.ZodPromise<z.ZodAny>>;
36
- set: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodAny, z.ZodNumber, z.ZodObject<{
37
- rolling: z.ZodBoolean;
38
- changed: z.ZodBoolean;
39
- ctx: z.ZodAny;
40
- }, "strip", z.ZodTypeAny, {
41
- rolling: boolean;
42
- changed: boolean;
43
- ctx?: any;
44
- }, {
45
- rolling: boolean;
46
- changed: boolean;
47
- ctx?: any;
48
- }>], z.ZodUnknown>, z.ZodPromise<z.ZodVoid>>;
49
- destroy: z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodObject<{
50
- ctx: z.ZodAny;
51
- }, "strip", z.ZodTypeAny, {
52
- ctx?: any;
53
- }, {
54
- ctx?: any;
55
- }>], z.ZodUnknown>, z.ZodPromise<z.ZodVoid>>;
56
- }, "strip", z.ZodTypeAny, {
57
- set: (args_0: string, args_1: any, args_2: number, args_3: {
58
- rolling: boolean;
59
- changed: boolean;
60
- ctx?: any;
61
- }, ...args: unknown[]) => Promise<void>;
62
- get: (args_0: string, args_1: number, args_2: {
63
- rolling: boolean;
64
- ctx?: any;
65
- }, ...args: unknown[]) => Promise<any>;
66
- destroy: (args_0: string, args_1: {
67
- ctx?: any;
68
- }, ...args: unknown[]) => Promise<void>;
69
- }, {
70
- set: (args_0: string, args_1: any, args_2: number, args_3: {
71
- rolling: boolean;
72
- changed: boolean;
73
- ctx?: any;
74
- }, ...args: unknown[]) => Promise<void>;
75
- get: (args_0: string, args_1: number, args_2: {
76
- rolling: boolean;
77
- ctx?: any;
78
- }, ...args: unknown[]) => Promise<any>;
79
- destroy: (args_0: string, args_1: {
80
- ctx?: any;
81
- }, ...args: unknown[]) => Promise<void>;
82
- }>>;
83
- ContextStore: z.ZodOptional<z.ZodAny>;
84
- encode: z.ZodDefault<z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>>>;
85
- decode: z.ZodDefault<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodAny>>;
86
- genid: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodString>>;
87
- prefix: z.ZodOptional<z.ZodString>;
88
- valid: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodAny>>;
89
- beforeSave: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny, z.ZodAny], z.ZodUnknown>, z.ZodVoid>>;
90
- } & {
91
- logValue: z.ZodDefault<z.ZodBoolean>;
92
- }, "strip", z.ZodTypeAny, {
93
- logValue: boolean;
94
- key: string;
95
- autoCommit: boolean;
96
- overwrite: boolean;
97
- httpOnly: boolean;
98
- signed: boolean;
99
- rolling: boolean;
100
- renew: boolean;
101
- encode: (args_0: any, ...args: unknown[]) => string;
102
- decode: (args_0: string, ...args: unknown[]) => any;
103
- maxAge?: number | "session" | undefined;
104
- secure?: boolean | undefined;
105
- sameSite?: string | undefined;
106
- externalKey?: {
107
- set: (args_0: any, args_1: string, ...args: unknown[]) => void;
108
- get: (args_0: any, ...args: unknown[]) => string;
109
- } | undefined;
110
- store?: {
111
- set: (args_0: string, args_1: any, args_2: number, args_3: {
112
- rolling: boolean;
113
- changed: boolean;
114
- ctx?: any;
115
- }, ...args: unknown[]) => Promise<void>;
116
- get: (args_0: string, args_1: number, args_2: {
117
- rolling: boolean;
118
- ctx?: any;
119
- }, ...args: unknown[]) => Promise<any>;
120
- destroy: (args_0: string, args_1: {
121
- ctx?: any;
122
- }, ...args: unknown[]) => Promise<void>;
123
- } | undefined;
124
- ContextStore?: any;
125
- genid?: ((args_0: any, ...args: unknown[]) => string) | undefined;
126
- prefix?: string | undefined;
127
- valid?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
128
- beforeSave?: ((args_0: any, args_1: any, ...args: unknown[]) => void) | undefined;
129
- }, {
130
- logValue?: boolean | undefined;
131
- key?: string | undefined;
132
- maxAge?: number | "session" | undefined;
133
- autoCommit?: boolean | undefined;
134
- overwrite?: boolean | undefined;
135
- httpOnly?: boolean | undefined;
136
- signed?: boolean | undefined;
137
- rolling?: boolean | undefined;
138
- renew?: boolean | undefined;
139
- secure?: boolean | undefined;
140
- sameSite?: string | undefined;
141
- externalKey?: {
142
- set: (args_0: any, args_1: string, ...args: unknown[]) => void;
143
- get: (args_0: any, ...args: unknown[]) => string;
144
- } | undefined;
145
- store?: {
146
- set: (args_0: string, args_1: any, args_2: number, args_3: {
147
- rolling: boolean;
148
- changed: boolean;
149
- ctx?: any;
150
- }, ...args: unknown[]) => Promise<void>;
151
- get: (args_0: string, args_1: number, args_2: {
152
- rolling: boolean;
153
- ctx?: any;
154
- }, ...args: unknown[]) => Promise<any>;
155
- destroy: (args_0: string, args_1: {
156
- ctx?: any;
157
- }, ...args: unknown[]) => Promise<void>;
158
- } | undefined;
159
- ContextStore?: any;
160
- encode?: ((args_0: any, ...args: unknown[]) => string) | undefined;
161
- decode?: ((args_0: string, ...args: unknown[]) => any) | undefined;
162
- genid?: ((args_0: any, ...args: unknown[]) => string) | undefined;
163
- prefix?: string | undefined;
164
- valid?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
165
- beforeSave?: ((args_0: any, args_1: any, ...args: unknown[]) => void) | undefined;
166
- }>;
167
- type SessionConfig = z.infer<typeof SessionConfig>;
168
- declare const _default: {
169
- session: {
170
- logValue: boolean;
171
- key: string;
172
- autoCommit: boolean;
173
- overwrite: boolean;
174
- httpOnly: boolean;
175
- signed: boolean;
176
- rolling: boolean;
177
- renew: boolean;
178
- encode: (args_0: any, ...args: unknown[]) => string;
179
- decode: (args_0: string, ...args: unknown[]) => any;
180
- maxAge?: number | "session" | undefined;
181
- secure?: boolean | undefined;
182
- sameSite?: string | undefined;
183
- externalKey?: {
184
- set: (args_0: any, args_1: string, ...args: unknown[]) => void;
185
- get: (args_0: any, ...args: unknown[]) => string;
186
- } | undefined;
187
- store?: {
188
- set: (args_0: string, args_1: any, args_2: number, args_3: {
189
- rolling: boolean;
190
- changed: boolean;
191
- ctx?: any;
192
- }, ...args: unknown[]) => Promise<void>;
193
- get: (args_0: string, args_1: number, args_2: {
194
- rolling: boolean;
195
- ctx?: any;
196
- }, ...args: unknown[]) => Promise<any>;
197
- destroy: (args_0: string, args_1: {
198
- ctx?: any;
199
- }, ...args: unknown[]) => Promise<void>;
200
- } | undefined;
201
- ContextStore?: any;
202
- genid?: ((args_0: any, ...args: unknown[]) => string) | undefined;
203
- prefix?: string | undefined;
204
- valid?: ((args_0: any, args_1: any, ...args: unknown[]) => any) | undefined;
205
- beforeSave?: ((args_0: any, args_1: any, ...args: unknown[]) => void) | undefined;
206
- };
207
- };
208
- //#endregion
209
- export { SessionConfig, _default };
@@ -1,13 +0,0 @@
1
- import { SessionConfig } from "./config.default-DZBEY1o7.js";
2
- import { SessionStore, SessionStoreOrAppSessionStoreClass } from "./application-DXD5_ZB9.js";
3
-
4
- //#region src/types.d.ts
5
- declare module 'egg' {
6
- interface EggAppConfig {
7
- session: SessionConfig;
8
- }
9
- interface Application {
10
- set sessionStore(store: SessionStoreOrAppSessionStoreClass | null | undefined);
11
- get sessionStore(): SessionStore | undefined;
12
- }
13
- }
@@ -1 +0,0 @@
1
- export { };