egg 4.1.0-beta.3 → 4.1.0-beta.30

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.
Files changed (88) hide show
  1. package/dist/agent.d.ts +3 -7
  2. package/dist/agent.js +6 -10
  3. package/dist/app/extend/context.d.ts +166 -193
  4. package/dist/app/extend/context.js +259 -244
  5. package/dist/app/extend/helper.d.ts +31 -36
  6. package/dist/app/extend/helper.js +41 -45
  7. package/dist/app/extend/request.d.ts +127 -140
  8. package/dist/app/extend/request.js +258 -219
  9. package/dist/app/extend/response.d.ts +22 -32
  10. package/dist/app/extend/response.js +34 -36
  11. package/dist/app/middleware/body_parser.d.ts +2 -2
  12. package/dist/app/middleware/body_parser.js +3 -7
  13. package/dist/app/middleware/meta.d.ts +9 -10
  14. package/dist/app/middleware/meta.js +19 -13
  15. package/dist/app/middleware/notfound.d.ts +6 -10
  16. package/dist/app/middleware/notfound.js +28 -25
  17. package/dist/app/middleware/override_method.d.ts +2 -2
  18. package/dist/app/middleware/override_method.js +3 -7
  19. package/dist/app/middleware/site_file.d.ts +8 -12
  20. package/dist/app/middleware/site_file.js +52 -37
  21. package/dist/config/config.default.d.ts +3 -8
  22. package/dist/config/config.default.js +377 -256
  23. package/dist/config/config.local.d.ts +3 -10
  24. package/dist/config/config.local.js +7 -6
  25. package/dist/config/config.unittest.d.ts +3 -9
  26. package/dist/config/config.unittest.js +7 -9
  27. package/dist/config/favicon.png +0 -0
  28. package/dist/config/plugin.d.ts +3 -124
  29. package/dist/config/plugin.js +162 -53
  30. package/dist/index.d.ts +84 -19
  31. package/dist/index.js +87 -19
  32. package/dist/lib/agent.d.ts +12 -17
  33. package/dist/lib/agent.js +45 -54
  34. package/dist/lib/application.d.ts +47 -62
  35. package/dist/lib/application.js +249 -197
  36. package/dist/lib/core/base_context_class.d.ts +13 -17
  37. package/dist/lib/core/base_context_class.js +15 -17
  38. package/dist/lib/core/base_context_logger.d.ts +35 -39
  39. package/dist/lib/core/base_context_logger.js +60 -58
  40. package/dist/lib/core/base_hook_class.d.ts +11 -17
  41. package/dist/lib/core/base_hook_class.js +22 -26
  42. package/dist/lib/core/context_httpclient.d.ts +16 -20
  43. package/dist/lib/core/context_httpclient.js +26 -29
  44. package/dist/lib/core/httpclient.d.ts +12 -15
  45. package/dist/lib/core/httpclient.js +37 -34
  46. package/dist/lib/core/logger.d.ts +3 -7
  47. package/dist/lib/core/logger.js +36 -30
  48. package/dist/lib/core/messenger/IMessenger.d.ts +49 -53
  49. package/dist/lib/core/messenger/IMessenger.js +2 -1
  50. package/dist/lib/core/messenger/base.d.ts +7 -11
  51. package/dist/lib/core/messenger/base.js +29 -29
  52. package/dist/lib/core/messenger/index.d.ts +4 -8
  53. package/dist/lib/core/messenger/index.js +8 -11
  54. package/dist/lib/core/messenger/ipc.d.ts +55 -59
  55. package/dist/lib/core/messenger/ipc.js +138 -120
  56. package/dist/lib/core/messenger/local.d.ts +56 -61
  57. package/dist/lib/core/messenger/local.js +131 -124
  58. package/dist/lib/core/utils.d.ts +2 -5
  59. package/dist/lib/core/utils.js +66 -44
  60. package/dist/lib/egg.d.ts +272 -294
  61. package/dist/lib/egg.js +574 -507
  62. package/dist/lib/error/CookieLimitExceedError.d.ts +4 -7
  63. package/dist/lib/error/CookieLimitExceedError.js +12 -15
  64. package/dist/lib/error/MessageUnhandledRejectionError.d.ts +4 -7
  65. package/dist/lib/error/MessageUnhandledRejectionError.js +12 -15
  66. package/dist/lib/error/index.d.ts +2 -3
  67. package/dist/lib/error/index.js +3 -4
  68. package/dist/lib/loader/AgentWorkerLoader.d.ts +7 -12
  69. package/dist/lib/loader/AgentWorkerLoader.js +18 -22
  70. package/dist/lib/loader/AppWorkerLoader.d.ts +12 -17
  71. package/dist/lib/loader/AppWorkerLoader.js +37 -35
  72. package/dist/lib/loader/EggApplicationLoader.d.ts +3 -7
  73. package/dist/lib/loader/EggApplicationLoader.js +4 -7
  74. package/dist/lib/loader/index.d.ts +3 -4
  75. package/dist/lib/loader/index.js +4 -5
  76. package/dist/lib/start.d.ts +18 -22
  77. package/dist/lib/start.js +42 -32
  78. package/dist/lib/types.d.ts +309 -230
  79. package/dist/lib/types.js +31 -14
  80. package/dist/lib/types.plugin.d.ts +21 -0
  81. package/dist/lib/types.plugin.js +24 -0
  82. package/dist/schedule.d.ts +2 -0
  83. package/dist/schedule.js +5 -0
  84. package/dist/urllib.d.ts +1 -1
  85. package/dist/urllib.js +2 -3
  86. package/package.json +42 -32
  87. package/dist/lib/utils.d.ts +0 -5
  88. package/dist/lib/utils.js +0 -14
@@ -1,19 +1,17 @@
1
- import { CookieLimitExceedError } from "./error/CookieLimitExceedError.js";
1
+ import path from 'node:path';
2
+ import fs from 'node:fs';
3
+ import http from 'node:http';
4
+ import { Socket } from 'node:net';
5
+ import { graceful } from 'graceful';
6
+ import { assign } from 'utility';
7
+ import { utils as eggUtils } from '@eggjs/core';
8
+ import { isGeneratorFunction } from 'is-type-of';
2
9
  import { EggApplicationCore } from "./egg.js";
3
- import { AppWorkerLoader } from "./loader/AppWorkerLoader.js";
4
- import "./loader/index.js";
10
+ import { AppWorkerLoader } from "./loader/index.js";
5
11
  import Helper from "../app/extend/helper.js";
6
- import { utils } from "@eggjs/core";
7
- import path from "node:path";
8
- import { assign } from "utility";
9
- import fs from "node:fs";
10
- import http from "node:http";
11
- import { isGeneratorFunction } from "is-type-of";
12
- import { Socket } from "node:net";
13
- import { graceful } from "graceful";
14
-
15
- //#region src/lib/application.ts
16
- const EGG_LOADER = Symbol.for("egg#loader");
12
+ import { CookieLimitExceedError } from "./error/index.js";
13
+ // client error => 400 Bad Request
14
+ // Refs: https://nodejs.org/dist/latest-v8.x/docs/api/http.html#http_event_clienterror
17
15
  const DEFAULT_BAD_REQUEST_HTML = `<html>
18
16
  <head><title>400 Bad Request</title></head>
19
17
  <body bgcolor="white">
@@ -21,189 +19,243 @@ const DEFAULT_BAD_REQUEST_HTML = `<html>
21
19
  <hr><center>❤</center>
22
20
  </body>
23
21
  </html>`;
24
- const DEFAULT_BAD_REQUEST_RESPONSE = `HTTP/1.1 400 Bad Request\r\nContent-Length: ${Buffer.byteLength(DEFAULT_BAD_REQUEST_HTML)}\r\n\r\n${DEFAULT_BAD_REQUEST_HTML}`;
22
+ const DEFAULT_BAD_REQUEST_HTML_LENGTH = Buffer.byteLength(DEFAULT_BAD_REQUEST_HTML);
23
+ const DEFAULT_BAD_REQUEST_RESPONSE = `HTTP/1.1 400 Bad Request\r\nContent-Length: ${DEFAULT_BAD_REQUEST_HTML_LENGTH}` +
24
+ `\r\n\r\n${DEFAULT_BAD_REQUEST_HTML}`;
25
+ // Refs: https://github.com/nodejs/node/blob/b38c81/lib/_http_outgoing.js#L706-L710
25
26
  function escapeHeaderValue(value) {
26
- return /[\r\n]/.test(value) ? value.replace(/[\r\n]+[ \t]*/g, "") : value;
27
+ // Protect against response splitting. The regex test is there to
28
+ // minimize the performance impact in the common case.
29
+ return /[\r\n]/.test(value) ? value.replace(/[\r\n]+[ \t]*/g, '') : value;
27
30
  }
28
31
  /**
29
- * Singleton instance in App Worker, extend {@link EggApplicationCore}
30
- * @augments EggApplicationCore
31
- */
32
- var Application = class extends EggApplicationCore {
33
- server;
34
- #locals = {};
35
- /**
36
- * reference to {@link Helper}
37
- * @member {Helper} Application#Helper
38
- */
39
- Helper = Helper;
40
- /**
41
- * @class
42
- * @param {Object} options - see {@link EggApplicationCore}
43
- */
44
- constructor(options) {
45
- super({
46
- ...options,
47
- type: "application"
48
- });
49
- }
50
- async load() {
51
- await super.load();
52
- this.#warnConfusedConfig();
53
- this.#bindEvents();
54
- }
55
- get [EGG_LOADER]() {
56
- return AppWorkerLoader;
57
- }
58
- #responseRaw(socket, raw) {
59
- if (!socket?.writable) return;
60
- if (!raw) return socket.end(DEFAULT_BAD_REQUEST_RESPONSE);
61
- const body = raw.body == null ? DEFAULT_BAD_REQUEST_HTML : raw.body;
62
- const headers = raw.headers || {};
63
- const status = raw.status || 400;
64
- let responseHeaderLines = "";
65
- const firstLine = `HTTP/1.1 ${status} ${http.STATUS_CODES[status] || "Unknown"}`;
66
- for (const key of Object.keys(headers)) {
67
- if (key.toLowerCase() === "content-length") {
68
- delete headers[key];
69
- continue;
70
- }
71
- responseHeaderLines += `${key}: ${escapeHeaderValue(headers[key])}\r\n`;
72
- }
73
- responseHeaderLines += `Content-Length: ${Buffer.byteLength(body)}\r\n`;
74
- socket.end(`${firstLine}\r\n${responseHeaderLines}\r\n${body.toString()}`);
75
- }
76
- onClientError(err, socket) {
77
- if (err.rawPacket) this.logger.warn("[egg:application] A client (%s:%d) error [%s] occurred: %s", socket.remoteAddress, socket.remotePort, err.code, err.message);
78
- if (typeof this.config.onClientError === "function") utils.callFn(this.config.onClientError, [
79
- err,
80
- socket,
81
- this
82
- ]).then((ret) => {
83
- this.#responseRaw(socket, ret || {});
84
- }).catch((err$1) => {
85
- this.logger.error(err$1);
86
- this.#responseRaw(socket);
87
- });
88
- else this.#responseRaw(socket);
89
- }
90
- onServer(server) {
91
- this.server = server;
92
- const serverGracefulIgnoreCode = this.config.serverGracefulIgnoreCode || [];
93
- graceful({
94
- server: [server],
95
- error: (err, throwErrorCount) => {
96
- const originMessage = err.message;
97
- if (originMessage) Object.defineProperty(err, "message", {
98
- get() {
99
- return `${originMessage} (uncaughtException throw ${throwErrorCount} times on pid: ${process.pid})`;
100
- },
101
- configurable: true,
102
- enumerable: false
103
- });
104
- this.coreLogger.error(err);
105
- },
106
- ignoreCode: serverGracefulIgnoreCode
107
- });
108
- server.on("clientError", (err, socket) => this.onClientError(err, socket));
109
- if (typeof this.config.serverTimeout === "number") server.setTimeout(this.config.serverTimeout);
110
- }
111
- /**
112
- * global locals for view
113
- * @member {Object} Application#locals
114
- * @see Context#locals
115
- */
116
- get locals() {
117
- return this.#locals;
118
- }
119
- set locals(val) {
120
- assign(this.#locals, val);
121
- }
122
- /**
123
- * save routers to `run/router.json`
124
- * @private
125
- */
126
- dumpConfig() {
127
- super.dumpConfig();
128
- const rundir = this.config.rundir;
129
- const FULLPATH = this.loader.FileLoader.FULLPATH;
130
- try {
131
- const dumpRouterFile = path.join(rundir, "router.json");
132
- const routers = [];
133
- for (const layer of this.router.stack) routers.push({
134
- name: layer.name,
135
- methods: layer.methods,
136
- paramNames: layer.paramNames,
137
- path: layer.path,
138
- regexp: layer.regexp.toString(),
139
- stack: layer.stack.map((stack) => stack[FULLPATH] || stack._name || stack.name || "anonymous")
140
- });
141
- fs.writeFileSync(dumpRouterFile, JSON.stringify(routers, null, 2));
142
- } catch (err) {
143
- this.coreLogger.warn(`dumpConfig router.json error: ${err.message}`);
144
- }
145
- }
146
- /**
147
- * Run async function in the background
148
- * @see Context#runInBackground
149
- * @param {Function} scope - the first args is an anonymous ctx
150
- */
151
- runInBackground(scope, req) {
152
- const ctx = this.createAnonymousContext(req);
153
- if (!scope.name) Reflect.set(scope, "_name", utils.getCalleeFromStack(true));
154
- this.ctxStorage.run(ctx, () => {
155
- return ctx.runInBackground(scope);
156
- });
157
- }
158
- /**
159
- * secret key for Application
160
- * @member {String} Application#keys
161
- */
162
- get keys() {
163
- if (!this._keys) {
164
- if (!this.config.keys) {
165
- if (this.config.env === "local" || this.config.env === "unittest") {
166
- const configPath = path.join(this.config.baseDir, "config/config.default.js");
167
- console.error("Cookie need secret key to sign and encrypt.");
168
- console.error("Please add `config.keys` in %s", configPath);
169
- }
170
- throw new Error("Please set config.keys first");
171
- }
172
- this._keys = this.config.keys.split(",").map((s) => s.trim());
173
- }
174
- return this._keys;
175
- }
176
- /**
177
- * @deprecated keep compatible with egg 3.x
178
- */
179
- toAsyncFunction(fn) {
180
- if (isGeneratorFunction(fn)) throw new Error("Generator function is not supported");
181
- return fn;
182
- }
183
- /**
184
- * bind app's events
185
- *
186
- * @private
187
- */
188
- #bindEvents() {
189
- this.on("cookieLimitExceed", ({ name, value, ctx }) => {
190
- const err = new CookieLimitExceedError(name, value);
191
- ctx.coreLogger.error(err);
192
- });
193
- this.once("server", (server) => this.onServer(server));
194
- }
195
- /**
196
- * warn when confused configurations are present
197
- *
198
- * @private
199
- */
200
- #warnConfusedConfig() {
201
- const confusedConfigurations = this.config.confusedConfigurations;
202
- Object.keys(confusedConfigurations).forEach((key) => {
203
- if (this.config[key] !== void 0) this.logger.warn("[egg:application] Unexpected config key `%o` exists, Please use `%o` instead.", key, confusedConfigurations[key]);
204
- });
205
- }
206
- };
207
-
208
- //#endregion
209
- export { Application };
32
+ * Singleton instance in App Worker, extend {@link EggApplicationCore}
33
+ * @augments EggApplicationCore
34
+ */
35
+ export class Application extends EggApplicationCore {
36
+ // will auto set after 'server' event emit
37
+ server;
38
+ #locals = {};
39
+ /**
40
+ * reference to {@link Helper}
41
+ * @member {Helper} Application#Helper
42
+ */
43
+ Helper = Helper;
44
+ /**
45
+ * @class
46
+ * @param {Object} options - see {@link EggApplicationCore}
47
+ */
48
+ constructor(options) {
49
+ super({
50
+ ...options,
51
+ type: 'application',
52
+ });
53
+ }
54
+ customEggLoader() {
55
+ return AppWorkerLoader;
56
+ }
57
+ async load() {
58
+ await super.load();
59
+ this.#warnConfusedConfig();
60
+ this.#bindEvents();
61
+ }
62
+ #responseRaw(socket, raw) {
63
+ if (!socket?.writable)
64
+ return;
65
+ if (!raw) {
66
+ socket.end(DEFAULT_BAD_REQUEST_RESPONSE);
67
+ return;
68
+ }
69
+ const body = raw.body == null ? DEFAULT_BAD_REQUEST_HTML : raw.body;
70
+ const headers = raw.headers || {};
71
+ const status = raw.status || 400;
72
+ let responseHeaderLines = '';
73
+ const firstLine = `HTTP/1.1 ${status} ${http.STATUS_CODES[status] || 'Unknown'}`;
74
+ // Not that safe because no validation for header keys.
75
+ // Refs: https://github.com/nodejs/node/blob/b38c81/lib/_http_outgoing.js#L451
76
+ for (const key of Object.keys(headers)) {
77
+ if (key.toLowerCase() === 'content-length') {
78
+ delete headers[key];
79
+ continue;
80
+ }
81
+ responseHeaderLines += `${key}: ${escapeHeaderValue(headers[key])}\r\n`;
82
+ }
83
+ responseHeaderLines += `Content-Length: ${Buffer.byteLength(body)}\r\n`;
84
+ socket.end(`${firstLine}\r\n${responseHeaderLines}\r\n${body.toString()}`);
85
+ }
86
+ onClientError(err, socket) {
87
+ // ignore when there is no http body, it almost like an ECONNRESET
88
+ if (err.rawPacket) {
89
+ this.logger.warn('[egg:application] A client (%s:%d) error [%s] occurred: %s', socket.remoteAddress, socket.remotePort, err.code, err.message);
90
+ }
91
+ if (typeof this.config.onClientError === 'function') {
92
+ // @ts-ignore onClientError is not typed
93
+ const p = eggUtils.callFn(this.config.onClientError, [err, socket, this]);
94
+ // the returned object should be something like:
95
+ //
96
+ // {
97
+ // body: '...',
98
+ // headers: {
99
+ // ...
100
+ // },
101
+ // status: 400
102
+ // }
103
+ //
104
+ // default values:
105
+ //
106
+ // + body: ''
107
+ // + headers: {}
108
+ // + status: 400
109
+ p.then((ret) => {
110
+ this.#responseRaw(socket, ret || {});
111
+ }).catch((err) => {
112
+ this.logger.error(err);
113
+ this.#responseRaw(socket);
114
+ });
115
+ }
116
+ else {
117
+ // because it's a raw socket object, we should return the raw HTTP response
118
+ // packet.
119
+ this.#responseRaw(socket);
120
+ }
121
+ }
122
+ onServer(server) {
123
+ // expose app.server
124
+ this.server = server;
125
+ // set ignore code
126
+ const serverGracefulIgnoreCode = this.config.serverGracefulIgnoreCode || [];
127
+ graceful({
128
+ server: [server],
129
+ error: (err, throwErrorCount) => {
130
+ const originMessage = err.message;
131
+ if (originMessage) {
132
+ // shouldjs will override error property but only getter
133
+ // https://github.com/shouldjs/should.js/blob/889e22ebf19a06bc2747d24cf34b25cc00b37464/lib/assertion-error.js#L26
134
+ Object.defineProperty(err, 'message', {
135
+ get() {
136
+ return `${originMessage} (uncaughtException throw ${throwErrorCount} times on pid: ${process.pid})`;
137
+ },
138
+ configurable: true,
139
+ enumerable: false,
140
+ });
141
+ }
142
+ this.coreLogger.error(err);
143
+ },
144
+ ignoreCode: serverGracefulIgnoreCode,
145
+ });
146
+ server.on('clientError', (err, socket) => this.onClientError(err, socket));
147
+ // server timeout
148
+ if (typeof this.config.serverTimeout === 'number') {
149
+ server.setTimeout(this.config.serverTimeout);
150
+ }
151
+ }
152
+ /**
153
+ * global locals for view
154
+ * @member {Object} Application#locals
155
+ * @see Context#locals
156
+ */
157
+ get locals() {
158
+ return this.#locals;
159
+ }
160
+ set locals(val) {
161
+ assign(this.#locals, val);
162
+ }
163
+ /**
164
+ * save routers to `run/router.json`
165
+ * @private
166
+ */
167
+ dumpConfig() {
168
+ super.dumpConfig();
169
+ // dump routers to router.json
170
+ const rundir = this.config.rundir;
171
+ const FULLPATH = this.loader.FileLoader.FULLPATH;
172
+ try {
173
+ const dumpRouterFile = path.join(rundir, 'router.json');
174
+ const routers = [];
175
+ for (const layer of this.router.stack) {
176
+ routers.push({
177
+ name: layer.name,
178
+ methods: layer.methods,
179
+ paramNames: layer.paramNames,
180
+ path: layer.path,
181
+ regexp: layer.regexp.toString(),
182
+ stack: layer.stack.map((stack) => stack[FULLPATH] || stack._name || stack.name || 'anonymous'),
183
+ });
184
+ }
185
+ fs.writeFileSync(dumpRouterFile, JSON.stringify(routers, null, 2));
186
+ }
187
+ catch (err) {
188
+ this.coreLogger.warn(`dumpConfig router.json error: ${err.message}`);
189
+ }
190
+ }
191
+ /**
192
+ * Run async function in the background
193
+ * @see Context#runInBackground
194
+ * @param {Function} scope - the first args is an anonymous ctx
195
+ */
196
+ runInBackground(scope, req) {
197
+ const ctx = this.createAnonymousContext(req);
198
+ if (!scope.name) {
199
+ Reflect.set(scope, '_name', eggUtils.getCalleeFromStack(true));
200
+ }
201
+ this.ctxStorage.run(ctx, () => {
202
+ return ctx.runInBackground(scope);
203
+ });
204
+ }
205
+ /**
206
+ * secret key for Application
207
+ * @member {String} Application#keys
208
+ */
209
+ get keys() {
210
+ if (!this._keys) {
211
+ if (!this.config.keys) {
212
+ if (this.config.env === 'local' || this.config.env === 'unittest') {
213
+ const configPath = path.join(this.config.baseDir, 'config/config.default.js');
214
+ console.error('Cookie need secret key to sign and encrypt.');
215
+ console.error('Please add `config.keys` in %s', configPath);
216
+ }
217
+ throw new Error('Please set config.keys first');
218
+ }
219
+ this._keys = this.config.keys.split(',').map((s) => s.trim());
220
+ }
221
+ return this._keys;
222
+ }
223
+ /**
224
+ * @deprecated keep compatible with egg 3.x
225
+ */
226
+ toAsyncFunction(fn) {
227
+ if (isGeneratorFunction(fn)) {
228
+ throw new Error('Generator function is not supported');
229
+ }
230
+ return fn;
231
+ }
232
+ /**
233
+ * bind app's events
234
+ *
235
+ * @private
236
+ */
237
+ #bindEvents() {
238
+ // Browser Cookie Limits: http://browsercookielimits.iain.guru/
239
+ // https://github.com/eggjs/egg-cookies/blob/58ef4ea497a0eb4dd711d7e9751e56bc5fcee004/src/cookies.ts#L145
240
+ this.on('cookieLimitExceed', ({ name, value, ctx }) => {
241
+ const err = new CookieLimitExceedError(name, value);
242
+ ctx.coreLogger.error(err);
243
+ });
244
+ // expose server to support websocket
245
+ this.once('server', (server) => this.onServer(server));
246
+ }
247
+ /**
248
+ * warn when confused configurations are present
249
+ *
250
+ * @private
251
+ */
252
+ #warnConfusedConfig() {
253
+ const confusedConfigurations = this.config.confusedConfigurations;
254
+ Object.keys(confusedConfigurations).forEach((key) => {
255
+ if (this.config[key] !== undefined) {
256
+ this.logger.warn('[egg:application] Unexpected config key `%o` exists, Please use `%o` instead.', key, confusedConfigurations[key]);
257
+ }
258
+ });
259
+ }
260
+ }
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdELE1BQU0sVUFBVSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLE1BQU0sTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUcxRCxrQ0FBa0M7QUFDbEMsc0ZBQXNGO0FBQ3RGLE1BQU0sd0JBQXdCLEdBQUc7Ozs7OztVQU12QixDQUFDO0FBQ1gsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDcEYsTUFBTSw0QkFBNEIsR0FDaEMsK0NBQStDLCtCQUErQixFQUFFO0lBQ2hGLFdBQVcsd0JBQXdCLEVBQUUsQ0FBQztBQUV4QyxtRkFBbUY7QUFDbkYsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhO0lBQ3RDLGlFQUFpRTtJQUNqRSxzREFBc0Q7SUFDdEQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFD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
@@ -1,23 +1,19 @@
1
- import Context$1 from "../../app/extend/context.js";
2
- import { EggApplicationCore } from "../egg.js";
3
- import { BaseContextLogger } from "./base_context_logger.js";
4
- import { BaseContextClass as BaseContextClass$1 } from "@eggjs/core";
5
-
6
- //#region src/lib/core/base_context_class.d.ts
7
-
1
+ import { BaseContextClass as EggCoreBaseContextClass } from '@eggjs/core';
2
+ import type { Context } from '../egg.ts';
3
+ import type { Application } from '../application.ts';
4
+ import { BaseContextLogger } from './base_context_logger.ts';
5
+ import type { IService } from '../types.ts';
8
6
  /**
9
7
  * BaseContextClass is a base class that can be extended,
10
8
  * it's instantiated in context level,
11
9
  * {@link Helper}, {@link Service} is extending it.
12
10
  */
13
- declare class BaseContextClass extends BaseContextClass$1 {
14
- #private;
15
- [key: string | symbol]: any;
16
- ctx: Context$1;
17
- pathName?: string;
18
- app: EggApplicationCore;
19
- service: BaseContextClass;
20
- get logger(): BaseContextLogger;
11
+ export declare class BaseContextClass extends EggCoreBaseContextClass {
12
+ #private;
13
+ [key: string | symbol]: any;
14
+ ctx: Context;
15
+ pathName?: string;
16
+ app: Application;
17
+ service: IService;
18
+ get logger(): BaseContextLogger;
21
19
  }
22
- //#endregion
23
- export { BaseContextClass };
@@ -1,19 +1,17 @@
1
+ import { BaseContextClass as EggCoreBaseContextClass } from '@eggjs/core';
1
2
  import { BaseContextLogger } from "./base_context_logger.js";
2
- import { BaseContextClass as BaseContextClass$1 } from "@eggjs/core";
3
-
4
- //#region src/lib/core/base_context_class.ts
5
3
  /**
6
- * BaseContextClass is a base class that can be extended,
7
- * it's instantiated in context level,
8
- * {@link Helper}, {@link Service} is extending it.
9
- */
10
- var BaseContextClass = class extends BaseContextClass$1 {
11
- #logger;
12
- get logger() {
13
- if (!this.#logger) this.#logger = new BaseContextLogger(this.ctx, this.pathName);
14
- return this.#logger;
15
- }
16
- };
17
-
18
- //#endregion
19
- export { BaseContextClass };
4
+ * BaseContextClass is a base class that can be extended,
5
+ * it's instantiated in context level,
6
+ * {@link Helper}, {@link Service} is extending it.
7
+ */
8
+ export class BaseContextClass extends EggCoreBaseContextClass {
9
+ #logger;
10
+ get logger() {
11
+ if (!this.#logger) {
12
+ this.#logger = new BaseContextLogger(this.ctx, this.pathName);
13
+ }
14
+ return this.#logger;
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250ZXh0X2NsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb3JlL2Jhc2VfY29udGV4dF9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLElBQUksdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0Q7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx1QkFBdUI7SUFNM0QsT0FBTyxDQUFxQjtJQUU1QixJQUFJLE1BQU07UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRiJ9
@@ -1,40 +1,36 @@
1
- import { EggContext } from "../egg.js";
2
-
3
- //#region src/lib/core/base_context_logger.d.ts
4
- declare class BaseContextLogger {
5
- #private;
6
- /**
7
- * @class
8
- * @param {Context} ctx - context instance
9
- * @param {String} pathName - class path name
10
- * @since 1.0.0
11
- */
12
- constructor(ctx: EggContext, pathName?: string);
13
- protected _log(method: 'info' | 'warn' | 'error' | 'debug', args: any[]): void;
14
- /**
15
- * @member {Function} BaseContextLogger#debug
16
- * @param {...any} args - log msg
17
- * @since 1.2.0
18
- */
19
- debug(...args: any[]): void;
20
- /**
21
- * @member {Function} BaseContextLogger#info
22
- * @param {...any} args - log msg
23
- * @since 1.2.0
24
- */
25
- info(...args: any[]): void;
26
- /**
27
- * @member {Function} BaseContextLogger#warn
28
- * @param {...any} args - log msg
29
- * @since 1.2.0
30
- */
31
- warn(...args: any[]): void;
32
- /**
33
- * @member {Function} BaseContextLogger#error
34
- * @param {...any} args - log msg
35
- * @since 1.2.0
36
- */
37
- error(...args: any[]): void;
1
+ import type { EggContext } from '../egg.ts';
2
+ export declare class BaseContextLogger {
3
+ #private;
4
+ /**
5
+ * @class
6
+ * @param {Context} ctx - context instance
7
+ * @param {String} pathName - class path name
8
+ * @since 1.0.0
9
+ */
10
+ constructor(ctx: EggContext, pathName?: string);
11
+ protected _log(method: 'info' | 'warn' | 'error' | 'debug', args: any[]): void;
12
+ /**
13
+ * @member {Function} BaseContextLogger#debug
14
+ * @param {...any} args - log msg
15
+ * @since 1.2.0
16
+ */
17
+ debug(...args: any[]): void;
18
+ /**
19
+ * @member {Function} BaseContextLogger#info
20
+ * @param {...any} args - log msg
21
+ * @since 1.2.0
22
+ */
23
+ info(...args: any[]): void;
24
+ /**
25
+ * @member {Function} BaseContextLogger#warn
26
+ * @param {...any} args - log msg
27
+ * @since 1.2.0
28
+ */
29
+ warn(...args: any[]): void;
30
+ /**
31
+ * @member {Function} BaseContextLogger#error
32
+ * @param {...any} args - log msg
33
+ * @since 1.2.0
34
+ */
35
+ error(...args: any[]): void;
38
36
  }
39
- //#endregion
40
- export { BaseContextLogger };