vona-core 1.0.0 → 5.0.10

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 (233) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.js +4 -0
  4. package/dist/lib/bean/beanAopBase.d.ts +3 -0
  5. package/dist/lib/bean/beanAopBase.js +3 -0
  6. package/dist/lib/bean/beanAopMethodBase.d.ts +3 -0
  7. package/dist/lib/bean/beanAopMethodBase.js +3 -0
  8. package/dist/lib/bean/beanBase.d.ts +19 -0
  9. package/dist/lib/bean/beanBase.js +36 -0
  10. package/dist/lib/bean/beanBaseSimple.d.ts +14 -0
  11. package/dist/lib/bean/beanBaseSimple.js +27 -0
  12. package/dist/lib/bean/beanContainer.d.ts +40 -0
  13. package/dist/lib/bean/beanContainer.js +578 -0
  14. package/dist/lib/bean/beanSimple.d.ts +7 -0
  15. package/dist/lib/bean/beanSimple.js +9 -0
  16. package/dist/lib/bean/index.d.ts +9 -0
  17. package/dist/lib/bean/index.js +9 -0
  18. package/dist/lib/bean/resource/config/index.d.ts +1 -0
  19. package/dist/lib/bean/resource/config/index.js +1 -0
  20. package/dist/lib/bean/resource/config/type.d.ts +2 -0
  21. package/dist/lib/bean/resource/config/type.js +1 -0
  22. package/dist/lib/bean/resource/constant/index.d.ts +1 -0
  23. package/dist/lib/bean/resource/constant/index.js +1 -0
  24. package/dist/lib/bean/resource/constant/type.d.ts +1 -0
  25. package/dist/lib/bean/resource/constant/type.js +1 -0
  26. package/dist/lib/bean/resource/error/_errorInternal.d.ts +66 -0
  27. package/dist/lib/bean/resource/error/_errorInternal.js +66 -0
  28. package/dist/lib/bean/resource/error/beanScopeError.d.ts +10 -0
  29. package/dist/lib/bean/resource/error/beanScopeError.js +17 -0
  30. package/dist/lib/bean/resource/error/beanScopeErrorImpl.d.ts +13 -0
  31. package/dist/lib/bean/resource/error/beanScopeErrorImpl.js +18 -0
  32. package/dist/lib/bean/resource/error/errorApplication.d.ts +32 -0
  33. package/dist/lib/bean/resource/error/errorApplication.js +1 -0
  34. package/dist/lib/bean/resource/error/errorClass.d.ts +17 -0
  35. package/dist/lib/bean/resource/error/errorClass.js +71 -0
  36. package/dist/lib/bean/resource/error/errorGlobal.d.ts +7 -0
  37. package/dist/lib/bean/resource/error/errorGlobal.js +1 -0
  38. package/dist/lib/bean/resource/error/errorObject.d.ts +4 -0
  39. package/dist/lib/bean/resource/error/errorObject.js +1 -0
  40. package/dist/lib/bean/resource/error/index.d.ts +7 -0
  41. package/dist/lib/bean/resource/error/index.js +7 -0
  42. package/dist/lib/bean/resource/error/type.d.ts +8 -0
  43. package/dist/lib/bean/resource/error/type.js +1 -0
  44. package/dist/lib/bean/resource/index.d.ts +4 -0
  45. package/dist/lib/bean/resource/index.js +4 -0
  46. package/dist/lib/bean/resource/locale/appLocale.d.ts +7 -0
  47. package/dist/lib/bean/resource/locale/appLocale.js +45 -0
  48. package/dist/lib/bean/resource/locale/beanScopeLocale.d.ts +10 -0
  49. package/dist/lib/bean/resource/locale/beanScopeLocale.js +16 -0
  50. package/dist/lib/bean/resource/locale/index.d.ts +3 -0
  51. package/dist/lib/bean/resource/locale/index.js +3 -0
  52. package/dist/lib/bean/resource/locale/type.d.ts +19 -0
  53. package/dist/lib/bean/resource/locale/type.js +1 -0
  54. package/dist/lib/bean/scope/beanScopeBase.d.ts +19 -0
  55. package/dist/lib/bean/scope/beanScopeBase.js +88 -0
  56. package/dist/lib/bean/scope/beanScopeContainer.d.ts +7 -0
  57. package/dist/lib/bean/scope/beanScopeContainer.js +15 -0
  58. package/dist/lib/bean/scope/beanScopeScene.d.ts +11 -0
  59. package/dist/lib/bean/scope/beanScopeScene.js +20 -0
  60. package/dist/lib/bean/scope/beanScopeUtil.d.ts +10 -0
  61. package/dist/lib/bean/scope/beanScopeUtil.js +18 -0
  62. package/dist/lib/bean/scope/index.d.ts +4 -0
  63. package/dist/lib/bean/scope/index.js +4 -0
  64. package/dist/lib/bean/type.d.ts +21 -0
  65. package/dist/lib/bean/type.js +2 -0
  66. package/dist/lib/core/application.d.ts +25 -0
  67. package/dist/lib/core/application.js +78 -0
  68. package/dist/lib/core/asyncLocalStorage.d.ts +8 -0
  69. package/dist/lib/core/asyncLocalStorage.js +23 -0
  70. package/dist/lib/core/config.d.ts +12 -0
  71. package/dist/lib/core/config.js +120 -0
  72. package/dist/lib/core/context.d.ts +2 -0
  73. package/dist/lib/core/context.js +104 -0
  74. package/dist/lib/core/ctxCounter.d.ts +7 -0
  75. package/dist/lib/core/ctxCounter.js +20 -0
  76. package/dist/lib/core/index.d.ts +6 -0
  77. package/dist/lib/core/index.js +6 -0
  78. package/dist/lib/core/locales.d.ts +137 -0
  79. package/dist/lib/core/locales.js +6 -0
  80. package/dist/lib/core/logger.d.ts +22 -0
  81. package/dist/lib/core/logger.js +147 -0
  82. package/dist/lib/core/loggerDefault.d.ts +3 -0
  83. package/dist/lib/core/loggerDefault.js +44 -0
  84. package/dist/lib/core/meta.d.ts +42 -0
  85. package/dist/lib/core/meta.js +123 -0
  86. package/dist/lib/core/metadata.d.ts +15 -0
  87. package/dist/lib/core/metadata.js +80 -0
  88. package/dist/lib/core/resource.d.ts +33 -0
  89. package/dist/lib/core/resource.js +146 -0
  90. package/dist/lib/decorator/class/beanInfo.d.ts +2 -0
  91. package/dist/lib/decorator/class/beanInfo.js +8 -0
  92. package/dist/lib/decorator/class/createBeanDecorator.d.ts +3 -0
  93. package/dist/lib/decorator/class/createBeanDecorator.js +23 -0
  94. package/dist/lib/decorator/class/index.d.ts +4 -0
  95. package/dist/lib/decorator/class/index.js +4 -0
  96. package/dist/lib/decorator/class/proxyDisable.d.ts +1 -0
  97. package/dist/lib/decorator/class/proxyDisable.js +8 -0
  98. package/dist/lib/decorator/class/use.d.ts +7 -0
  99. package/dist/lib/decorator/class/use.js +69 -0
  100. package/dist/lib/decorator/class/util.d.ts +3 -0
  101. package/dist/lib/decorator/class/util.js +9 -0
  102. package/dist/lib/decorator/index.d.ts +3 -0
  103. package/dist/lib/decorator/index.js +3 -0
  104. package/dist/lib/decorator/interface/beanOptions.d.ts +21 -0
  105. package/dist/lib/decorator/interface/beanOptions.js +1 -0
  106. package/dist/lib/decorator/interface/index.d.ts +2 -0
  107. package/dist/lib/decorator/interface/index.js +2 -0
  108. package/dist/lib/decorator/interface/useOptions.d.ts +29 -0
  109. package/dist/lib/decorator/interface/useOptions.js +1 -0
  110. package/dist/lib/decorator/type/constructable.d.ts +1 -0
  111. package/dist/lib/decorator/type/constructable.js +1 -0
  112. package/dist/lib/decorator/type/containerScope.d.ts +1 -0
  113. package/dist/lib/decorator/type/containerScope.js +1 -0
  114. package/dist/lib/decorator/type/function.d.ts +6 -0
  115. package/dist/lib/decorator/type/function.js +1 -0
  116. package/dist/lib/decorator/type/index.d.ts +4 -0
  117. package/dist/lib/decorator/type/index.js +4 -0
  118. package/dist/lib/decorator/type/injectionScope.d.ts +1 -0
  119. package/dist/lib/decorator/type/injectionScope.js +1 -0
  120. package/dist/lib/framework/bootstrap.d.ts +3 -0
  121. package/dist/lib/framework/bootstrap.js +13 -0
  122. package/dist/lib/framework/cluster.d.ts +2 -0
  123. package/dist/lib/framework/cluster.js +32 -0
  124. package/dist/lib/framework/createApp.d.ts +2 -0
  125. package/dist/lib/framework/createApp.js +71 -0
  126. package/dist/lib/framework/index.d.ts +4 -0
  127. package/dist/lib/framework/index.js +4 -0
  128. package/dist/lib/framework/process.d.ts +2 -0
  129. package/dist/lib/framework/process.js +36 -0
  130. package/dist/lib/framework/start.d.ts +10 -0
  131. package/dist/lib/framework/start.js +51 -0
  132. package/dist/lib/framework/useApp.d.ts +4 -0
  133. package/dist/lib/framework/useApp.js +49 -0
  134. package/dist/lib/index.d.ts +6 -0
  135. package/dist/lib/index.js +6 -0
  136. package/dist/lib/locale/en-us.d.ts +68 -0
  137. package/dist/lib/locale/en-us.js +68 -0
  138. package/dist/lib/locale/zh-cn.d.ts +68 -0
  139. package/dist/lib/locale/zh-cn.js +68 -0
  140. package/dist/lib/mappedClass/index.d.ts +3 -0
  141. package/dist/lib/mappedClass/index.js +3 -0
  142. package/dist/lib/mappedClass/mappedClass.d.ts +10 -0
  143. package/dist/lib/mappedClass/mappedClass.js +10 -0
  144. package/dist/lib/mappedClass/mixinClass.d.ts +8 -0
  145. package/dist/lib/mappedClass/mixinClass.js +8 -0
  146. package/dist/lib/mappedClass/omitClass.d.ts +2 -0
  147. package/dist/lib/mappedClass/omitClass.js +14 -0
  148. package/dist/lib/mappedClass/partialClass.d.ts +3 -0
  149. package/dist/lib/mappedClass/partialClass.js +15 -0
  150. package/dist/lib/mappedClass/pickClass.d.ts +2 -0
  151. package/dist/lib/mappedClass/pickClass.js +14 -0
  152. package/dist/lib/mappedClass/type.d.ts +6 -0
  153. package/dist/lib/mappedClass/type.js +1 -0
  154. package/dist/lib/mappedClass/utils.d.ts +8 -0
  155. package/dist/lib/mappedClass/utils.js +76 -0
  156. package/dist/lib/module/config.d.ts +3 -0
  157. package/dist/lib/module/config.js +17 -0
  158. package/dist/lib/module/constant.d.ts +3 -0
  159. package/dist/lib/module/constant.js +16 -0
  160. package/dist/lib/module/errors.d.ts +3 -0
  161. package/dist/lib/module/errors.js +29 -0
  162. package/dist/lib/module/loader.d.ts +4 -0
  163. package/dist/lib/module/loader.js +25 -0
  164. package/dist/lib/module/locales.d.ts +3 -0
  165. package/dist/lib/module/locales.js +48 -0
  166. package/dist/lib/module/module.d.ts +7 -0
  167. package/dist/lib/module/module.js +32 -0
  168. package/dist/lib/utils/index.d.ts +4 -0
  169. package/dist/lib/utils/index.js +4 -0
  170. package/dist/lib/utils/isClass.d.ts +2 -0
  171. package/dist/lib/utils/isClass.js +18 -0
  172. package/dist/lib/utils/retry.d.ts +4 -0
  173. package/dist/lib/utils/retry.js +16 -0
  174. package/dist/lib/utils/util.d.ts +59 -0
  175. package/dist/lib/utils/util.js +298 -0
  176. package/dist/lib/utils/zod-openapi.d.ts +1 -0
  177. package/dist/lib/utils/zod-openapi.js +3 -0
  178. package/dist/types/application/app.d.ts +36 -0
  179. package/dist/types/application/app.js +1 -0
  180. package/dist/types/application/index.d.ts +1 -0
  181. package/dist/types/application/index.js +1 -0
  182. package/dist/types/config/config.d.ts +36 -0
  183. package/dist/types/config/config.js +1 -0
  184. package/dist/types/config/index.d.ts +3 -0
  185. package/dist/types/config/index.js +3 -0
  186. package/dist/types/config/instance.d.ts +7 -0
  187. package/dist/types/config/instance.js +1 -0
  188. package/dist/types/config/locale.d.ts +10 -0
  189. package/dist/types/config/locale.js +3 -0
  190. package/dist/types/context/contextBase.d.ts +24 -0
  191. package/dist/types/context/contextBase.js +1 -0
  192. package/dist/types/context/contextConfig.d.ts +3 -0
  193. package/dist/types/context/contextConfig.js +1 -0
  194. package/dist/types/context/contextOthers.d.ts +4 -0
  195. package/dist/types/context/contextOthers.js +1 -0
  196. package/dist/types/context/contextState.d.ts +7 -0
  197. package/dist/types/context/contextState.js +1 -0
  198. package/dist/types/context/index.d.ts +10 -0
  199. package/dist/types/context/index.js +1 -0
  200. package/dist/types/enum/appEvent.d.ts +4 -0
  201. package/dist/types/enum/appEvent.js +5 -0
  202. package/dist/types/enum/httpStatus.d.ts +68 -0
  203. package/dist/types/enum/httpStatus.js +69 -0
  204. package/dist/types/enum/index.d.ts +2 -0
  205. package/dist/types/enum/index.js +2 -0
  206. package/dist/types/index.d.ts +6 -0
  207. package/dist/types/index.js +6 -0
  208. package/dist/types/interface/bootstrap.d.ts +10 -0
  209. package/dist/types/interface/bootstrap.js +1 -0
  210. package/dist/types/interface/index.d.ts +4 -0
  211. package/dist/types/interface/index.js +4 -0
  212. package/dist/types/interface/logger.d.ts +22 -0
  213. package/dist/types/interface/logger.js +1 -0
  214. package/dist/types/interface/module.d.ts +24 -0
  215. package/dist/types/interface/module.js +1 -0
  216. package/dist/types/interface/monkey.d.ts +31 -0
  217. package/dist/types/interface/monkey.js +1 -0
  218. package/dist/types/utils/cast.d.ts +5 -0
  219. package/dist/types/utils/cast.js +3 -0
  220. package/dist/types/utils/demo.d.ts +4 -0
  221. package/dist/types/utils/demo.js +1 -0
  222. package/dist/types/utils/env.d.ts +25 -0
  223. package/dist/types/utils/env.js +1 -0
  224. package/dist/types/utils/index.d.ts +6 -0
  225. package/dist/types/utils/index.js +6 -0
  226. package/dist/types/utils/omitNever.d.ts +9 -0
  227. package/dist/types/utils/omitNever.js +1 -0
  228. package/dist/types/utils/powerPartial.d.ts +3 -0
  229. package/dist/types/utils/powerPartial.js +1 -0
  230. package/dist/types/utils/type.d.ts +3 -0
  231. package/dist/types/utils/type.js +1 -0
  232. package/package.json +37 -18
  233. package/README.md +0 -1
@@ -0,0 +1,68 @@
1
+ declare const _default: {
2
+ ValidationFailedDev: string;
3
+ HTTPSTATUS_SUCCESS: string;
4
+ HTTPSTATUS_UNKNOWN_ERROR: string;
5
+ HTTPSTATUS_CONTINUE: string;
6
+ HTTPSTATUS_SWITCHING_PROTOCOLS: string;
7
+ HTTPSTATUS_PROCESSING: string;
8
+ HTTPSTATUS_EARLYHINTS: string;
9
+ HTTPSTATUS_OK: string;
10
+ HTTPSTATUS_CREATED: string;
11
+ HTTPSTATUS_ACCEPTED: string;
12
+ HTTPSTATUS_NON_AUTHORITATIVE_INFORMATION: string;
13
+ HTTPSTATUS_NO_CONTENT: string;
14
+ HTTPSTATUS_RESET_CONTENT: string;
15
+ HTTPSTATUS_PARTIAL_CONTENT: string;
16
+ HTTPSTATUS_MULTI_STATUS: string;
17
+ HTTPSTATUS_ALREADY_REPORTED: string;
18
+ HTTPSTATUS_IM_USED: string;
19
+ HTTPSTATUS_MULTIPLE_CHOICES: string;
20
+ HTTPSTATUS_MOVED_PERMANENTLY: string;
21
+ HTTPSTATUS_FOUND: string;
22
+ HTTPSTATUS_SEE_OTHER: string;
23
+ HTTPSTATUS_NOT_MODIFIED: string;
24
+ HTTPSTATUS_USE_PROXY: string;
25
+ HTTPSTATUS_TEMPORARY_REDIRECT: string;
26
+ HTTPSTATUS_PERMANENT_REDIRECT: string;
27
+ HTTPSTATUS_BAD_REQUEST: string;
28
+ HTTPSTATUS_UNAUTHORIZED: string;
29
+ HTTPSTATUS_PAYMENT_REQUIRED: string;
30
+ HTTPSTATUS_FORBIDDEN: string;
31
+ HTTPSTATUS_NOT_FOUND: string;
32
+ HTTPSTATUS_METHOD_NOT_ALLOWED: string;
33
+ HTTPSTATUS_NOT_ACCEPTABLE: string;
34
+ HTTPSTATUS_PROXY_AUTHENTICATION_REQUIRED: string;
35
+ HTTPSTATUS_REQUEST_TIMEOUT: string;
36
+ HTTPSTATUS_CONFLICT: string;
37
+ HTTPSTATUS_GONE: string;
38
+ HTTPSTATUS_LENGTH_REQUIRED: string;
39
+ HTTPSTATUS_PRECONDITION_FAILED: string;
40
+ HTTPSTATUS_PAYLOAD_TOO_LARGE: string;
41
+ HTTPSTATUS_URI_TOO_LONG: string;
42
+ HTTPSTATUS_UNSUPPORTED_MEDIA_TYPE: string;
43
+ HTTPSTATUS_REQUESTED_RANGE_NOT_SATISFIABLE: string;
44
+ HTTPSTATUS_EXPECTATION_FAILED: string;
45
+ HTTPSTATUS_I_AM_A_TEAPOT: string;
46
+ HTTPSTATUS_MISDIRECTED: string;
47
+ HTTPSTATUS_UNPROCESSABLE_CONTENT: string;
48
+ HTTPSTATUS_LOCKED: string;
49
+ HTTPSTATUS_FAILED_DEPENDENCY: string;
50
+ HTTPSTATUS_TOO_EARLY: string;
51
+ HTTPSTATUS_UPGRADE_REQUIRED: string;
52
+ HTTPSTATUS_PRECONDITION_REQUIRED: string;
53
+ HTTPSTATUS_TOO_MANY_REQUESTS: string;
54
+ HTTPSTATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: string;
55
+ HTTPSTATUS_UNAVAILABLE_FOR_LEGAL_REASONS: string;
56
+ HTTPSTATUS_INTERNAL_SERVER_ERROR: string;
57
+ HTTPSTATUS_NOT_IMPLEMENTED: string;
58
+ HTTPSTATUS_BAD_GATEWAY: string;
59
+ HTTPSTATUS_SERVICE_UNAVAILABLE: string;
60
+ HTTPSTATUS_GATEWAY_TIMEOUT: string;
61
+ HTTPSTATUS_HTTP_VERSION_NOT_SUPPORTED: string;
62
+ HTTPSTATUS_VARIANT_ALSO_NEGOTIATES: string;
63
+ HTTPSTATUS_INSUFFICIENT_STORAGE: string;
64
+ HTTPSTATUS_LOOP_DETECTED: string;
65
+ HTTPSTATUS_BANDWIDTH_LIMIT_EXCEEDED: string;
66
+ HTTPSTATUS_NETWORK_AUTHENTICATION_REQUIRED: string;
67
+ };
68
+ export default _default;
@@ -0,0 +1,68 @@
1
+ export default {
2
+ ValidationFailedDev: 'controller: %s, method: %s, argument: %d',
3
+ // http status
4
+ HTTPSTATUS_SUCCESS: 'Success',
5
+ HTTPSTATUS_UNKNOWN_ERROR: 'Unknown Error',
6
+ HTTPSTATUS_CONTINUE: 'Continue',
7
+ HTTPSTATUS_SWITCHING_PROTOCOLS: 'Switching Protocols',
8
+ HTTPSTATUS_PROCESSING: 'Processing',
9
+ HTTPSTATUS_EARLYHINTS: 'Early hints',
10
+ HTTPSTATUS_OK: 'Ok',
11
+ HTTPSTATUS_CREATED: 'Created',
12
+ HTTPSTATUS_ACCEPTED: 'Accepted',
13
+ HTTPSTATUS_NON_AUTHORITATIVE_INFORMATION: 'Non Authoritative Information',
14
+ HTTPSTATUS_NO_CONTENT: 'No Content',
15
+ HTTPSTATUS_RESET_CONTENT: 'Reset Content',
16
+ HTTPSTATUS_PARTIAL_CONTENT: 'Partial Content',
17
+ HTTPSTATUS_MULTI_STATUS: 'Multi Status',
18
+ HTTPSTATUS_ALREADY_REPORTED: 'Already Reported',
19
+ HTTPSTATUS_IM_USED: 'IM Used',
20
+ HTTPSTATUS_MULTIPLE_CHOICES: 'Multiple Choices',
21
+ HTTPSTATUS_MOVED_PERMANENTLY: 'Moved Permanently',
22
+ HTTPSTATUS_FOUND: 'Found',
23
+ HTTPSTATUS_SEE_OTHER: 'See Other',
24
+ HTTPSTATUS_NOT_MODIFIED: 'Not Modified',
25
+ HTTPSTATUS_USE_PROXY: 'Use Proxy',
26
+ HTTPSTATUS_TEMPORARY_REDIRECT: 'Temporary Redirect',
27
+ HTTPSTATUS_PERMANENT_REDIRECT: 'Permanent Redirect',
28
+ HTTPSTATUS_BAD_REQUEST: 'Bad Request',
29
+ HTTPSTATUS_UNAUTHORIZED: 'Unauthorized',
30
+ HTTPSTATUS_PAYMENT_REQUIRED: 'Payment Required',
31
+ HTTPSTATUS_FORBIDDEN: 'Forbidden',
32
+ HTTPSTATUS_NOT_FOUND: 'Not Found',
33
+ HTTPSTATUS_METHOD_NOT_ALLOWED: 'Method Not Allowed',
34
+ HTTPSTATUS_NOT_ACCEPTABLE: 'Not Acceptable',
35
+ HTTPSTATUS_PROXY_AUTHENTICATION_REQUIRED: 'Proxy Authentication Required',
36
+ HTTPSTATUS_REQUEST_TIMEOUT: 'Request Timeout',
37
+ HTTPSTATUS_CONFLICT: 'Conflict',
38
+ HTTPSTATUS_GONE: 'Gone',
39
+ HTTPSTATUS_LENGTH_REQUIRED: 'Length Required',
40
+ HTTPSTATUS_PRECONDITION_FAILED: 'Precondition Failed',
41
+ HTTPSTATUS_PAYLOAD_TOO_LARGE: 'Payload Too Large',
42
+ HTTPSTATUS_URI_TOO_LONG: 'URI Too Long',
43
+ HTTPSTATUS_UNSUPPORTED_MEDIA_TYPE: 'Unsupported Media Type',
44
+ HTTPSTATUS_REQUESTED_RANGE_NOT_SATISFIABLE: 'Requested Range Not Satisfiable',
45
+ HTTPSTATUS_EXPECTATION_FAILED: 'Expectation Failed',
46
+ HTTPSTATUS_I_AM_A_TEAPOT: 'I am a Teapot',
47
+ HTTPSTATUS_MISDIRECTED: 'Misdirected Request',
48
+ HTTPSTATUS_UNPROCESSABLE_CONTENT: 'Unprocessable Content',
49
+ HTTPSTATUS_LOCKED: 'Locked',
50
+ HTTPSTATUS_FAILED_DEPENDENCY: 'Failed Dependency',
51
+ HTTPSTATUS_TOO_EARLY: 'Too Early',
52
+ HTTPSTATUS_UPGRADE_REQUIRED: 'Upgrade Required',
53
+ HTTPSTATUS_PRECONDITION_REQUIRED: 'Precondition Required',
54
+ HTTPSTATUS_TOO_MANY_REQUESTS: 'Too Many Requests',
55
+ HTTPSTATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 'Request Header Fields Too Large',
56
+ HTTPSTATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 'Unavailable For Legal Reasons',
57
+ HTTPSTATUS_INTERNAL_SERVER_ERROR: 'Internal Server Error',
58
+ HTTPSTATUS_NOT_IMPLEMENTED: 'Not Implemented',
59
+ HTTPSTATUS_BAD_GATEWAY: 'Bad Gateway',
60
+ HTTPSTATUS_SERVICE_UNAVAILABLE: 'Service Unavailable',
61
+ HTTPSTATUS_GATEWAY_TIMEOUT: 'Gateway Timeout',
62
+ HTTPSTATUS_HTTP_VERSION_NOT_SUPPORTED: 'HTTP Version Not Supported',
63
+ HTTPSTATUS_VARIANT_ALSO_NEGOTIATES: 'Variant Also Negotiates',
64
+ HTTPSTATUS_INSUFFICIENT_STORAGE: 'Insufficient Storage',
65
+ HTTPSTATUS_LOOP_DETECTED: 'Loop Detected',
66
+ HTTPSTATUS_BANDWIDTH_LIMIT_EXCEEDED: 'Bandwidth Limit Exceeded',
67
+ HTTPSTATUS_NETWORK_AUTHENTICATION_REQUIRED: 'Network Authentication Required',
68
+ };
@@ -0,0 +1,68 @@
1
+ declare const _default: {
2
+ ValidationFailedDev: string;
3
+ HTTPSTATUS_SUCCESS: string;
4
+ HTTPSTATUS_UNKNOWN_ERROR: string;
5
+ HTTPSTATUS_CONTINUE: string;
6
+ HTTPSTATUS_SWITCHING_PROTOCOLS: string;
7
+ HTTPSTATUS_PROCESSING: string;
8
+ HTTPSTATUS_EARLYHINTS: string;
9
+ HTTPSTATUS_OK: string;
10
+ HTTPSTATUS_CREATED: string;
11
+ HTTPSTATUS_ACCEPTED: string;
12
+ HTTPSTATUS_NON_AUTHORITATIVE_INFORMATION: string;
13
+ HTTPSTATUS_NO_CONTENT: string;
14
+ HTTPSTATUS_RESET_CONTENT: string;
15
+ HTTPSTATUS_PARTIAL_CONTENT: string;
16
+ HTTPSTATUS_MULTI_STATUS: string;
17
+ HTTPSTATUS_ALREADY_REPORTED: string;
18
+ HTTPSTATUS_IM_USED: string;
19
+ HTTPSTATUS_MULTIPLE_CHOICES: string;
20
+ HTTPSTATUS_MOVED_PERMANENTLY: string;
21
+ HTTPSTATUS_FOUND: string;
22
+ HTTPSTATUS_SEE_OTHER: string;
23
+ HTTPSTATUS_NOT_MODIFIED: string;
24
+ HTTPSTATUS_USE_PROXY: string;
25
+ HTTPSTATUS_TEMPORARY_REDIRECT: string;
26
+ HTTPSTATUS_PERMANENT_REDIRECT: string;
27
+ HTTPSTATUS_BAD_REQUEST: string;
28
+ HTTPSTATUS_UNAUTHORIZED: string;
29
+ HTTPSTATUS_PAYMENT_REQUIRED: string;
30
+ HTTPSTATUS_FORBIDDEN: string;
31
+ HTTPSTATUS_NOT_FOUND: string;
32
+ HTTPSTATUS_METHOD_NOT_ALLOWED: string;
33
+ HTTPSTATUS_NOT_ACCEPTABLE: string;
34
+ HTTPSTATUS_PROXY_AUTHENTICATION_REQUIRED: string;
35
+ HTTPSTATUS_REQUEST_TIMEOUT: string;
36
+ HTTPSTATUS_CONFLICT: string;
37
+ HTTPSTATUS_GONE: string;
38
+ HTTPSTATUS_LENGTH_REQUIRED: string;
39
+ HTTPSTATUS_PRECONDITION_FAILED: string;
40
+ HTTPSTATUS_PAYLOAD_TOO_LARGE: string;
41
+ HTTPSTATUS_URI_TOO_LONG: string;
42
+ HTTPSTATUS_UNSUPPORTED_MEDIA_TYPE: string;
43
+ HTTPSTATUS_REQUESTED_RANGE_NOT_SATISFIABLE: string;
44
+ HTTPSTATUS_EXPECTATION_FAILED: string;
45
+ HTTPSTATUS_I_AM_A_TEAPOT: string;
46
+ HTTPSTATUS_MISDIRECTED: string;
47
+ HTTPSTATUS_UNPROCESSABLE_CONTENT: string;
48
+ HTTPSTATUS_LOCKED: string;
49
+ HTTPSTATUS_FAILED_DEPENDENCY: string;
50
+ HTTPSTATUS_TOO_EARLY: string;
51
+ HTTPSTATUS_UPGRADE_REQUIRED: string;
52
+ HTTPSTATUS_PRECONDITION_REQUIRED: string;
53
+ HTTPSTATUS_TOO_MANY_REQUESTS: string;
54
+ HTTPSTATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: string;
55
+ HTTPSTATUS_UNAVAILABLE_FOR_LEGAL_REASONS: string;
56
+ HTTPSTATUS_INTERNAL_SERVER_ERROR: string;
57
+ HTTPSTATUS_NOT_IMPLEMENTED: string;
58
+ HTTPSTATUS_BAD_GATEWAY: string;
59
+ HTTPSTATUS_SERVICE_UNAVAILABLE: string;
60
+ HTTPSTATUS_GATEWAY_TIMEOUT: string;
61
+ HTTPSTATUS_HTTP_VERSION_NOT_SUPPORTED: string;
62
+ HTTPSTATUS_VARIANT_ALSO_NEGOTIATES: string;
63
+ HTTPSTATUS_INSUFFICIENT_STORAGE: string;
64
+ HTTPSTATUS_LOOP_DETECTED: string;
65
+ HTTPSTATUS_BANDWIDTH_LIMIT_EXCEEDED: string;
66
+ HTTPSTATUS_NETWORK_AUTHENTICATION_REQUIRED: string;
67
+ };
68
+ export default _default;
@@ -0,0 +1,68 @@
1
+ export default {
2
+ ValidationFailedDev: '控制器: %s, 方法: %s, 参数: %d',
3
+ // http status
4
+ HTTPSTATUS_SUCCESS: '成功',
5
+ HTTPSTATUS_UNKNOWN_ERROR: '未知错误',
6
+ HTTPSTATUS_CONTINUE: '继续',
7
+ HTTPSTATUS_SWITCHING_PROTOCOLS: '切换协议',
8
+ HTTPSTATUS_PROCESSING: '处理中',
9
+ HTTPSTATUS_EARLYHINTS: '早期线索',
10
+ HTTPSTATUS_OK: '成功',
11
+ HTTPSTATUS_CREATED: '已创建',
12
+ HTTPSTATUS_ACCEPTED: '已接受',
13
+ HTTPSTATUS_NON_AUTHORITATIVE_INFORMATION: '非认证信息',
14
+ HTTPSTATUS_NO_CONTENT: '没有内容',
15
+ HTTPSTATUS_RESET_CONTENT: '重置内容',
16
+ HTTPSTATUS_PARTIAL_CONTENT: '部分内容',
17
+ HTTPSTATUS_MULTI_STATUS: '多状态',
18
+ HTTPSTATUS_ALREADY_REPORTED: '已报告',
19
+ HTTPSTATUS_IM_USED: 'IM_Used',
20
+ HTTPSTATUS_MULTIPLE_CHOICES: '多选择',
21
+ HTTPSTATUS_MOVED_PERMANENTLY: '永久转移',
22
+ HTTPSTATUS_FOUND: '已发现',
23
+ HTTPSTATUS_SEE_OTHER: '参考其他',
24
+ HTTPSTATUS_NOT_MODIFIED: '未变更',
25
+ HTTPSTATUS_USE_PROXY: '使用代理',
26
+ HTTPSTATUS_TEMPORARY_REDIRECT: '临时转向',
27
+ HTTPSTATUS_PERMANENT_REDIRECT: '永久转向',
28
+ HTTPSTATUS_BAD_REQUEST: '无效请求',
29
+ HTTPSTATUS_UNAUTHORIZED: '未经认证',
30
+ HTTPSTATUS_PAYMENT_REQUIRED: '需要支付',
31
+ HTTPSTATUS_FORBIDDEN: '访问被禁止',
32
+ HTTPSTATUS_NOT_FOUND: '未发现',
33
+ HTTPSTATUS_METHOD_NOT_ALLOWED: '方法不允许',
34
+ HTTPSTATUS_NOT_ACCEPTABLE: '不可接受',
35
+ HTTPSTATUS_PROXY_AUTHENTICATION_REQUIRED: '需要代理认证',
36
+ HTTPSTATUS_REQUEST_TIMEOUT: '请求超时',
37
+ HTTPSTATUS_CONFLICT: '冲突',
38
+ HTTPSTATUS_GONE: '已失效',
39
+ HTTPSTATUS_LENGTH_REQUIRED: '需要指定长度',
40
+ HTTPSTATUS_PRECONDITION_FAILED: '条件不匹配',
41
+ HTTPSTATUS_PAYLOAD_TOO_LARGE: '载荷过大',
42
+ HTTPSTATUS_URI_TOO_LONG: 'URL地址太长',
43
+ HTTPSTATUS_UNSUPPORTED_MEDIA_TYPE: '不支持的媒体类型',
44
+ HTTPSTATUS_REQUESTED_RANGE_NOT_SATISFIABLE: '请求的范围不匹配',
45
+ HTTPSTATUS_EXPECTATION_FAILED: '期望值不匹配',
46
+ HTTPSTATUS_I_AM_A_TEAPOT: '我是一个茶壶',
47
+ HTTPSTATUS_MISDIRECTED: '无效转向',
48
+ HTTPSTATUS_UNPROCESSABLE_CONTENT: '无法处理的内容',
49
+ HTTPSTATUS_LOCKED: '已锁定',
50
+ HTTPSTATUS_FAILED_DEPENDENCY: '依赖失败',
51
+ HTTPSTATUS_TOO_EARLY: '太早',
52
+ HTTPSTATUS_UPGRADE_REQUIRED: '需要升级',
53
+ HTTPSTATUS_PRECONDITION_REQUIRED: '需要指定条件',
54
+ HTTPSTATUS_TOO_MANY_REQUESTS: '请求太多',
55
+ HTTPSTATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: '请求头部字段太大',
56
+ HTTPSTATUS_UNAVAILABLE_FOR_LEGAL_REASONS: '由于法律原因无法使用',
57
+ HTTPSTATUS_INTERNAL_SERVER_ERROR: '内部服务错误',
58
+ HTTPSTATUS_NOT_IMPLEMENTED: '没有实现',
59
+ HTTPSTATUS_BAD_GATEWAY: '无效网关',
60
+ HTTPSTATUS_SERVICE_UNAVAILABLE: '服务无法访问',
61
+ HTTPSTATUS_GATEWAY_TIMEOUT: '网关超时',
62
+ HTTPSTATUS_HTTP_VERSION_NOT_SUPPORTED: 'HTTP版本不支持',
63
+ HTTPSTATUS_VARIANT_ALSO_NEGOTIATES: '变量需要协商',
64
+ HTTPSTATUS_INSUFFICIENT_STORAGE: '存储空间不足',
65
+ HTTPSTATUS_LOOP_DETECTED: '检测到无限循环',
66
+ HTTPSTATUS_BANDWIDTH_LIMIT_EXCEEDED: '超过带宽限制',
67
+ HTTPSTATUS_NETWORK_AUTHENTICATION_REQUIRED: '需要网络认证',
68
+ };
@@ -0,0 +1,3 @@
1
+ export * from './mappedClass.ts';
2
+ export * from './type.ts';
3
+ export * from './utils.ts';
@@ -0,0 +1,3 @@
1
+ export * from "./mappedClass.js";
2
+ export * from "./type.js";
3
+ export * from "./utils.js";
@@ -0,0 +1,10 @@
1
+ import { MixinClass } from './mixinClass.ts';
2
+ import { OmitClass } from './omitClass.ts';
3
+ import { PartialClass } from './partialClass.ts';
4
+ import { PickClass } from './pickClass.ts';
5
+ export declare const ClassMapped: {
6
+ mixin: typeof MixinClass;
7
+ omit: typeof OmitClass;
8
+ partial: typeof PartialClass;
9
+ pick: typeof PickClass;
10
+ };
@@ -0,0 +1,10 @@
1
+ import { MixinClass } from "./mixinClass.js";
2
+ import { OmitClass } from "./omitClass.js";
3
+ import { PartialClass } from "./partialClass.js";
4
+ import { PickClass } from "./pickClass.js";
5
+ export const ClassMapped = {
6
+ mixin: MixinClass,
7
+ omit: OmitClass,
8
+ partial: PartialClass,
9
+ pick: PickClass,
10
+ };
@@ -0,0 +1,8 @@
1
+ import type { Constructable } from '../decorator/type/constructable.ts';
2
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
3
+ type ClassRefsToConstructors<T extends Constructable[]> = {
4
+ [U in keyof T]: T[U] extends Constructable<infer V> ? V : never;
5
+ };
6
+ type Intersection<T extends Constructable[]> = Constructable<UnionToIntersection<ClassRefsToConstructors<T>[number]>>;
7
+ export declare function MixinClass<T extends Constructable[]>(...classRefs: T): Intersection<T>;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { copyMetadataOfClasses, copyPropertiesOfClasses } from "./utils.js";
2
+ export function MixinClass(...classRefs) {
3
+ class TargetClass {
4
+ }
5
+ copyMetadataOfClasses(TargetClass.prototype, classRefs.map(item => item.prototype));
6
+ copyPropertiesOfClasses(TargetClass, classRefs);
7
+ return TargetClass;
8
+ }
@@ -0,0 +1,2 @@
1
+ import type { Constructable } from '../decorator/type/constructable.ts';
2
+ export declare function OmitClass<T, K extends keyof T>(classRef: Constructable<T>, keys: K[]): Constructable<Omit<T, (typeof keys)[number]>>;
@@ -0,0 +1,14 @@
1
+ import { copyMetadataOfClasses, copyPropertiesOfClasses } from "./utils.js";
2
+ export function OmitClass(classRef, keys) {
3
+ class TargetClass {
4
+ }
5
+ copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key) => {
6
+ if (!keys.includes(key)) {
7
+ return rules[key];
8
+ }
9
+ });
10
+ copyPropertiesOfClasses(TargetClass, [classRef], key => {
11
+ return !keys.includes(key);
12
+ });
13
+ return TargetClass;
14
+ }
@@ -0,0 +1,3 @@
1
+ import type { Constructable } from '../decorator/type/constructable.ts';
2
+ export declare function PartialClass<T>(classRef: Constructable<T>): Constructable<Partial<T>>;
3
+ export declare function PartialClass<T, K extends keyof T>(classRef: Constructable<T>, keys: K[]): Constructable<Partial<Pick<T, (typeof keys)[number]>> & Omit<T, (typeof keys)[number]>>;
@@ -0,0 +1,15 @@
1
+ import { copyMetadataOfClasses, copyPropertiesOfClasses } from "./utils.js";
2
+ export function PartialClass(classRef, keys) {
3
+ class TargetClass {
4
+ }
5
+ copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key, metadataKeyOptions) => {
6
+ if (keys && !keys.includes(key))
7
+ return rules[key];
8
+ if (metadataKeyOptions?.partialClass) {
9
+ return metadataKeyOptions?.partialClass(rules[key]);
10
+ }
11
+ return rules[key];
12
+ });
13
+ copyPropertiesOfClasses(TargetClass, [classRef]);
14
+ return TargetClass;
15
+ }
@@ -0,0 +1,2 @@
1
+ import type { Constructable } from '../decorator/type/constructable.ts';
2
+ export declare function PickClass<T, K extends keyof T>(classRef: Constructable<T>, keys: K[]): Constructable<Pick<T, (typeof keys)[number]>>;
@@ -0,0 +1,14 @@
1
+ import { copyMetadataOfClasses, copyPropertiesOfClasses } from "./utils.js";
2
+ export function PickClass(classRef, keys) {
3
+ class TargetClass {
4
+ }
5
+ copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key) => {
6
+ if (keys.includes(key)) {
7
+ return rules[key];
8
+ }
9
+ });
10
+ copyPropertiesOfClasses(TargetClass, [classRef], key => {
11
+ return keys.includes(key);
12
+ });
13
+ return TargetClass;
14
+ }
@@ -0,0 +1,6 @@
1
+ import type { MetadataKey } from '../core/metadata.ts';
2
+ export declare const SymbolMappedClassMetadataKeys: unique symbol;
3
+ export type MappedClassMetadataKeys = Record<MetadataKey, IMappedClassMetadataOptions | undefined>;
4
+ export interface IMappedClassMetadataOptions {
5
+ partialClass?: Function;
6
+ }
@@ -0,0 +1 @@
1
+ export const SymbolMappedClassMetadataKeys = Symbol('SymbolMappedClassMetakeys');
@@ -0,0 +1,8 @@
1
+ import type { MetadataKey } from '../core/metadata.ts';
2
+ import type { Constructable } from '../decorator/index.ts';
3
+ import type { IMappedClassMetadataOptions, MappedClassMetadataKeys } from './type.ts';
4
+ export declare function registerMappedClassMetadataKey(target: object, metadataKey: MetadataKey, options?: IMappedClassMetadataOptions): void;
5
+ export declare function getMappedClassMetadataKeys(target: object): MappedClassMetadataKeys | undefined;
6
+ export declare function copyPropertiesOfClasses(target: Constructable, sources: Constructable[], filter?: Function): void;
7
+ export declare function copyProperties(target: object, source: object, keysIgnore: MetadataKey[], filter?: Function): void;
8
+ export declare function copyMetadataOfClasses(target: object, sources: object[], transform?: Function): void;
@@ -0,0 +1,76 @@
1
+ import { appMetadata } from "../core/metadata.js";
2
+ import { SymbolMappedClassMetadataKeys } from "./type.js";
3
+ export function registerMappedClassMetadataKey(target, metadataKey, options) {
4
+ const metadataKeys = appMetadata.getOwnMetadataMap(true, SymbolMappedClassMetadataKeys, target);
5
+ if (!Object.hasOwn(metadataKeys, metadataKey)) {
6
+ metadataKeys[metadataKey] = options;
7
+ }
8
+ }
9
+ export function getMappedClassMetadataKeys(target) {
10
+ return appMetadata.getMetadata(SymbolMappedClassMetadataKeys, target);
11
+ }
12
+ export function copyPropertiesOfClasses(target, sources, filter) {
13
+ for (const source of sources) {
14
+ copyProperties(target, source, ['constructor', 'prototype', 'length', 'name'], filter); // copy static
15
+ copyProperties(target.prototype, source.prototype, ['constructor', 'prototype'], filter); // copy prototype
16
+ }
17
+ }
18
+ export function copyProperties(target, source, keysIgnore, filter) {
19
+ const protos = [];
20
+ let _proto = source;
21
+ while (_proto) {
22
+ if (!['Object'].includes(_proto.constructor?.name) && !Object.hasOwn(_proto, 'arguments')) {
23
+ protos.unshift(_proto);
24
+ }
25
+ _proto = Object.getPrototypeOf(_proto);
26
+ }
27
+ for (const proto of protos) {
28
+ for (const key of Reflect.ownKeys(proto)) {
29
+ if (keysIgnore.includes(key))
30
+ continue;
31
+ if (filter && !filter(key))
32
+ continue;
33
+ // desc
34
+ const desc = Object.getOwnPropertyDescriptor(proto, key);
35
+ Object.defineProperty(target, key, desc);
36
+ // metadata
37
+ const metaKeys = Reflect.getOwnMetadataKeys(proto, key);
38
+ for (const metaKey of metaKeys) {
39
+ const metaValue = Reflect.getOwnMetadata(metaKey, proto, key);
40
+ Reflect.defineMetadata(metaKey, metaValue, target, key);
41
+ }
42
+ }
43
+ }
44
+ }
45
+ export function copyMetadataOfClasses(target, sources, transform) {
46
+ //
47
+ const metadataKeys = {};
48
+ for (const source of sources) {
49
+ const _metadataKeys = getMappedClassMetadataKeys(source);
50
+ if (_metadataKeys) {
51
+ Object.assign(metadataKeys, _metadataKeys);
52
+ }
53
+ }
54
+ //
55
+ for (const metadataKey of Object.getOwnPropertySymbols(metadataKeys)) {
56
+ const metadataKeyOptions = metadataKeys[metadataKey];
57
+ const rulesNew = {};
58
+ for (const source of sources) {
59
+ const rules = appMetadata.getMetadata(metadataKey, source);
60
+ if (!rules)
61
+ continue;
62
+ if (!transform) {
63
+ Object.assign(rulesNew, rules);
64
+ }
65
+ else {
66
+ for (const key in rules) {
67
+ const ruleNew = transform(rules, key, metadataKeyOptions);
68
+ if (ruleNew !== undefined) {
69
+ rulesNew[key] = ruleNew;
70
+ }
71
+ }
72
+ }
73
+ }
74
+ appMetadata.defineMetadata(metadataKey, rulesNew, target);
75
+ }
76
+ }
@@ -0,0 +1,3 @@
1
+ import type { IModule } from '@cabloy/module-info';
2
+ import type { VonaApplication } from '../core/application.ts';
3
+ export default function (app: VonaApplication, modules: Record<string, IModule>): Promise<void>;
@@ -0,0 +1,17 @@
1
+ import { deepExtend } from "../utils/util.js";
2
+ export default async function (app, modules) {
3
+ // load configs
4
+ await loadConfigs();
5
+ async function loadConfigs() {
6
+ for (const key in modules) {
7
+ const module = modules[key];
8
+ // module config
9
+ if (module.resource.config) {
10
+ const configModule = await module.resource.config(app);
11
+ // configNew is not used by now
12
+ await app.util.monkeyModule(app.meta.appMonkey, app.meta.modulesMonkey, 'configLoaded', module, configModule);
13
+ app.config.modules[module.info.relativeName] = deepExtend({}, configModule, app.config.modules[module.info.relativeName]);
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,3 @@
1
+ import type { IModule } from '@cabloy/module-info';
2
+ import type { VonaApplication } from '../core/application.ts';
3
+ export default function (app: VonaApplication, modules: Record<string, IModule>): void;
@@ -0,0 +1,16 @@
1
+ import { deepExtend } from "../utils/util.js";
2
+ export default function (app, modules) {
3
+ // all constants
4
+ const ebConstants = (app.meta.constants = {});
5
+ // load constants
6
+ loadConstants();
7
+ function loadConstants() {
8
+ for (const key in modules) {
9
+ const module = modules[key];
10
+ const ebConstant = (ebConstants[module.info.relativeName] = {});
11
+ // module constants
12
+ if (module.resource.constants)
13
+ deepExtend(ebConstant, module.resource.constants);
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,3 @@
1
+ import type { IModule } from '@cabloy/module-info';
2
+ import type { VonaApplication } from '../core/application.ts';
3
+ export default function (app: VonaApplication, modules: Record<string, IModule>): void;
@@ -0,0 +1,29 @@
1
+ import { ErrorClass } from "../bean/resource/error/errorClass.js";
2
+ import { deepExtend } from "../utils/util.js";
3
+ export default function (app, modules) {
4
+ // all errors
5
+ const ebErrors = {};
6
+ // load errors
7
+ loadErrors();
8
+ // patch Error
9
+ patchError();
10
+ function patchError() {
11
+ // error
12
+ app.meta.error = app.bean._newBean(ErrorClass, ebErrors);
13
+ // methods
14
+ ['success', 'fail', 'throw', 'parseFail', 'parseSuccess', 'parseCode'].forEach(key => {
15
+ app[key] = function (...args) {
16
+ return app.meta.error[key](undefined, ...args);
17
+ };
18
+ });
19
+ }
20
+ function loadErrors() {
21
+ for (const key in modules) {
22
+ const module = modules[key];
23
+ const ebError = (ebErrors[module.info.relativeName] = {});
24
+ // module errors
25
+ if (module.resource.Errors)
26
+ deepExtend(ebError, module.resource.Errors);
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,4 @@
1
+ import { BeanSimple } from '../bean/beanSimple.ts';
2
+ export declare class ModuleLoader extends BeanSimple {
3
+ execute(): Promise<void>;
4
+ }
@@ -0,0 +1,25 @@
1
+ import { BeanSimple } from "../bean/beanSimple.js";
2
+ import loadConfig from "./config.js";
3
+ import loadConstants from "./constant.js";
4
+ import loadErrors from "./errors.js";
5
+ import loadLocales from "./locales.js";
6
+ import { ModuleTools } from "./module.js";
7
+ export class ModuleLoader extends BeanSimple {
8
+ async execute() {
9
+ const app = this.app;
10
+ // modules
11
+ const moduleTools = app.bean._newBean(ModuleTools);
12
+ // prepare
13
+ const modules = await moduleTools.prepare();
14
+ // load modules
15
+ await moduleTools.load();
16
+ // monkey modules
17
+ await moduleTools.monkey('moduleLoading');
18
+ await loadConfig(app, modules);
19
+ loadLocales(app, modules);
20
+ loadErrors(app, modules);
21
+ loadConstants(app, modules);
22
+ // monkey modules
23
+ await moduleTools.monkey('moduleLoaded');
24
+ }
25
+ }
@@ -0,0 +1,3 @@
1
+ import type { IModule } from '@cabloy/module-info';
2
+ import type { VonaApplication } from '../core/application.ts';
3
+ export default function (app: VonaApplication, modules: Record<string, IModule>): void;
@@ -0,0 +1,48 @@
1
+ import localesDefault from "../core/locales.js";
2
+ export default function (app, modules) {
3
+ // all locales
4
+ app.meta.locales = localesDefault;
5
+ app.meta.localeModules = {};
6
+ // load locales
7
+ loadLocales();
8
+ function loadLocales() {
9
+ // project locales
10
+ for (const locale in app.options.locales) {
11
+ _initLocales(locale, app.options.locales[locale]);
12
+ }
13
+ // module locales
14
+ for (const moduleName in modules) {
15
+ const module = modules[moduleName];
16
+ _registerLocales(moduleName, module.resource.locales);
17
+ }
18
+ }
19
+ function _initLocales(locale, locales) {
20
+ if (!locales)
21
+ return;
22
+ if (!locales.modules) {
23
+ // override
24
+ app.meta.locales[locale] = Object.assign({}, app.meta.locales[locale], locales);
25
+ }
26
+ else {
27
+ const moduleMap = locales.modules;
28
+ for (const moduleName in moduleMap) {
29
+ _registerLocale(moduleName, locale, moduleMap[moduleName]);
30
+ }
31
+ }
32
+ }
33
+ function _registerLocales(moduleName, locales) {
34
+ if (!locales)
35
+ return;
36
+ for (const locale in locales) {
37
+ _registerLocale(moduleName, locale, locales[locale]);
38
+ }
39
+ }
40
+ function _registerLocale(moduleName, locale, moduleLocales) {
41
+ // locales: not override
42
+ app.meta.locales[locale] = Object.assign({}, moduleLocales, app.meta.locales[locale]);
43
+ // localeModules
44
+ if (!app.meta.localeModules[moduleName])
45
+ app.meta.localeModules[moduleName] = {};
46
+ app.meta.localeModules[moduleName][locale] = Object.assign({}, moduleLocales, app.meta.localeModules[moduleName][locale]);
47
+ }
48
+ }