@mojojs/core 1.12.0 → 1.12.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/lib/hooks.d.ts CHANGED
@@ -1,15 +1,10 @@
1
1
  import type { MojoApp } from './types.js';
2
- type Hook = (...args: any[]) => any;
2
+ import { AsyncHooks } from '@mojojs/util';
3
3
  /**
4
4
  * Hook class.
5
5
  */
6
- export declare class Hooks {
7
- _hooks: Record<string, Hook[]>;
6
+ export declare class Hooks extends AsyncHooks {
8
7
  _lifecycleHookScore: number;
9
- /**
10
- * Add hook.
11
- */
12
- addHook(name: string, fn: Hook): void;
13
8
  /**
14
9
  * Run `command:start` hook with dependencies. Note that this method is EXPERIMENTAL and might change without
15
10
  * warning!
@@ -20,10 +15,6 @@ export declare class Hooks {
20
15
  * warning!
21
16
  */
22
17
  commandAfter(app: MojoApp, commandArgs: string[]): Promise<void>;
23
- /**
24
- * Run hook.
25
- */
26
- runHook(name: string, ...args: any[]): Promise<any>;
27
18
  /**
28
19
  * Run `server:start` hook with dependencies. Note that this method is EXPERIMENTAL and might change without warning!
29
20
  */
@@ -34,6 +25,4 @@ export declare class Hooks {
34
25
  serverStop(app: MojoApp): Promise<void>;
35
26
  _appStart(app: MojoApp): Promise<void>;
36
27
  _appStop(app: MojoApp): Promise<void>;
37
- _prepareHook(chain: Hook[]): (...args: any[]) => Promise<any>;
38
28
  }
39
- export {};
package/lib/hooks.js CHANGED
@@ -1,19 +1,12 @@
1
+ import { AsyncHooks } from '@mojojs/util';
1
2
  /**
2
3
  * Hook class.
3
4
  */
4
- export class Hooks {
5
+ export class Hooks extends AsyncHooks {
5
6
  constructor() {
6
- this._hooks = {};
7
+ super(...arguments);
7
8
  this._lifecycleHookScore = 0;
8
9
  }
9
- /**
10
- * Add hook.
11
- */
12
- addHook(name, fn) {
13
- if (this._hooks[name] === undefined)
14
- this._hooks[name] = [];
15
- this._hooks[name].push(fn);
16
- }
17
10
  /**
18
11
  * Run `command:start` hook with dependencies. Note that this method is EXPERIMENTAL and might change without
19
12
  * warning!
@@ -31,14 +24,6 @@ export class Hooks {
31
24
  await this.runHook('command:after', app, commandArgs);
32
25
  await this._appStop(app);
33
26
  }
34
- /**
35
- * Run hook.
36
- */
37
- async runHook(name, ...args) {
38
- if (this._hooks[name] === undefined)
39
- return await Promise.resolve();
40
- return await this._prepareHook(this._hooks[name])(...args);
41
- }
42
27
  /**
43
28
  * Run `server:start` hook with dependencies. Note that this method is EXPERIMENTAL and might change without warning!
44
29
  */
@@ -63,16 +48,5 @@ export class Hooks {
63
48
  if (this._lifecycleHookScore === 0)
64
49
  await this.runHook('app:stop', app);
65
50
  }
66
- _prepareHook(chain) {
67
- return async function hook(...args) {
68
- return await next(0);
69
- async function next(i, result) {
70
- const fn = chain[i];
71
- if (result !== undefined || fn === undefined)
72
- return result;
73
- return await new Promise(resolve => resolve(fn(...args))).then(next.bind(null, i + 1));
74
- }
75
- };
76
- }
77
51
  }
78
52
  //# sourceMappingURL=hooks.js.map
package/lib/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,KAAM,SAAQ,UAAU;IAArC;;QACE,wBAAmB,GAAG,CAAC,CAAC;IA8C1B,CAAC;IA5CC;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,WAAqB;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,GAAY,EAAE,WAAqB;QACpD,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAY;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAY;QAC1B,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAY;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;CACF"}
@@ -1,16 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- /// <reference types="node" />
4
3
  import type { Context } from '../context.js';
5
4
  import type { CookieOptions } from '../types.js';
6
5
  import type { Stream } from 'node:stream';
7
- import EventEmitter from 'node:events';
8
6
  import { Headers } from '../headers.js';
9
7
  type SendResponse = (res: ServerResponse, body?: string | Buffer | Stream) => void;
10
8
  /**
11
9
  * Server response class.
12
10
  */
13
- export declare class ServerResponse extends EventEmitter {
11
+ export declare class ServerResponse {
14
12
  /**
15
13
  * Response headers.
16
14
  */
@@ -1,12 +1,10 @@
1
- import EventEmitter from 'node:events';
2
1
  import { Headers } from '../headers.js';
3
2
  import { stringifyCookie } from './cookie.js';
4
3
  /**
5
4
  * Server response class.
6
5
  */
7
- export class ServerResponse extends EventEmitter {
6
+ export class ServerResponse {
8
7
  constructor(sendResponse) {
9
- super();
10
8
  /**
11
9
  * Response headers.
12
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/server/response.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAI5C;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAqB9C,YAAY,YAA0B;QACpC,KAAK,EAAE,CAAC;QArBV;;WAEG;QACH,YAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB;;WAEG;QACH,WAAM,GAAG,KAAK,CAAC;QACf;;WAEG;QACH,eAAU,GAAG,GAAG,CAAC;QACjB;;WAEG;QACH,kBAAa,GAAkB,IAAI,CAAC;QAEpC,SAAI,GAAiC,SAAS,CAAC;QAK7C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,KAAa;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAA+B;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAE9B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,GAAG,OAAO,CAAC;QAE1C,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI;YAAE,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAsB;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,OAAgB;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/server/response.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAI5C;;GAEG;AACH,MAAM,OAAO,cAAc;IAqBzB,YAAY,YAA0B;QApBtC;;WAEG;QACH,YAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB;;WAEG;QACH,WAAM,GAAG,KAAK,CAAC;QACf;;WAEG;QACH,eAAU,GAAG,GAAG,CAAC;QACjB;;WAEG;QACH,kBAAa,GAAkB,IAAI,CAAC;QAEpC,SAAI,GAAiC,SAAS,CAAC;QAI7C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,KAAa;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAA+B;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAE9B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,GAAG,OAAO,CAAC;QAE1C,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI;YAAE,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAsB;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,OAAgB;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mojojs/core",
3
- "version": "1.12.0",
3
+ "version": "1.12.1",
4
4
  "description": "Real-time web framework",
5
5
  "keywords": [
6
6
  "mojojs",
@@ -81,9 +81,9 @@
81
81
  },
82
82
  "dependencies": {
83
83
  "@mojojs/dom": "^2.0.0",
84
- "@mojojs/path": "^1.5.0",
85
- "@mojojs/template": "^2.1.0",
86
- "@mojojs/util": "^1.4.1",
84
+ "@mojojs/path": "^1.5.3",
85
+ "@mojojs/template": "^2.1.1",
86
+ "@mojojs/util": "^1.5.0",
87
87
  "ajv": "^8.5.0",
88
88
  "busboy": "^1.0.0",
89
89
  "chalk": "^5.0.0",