@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/mime.js CHANGED
@@ -1,12 +1,34 @@
1
1
  import mime from 'mime-types';
2
- const COMMON = {
3
- html: 'text/html; charset=utf-8',
4
- json: 'application/json; charset=utf-8',
5
- txt: 'text/plain; charset=utf-8',
6
- yaml: 'text/yaml; charset=utf-8'
7
- };
2
+ /**
3
+ * MIME class.
4
+ */
8
5
  export class Mime {
6
+ constructor() {
7
+ /**
8
+ * Custom MIME types.
9
+ */
10
+ this.custom = {
11
+ html: 'text/html; charset=utf-8',
12
+ json: 'application/json; charset=utf-8',
13
+ txt: 'text/plain; charset=utf-8',
14
+ yaml: 'text/yaml; charset=utf-8'
15
+ };
16
+ this._reverseCustom = undefined;
17
+ }
18
+ /**
19
+ * Detect file extensions from `Accept` header value.
20
+ */
9
21
  detect(accepts) {
22
+ if (this._reverseCustom === undefined) {
23
+ this._reverseCustom = {};
24
+ for (const [name, value] of Object.entries(this.custom)) {
25
+ const match = value.match(/^\s*([^,; ]+)/);
26
+ if (match === null)
27
+ continue;
28
+ this._reverseCustom[match[1]] = name;
29
+ }
30
+ }
31
+ const reverse = this._reverseCustom;
10
32
  const types = {};
11
33
  for (const accept of accepts.split(/\s*,\s*/)) {
12
34
  const match = accept.match(/^\s*([^,; ]+)(?:\s*;\s*q\s*=\s*(\d+(?:\.\d+)?))?\s*$/i);
@@ -14,11 +36,19 @@ export class Mime {
14
36
  continue;
15
37
  types[match[1].toLowerCase()] = parseFloat(match[2] ?? 1);
16
38
  }
17
- const detected = Object.keys(types).sort((a, b) => types[b] - types[a]);
18
- return detected.map(type => mime.extension(type)).filter(ext => ext !== false);
39
+ const exts = [];
40
+ for (const type of Object.keys(types).sort((a, b) => types[b] - types[a])) {
41
+ const ext = reverse[type] ?? mime.extension(type);
42
+ if (typeof ext === 'string')
43
+ exts.push(ext);
44
+ }
45
+ return exts;
19
46
  }
47
+ /**
48
+ * Get MIME type for file extension.
49
+ */
20
50
  extType(ext) {
21
- return COMMON[ext] ?? mime.types[ext] ?? null;
51
+ return this.custom[ext] ?? mime.types[ext] ?? null;
22
52
  }
23
53
  }
24
54
  //# sourceMappingURL=mime.js.map
package/lib/mime.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mime.js","sourceRoot":"","sources":["../src/mime.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,MAAM,MAAM,GAA2B;IACrC,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,iCAAiC;IACvC,GAAG,EAAE,2BAA2B;IAChC,IAAI,EAAE,0BAA0B;CACjC,CAAC;AAEF,MAAM,OAAO,IAAI;IACf,MAAM,CAAC,OAAe;QACpB,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACpF,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3D;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,KAAK,CAAa,CAAC;IAC7F,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"mime.js","sourceRoot":"","sources":["../src/mime.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,IAAI;IAAjB;QACE;;WAEG;QACH,WAAM,GAA2B;YAC/B,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,iCAAiC;YACvC,GAAG,EAAE,2BAA2B;YAChC,IAAI,EAAE,0BAA0B;SACjC,CAAC;QACF,mBAAc,GAAuC,SAAS,CAAC;IAqCjE,CAAC;IAnCC;;OAEG;IACH,MAAM,CAAC,OAAe;QACpB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,IAAI;oBAAE,SAAS;gBAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aACtC;SACF;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QAEpC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACpF,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3D;QAED,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACzE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACrD,CAAC;CACF"}
@@ -1,6 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import type { MockRequestOptions } from '../types.js';
3
3
  import { IncomingMessage } from 'http';
4
+ /**
5
+ * Mock request class.
6
+ */
4
7
  export declare class MockRequest extends IncomingMessage {
5
8
  constructor(options?: MockRequestOptions);
6
9
  }
@@ -1,5 +1,8 @@
1
1
  import { IncomingMessage } from 'http';
2
2
  import { Socket } from 'net';
3
+ /**
4
+ * Mock request class.
5
+ */
3
6
  export class MockRequest extends IncomingMessage {
4
7
  constructor(options = {}) {
5
8
  super(new Socket());
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/mock/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAE3B,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC9C,YAAY,UAA8B,EAAE;QAC1C,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/mock/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAE3B;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC9C,YAAY,UAA8B,EAAE;QAC1C,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;IAChC,CAAC;CACF"}
@@ -1,4 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { ServerResponse } from 'http';
3
+ /**
4
+ * Mock response class.
5
+ */
3
6
  export declare class MockResponse extends ServerResponse {
4
7
  }
@@ -1,4 +1,7 @@
1
1
  import { ServerResponse } from 'http';
2
+ /**
3
+ * Mock response class.
4
+ */
2
5
  export class MockResponse extends ServerResponse {
3
6
  }
4
7
  //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/mock/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,MAAM,CAAC;AAEpC,MAAM,OAAO,YAAa,SAAQ,cAAc;CAAG"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/mock/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,cAAc;CAAG"}
@@ -0,0 +1,5 @@
1
+ import type { MojoApp } from '../types.js';
2
+ /**
3
+ * Default helper plugin.
4
+ */
5
+ export default function defaultHelpersPlugin(app: MojoApp): void;
@@ -0,0 +1,18 @@
1
+ import { inspect } from 'util';
2
+ /**
3
+ * Default helper plugin.
4
+ */
5
+ export default function defaultHelpersPlugin(app) {
6
+ app.addHelper('currentRoute', currentRoute);
7
+ app.decorateContext('inspect', (object, options) => inspect(object, options));
8
+ }
9
+ function currentRoute(ctx) {
10
+ const plan = ctx.plan;
11
+ if (plan === null)
12
+ return null;
13
+ const endpoint = plan.endpoint;
14
+ if (endpoint === undefined)
15
+ return null;
16
+ return endpoint.customName ?? endpoint.defaultName ?? null;
17
+ }
18
+ //# sourceMappingURL=default-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-helpers.js","sourceRoot":"","sources":["../../src/plugins/default-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAE7B;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,GAAY;IACvD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC5C,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,MAA2B,EAAE,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,YAAY,CAAC,GAAgB;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC;AAC7D,CAAC"}
@@ -1,2 +1,5 @@
1
1
  import type { App } from '../app.js';
2
+ /**
3
+ * Exception helper plugin.
4
+ */
2
5
  export default function exceptionHelpersPlugin(app: App): void;
@@ -1,5 +1,8 @@
1
1
  import { Logger } from '../logger.js';
2
2
  import { exceptionContext } from '../util.js';
3
+ /**
4
+ * Exception helper plugin.
5
+ */
3
6
  export default function exceptionHelpersPlugin(app) {
4
7
  app.addHelper('exception', exception);
5
8
  app.addHelper('htmlException', htmlException);
@@ -1 +1 @@
1
- {"version":3,"file":"exception-helpers.js","sourceRoot":"","sources":["../../src/plugins/exception-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exception-helpers.js","sourceRoot":"","sources":["../../src/plugins/exception-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
1
  import type { App } from '../app.js';
2
+ /**
3
+ * Header condition plugin.
4
+ */
2
5
  export default function headerConditionsPlugin(app: App): void;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Header condition plugin.
3
+ */
1
4
  export default function headerConditionsPlugin(app) {
2
5
  const router = app.router;
3
6
  router.addCondition('headers', headerCondition);
@@ -1 +1 @@
1
- {"version":3,"file":"header-conditions.js","sourceRoot":"","sources":["../../src/plugins/header-conditions.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,GAAQ;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,GAAgB,EAAE,WAAmC;IAC5E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACvD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;KAC/C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,GAAgB,EAAE,WAAmB;IAC1D,OAAO,eAAe,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"header-conditions.js","sourceRoot":"","sources":["../../src/plugins/header-conditions.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,GAAQ;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,GAAgB,EAAE,WAAmC;IAC5E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACvD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;KAC/C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,GAAgB,EAAE,WAAmB;IAC1D,OAAO,eAAe,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;AACnD,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import type { ConfigOptions, MojoApp } from '../types.js';
2
+ /**
3
+ * JSON config plugin.
4
+ */
2
5
  export default function jsonConfigPlugin(app: MojoApp, options: ConfigOptions): void;
3
6
  export declare function loadConfig(app: MojoApp, options: ConfigOptions, parser: (config: string) => any): void;
@@ -1,4 +1,7 @@
1
1
  import Path from '@mojojs/path';
2
+ /**
3
+ * JSON config plugin.
4
+ */
2
5
  export default function jsonConfigPlugin(app, options) {
3
6
  if (options.ext === undefined)
4
7
  options.ext = 'json';
@@ -1 +1 @@
1
- {"version":3,"file":"json-config.js","sourceRoot":"","sources":["../../src/plugins/json-config.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAAsB;IAC3E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACpD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,OAAsB,EAAE,MAA+B;IAC9F,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KAC1D;SAAM;QACL,GAAG,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;KAClE;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,YAAY,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KACxE;AACH,CAAC"}
1
+ {"version":3,"file":"json-config.js","sourceRoot":"","sources":["../../src/plugins/json-config.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAAsB;IAC3E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACpD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,OAAsB,EAAE,MAA+B;IAC9F,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KAC1D;SAAM;QACL,GAAG,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;KAClE;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,YAAY,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KACxE;AACH,CAAC"}
@@ -1,2 +1,5 @@
1
1
  import type { App } from '../app.js';
2
+ /**
3
+ * `@mojojs/template` engine plugin.
4
+ */
2
5
  export default function mtEnginePlugin(app: App): void;
@@ -3,6 +3,9 @@ import { xmlEscape } from '@mojojs/dom';
3
3
  import Path from '@mojojs/path';
4
4
  import Template from '@mojojs/template';
5
5
  import LRU from 'lru-cache';
6
+ /**
7
+ * `@mojojs/template` engine plugin.
8
+ */
6
9
  export default function mtEnginePlugin(app) {
7
10
  app.renderer.addEngine('mt', new MTEngine());
8
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mt-engine.js","sourceRoot":"","sources":["../../src/plugins/mt-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,GAAG,MAAM,WAAW,CAAC;AAE5B,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,GAAQ;IAC7C,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,QAAQ;IAAd;QACE,UAAK,GAAiE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IA0BrF,CAAC;IAxBC,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,OAAsB;QACnD,IAAI,QAAQ,CAAC;QAEb,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEpC,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACvE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACpC;SACF;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE5C,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjE,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC5C;SACF;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAC,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;CACF"}
1
+ {"version":3,"file":"mt-engine.js","sourceRoot":"","sources":["../../src/plugins/mt-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,GAAG,MAAM,WAAW,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,GAAQ;IAC7C,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,QAAQ;IAAd;QACE,UAAK,GAAiE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IA0BrF,CAAC;IAxBC,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,OAAsB;QACnD,IAAI,QAAQ,CAAC;QAEb,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEpC,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACvE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACpC;SACF;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE5C,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC5F,MAAM,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjE,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC5C;SACF;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,EAAC,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;CACF"}
@@ -1,2 +1,5 @@
1
1
  import type { MojoApp } from '../types.js';
2
+ /**
3
+ * View helper plugin.
4
+ */
2
5
  export default function viewHelpersPlugin(app: MojoApp): void;
@@ -1,23 +1,14 @@
1
- import { inspect } from 'util';
2
1
  import DOM, { SafeString } from '@mojojs/dom';
2
+ /**
3
+ * View helper plugin.
4
+ */
3
5
  export default function viewHelpersPlugin(app) {
4
- app.addHelper('currentRoute', currentRoute);
5
- app.decorateContext('inspect', (object, options) => inspect(object, options));
6
6
  app.addHelper('include', include);
7
7
  app.addHelper('mojoFaviconTag', mojoFaviconTag);
8
8
  app.addHelper('scriptTag', scriptTag);
9
9
  app.addHelper('styleTag', styleTag);
10
10
  app.addHelper('tag', tag);
11
11
  }
12
- function currentRoute(ctx) {
13
- const plan = ctx.plan;
14
- if (plan === null)
15
- return null;
16
- const endpoint = plan.endpoint;
17
- if (endpoint === undefined)
18
- return null;
19
- return endpoint.customName ?? endpoint.defaultName ?? null;
20
- }
21
12
  async function include(ctx, options, stash) {
22
13
  return await ctx.renderToString(options, stash);
23
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view-helpers.js","sourceRoot":"","sources":["../../src/plugins/view-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAC7B,OAAO,GAAG,EAAE,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,GAAY;IACpD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAE5C,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,MAA2B,EAAE,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnH,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAElC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAChD,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,YAAY,CAAC,GAAgB;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAgB,EAAE,OAAsB,EAAE,KAA0B;IACzF,OAAO,MAAM,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,GAAgB;IACtC,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAC,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,SAAS,CAAC,GAAgB,EAAE,MAAc;IACjD,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,GAAgB,EAAE,MAAc;IAChD,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,GAAG,CACV,GAAgB,EAChB,IAAY,EACZ,QAAgC,EAAE,EAClC,UAA+B,EAAE;IAEjC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"view-helpers.js","sourceRoot":"","sources":["../../src/plugins/view-helpers.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,EAAE,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,GAAY;IACpD,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAElC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAChD,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAgB,EAAE,OAAsB,EAAE,KAA0B;IACzF,OAAO,MAAM,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,GAAgB;IACtC,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAC,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,SAAS,CAAC,GAAgB,EAAE,MAAc;IACjD,OAAO,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,GAAgB,EAAE,MAAc;IAChD,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,GAAG,CACV,GAAgB,EAChB,IAAY,EACZ,QAAgC,EAAE,EAClC,UAA+B,EAAE;IAEjC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrE,CAAC"}
@@ -1,2 +1,5 @@
1
1
  import type { MojoApp, ConfigOptions } from '../types.js';
2
+ /**
3
+ * YAML config plugin.
4
+ */
2
5
  export default function yamlConfigPlugin(app: MojoApp, options: ConfigOptions): void;
@@ -1,5 +1,8 @@
1
1
  import { loadConfig } from './json-config.js';
2
2
  import yaml from 'js-yaml';
3
+ /**
4
+ * YAML config plugin.
5
+ */
3
6
  export default function yamlConfigPlugin(app, options) {
4
7
  if (options.ext === undefined)
5
8
  options.ext = 'yml';
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-config.js","sourceRoot":"","sources":["../../src/plugins/yaml-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAAsB;IAC3E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;IACnD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"yaml-config.js","sourceRoot":"","sources":["../../src/plugins/yaml-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAAsB;IAC3E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;IACnD,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -6,12 +6,33 @@ interface PlaceholderTypes {
6
6
  [name: string]: PlaceholderType;
7
7
  }
8
8
  declare type ASTNode = [symbol, ...string[]];
9
+ /**
10
+ * Route pattern class.
11
+ */
9
12
  export declare class Pattern {
13
+ /**
14
+ * Pattern constraints.
15
+ */
10
16
  constraints: PlaceholderTypes;
17
+ /**
18
+ * Pattern default values.
19
+ */
11
20
  defaults: Record<string, any>;
21
+ /**
22
+ * Placeholder names.
23
+ */
12
24
  placeholders: string[];
25
+ /**
26
+ * Pattern in compiled regular expression form.
27
+ */
13
28
  regex: RegExp | undefined;
29
+ /**
30
+ * Placeholder types.
31
+ */
14
32
  types: PlaceholderTypes;
33
+ /**
34
+ * Raw unparsed pattern.
35
+ */
15
36
  unparsed: string;
16
37
  _ast: ASTNode[];
17
38
  constructor(path?: string, options?: {
@@ -19,11 +40,23 @@ export declare class Pattern {
19
40
  defaults?: Record<string, any>;
20
41
  types?: PlaceholderTypes;
21
42
  });
43
+ /**
44
+ * Match pattern against entire path.
45
+ */
22
46
  match(path: string, options: MatchOptions): Record<string, any> | null;
47
+ /**
48
+ * Match pattern against path and return the remainder.
49
+ */
23
50
  matchPartial(path: string, options: MatchOptions): (Record<string, any> & {
24
51
  remainder: string;
25
52
  }) | null;
53
+ /**
54
+ * Parse pattern.
55
+ */
26
56
  parse(path?: string): this;
57
+ /**
58
+ * Render pattern into a path with parameters.
59
+ */
27
60
  render(values: Record<string, string>, options: MatchOptions): string;
28
61
  _compile(withExtension: boolean): RegExp;
29
62
  _compileExtension(ext: PlaceholderType, withDefault: boolean): string;
@@ -6,10 +6,22 @@ const OP = {
6
6
  text: Symbol('text'),
7
7
  wildcard: Symbol('wildcard')
8
8
  };
9
+ /**
10
+ * Route pattern class.
11
+ */
9
12
  export class Pattern {
10
13
  constructor(path, options = {}) {
14
+ /**
15
+ * Placeholder names.
16
+ */
11
17
  this.placeholders = [];
18
+ /**
19
+ * Pattern in compiled regular expression form.
20
+ */
12
21
  this.regex = undefined;
22
+ /**
23
+ * Raw unparsed pattern.
24
+ */
13
25
  this.unparsed = '';
14
26
  this._ast = [];
15
27
  this.constraints = options.constraints ?? {};
@@ -18,12 +30,18 @@ export class Pattern {
18
30
  if (path !== undefined)
19
31
  this.parse(path);
20
32
  }
33
+ /**
34
+ * Match pattern against entire path.
35
+ */
21
36
  match(path, options) {
22
37
  const result = this.matchPartial(path, options);
23
38
  if (result === null || (result.remainder.length > 0 && result.remainder !== '/'))
24
39
  return null;
25
40
  return result.captures;
26
41
  }
42
+ /**
43
+ * Match pattern against path and return the remainder.
44
+ */
27
45
  matchPartial(path, options) {
28
46
  if (this.regex === undefined)
29
47
  this.regex = this._compile(options.isEndpoint);
@@ -41,11 +59,17 @@ export class Pattern {
41
59
  }
42
60
  return { remainder: path.replace(prefix, ''), captures };
43
61
  }
62
+ /**
63
+ * Parse pattern.
64
+ */
44
65
  parse(path = '') {
45
66
  this.unparsed = path.replace(/^\/*|\/+/g, '/').replace(/\/$/, '');
46
67
  this._tokenize();
47
68
  return this;
48
69
  }
70
+ /**
71
+ * Render pattern into a path with parameters.
72
+ */
49
73
  render(values, options) {
50
74
  let optional = values.ext == null;
51
75
  const parts = [];
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/router/pattern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/router/pattern.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,23 @@
1
1
  import type { Route } from './route.js';
2
+ /**
3
+ * Router plan class.
4
+ */
2
5
  export declare class Plan {
6
+ /**
7
+ * Route endpoint.
8
+ */
3
9
  endpoint: Route | undefined;
10
+ /**
11
+ * Steps in route.
12
+ */
4
13
  steps: Array<Record<string, any>>;
14
+ /**
15
+ * Dispatch stops in route.
16
+ */
5
17
  stops: boolean[];
18
+ /**
19
+ * Render route.
20
+ */
6
21
  render(values?: Record<string, any>): {
7
22
  path: string;
8
23
  websocket: boolean;
@@ -1,9 +1,24 @@
1
+ /**
2
+ * Router plan class.
3
+ */
1
4
  export class Plan {
2
5
  constructor() {
6
+ /**
7
+ * Route endpoint.
8
+ */
3
9
  this.endpoint = undefined;
10
+ /**
11
+ * Steps in route.
12
+ */
4
13
  this.steps = [];
14
+ /**
15
+ * Dispatch stops in route.
16
+ */
5
17
  this.stops = [];
6
18
  }
19
+ /**
20
+ * Render route.
21
+ */
7
22
  render(values = {}) {
8
23
  const merged = [...this.steps, values].reduce((result, current) => Object.assign(result, current), {});
9
24
  const endpoint = this.endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/router/plan.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,IAAI;IAAjB;QACE,aAAQ,GAAsB,SAAS,CAAC;QACxC,UAAK,GAA+B,EAAE,CAAC;QACvC,UAAK,GAAc,EAAE,CAAC;IAUxB,CAAC;IARC,MAAM,CAAC,SAA8B,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;QAEhE,OAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAC,CAAC;IAC7E,CAAC;CACF"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/router/plan.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,IAAI;IAAjB;QACE;;WAEG;QACH,aAAQ,GAAsB,SAAS,CAAC;QACxC;;WAEG;QACH,UAAK,GAA+B,EAAE,CAAC;QACvC;;WAEG;QACH,UAAK,GAAc,EAAE,CAAC;IAaxB,CAAC;IAXC;;OAEG;IACH,MAAM,CAAC,SAA8B,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;QAEhE,OAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAC,CAAC;IAC7E,CAAC;CACF"}
package/lib/router.d.ts CHANGED
@@ -22,9 +22,9 @@ export declare class Router extends Route {
22
22
  addType(name: string, value: PlaceholderType): this;
23
23
  dispatch(ctx: MojoContext): Promise<boolean>;
24
24
  lookup(name: string): Route | null;
25
- plot(spec: RouteSpec): Plan | null;
25
+ plot(spec: RouteSpec): Promise<Plan | null>;
26
26
  warmup(): Promise<void>;
27
- _getPlan(ctx: MojoContext): Plan | null;
28
- _walk(plan: Plan, route: Route, spec: RouteSpec): boolean;
27
+ _getPlan(ctx: MojoContext): Promise<Plan | null>;
28
+ _walk(plan: Plan, route: Route, spec: RouteSpec): Promise<boolean>;
29
29
  }
30
30
  export {};