jj.js 1.0.0-rc.6 → 1.0.0-rc.7

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/controller.js CHANGED
@@ -3,6 +3,7 @@ const Middleware = require('./middleware');
3
3
  /**
4
4
  * @typedef {import('../types').ControllerMiddleware} ControllerMiddleware - Controller中间件
5
5
  * @typedef {import('../types').ViewInstance} ViewInstance - View实例
6
+ * @typedef {'__EXIT__'} EXIT - Controller返回值,表示不继续执行后续方法
6
7
  */
7
8
 
8
9
  /**
@@ -14,7 +15,7 @@ class Controller extends Middleware
14
15
  /**
15
16
  * 初始化方法,在控制器方法执行前自动执行
16
17
  * @protected
17
- * @returns {('__EXIT__'|any)} - 如果返回__EXIT__,则不会执行控制器及后续方法
18
+ * @returns {EXIT|any} - 如果返回__EXIT__,则不会执行控制器及后续方法
18
19
  */
19
20
  _init() {}
20
21
 
@@ -50,7 +51,7 @@ class Controller extends Middleware
50
51
  * 获取文件内容并输出
51
52
  * @public
52
53
  * @param {string} [template]
53
- * @returns {Promise<'__EXIT__'>}
54
+ * @returns {Promise<EXIT>}
54
55
  */
55
56
  async $load(template) {
56
57
  const content = await this._$view.load(template);
@@ -61,7 +62,7 @@ class Controller extends Middleware
61
62
  * 渲染(解析数据)内容并输出
62
63
  * @public
63
64
  * @param {string} content
64
- * @returns {Promise<'__EXIT__'>}
65
+ * @returns {Promise<EXIT>}
65
66
  */
66
67
  async $render(content) {
67
68
  const html = await this._$view.render(content);
@@ -72,7 +73,7 @@ class Controller extends Middleware
72
73
  * 渲染(解析数据)文件并输出
73
74
  * @public
74
75
  * @param {string} [template]
75
- * @returns {Promise<'__EXIT__'>}
76
+ * @returns {Promise<EXIT>}
76
77
  */
77
78
  async $fetch(template) {
78
79
  const content = await this._$view.fetch(template);
package/lib/middleware.js CHANGED
@@ -4,6 +4,7 @@ const Context = require('./context');
4
4
  * @typedef {import('../types').KoaCtx} KoaCtx
5
5
  * @typedef {import('../types').AsyncNext} AsyncNext
6
6
  * @typedef {import('../types').ResponseInstance} ResponseInstance
7
+ * @typedef {'__EXIT__'} EXIT
7
8
  */
8
9
 
9
10
  /**
@@ -11,12 +12,6 @@ const Context = require('./context');
11
12
  */
12
13
  class Middleware extends Context
13
14
  {
14
- /**
15
- * 控制器_init方法或action方法返回此值,表示不继续执行后续方法
16
- * @type {'__EXIT__'}
17
- */
18
- __EXIT__ = '__EXIT__';
19
-
20
15
  /**
21
16
  * Initialize a new `Middleware`
22
17
  * @public
@@ -32,7 +27,7 @@ class Middleware extends Context
32
27
  * 直接输出内容
33
28
  * @public
34
29
  * @param {*} data
35
- * @returns {'__EXIT__'}
30
+ * @returns {EXIT}
36
31
  */
37
32
  $show(data) {
38
33
  return this._$response.show(data);
@@ -43,7 +38,7 @@ class Middleware extends Context
43
38
  * @public
44
39
  * @param {(string|object)} url
45
40
  * @param {number} [status]
46
- * @returns {'__EXIT__'}
41
+ * @returns {EXIT}
47
42
  */
48
43
  $redirect(url, status) {
49
44
  return this._$response.redirect(url, status);
@@ -54,7 +49,7 @@ class Middleware extends Context
54
49
  * @public
55
50
  * @param {(string|object)} [msg]
56
51
  * @param {(string|object)} [url]
57
- * @returns {'__EXIT__'}
52
+ * @returns {EXIT}
58
53
  */
59
54
  $success(msg, url) {
60
55
  return this._$response.success(msg, url);
@@ -65,12 +60,21 @@ class Middleware extends Context
65
60
  * @public
66
61
  * @param {(string|object)} [msg]
67
62
  * @param {(string|object)} [url]
68
- * @returns {'__EXIT__'}
63
+ * @returns {EXIT}
69
64
  */
70
65
  $error(msg, url) {
71
66
  return this._$response.error(msg, url);
72
67
  }
73
68
 
69
+ /**
70
+ * 返回'__EXIT__'
71
+ * @public
72
+ * @returns {EXIT}
73
+ */
74
+ $exit() {
75
+ return '__EXIT__';
76
+ }
77
+
74
78
  /**
75
79
  * @type {ResponseInstance} Response实例
76
80
  * @private
package/lib/response.js CHANGED
@@ -6,6 +6,7 @@ const Context = require('./context');
6
6
  * @typedef {import('../types').KoaCtx} KoaCtx
7
7
  * @typedef {import('../types').RequestInstance} RequestInstance
8
8
  * @typedef {import('../types').UrlInstance} UrlInstance
9
+ * @typedef {'__EXIT__'} EXIT
9
10
  */
10
11
 
11
12
  /**
@@ -13,12 +14,6 @@ const Context = require('./context');
13
14
  */
14
15
  class Response extends Context
15
16
  {
16
- /**
17
- * 控制器_init方法或action方法返回此值,表示不继续执行后续方法
18
- * @type {'__EXIT__'}
19
- */
20
- __EXIT__ = '__EXIT__';
21
-
22
17
  /**
23
18
  * Initialize a new `Response`
24
19
  * @public
@@ -35,11 +30,11 @@ class Response extends Context
35
30
  * 直接输出内容
36
31
  * @public
37
32
  * @param {*} data
38
- * @returns {'__EXIT__'}
33
+ * @returns {EXIT}
39
34
  */
40
35
  show(data) {
41
36
  this.ctx.body = data;
42
- return this.__EXIT__;
37
+ return this.exit();
43
38
  }
44
39
 
45
40
  /**
@@ -47,12 +42,12 @@ class Response extends Context
47
42
  * @public
48
43
  * @param {*} url
49
44
  * @param {number} status
50
- * @returns {'__EXIT__'}
45
+ * @returns {EXIT}
51
46
  */
52
47
  redirect(url, status=302) {
53
48
  this.ctx.status = status;
54
49
  this.ctx.redirect(this._$url.build(url));
55
- return this.__EXIT__;
50
+ return this.exit();
56
51
  }
57
52
 
58
53
  /**
@@ -60,7 +55,7 @@ class Response extends Context
60
55
  * @public
61
56
  * @param {(string|object)} [msg]
62
57
  * @param {(string|object)} [url]
63
- * @returns {'__EXIT__'}
58
+ * @returns {EXIT}
64
59
  */
65
60
  success(msg='操作成功!', url) {
66
61
  typeof msg == 'object' && ([msg, url] = ['操作成功!', msg]);
@@ -73,7 +68,7 @@ class Response extends Context
73
68
  * @public
74
69
  * @param {(string|object)} [msg]
75
70
  * @param {(string|object)} [url]
76
- * @returns {'__EXIT__'}
71
+ * @returns {EXIT}
77
72
  */
78
73
  error(msg='操作失败!', url) {
79
74
  typeof msg == 'object' && ([msg, url] = ['操作失败!', msg]);
@@ -87,7 +82,7 @@ class Response extends Context
87
82
  * @param {(string|object)} msg
88
83
  * @param {(string|object)} url
89
84
  * @param {number} state
90
- * @returns {'__EXIT__'}
85
+ * @returns {EXIT}
91
86
  */
92
87
  jump(msg, url, state=1) {
93
88
  const tplData = {state, msg, url, wait: this._wait};
@@ -95,7 +90,7 @@ class Response extends Context
95
90
  // @ts-ignore
96
91
  return tplData[args[1]];
97
92
  });
98
- return this.__EXIT__;
93
+ return this.exit();
99
94
  }
100
95
 
101
96
  /**
@@ -113,7 +108,7 @@ class Response extends Context
113
108
  * 输出异常信息(html|json)
114
109
  * @public
115
110
  * @param {Error} err
116
- * @returns {'__EXIT__'}
111
+ * @returns {EXIT}
117
112
  */
118
113
  exception(err) {
119
114
  const escapeHtml = require('./utils/escape-html');
@@ -127,7 +122,16 @@ class Response extends Context
127
122
  // @ts-ignore
128
123
  return tplData[args[1]];
129
124
  });
130
- return this.__EXIT__;
125
+ return this.exit();
126
+ }
127
+
128
+ /**
129
+ * 返回'__EXIT__'
130
+ * @public
131
+ * @returns {EXIT}
132
+ */
133
+ exit() {
134
+ return '__EXIT__';
131
135
  }
132
136
 
133
137
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jj.js",
3
- "version": "1.0.0-rc.6",
3
+ "version": "1.0.0-rc.7",
4
4
  "description": "A super simple lightweight NodeJS MVC framework(一个超级简单轻量的NodeJS MVC框架)",
5
5
  "main": "jj.js",
6
6
  "bin": {