cgserver 5.4.12 → 5.4.15

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 (205) hide show
  1. package/lib/Framework/AI/AiObject.d.ts +5 -0
  2. package/lib/Framework/AI/AiObject.js +11 -0
  3. package/lib/Framework/AI/AiObject.js.map +1 -0
  4. package/lib/Framework/AI/Astar.d.ts +38 -0
  5. package/lib/Framework/AI/Astar.js +134 -0
  6. package/lib/Framework/AI/Astar.js.map +1 -0
  7. package/lib/Framework/AI/BehaviorAI.d.ts +24 -0
  8. package/lib/Framework/AI/BehaviorAI.js +308 -0
  9. package/lib/Framework/AI/BehaviorAI.js.map +1 -0
  10. package/lib/Framework/AI/Entity.d.ts +12 -0
  11. package/lib/Framework/AI/Entity.js +34 -0
  12. package/lib/Framework/AI/Entity.js.map +1 -0
  13. package/lib/Framework/AI/Point.d.ts +17 -0
  14. package/lib/Framework/AI/Point.js +69 -0
  15. package/lib/Framework/AI/Point.js.map +1 -0
  16. package/lib/Framework/AI/TriggerMgr.d.ts +52 -0
  17. package/lib/Framework/AI/TriggerMgr.js +202 -0
  18. package/lib/Framework/AI/TriggerMgr.js.map +1 -0
  19. package/lib/Framework/Config/Config.d.ts +7 -0
  20. package/lib/Framework/Config/Config.js +38 -0
  21. package/lib/Framework/Config/Config.js.map +1 -0
  22. package/lib/Framework/Config/FrameworkConfig.d.ts +219 -0
  23. package/lib/Framework/Config/FrameworkConfig.js +225 -0
  24. package/lib/Framework/Config/FrameworkConfig.js.map +1 -0
  25. package/lib/Framework/Config/ServerConfig.d.ts +9 -0
  26. package/lib/Framework/Config/ServerConfig.js +19 -0
  27. package/lib/Framework/Config/ServerConfig.js.map +1 -0
  28. package/lib/Framework/Config/_error_.d.ts +95 -0
  29. package/lib/Framework/Config/_error_.js +35 -0
  30. package/lib/Framework/Config/_error_.js.map +1 -0
  31. package/lib/Framework/Core/Core.d.ts +101 -0
  32. package/lib/Framework/Core/Core.js +562 -0
  33. package/lib/Framework/Core/Core.js.map +1 -0
  34. package/lib/Framework/Core/Timer.d.ts +16 -0
  35. package/lib/Framework/Core/Timer.js +117 -0
  36. package/lib/Framework/Core/Timer.js.map +1 -0
  37. package/lib/Framework/Database/BaseMongoService.d.ts +67 -0
  38. package/lib/Framework/Database/BaseMongoService.js +80 -0
  39. package/lib/Framework/Database/BaseMongoService.js.map +1 -0
  40. package/lib/Framework/Database/BaseService.d.ts +34 -0
  41. package/lib/Framework/Database/BaseService.js +282 -0
  42. package/lib/Framework/Database/BaseService.js.map +1 -0
  43. package/lib/Framework/Database/Decorator/AutoIncrement.d.ts +1 -0
  44. package/lib/Framework/Database/Decorator/AutoIncrement.js +12 -0
  45. package/lib/Framework/Database/Decorator/AutoIncrement.js.map +1 -0
  46. package/lib/Framework/Database/Decorator/DBCache.d.ts +21 -0
  47. package/lib/Framework/Database/Decorator/DBCache.js +65 -0
  48. package/lib/Framework/Database/Decorator/DBCache.js.map +1 -0
  49. package/lib/Framework/Database/Decorator/NotNull.d.ts +1 -0
  50. package/lib/Framework/Database/Decorator/NotNull.js +12 -0
  51. package/lib/Framework/Database/Decorator/NotNull.js.map +1 -0
  52. package/lib/Framework/Database/Decorator/PrimaryKey.d.ts +1 -0
  53. package/lib/Framework/Database/Decorator/PrimaryKey.js +12 -0
  54. package/lib/Framework/Database/Decorator/PrimaryKey.js.map +1 -0
  55. package/lib/Framework/Database/Decorator/Property.d.ts +55 -0
  56. package/lib/Framework/Database/Decorator/Property.js +62 -0
  57. package/lib/Framework/Database/Decorator/Property.js.map +1 -0
  58. package/lib/Framework/Database/Decorator/Table.d.ts +1 -0
  59. package/lib/Framework/Database/Decorator/Table.js +16 -0
  60. package/lib/Framework/Database/Decorator/Table.js.map +1 -0
  61. package/lib/Framework/Database/Decorator/Type.d.ts +1 -0
  62. package/lib/Framework/Database/Decorator/Type.js +21 -0
  63. package/lib/Framework/Database/Decorator/Type.js.map +1 -0
  64. package/lib/Framework/Database/MongoManager.d.ts +135 -0
  65. package/lib/Framework/Database/MongoManager.js +407 -0
  66. package/lib/Framework/Database/MongoManager.js.map +1 -0
  67. package/lib/Framework/Database/MysqlManager.d.ts +41 -0
  68. package/lib/Framework/Database/MysqlManager.js +181 -0
  69. package/lib/Framework/Database/MysqlManager.js.map +1 -0
  70. package/lib/Framework/Database/RedisManager.d.ts +64 -0
  71. package/lib/Framework/Database/RedisManager.js +409 -0
  72. package/lib/Framework/Database/RedisManager.js.map +1 -0
  73. package/lib/Framework/Logic/CacheTool.d.ts +25 -0
  74. package/lib/Framework/Logic/CacheTool.js +74 -0
  75. package/lib/Framework/Logic/CacheTool.js.map +1 -0
  76. package/lib/Framework/Logic/HttpTool.d.ts +14 -0
  77. package/lib/Framework/Logic/HttpTool.js +59 -0
  78. package/lib/Framework/Logic/HttpTool.js.map +1 -0
  79. package/lib/Framework/Logic/Log.d.ts +15 -0
  80. package/lib/Framework/Logic/Log.js +78 -0
  81. package/lib/Framework/Logic/Log.js.map +1 -0
  82. package/lib/Framework/Service/AccountService.d.ts +77 -0
  83. package/lib/Framework/Service/AccountService.js +474 -0
  84. package/lib/Framework/Service/AccountService.js.map +1 -0
  85. package/lib/Framework/Service/MongoAccountService.d.ts +78 -0
  86. package/lib/Framework/Service/MongoAccountService.js +397 -0
  87. package/lib/Framework/Service/MongoAccountService.js.map +1 -0
  88. package/lib/Framework/Service/MongoCacheService.d.ts +13 -0
  89. package/lib/Framework/Service/MongoCacheService.js +28 -0
  90. package/lib/Framework/Service/MongoCacheService.js.map +1 -0
  91. package/lib/Framework/Service/MongoUserService.d.ts +36 -0
  92. package/lib/Framework/Service/MongoUserService.js +94 -0
  93. package/lib/Framework/Service/MongoUserService.js.map +1 -0
  94. package/lib/Framework/Service/UserService.d.ts +36 -0
  95. package/lib/Framework/Service/UserService.js +185 -0
  96. package/lib/Framework/Service/UserService.js.map +1 -0
  97. package/lib/Framework/Service/ini.d.ts +28 -0
  98. package/lib/Framework/Service/ini.js +36 -0
  99. package/lib/Framework/Service/ini.js.map +1 -0
  100. package/lib/Framework/SocketServer/IClientWebSocket.d.ts +24 -0
  101. package/lib/Framework/SocketServer/IClientWebSocket.js +72 -0
  102. package/lib/Framework/SocketServer/IClientWebSocket.js.map +1 -0
  103. package/lib/Framework/SocketServer/IServerWebSocket.d.ts +13 -0
  104. package/lib/Framework/SocketServer/IServerWebSocket.js +42 -0
  105. package/lib/Framework/SocketServer/IServerWebSocket.js.map +1 -0
  106. package/lib/Framework/SocketServer/ISocket.d.ts +44 -0
  107. package/lib/Framework/SocketServer/ISocket.js +224 -0
  108. package/lib/Framework/SocketServer/ISocket.js.map +1 -0
  109. package/lib/Framework/SocketServer/ISocketServer.d.ts +36 -0
  110. package/lib/Framework/SocketServer/ISocketServer.js +189 -0
  111. package/lib/Framework/SocketServer/ISocketServer.js.map +1 -0
  112. package/lib/Framework/SocketServer/IWebSocket copy.d.ts +44 -0
  113. package/lib/Framework/SocketServer/IWebSocket copy.js +224 -0
  114. package/lib/Framework/SocketServer/IWebSocket copy.js.map +1 -0
  115. package/lib/Framework/SocketServer/IWebSocket.d.ts +44 -0
  116. package/lib/Framework/SocketServer/IWebSocket.js +224 -0
  117. package/lib/Framework/SocketServer/IWebSocket.js.map +1 -0
  118. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -0
  119. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +58 -0
  120. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js.map +1 -0
  121. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -0
  122. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +9 -0
  123. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js.map +1 -0
  124. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -0
  125. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +30 -0
  126. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js.map +1 -0
  127. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -0
  128. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +32 -0
  129. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js.map +1 -0
  130. package/lib/Framework/ThirdParty/AlipayTool.d.ts +40 -0
  131. package/lib/Framework/ThirdParty/AlipayTool.js +123 -0
  132. package/lib/Framework/ThirdParty/AlipayTool.js.map +1 -0
  133. package/lib/Framework/ThirdParty/Alisms.d.ts +14 -0
  134. package/lib/Framework/ThirdParty/Alisms.js +47 -0
  135. package/lib/Framework/ThirdParty/Alisms.js.map +1 -0
  136. package/lib/Framework/ThirdParty/AppleTool.d.ts +131 -0
  137. package/lib/Framework/ThirdParty/AppleTool.js +235 -0
  138. package/lib/Framework/ThirdParty/AppleTool.js.map +1 -0
  139. package/lib/Framework/ThirdParty/EmailTool.d.ts +5 -0
  140. package/lib/Framework/ThirdParty/EmailTool.js +34 -0
  141. package/lib/Framework/ThirdParty/EmailTool.js.map +1 -0
  142. package/lib/Framework/ThirdParty/OpenSocial.d.ts +7 -0
  143. package/lib/Framework/ThirdParty/OpenSocial.js +33 -0
  144. package/lib/Framework/ThirdParty/OpenSocial.js.map +1 -0
  145. package/lib/Framework/ThirdParty/QQTool.d.ts +41 -0
  146. package/lib/Framework/ThirdParty/QQTool.js +116 -0
  147. package/lib/Framework/ThirdParty/QQTool.js.map +1 -0
  148. package/lib/Framework/ThirdParty/QiniuTool.d.ts +6 -0
  149. package/lib/Framework/ThirdParty/QiniuTool.js +22 -0
  150. package/lib/Framework/ThirdParty/QiniuTool.js.map +1 -0
  151. package/lib/Framework/ThirdParty/WechatOATool.d.ts +13 -0
  152. package/lib/Framework/ThirdParty/WechatOATool.js +62 -0
  153. package/lib/Framework/ThirdParty/WechatOATool.js.map +1 -0
  154. package/lib/Framework/ThirdParty/WechatTool.d.ts +20 -0
  155. package/lib/Framework/ThirdParty/WechatTool.js +75 -0
  156. package/lib/Framework/ThirdParty/WechatTool.js.map +1 -0
  157. package/lib/Framework/WebServer/Controller/BaseController.d.ts +33 -0
  158. package/lib/Framework/WebServer/Controller/BaseController.js +113 -0
  159. package/lib/Framework/WebServer/Controller/BaseController.js.map +1 -0
  160. package/lib/Framework/WebServer/Controller/BaseUserController.d.ts +26 -0
  161. package/lib/Framework/WebServer/Controller/BaseUserController.js +169 -0
  162. package/lib/Framework/WebServer/Controller/BaseUserController.js.map +1 -0
  163. package/lib/Framework/WebServer/Controller/MongoBaseUserController.d.ts +26 -0
  164. package/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -0
  165. package/lib/Framework/WebServer/Controller/MongoBaseUserController.js.map +1 -0
  166. package/lib/Framework/WebServer/Decorator/AdminValidate.d.ts +1 -0
  167. package/lib/Framework/WebServer/Decorator/AdminValidate.js +20 -0
  168. package/lib/Framework/WebServer/Decorator/AdminValidate.js.map +1 -0
  169. package/lib/Framework/WebServer/Decorator/AuthorityValidate.d.ts +2 -0
  170. package/lib/Framework/WebServer/Decorator/AuthorityValidate.js +23 -0
  171. package/lib/Framework/WebServer/Decorator/AuthorityValidate.js.map +1 -0
  172. package/lib/Framework/WebServer/Decorator/CreatorValidate.d.ts +1 -0
  173. package/lib/Framework/WebServer/Decorator/CreatorValidate.js +20 -0
  174. package/lib/Framework/WebServer/Decorator/CreatorValidate.js.map +1 -0
  175. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.d.ts +1 -0
  176. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.js +16 -0
  177. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.js.map +1 -0
  178. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.d.ts +2 -0
  179. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js +21 -0
  180. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js.map +1 -0
  181. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.d.ts +1 -0
  182. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js +20 -0
  183. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js.map +1 -0
  184. package/lib/Framework/WebServer/Engine/ControllerManager.d.ts +21 -0
  185. package/lib/Framework/WebServer/Engine/ControllerManager.js +113 -0
  186. package/lib/Framework/WebServer/Engine/ControllerManager.js.map +1 -0
  187. package/lib/Framework/WebServer/Engine/Engine.d.ts +21 -0
  188. package/lib/Framework/WebServer/Engine/Engine.js +135 -0
  189. package/lib/Framework/WebServer/Engine/Engine.js.map +1 -0
  190. package/lib/Framework/WebServer/Engine/RazorJs.d.ts +21 -0
  191. package/lib/Framework/WebServer/Engine/RazorJs.js +545 -0
  192. package/lib/Framework/WebServer/Engine/RazorJs.js.map +1 -0
  193. package/lib/Framework/WebServer/Engine/Request.d.ts +35 -0
  194. package/lib/Framework/WebServer/Engine/Request.js +215 -0
  195. package/lib/Framework/WebServer/Engine/Request.js.map +1 -0
  196. package/lib/Framework/WebServer/Engine/Response.d.ts +28 -0
  197. package/lib/Framework/WebServer/Engine/Response.js +95 -0
  198. package/lib/Framework/WebServer/Engine/Response.js.map +1 -0
  199. package/lib/Framework/WebServer/IWebServer.d.ts +20 -0
  200. package/lib/Framework/WebServer/IWebServer.js +50 -0
  201. package/lib/Framework/WebServer/IWebServer.js.map +1 -0
  202. package/lib/index.d.ts +4 -0
  203. package/lib/index.js +8 -0
  204. package/lib/index.js.map +1 -0
  205. package/package.json +1 -1
@@ -0,0 +1,545 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RazorJs = void 0;
4
+ const Log_1 = require("./../../Logic/Log");
5
+ 'use strict';
6
+ var _suffix = ".cshtml";
7
+ var _MATCH_HTML = /[&<>\'"]/g;
8
+ var _ENCODE_HTML_RULES = {
9
+ '&': '&amp;',
10
+ '<': '&lt;',
11
+ '>': '&gt;',
12
+ '"': '&#34;',
13
+ "'": '&#39;'
14
+ };
15
+ var encode_char = function (c) {
16
+ return _ENCODE_HTML_RULES[c] || c;
17
+ };
18
+ var utils = {
19
+ regExpChars: /[|\\{}()[\]^$+*?.]/g,
20
+ escapeRegExpChars: function (string) {
21
+ // istanbul ignore if
22
+ if (!string) {
23
+ return '';
24
+ }
25
+ return String(string).replace(this.regExpChars, '\\$&');
26
+ },
27
+ escapeFuncStr: 'var _ENCODE_HTML_RULES = {\n'
28
+ + ' "&": "&amp;"\n'
29
+ + ' , "<": "&lt;"\n'
30
+ + ' , ">": "&gt;"\n'
31
+ + ' , \'"\': "&#34;"\n'
32
+ + ' , "\'": "&#39;"\n'
33
+ + ' }\n'
34
+ + ' , _MATCH_HTML = /[&<>\'"]/g;\n'
35
+ + 'function encode_char(c) {\n'
36
+ + ' return _ENCODE_HTML_RULES[c] || c;\n'
37
+ + '};\n',
38
+ escapeXML: function (markup) {
39
+ return markup == undefined
40
+ ? ''
41
+ : String(markup)
42
+ .replace(_MATCH_HTML, encode_char);
43
+ },
44
+ shallowCopy: function (to, from) {
45
+ from = from || {};
46
+ for (var p in from) {
47
+ to[p] = from[p];
48
+ }
49
+ return to;
50
+ },
51
+ cache: {
52
+ _data: {},
53
+ set: function (key, val) {
54
+ this._data[key] = val;
55
+ },
56
+ get: function (key) {
57
+ return this._data[key];
58
+ },
59
+ reset: function () {
60
+ this._data = {};
61
+ }
62
+ },
63
+ };
64
+ utils.escapeXML.toString = function () {
65
+ return Function.prototype.toString.call(this) + ';\n' + this.escapeFuncStr;
66
+ };
67
+ var fs = require('fs');
68
+ var scopeOptionWarned = false;
69
+ var _DEFAULT_DELIMITER = '%';
70
+ var _DEFAULT_LOCALS_NAME = 'locals';
71
+ var _REGEX_STRING = '(<%%|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)';
72
+ var _OPTS = ['cache', 'filename', 'delimiter', 'scope', 'context',
73
+ 'debug', 'compileDebug', 'client', '_with', 'rmWhitespace',
74
+ 'strict', 'localsName'
75
+ ];
76
+ var _TRAILING_SEMCOL = /;\s*$/;
77
+ var _BOM = /^\uFEFF/;
78
+ class RazorJs {
79
+ _request = null;
80
+ _response = null;
81
+ cache = utils.cache;
82
+ localsName = _DEFAULT_LOCALS_NAME;
83
+ constructor() {
84
+ }
85
+ resolveInclude(name, filename) {
86
+ var path = require('path'), dirname = path.dirname, extname = path.extname, resolve = path.resolve, includePath = resolve(dirname(filename), name), ext = extname(name);
87
+ if (!ext) {
88
+ includePath += _suffix;
89
+ }
90
+ return includePath;
91
+ }
92
+ _handleCache(options, template) {
93
+ var fn;
94
+ var path = options.filename;
95
+ var hasTemplate = arguments.length > 1;
96
+ if (options.cache) {
97
+ if (!path) {
98
+ throw new Error('cache option requires a filename');
99
+ }
100
+ fn = exports.cache.get(path);
101
+ if (fn) {
102
+ return fn;
103
+ }
104
+ if (!hasTemplate) {
105
+ template = fs.readFileSync(path).toString().replace(_BOM, '');
106
+ }
107
+ }
108
+ else if (!hasTemplate) {
109
+ // istanbul ignore if: should not happen at all
110
+ if (!path) {
111
+ throw new Error('Internal Razor error: no file name or template '
112
+ + 'provided');
113
+ }
114
+ template = fs.readFileSync(path).toString().replace(_BOM, '');
115
+ }
116
+ fn = this.compile(template, options);
117
+ if (options.cache) {
118
+ this.cache.set(path, fn);
119
+ }
120
+ return fn;
121
+ }
122
+ includeFile(path, options) {
123
+ var opts = utils.shallowCopy({}, options);
124
+ if (!opts.filename) {
125
+ throw new Error('`include` requires the \'filename\' option.');
126
+ }
127
+ opts.filename = this.resolveInclude(path, opts.filename);
128
+ return this._handleCache(opts);
129
+ }
130
+ includeSource(path, options) {
131
+ var opts = utils.shallowCopy({}, options), includePath, template;
132
+ includePath = path;
133
+ /*
134
+ if (!opts.filename)
135
+ {
136
+ includePath = path;
137
+ }
138
+ else
139
+ {
140
+ includePath = this.resolveInclude(path, opts.filename);
141
+ }
142
+ */
143
+ /*解决view里面使用其他controller的action返回的分部view,,,但是该功能暂时搁置,因为按照现在的写法无法支持异步操作
144
+ * 而nodejs异步操作是特点所以不去扼杀它的优势了
145
+ if (includePath.lastIndexOf(".") <= 0)
146
+ {
147
+ engine.getEngine().getHtmlFromPath(this._request,this._response,includePath)
148
+ return null
149
+ }
150
+ * */
151
+ template = fs.readFileSync(includePath).toString().replace(_BOM, '');
152
+ options.filename = includePath;
153
+ opts.filename = includePath;
154
+ var templ = new Template(this, template, opts);
155
+ templ.generateSource();
156
+ return templ.source;
157
+ }
158
+ _cpOptsInData(data, opts) {
159
+ _OPTS.forEach(function (p) {
160
+ if (typeof data[p] != 'undefined') {
161
+ opts[p] = data[p];
162
+ }
163
+ });
164
+ }
165
+ compile(template, opts) {
166
+ var templ;
167
+ // v1 compat
168
+ // 'scope' is 'context'
169
+ // FIXME: Remove this in a future version
170
+ if (opts && opts.scope) {
171
+ if (!scopeOptionWarned) {
172
+ console.warn('`scope` option is deprecated and will be removed in Razor 3');
173
+ scopeOptionWarned = true;
174
+ }
175
+ if (!opts.context) {
176
+ opts.context = opts.scope;
177
+ }
178
+ delete opts.scope;
179
+ }
180
+ templ = new Template(this, template, opts);
181
+ return templ.compile();
182
+ }
183
+ render(req, res, tmpl_path, data, opts) {
184
+ this._request = req;
185
+ this._response = res;
186
+ var cs_path = tmpl_path + ".cshtml";
187
+ var template = fs.readFileSync(cs_path).toString();
188
+ if (!template) {
189
+ var h5_path = tmpl_path + ".html";
190
+ var html = fs.readFileSync(h5_path).toString();
191
+ if (html) {
192
+ return html;
193
+ }
194
+ Log_1.GLog.error("no view:" + tmpl_path);
195
+ return "Server Error(No View)";
196
+ }
197
+ data = data || {};
198
+ opts = opts || {};
199
+ var fn;
200
+ // No options object -- if there are optiony names
201
+ // in the data, copy them to options
202
+ if (arguments.length == 2) {
203
+ this._cpOptsInData(data, opts);
204
+ }
205
+ return this._handleCache(opts, template)(data);
206
+ }
207
+ renderFile() {
208
+ var args = Array.prototype.slice.call(arguments), path = args.shift(), cb = args.pop(), data = args.shift() || {}, opts = args.pop() || {}, result;
209
+ // Don't pollute passed in opts obj with new vals
210
+ opts = utils.shallowCopy({}, opts);
211
+ // No options object -- if there are optiony names
212
+ // in the data, copy them to options
213
+ if (arguments.length == 3) {
214
+ // Express 4
215
+ if (data.settings && data.settings['view options']) {
216
+ this._cpOptsInData(data.settings['view options'], opts);
217
+ }
218
+ // Express 3 and lower
219
+ else {
220
+ this._cpOptsInData(data, opts);
221
+ }
222
+ }
223
+ opts.filename = path;
224
+ try {
225
+ result = this._handleCache(opts)(data);
226
+ }
227
+ catch (err) {
228
+ return cb(err);
229
+ }
230
+ return cb(null, result);
231
+ }
232
+ clearCache() {
233
+ this.cache.reset();
234
+ }
235
+ }
236
+ exports.RazorJs = RazorJs;
237
+ var rethrow = function (err, str, filename, lineno) {
238
+ var lines = str.split('\n'), start = Math.max(lineno - 3, 0), end = Math.min(lines.length, lineno + 3);
239
+ // Error context
240
+ var context = lines.slice(start, end).map(function (line, i) {
241
+ var curr = i + start + 1;
242
+ return (curr == lineno ? ' >> ' : ' ')
243
+ + curr
244
+ + '| '
245
+ + line;
246
+ }).join('\n');
247
+ // Alter exception message
248
+ err.path = filename;
249
+ err.message = (filename || 'razor') + ':'
250
+ + lineno + '\n'
251
+ + context + '\n\n'
252
+ + err.message;
253
+ throw err;
254
+ };
255
+ class Template {
256
+ _razorJs = null;
257
+ templateText = "";
258
+ mode = null;
259
+ truncate = false;
260
+ currentLine = 1;
261
+ source = "";
262
+ dependencies = [];
263
+ opts = null;
264
+ regex = null;
265
+ modes = {
266
+ EVAL: 'eval',
267
+ ESCAPED: 'escaped',
268
+ RAW: 'raw',
269
+ COMMENT: 'comment',
270
+ LITERAL: 'literal'
271
+ };
272
+ constructor(razorjs, text, opts) {
273
+ this._razorJs = razorjs;
274
+ opts = opts || {};
275
+ this.templateText = text;
276
+ var options = {
277
+ client: opts.client || false,
278
+ escapeFunction: opts.escape || utils.escapeXML,
279
+ compileDebug: opts.compileDebug !== false,
280
+ debug: !!opts.debug,
281
+ filename: opts.filename,
282
+ delimiter: opts.delimiter || exports.delimiter || _DEFAULT_DELIMITER,
283
+ strict: opts.strict || false,
284
+ context: opts.context,
285
+ cache: opts.cache || false,
286
+ rmWhitespace: opts.rmWhitespace,
287
+ localsName: opts.localsName || exports.localsName || _DEFAULT_LOCALS_NAME,
288
+ _with: false,
289
+ };
290
+ if (!options.strict) {
291
+ options._with = typeof opts._with != 'undefined' ? opts._with : true;
292
+ }
293
+ this.opts = options;
294
+ this.regex = this.createRegex();
295
+ }
296
+ createRegex() {
297
+ var str = _REGEX_STRING, delim = utils.escapeRegExpChars(this.opts.delimiter);
298
+ str = str.replace(/%/g, delim);
299
+ return new RegExp(str);
300
+ }
301
+ compile() {
302
+ var src, fn, opts = this.opts, prepended = '', appended = '', escape = opts.escapeFunction;
303
+ if (opts.rmWhitespace) {
304
+ // Have to use two separate replace here as `^` and `$` operators don't
305
+ // work well with `\r`.
306
+ this.templateText =
307
+ this.templateText.replace(/\r/g, '').replace(/^\s+|\s+$/gm, '');
308
+ }
309
+ // Slurp spaces and tabs before <%_ and after _%>
310
+ this.templateText =
311
+ this.templateText.replace(/[ \t]*<%_/gm, '<%_').replace(/_%>[ \t]*/gm, '_%>');
312
+ if (!this.source) {
313
+ this.generateSource();
314
+ prepended += ' var __output = [], __append = __output.push.bind(__output);' + '\n';
315
+ if (opts._with !== false) {
316
+ prepended += ' with (' + opts.localsName + ' || {}) {' + '\n';
317
+ appended += ' }' + '\n';
318
+ }
319
+ appended += ' return __output.join("");' + '\n';
320
+ this.source = prepended + this.source + appended;
321
+ }
322
+ if (opts.compileDebug) {
323
+ src = 'var __line = 1' + '\n'
324
+ + ' , __lines = ' + JSON.stringify(this.templateText) + '\n'
325
+ + ' , __filename = ' + (opts.filename ?
326
+ JSON.stringify(opts.filename) : 'undefined') + ';' + '\n'
327
+ + 'try {' + '\n'
328
+ + this.source
329
+ + '} catch (e) {' + '\n'
330
+ + ' rethrow(e, __lines, __filename, __line);' + '\n'
331
+ + '}' + '\n';
332
+ }
333
+ else {
334
+ src = this.source;
335
+ }
336
+ if (opts.debug) {
337
+ console.log(src);
338
+ }
339
+ if (opts.client) {
340
+ src = 'escape = escape || ' + escape.toString() + ';' + '\n' + src;
341
+ if (opts.compileDebug) {
342
+ src = 'rethrow = rethrow || ' + rethrow.toString() + ';' + '\n' + src;
343
+ }
344
+ }
345
+ if (opts.strict) {
346
+ src = '"use strict";\n' + src;
347
+ }
348
+ try {
349
+ fn = new Function(opts.localsName + ', escape, include, rethrow', src);
350
+ }
351
+ catch (e) {
352
+ // istanbul ignore else
353
+ if (e instanceof SyntaxError) {
354
+ if (opts.filename) {
355
+ e.message += ' in ' + opts.filename;
356
+ }
357
+ e.message += ' while compiling razor';
358
+ }
359
+ throw e;
360
+ }
361
+ if (opts.client) {
362
+ fn.dependencies = this.dependencies;
363
+ return fn;
364
+ }
365
+ // Return a callable function which will execute the function
366
+ // created by the source-code, with the passed data as locals
367
+ // Adds a local `include` function which allows full recursive include
368
+ var returnedFn = (data) => {
369
+ var include = (path, includeData) => {
370
+ var d = utils.shallowCopy({}, data);
371
+ if (includeData) {
372
+ d = utils.shallowCopy(d, includeData);
373
+ }
374
+ return this._razorJs.includeFile(path, opts)(d);
375
+ };
376
+ return fn.apply(opts.context, [data || {}, escape, include, rethrow]);
377
+ };
378
+ returnedFn.dependencies = this.dependencies;
379
+ return returnedFn;
380
+ }
381
+ generateSource() {
382
+ var self = this;
383
+ var matches = this.parseTemplateText();
384
+ var d = this.opts.delimiter;
385
+ if (matches && matches.length) {
386
+ matches.forEach(function (line, index) {
387
+ var opening;
388
+ var closing;
389
+ var include;
390
+ var includeOpts;
391
+ var includeSrc;
392
+ // If this is an opening tag, check for closing tags
393
+ // FIXME: May end up with some false positives here
394
+ // Better to store modes as k/v with '<' + delimiter as key
395
+ // Then this can simply check against the map
396
+ if (line.indexOf('<' + d) === 0 // If it is a tag
397
+ && line.indexOf('<' + d + d) !== 0) { // and is not escaped
398
+ closing = matches[index + 2];
399
+ if (!(closing == d + '>' || closing == '-' + d + '>' || closing == '_' + d + '>')) {
400
+ throw new Error('Could not find matching close tag for "' + line + '".');
401
+ }
402
+ }
403
+ // HACK: backward-compat `include` preprocessor directives
404
+ if ((include = line.match(/^\s*include\s+(\S+)/))) {
405
+ opening = matches[index - 1];
406
+ // Must be in EVAL or RAW mode
407
+ if (opening && (opening == '<' + d || opening == '<' + d + '-' || opening == '<' + d + '_')) {
408
+ includeOpts = utils.shallowCopy({}, self.opts);
409
+ includeSrc = self._razorJs.includeSource(include[1], includeOpts);
410
+ includeSrc = ' ; (function(){' + '\n' + includeSrc +
411
+ ' ; })()' + '\n';
412
+ self.source += includeSrc;
413
+ self.dependencies.push(self._razorJs.resolveInclude(include[1], includeOpts.filename));
414
+ return;
415
+ }
416
+ }
417
+ self.scanLine(line);
418
+ });
419
+ }
420
+ }
421
+ parseTemplateText() {
422
+ var str = this.templateText, pat = this.regex, result = pat.exec(str), arr = [], firstPos, lastPos;
423
+ while (result) {
424
+ firstPos = result.index;
425
+ lastPos = pat.lastIndex;
426
+ if (firstPos !== 0) {
427
+ arr.push(str.substring(0, firstPos));
428
+ str = str.slice(firstPos);
429
+ }
430
+ arr.push(result[0]);
431
+ str = str.slice(result[0].length);
432
+ result = pat.exec(str);
433
+ }
434
+ if (str) {
435
+ arr.push(str);
436
+ }
437
+ return arr;
438
+ }
439
+ scanLine(line) {
440
+ var self = this, d = this.opts.delimiter, newLineCount = 0;
441
+ function _addOutput() {
442
+ if (self.truncate) {
443
+ // Only replace single leading linebreak in the line after
444
+ // -%> tag -- this is the single, trailing linebreak
445
+ // after the tag that the truncation mode replaces
446
+ // Handle Win / Unix / old Mac linebreaks -- do the \r\n
447
+ // combo first in the regex-or
448
+ line = line.replace(/^(?:\r\n|\r|\n)/, '');
449
+ self.truncate = false;
450
+ }
451
+ else if (self.opts.rmWhitespace) {
452
+ // Gotta be more careful here.
453
+ // .replace(/^(\s*)\n/, '$1') might be more appropriate here but as
454
+ // rmWhitespace already removes trailing spaces anyway so meh.
455
+ line = line.replace(/^\n/, '');
456
+ }
457
+ if (!line) {
458
+ return;
459
+ }
460
+ // Preserve literal slashes
461
+ line = line.replace(/\\/g, '\\\\');
462
+ // Convert linebreaks
463
+ line = line.replace(/\n/g, '\\n');
464
+ line = line.replace(/\r/g, '\\r');
465
+ // Escape double-quotes
466
+ // - this will be the delimiter during execution
467
+ line = line.replace(/"/g, '\\"');
468
+ self.source += ' ; __append("' + line + '")' + '\n';
469
+ }
470
+ newLineCount = (line.split('\n').length - 1);
471
+ switch (line) {
472
+ case '<' + d:
473
+ case '<' + d + '_':
474
+ this.mode = this.modes.EVAL;
475
+ break;
476
+ case '<' + d + '=':
477
+ this.mode = this.modes.ESCAPED;
478
+ break;
479
+ case '<' + d + '-':
480
+ this.mode = this.modes.RAW;
481
+ break;
482
+ case '<' + d + '#':
483
+ this.mode = this.modes.COMMENT;
484
+ break;
485
+ case '<' + d + d:
486
+ this.mode = this.modes.LITERAL;
487
+ this.source += ' ; __append("' + line.replace('<' + d + d, '<' + d) + '")' + '\n';
488
+ break;
489
+ case d + '>':
490
+ case '-' + d + '>':
491
+ case '_' + d + '>':
492
+ if (this.mode == this.modes.LITERAL) {
493
+ _addOutput();
494
+ }
495
+ this.mode = null;
496
+ this.truncate = line.indexOf('-') === 0 || line.indexOf('_') === 0;
497
+ break;
498
+ default:
499
+ // In script mode, depends on type of tag
500
+ if (this.mode) {
501
+ // If '//' is found without a line break, add a line break.
502
+ switch (this.mode) {
503
+ case this.modes.EVAL:
504
+ case this.modes.ESCAPED:
505
+ case this.modes.RAW:
506
+ if (line.lastIndexOf('//') > line.lastIndexOf('\n')) {
507
+ line += '\n';
508
+ }
509
+ }
510
+ switch (this.mode) {
511
+ // Just executing code
512
+ case this.modes.EVAL:
513
+ this.source += ' ; ' + line + '\n';
514
+ break;
515
+ // Exec, esc, and output
516
+ case this.modes.ESCAPED:
517
+ this.source += ' ; __append(escape(' +
518
+ line.replace(_TRAILING_SEMCOL, '').trim() + '))' + '\n';
519
+ break;
520
+ // Exec and output
521
+ case this.modes.RAW:
522
+ this.source += ' ; __append(' +
523
+ line.replace(_TRAILING_SEMCOL, '').trim() + ')' + '\n';
524
+ break;
525
+ case this.modes.COMMENT:
526
+ // Do nothing
527
+ break;
528
+ // Literal <%% mode, append as raw output
529
+ case this.modes.LITERAL:
530
+ _addOutput();
531
+ break;
532
+ }
533
+ }
534
+ // In string mode, just add the output
535
+ else {
536
+ _addOutput();
537
+ }
538
+ }
539
+ if (self.opts.compileDebug && newLineCount) {
540
+ this.currentLine += newLineCount;
541
+ this.source += ' ; __line = ' + this.currentLine + '\n';
542
+ }
543
+ }
544
+ }
545
+ //# sourceMappingURL=RazorJs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RazorJs.js","sourceRoot":"","sources":["../../../../Framework/WebServer/Engine/RazorJs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /// <reference types="qs" />
2
+ /// <reference types="node" />
3
+ import * as Express from 'express';
4
+ import { WebServerConfig } from "../../Config/FrameworkConfig";
5
+ export declare class Request {
6
+ protected _req: Express.Request;
7
+ get baseReq(): Express.Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
8
+ protected _cfg: WebServerConfig;
9
+ protected _post_cb: () => void;
10
+ set onPost(value: any);
11
+ protected _module: string;
12
+ get module(): string;
13
+ protected _controller: string;
14
+ get controller(): string;
15
+ protected _action: string;
16
+ get action(): string;
17
+ protected _suffix: string;
18
+ get suffix(): string;
19
+ protected _file_url: any;
20
+ get fileUrl(): any;
21
+ protected _params: any;
22
+ get params(): any;
23
+ get postData(): any;
24
+ get url(): string;
25
+ get root(): string;
26
+ get method(): string;
27
+ get headers(): import("http").IncomingHttpHeaders;
28
+ get remoteHost(): string;
29
+ constructor(req: Express.Request, cfg: WebServerConfig);
30
+ getCookie(key: string): any;
31
+ protected _init(): void;
32
+ protected _addListener(event: string | symbol, listener: (...args: any[]) => void): void;
33
+ protected _parseParams(path: string): void;
34
+ debugInfo(): void;
35
+ }