@mojojs/core 0.17.3 → 0.19.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.
Files changed (142) hide show
  1. package/README.md +1 -1
  2. package/lib/app.d.ts +114 -4
  3. package/lib/app.js +107 -16
  4. package/lib/app.js.map +1 -1
  5. package/lib/body/params.d.ts +6 -0
  6. package/lib/body/params.js +6 -0
  7. package/lib/body/params.js.map +1 -1
  8. package/lib/body.d.ts +48 -0
  9. package/lib/body.js +45 -0
  10. package/lib/body.js.map +1 -1
  11. package/lib/cli/create-full-app.d.ts +3 -0
  12. package/lib/cli/create-full-app.js +3 -0
  13. package/lib/cli/create-full-app.js.map +1 -1
  14. package/lib/cli/create-lite-app.d.ts +3 -0
  15. package/lib/cli/create-lite-app.js +3 -0
  16. package/lib/cli/create-lite-app.js.map +1 -1
  17. package/lib/cli/eval.d.ts +3 -0
  18. package/lib/cli/eval.js +3 -0
  19. package/lib/cli/eval.js.map +1 -1
  20. package/lib/cli/get.d.ts +3 -0
  21. package/lib/cli/get.js +3 -0
  22. package/lib/cli/get.js.map +1 -1
  23. package/lib/cli/repl.d.ts +3 -0
  24. package/lib/cli/repl.js +3 -0
  25. package/lib/cli/repl.js.map +1 -1
  26. package/lib/cli/routes.d.ts +3 -0
  27. package/lib/cli/routes.js +3 -0
  28. package/lib/cli/routes.js.map +1 -1
  29. package/lib/cli/server.d.ts +3 -0
  30. package/lib/cli/server.js +3 -0
  31. package/lib/cli/server.js.map +1 -1
  32. package/lib/cli/version.d.ts +3 -0
  33. package/lib/cli/version.js +3 -0
  34. package/lib/cli/version.js.map +1 -1
  35. package/lib/cli.d.ts +15 -0
  36. package/lib/cli.js +20 -4
  37. package/lib/cli.js.map +1 -1
  38. package/lib/context.d.ts +99 -0
  39. package/lib/context.js +88 -3
  40. package/lib/context.js.map +1 -1
  41. package/lib/core.d.ts +3 -0
  42. package/lib/core.js +3 -0
  43. package/lib/core.js.map +1 -1
  44. package/lib/hooks.d.ts +9 -0
  45. package/lib/hooks.js +9 -0
  46. package/lib/hooks.js.map +1 -1
  47. package/lib/logger.d.ts +69 -0
  48. package/lib/logger.js +63 -0
  49. package/lib/logger.js.map +1 -1
  50. package/lib/mime.d.ts +14 -0
  51. package/lib/mime.js +39 -9
  52. package/lib/mime.js.map +1 -1
  53. package/lib/mock/request.d.ts +3 -0
  54. package/lib/mock/request.js +3 -0
  55. package/lib/mock/request.js.map +1 -1
  56. package/lib/mock/response.d.ts +3 -0
  57. package/lib/mock/response.js +3 -0
  58. package/lib/mock/response.js.map +1 -1
  59. package/lib/plugins/default-helpers.d.ts +5 -0
  60. package/lib/plugins/default-helpers.js +18 -0
  61. package/lib/plugins/default-helpers.js.map +1 -0
  62. package/lib/plugins/exception-helpers.d.ts +3 -0
  63. package/lib/plugins/exception-helpers.js +3 -0
  64. package/lib/plugins/exception-helpers.js.map +1 -1
  65. package/lib/plugins/header-conditions.d.ts +3 -0
  66. package/lib/plugins/header-conditions.js +3 -0
  67. package/lib/plugins/header-conditions.js.map +1 -1
  68. package/lib/plugins/json-config.d.ts +3 -0
  69. package/lib/plugins/json-config.js +3 -0
  70. package/lib/plugins/json-config.js.map +1 -1
  71. package/lib/plugins/mt-engine.d.ts +3 -0
  72. package/lib/plugins/mt-engine.js +3 -0
  73. package/lib/plugins/mt-engine.js.map +1 -1
  74. package/lib/plugins/view-helpers.d.ts +3 -0
  75. package/lib/plugins/view-helpers.js +3 -12
  76. package/lib/plugins/view-helpers.js.map +1 -1
  77. package/lib/plugins/yaml-config.d.ts +3 -0
  78. package/lib/plugins/yaml-config.js +3 -0
  79. package/lib/plugins/yaml-config.js.map +1 -1
  80. package/lib/router/pattern.d.ts +33 -0
  81. package/lib/router/pattern.js +24 -0
  82. package/lib/router/pattern.js.map +1 -1
  83. package/lib/router/plan.d.ts +15 -0
  84. package/lib/router/plan.js +15 -0
  85. package/lib/router/plan.js.map +1 -1
  86. package/lib/router.d.ts +3 -3
  87. package/lib/router.js +11 -10
  88. package/lib/router.js.map +1 -1
  89. package/lib/server/cookie.d.ts +6 -0
  90. package/lib/server/cookie.js +6 -0
  91. package/lib/server/cookie.js.map +1 -1
  92. package/lib/server/request.d.ts +3 -5
  93. package/lib/server/request.js +10 -14
  94. package/lib/server/request.js.map +1 -1
  95. package/lib/server/response.js +1 -1
  96. package/lib/server/response.js.map +1 -1
  97. package/lib/server.d.ts +21 -0
  98. package/lib/server.js +17 -3
  99. package/lib/server.js.map +1 -1
  100. package/lib/session.d.ts +35 -0
  101. package/lib/session.js +35 -0
  102. package/lib/session.js.map +1 -1
  103. package/lib/static.d.ts +19 -0
  104. package/lib/static.js +20 -1
  105. package/lib/static.js.map +1 -1
  106. package/lib/types.d.ts +1 -1
  107. package/lib/user-agent/cookie-jar.d.ts +12 -0
  108. package/lib/user-agent/cookie-jar.js +12 -0
  109. package/lib/user-agent/cookie-jar.js.map +1 -1
  110. package/lib/user-agent/mock.d.ts +15 -0
  111. package/lib/user-agent/mock.js +18 -2
  112. package/lib/user-agent/mock.js.map +1 -1
  113. package/lib/user-agent/response.d.ts +27 -0
  114. package/lib/user-agent/response.js +27 -0
  115. package/lib/user-agent/response.js.map +1 -1
  116. package/lib/user-agent/transport/http.d.ts +12 -0
  117. package/lib/user-agent/transport/http.js +12 -0
  118. package/lib/user-agent/transport/http.js.map +1 -1
  119. package/lib/user-agent/transport/https.d.ts +3 -0
  120. package/lib/user-agent/transport/https.js +3 -0
  121. package/lib/user-agent/transport/https.js.map +1 -1
  122. package/lib/user-agent/transport/ws.d.ts +6 -0
  123. package/lib/user-agent/transport/ws.js +6 -0
  124. package/lib/user-agent/transport/ws.js.map +1 -1
  125. package/lib/user-agent.d.ts +1 -1
  126. package/lib/user-agent.js +10 -2
  127. package/lib/user-agent.js.map +1 -1
  128. package/lib/util.d.ts +31 -1
  129. package/lib/util.js +30 -0
  130. package/lib/util.js.map +1 -1
  131. package/lib/validator/result.d.ts +9 -0
  132. package/lib/validator/result.js +3 -0
  133. package/lib/validator/result.js.map +1 -1
  134. package/lib/validator.d.ts +9 -0
  135. package/lib/validator.js +9 -0
  136. package/lib/validator.js.map +1 -1
  137. package/lib/websocket.d.ts +18 -0
  138. package/lib/websocket.js +12 -0
  139. package/lib/websocket.js.map +1 -1
  140. package/package.json +2 -2
  141. package/vendor/views/mojo/debug.html.mt +1 -1
  142. package/vendor/views/mojo/not-found.html.mt +1 -1
package/lib/context.js CHANGED
@@ -3,12 +3,25 @@ import { Params } from './body/params.js';
3
3
  import { ServerRequest } from './server/request.js';
4
4
  import { ServerResponse } from './server/response.js';
5
5
  const ABSOLUTE = /^[a-zA-Z][a-zA-Z0-9]*:\/\//;
6
+ /**
7
+ * Context class.
8
+ */
6
9
  class Context extends EventEmitter {
7
10
  constructor(app, req, res, options) {
8
11
  super({ captureRejections: true });
12
+ /**
13
+ * WebSocket JSON mode.
14
+ */
9
15
  this.jsonMode = false;
16
+ /**
17
+ * Router dispatch plan.
18
+ */
10
19
  this.plan = null;
20
+ /**
21
+ * Non-persistent data storage and exchange for the current request.
22
+ */
11
23
  this.stash = {};
24
+ this._flash = undefined;
12
25
  this._params = undefined;
13
26
  this._session = undefined;
14
27
  this._ws = null;
@@ -21,6 +34,9 @@ class Context extends EventEmitter {
21
34
  [EventEmitter.captureRejectionSymbol](error) {
22
35
  this.exception(error);
23
36
  }
37
+ /**
38
+ * Select best possible representation for resource.
39
+ */
24
40
  accepts(allowed) {
25
41
  const formats = this.app.mime.detect(this.req.headers.accept ?? '');
26
42
  const stash = this.stash;
@@ -31,9 +47,15 @@ class Context extends EventEmitter {
31
47
  const results = formats.filter(format => allowed.includes(format));
32
48
  return results.length > 0 ? results : null;
33
49
  }
50
+ /**
51
+ * Application config shortcut.
52
+ */
34
53
  get config() {
35
54
  return this.app.config;
36
55
  }
56
+ /**
57
+ * Data storage persistent only for the next request.
58
+ */
37
59
  async flash() {
38
60
  if (this._flash === undefined) {
39
61
  const session = await this.session();
@@ -53,33 +75,60 @@ class Context extends EventEmitter {
53
75
  }
54
76
  return this._flash;
55
77
  }
78
+ /**
79
+ * Handle WebSocket upgrade, used by servers.
80
+ */
56
81
  handleUpgrade(ws) {
57
82
  this._ws = new WeakRef(ws);
58
83
  this.emit('connection', ws);
59
84
  ws.on('error', error => this.exception(error));
60
85
  }
86
+ /**
87
+ * Home directory shortcut.
88
+ */
61
89
  get home() {
62
90
  return this.app.home;
63
91
  }
92
+ /**
93
+ * Check if WebSocket connection has been accepted.
94
+ */
64
95
  get isAccepted() {
65
96
  return this.listenerCount('connection') > 0;
66
97
  }
98
+ /**
99
+ * Check if WebSocket connection has been established.
100
+ */
67
101
  get isEstablished() {
68
102
  return this._ws !== null;
69
103
  }
104
+ /**
105
+ * Check if session is active.
106
+ */
70
107
  get isSessionActive() {
71
108
  return this._session !== undefined;
72
109
  }
110
+ /**
111
+ * Check if HTTP request is a WebSocket handshake.
112
+ */
73
113
  get isWebSocket() {
74
114
  return this.req.isWebSocket;
75
115
  }
116
+ /**
117
+ * Accept WebSocket connection and activate JSON mode.
118
+ */
76
119
  json(fn) {
77
120
  this.jsonMode = true;
78
121
  return this.on('connection', fn);
79
122
  }
123
+ /**
124
+ * Model shortcut.
125
+ */
80
126
  get models() {
81
127
  return this.app.models;
82
128
  }
129
+ /**
130
+ * GET and POST parameters.
131
+ */
83
132
  async params(options) {
84
133
  if (this._params === undefined) {
85
134
  const req = this.req;
@@ -90,15 +139,24 @@ class Context extends EventEmitter {
90
139
  }
91
140
  return this._params;
92
141
  }
142
+ /**
143
+ * Accept WebSocket connection.
144
+ */
93
145
  plain(fn) {
94
146
  return this.on('connection', fn);
95
147
  }
148
+ /**
149
+ * Send `302` redirect response.
150
+ */
96
151
  async redirectTo(target, options = {}) {
97
152
  await this.res
98
153
  .status(options.status ?? 302)
99
154
  .set('Location', this.urlFor(target, options.values) ?? '')
100
155
  .send();
101
156
  }
157
+ /**
158
+ * Render dynamic content.
159
+ */
102
160
  async render(options = {}, stash) {
103
161
  if (typeof options === 'string')
104
162
  options = { view: options };
@@ -113,6 +171,9 @@ class Context extends EventEmitter {
113
171
  }
114
172
  return await app.renderer.respond(this, result, { status: options.status });
115
173
  }
174
+ /**
175
+ * Try to render dynamic content to string.
176
+ */
116
177
  async renderToString(options, stash) {
117
178
  if (typeof options === 'string')
118
179
  options = { view: options };
@@ -120,6 +181,9 @@ class Context extends EventEmitter {
120
181
  const result = await this.app.renderer.render(this, options);
121
182
  return result === null ? null : result.output.toString();
122
183
  }
184
+ /**
185
+ * Automatically select best possible representation for resource.
186
+ */
123
187
  async respondTo(spec) {
124
188
  const formats = this.accepts() ?? [];
125
189
  for (const format of formats) {
@@ -134,20 +198,35 @@ class Context extends EventEmitter {
134
198
  }
135
199
  await this.res.status(204).send();
136
200
  }
201
+ /**
202
+ * Send static file.
203
+ */
137
204
  async sendFile(file) {
138
205
  return await this.app.static.serveFile(this, file);
139
206
  }
207
+ /**
208
+ * Get JSON schema validation function.
209
+ */
140
210
  schema(schema) {
141
211
  return this.app.validator.schema(schema);
142
212
  }
213
+ /**
214
+ * Persistent data storage for the next few requests.
215
+ */
143
216
  async session() {
144
217
  if (this._session === undefined)
145
218
  this._session = (await this.app.session.load(this)) ?? {};
146
219
  return this._session;
147
220
  }
221
+ /**
222
+ * HTTP/WebSocket user agent shortcut.
223
+ */
148
224
  get ua() {
149
225
  return this.app.ua;
150
226
  }
227
+ /**
228
+ * Generate URL for route of path.
229
+ */
151
230
  urlFor(target, values) {
152
231
  if (target === undefined || target === 'current') {
153
232
  if (this.plan === null)
@@ -156,7 +235,7 @@ class Context extends EventEmitter {
156
235
  return this._urlForPath(result.path, result.websocket);
157
236
  }
158
237
  if (target.startsWith('/'))
159
- return this.req.baseUrl + target;
238
+ return this.req.baseURL + target;
160
239
  if (ABSOLUTE.test(target))
161
240
  return target;
162
241
  const route = this.app.router.lookup(target);
@@ -164,16 +243,22 @@ class Context extends EventEmitter {
164
243
  return null;
165
244
  return this._urlForPath(route.render(values), route.hasWebSocket());
166
245
  }
246
+ /**
247
+ * Generate URL for static file.
248
+ */
167
249
  urlForFile(path) {
168
250
  if (ABSOLUTE.test(path))
169
251
  return path;
170
- return this.req.baseUrl + this.app.static.filePath(path);
252
+ return this.req.baseURL + this.app.static.filePath(path);
171
253
  }
254
+ /**
255
+ * Established WebSocket connection.
256
+ */
172
257
  get ws() {
173
258
  return this._ws?.deref() ?? null;
174
259
  }
175
260
  _urlForPath(path, isWebSocket) {
176
- const url = this.req.baseUrl + path;
261
+ const url = this.req.baseURL + path;
177
262
  return isWebSocket ? url.replace(/^http/, 'ws') : url;
178
263
  }
179
264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/lib/core.d.ts CHANGED
@@ -6,6 +6,9 @@
6
6
  import type { AppOptions } from './types.js';
7
7
  import { App } from './app.js';
8
8
  export declare const version: any;
9
+ /**
10
+ * Create a new mojo.js application.
11
+ */
9
12
  export default function mojo(options?: AppOptions): App;
10
13
  export { default as jsonConfigPlugin } from './plugins/json-config.js';
11
14
  export { default as yamlConfigPlugin } from './plugins/yaml-config.js';
package/lib/core.js CHANGED
@@ -1,6 +1,9 @@
1
1
  import { App } from './app.js';
2
2
  import Path from '@mojojs/path';
3
3
  export const version = JSON.parse(Path.currentFile().dirname().sibling('package.json').readFileSync().toString()).version;
4
+ /**
5
+ * Create a new mojo.js application.
6
+ */
4
7
  export default function mojo(options) {
5
8
  const app = new App(options);
6
9
  const caller = (app.home = Path.callerFile().dirname());
package/lib/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAC7B,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAC/B,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAC/E,CAAC,OAAO,CAAC;AAEV,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAoB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAElC,wFAAwF;IACxF,IAAI,YAAY,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACzG,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;KACpB;IAED,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iHAAiH;AACjH,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAC7B,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAC/B,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAC/E,CAAC,OAAO,CAAC;AAEV;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAoB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAElC,wFAAwF;IACxF,IAAI,YAAY,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACzG,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;KACpB;IAED,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iHAAiH;AACjH,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
package/lib/hooks.d.ts CHANGED
@@ -1,7 +1,16 @@
1
1
  declare type Hook = (...args: any[]) => any;
2
+ /**
3
+ * Hook class.
4
+ */
2
5
  export declare class Hooks {
3
6
  _hooks: Record<string, Hook[]>;
7
+ /**
8
+ * Add hook.
9
+ */
4
10
  addHook(name: string, fn: Hook): void;
11
+ /**
12
+ * Run hook.
13
+ */
5
14
  runHook(name: string, ...args: any[]): Promise<any>;
6
15
  _prepareHook(chain: Hook[]): (...args: any[]) => Promise<any>;
7
16
  }
package/lib/hooks.js CHANGED
@@ -1,12 +1,21 @@
1
+ /**
2
+ * Hook class.
3
+ */
1
4
  export class Hooks {
2
5
  constructor() {
3
6
  this._hooks = {};
4
7
  }
8
+ /**
9
+ * Add hook.
10
+ */
5
11
  addHook(name, fn) {
6
12
  if (this._hooks[name] === undefined)
7
13
  this._hooks[name] = [];
8
14
  this._hooks[name].push(fn);
9
15
  }
16
+ /**
17
+ * Run hook.
18
+ */
10
19
  async runHook(name, ...args) {
11
20
  if (this._hooks[name] === undefined)
12
21
  return await Promise.resolve();
package/lib/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,KAAK;IAAlB;QACE,WAAM,GAA2B,EAAE,CAAC;IAuBtC,CAAC;IArBC,OAAO,CAAC,IAAY,EAAE,EAAQ;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,GAAG,IAAW;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,OAAO,KAAK,UAAU,IAAI,CAAC,GAAG,IAAW;YACvC,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YAErB,KAAK,UAAU,IAAI,CAAC,CAAS,EAAE,MAAY;gBACzC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;gBAC5D,OAAO,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,KAAK;IAAlB;QACE,WAAM,GAA2B,EAAE,CAAC;IA6BtC,CAAC;IA3BC;;OAEG;IACH,OAAO,CAAC,IAAY,EAAE,EAAQ;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,GAAG,IAAW;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,OAAO,KAAK,UAAU,IAAI,CAAC,GAAG,IAAW;YACvC,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YAErB,KAAK,UAAU,IAAI,CAAC,CAAS,EAAE,MAAY;gBACzC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;gBAC5D,OAAO,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
package/lib/logger.d.ts CHANGED
@@ -11,9 +11,21 @@ interface LogEvent extends LogContext {
11
11
  msg: string;
12
12
  }
13
13
  declare type LogFormatter = (data: LogEvent) => string;
14
+ /**
15
+ * A simple logger class.
16
+ */
14
17
  export declare class Logger {
18
+ /**
19
+ * Log destination stream.
20
+ */
15
21
  destination: NodeJS.WritableStream;
22
+ /**
23
+ * Log formatter.
24
+ */
16
25
  formatter: LogFormatter;
26
+ /**
27
+ * The last few logged messages.
28
+ */
17
29
  history: LogEvent[];
18
30
  _historySize: number;
19
31
  _level: number;
@@ -23,30 +35,87 @@ export declare class Logger {
23
35
  historySize?: number;
24
36
  level?: string;
25
37
  });
38
+ /**
39
+ * Create a child logger that will include context information with every log message.
40
+ */
26
41
  child(context: LogContext): ChildLogger;
42
+ /**
43
+ * Log formatter with color highlighting.
44
+ */
27
45
  static colorFormatter(data: LogEvent): string;
46
+ /**
47
+ * Log `debug` message.
48
+ */
28
49
  debug(msg: string, context?: LogContext): void;
50
+ /**
51
+ * Log formatter without color highlighting.
52
+ */
29
53
  static stringFormatter(data: LogEvent): string;
54
+ /**
55
+ * Log formatter for systemd.
56
+ */
30
57
  static systemdFormatter(data: LogEvent): string;
58
+ /**
59
+ * Log `error` message.
60
+ */
31
61
  error(msg: string, context?: LogContext): void;
62
+ /**
63
+ * Log `fatal` message.
64
+ */
32
65
  fatal(msg: string, context?: LogContext): void;
66
+ /**
67
+ * Log `infor` message.
68
+ */
33
69
  info(msg: string, context?: LogContext): void;
70
+ /**
71
+ * JSON log formatter.
72
+ */
34
73
  static jsonFormatter(data: LogEvent): string;
74
+ /**
75
+ * Currently active log level.
76
+ */
35
77
  get level(): string;
36
78
  set level(level: string);
79
+ /**
80
+ * Log `trace` message.
81
+ */
37
82
  trace(msg: string, context?: LogContext): void;
83
+ /**
84
+ * Log `warn` message.
85
+ */
38
86
  warn(msg: string, context?: LogContext): void;
39
87
  _log(level: string, msg: string, context?: LogContext): void;
40
88
  }
89
+ /**
90
+ * Child logger class.
91
+ */
41
92
  export declare class ChildLogger {
42
93
  parent: Logger;
43
94
  context: LogContext;
44
95
  constructor(parent: Logger, context: LogContext);
96
+ /**
97
+ * Log `debug` message.
98
+ */
45
99
  debug(msg: string): void;
100
+ /**
101
+ * Log `error` message.
102
+ */
46
103
  error(msg: string): void;
104
+ /**
105
+ * Log `fatal` message.
106
+ */
47
107
  fatal(msg: string): void;
108
+ /**
109
+ * Log `info` message.
110
+ */
48
111
  info(msg: string): void;
112
+ /**
113
+ * Log `trace` message.
114
+ */
49
115
  trace(msg: string): void;
116
+ /**
117
+ * Log `warn` message.
118
+ */
50
119
  warn(msg: string): void;
51
120
  }
52
121
  export {};
package/lib/logger.js CHANGED
@@ -8,8 +8,14 @@ const LEVEL = {
8
8
  debug: 6,
9
9
  trace: 7
10
10
  };
11
+ /**
12
+ * A simple logger class.
13
+ */
11
14
  export class Logger {
12
15
  constructor(options = {}) {
16
+ /**
17
+ * The last few logged messages.
18
+ */
13
19
  this.history = [];
14
20
  this._level = 7;
15
21
  this.destination = options.destination ?? process.stderr;
@@ -17,9 +23,15 @@ export class Logger {
17
23
  this.level = process.env.MOJO_LOG_LEVEL ?? options.level ?? 'trace';
18
24
  this._historySize = options.historySize ?? 0;
19
25
  }
26
+ /**
27
+ * Create a child logger that will include context information with every log message.
28
+ */
20
29
  child(context) {
21
30
  return new ChildLogger(this, context);
22
31
  }
32
+ /**
33
+ * Log formatter with color highlighting.
34
+ */
23
35
  static colorFormatter(data) {
24
36
  const formatted = Logger.stringFormatter(data);
25
37
  if (data.level === 'error' || data.level === 'fatal')
@@ -28,35 +40,59 @@ export class Logger {
28
40
  return chalk.yellow(formatted);
29
41
  return formatted;
30
42
  }
43
+ /**
44
+ * Log `debug` message.
45
+ */
31
46
  debug(msg, context) {
32
47
  if (this._level >= LEVEL.debug)
33
48
  this._log('debug', msg, context);
34
49
  }
50
+ /**
51
+ * Log formatter without color highlighting.
52
+ */
35
53
  static stringFormatter(data) {
36
54
  if (data.requestId !== undefined)
37
55
  return `[${data.time}] [${data.level}] [${data.requestId}] ${data.msg}\n`;
38
56
  return `[${data.time}] [${data.level}] ${data.msg}\n`;
39
57
  }
58
+ /**
59
+ * Log formatter for systemd.
60
+ */
40
61
  static systemdFormatter(data) {
41
62
  if (data.requestId === undefined)
42
63
  return `<${LEVEL[data.level]}>[${data.level.substring(0, 1)}] ${data.msg}\n`;
43
64
  return `<${LEVEL[data.level]}>[${data.level.substring(0, 1)}] [${data.requestId}] ${data.msg}\n`;
44
65
  }
66
+ /**
67
+ * Log `error` message.
68
+ */
45
69
  error(msg, context) {
46
70
  if (this._level >= LEVEL.error)
47
71
  this._log('error', msg, context);
48
72
  }
73
+ /**
74
+ * Log `fatal` message.
75
+ */
49
76
  fatal(msg, context) {
50
77
  if (this._level >= LEVEL.fatal)
51
78
  this._log('fatal', msg, context);
52
79
  }
80
+ /**
81
+ * Log `infor` message.
82
+ */
53
83
  info(msg, context) {
54
84
  if (this._level >= LEVEL.info)
55
85
  this._log('info', msg, context);
56
86
  }
87
+ /**
88
+ * JSON log formatter.
89
+ */
57
90
  static jsonFormatter(data) {
58
91
  return JSON.stringify(data);
59
92
  }
93
+ /**
94
+ * Currently active log level.
95
+ */
60
96
  get level() {
61
97
  return Object.keys(LEVEL).find(key => LEVEL[key] === this._level);
62
98
  }
@@ -64,10 +100,16 @@ export class Logger {
64
100
  assert(LEVEL[level] !== undefined, `Unsupported log level "${level}"`);
65
101
  this._level = LEVEL[level];
66
102
  }
103
+ /**
104
+ * Log `trace` message.
105
+ */
67
106
  trace(msg, context) {
68
107
  if (this._level >= LEVEL.trace)
69
108
  this._log('trace', msg, context);
70
109
  }
110
+ /**
111
+ * Log `warn` message.
112
+ */
71
113
  warn(msg, context) {
72
114
  if (this._level >= LEVEL.warn)
73
115
  this._log('warn', msg, context);
@@ -88,26 +130,47 @@ export class Logger {
88
130
  }
89
131
  }
90
132
  }
133
+ /**
134
+ * Child logger class.
135
+ */
91
136
  export class ChildLogger {
92
137
  constructor(parent, context) {
93
138
  this.parent = parent;
94
139
  this.context = context;
95
140
  }
141
+ /**
142
+ * Log `debug` message.
143
+ */
96
144
  debug(msg) {
97
145
  this.parent.debug(msg, this.context);
98
146
  }
147
+ /**
148
+ * Log `error` message.
149
+ */
99
150
  error(msg) {
100
151
  this.parent.error(msg, this.context);
101
152
  }
153
+ /**
154
+ * Log `fatal` message.
155
+ */
102
156
  fatal(msg) {
103
157
  this.parent.fatal(msg, this.context);
104
158
  }
159
+ /**
160
+ * Log `info` message.
161
+ */
105
162
  info(msg) {
106
163
  this.parent.info(msg, this.context);
107
164
  }
165
+ /**
166
+ * Log `trace` message.
167
+ */
108
168
  trace(msg) {
109
169
  this.parent.trace(msg, this.context);
110
170
  }
171
+ /**
172
+ * Log `warn` message.
173
+ */
111
174
  warn(msg) {
112
175
  this.parent.warn(msg, this.context);
113
176
  }
package/lib/logger.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/lib/mime.d.ts CHANGED
@@ -1,4 +1,18 @@
1
+ /**
2
+ * MIME class.
3
+ */
1
4
  export declare class Mime {
5
+ /**
6
+ * Custom MIME types.
7
+ */
8
+ custom: Record<string, string>;
9
+ _reverseCustom: Record<string, string> | undefined;
10
+ /**
11
+ * Detect file extensions from `Accept` header value.
12
+ */
2
13
  detect(accepts: string): string[];
14
+ /**
15
+ * Get MIME type for file extension.
16
+ */
3
17
  extType(ext: string): string | null;
4
18
  }