@visactor/vrender-core 0.17.0-alpha.5 → 0.17.0-alpha.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.
Files changed (506) hide show
  1. package/cjs/allocator/canvas-allocate.d.ts +0 -4
  2. package/cjs/allocator/canvas-allocate.js +6 -19
  3. package/cjs/allocator/canvas-allocate.js.map +1 -1
  4. package/cjs/allocator/graphic-allocate.d.ts +1 -56
  5. package/cjs/allocator/graphic-allocate.js +1 -163
  6. package/cjs/allocator/graphic-allocate.js.map +1 -1
  7. package/cjs/animate/Ticker/default-ticker.js +1 -1
  8. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  9. package/cjs/animate/config.js +2 -1
  10. package/cjs/animate/custom-animate.js +1 -2
  11. package/cjs/common/Reflect-metadata.js +359 -349
  12. package/cjs/common/Reflect-metadata.js.map +1 -1
  13. package/cjs/common/bezier-utils.js +1 -2
  14. package/cjs/common/inversify-lite/annotation/post_construct.d.ts +4 -0
  15. package/cjs/common/{inversify/annotation/injectable.js → inversify-lite/annotation/post_construct.js} +5 -15
  16. package/cjs/common/inversify-lite/annotation/post_construct.js.map +1 -0
  17. package/cjs/common/inversify-lite/container/container.js +3 -1
  18. package/cjs/common/inversify-lite/container/container.js.map +1 -1
  19. package/cjs/common/inversify-lite/index.d.ts +8 -1
  20. package/cjs/common/inversify-lite/index.js +64 -1
  21. package/cjs/common/inversify-lite/index.js.map +1 -1
  22. package/cjs/common/inversify-lite/interfaces/interfaces.d.ts +2 -0
  23. package/cjs/common/inversify-lite/interfaces/interfaces.js.map +1 -1
  24. package/cjs/common/inversify-lite/planning/queryable_string.d.ts +2 -0
  25. package/cjs/common/inversify-lite/planning/queryable_string.js +10 -0
  26. package/cjs/common/inversify-lite/planning/queryable_string.js.map +1 -1
  27. package/cjs/common/inversify-lite/resolution/resolver.js.map +1 -1
  28. package/cjs/common/sort.js +2 -1
  29. package/cjs/common/split-path.js +1 -2
  30. package/cjs/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  31. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +9 -4
  32. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  33. package/cjs/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  34. package/cjs/core/contributions/layerHandler/empty-contribution.js +9 -4
  35. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  36. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  37. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +9 -4
  38. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  39. package/cjs/core/contributions/textMeasure/modules.js +2 -1
  40. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  41. package/cjs/core/core-modules.js +6 -5
  42. package/cjs/core/core-modules.js.map +1 -1
  43. package/cjs/core/global.d.ts +0 -4
  44. package/cjs/core/global.js +5 -8
  45. package/cjs/core/global.js.map +1 -1
  46. package/cjs/core/graphic-utils.d.ts +4 -7
  47. package/cjs/core/graphic-utils.js +14 -18
  48. package/cjs/core/graphic-utils.js.map +1 -1
  49. package/cjs/core/layer-service.d.ts +2 -2
  50. package/cjs/core/layer-service.js +10 -5
  51. package/cjs/core/layer-service.js.map +1 -1
  52. package/cjs/core/stage.d.ts +4 -7
  53. package/cjs/core/stage.js +33 -37
  54. package/cjs/core/stage.js.map +1 -1
  55. package/cjs/core/window.d.ts +2 -2
  56. package/cjs/core/window.js +12 -7
  57. package/cjs/core/window.js.map +1 -1
  58. package/cjs/event/event-manager.js +2 -3
  59. package/cjs/event/event-manager.js.map +1 -1
  60. package/cjs/graphic/graphic-service/arc-contribution.d.ts +5 -1
  61. package/cjs/graphic/graphic-service/arc-contribution.js +18 -0
  62. package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
  63. package/cjs/graphic/graphic-service/area-contribution.d.ts +1 -1
  64. package/cjs/graphic/graphic-service/area-contribution.js +4 -1
  65. package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
  66. package/cjs/graphic/graphic-service/circle-contribution.d.ts +5 -1
  67. package/cjs/graphic/graphic-service/circle-contribution.js +18 -0
  68. package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
  69. package/cjs/graphic/graphic-service/common-contribution.js +11 -2
  70. package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
  71. package/cjs/graphic/graphic-service/graphic-module.js +17 -2
  72. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  73. package/cjs/graphic/graphic-service/graphic-service.d.ts +7 -2
  74. package/cjs/graphic/graphic-service/graphic-service.js +26 -18
  75. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  76. package/cjs/graphic/graphic-service/path-contribution.d.ts +5 -1
  77. package/cjs/graphic/graphic-service/path-contribution.js +18 -0
  78. package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
  79. package/cjs/graphic/graphic-service/rect-contribution.d.ts +5 -1
  80. package/cjs/graphic/graphic-service/rect-contribution.js +18 -0
  81. package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
  82. package/cjs/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  83. package/cjs/graphic/graphic-service/symbol-contribution.js +13 -4
  84. package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
  85. package/cjs/graphic/graphic.js +2 -3
  86. package/cjs/graphic/graphic.js.map +1 -1
  87. package/cjs/graphic/group.d.ts +0 -1
  88. package/cjs/graphic/group.js +3 -7
  89. package/cjs/graphic/group.js.map +1 -1
  90. package/cjs/graphic/symbol.js +4 -7
  91. package/cjs/graphic/symbol.js.map +1 -1
  92. package/cjs/graphic/theme.d.ts +4 -4
  93. package/cjs/graphic/theme.js +28 -27
  94. package/cjs/graphic/theme.js.map +1 -1
  95. package/cjs/index.d.ts +0 -2
  96. package/cjs/index.js +0 -1
  97. package/cjs/index.js.map +1 -1
  98. package/cjs/interface/allocator.d.ts +0 -1
  99. package/cjs/interface/allocator.js.map +1 -1
  100. package/cjs/interface/global.d.ts +0 -1
  101. package/cjs/interface/global.js.map +1 -1
  102. package/cjs/interface/render.d.ts +2 -2
  103. package/cjs/interface/render.js.map +1 -1
  104. package/cjs/interface/stage.d.ts +1 -2
  105. package/cjs/interface/stage.js.map +1 -1
  106. package/cjs/modules.d.ts +2 -1
  107. package/cjs/modules.js +8 -8
  108. package/cjs/modules.js.map +1 -1
  109. package/cjs/picker/global-picker-service.d.ts +2 -2
  110. package/cjs/picker/global-picker-service.js +9 -4
  111. package/cjs/picker/global-picker-service.js.map +1 -1
  112. package/cjs/picker/pick-modules.js +4 -2
  113. package/cjs/picker/pick-modules.js.map +1 -1
  114. package/cjs/picker/picker-service.d.ts +2 -2
  115. package/cjs/picker/picker-service.js +6 -6
  116. package/cjs/picker/picker-service.js.map +1 -1
  117. package/cjs/plugins/plugin-modules.js +2 -1
  118. package/cjs/plugins/plugin-modules.js.map +1 -1
  119. package/cjs/render/contributions/render/arc-render.js +1 -2
  120. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  121. package/cjs/render/contributions/render/area-render.d.ts +0 -1
  122. package/cjs/render/contributions/render/area-render.js +6 -44
  123. package/cjs/render/contributions/render/area-render.js.map +1 -1
  124. package/cjs/render/contributions/render/base-render.d.ts +1 -1
  125. package/cjs/render/contributions/render/base-render.js +18 -15
  126. package/cjs/render/contributions/render/base-render.js.map +1 -1
  127. package/cjs/render/contributions/render/circle-render.js +1 -2
  128. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  129. package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  130. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +30 -7
  131. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  132. package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  133. package/cjs/render/contributions/render/contributions/area-contribution-render.js +21 -7
  134. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  135. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  136. package/cjs/render/contributions/render/contributions/base-contribution-render.js +9 -9
  137. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  138. package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  139. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +30 -7
  140. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  141. package/cjs/render/contributions/render/contributions/constants.d.ts +0 -1
  142. package/cjs/render/contributions/render/contributions/constants.js +2 -2
  143. package/cjs/render/contributions/render/contributions/constants.js.map +1 -1
  144. package/cjs/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  145. package/cjs/render/contributions/render/contributions/group-contribution-render.js +12 -6
  146. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  147. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  148. package/cjs/render/contributions/render/contributions/image-contribution-render.js +12 -6
  149. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  150. package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  151. package/cjs/render/contributions/render/contributions/path-contribution-render.js +25 -4
  152. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  153. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  154. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +25 -4
  155. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  156. package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  157. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +36 -13
  158. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  159. package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  160. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +27 -6
  161. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  162. package/cjs/render/contributions/render/draw-contribution.d.ts +6 -7
  163. package/cjs/render/contributions/render/draw-contribution.js +22 -31
  164. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  165. package/cjs/render/contributions/render/draw-interceptor.d.ts +1 -9
  166. package/cjs/render/contributions/render/draw-interceptor.js +27 -41
  167. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  168. package/cjs/render/contributions/render/group-render.js +2 -3
  169. package/cjs/render/contributions/render/group-render.js.map +1 -1
  170. package/cjs/render/contributions/render/image-render.js +1 -2
  171. package/cjs/render/contributions/render/image-render.js.map +1 -1
  172. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  173. package/cjs/render/contributions/render/incremental-draw-contribution.js +11 -8
  174. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  175. package/cjs/render/contributions/render/line-render.d.ts +0 -1
  176. package/cjs/render/contributions/render/line-render.js +6 -21
  177. package/cjs/render/contributions/render/line-render.js.map +1 -1
  178. package/cjs/render/contributions/render/module.js +87 -32
  179. package/cjs/render/contributions/render/module.js.map +1 -1
  180. package/cjs/render/contributions/render/path-render.d.ts +1 -2
  181. package/cjs/render/contributions/render/path-render.js +5 -8
  182. package/cjs/render/contributions/render/path-render.js.map +1 -1
  183. package/cjs/render/contributions/render/polygon-render.js +1 -2
  184. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  185. package/cjs/render/contributions/render/rect-render.d.ts +1 -2
  186. package/cjs/render/contributions/render/rect-render.js +4 -8
  187. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  188. package/cjs/render/contributions/render/render-slector.d.ts +4 -1
  189. package/cjs/render/contributions/render/render-slector.js +20 -0
  190. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  191. package/cjs/render/contributions/render/symbol-render.js +1 -2
  192. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  193. package/cjs/render/contributions/render/text-render.js +8 -10
  194. package/cjs/render/contributions/render/text-render.js.map +1 -1
  195. package/cjs/render/render-modules.js +1 -1
  196. package/cjs/render/render-modules.js.map +1 -1
  197. package/cjs/render/render-service.js +1 -1
  198. package/cjs/render/render-service.js.map +1 -1
  199. package/dist/index.js +6447 -5470
  200. package/dist/index.min.js +1 -1
  201. package/es/allocator/canvas-allocate.d.ts +0 -4
  202. package/es/allocator/canvas-allocate.js +6 -19
  203. package/es/allocator/canvas-allocate.js.map +1 -1
  204. package/es/allocator/graphic-allocate.d.ts +1 -56
  205. package/es/allocator/graphic-allocate.js +1 -155
  206. package/es/allocator/graphic-allocate.js.map +1 -1
  207. package/es/animate/Ticker/default-ticker.js +1 -1
  208. package/es/animate/Ticker/default-ticker.js.map +1 -1
  209. package/es/animate/config.js +2 -1
  210. package/es/animate/custom-animate.js +1 -2
  211. package/es/common/Reflect-metadata.js +359 -349
  212. package/es/common/Reflect-metadata.js.map +1 -1
  213. package/es/common/bezier-utils.js +1 -2
  214. package/es/common/inversify-lite/annotation/post_construct.d.ts +4 -0
  215. package/es/common/inversify-lite/annotation/post_construct.js +10 -0
  216. package/es/common/inversify-lite/annotation/post_construct.js.map +1 -0
  217. package/es/common/inversify-lite/container/container.js +4 -2
  218. package/es/common/inversify-lite/container/container.js.map +1 -1
  219. package/es/common/inversify-lite/index.d.ts +8 -1
  220. package/es/common/inversify-lite/index.js +15 -1
  221. package/es/common/inversify-lite/index.js.map +1 -1
  222. package/es/common/inversify-lite/interfaces/interfaces.d.ts +2 -0
  223. package/es/common/inversify-lite/interfaces/interfaces.js.map +1 -1
  224. package/es/common/inversify-lite/planning/queryable_string.d.ts +2 -0
  225. package/es/common/inversify-lite/planning/queryable_string.js +10 -0
  226. package/es/common/inversify-lite/planning/queryable_string.js.map +1 -1
  227. package/es/common/inversify-lite/resolution/resolver.js.map +1 -1
  228. package/es/common/sort.js +2 -1
  229. package/es/common/split-path.js +1 -2
  230. package/es/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  231. package/es/core/contributions/layerHandler/canvas2d-contribution.js +9 -5
  232. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  233. package/es/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  234. package/es/core/contributions/layerHandler/empty-contribution.js +9 -5
  235. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  236. package/es/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  237. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +9 -5
  238. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  239. package/es/core/contributions/textMeasure/modules.js +1 -1
  240. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  241. package/es/core/core-modules.js +6 -4
  242. package/es/core/core-modules.js.map +1 -1
  243. package/es/core/global.d.ts +0 -4
  244. package/es/core/global.js +4 -8
  245. package/es/core/global.js.map +1 -1
  246. package/es/core/graphic-utils.d.ts +4 -7
  247. package/es/core/graphic-utils.js +15 -20
  248. package/es/core/graphic-utils.js.map +1 -1
  249. package/es/core/layer-service.d.ts +2 -2
  250. package/es/core/layer-service.js +10 -6
  251. package/es/core/layer-service.js.map +1 -1
  252. package/es/core/stage.d.ts +4 -7
  253. package/es/core/stage.js +35 -41
  254. package/es/core/stage.js.map +1 -1
  255. package/es/core/window.d.ts +2 -2
  256. package/es/core/window.js +12 -8
  257. package/es/core/window.js.map +1 -1
  258. package/es/event/event-manager.js +2 -3
  259. package/es/event/event-manager.js.map +1 -1
  260. package/es/graphic/graphic-service/arc-contribution.d.ts +5 -1
  261. package/es/graphic/graphic-service/arc-contribution.js +15 -0
  262. package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
  263. package/es/graphic/graphic-service/area-contribution.d.ts +1 -1
  264. package/es/graphic/graphic-service/area-contribution.js +1 -2
  265. package/es/graphic/graphic-service/area-contribution.js.map +1 -1
  266. package/es/graphic/graphic-service/circle-contribution.d.ts +5 -1
  267. package/es/graphic/graphic-service/circle-contribution.js +15 -0
  268. package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
  269. package/es/graphic/graphic-service/common-contribution.js +14 -2
  270. package/es/graphic/graphic-service/common-contribution.js.map +1 -1
  271. package/es/graphic/graphic-service/graphic-module.js +23 -1
  272. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  273. package/es/graphic/graphic-service/graphic-service.d.ts +7 -2
  274. package/es/graphic/graphic-service/graphic-service.js +28 -19
  275. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  276. package/es/graphic/graphic-service/path-contribution.d.ts +5 -1
  277. package/es/graphic/graphic-service/path-contribution.js +15 -0
  278. package/es/graphic/graphic-service/path-contribution.js.map +1 -1
  279. package/es/graphic/graphic-service/rect-contribution.d.ts +5 -1
  280. package/es/graphic/graphic-service/rect-contribution.js +15 -0
  281. package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
  282. package/es/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  283. package/es/graphic/graphic-service/symbol-contribution.js +16 -2
  284. package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
  285. package/es/graphic/graphic.js +2 -3
  286. package/es/graphic/graphic.js.map +1 -1
  287. package/es/graphic/group.d.ts +0 -1
  288. package/es/graphic/group.js +1 -8
  289. package/es/graphic/group.js.map +1 -1
  290. package/es/graphic/symbol.js +4 -6
  291. package/es/graphic/symbol.js.map +1 -1
  292. package/es/graphic/theme.d.ts +4 -4
  293. package/es/graphic/theme.js +29 -26
  294. package/es/graphic/theme.js.map +1 -1
  295. package/es/index.d.ts +0 -2
  296. package/es/index.js +0 -4
  297. package/es/index.js.map +1 -1
  298. package/es/interface/allocator.d.ts +0 -1
  299. package/es/interface/allocator.js.map +1 -1
  300. package/es/interface/global.d.ts +0 -1
  301. package/es/interface/global.js.map +1 -1
  302. package/es/interface/render.d.ts +2 -2
  303. package/es/interface/render.js.map +1 -1
  304. package/es/interface/stage.d.ts +1 -2
  305. package/es/interface/stage.js.map +1 -1
  306. package/es/modules.d.ts +2 -1
  307. package/es/modules.js +4 -0
  308. package/es/modules.js.map +1 -1
  309. package/es/picker/global-picker-service.d.ts +2 -2
  310. package/es/picker/global-picker-service.js +9 -5
  311. package/es/picker/global-picker-service.js.map +1 -1
  312. package/es/picker/pick-modules.js +4 -1
  313. package/es/picker/pick-modules.js.map +1 -1
  314. package/es/picker/picker-service.d.ts +2 -2
  315. package/es/picker/picker-service.js +5 -5
  316. package/es/picker/picker-service.js.map +1 -1
  317. package/es/plugins/plugin-modules.js +2 -1
  318. package/es/plugins/plugin-modules.js.map +1 -1
  319. package/es/render/contributions/render/arc-render.js +0 -3
  320. package/es/render/contributions/render/arc-render.js.map +1 -1
  321. package/es/render/contributions/render/area-render.d.ts +0 -1
  322. package/es/render/contributions/render/area-render.js +5 -45
  323. package/es/render/contributions/render/area-render.js.map +1 -1
  324. package/es/render/contributions/render/base-render.d.ts +1 -1
  325. package/es/render/contributions/render/base-render.js +22 -15
  326. package/es/render/contributions/render/base-render.js.map +1 -1
  327. package/es/render/contributions/render/circle-render.js +0 -3
  328. package/es/render/contributions/render/circle-render.js.map +1 -1
  329. package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  330. package/es/render/contributions/render/contributions/arc-contribution-render.js +32 -6
  331. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  332. package/es/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  333. package/es/render/contributions/render/contributions/area-contribution-render.js +23 -5
  334. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  335. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  336. package/es/render/contributions/render/contributions/base-contribution-render.js +10 -6
  337. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  338. package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  339. package/es/render/contributions/render/contributions/circle-contribution-render.js +32 -6
  340. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  341. package/es/render/contributions/render/contributions/constants.d.ts +0 -1
  342. package/es/render/contributions/render/contributions/constants.js +0 -2
  343. package/es/render/contributions/render/contributions/constants.js.map +1 -1
  344. package/es/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  345. package/es/render/contributions/render/contributions/group-contribution-render.js +13 -3
  346. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  347. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  348. package/es/render/contributions/render/contributions/image-contribution-render.js +14 -4
  349. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  350. package/es/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  351. package/es/render/contributions/render/contributions/path-contribution-render.js +29 -3
  352. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  353. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  354. package/es/render/contributions/render/contributions/polygon-contribution-render.js +29 -3
  355. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  356. package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  357. package/es/render/contributions/render/contributions/rect-contribution-render.js +45 -15
  358. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  359. package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  360. package/es/render/contributions/render/contributions/symbol-contribution-render.js +24 -6
  361. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  362. package/es/render/contributions/render/draw-contribution.d.ts +6 -7
  363. package/es/render/contributions/render/draw-contribution.js +24 -35
  364. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  365. package/es/render/contributions/render/draw-interceptor.d.ts +1 -9
  366. package/es/render/contributions/render/draw-interceptor.js +35 -38
  367. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  368. package/es/render/contributions/render/group-render.js +1 -4
  369. package/es/render/contributions/render/group-render.js.map +1 -1
  370. package/es/render/contributions/render/image-render.js +1 -3
  371. package/es/render/contributions/render/image-render.js.map +1 -1
  372. package/es/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  373. package/es/render/contributions/render/incremental-draw-contribution.js +11 -5
  374. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  375. package/es/render/contributions/render/line-render.d.ts +0 -1
  376. package/es/render/contributions/render/line-render.js +6 -21
  377. package/es/render/contributions/render/line-render.js.map +1 -1
  378. package/es/render/contributions/render/module.js +83 -29
  379. package/es/render/contributions/render/module.js.map +1 -1
  380. package/es/render/contributions/render/path-render.d.ts +1 -2
  381. package/es/render/contributions/render/path-render.js +4 -8
  382. package/es/render/contributions/render/path-render.js.map +1 -1
  383. package/es/render/contributions/render/polygon-render.js +0 -3
  384. package/es/render/contributions/render/polygon-render.js.map +1 -1
  385. package/es/render/contributions/render/rect-render.d.ts +1 -2
  386. package/es/render/contributions/render/rect-render.js +3 -8
  387. package/es/render/contributions/render/rect-render.js.map +1 -1
  388. package/es/render/contributions/render/render-slector.d.ts +4 -1
  389. package/es/render/contributions/render/render-slector.js +15 -0
  390. package/es/render/contributions/render/render-slector.js.map +1 -1
  391. package/es/render/contributions/render/symbol-render.js +0 -3
  392. package/es/render/contributions/render/symbol-render.js.map +1 -1
  393. package/es/render/contributions/render/text-render.js +8 -10
  394. package/es/render/contributions/render/text-render.js.map +1 -1
  395. package/es/render/render-modules.js +1 -1
  396. package/es/render/render-modules.js.map +1 -1
  397. package/es/render/render-service.js +1 -1
  398. package/es/render/render-service.js.map +1 -1
  399. package/package.json +3 -5
  400. package/cjs/allocator/bounds-allocate.d.ts +0 -13
  401. package/cjs/allocator/bounds-allocate.js +0 -38
  402. package/cjs/allocator/bounds-allocate.js.map +0 -1
  403. package/cjs/common/inversify/annotation/inject.d.ts +0 -1
  404. package/cjs/common/inversify/annotation/inject.js +0 -10
  405. package/cjs/common/inversify/annotation/inject.js.map +0 -1
  406. package/cjs/common/inversify/annotation/inject_base.d.ts +0 -14
  407. package/cjs/common/inversify/annotation/inject_base.js +0 -39
  408. package/cjs/common/inversify/annotation/inject_base.js.map +0 -1
  409. package/cjs/common/inversify/annotation/injectable.d.ts +0 -1
  410. package/cjs/common/inversify/annotation/injectable.js.map +0 -1
  411. package/cjs/common/inversify/annotation/multi_inject.d.ts +0 -1
  412. package/cjs/common/inversify/annotation/multi_inject.js +0 -10
  413. package/cjs/common/inversify/annotation/multi_inject.js.map +0 -1
  414. package/cjs/common/inversify/annotation/named.d.ts +0 -1
  415. package/cjs/common/inversify/annotation/named.js +0 -14
  416. package/cjs/common/inversify/annotation/named.js.map +0 -1
  417. package/cjs/common/inversify/binding.d.ts +0 -18
  418. package/cjs/common/inversify/binding.js +0 -26
  419. package/cjs/common/inversify/binding.js.map +0 -1
  420. package/cjs/common/inversify/container.d.ts +0 -28
  421. package/cjs/common/inversify/container.js +0 -155
  422. package/cjs/common/inversify/container.js.map +0 -1
  423. package/cjs/common/inversify/cotainer-module.d.ts +0 -6
  424. package/cjs/common/inversify/cotainer-module.js +0 -16
  425. package/cjs/common/inversify/cotainer-module.js.map +0 -1
  426. package/cjs/common/inversify/index.d.ts +0 -7
  427. package/cjs/common/inversify/index.js +0 -75
  428. package/cjs/common/inversify/index.js.map +0 -1
  429. package/cjs/common/inversify/interfaces.d.ts +0 -218
  430. package/cjs/common/inversify/interfaces.js +0 -6
  431. package/cjs/common/inversify/interfaces.js.map +0 -1
  432. package/cjs/common/inversify/literal_types.d.ts +0 -5
  433. package/cjs/common/inversify/literal_types.js +0 -34
  434. package/cjs/common/inversify/literal_types.js.map +0 -1
  435. package/cjs/common/inversify/meta-data.d.ts +0 -6
  436. package/cjs/common/inversify/meta-data.js +0 -19
  437. package/cjs/common/inversify/meta-data.js.map +0 -1
  438. package/cjs/common/inversify/metadata_keys.d.ts +0 -12
  439. package/cjs/common/inversify/metadata_keys.js +0 -15
  440. package/cjs/common/inversify/metadata_keys.js.map +0 -1
  441. package/cjs/common/inversify/metadata_reader.d.ts +0 -6
  442. package/cjs/common/inversify/metadata_reader.js +0 -28
  443. package/cjs/common/inversify/metadata_reader.js.map +0 -1
  444. package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  445. package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -29
  446. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  447. package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  448. package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -40
  449. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  450. package/cjs/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  451. package/cjs/common/inversify/syntax/constraint_helpers.js +0 -18
  452. package/cjs/common/inversify/syntax/constraint_helpers.js.map +0 -1
  453. package/es/allocator/bounds-allocate.d.ts +0 -13
  454. package/es/allocator/bounds-allocate.js +0 -32
  455. package/es/allocator/bounds-allocate.js.map +0 -1
  456. package/es/common/inversify/annotation/inject.d.ts +0 -1
  457. package/es/common/inversify/annotation/inject.js +0 -6
  458. package/es/common/inversify/annotation/inject.js.map +0 -1
  459. package/es/common/inversify/annotation/inject_base.d.ts +0 -14
  460. package/es/common/inversify/annotation/inject_base.js +0 -29
  461. package/es/common/inversify/annotation/inject_base.js.map +0 -1
  462. package/es/common/inversify/annotation/injectable.d.ts +0 -1
  463. package/es/common/inversify/annotation/injectable.js +0 -10
  464. package/es/common/inversify/annotation/injectable.js.map +0 -1
  465. package/es/common/inversify/annotation/multi_inject.d.ts +0 -1
  466. package/es/common/inversify/annotation/multi_inject.js +0 -6
  467. package/es/common/inversify/annotation/multi_inject.js.map +0 -1
  468. package/es/common/inversify/annotation/named.d.ts +0 -1
  469. package/es/common/inversify/annotation/named.js +0 -10
  470. package/es/common/inversify/annotation/named.js.map +0 -1
  471. package/es/common/inversify/binding.d.ts +0 -18
  472. package/es/common/inversify/binding.js +0 -22
  473. package/es/common/inversify/binding.js.map +0 -1
  474. package/es/common/inversify/container.d.ts +0 -28
  475. package/es/common/inversify/container.js +0 -155
  476. package/es/common/inversify/container.js.map +0 -1
  477. package/es/common/inversify/cotainer-module.d.ts +0 -6
  478. package/es/common/inversify/cotainer-module.js +0 -8
  479. package/es/common/inversify/cotainer-module.js.map +0 -1
  480. package/es/common/inversify/index.d.ts +0 -7
  481. package/es/common/inversify/index.js +0 -14
  482. package/es/common/inversify/index.js.map +0 -1
  483. package/es/common/inversify/interfaces.d.ts +0 -218
  484. package/es/common/inversify/interfaces.js +0 -2
  485. package/es/common/inversify/interfaces.js.map +0 -1
  486. package/es/common/inversify/literal_types.d.ts +0 -5
  487. package/es/common/inversify/literal_types.js +0 -20
  488. package/es/common/inversify/literal_types.js.map +0 -1
  489. package/es/common/inversify/meta-data.d.ts +0 -6
  490. package/es/common/inversify/meta-data.js +0 -11
  491. package/es/common/inversify/meta-data.js.map +0 -1
  492. package/es/common/inversify/metadata_keys.d.ts +0 -12
  493. package/es/common/inversify/metadata_keys.js +0 -28
  494. package/es/common/inversify/metadata_keys.js.map +0 -1
  495. package/es/common/inversify/metadata_reader.d.ts +0 -6
  496. package/es/common/inversify/metadata_reader.js +0 -18
  497. package/es/common/inversify/metadata_reader.js.map +0 -1
  498. package/es/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  499. package/es/common/inversify/syntax/binding_in_syntax.js +0 -24
  500. package/es/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  501. package/es/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  502. package/es/common/inversify/syntax/binding_to_syntax.js +0 -36
  503. package/es/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  504. package/es/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  505. package/es/common/inversify/syntax/constraint_helpers.js +0 -16
  506. package/es/common/inversify/syntax/constraint_helpers.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vrender-core",
3
- "version": "0.17.0-alpha.5",
3
+ "version": "0.17.0-alpha.7",
4
4
  "description": "",
5
5
  "sideEffects": true,
6
6
  "main": "cjs/index.js",
@@ -13,7 +13,7 @@
13
13
  ],
14
14
  "dependencies": {
15
15
  "color-convert": "2.0.1",
16
- "@visactor/vutils": "~0.16.12"
16
+ "@visactor/vutils": "~0.16.10"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@rushstack/eslint-patch": "~1.1.4",
@@ -30,8 +30,8 @@
30
30
  "eslint": "~8.18.0",
31
31
  "vite": "3.2.6",
32
32
  "typescript": "4.9.5",
33
- "@internal/bundler": "0.0.1",
34
33
  "@internal/ts-config": "0.0.1",
34
+ "@internal/bundler": "0.0.1",
35
35
  "@internal/eslint-config": "0.0.1"
36
36
  },
37
37
  "keywords": [
@@ -69,8 +69,6 @@
69
69
  "dev": "bundle --clean -f es -w",
70
70
  "start": "vite ./__tests__/browser",
71
71
  "test": "jest",
72
- "test-live": "npm run test-watch __tests__/unit/theme/line.test.ts",
73
- "test-watch": "DEBUG_MODE=1 jest --watch",
74
72
  "test-cov": "jest -w 16 --coverage"
75
73
  }
76
74
  }
@@ -1,13 +0,0 @@
1
- import type { IAABBBounds } from '@visactor/vutils';
2
- import type { Releaseable, IAllocate } from '../interface';
3
- export declare const BoundsAllocate: unique symbol;
4
- export declare class DefaultBoundsAllocate implements IAllocate<IAABBBounds>, Releaseable {
5
- protected pools: IAABBBounds[];
6
- constructor();
7
- allocate(x1: number, y1: number, x2: number, y2: number): IAABBBounds;
8
- allocateByObj(b: IAABBBounds): IAABBBounds;
9
- free(b: IAABBBounds): void;
10
- get length(): number;
11
- release(...params: any): void;
12
- }
13
- export declare const boundsAllocate: DefaultBoundsAllocate;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.boundsAllocate = exports.DefaultBoundsAllocate = exports.BoundsAllocate = void 0;
6
-
7
- const vutils_1 = require("@visactor/vutils");
8
-
9
- exports.BoundsAllocate = Symbol.for("BoundsAllocate");
10
-
11
- class DefaultBoundsAllocate {
12
- constructor() {
13
- this.pools = [];
14
- for (let i = 0; i < 10; i++) this.pools.push(new vutils_1.AABBBounds);
15
- }
16
- allocate(x1, y1, x2, y2) {
17
- if (!this.pools.length) return (new vutils_1.AABBBounds).setValue(x1, y1, x2, y2);
18
- const b = this.pools.pop();
19
- return b.x1 = x1, b.y1 = y1, b.x2 = x2, b.y2 = y2, b;
20
- }
21
- allocateByObj(b) {
22
- if (!this.pools.length) return new vutils_1.AABBBounds(b);
23
- const _b = this.pools.pop();
24
- return _b.x1 = b.x1, _b.y1 = b.y1, _b.x2 = b.x2, _b.y2 = b.y2, _b;
25
- }
26
- free(b) {
27
- this.pools.push(b);
28
- }
29
- get length() {
30
- return this.pools.length;
31
- }
32
- release(...params) {
33
- this.pools = [];
34
- }
35
- }
36
-
37
- exports.DefaultBoundsAllocate = DefaultBoundsAllocate, exports.boundsAllocate = new DefaultBoundsAllocate;
38
- //# sourceMappingURL=bounds-allocate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/allocator/bounds-allocate.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAGjC,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE3D,MAAa,qBAAqB;IAEhC;QADU,UAAK,GAAkB,EAAE,CAAC;QAGlC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAU,EAAE,CAAC,CAAC;SACnC;IACH,CAAC;IACD,QAAQ,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,mBAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClD;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IACD,aAAa,CAAC,CAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,mBAAU,CAAC,CAAQ,CAAC,CAAC;SACjC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAS,CAAC;QACnC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,CAAc;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,MAAW;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AAvCD,sDAuCC;AAEY,QAAA,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC","file":"bounds-allocate.js","sourcesContent":["import type { IAABBBounds, IAABBBoundsLike } from '@visactor/vutils';\nimport { AABBBounds } from '@visactor/vutils';\nimport type { Releaseable, IAllocate } from '../interface';\n\nexport const BoundsAllocate = Symbol.for('BoundsAllocate');\n\nexport class DefaultBoundsAllocate implements IAllocate<IAABBBounds>, Releaseable {\n protected pools: IAABBBounds[] = [];\n constructor() {\n // 默认添加10个\n for (let i = 0; i < 10; i++) {\n this.pools.push(new AABBBounds());\n }\n }\n allocate(x1: number, y1: number, x2: number, y2: number): IAABBBounds {\n if (!this.pools.length) {\n return new AABBBounds().setValue(x1, y1, x2, y2);\n }\n const b = this.pools.pop();\n b.x1 = x1;\n b.y1 = y1;\n b.x2 = x2;\n b.y2 = y2;\n return b;\n }\n allocateByObj(b: IAABBBounds): IAABBBounds {\n if (!this.pools.length) {\n return new AABBBounds(b as any);\n }\n const _b = this.pools.pop() as any;\n _b.x1 = b.x1;\n _b.y1 = b.y1;\n _b.x2 = b.x2;\n _b.y2 = b.y2;\n return _b;\n }\n free(b: IAABBBounds) {\n this.pools.push(b);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport const boundsAllocate = new DefaultBoundsAllocate();\n"]}
@@ -1 +0,0 @@
1
- export declare const inject: <T = unknown>(serviceIdentifier: any) => (target: import("./inject_base").DecoratorTarget<T>, targetKey?: string | symbol, indexOrPropertyDescriptor?: number) => void;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.inject = void 0;
6
-
7
- const metadata_keys_1 = require("../metadata_keys"), inject_base_1 = require("./inject_base");
8
-
9
- exports.inject = (0, inject_base_1.injectBase)(metadata_keys_1.INJECT_TAG);
10
- //# sourceMappingURL=inject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/annotation/inject.ts"],"names":[],"mappings":";;;AAAA,oDAA8C;AAC9C,+CAA2C;AAE9B,QAAA,MAAM,GAAG,IAAA,wBAAU,EAAC,0BAAU,CAAC,CAAC","file":"inject.js","sourcesContent":["import { INJECT_TAG } from '../metadata_keys';\nimport { injectBase } from './inject_base';\n\nexport const inject = injectBase(INJECT_TAG);\n"]}
@@ -1,14 +0,0 @@
1
- import { Metadata } from '../meta-data';
2
- export declare function createTaggedDecorator(metadata: Metadata): <T>(target: DecoratorTarget, targetKey?: string | symbol, indexOrPropertyDescriptor?: number) => void;
3
- type Prototype<T> = {
4
- [Property in keyof T]: T[Property] extends NewableFunction ? T[Property] : T[Property] | undefined;
5
- } & {
6
- constructor: NewableFunction;
7
- };
8
- interface ConstructorFunction<T = Record<string, unknown>> {
9
- new (...args: unknown[]): T;
10
- prototype: Prototype<T>;
11
- }
12
- export type DecoratorTarget<T = unknown> = ConstructorFunction<T> | Prototype<T>;
13
- export declare function injectBase(metadataKey: string): <T = unknown>(serviceIdentifier: any) => (target: DecoratorTarget<T>, targetKey?: string | symbol, indexOrPropertyDescriptor?: number) => void;
14
- export {};
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- var __importDefault = this && this.__importDefault || function(mod) {
4
- return mod && mod.__esModule ? mod : {
5
- default: mod
6
- };
7
- };
8
-
9
- Object.defineProperty(exports, "__esModule", {
10
- value: !0
11
- }), exports.injectBase = exports.createTaggedDecorator = void 0;
12
-
13
- const meta_data_1 = require("../meta-data"), metadata_keys_1 = require("../metadata_keys"), Reflect_metadata_1 = __importDefault(require("../../Reflect-metadata"));
14
-
15
- function _tagParameterOrProperty(metadataKey, annotationTarget, key, metadata) {
16
- const metadatas = [ metadata ];
17
- let paramsOrPropertiesMetadata = {};
18
- Reflect_metadata_1.default.hasOwnMetadata(metadataKey, annotationTarget) && (paramsOrPropertiesMetadata = Reflect_metadata_1.default.getMetadata(metadataKey, annotationTarget));
19
- let paramOrPropertyMetadata = paramsOrPropertiesMetadata[key];
20
- void 0 === paramOrPropertyMetadata && (paramOrPropertyMetadata = []), paramOrPropertyMetadata.push(...metadatas),
21
- paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata, Reflect_metadata_1.default.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);
22
- }
23
-
24
- function tagParameter(annotationTarget, parameterName, parameterIndex, metadata) {
25
- _tagParameterOrProperty(metadata_keys_1.TAGGED, annotationTarget, parameterIndex.toString(), metadata);
26
- }
27
-
28
- function createTaggedDecorator(metadata) {
29
- return (target, targetKey, indexOrPropertyDescriptor) => {
30
- tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata);
31
- };
32
- }
33
-
34
- function injectBase(metadataKey) {
35
- return serviceIdentifier => (target, targetKey, indexOrPropertyDescriptor) => createTaggedDecorator(new meta_data_1.Metadata(metadataKey, serviceIdentifier))(target, targetKey, indexOrPropertyDescriptor);
36
- }
37
-
38
- exports.createTaggedDecorator = createTaggedDecorator, exports.injectBase = injectBase;
39
- //# sourceMappingURL=inject_base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/annotation/inject_base.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAwC;AACxC,oDAA0C;AAC1C,8EAA6C;AAE7C,SAAS,uBAAuB,CAC9B,WAAmB,EACnB,gBAAiC,EACjC,GAAoB,EACpB,QAAkB;IAElB,MAAM,SAAS,GAAe,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,0BAA0B,GAAoD,EAAE,CAAC;IAErF,IAAK,0BAAe,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE;QAClE,0BAA0B,GAAI,0BAAe,CAAC,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;KAC1F;IAED,IAAI,uBAAuB,GAA2B,0BAA0B,CAAC,GAAa,CAAC,CAAC;IAEhG,IAAI,uBAAuB,KAAK,SAAS,EAAE;QACzC,uBAAuB,GAAG,EAAE,CAAC;KAC9B;IAGD,uBAAuB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3C,0BAA0B,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC;IACzD,0BAAe,CAAC,cAAc,CAAC,WAAW,EAAE,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,YAAY,CACnB,gBAAiC,EACjC,aAA0C,EAC1C,cAAsB,EACtB,QAAkB;IAElB,uBAAuB,CAAC,sBAAM,EAAE,gBAAuC,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChH,CAAC;AAED,SAAgB,qBAAqB,CAAC,QAAkB;IACtD,OAAO,CAAI,MAAuB,EAAE,SAA2B,EAAE,yBAAkC,EAAE,EAAE;QACrG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC,CAAC;AACJ,CAAC;AAJD,sDAIC;AAaD,SAAgB,UAAU,CAAC,WAAmB;IAC5C,OAAO,CAAc,iBAAsB,EAAE,EAAE;QAC7C,OAAO,CAAC,MAA0B,EAAE,SAA2B,EAAE,yBAAkC,EAAE,EAAE;YACrG,OAAO,qBAAqB,CAAC,IAAI,oBAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CACxE,MAAM,EACN,SAAS,EACT,yBAAyB,CAC1B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAVD,gCAUC","file":"inject_base.js","sourcesContent":["import { Metadata } from '../meta-data';\nimport { TAGGED } from '../metadata_keys';\nimport Reflect from '../../Reflect-metadata';\n\nfunction _tagParameterOrProperty(\n metadataKey: string,\n annotationTarget: NewableFunction,\n key: string | symbol,\n metadata: Metadata\n) {\n const metadatas: Metadata[] = [metadata];\n\n let paramsOrPropertiesMetadata: Record<string | symbol, Metadata[] | undefined> = {};\n // read metadata if available\n if ((Reflect as any).hasOwnMetadata(metadataKey, annotationTarget)) {\n paramsOrPropertiesMetadata = (Reflect as any).getMetadata(metadataKey, annotationTarget);\n }\n\n let paramOrPropertyMetadata: Metadata[] | undefined = paramsOrPropertiesMetadata[key as string];\n\n if (paramOrPropertyMetadata === undefined) {\n paramOrPropertyMetadata = [];\n }\n\n // set metadata\n paramOrPropertyMetadata.push(...metadatas);\n paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;\n (Reflect as any).defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);\n}\n\nfunction tagParameter(\n annotationTarget: DecoratorTarget,\n parameterName: string | symbol | undefined,\n parameterIndex: number,\n metadata: Metadata\n) {\n _tagParameterOrProperty(TAGGED, annotationTarget as ConstructorFunction, parameterIndex.toString(), metadata);\n}\n\nexport function createTaggedDecorator(metadata: Metadata) {\n return <T>(target: DecoratorTarget, targetKey?: string | symbol, indexOrPropertyDescriptor?: number) => {\n tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata);\n };\n}\n\ntype Prototype<T> = {\n [Property in keyof T]: T[Property] extends NewableFunction ? T[Property] : T[Property] | undefined;\n} & { constructor: NewableFunction };\n\ninterface ConstructorFunction<T = Record<string, unknown>> {\n new (...args: unknown[]): T;\n prototype: Prototype<T>;\n}\n\nexport type DecoratorTarget<T = unknown> = ConstructorFunction<T> | Prototype<T>;\n\nexport function injectBase(metadataKey: string) {\n return <T = unknown>(serviceIdentifier: any) => {\n return (target: DecoratorTarget<T>, targetKey?: string | symbol, indexOrPropertyDescriptor?: number) => {\n return createTaggedDecorator(new Metadata(metadataKey, serviceIdentifier))(\n target,\n targetKey,\n indexOrPropertyDescriptor\n );\n };\n };\n}\n"]}
@@ -1 +0,0 @@
1
- export declare function injectable(): <T extends abstract new (...args: any) => unknown>(target: T) => T;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/annotation/injectable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,8EAA6C;AAE7C,SAAgB,UAAU;IACxB,OAAO,UAA4D,MAAS;QACzE,0BAAe,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAExE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAND,gCAMC","file":"injectable.js","sourcesContent":["import * as METADATA_KEY from '../metadata_keys';\nimport Reflect from '../../Reflect-metadata';\n\nexport function injectable() {\n return function <T extends abstract new (...args: any) => unknown>(target: T) {\n (Reflect as any).defineMetadata(METADATA_KEY.PARAM_TYPES, null, target);\n\n return target;\n };\n}\n"]}
@@ -1 +0,0 @@
1
- export declare const multiInject: <T = unknown>(serviceIdentifier: any) => (target: import("./inject_base").DecoratorTarget<T>, targetKey?: string | symbol, indexOrPropertyDescriptor?: number) => void;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.multiInject = void 0;
6
-
7
- const metadata_keys_1 = require("../metadata_keys"), inject_base_1 = require("./inject_base");
8
-
9
- exports.multiInject = (0, inject_base_1.injectBase)(metadata_keys_1.MULTI_INJECT_TAG);
10
- //# sourceMappingURL=multi_inject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/annotation/multi_inject.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,+CAA2C;AAE9B,QAAA,WAAW,GAAG,IAAA,wBAAU,EAAC,gCAAgB,CAAC,CAAC","file":"multi_inject.js","sourcesContent":["import { MULTI_INJECT_TAG } from '../metadata_keys';\nimport { injectBase } from './inject_base';\n\nexport const multiInject = injectBase(MULTI_INJECT_TAG);\n"]}
@@ -1 +0,0 @@
1
- export declare function named(name: string | number | symbol): <T>(target: import("./inject_base").DecoratorTarget<unknown>, targetKey?: string | symbol, indexOrPropertyDescriptor?: number) => void;
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.named = void 0;
6
-
7
- const meta_data_1 = require("../meta-data"), metadata_keys_1 = require("../metadata_keys"), inject_base_1 = require("./inject_base");
8
-
9
- function named(name) {
10
- return (0, inject_base_1.createTaggedDecorator)(new meta_data_1.Metadata(metadata_keys_1.NAMED_TAG, name));
11
- }
12
-
13
- exports.named = named;
14
- //# sourceMappingURL=named.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/annotation/named.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,oDAA6C;AAC7C,+CAAsD;AAEtD,SAAgB,KAAK,CAAC,IAA8B;IAClD,OAAO,IAAA,mCAAqB,EAAC,IAAI,oBAAQ,CAAC,yBAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,sBAEC","file":"named.js","sourcesContent":["import { Metadata } from '../meta-data';\nimport { NAMED_TAG } from '../metadata_keys';\nimport { createTaggedDecorator } from './inject_base';\n\nexport function named(name: string | number | symbol) {\n return createTaggedDecorator(new Metadata(NAMED_TAG, name));\n}\n"]}
@@ -1,18 +0,0 @@
1
- import type { interfaces } from './interfaces';
2
- declare class Binding<TActivated> implements interfaces.Binding<TActivated> {
3
- id: number;
4
- moduleId: interfaces.ContainerModuleBase['id'];
5
- activated: boolean;
6
- serviceIdentifier: interfaces.ServiceIdentifier<TActivated>;
7
- implementationType: interfaces.Newable<TActivated> | TActivated | null;
8
- cache: TActivated | null;
9
- dynamicValue: interfaces.DynamicValue<TActivated> | null;
10
- scope: interfaces.BindingScope;
11
- type: interfaces.BindingType;
12
- factory: interfaces.FactoryCreator<unknown> | null;
13
- provider: interfaces.ProviderCreator<unknown> | null;
14
- constraint: interfaces.ConstraintFunction;
15
- constructor(serviceIdentifier: interfaces.ServiceIdentifier<TActivated>, scope: interfaces.BindingScope);
16
- clone(): interfaces.Binding<TActivated>;
17
- }
18
- export { Binding };
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.Binding = void 0;
6
-
7
- const generator_1 = require("../generator"), literal_types_1 = require("./literal_types");
8
-
9
- class Binding {
10
- constructor(serviceIdentifier, scope) {
11
- this.id = generator_1.Generator.GenAutoIncrementId(), this.activated = !1, this.serviceIdentifier = serviceIdentifier,
12
- this.scope = scope, this.type = literal_types_1.BindingTypeEnum.Invalid, this.constraint = request => !0,
13
- this.implementationType = null, this.cache = null, this.factory = null, this.provider = null,
14
- this.dynamicValue = null;
15
- }
16
- clone() {
17
- const clone = new Binding(this.serviceIdentifier, this.scope);
18
- return clone.activated = clone.scope === literal_types_1.BindingScopeEnum.Singleton && this.activated,
19
- clone.implementationType = this.implementationType, clone.dynamicValue = this.dynamicValue,
20
- clone.scope = this.scope, clone.type = this.type, clone.provider = this.provider,
21
- clone.constraint = this.constraint, clone.cache = this.cache, clone;
22
- }
23
- }
24
-
25
- exports.Binding = Binding;
26
- //# sourceMappingURL=binding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/binding.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAEzC,mDAAoE;AAEpE,MAAM,OAAO;IA0CX,YAAY,iBAA2D,EAAE,KAA8B;QACrG,IAAI,CAAC,EAAE,GAAG,qBAAS,CAAC,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,+BAAe,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,CAAC,OAAkC,EAAE,EAAE,CAAC,IAAI,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAGrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACtF,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAGnC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAEQ,0BAAO","file":"binding.js","sourcesContent":["import { Generator } from '../generator';\nimport type { interfaces } from './interfaces';\nimport { BindingScopeEnum, BindingTypeEnum } from './literal_types';\n\nclass Binding<TActivated> implements interfaces.Binding<TActivated> {\n id: number;\n moduleId!: interfaces.ContainerModuleBase['id'];\n\n // Determines weather the bindings has been already activated\n // The activation action takes place when an instance is resolved\n // If the scope is singleton it only happens once\n activated: boolean;\n\n // A runtime identifier because at runtime we don't have interfaces\n serviceIdentifier: interfaces.ServiceIdentifier<TActivated>;\n\n // constructor from binding to or toConstructor\n implementationType: interfaces.Newable<TActivated> | TActivated | null;\n\n // Cache used to allow singleton scope and BindingType.ConstantValue bindings\n cache: TActivated | null;\n\n // Cache used to allow BindingType.DynamicValue bindings\n dynamicValue: interfaces.DynamicValue<TActivated> | null;\n\n // The scope mode to be used\n scope: interfaces.BindingScope;\n\n // The kind of binding\n type: interfaces.BindingType;\n\n // A factory method used in BindingType.Factory bindings\n factory: interfaces.FactoryCreator<unknown> | null;\n\n // An async factory method used in BindingType.Provider bindings\n provider: interfaces.ProviderCreator<unknown> | null;\n\n // A constraint used to limit the contexts in which this binding is applicable\n constraint: interfaces.ConstraintFunction;\n\n // // On activation handler (invoked just before an instance is added to cache and injected)\n // onActivation: interfaces.BindingActivation<TActivated> | null;\n\n // // On deactivation handler (invoked just before an instance is unbinded and removed from container)\n // onDeactivation: interfaces.BindingDeactivation<TActivated> | null;\n\n constructor(serviceIdentifier: interfaces.ServiceIdentifier<TActivated>, scope: interfaces.BindingScope) {\n this.id = Generator.GenAutoIncrementId();\n this.activated = false;\n this.serviceIdentifier = serviceIdentifier;\n this.scope = scope;\n this.type = BindingTypeEnum.Invalid;\n this.constraint = (request: interfaces.Request | null) => true;\n this.implementationType = null;\n this.cache = null;\n this.factory = null;\n this.provider = null;\n // this.onActivation = null;\n // this.onDeactivation = null;\n this.dynamicValue = null;\n }\n\n clone(): interfaces.Binding<TActivated> {\n const clone = new Binding(this.serviceIdentifier, this.scope);\n clone.activated = clone.scope === BindingScopeEnum.Singleton ? this.activated : false;\n clone.implementationType = this.implementationType;\n clone.dynamicValue = this.dynamicValue;\n clone.scope = this.scope;\n clone.type = this.type;\n // clone.factory = this.factory;\n clone.provider = this.provider;\n clone.constraint = this.constraint;\n // clone.onActivation = this.onActivation;\n // clone.onDeactivation = this.onDeactivation;\n clone.cache = this.cache;\n return clone;\n }\n}\n\nexport { Binding };\n"]}
@@ -1,28 +0,0 @@
1
- import type { interfaces } from './interfaces';
2
- export declare class Container {
3
- id: number;
4
- readonly options: interfaces.ContainerOptions;
5
- private _bindingDictionary;
6
- private _metadataReader;
7
- constructor(containerOptions?: interfaces.ContainerOptions);
8
- load(module: interfaces.ContainerModule): void;
9
- get<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T;
10
- getAll<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[];
11
- getTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;
12
- getNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T;
13
- isBound(serviceIdentifier: interfaces.ServiceIdentifier<unknown>): boolean;
14
- bind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;
15
- unbind(serviceIdentifier: interfaces.ServiceIdentifier): void;
16
- rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;
17
- private _getContainerModuleHelpersFactory;
18
- private _getNotAllArgs;
19
- private _getAllArgs;
20
- private _get;
21
- private _getChildRequest;
22
- private _resolveFromBinding;
23
- private _getResolvedFromBinding;
24
- private _resolveInstance;
25
- private _createInstance;
26
- private _resolveRequests;
27
- private _saveToScope;
28
- }
@@ -1,155 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.Container = void 0;
6
-
7
- const generator_1 = require("../generator"), binding_1 = require("./binding"), literal_types_1 = require("./literal_types"), metadata_keys_1 = require("./metadata_keys"), metadata_reader_1 = require("./metadata_reader"), binding_to_syntax_1 = require("./syntax/binding_to_syntax");
8
-
9
- class Container {
10
- constructor(containerOptions) {
11
- const options = containerOptions || {};
12
- options.defaultScope = options.defaultScope || literal_types_1.BindingScopeEnum.Transient,
13
- this.options = options, this.id = generator_1.Generator.GenAutoIncrementId(), this._bindingDictionary = new Map,
14
- this._metadataReader = new metadata_reader_1.MetadataReader;
15
- }
16
- load(module) {
17
- const containerModuleHelpers = this._getContainerModuleHelpersFactory()(module.id);
18
- module.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction);
19
- }
20
- get(serviceIdentifier) {
21
- const getArgs = this._getNotAllArgs(serviceIdentifier, !1);
22
- return this._get(getArgs);
23
- }
24
- getAll(serviceIdentifier) {
25
- const getArgs = this._getAllArgs(serviceIdentifier);
26
- return this._get(getArgs);
27
- }
28
- getTagged(serviceIdentifier, key, value) {
29
- const getArgs = this._getNotAllArgs(serviceIdentifier, !1, key, value);
30
- return this._get(getArgs);
31
- }
32
- getNamed(serviceIdentifier, named) {
33
- return this.getTagged(serviceIdentifier, metadata_keys_1.NAMED_TAG, named);
34
- }
35
- isBound(serviceIdentifier) {
36
- return this._bindingDictionary.has(serviceIdentifier);
37
- }
38
- bind(serviceIdentifier) {
39
- const scope = this.options.defaultScope, binding = new binding_1.Binding(serviceIdentifier, scope), list = this._bindingDictionary.get(serviceIdentifier) || [];
40
- return list.push(binding), this._bindingDictionary.set(serviceIdentifier, list),
41
- new binding_to_syntax_1.BindingToSyntax(binding);
42
- }
43
- unbind(serviceIdentifier) {
44
- this._bindingDictionary.delete(serviceIdentifier);
45
- }
46
- rebind(serviceIdentifier) {
47
- return this.unbind(serviceIdentifier), this.bind(serviceIdentifier);
48
- }
49
- _getContainerModuleHelpersFactory() {
50
- const setModuleId = (bindingToSyntax, moduleId) => {
51
- bindingToSyntax._binding.moduleId = moduleId;
52
- }, getBindFunction = moduleId => serviceIdentifier => {
53
- const bindingToSyntax = this.bind(serviceIdentifier);
54
- return setModuleId(bindingToSyntax, moduleId), bindingToSyntax;
55
- }, getUnbindFunction = () => serviceIdentifier => this.unbind(serviceIdentifier), getIsboundFunction = () => serviceIdentifier => this.isBound(serviceIdentifier), getRebindFunction = moduleId => serviceIdentifier => {
56
- const bindingToSyntax = this.rebind(serviceIdentifier);
57
- return setModuleId(bindingToSyntax, moduleId), bindingToSyntax;
58
- };
59
- return mId => ({
60
- bindFunction: getBindFunction(mId),
61
- isboundFunction: getIsboundFunction(),
62
- rebindFunction: getRebindFunction(mId),
63
- unbindFunction: getUnbindFunction(),
64
- unbindAsyncFunction: serviceIdentifier => null
65
- });
66
- }
67
- _getNotAllArgs(serviceIdentifier, isMultiInject, key, value) {
68
- return {
69
- avoidConstraints: !1,
70
- isMultiInject: isMultiInject,
71
- serviceIdentifier: serviceIdentifier,
72
- key: key,
73
- value: value
74
- };
75
- }
76
- _getAllArgs(serviceIdentifier) {
77
- return {
78
- avoidConstraints: !0,
79
- isMultiInject: !0,
80
- serviceIdentifier: serviceIdentifier
81
- };
82
- }
83
- _get(getArgs) {
84
- const result = [];
85
- return this._bindingDictionary.get(getArgs.serviceIdentifier).forEach((binding => {
86
- result.push(this._resolveFromBinding(binding));
87
- })), getArgs.isMultiInject || 1 !== result.length ? result : result[0];
88
- }
89
- _getChildRequest(binding) {
90
- const constr = binding.implementationType, {userGeneratedMetadata: userGeneratedMetadata} = this._metadataReader.getConstructorMetadata(constr), keys = Object.keys(userGeneratedMetadata), arr = [];
91
- for (let i = 0; i < keys.length; i++) {
92
- const constructorArgsMetadata = userGeneratedMetadata[i], targetMetadataMap = {};
93
- constructorArgsMetadata.forEach((md => {
94
- targetMetadataMap[md.key] = md.value;
95
- }));
96
- const metadata = {
97
- inject: targetMetadataMap[metadata_keys_1.INJECT_TAG],
98
- multiInject: targetMetadataMap[metadata_keys_1.MULTI_INJECT_TAG]
99
- }, injectIdentifier = metadata.inject || metadata.multiInject, target = {
100
- serviceIdentifier: injectIdentifier,
101
- constructorArgsMetadata: constructorArgsMetadata
102
- }, request = {
103
- injectIdentifier: injectIdentifier,
104
- metadata: constructorArgsMetadata,
105
- bindings: this._bindingDictionary.get(injectIdentifier).filter((b => b.constraint(target)))
106
- };
107
- arr.push(request);
108
- }
109
- return arr;
110
- }
111
- _resolveFromBinding(binding) {
112
- const result = this._getResolvedFromBinding(binding);
113
- return this._saveToScope(binding, result), result;
114
- }
115
- _getResolvedFromBinding(binding) {
116
- let result;
117
- switch (binding.type) {
118
- case literal_types_1.BindingTypeEnum.ConstantValue:
119
- case literal_types_1.BindingTypeEnum.Function:
120
- result = binding.cache;
121
- break;
122
-
123
- case literal_types_1.BindingTypeEnum.Instance:
124
- result = this._resolveInstance(binding, binding.implementationType);
125
- break;
126
-
127
- default:
128
- result = binding.dynamicValue({
129
- container: this
130
- });
131
- }
132
- return result;
133
- }
134
- _resolveInstance(binding, constr) {
135
- if (binding.activated) return binding.cache;
136
- const childRequests = this._getChildRequest(binding);
137
- return this._createInstance(constr, childRequests);
138
- }
139
- _createInstance(constr, childRequests) {
140
- if (childRequests.length) {
141
- return new constr(...this._resolveRequests(childRequests));
142
- }
143
- return new constr;
144
- }
145
- _resolveRequests(childRequests) {
146
- return childRequests.map((request => request.bindings.length > 1 ? request.bindings.map((binding => this._resolveFromBinding(binding))) : this._resolveFromBinding(request.bindings[0])));
147
- }
148
- _saveToScope(binding, result) {
149
- binding.scope === literal_types_1.BindingScopeEnum.Singleton && (binding.cache = result,
150
- binding.activated = !0);
151
- }
152
- }
153
-
154
- exports.Container = Container;
155
- //# sourceMappingURL=container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/container.ts"],"names":[],"mappings":"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","file":"container.js","sourcesContent":["import { Generator } from '../generator';\nimport { Binding } from './binding';\nimport type { interfaces } from './interfaces';\nimport { BindingScopeEnum, BindingTypeEnum } from './literal_types';\nimport { Metadata } from './meta-data';\nimport { INJECT_TAG, MULTI_INJECT_TAG, NAMED_TAG } from './metadata_keys';\nimport { MetadataReader } from './metadata_reader';\nimport { BindingToSyntax } from './syntax/binding_to_syntax';\n\ninterface IChildRequest {\n injectIdentifier: any;\n metadata: interfaces.Metadata<unknown>[];\n bindings: Binding<unknown>[];\n}\n\ninterface GetArgs<T> {\n avoidConstraints: boolean;\n isMultiInject: boolean;\n serviceIdentifier: interfaces.ServiceIdentifier<T>;\n key: string | symbol;\n value: any;\n}\n\nexport class Container {\n id: number;\n readonly options: interfaces.ContainerOptions;\n private _bindingDictionary: Map<any, Binding<unknown>[]>;\n private _metadataReader: interfaces.MetadataReader;\n\n constructor(containerOptions?: interfaces.ContainerOptions) {\n const options = containerOptions || {};\n options.defaultScope = options.defaultScope || BindingScopeEnum.Transient;\n // console.log(this);\n this.options = options;\n this.id = Generator.GenAutoIncrementId();\n this._bindingDictionary = new Map();\n this._metadataReader = new MetadataReader();\n }\n\n load(module: interfaces.ContainerModule) {\n const getHelpers = this._getContainerModuleHelpersFactory();\n\n const containerModuleHelpers = getHelpers(module.id);\n\n module.registry(\n containerModuleHelpers.bindFunction as interfaces.Bind,\n containerModuleHelpers.unbindFunction,\n containerModuleHelpers.isboundFunction,\n containerModuleHelpers.rebindFunction as interfaces.Rebind\n );\n }\n\n get<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false);\n\n return this._get<T>(getArgs) as T;\n }\n\n getAll<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): T[] {\n const getArgs = this._getAllArgs(serviceIdentifier);\n\n return this._get<T>(getArgs) as T[];\n }\n\n getTagged<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T {\n const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);\n\n return this._get<T>(getArgs) as T;\n }\n\n getNamed<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>, named: string | number | symbol): T {\n return this.getTagged<T>(serviceIdentifier, NAMED_TAG, named);\n }\n\n isBound(serviceIdentifier: interfaces.ServiceIdentifier<unknown>): boolean {\n return this._bindingDictionary.has(serviceIdentifier);\n }\n\n // Registers a type binding\n bind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\n const scope = this.options.defaultScope;\n const binding = new Binding<T>(serviceIdentifier, scope);\n const list = this._bindingDictionary.get(serviceIdentifier) || [];\n list.push(binding);\n this._bindingDictionary.set(serviceIdentifier, list);\n return new BindingToSyntax<T>(binding);\n }\n\n unbind(serviceIdentifier: interfaces.ServiceIdentifier): void {\n this._bindingDictionary.delete(serviceIdentifier);\n }\n\n rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T> {\n this.unbind(serviceIdentifier);\n return this.bind(serviceIdentifier);\n }\n\n private _getContainerModuleHelpersFactory() {\n const setModuleId = (\n bindingToSyntax: interfaces.BindingToSyntax<unknown>,\n moduleId: interfaces.ContainerModuleBase['id']\n ) => {\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\n // depends on it, and does not expose this member as public.\n (\n bindingToSyntax as unknown as { _binding: { moduleId: interfaces.ContainerModuleBase['id'] } }\n )._binding.moduleId = moduleId;\n };\n\n const getBindFunction =\n <T>(moduleId: interfaces.ContainerModuleBase['id']) =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n const bindingToSyntax = this.bind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax as BindingToSyntax<T>;\n };\n\n const getUnbindFunction = () => (serviceIdentifier: interfaces.ServiceIdentifier) => {\n return this.unbind(serviceIdentifier);\n };\n\n const getUnbindAsyncFunction = () => (serviceIdentifier: interfaces.ServiceIdentifier) => {\n return null as any;\n // return this.unbindAsync(serviceIdentifier);\n };\n\n const getIsboundFunction = () => (serviceIdentifier: interfaces.ServiceIdentifier) => {\n return this.isBound(serviceIdentifier);\n };\n\n const getRebindFunction =\n <T = unknown>(moduleId: interfaces.ContainerModuleBase['id']) =>\n (serviceIdentifier: interfaces.ServiceIdentifier) => {\n const bindingToSyntax = this.rebind(serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax as BindingToSyntax<T>;\n };\n return (mId: interfaces.ContainerModuleBase['id']) => ({\n bindFunction: getBindFunction(mId),\n isboundFunction: getIsboundFunction(),\n rebindFunction: getRebindFunction(mId),\n unbindFunction: getUnbindFunction(),\n unbindAsyncFunction: getUnbindAsyncFunction()\n });\n }\n\n private _getNotAllArgs<T>(\n serviceIdentifier: interfaces.ServiceIdentifier<T>,\n isMultiInject: boolean,\n key?: string | number | symbol | undefined,\n value?: unknown\n ): any {\n return {\n avoidConstraints: false,\n isMultiInject,\n serviceIdentifier,\n key,\n value\n };\n }\n\n private _getAllArgs<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): any {\n return {\n avoidConstraints: true,\n isMultiInject: true,\n serviceIdentifier\n };\n }\n\n private _get<T>(getArgs: GetArgs<T>): T | T[] {\n const result: T[] = [];\n const bindings = this._bindingDictionary.get(getArgs.serviceIdentifier) as Binding<T>[];\n bindings.forEach(binding => {\n result.push(this._resolveFromBinding<T>(binding));\n });\n\n return !getArgs.isMultiInject && result.length === 1 ? result[0] : result;\n }\n\n private _getChildRequest(binding: Binding<unknown>) {\n const constr = binding.implementationType;\n const { userGeneratedMetadata } = this._metadataReader.getConstructorMetadata(constr as any);\n const keys = Object.keys(userGeneratedMetadata);\n const arr = [];\n for (let i = 0; i < keys.length; i++) {\n const constructorArgsMetadata = userGeneratedMetadata[i];\n const targetMetadataMap = {};\n constructorArgsMetadata.forEach(md => {\n targetMetadataMap[md.key] = md.value;\n });\n const metadata = {\n inject: targetMetadataMap[INJECT_TAG],\n multiInject: targetMetadataMap[MULTI_INJECT_TAG]\n };\n const injectIdentifier = metadata.inject || metadata.multiInject;\n const target = {\n serviceIdentifier: injectIdentifier,\n constructorArgsMetadata\n };\n const bindings = this._bindingDictionary.get(injectIdentifier).filter(b => {\n return b.constraint(target as any);\n });\n const request = {\n injectIdentifier,\n metadata: constructorArgsMetadata,\n bindings\n };\n\n arr.push(request);\n }\n\n return arr;\n }\n\n private _resolveFromBinding<T>(binding: Binding<T>): T {\n const result = this._getResolvedFromBinding<T>(binding);\n\n this._saveToScope(binding, result);\n\n return result;\n }\n\n private _getResolvedFromBinding<T>(binding: Binding<T>) {\n let result: T;\n switch (binding.type) {\n case BindingTypeEnum.ConstantValue:\n case BindingTypeEnum.Function:\n result = binding.cache as T;\n break;\n case BindingTypeEnum.Instance:\n result = this._resolveInstance<T>(binding, binding.implementationType as interfaces.Newable<T>);\n break;\n default:\n result = binding.dynamicValue({ container: this } as any);\n }\n\n return result;\n }\n\n private _resolveInstance<T>(binding: Binding<T>, constr: interfaces.Newable<T>): T {\n if (binding.activated) {\n return binding.cache;\n }\n\n const childRequests = this._getChildRequest(binding);\n return this._createInstance(constr, childRequests);\n }\n\n private _createInstance<T>(constr: interfaces.Newable<T>, childRequests: IChildRequest[]) {\n if (childRequests.length) {\n const resolved = this._resolveRequests(childRequests);\n const obj = new constr(...resolved);\n return obj;\n }\n const obj = new constr();\n return obj;\n }\n\n private _resolveRequests(childRequests: IChildRequest[]): any[] {\n return childRequests.map(request => {\n return request.bindings.length > 1\n ? request.bindings.map(binding => this._resolveFromBinding(binding))\n : this._resolveFromBinding(request.bindings[0]);\n });\n }\n\n private _saveToScope(binding: Binding<unknown>, result: any) {\n if (binding.scope === BindingScopeEnum.Singleton) {\n binding.cache = result;\n binding.activated = true;\n }\n }\n}\n"]}
@@ -1,6 +0,0 @@
1
- import type { interfaces } from '../inversify-lite';
2
- export declare class ContainerModule {
3
- id: number;
4
- registry: interfaces.ContainerModuleCallBack;
5
- constructor(registry: interfaces.ContainerModuleCallBack);
6
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.ContainerModule = void 0;
6
-
7
- const generator_1 = require("../generator");
8
-
9
- class ContainerModule {
10
- constructor(registry) {
11
- this.id = generator_1.Generator.GenAutoIncrementId(), this.registry = registry;
12
- }
13
- }
14
-
15
- exports.ContainerModule = ContainerModule;
16
- //# sourceMappingURL=cotainer-module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/cotainer-module.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAGzC,MAAa,eAAe;IAI1B,YAAY,QAA4C;QACtD,IAAI,CAAC,EAAE,GAAG,qBAAS,CAAC,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AARD,0CAQC","file":"cotainer-module.js","sourcesContent":["import { Generator } from '../generator';\nimport type { interfaces } from '../inversify-lite';\n\nexport class ContainerModule {\n id: number;\n registry: interfaces.ContainerModuleCallBack;\n\n constructor(registry: interfaces.ContainerModuleCallBack) {\n this.id = Generator.GenAutoIncrementId();\n this.registry = registry;\n }\n}\n"]}
@@ -1,7 +0,0 @@
1
- export { ContainerModule } from './cotainer-module';
2
- export { inject } from './annotation/inject';
3
- export { multiInject } from './annotation/multi_inject';
4
- export { injectable } from './annotation/injectable';
5
- export { named } from './annotation/named';
6
- export { Container } from './container';
7
- export * from './interfaces';
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
- void 0 === k2 && (k2 = k);
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
- enumerable: !0,
8
- get: function() {
9
- return m[k];
10
- }
11
- }), Object.defineProperty(o, k2, desc);
12
- } : function(o, m, k, k2) {
13
- void 0 === k2 && (k2 = k), o[k2] = m[k];
14
- }), __exportStar = this && this.__exportStar || function(m, exports) {
15
- for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
- };
17
-
18
- Object.defineProperty(exports, "__esModule", {
19
- value: !0
20
- }), exports.Container = exports.named = exports.injectable = exports.multiInject = exports.inject = exports.ContainerModule = void 0;
21
-
22
- var cotainer_module_1 = require("./cotainer-module");
23
-
24
- Object.defineProperty(exports, "ContainerModule", {
25
- enumerable: !0,
26
- get: function() {
27
- return cotainer_module_1.ContainerModule;
28
- }
29
- });
30
-
31
- var inject_1 = require("./annotation/inject");
32
-
33
- Object.defineProperty(exports, "inject", {
34
- enumerable: !0,
35
- get: function() {
36
- return inject_1.inject;
37
- }
38
- });
39
-
40
- var multi_inject_1 = require("./annotation/multi_inject");
41
-
42
- Object.defineProperty(exports, "multiInject", {
43
- enumerable: !0,
44
- get: function() {
45
- return multi_inject_1.multiInject;
46
- }
47
- });
48
-
49
- var injectable_1 = require("./annotation/injectable");
50
-
51
- Object.defineProperty(exports, "injectable", {
52
- enumerable: !0,
53
- get: function() {
54
- return injectable_1.injectable;
55
- }
56
- });
57
-
58
- var named_1 = require("./annotation/named");
59
-
60
- Object.defineProperty(exports, "named", {
61
- enumerable: !0,
62
- get: function() {
63
- return named_1.named;
64
- }
65
- });
66
-
67
- var container_1 = require("./container");
68
-
69
- Object.defineProperty(exports, "Container", {
70
- enumerable: !0,
71
- get: function() {
72
- return container_1.Container;
73
- }
74
- }), __exportStar(require("./interfaces"), exports);
75
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/inversify/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA0BA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,8CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,0DAAwD;AAA/C,2GAAA,WAAW,OAAA;AACpB,sDAAqD;AAA5C,wGAAA,UAAU,OAAA;AACnB,4CAA2C;AAAlC,8FAAA,KAAK,OAAA;AACd,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,+CAA6B","file":"index.js","sourcesContent":["/**\n * 该文件夹下所有文件来源于inversify\n * https://github.com/inversify/InversifyJS\n * The MIT License (MIT)\n\nCopyright (c) 2015-2017 Remo H. Jansen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\nexport { ContainerModule } from './cotainer-module';\nexport { inject } from './annotation/inject';\nexport { multiInject } from './annotation/multi_inject';\nexport { injectable } from './annotation/injectable';\nexport { named } from './annotation/named';\nexport { Container } from './container';\n// export { postConstruct } from './annotation/post_construct';\nexport * from './interfaces';\n"]}