@visactor/vrender-core 0.17.0-alpha.6 → 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 (528) 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/shape/rect.js +1 -2
  29. package/cjs/common/shape/rect.js.map +1 -1
  30. package/cjs/common/sort.js +2 -1
  31. package/cjs/common/split-path.js +1 -2
  32. package/cjs/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  33. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +9 -4
  34. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  35. package/cjs/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  36. package/cjs/core/contributions/layerHandler/empty-contribution.js +9 -4
  37. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  38. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  39. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +9 -4
  40. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  41. package/cjs/core/contributions/textMeasure/modules.js +2 -1
  42. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  43. package/cjs/core/core-modules.js +6 -5
  44. package/cjs/core/core-modules.js.map +1 -1
  45. package/cjs/core/global.d.ts +0 -4
  46. package/cjs/core/global.js +5 -8
  47. package/cjs/core/global.js.map +1 -1
  48. package/cjs/core/graphic-utils.d.ts +4 -7
  49. package/cjs/core/graphic-utils.js +14 -18
  50. package/cjs/core/graphic-utils.js.map +1 -1
  51. package/cjs/core/layer-service.d.ts +2 -2
  52. package/cjs/core/layer-service.js +10 -5
  53. package/cjs/core/layer-service.js.map +1 -1
  54. package/cjs/core/stage.d.ts +4 -7
  55. package/cjs/core/stage.js +34 -38
  56. package/cjs/core/stage.js.map +1 -1
  57. package/cjs/core/window.d.ts +2 -2
  58. package/cjs/core/window.js +12 -7
  59. package/cjs/core/window.js.map +1 -1
  60. package/cjs/event/event-manager.js +2 -3
  61. package/cjs/event/event-manager.js.map +1 -1
  62. package/cjs/graphic/config.js +0 -4
  63. package/cjs/graphic/config.js.map +1 -1
  64. package/cjs/graphic/graphic-service/arc-contribution.d.ts +5 -1
  65. package/cjs/graphic/graphic-service/arc-contribution.js +18 -0
  66. package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
  67. package/cjs/graphic/graphic-service/area-contribution.d.ts +1 -1
  68. package/cjs/graphic/graphic-service/area-contribution.js +4 -1
  69. package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
  70. package/cjs/graphic/graphic-service/circle-contribution.d.ts +5 -1
  71. package/cjs/graphic/graphic-service/circle-contribution.js +18 -0
  72. package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
  73. package/cjs/graphic/graphic-service/common-contribution.js +11 -2
  74. package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
  75. package/cjs/graphic/graphic-service/graphic-module.js +17 -2
  76. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  77. package/cjs/graphic/graphic-service/graphic-service.d.ts +7 -2
  78. package/cjs/graphic/graphic-service/graphic-service.js +28 -22
  79. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  80. package/cjs/graphic/graphic-service/path-contribution.d.ts +5 -1
  81. package/cjs/graphic/graphic-service/path-contribution.js +18 -0
  82. package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
  83. package/cjs/graphic/graphic-service/rect-contribution.d.ts +5 -1
  84. package/cjs/graphic/graphic-service/rect-contribution.js +18 -0
  85. package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
  86. package/cjs/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  87. package/cjs/graphic/graphic-service/symbol-contribution.js +13 -4
  88. package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
  89. package/cjs/graphic/graphic.js +2 -3
  90. package/cjs/graphic/graphic.js.map +1 -1
  91. package/cjs/graphic/group.d.ts +0 -1
  92. package/cjs/graphic/group.js +3 -7
  93. package/cjs/graphic/group.js.map +1 -1
  94. package/cjs/graphic/rect.d.ts +3 -2
  95. package/cjs/graphic/rect.js +5 -3
  96. package/cjs/graphic/rect.js.map +1 -1
  97. package/cjs/graphic/symbol.js +4 -7
  98. package/cjs/graphic/symbol.js.map +1 -1
  99. package/cjs/graphic/theme.d.ts +4 -4
  100. package/cjs/graphic/theme.js +28 -27
  101. package/cjs/graphic/theme.js.map +1 -1
  102. package/cjs/index.d.ts +0 -2
  103. package/cjs/index.js +0 -1
  104. package/cjs/index.js.map +1 -1
  105. package/cjs/interface/allocator.d.ts +0 -1
  106. package/cjs/interface/allocator.js.map +1 -1
  107. package/cjs/interface/global.d.ts +0 -1
  108. package/cjs/interface/global.js.map +1 -1
  109. package/cjs/interface/graphic/rect.d.ts +0 -2
  110. package/cjs/interface/graphic/rect.js.map +1 -1
  111. package/cjs/interface/render.d.ts +2 -2
  112. package/cjs/interface/render.js.map +1 -1
  113. package/cjs/interface/stage.d.ts +1 -2
  114. package/cjs/interface/stage.js.map +1 -1
  115. package/cjs/modules.d.ts +2 -1
  116. package/cjs/modules.js +8 -8
  117. package/cjs/modules.js.map +1 -1
  118. package/cjs/picker/global-picker-service.d.ts +2 -2
  119. package/cjs/picker/global-picker-service.js +9 -4
  120. package/cjs/picker/global-picker-service.js.map +1 -1
  121. package/cjs/picker/pick-modules.js +4 -2
  122. package/cjs/picker/pick-modules.js.map +1 -1
  123. package/cjs/picker/picker-service.d.ts +2 -2
  124. package/cjs/picker/picker-service.js +6 -6
  125. package/cjs/picker/picker-service.js.map +1 -1
  126. package/cjs/plugins/plugin-modules.js +2 -1
  127. package/cjs/plugins/plugin-modules.js.map +1 -1
  128. package/cjs/render/contributions/render/arc-render.js +1 -2
  129. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  130. package/cjs/render/contributions/render/area-render.d.ts +0 -1
  131. package/cjs/render/contributions/render/area-render.js +6 -44
  132. package/cjs/render/contributions/render/area-render.js.map +1 -1
  133. package/cjs/render/contributions/render/base-render.d.ts +1 -1
  134. package/cjs/render/contributions/render/base-render.js +18 -15
  135. package/cjs/render/contributions/render/base-render.js.map +1 -1
  136. package/cjs/render/contributions/render/circle-render.js +1 -2
  137. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  138. package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  139. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +30 -7
  140. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  141. package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  142. package/cjs/render/contributions/render/contributions/area-contribution-render.js +21 -7
  143. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  144. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  145. package/cjs/render/contributions/render/contributions/base-contribution-render.js +9 -9
  146. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  147. package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  148. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +30 -7
  149. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  150. package/cjs/render/contributions/render/contributions/constants.d.ts +0 -1
  151. package/cjs/render/contributions/render/contributions/constants.js +2 -2
  152. package/cjs/render/contributions/render/contributions/constants.js.map +1 -1
  153. package/cjs/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  154. package/cjs/render/contributions/render/contributions/group-contribution-render.js +12 -6
  155. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  156. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  157. package/cjs/render/contributions/render/contributions/image-contribution-render.js +12 -6
  158. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  159. package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  160. package/cjs/render/contributions/render/contributions/path-contribution-render.js +25 -4
  161. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  162. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  163. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +25 -4
  164. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  165. package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  166. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +37 -17
  167. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  168. package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  169. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +27 -6
  170. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  171. package/cjs/render/contributions/render/draw-contribution.d.ts +6 -7
  172. package/cjs/render/contributions/render/draw-contribution.js +22 -31
  173. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  174. package/cjs/render/contributions/render/draw-interceptor.d.ts +1 -9
  175. package/cjs/render/contributions/render/draw-interceptor.js +27 -41
  176. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  177. package/cjs/render/contributions/render/group-render.js +2 -3
  178. package/cjs/render/contributions/render/group-render.js.map +1 -1
  179. package/cjs/render/contributions/render/image-render.js +1 -2
  180. package/cjs/render/contributions/render/image-render.js.map +1 -1
  181. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  182. package/cjs/render/contributions/render/incremental-draw-contribution.js +11 -8
  183. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  184. package/cjs/render/contributions/render/line-render.d.ts +0 -1
  185. package/cjs/render/contributions/render/line-render.js +6 -21
  186. package/cjs/render/contributions/render/line-render.js.map +1 -1
  187. package/cjs/render/contributions/render/module.js +87 -32
  188. package/cjs/render/contributions/render/module.js.map +1 -1
  189. package/cjs/render/contributions/render/path-render.d.ts +1 -2
  190. package/cjs/render/contributions/render/path-render.js +5 -8
  191. package/cjs/render/contributions/render/path-render.js.map +1 -1
  192. package/cjs/render/contributions/render/polygon-render.js +1 -2
  193. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  194. package/cjs/render/contributions/render/rect-render.d.ts +1 -2
  195. package/cjs/render/contributions/render/rect-render.js +5 -11
  196. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  197. package/cjs/render/contributions/render/render-slector.d.ts +4 -1
  198. package/cjs/render/contributions/render/render-slector.js +20 -0
  199. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  200. package/cjs/render/contributions/render/symbol-render.js +1 -2
  201. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  202. package/cjs/render/contributions/render/text-render.js +8 -10
  203. package/cjs/render/contributions/render/text-render.js.map +1 -1
  204. package/cjs/render/contributions/render/utils.js +2 -2
  205. package/cjs/render/contributions/render/utils.js.map +1 -1
  206. package/cjs/render/render-modules.js +1 -1
  207. package/cjs/render/render-modules.js.map +1 -1
  208. package/cjs/render/render-service.js +1 -1
  209. package/cjs/render/render-service.js.map +1 -1
  210. package/dist/index.js +6749 -5780
  211. package/dist/index.min.js +1 -1
  212. package/es/allocator/canvas-allocate.d.ts +0 -4
  213. package/es/allocator/canvas-allocate.js +6 -19
  214. package/es/allocator/canvas-allocate.js.map +1 -1
  215. package/es/allocator/graphic-allocate.d.ts +1 -56
  216. package/es/allocator/graphic-allocate.js +1 -155
  217. package/es/allocator/graphic-allocate.js.map +1 -1
  218. package/es/animate/Ticker/default-ticker.js +1 -1
  219. package/es/animate/Ticker/default-ticker.js.map +1 -1
  220. package/es/animate/config.js +2 -1
  221. package/es/animate/custom-animate.js +1 -2
  222. package/es/common/Reflect-metadata.js +359 -349
  223. package/es/common/Reflect-metadata.js.map +1 -1
  224. package/es/common/bezier-utils.js +1 -2
  225. package/es/common/inversify-lite/annotation/post_construct.d.ts +4 -0
  226. package/es/common/inversify-lite/annotation/post_construct.js +10 -0
  227. package/es/common/inversify-lite/annotation/post_construct.js.map +1 -0
  228. package/es/common/inversify-lite/container/container.js +4 -2
  229. package/es/common/inversify-lite/container/container.js.map +1 -1
  230. package/es/common/inversify-lite/index.d.ts +8 -1
  231. package/es/common/inversify-lite/index.js +15 -1
  232. package/es/common/inversify-lite/index.js.map +1 -1
  233. package/es/common/inversify-lite/interfaces/interfaces.d.ts +2 -0
  234. package/es/common/inversify-lite/interfaces/interfaces.js.map +1 -1
  235. package/es/common/inversify-lite/planning/queryable_string.d.ts +2 -0
  236. package/es/common/inversify-lite/planning/queryable_string.js +10 -0
  237. package/es/common/inversify-lite/planning/queryable_string.js.map +1 -1
  238. package/es/common/inversify-lite/resolution/resolver.js.map +1 -1
  239. package/es/common/shape/rect.js +1 -2
  240. package/es/common/shape/rect.js.map +1 -1
  241. package/es/common/sort.js +2 -1
  242. package/es/common/split-path.js +1 -2
  243. package/es/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  244. package/es/core/contributions/layerHandler/canvas2d-contribution.js +9 -5
  245. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  246. package/es/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  247. package/es/core/contributions/layerHandler/empty-contribution.js +9 -5
  248. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  249. package/es/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  250. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +9 -5
  251. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  252. package/es/core/contributions/textMeasure/modules.js +1 -1
  253. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  254. package/es/core/core-modules.js +6 -4
  255. package/es/core/core-modules.js.map +1 -1
  256. package/es/core/global.d.ts +0 -4
  257. package/es/core/global.js +4 -8
  258. package/es/core/global.js.map +1 -1
  259. package/es/core/graphic-utils.d.ts +4 -7
  260. package/es/core/graphic-utils.js +15 -20
  261. package/es/core/graphic-utils.js.map +1 -1
  262. package/es/core/layer-service.d.ts +2 -2
  263. package/es/core/layer-service.js +10 -6
  264. package/es/core/layer-service.js.map +1 -1
  265. package/es/core/stage.d.ts +4 -7
  266. package/es/core/stage.js +36 -42
  267. package/es/core/stage.js.map +1 -1
  268. package/es/core/window.d.ts +2 -2
  269. package/es/core/window.js +12 -8
  270. package/es/core/window.js.map +1 -1
  271. package/es/event/event-manager.js +2 -3
  272. package/es/event/event-manager.js.map +1 -1
  273. package/es/graphic/config.js +0 -4
  274. package/es/graphic/config.js.map +1 -1
  275. package/es/graphic/graphic-service/arc-contribution.d.ts +5 -1
  276. package/es/graphic/graphic-service/arc-contribution.js +15 -0
  277. package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
  278. package/es/graphic/graphic-service/area-contribution.d.ts +1 -1
  279. package/es/graphic/graphic-service/area-contribution.js +1 -2
  280. package/es/graphic/graphic-service/area-contribution.js.map +1 -1
  281. package/es/graphic/graphic-service/circle-contribution.d.ts +5 -1
  282. package/es/graphic/graphic-service/circle-contribution.js +15 -0
  283. package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
  284. package/es/graphic/graphic-service/common-contribution.js +14 -2
  285. package/es/graphic/graphic-service/common-contribution.js.map +1 -1
  286. package/es/graphic/graphic-service/graphic-module.js +23 -1
  287. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  288. package/es/graphic/graphic-service/graphic-service.d.ts +7 -2
  289. package/es/graphic/graphic-service/graphic-service.js +30 -23
  290. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  291. package/es/graphic/graphic-service/path-contribution.d.ts +5 -1
  292. package/es/graphic/graphic-service/path-contribution.js +15 -0
  293. package/es/graphic/graphic-service/path-contribution.js.map +1 -1
  294. package/es/graphic/graphic-service/rect-contribution.d.ts +5 -1
  295. package/es/graphic/graphic-service/rect-contribution.js +15 -0
  296. package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
  297. package/es/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  298. package/es/graphic/graphic-service/symbol-contribution.js +16 -2
  299. package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
  300. package/es/graphic/graphic.js +2 -3
  301. package/es/graphic/graphic.js.map +1 -1
  302. package/es/graphic/group.d.ts +0 -1
  303. package/es/graphic/group.js +1 -8
  304. package/es/graphic/group.js.map +1 -1
  305. package/es/graphic/rect.d.ts +3 -2
  306. package/es/graphic/rect.js +7 -3
  307. package/es/graphic/rect.js.map +1 -1
  308. package/es/graphic/symbol.js +4 -6
  309. package/es/graphic/symbol.js.map +1 -1
  310. package/es/graphic/theme.d.ts +4 -4
  311. package/es/graphic/theme.js +29 -26
  312. package/es/graphic/theme.js.map +1 -1
  313. package/es/index.d.ts +0 -2
  314. package/es/index.js +0 -4
  315. package/es/index.js.map +1 -1
  316. package/es/interface/allocator.d.ts +0 -1
  317. package/es/interface/allocator.js.map +1 -1
  318. package/es/interface/global.d.ts +0 -1
  319. package/es/interface/global.js.map +1 -1
  320. package/es/interface/graphic/rect.d.ts +0 -2
  321. package/es/interface/graphic/rect.js.map +1 -1
  322. package/es/interface/render.d.ts +2 -2
  323. package/es/interface/render.js.map +1 -1
  324. package/es/interface/stage.d.ts +1 -2
  325. package/es/interface/stage.js.map +1 -1
  326. package/es/modules.d.ts +2 -1
  327. package/es/modules.js +4 -0
  328. package/es/modules.js.map +1 -1
  329. package/es/picker/global-picker-service.d.ts +2 -2
  330. package/es/picker/global-picker-service.js +9 -5
  331. package/es/picker/global-picker-service.js.map +1 -1
  332. package/es/picker/pick-modules.js +4 -1
  333. package/es/picker/pick-modules.js.map +1 -1
  334. package/es/picker/picker-service.d.ts +2 -2
  335. package/es/picker/picker-service.js +5 -5
  336. package/es/picker/picker-service.js.map +1 -1
  337. package/es/plugins/plugin-modules.js +2 -1
  338. package/es/plugins/plugin-modules.js.map +1 -1
  339. package/es/render/contributions/render/arc-render.js +0 -3
  340. package/es/render/contributions/render/arc-render.js.map +1 -1
  341. package/es/render/contributions/render/area-render.d.ts +0 -1
  342. package/es/render/contributions/render/area-render.js +5 -45
  343. package/es/render/contributions/render/area-render.js.map +1 -1
  344. package/es/render/contributions/render/base-render.d.ts +1 -1
  345. package/es/render/contributions/render/base-render.js +22 -15
  346. package/es/render/contributions/render/base-render.js.map +1 -1
  347. package/es/render/contributions/render/circle-render.js +0 -3
  348. package/es/render/contributions/render/circle-render.js.map +1 -1
  349. package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  350. package/es/render/contributions/render/contributions/arc-contribution-render.js +32 -6
  351. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  352. package/es/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  353. package/es/render/contributions/render/contributions/area-contribution-render.js +23 -5
  354. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  355. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  356. package/es/render/contributions/render/contributions/base-contribution-render.js +10 -6
  357. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  358. package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  359. package/es/render/contributions/render/contributions/circle-contribution-render.js +32 -6
  360. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  361. package/es/render/contributions/render/contributions/constants.d.ts +0 -1
  362. package/es/render/contributions/render/contributions/constants.js +0 -2
  363. package/es/render/contributions/render/contributions/constants.js.map +1 -1
  364. package/es/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  365. package/es/render/contributions/render/contributions/group-contribution-render.js +13 -3
  366. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  367. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  368. package/es/render/contributions/render/contributions/image-contribution-render.js +14 -4
  369. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  370. package/es/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  371. package/es/render/contributions/render/contributions/path-contribution-render.js +29 -3
  372. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  373. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  374. package/es/render/contributions/render/contributions/polygon-contribution-render.js +29 -3
  375. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  376. package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  377. package/es/render/contributions/render/contributions/rect-contribution-render.js +46 -19
  378. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  379. package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  380. package/es/render/contributions/render/contributions/symbol-contribution-render.js +24 -6
  381. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  382. package/es/render/contributions/render/draw-contribution.d.ts +6 -7
  383. package/es/render/contributions/render/draw-contribution.js +24 -35
  384. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  385. package/es/render/contributions/render/draw-interceptor.d.ts +1 -9
  386. package/es/render/contributions/render/draw-interceptor.js +35 -38
  387. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  388. package/es/render/contributions/render/group-render.js +1 -4
  389. package/es/render/contributions/render/group-render.js.map +1 -1
  390. package/es/render/contributions/render/image-render.js +1 -3
  391. package/es/render/contributions/render/image-render.js.map +1 -1
  392. package/es/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  393. package/es/render/contributions/render/incremental-draw-contribution.js +11 -5
  394. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  395. package/es/render/contributions/render/line-render.d.ts +0 -1
  396. package/es/render/contributions/render/line-render.js +6 -21
  397. package/es/render/contributions/render/line-render.js.map +1 -1
  398. package/es/render/contributions/render/module.js +83 -29
  399. package/es/render/contributions/render/module.js.map +1 -1
  400. package/es/render/contributions/render/path-render.d.ts +1 -2
  401. package/es/render/contributions/render/path-render.js +4 -8
  402. package/es/render/contributions/render/path-render.js.map +1 -1
  403. package/es/render/contributions/render/polygon-render.js +0 -3
  404. package/es/render/contributions/render/polygon-render.js.map +1 -1
  405. package/es/render/contributions/render/rect-render.d.ts +1 -2
  406. package/es/render/contributions/render/rect-render.js +3 -11
  407. package/es/render/contributions/render/rect-render.js.map +1 -1
  408. package/es/render/contributions/render/render-slector.d.ts +4 -1
  409. package/es/render/contributions/render/render-slector.js +15 -0
  410. package/es/render/contributions/render/render-slector.js.map +1 -1
  411. package/es/render/contributions/render/symbol-render.js +0 -3
  412. package/es/render/contributions/render/symbol-render.js.map +1 -1
  413. package/es/render/contributions/render/text-render.js +8 -10
  414. package/es/render/contributions/render/text-render.js.map +1 -1
  415. package/es/render/contributions/render/utils.js +2 -2
  416. package/es/render/contributions/render/utils.js.map +1 -1
  417. package/es/render/render-modules.js +1 -1
  418. package/es/render/render-modules.js.map +1 -1
  419. package/es/render/render-service.js +1 -1
  420. package/es/render/render-service.js.map +1 -1
  421. package/package.json +4 -6
  422. package/cjs/allocator/bounds-allocate.d.ts +0 -13
  423. package/cjs/allocator/bounds-allocate.js +0 -38
  424. package/cjs/allocator/bounds-allocate.js.map +0 -1
  425. package/cjs/common/inversify/annotation/inject.d.ts +0 -1
  426. package/cjs/common/inversify/annotation/inject.js +0 -10
  427. package/cjs/common/inversify/annotation/inject.js.map +0 -1
  428. package/cjs/common/inversify/annotation/inject_base.d.ts +0 -14
  429. package/cjs/common/inversify/annotation/inject_base.js +0 -39
  430. package/cjs/common/inversify/annotation/inject_base.js.map +0 -1
  431. package/cjs/common/inversify/annotation/injectable.d.ts +0 -1
  432. package/cjs/common/inversify/annotation/injectable.js.map +0 -1
  433. package/cjs/common/inversify/annotation/multi_inject.d.ts +0 -1
  434. package/cjs/common/inversify/annotation/multi_inject.js +0 -10
  435. package/cjs/common/inversify/annotation/multi_inject.js.map +0 -1
  436. package/cjs/common/inversify/annotation/named.d.ts +0 -1
  437. package/cjs/common/inversify/annotation/named.js +0 -14
  438. package/cjs/common/inversify/annotation/named.js.map +0 -1
  439. package/cjs/common/inversify/binding.d.ts +0 -18
  440. package/cjs/common/inversify/binding.js +0 -26
  441. package/cjs/common/inversify/binding.js.map +0 -1
  442. package/cjs/common/inversify/container.d.ts +0 -28
  443. package/cjs/common/inversify/container.js +0 -155
  444. package/cjs/common/inversify/container.js.map +0 -1
  445. package/cjs/common/inversify/cotainer-module.d.ts +0 -6
  446. package/cjs/common/inversify/cotainer-module.js +0 -16
  447. package/cjs/common/inversify/cotainer-module.js.map +0 -1
  448. package/cjs/common/inversify/index.d.ts +0 -7
  449. package/cjs/common/inversify/index.js +0 -75
  450. package/cjs/common/inversify/index.js.map +0 -1
  451. package/cjs/common/inversify/interfaces.d.ts +0 -218
  452. package/cjs/common/inversify/interfaces.js +0 -6
  453. package/cjs/common/inversify/interfaces.js.map +0 -1
  454. package/cjs/common/inversify/literal_types.d.ts +0 -5
  455. package/cjs/common/inversify/literal_types.js +0 -34
  456. package/cjs/common/inversify/literal_types.js.map +0 -1
  457. package/cjs/common/inversify/meta-data.d.ts +0 -6
  458. package/cjs/common/inversify/meta-data.js +0 -19
  459. package/cjs/common/inversify/meta-data.js.map +0 -1
  460. package/cjs/common/inversify/metadata_keys.d.ts +0 -12
  461. package/cjs/common/inversify/metadata_keys.js +0 -15
  462. package/cjs/common/inversify/metadata_keys.js.map +0 -1
  463. package/cjs/common/inversify/metadata_reader.d.ts +0 -6
  464. package/cjs/common/inversify/metadata_reader.js +0 -28
  465. package/cjs/common/inversify/metadata_reader.js.map +0 -1
  466. package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  467. package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -29
  468. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  469. package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  470. package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -40
  471. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  472. package/cjs/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  473. package/cjs/common/inversify/syntax/constraint_helpers.js +0 -18
  474. package/cjs/common/inversify/syntax/constraint_helpers.js.map +0 -1
  475. package/es/allocator/bounds-allocate.d.ts +0 -13
  476. package/es/allocator/bounds-allocate.js +0 -32
  477. package/es/allocator/bounds-allocate.js.map +0 -1
  478. package/es/common/inversify/annotation/inject.d.ts +0 -1
  479. package/es/common/inversify/annotation/inject.js +0 -6
  480. package/es/common/inversify/annotation/inject.js.map +0 -1
  481. package/es/common/inversify/annotation/inject_base.d.ts +0 -14
  482. package/es/common/inversify/annotation/inject_base.js +0 -29
  483. package/es/common/inversify/annotation/inject_base.js.map +0 -1
  484. package/es/common/inversify/annotation/injectable.d.ts +0 -1
  485. package/es/common/inversify/annotation/injectable.js +0 -10
  486. package/es/common/inversify/annotation/injectable.js.map +0 -1
  487. package/es/common/inversify/annotation/multi_inject.d.ts +0 -1
  488. package/es/common/inversify/annotation/multi_inject.js +0 -6
  489. package/es/common/inversify/annotation/multi_inject.js.map +0 -1
  490. package/es/common/inversify/annotation/named.d.ts +0 -1
  491. package/es/common/inversify/annotation/named.js +0 -10
  492. package/es/common/inversify/annotation/named.js.map +0 -1
  493. package/es/common/inversify/binding.d.ts +0 -18
  494. package/es/common/inversify/binding.js +0 -22
  495. package/es/common/inversify/binding.js.map +0 -1
  496. package/es/common/inversify/container.d.ts +0 -28
  497. package/es/common/inversify/container.js +0 -155
  498. package/es/common/inversify/container.js.map +0 -1
  499. package/es/common/inversify/cotainer-module.d.ts +0 -6
  500. package/es/common/inversify/cotainer-module.js +0 -8
  501. package/es/common/inversify/cotainer-module.js.map +0 -1
  502. package/es/common/inversify/index.d.ts +0 -7
  503. package/es/common/inversify/index.js +0 -14
  504. package/es/common/inversify/index.js.map +0 -1
  505. package/es/common/inversify/interfaces.d.ts +0 -218
  506. package/es/common/inversify/interfaces.js +0 -2
  507. package/es/common/inversify/interfaces.js.map +0 -1
  508. package/es/common/inversify/literal_types.d.ts +0 -5
  509. package/es/common/inversify/literal_types.js +0 -20
  510. package/es/common/inversify/literal_types.js.map +0 -1
  511. package/es/common/inversify/meta-data.d.ts +0 -6
  512. package/es/common/inversify/meta-data.js +0 -11
  513. package/es/common/inversify/meta-data.js.map +0 -1
  514. package/es/common/inversify/metadata_keys.d.ts +0 -12
  515. package/es/common/inversify/metadata_keys.js +0 -28
  516. package/es/common/inversify/metadata_keys.js.map +0 -1
  517. package/es/common/inversify/metadata_reader.d.ts +0 -6
  518. package/es/common/inversify/metadata_reader.js +0 -18
  519. package/es/common/inversify/metadata_reader.js.map +0 -1
  520. package/es/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  521. package/es/common/inversify/syntax/binding_in_syntax.js +0 -24
  522. package/es/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  523. package/es/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  524. package/es/common/inversify/syntax/binding_to_syntax.js +0 -36
  525. package/es/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  526. package/es/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  527. package/es/common/inversify/syntax/constraint_helpers.js +0 -16
  528. package/es/common/inversify/syntax/constraint_helpers.js.map +0 -1
@@ -1,2 +1,16 @@
1
- export * from "../inversify";
1
+ export { ContainerModule } from "./container/container_module";
2
+
3
+ export { inject } from "./annotation/inject";
4
+
5
+ export { multiInject } from "./annotation/multi_inject";
6
+
7
+ export { injectable } from "./annotation/injectable";
8
+
9
+ export { named } from "./annotation/named";
10
+
11
+ export { Container } from "./container/container";
12
+
13
+ export { postConstruct } from "./annotation/post_construct";
14
+
15
+ export * from "./interfaces/interfaces";
2
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/index.ts"],"names":[],"mappings":"AAmCA,cAAc,cAAc,CAAC","file":"index.js","sourcesContent":["// /**\n// * 该文件夹下所有文件来源于inversify\n// * https://github.com/inversify/InversifyJS\n// * The MIT License (MIT)\n\n// Copyright (c) 2015-2017 Remo H. Jansen\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n// */\n\n// export { ContainerModule } from './container/container_module';\n// export { inject } from './annotation/inject';\n// export { multiInject } from './annotation/multi_inject';\n// export { injectable } from './annotation/injectable';\n// export { named } from './annotation/named';\n// export { Container } from './container/container';\n// // export { postConstruct } from './annotation/post_construct';\n// export * from './interfaces/interfaces';\n\nexport * from '../inversify';\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,cAAc,yBAAyB,CAAC","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 './container/container_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/container';\nexport { postConstruct } from './annotation/post_construct';\nexport * from './interfaces/interfaces';\n"]}
@@ -96,6 +96,8 @@ export declare namespace interfaces {
96
96
  rootRequest: Request;
97
97
  }
98
98
  export interface QueryableString {
99
+ startsWith(searchString: string): boolean;
100
+ endsWith(searchString: string): boolean;
99
101
  contains(searchString: string): boolean;
100
102
  equals(compareString: string): boolean;
101
103
  value(): string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/interfaces/interfaces.ts"],"names":[],"mappings":"","file":"interfaces.js","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\nimport { FactoryType } from '../utils/factory_type';\n\nexport namespace interfaces {\n export type DynamicValue<T> = (context: interfaces.Context) => T | Promise<T>;\n export type ContainerResolution<T> = T | Promise<T> | (T | Promise<T>)[];\n\n type AsyncCallback<TCallback> = TCallback extends (...args: infer TArgs) => infer TResult\n ? (...args: TArgs) => Promise<TResult>\n : never;\n\n export type BindingScope = 'Singleton' | 'Transient' | 'Request';\n\n export type BindingType =\n | 'ConstantValue'\n | 'Constructor'\n | 'DynamicValue'\n | 'Factory'\n | 'Function'\n | 'Instance'\n | 'Invalid'\n | 'Provider';\n\n export type TargetType = 'ConstructorArgument' | 'ClassProperty' | 'Variable';\n\n export interface BindingScopeEnum {\n Request: interfaces.BindingScope;\n Singleton: interfaces.BindingScope;\n Transient: interfaces.BindingScope;\n }\n\n export interface BindingTypeEnum {\n ConstantValue: interfaces.BindingType;\n Constructor: interfaces.BindingType;\n DynamicValue: interfaces.BindingType;\n Factory: interfaces.BindingType;\n Function: interfaces.BindingType;\n Instance: interfaces.BindingType;\n Invalid: interfaces.BindingType;\n Provider: interfaces.BindingType;\n }\n\n export interface TargetTypeEnum {\n ConstructorArgument: interfaces.TargetType;\n ClassProperty: interfaces.TargetType;\n Variable: interfaces.TargetType;\n }\n\n export type Newable<T> = new (...args: any[]) => T;\n\n export type Instance<T> = T & Record<string, () => void>;\n\n export interface Abstract<T> {\n prototype: T;\n }\n\n export type ServiceIdentifier<T = unknown> = string | symbol | Newable<T> | Abstract<T>;\n\n export interface Clonable<T> {\n clone(): T;\n }\n\n export type BindingActivation<T = unknown> = (context: interfaces.Context, injectable: T) => T | Promise<T>;\n\n export type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;\n\n export interface Binding<TActivated = unknown> extends Clonable<Binding<TActivated>> {\n id: number;\n moduleId: ContainerModuleBase['id'];\n activated: boolean;\n serviceIdentifier: ServiceIdentifier<TActivated>;\n constraint: ConstraintFunction;\n dynamicValue: DynamicValue<TActivated> | null;\n scope: BindingScope;\n type: BindingType;\n implementationType: Newable<TActivated> | TActivated | null;\n factory: FactoryCreator<unknown> | null;\n provider: ProviderCreator<unknown> | null;\n onActivation: BindingActivation<TActivated> | null;\n onDeactivation: BindingDeactivation<TActivated> | null;\n cache: null | TActivated | Promise<TActivated>;\n }\n\n export type SimpleFactory<T, U extends unknown[] = unknown[]> = (...args: U) => T;\n\n export type MultiFactory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (\n ...args: U\n ) => SimpleFactory<T, V>;\n\n export type Factory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> =\n | SimpleFactory<T, U>\n | MultiFactory<T, U, V>;\n\n export type FactoryCreator<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (\n context: Context\n ) => Factory<T, U, V>;\n\n export type AutoNamedFactory<T> = SimpleFactory<T, [string]>;\n\n export type AutoFactory<T> = SimpleFactory<T, []>;\n\n export type FactoryTypeFunction<T = unknown> = (context: interfaces.Context) => T | Promise<T>;\n\n export interface FactoryDetails {\n factoryType: FactoryType;\n factory: FactoryTypeFunction | null;\n }\n\n export type Provider<T> = (...args: any[]) => ((...args: any[]) => Promise<T>) | Promise<T>;\n\n export type ProviderCreator<T> = (context: Context) => Provider<T>;\n\n export interface NextArgs<T = unknown> {\n avoidConstraints: boolean;\n contextInterceptor: (contexts: Context) => Context;\n isMultiInject: boolean;\n targetType: TargetType;\n serviceIdentifier: interfaces.ServiceIdentifier<T>;\n key?: string | number | symbol | undefined;\n value?: unknown;\n }\n\n export type Next = (args: NextArgs) => unknown | unknown[];\n\n export type Middleware = (next: Next) => Next;\n\n export type ContextInterceptor = (context: interfaces.Context) => interfaces.Context;\n\n export interface Context {\n id: number;\n container: Container;\n plan: Plan;\n currentRequest: Request;\n addPlan(plan: Plan): void;\n setCurrentRequest(request: Request): void;\n }\n\n export type MetadataOrMetadataArray = Metadata | Metadata[];\n\n export interface Metadata<TValue = unknown> {\n key: string | number | symbol;\n value: TValue;\n }\n\n export interface Plan {\n parentContext: Context;\n rootRequest: Request;\n }\n\n export interface QueryableString {\n // startsWith(searchString: string): boolean;\n // endsWith(searchString: string): boolean;\n contains(searchString: string): boolean;\n equals(compareString: string): boolean;\n value(): string;\n }\n\n export type ResolveRequestHandler = (request: interfaces.Request) => unknown;\n\n export type RequestScope = Map<unknown, unknown>;\n\n export interface Request {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n parentContext: Context;\n parentRequest: Request | null;\n childRequests: Request[];\n target: Target;\n bindings: Binding<unknown>[];\n requestScope: RequestScope | null;\n addChildRequest(\n serviceIdentifier: ServiceIdentifier,\n bindings: Binding<unknown> | Binding<unknown>[],\n target: Target\n ): Request;\n }\n\n export interface Target {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n type: TargetType;\n name: QueryableString;\n identifier: string | symbol;\n metadata: Metadata[];\n getNamedTag(): interfaces.Metadata<string> | null;\n getCustomTags(): interfaces.Metadata[] | null;\n hasTag(key: string | number | symbol): boolean;\n isArray(): boolean;\n matchesArray(name: interfaces.ServiceIdentifier): boolean;\n isNamed(): boolean;\n isTagged(): boolean;\n isOptional(): boolean;\n matchesNamedTag(name: string): boolean;\n matchesTag(key: string | number | symbol): (value: unknown) => boolean;\n }\n\n export interface ContainerOptions {\n autoBindInjectable?: boolean;\n defaultScope?: BindingScope | undefined;\n skipBaseClassChecks?: boolean;\n }\n\n export interface Container {\n id: number;\n parent: Container | null;\n options: ContainerOptions;\n bind<T>(serviceIdentifier: ServiceIdentifier<T>): BindingToSyntax<T>;\n rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;\n // rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>>;\n unbind(serviceIdentifier: ServiceIdentifier): void;\n // unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void>;\n unbindAll(): void;\n // unbindAllAsync(): Promise<void>;\n isBound(serviceIdentifier: ServiceIdentifier): boolean;\n isCurrentBound<T>(serviceIdentifier: ServiceIdentifier<T>): boolean;\n isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;\n isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;\n get<T>(serviceIdentifier: ServiceIdentifier<T>): T;\n getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;\n getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;\n getAll<T>(serviceIdentifier: ServiceIdentifier<T>): T[];\n getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[];\n getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T[];\n getAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T>;\n // getNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T>;\n // getTaggedAsync<T>(\n // serviceIdentifier: ServiceIdentifier<T>,\n // key: string | number | symbol,\n // value: unknown\n // ): Promise<T>;\n // getAllAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T[]>;\n // getAllTaggedAsync<T>(\n // serviceIdentifier: ServiceIdentifier<T>,\n // key: string | number | symbol,\n // value: unknown\n // ): Promise<T[]>;\n // getAllNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]>;\n // onActivation<T>(serviceIdentifier: ServiceIdentifier<T>, onActivation: BindingActivation<T>): void;\n // onDeactivation<T>(serviceIdentifier: ServiceIdentifier<T>, onDeactivation: BindingDeactivation<T>): void;\n resolve<T>(constructorFunction: interfaces.Newable<T>): T;\n load(...modules: ContainerModule[]): void;\n // loadAsync(...modules: AsyncContainerModule[]): Promise<void>;\n unload(...modules: ContainerModuleBase[]): void;\n // unloadAsync(...modules: ContainerModuleBase[]): Promise<void>;\n applyCustomMetadataReader(metadataReader: MetadataReader): void;\n // applyMiddleware(...middleware: Middleware[]): void;\n // snapshot(): void;\n // restore(): void;\n // createChild(): Container;\n }\n\n export type Bind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Rebind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Unbind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => void;\n\n export type UnbindAsync = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => Promise<void>;\n\n export type IsBound = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => boolean;\n\n export interface ContainerModuleBase {\n id: number;\n }\n\n export interface ContainerModule extends ContainerModuleBase {\n registry: ContainerModuleCallBack;\n }\n\n export interface AsyncContainerModule extends ContainerModuleBase {\n registry: AsyncContainerModuleCallBack;\n }\n\n export interface ModuleActivationHandlers {\n onActivations: Lookup<BindingActivation<unknown>>;\n onDeactivations: Lookup<BindingDeactivation<unknown>>;\n }\n\n // export interface ModuleActivationStore extends Clonable<ModuleActivationStore> {\n // addDeactivation(\n // moduleId: ContainerModuleBase['id'],\n // serviceIdentifier: ServiceIdentifier<unknown>,\n // onDeactivation: interfaces.BindingDeactivation<unknown>\n // ): void;\n // addActivation(\n // moduleId: ContainerModuleBase['id'],\n // serviceIdentifier: ServiceIdentifier<unknown>,\n // onActivation: interfaces.BindingActivation<unknown>\n // ): void;\n // remove(moduleId: ContainerModuleBase['id']): ModuleActivationHandlers;\n // }\n\n export type ContainerModuleCallBack = (\n bind: interfaces.Bind,\n unbind: interfaces.Unbind,\n isBound: interfaces.IsBound,\n rebind: interfaces.Rebind\n // unbindAsync: interfaces.UnbindAsync,\n // onActivation: interfaces.Container['onActivation'],\n // onDeactivation: interfaces.Container['onDeactivation']\n ) => void;\n\n export type AsyncContainerModuleCallBack = AsyncCallback<ContainerModuleCallBack>;\n\n // export interface ContainerSnapshot {\n // bindings: Lookup<Binding<unknown>>;\n // activations: Lookup<BindingActivation<unknown>>;\n // deactivations: Lookup<BindingDeactivation<unknown>>;\n // middleware: Next | null;\n // moduleActivationStore: interfaces.ModuleActivationStore;\n // }\n\n export interface Lookup<T> extends Clonable<Lookup<T>> {\n add(serviceIdentifier: ServiceIdentifier, value: T): void;\n getMap(): Map<interfaces.ServiceIdentifier, T[]>;\n get(serviceIdentifier: ServiceIdentifier): T[];\n remove(serviceIdentifier: interfaces.ServiceIdentifier): void;\n removeByCondition(condition: (item: T) => boolean): T[];\n removeIntersection(lookup: interfaces.Lookup<T>): void;\n hasKey(serviceIdentifier: ServiceIdentifier): boolean;\n clone(): Lookup<T>;\n traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void;\n }\n\n export interface BindingOnSyntax<T> {\n // onActivation(fn: (context: Context, injectable: T) => T | Promise<T>): BindingWhenSyntax<T>;\n // onDeactivation(fn: (injectable: T) => void | Promise<void>): BindingWhenSyntax<T>;\n }\n\n export interface BindingWhenSyntax<T> {\n // when(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n whenTargetNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenTargetIsDefault(): BindingOnSyntax<T>;\n // whenTargetTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenInjectedInto(parent: NewableFunction | string): BindingOnSyntax<T>;\n // whenParentNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenParentTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenAnyAncestorIs(ancestor: NewableFunction | string): BindingOnSyntax<T>;\n // whenNoAncestorIs(ancestor: NewableFunction | string): BindingOnSyntax<T>;\n // whenAnyAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenNoAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenNoAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenAnyAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n // whenNoAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n }\n\n export interface BindingWhenOnSyntax<T> extends BindingWhenSyntax<T>, BindingOnSyntax<T> {}\n\n export interface BindingInSyntax<T> {\n inSingletonScope(): BindingWhenOnSyntax<T>;\n inTransientScope(): BindingWhenOnSyntax<T>;\n inRequestScope(): BindingWhenOnSyntax<T>;\n }\n\n export interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingWhenOnSyntax<T> {}\n\n export interface BindingToSyntax<T> {\n to(constructor: Newable<T>): BindingInWhenOnSyntax<T>;\n toSelf(): BindingInWhenOnSyntax<T>;\n toConstantValue(value: T): BindingWhenOnSyntax<T>;\n toDynamicValue(func: DynamicValue<T>): BindingInWhenOnSyntax<T>;\n toConstructor<T2>(constructor: Newable<T2>): BindingWhenOnSyntax<T>;\n toFactory<T2, T3 extends unknown[] = unknown[], T4 extends unknown[] = unknown[]>(\n factory: FactoryCreator<T2, T3, T4>\n ): BindingWhenOnSyntax<T>;\n toFunction(func: T): BindingWhenOnSyntax<T>;\n toAutoFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\n toAutoNamedFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\n toProvider<T2>(provider: ProviderCreator<T2>): BindingWhenOnSyntax<T>;\n toService(service: ServiceIdentifier<T>): void;\n }\n\n export interface ConstraintFunction {\n metaData?: Metadata;\n (request: Request | null): boolean;\n }\n\n export interface MetadataReader {\n getConstructorMetadata(constructorFunc: NewableFunction): ConstructorMetadata;\n getPropertiesMetadata(constructorFunc: NewableFunction): MetadataMap;\n }\n\n export interface MetadataMap {\n [propertyNameOrArgumentIndex: string | symbol]: Metadata[];\n }\n\n export interface ConstructorMetadata {\n compilerGeneratedMetadata: NewableFunction[] | undefined;\n userGeneratedMetadata: MetadataMap;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/interfaces/interfaces.ts"],"names":[],"mappings":"","file":"interfaces.js","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\nimport { FactoryType } from '../utils/factory_type';\n\nexport namespace interfaces {\n export type DynamicValue<T> = (context: interfaces.Context) => T | Promise<T>;\n export type ContainerResolution<T> = T | Promise<T> | (T | Promise<T>)[];\n\n type AsyncCallback<TCallback> = TCallback extends (...args: infer TArgs) => infer TResult\n ? (...args: TArgs) => Promise<TResult>\n : never;\n\n export type BindingScope = 'Singleton' | 'Transient' | 'Request';\n\n export type BindingType =\n | 'ConstantValue'\n | 'Constructor'\n | 'DynamicValue'\n | 'Factory'\n | 'Function'\n | 'Instance'\n | 'Invalid'\n | 'Provider';\n\n export type TargetType = 'ConstructorArgument' | 'ClassProperty' | 'Variable';\n\n export interface BindingScopeEnum {\n Request: interfaces.BindingScope;\n Singleton: interfaces.BindingScope;\n Transient: interfaces.BindingScope;\n }\n\n export interface BindingTypeEnum {\n ConstantValue: interfaces.BindingType;\n Constructor: interfaces.BindingType;\n DynamicValue: interfaces.BindingType;\n Factory: interfaces.BindingType;\n Function: interfaces.BindingType;\n Instance: interfaces.BindingType;\n Invalid: interfaces.BindingType;\n Provider: interfaces.BindingType;\n }\n\n export interface TargetTypeEnum {\n ConstructorArgument: interfaces.TargetType;\n ClassProperty: interfaces.TargetType;\n Variable: interfaces.TargetType;\n }\n\n export type Newable<T> = new (...args: any[]) => T;\n\n export type Instance<T> = T & Record<string, () => void>;\n\n export interface Abstract<T> {\n prototype: T;\n }\n\n export type ServiceIdentifier<T = unknown> = string | symbol | Newable<T> | Abstract<T>;\n\n export interface Clonable<T> {\n clone(): T;\n }\n\n export type BindingActivation<T = unknown> = (context: interfaces.Context, injectable: T) => T | Promise<T>;\n\n export type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;\n\n export interface Binding<TActivated = unknown> extends Clonable<Binding<TActivated>> {\n id: number;\n moduleId: ContainerModuleBase['id'];\n activated: boolean;\n serviceIdentifier: ServiceIdentifier<TActivated>;\n constraint: ConstraintFunction;\n dynamicValue: DynamicValue<TActivated> | null;\n scope: BindingScope;\n type: BindingType;\n implementationType: Newable<TActivated> | TActivated | null;\n factory: FactoryCreator<unknown> | null;\n provider: ProviderCreator<unknown> | null;\n onActivation: BindingActivation<TActivated> | null;\n onDeactivation: BindingDeactivation<TActivated> | null;\n cache: null | TActivated | Promise<TActivated>;\n }\n\n export type SimpleFactory<T, U extends unknown[] = unknown[]> = (...args: U) => T;\n\n export type MultiFactory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (\n ...args: U\n ) => SimpleFactory<T, V>;\n\n export type Factory<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> =\n | SimpleFactory<T, U>\n | MultiFactory<T, U, V>;\n\n export type FactoryCreator<T, U extends unknown[] = unknown[], V extends unknown[] = unknown[]> = (\n context: Context\n ) => Factory<T, U, V>;\n\n export type AutoNamedFactory<T> = SimpleFactory<T, [string]>;\n\n export type AutoFactory<T> = SimpleFactory<T, []>;\n\n export type FactoryTypeFunction<T = unknown> = (context: interfaces.Context) => T | Promise<T>;\n\n export interface FactoryDetails {\n factoryType: FactoryType;\n factory: FactoryTypeFunction | null;\n }\n\n export type Provider<T> = (...args: any[]) => ((...args: any[]) => Promise<T>) | Promise<T>;\n\n export type ProviderCreator<T> = (context: Context) => Provider<T>;\n\n export interface NextArgs<T = unknown> {\n avoidConstraints: boolean;\n contextInterceptor: (contexts: Context) => Context;\n isMultiInject: boolean;\n targetType: TargetType;\n serviceIdentifier: interfaces.ServiceIdentifier<T>;\n key?: string | number | symbol | undefined;\n value?: unknown;\n }\n\n export type Next = (args: NextArgs) => unknown | unknown[];\n\n export type Middleware = (next: Next) => Next;\n\n export type ContextInterceptor = (context: interfaces.Context) => interfaces.Context;\n\n export interface Context {\n id: number;\n container: Container;\n plan: Plan;\n currentRequest: Request;\n addPlan(plan: Plan): void;\n setCurrentRequest(request: Request): void;\n }\n\n export type MetadataOrMetadataArray = Metadata | Metadata[];\n\n export interface Metadata<TValue = unknown> {\n key: string | number | symbol;\n value: TValue;\n }\n\n export interface Plan {\n parentContext: Context;\n rootRequest: Request;\n }\n\n export interface QueryableString {\n startsWith(searchString: string): boolean;\n endsWith(searchString: string): boolean;\n contains(searchString: string): boolean;\n equals(compareString: string): boolean;\n value(): string;\n }\n\n export type ResolveRequestHandler = (request: interfaces.Request) => unknown;\n\n export type RequestScope = Map<unknown, unknown>;\n\n export interface Request {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n parentContext: Context;\n parentRequest: Request | null;\n childRequests: Request[];\n target: Target;\n bindings: Binding<unknown>[];\n requestScope: RequestScope | null;\n addChildRequest(\n serviceIdentifier: ServiceIdentifier,\n bindings: Binding<unknown> | Binding<unknown>[],\n target: Target\n ): Request;\n }\n\n export interface Target {\n id: number;\n serviceIdentifier: ServiceIdentifier;\n type: TargetType;\n name: QueryableString;\n identifier: string | symbol;\n metadata: Metadata[];\n getNamedTag(): interfaces.Metadata<string> | null;\n getCustomTags(): interfaces.Metadata[] | null;\n hasTag(key: string | number | symbol): boolean;\n isArray(): boolean;\n matchesArray(name: interfaces.ServiceIdentifier): boolean;\n isNamed(): boolean;\n isTagged(): boolean;\n isOptional(): boolean;\n matchesNamedTag(name: string): boolean;\n matchesTag(key: string | number | symbol): (value: unknown) => boolean;\n }\n\n export interface ContainerOptions {\n autoBindInjectable?: boolean;\n defaultScope?: BindingScope | undefined;\n skipBaseClassChecks?: boolean;\n }\n\n export interface Container {\n id: number;\n parent: Container | null;\n options: ContainerOptions;\n bind<T>(serviceIdentifier: ServiceIdentifier<T>): BindingToSyntax<T>;\n rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;\n // rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>>;\n unbind(serviceIdentifier: ServiceIdentifier): void;\n // unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void>;\n unbindAll(): void;\n // unbindAllAsync(): Promise<void>;\n isBound(serviceIdentifier: ServiceIdentifier): boolean;\n isCurrentBound<T>(serviceIdentifier: ServiceIdentifier<T>): boolean;\n isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;\n isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;\n get<T>(serviceIdentifier: ServiceIdentifier<T>): T;\n getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;\n getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;\n getAll<T>(serviceIdentifier: ServiceIdentifier<T>): T[];\n getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T[];\n getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T[];\n getAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T>;\n // getNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T>;\n // getTaggedAsync<T>(\n // serviceIdentifier: ServiceIdentifier<T>,\n // key: string | number | symbol,\n // value: unknown\n // ): Promise<T>;\n // getAllAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T[]>;\n // getAllTaggedAsync<T>(\n // serviceIdentifier: ServiceIdentifier<T>,\n // key: string | number | symbol,\n // value: unknown\n // ): Promise<T[]>;\n // getAllNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T[]>;\n // onActivation<T>(serviceIdentifier: ServiceIdentifier<T>, onActivation: BindingActivation<T>): void;\n // onDeactivation<T>(serviceIdentifier: ServiceIdentifier<T>, onDeactivation: BindingDeactivation<T>): void;\n resolve<T>(constructorFunction: interfaces.Newable<T>): T;\n load(...modules: ContainerModule[]): void;\n // loadAsync(...modules: AsyncContainerModule[]): Promise<void>;\n unload(...modules: ContainerModuleBase[]): void;\n // unloadAsync(...modules: ContainerModuleBase[]): Promise<void>;\n applyCustomMetadataReader(metadataReader: MetadataReader): void;\n // applyMiddleware(...middleware: Middleware[]): void;\n // snapshot(): void;\n // restore(): void;\n // createChild(): Container;\n }\n\n export type Bind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Rebind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;\n\n export type Unbind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => void;\n\n export type UnbindAsync = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => Promise<void>;\n\n export type IsBound = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => boolean;\n\n export interface ContainerModuleBase {\n id: number;\n }\n\n export interface ContainerModule extends ContainerModuleBase {\n registry: ContainerModuleCallBack;\n }\n\n export interface AsyncContainerModule extends ContainerModuleBase {\n registry: AsyncContainerModuleCallBack;\n }\n\n export interface ModuleActivationHandlers {\n onActivations: Lookup<BindingActivation<unknown>>;\n onDeactivations: Lookup<BindingDeactivation<unknown>>;\n }\n\n // export interface ModuleActivationStore extends Clonable<ModuleActivationStore> {\n // addDeactivation(\n // moduleId: ContainerModuleBase['id'],\n // serviceIdentifier: ServiceIdentifier<unknown>,\n // onDeactivation: interfaces.BindingDeactivation<unknown>\n // ): void;\n // addActivation(\n // moduleId: ContainerModuleBase['id'],\n // serviceIdentifier: ServiceIdentifier<unknown>,\n // onActivation: interfaces.BindingActivation<unknown>\n // ): void;\n // remove(moduleId: ContainerModuleBase['id']): ModuleActivationHandlers;\n // }\n\n export type ContainerModuleCallBack = (\n bind: interfaces.Bind,\n unbind: interfaces.Unbind,\n isBound: interfaces.IsBound,\n rebind: interfaces.Rebind\n // unbindAsync: interfaces.UnbindAsync,\n // onActivation: interfaces.Container['onActivation'],\n // onDeactivation: interfaces.Container['onDeactivation']\n ) => void;\n\n export type AsyncContainerModuleCallBack = AsyncCallback<ContainerModuleCallBack>;\n\n // export interface ContainerSnapshot {\n // bindings: Lookup<Binding<unknown>>;\n // activations: Lookup<BindingActivation<unknown>>;\n // deactivations: Lookup<BindingDeactivation<unknown>>;\n // middleware: Next | null;\n // moduleActivationStore: interfaces.ModuleActivationStore;\n // }\n\n export interface Lookup<T> extends Clonable<Lookup<T>> {\n add(serviceIdentifier: ServiceIdentifier, value: T): void;\n getMap(): Map<interfaces.ServiceIdentifier, T[]>;\n get(serviceIdentifier: ServiceIdentifier): T[];\n remove(serviceIdentifier: interfaces.ServiceIdentifier): void;\n removeByCondition(condition: (item: T) => boolean): T[];\n removeIntersection(lookup: interfaces.Lookup<T>): void;\n hasKey(serviceIdentifier: ServiceIdentifier): boolean;\n clone(): Lookup<T>;\n traverse(func: (key: interfaces.ServiceIdentifier, value: T[]) => void): void;\n }\n\n export interface BindingOnSyntax<T> {\n // onActivation(fn: (context: Context, injectable: T) => T | Promise<T>): BindingWhenSyntax<T>;\n // onDeactivation(fn: (injectable: T) => void | Promise<void>): BindingWhenSyntax<T>;\n }\n\n export interface BindingWhenSyntax<T> {\n // when(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n whenTargetNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenTargetIsDefault(): BindingOnSyntax<T>;\n // whenTargetTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenInjectedInto(parent: NewableFunction | string): BindingOnSyntax<T>;\n // whenParentNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenParentTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenAnyAncestorIs(ancestor: NewableFunction | string): BindingOnSyntax<T>;\n // whenNoAncestorIs(ancestor: NewableFunction | string): BindingOnSyntax<T>;\n // whenAnyAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenNoAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;\n // whenNoAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;\n // whenAnyAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n // whenNoAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;\n }\n\n export interface BindingWhenOnSyntax<T> extends BindingWhenSyntax<T>, BindingOnSyntax<T> {}\n\n export interface BindingInSyntax<T> {\n inSingletonScope(): BindingWhenOnSyntax<T>;\n inTransientScope(): BindingWhenOnSyntax<T>;\n inRequestScope(): BindingWhenOnSyntax<T>;\n }\n\n export interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingWhenOnSyntax<T> {}\n\n export interface BindingToSyntax<T> {\n to(constructor: Newable<T>): BindingInWhenOnSyntax<T>;\n toSelf(): BindingInWhenOnSyntax<T>;\n toConstantValue(value: T): BindingWhenOnSyntax<T>;\n toDynamicValue(func: DynamicValue<T>): BindingInWhenOnSyntax<T>;\n toConstructor<T2>(constructor: Newable<T2>): BindingWhenOnSyntax<T>;\n toFactory<T2, T3 extends unknown[] = unknown[], T4 extends unknown[] = unknown[]>(\n factory: FactoryCreator<T2, T3, T4>\n ): BindingWhenOnSyntax<T>;\n toFunction(func: T): BindingWhenOnSyntax<T>;\n toAutoFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\n toAutoNamedFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;\n toProvider<T2>(provider: ProviderCreator<T2>): BindingWhenOnSyntax<T>;\n toService(service: ServiceIdentifier<T>): void;\n }\n\n export interface ConstraintFunction {\n metaData?: Metadata;\n (request: Request | null): boolean;\n }\n\n export interface MetadataReader {\n getConstructorMetadata(constructorFunc: NewableFunction): ConstructorMetadata;\n getPropertiesMetadata(constructorFunc: NewableFunction): MetadataMap;\n }\n\n export interface MetadataMap {\n [propertyNameOrArgumentIndex: string | symbol]: Metadata[];\n }\n\n export interface ConstructorMetadata {\n compilerGeneratedMetadata: NewableFunction[] | undefined;\n userGeneratedMetadata: MetadataMap;\n }\n}\n"]}
@@ -2,6 +2,8 @@ import type { interfaces } from '../interfaces/interfaces';
2
2
  declare class QueryableString implements interfaces.QueryableString {
3
3
  private str;
4
4
  constructor(str: string);
5
+ startsWith(searchString: string): boolean;
6
+ endsWith(searchString: string): boolean;
5
7
  contains(searchString: string): boolean;
6
8
  equals(compareString: string): boolean;
7
9
  value(): string;
@@ -2,6 +2,16 @@ class QueryableString {
2
2
  constructor(str) {
3
3
  this.str = str;
4
4
  }
5
+ startsWith(searchString) {
6
+ return 0 === this.str.indexOf(searchString);
7
+ }
8
+ endsWith(searchString) {
9
+ let reverseString = "";
10
+ const reverseSearchString = searchString.split("").reverse().join("");
11
+ return reverseString = this.str.split("").reverse().join(""), this.startsWith.call({
12
+ str: reverseString
13
+ }, reverseSearchString);
14
+ }
5
15
  contains(searchString) {
6
16
  return -1 !== this.str.indexOf(searchString);
7
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/planning/queryable_string.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe;IAGnB,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAaD,QAAQ,CAAC,YAAoB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,aAAqB;QAC1B,OAAO,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC;IACpC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC","file":"queryable_string.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\n\nclass QueryableString implements interfaces.QueryableString {\n private str: string;\n\n constructor(str: string) {\n this.str = str;\n }\n\n // startsWith(searchString: string): boolean {\n // return this.str.indexOf(searchString) === 0;\n // }\n\n // endsWith(searchString: string): boolean {\n // let reverseString = '';\n // const reverseSearchString = searchString.split('').reverse().join('');\n // reverseString = this.str.split('').reverse().join('');\n // return this.startsWith.call({ str: reverseString }, reverseSearchString);\n // }\n\n contains(searchString: string): boolean {\n return this.str.indexOf(searchString) !== -1;\n }\n\n equals(compareString: string): boolean {\n return this.str === compareString;\n }\n\n value(): string {\n return this.str;\n }\n}\n\nexport { QueryableString };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/planning/queryable_string.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe;IAGnB,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,YAAoB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ,CAAC,YAAoB;QAC3B,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC3E,CAAC;IAED,QAAQ,CAAC,YAAoB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,aAAqB;QAC1B,OAAO,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC;IACpC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC","file":"queryable_string.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\n\nclass QueryableString implements interfaces.QueryableString {\n private str: string;\n\n constructor(str: string) {\n this.str = str;\n }\n\n startsWith(searchString: string): boolean {\n return this.str.indexOf(searchString) === 0;\n }\n\n endsWith(searchString: string): boolean {\n let reverseString = '';\n const reverseSearchString = searchString.split('').reverse().join('');\n reverseString = this.str.split('').reverse().join('');\n return this.startsWith.call({ str: reverseString }, reverseSearchString);\n }\n\n contains(searchString: string): boolean {\n return this.str.indexOf(searchString) !== -1;\n }\n\n equals(compareString: string): boolean {\n return this.str === compareString;\n }\n\n value(): string {\n return this.str;\n }\n}\n\nexport { QueryableString };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/resolution/resolver.ts"],"names":[],"mappings":"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","file":"resolver.js","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\nimport { BindingTypeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\n// import { getBindingDictionary } from '../planning/planner';\nimport { saveToScope, tryGetFromScope } from '../scope/scope';\n// import { isPromise } from '../utils/async';\nimport { getFactoryDetails, ensureFullyBound } from '../utils/binding_utils';\nimport { tryAndThrowErrorIfStackOverflow } from '../utils/exceptions';\nimport { resolveInstance } from './instantiation';\n\nconst _resolveRequest =\n <T>(requestScope: interfaces.RequestScope) =>\n (request: interfaces.Request): undefined | T | Promise<T> | (T | Promise<T>)[] => {\n request.parentContext.setCurrentRequest(request);\n\n const bindings = request.bindings;\n const childRequests = request.childRequests;\n\n const targetIsAnArray = request.target && request.target.isArray();\n\n const targetParentIsNotAnArray =\n !request.parentRequest ||\n !request.parentRequest.target ||\n !request.target ||\n !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);\n\n if (targetIsAnArray && targetParentIsNotAnArray) {\n // Create an array instead of creating an instance\n return childRequests.map((childRequest: interfaces.Request) => {\n const _f = _resolveRequest(requestScope);\n return _f(childRequest) as T | Promise<T>;\n });\n }\n if (request.target.isOptional() && bindings.length === 0) {\n return undefined;\n }\n\n const binding = bindings[0];\n\n return _resolveBinding<T>(requestScope, request, binding as unknown as interfaces.Binding<T>);\n };\n\nconst _resolveFactoryFromBinding = <T>(binding: interfaces.Binding<T>, context: interfaces.Context): T | Promise<T> => {\n // console.count('_resolveFactoryFromBinding');\n const factoryDetails = getFactoryDetails(binding);\n return tryAndThrowErrorIfStackOverflow(\n () => (factoryDetails.factory as interfaces.FactoryTypeFunction<T>).bind(binding)(context),\n () =>\n new Error(\n ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(\n factoryDetails.factoryType,\n context.currentRequest.serviceIdentifier.toString()\n )\n )\n );\n};\n\nconst _getResolvedFromBinding = <T = unknown>(\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding<T>\n): T | Promise<T> => {\n // console.count('_getResolvedFromBinding');\n // console.log('_getResolvedFromBinding', binding);\n // if (!(window as any).map) {\n // (window as any).map = new Map();\n // }\n // const d = (window as any).map.get(binding.serviceIdentifier) || [];\n // (window as any).map.set(binding.serviceIdentifier, [...d, binding]);\n let result: T | Promise<T> | undefined;\n const childRequests = request.childRequests;\n\n ensureFullyBound(binding);\n\n switch (binding.type) {\n case BindingTypeEnum.ConstantValue:\n case BindingTypeEnum.Function:\n result = binding.cache as T | Promise<T>;\n break;\n case BindingTypeEnum.Constructor:\n result = binding.implementationType as T;\n break;\n case BindingTypeEnum.Instance:\n result = resolveInstance<T>(\n binding,\n binding.implementationType as interfaces.Newable<T>,\n childRequests,\n _resolveRequest<T>(requestScope)\n );\n break;\n default:\n result = _resolveFactoryFromBinding(binding, request.parentContext);\n }\n\n return result as T | Promise<T>;\n};\n\nconst _resolveInScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n resolveFromBinding: () => T | Promise<T>\n): T | Promise<T> => {\n let result = tryGetFromScope<T>(requestScope, binding);\n if (result !== null) {\n return result;\n }\n result = resolveFromBinding();\n saveToScope(requestScope, binding, result);\n return result;\n};\n\nconst _resolveBinding = <T>(\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding<T>\n): T | Promise<T> => {\n return _resolveInScope<T>(requestScope, binding, () => {\n const result = _getResolvedFromBinding(requestScope, request, binding);\n // if (isPromise(result)) {\n // result = result.then(resolved => _onActivation(request, binding, resolved));\n // } else {\n // result = _onActivation<T>(request, binding, result);\n // }\n return result;\n });\n};\n\n// function _onActivation<T>(request: interfaces.Request, binding: interfaces.Binding<T>, resolved: T): T | Promise<T> {\n// let result = _bindingActivation(request.parentContext, binding, resolved);\n\n// const containersIterator = _getContainersIterator(request.parentContext.container);\n\n// let container: interfaces.Container;\n// let containersIteratorResult = containersIterator.next();\n\n// do {\n// container = containersIteratorResult.value;\n// // const context = request.parentContext;\n// // const serviceIdentifier = request.serviceIdentifier;\n// // const activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);\n\n// // if (isPromise(result)) {\n// // result = _activateContainerAsync<T>(\n// // activationsIterator as Iterator<interfaces.BindingActivation<T>>,\n// // context,\n// // result\n// // );\n// // } else {\n// // result = _activateContainer<T>(activationsIterator as Iterator<interfaces.BindingActivation<T>>, context, result);\n// // }\n\n// containersIteratorResult = containersIterator.next();\n\n// // make sure if we are currently on the container that owns the binding, not to keep looping down to child containers\n// } while (\n// containersIteratorResult.done !== true &&\n// !getBindingDictionary(container).hasKey(request.serviceIdentifier)\n// );\n\n// return result;\n// }\n\n// const _bindingActivation = <T>(\n// context: interfaces.Context,\n// binding: interfaces.Binding<T>,\n// previousResult: T\n// ): T | Promise<T> => {\n// let result: T | Promise<T>;\n\n// // use activation handler if available\n// if (typeof binding.onActivation === 'function') {\n// result = binding.onActivation(context, previousResult);\n// } else {\n// result = previousResult;\n// }\n\n// return result;\n// };\n\n// const _activateContainer = <T>(\n// activationsIterator: Iterator<interfaces.BindingActivation<T>>,\n// context: interfaces.Context,\n// result: T\n// ): T | Promise<T> => {\n// let activation = activationsIterator.next();\n\n// while (!activation.done) {\n// result = activation.value(context, result) as T;\n\n// if (isPromise<T>(result)) {\n// return _activateContainerAsync(activationsIterator, context, result);\n// }\n\n// activation = activationsIterator.next();\n// }\n\n// return result;\n// };\n\n// const _activateContainerAsync = async <T>(\n// activationsIterator: Iterator<interfaces.BindingActivation<T>>,\n// context: interfaces.Context,\n// resultPromise: Promise<T>\n// ): Promise<T> => {\n// let result = await resultPromise;\n// let activation = activationsIterator.next();\n\n// while (!activation.done) {\n// result = await activation.value(context, result);\n\n// activation = activationsIterator.next();\n// }\n\n// return result;\n// };\n\n// const _getContainerActivationsForService = <T>(\n// container: interfaces.Container,\n// serviceIdentifier: interfaces.ServiceIdentifier<T>\n// ) => {\n// // smell accessing _activations, but similar pattern is done in planner.getBindingDictionary()\n// const activations = (\n// container as unknown as { _activations: interfaces.Lookup<interfaces.BindingActivation<unknown>> }\n// )._activations;\n\n// return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values();\n// };\n\n// const _getContainersIterator = (container: interfaces.Container): Iterator<interfaces.Container> => {\n// const containersStack: interfaces.Container[] = [container];\n\n// let parent = container.parent;\n\n// while (parent !== null) {\n// containersStack.push(parent);\n\n// parent = parent.parent;\n// }\n\n// const getNextContainer: () => IteratorResult<interfaces.Container> = () => {\n// const nextContainer = containersStack.pop();\n\n// if (nextContainer !== undefined) {\n// return { done: false, value: nextContainer };\n// } else {\n// return { done: true, value: undefined };\n// }\n// };\n\n// const containersIterator: Iterator<interfaces.Container> = {\n// next: getNextContainer\n// };\n\n// return containersIterator;\n// };\n\nfunction resolve<T>(context: interfaces.Context): T | Promise<T> | (T | Promise<T>)[] {\n const _f = _resolveRequest<T>(context.plan.rootRequest.requestScope as interfaces.RequestScope);\n return _f(context.plan.rootRequest) as T | Promise<T> | (T | Promise<T>)[];\n}\n\nexport { resolve };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/resolution/resolver.ts"],"names":[],"mappings":"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","file":"resolver.js","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\nimport { BindingTypeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\n// import { getBindingDictionary } from '../planning/planner';\nimport { saveToScope, tryGetFromScope } from '../scope/scope';\n// import { isPromise } from '../utils/async';\nimport { getFactoryDetails, ensureFullyBound } from '../utils/binding_utils';\nimport { tryAndThrowErrorIfStackOverflow } from '../utils/exceptions';\nimport { resolveInstance } from './instantiation';\n\nconst _resolveRequest =\n <T>(requestScope: interfaces.RequestScope) =>\n (request: interfaces.Request): undefined | T | Promise<T> | (T | Promise<T>)[] => {\n request.parentContext.setCurrentRequest(request);\n\n const bindings = request.bindings;\n const childRequests = request.childRequests;\n\n const targetIsAnArray = request.target && request.target.isArray();\n\n const targetParentIsNotAnArray =\n !request.parentRequest ||\n !request.parentRequest.target ||\n !request.target ||\n !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);\n\n if (targetIsAnArray && targetParentIsNotAnArray) {\n // Create an array instead of creating an instance\n return childRequests.map((childRequest: interfaces.Request) => {\n const _f = _resolveRequest(requestScope);\n return _f(childRequest) as T | Promise<T>;\n });\n }\n if (request.target.isOptional() && bindings.length === 0) {\n return undefined;\n }\n\n const binding = bindings[0];\n\n return _resolveBinding<T>(requestScope, request, binding as unknown as interfaces.Binding<T>);\n };\n\nconst _resolveFactoryFromBinding = <T>(binding: interfaces.Binding<T>, context: interfaces.Context): T | Promise<T> => {\n const factoryDetails = getFactoryDetails(binding);\n return tryAndThrowErrorIfStackOverflow(\n () => (factoryDetails.factory as interfaces.FactoryTypeFunction<T>).bind(binding)(context),\n () =>\n new Error(\n ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(\n factoryDetails.factoryType,\n context.currentRequest.serviceIdentifier.toString()\n )\n )\n );\n};\n\nconst _getResolvedFromBinding = <T = unknown>(\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding<T>\n): T | Promise<T> => {\n let result: T | Promise<T> | undefined;\n const childRequests = request.childRequests;\n\n ensureFullyBound(binding);\n\n switch (binding.type) {\n case BindingTypeEnum.ConstantValue:\n case BindingTypeEnum.Function:\n result = binding.cache as T | Promise<T>;\n break;\n case BindingTypeEnum.Constructor:\n result = binding.implementationType as T;\n break;\n case BindingTypeEnum.Instance:\n result = resolveInstance<T>(\n binding,\n binding.implementationType as interfaces.Newable<T>,\n childRequests,\n _resolveRequest<T>(requestScope)\n );\n break;\n default:\n result = _resolveFactoryFromBinding(binding, request.parentContext);\n }\n\n return result as T | Promise<T>;\n};\n\nconst _resolveInScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n resolveFromBinding: () => T | Promise<T>\n): T | Promise<T> => {\n let result = tryGetFromScope<T>(requestScope, binding);\n if (result !== null) {\n return result;\n }\n result = resolveFromBinding();\n saveToScope(requestScope, binding, result);\n return result;\n};\n\nconst _resolveBinding = <T>(\n requestScope: interfaces.RequestScope,\n request: interfaces.Request,\n binding: interfaces.Binding<T>\n): T | Promise<T> => {\n return _resolveInScope<T>(requestScope, binding, () => {\n const result = _getResolvedFromBinding(requestScope, request, binding);\n // if (isPromise(result)) {\n // result = result.then(resolved => _onActivation(request, binding, resolved));\n // } else {\n // result = _onActivation<T>(request, binding, result);\n // }\n return result;\n });\n};\n\n// function _onActivation<T>(request: interfaces.Request, binding: interfaces.Binding<T>, resolved: T): T | Promise<T> {\n// let result = _bindingActivation(request.parentContext, binding, resolved);\n\n// const containersIterator = _getContainersIterator(request.parentContext.container);\n\n// let container: interfaces.Container;\n// let containersIteratorResult = containersIterator.next();\n\n// do {\n// container = containersIteratorResult.value;\n// // const context = request.parentContext;\n// // const serviceIdentifier = request.serviceIdentifier;\n// // const activationsIterator = _getContainerActivationsForService(container, serviceIdentifier);\n\n// // if (isPromise(result)) {\n// // result = _activateContainerAsync<T>(\n// // activationsIterator as Iterator<interfaces.BindingActivation<T>>,\n// // context,\n// // result\n// // );\n// // } else {\n// // result = _activateContainer<T>(activationsIterator as Iterator<interfaces.BindingActivation<T>>, context, result);\n// // }\n\n// containersIteratorResult = containersIterator.next();\n\n// // make sure if we are currently on the container that owns the binding, not to keep looping down to child containers\n// } while (\n// containersIteratorResult.done !== true &&\n// !getBindingDictionary(container).hasKey(request.serviceIdentifier)\n// );\n\n// return result;\n// }\n\n// const _bindingActivation = <T>(\n// context: interfaces.Context,\n// binding: interfaces.Binding<T>,\n// previousResult: T\n// ): T | Promise<T> => {\n// let result: T | Promise<T>;\n\n// // use activation handler if available\n// if (typeof binding.onActivation === 'function') {\n// result = binding.onActivation(context, previousResult);\n// } else {\n// result = previousResult;\n// }\n\n// return result;\n// };\n\n// const _activateContainer = <T>(\n// activationsIterator: Iterator<interfaces.BindingActivation<T>>,\n// context: interfaces.Context,\n// result: T\n// ): T | Promise<T> => {\n// let activation = activationsIterator.next();\n\n// while (!activation.done) {\n// result = activation.value(context, result) as T;\n\n// if (isPromise<T>(result)) {\n// return _activateContainerAsync(activationsIterator, context, result);\n// }\n\n// activation = activationsIterator.next();\n// }\n\n// return result;\n// };\n\n// const _activateContainerAsync = async <T>(\n// activationsIterator: Iterator<interfaces.BindingActivation<T>>,\n// context: interfaces.Context,\n// resultPromise: Promise<T>\n// ): Promise<T> => {\n// let result = await resultPromise;\n// let activation = activationsIterator.next();\n\n// while (!activation.done) {\n// result = await activation.value(context, result);\n\n// activation = activationsIterator.next();\n// }\n\n// return result;\n// };\n\n// const _getContainerActivationsForService = <T>(\n// container: interfaces.Container,\n// serviceIdentifier: interfaces.ServiceIdentifier<T>\n// ) => {\n// // smell accessing _activations, but similar pattern is done in planner.getBindingDictionary()\n// const activations = (\n// container as unknown as { _activations: interfaces.Lookup<interfaces.BindingActivation<unknown>> }\n// )._activations;\n\n// return activations.hasKey(serviceIdentifier) ? activations.get(serviceIdentifier).values() : [].values();\n// };\n\n// const _getContainersIterator = (container: interfaces.Container): Iterator<interfaces.Container> => {\n// const containersStack: interfaces.Container[] = [container];\n\n// let parent = container.parent;\n\n// while (parent !== null) {\n// containersStack.push(parent);\n\n// parent = parent.parent;\n// }\n\n// const getNextContainer: () => IteratorResult<interfaces.Container> = () => {\n// const nextContainer = containersStack.pop();\n\n// if (nextContainer !== undefined) {\n// return { done: false, value: nextContainer };\n// } else {\n// return { done: true, value: undefined };\n// }\n// };\n\n// const containersIterator: Iterator<interfaces.Container> = {\n// next: getNextContainer\n// };\n\n// return containersIterator;\n// };\n\nfunction resolve<T>(context: interfaces.Context): T | Promise<T> | (T | Promise<T>)[] {\n const _f = _resolveRequest<T>(context.plan.rootRequest.requestScope as interfaces.RequestScope);\n return _f(context.plan.rootRequest) as T | Promise<T> | (T | Promise<T>)[];\n}\n\nexport { resolve };\n"]}
@@ -4,8 +4,7 @@ const halfPi = pi / 2;
4
4
 
5
5
  export function createRectPath(path, x, y, width, height, rectCornerRadius) {
6
6
  let cornerRadius;
7
- if (width < 0 && (x += width, width = -width), height < 0 && (y += height, height = -height),
8
- isNumber(rectCornerRadius, !0)) cornerRadius = [ rectCornerRadius, rectCornerRadius, rectCornerRadius, rectCornerRadius ]; else if (Array.isArray(rectCornerRadius)) {
7
+ if (isNumber(rectCornerRadius, !0)) cornerRadius = [ rectCornerRadius, rectCornerRadius, rectCornerRadius, rectCornerRadius ]; else if (Array.isArray(rectCornerRadius)) {
9
8
  const cornerRadiusArr = rectCornerRadius;
10
9
  switch (cornerRadiusArr.length) {
11
10
  case 0:
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/shape/rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAG5D,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtB,MAAM,UAAU,cAAc,CAC5B,IAAgC,EAChC,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,gBAAmC;IAEnC,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,CAAC,IAAI,KAAK,CAAC;QACX,KAAK,GAAG,CAAC,KAAK,CAAC;KAChB;IACD,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,CAAC,IAAI,MAAM,CAAC;QACZ,MAAM,GAAG,CAAC,MAAM,CAAC;KAClB;IAED,IAAI,YAAkB,CAAC;IACvB,IAAI,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE;QACpC,YAAY,GAAG;YACL,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;SACzB,CAAC;KACH;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QAC1C,MAAM,eAAe,GAAa,gBAA4B,CAAC;QAC/D,QAAQ,eAAe,CAAC,MAAM,EAAE;YAC9B,KAAK,CAAC;gBACJ,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,CAAC;gBACJ,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM;YACR,KAAK,CAAC,CAAC;YACP,KAAK,CAAC;gBACJ,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM;YACR;gBACE,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAqC,CAAC;gBAC/E,MAAM;SACT;KACF;SAAM;QACL,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC7B;IAGD,IACE,KAAK,GAAG,CAAC;QACT,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3G,KAAK,EACP;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACvC;IAED,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,GAA6B;QAC7E,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;KAChB,CAAC;IASF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,aAAa,GAAS;QAC1B,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;KAC3C,CAAC;IACF,MAAM,aAAa,GAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,aAAa,GAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,iBAAiB,GAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,gBAAgB,GAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE;QAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,CAAC,MAAM,EACP,CAAC,EAGD,KAAK,CACN,CAAC;KAEH;IAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAAE;QACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,CAAC,EACD,MAAM,EAGN,KAAK,CACN,CAAC;KAEH;IAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAE;QACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,MAAM,EACN,EAAE,EAGF,KAAK,CACN,CAAC;KAEH;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;QAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,EAAE,EACF,EAAE,GAAG,MAAM,EAGX,KAAK,CACN,CAAC;KAEH;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC","file":"rect.js","sourcesContent":["import type { vec2, vec4 } from '@visactor/vutils';\nimport { isNumber, arrayEqual, pi } from '@visactor/vutils';\nimport type { IContext2d, ICustomPath2D } from '../../interface';\n\nconst halfPi = pi / 2;\n\nexport function createRectPath(\n path: ICustomPath2D | IContext2d,\n x: number,\n y: number,\n width: number,\n height: number,\n rectCornerRadius: number | number[]\n) {\n if (width < 0) {\n x += width;\n width = -width;\n }\n if (height < 0) {\n y += height;\n height = -height;\n }\n // 匹配cornerRadius\n let cornerRadius: vec4;\n if (isNumber(rectCornerRadius, true)) {\n cornerRadius = [\n <number>rectCornerRadius,\n <number>rectCornerRadius,\n <number>rectCornerRadius,\n <number>rectCornerRadius\n ];\n } else if (Array.isArray(rectCornerRadius)) {\n const cornerRadiusArr: number[] = rectCornerRadius as number[];\n switch (cornerRadiusArr.length) {\n case 0:\n cornerRadius = [0, 0, 0, 0];\n break;\n case 1:\n cornerRadius = [cornerRadiusArr[0], cornerRadiusArr[0], cornerRadiusArr[0], cornerRadiusArr[0]];\n break;\n case 2:\n case 3:\n cornerRadius = [cornerRadiusArr[0], cornerRadiusArr[1], cornerRadiusArr[0], cornerRadiusArr[1]];\n break;\n default:\n cornerRadius = cornerRadiusArr.slice(0, 5) as [number, number, number, number];\n break;\n }\n } else {\n cornerRadius = [0, 0, 0, 0];\n }\n\n // 当宽度小于0 或者 cornerRadius 极小时,不绘制 cornerRadius\n if (\n width < 0 ||\n Math.abs(cornerRadius[0]) + Math.abs(cornerRadius[1]) + Math.abs(cornerRadius[2]) + Math.abs(cornerRadius[3]) <\n 1e-12\n ) {\n return path.rect(x, y, width, height);\n }\n\n const [leftTop, rightTop, rightBottom, leftBottom]: [vec2, vec2, vec2, vec2] = [\n [x, y],\n [x + width, y],\n [x + width, y + height],\n [x, y + height]\n ];\n //\n // *(leftTopPoint1)******************(rightTopPoint1)\n // (leftTopPoint2) (rightTopPoint2)\n // * *\n // * *\n // (leftBottomPoint2) (rightBottomPoint2)\n // *(leftBottomPoint1)***************(rightBottomPoint1)\n //\n const maxCornerRadius = Math.min(width / 2, height / 2);\n const _cornerRadius: vec4 = [\n Math.min(maxCornerRadius, cornerRadius[0]),\n Math.min(maxCornerRadius, cornerRadius[1]),\n Math.min(maxCornerRadius, cornerRadius[2]),\n Math.min(maxCornerRadius, cornerRadius[3])\n ];\n const leftTopPoint1: vec2 = [leftTop[0] + _cornerRadius[0], leftTop[1]];\n const leftTopPoint2: vec2 = [leftTop[0], leftTop[1] + _cornerRadius[0]];\n const rightTopPoint1: vec2 = [rightTop[0] - _cornerRadius[1], rightTop[1]];\n const rightTopPoint2: vec2 = [rightTop[0], rightTop[1] + _cornerRadius[1]];\n const rightBottomPoint1: vec2 = [rightBottom[0] - _cornerRadius[2], rightBottom[1]];\n const rightBottomPoint2: vec2 = [rightBottom[0], rightBottom[1] - _cornerRadius[2]];\n const leftBottomPoint1: vec2 = [leftBottom[0] + _cornerRadius[3], leftBottom[1]];\n const leftBottomPoint2: vec2 = [leftBottom[0], leftBottom[1] - _cornerRadius[3]];\n\n path.moveTo(leftTopPoint1[0], leftTopPoint1[1]);\n path.lineTo(rightTopPoint1[0], rightTopPoint1[1]);\n if (!arrayEqual(rightTopPoint1, rightTopPoint2)) {\n const centerX = rightTopPoint1[0];\n const centerY = rightTopPoint1[1] + _cornerRadius[1];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[1],\n -halfPi,\n 0,\n // Math.atan2(rightTopPoint1[1] - centerY, rightTopPoint1[0] - centerX),\n // Math.atan2(rightTopPoint2[1] - centerY, rightTopPoint2[0] - centerX),\n false\n );\n // path.arcTo(rightTop[0], rightTop[1], rightTopPoint2[0], rightTopPoint2[1], _cornerRadius[1]);\n }\n\n path.lineTo(rightBottomPoint2[0], rightBottomPoint2[1]);\n if (!arrayEqual(rightBottomPoint1, rightBottomPoint2)) {\n const centerX = rightBottomPoint2[0] - _cornerRadius[2];\n const centerY = rightBottomPoint2[1];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[2],\n 0,\n halfPi,\n // Math.atan2(rightBottomPoint2[1] - centerY, rightBottomPoint2[0] - centerX),\n // Math.atan2(rightBottomPoint1[1] - centerY, rightBottomPoint1[0] - centerX),\n false\n );\n // path.arcTo(rightBottom[0], rightBottom[1], rightBottomPoint1[0], rightBottomPoint1[1], _cornerRadius[2]);\n }\n\n path.lineTo(leftBottomPoint1[0], leftBottomPoint1[1]);\n if (!arrayEqual(leftBottomPoint1, leftBottomPoint2)) {\n const centerX = leftBottomPoint1[0];\n const centerY = leftBottomPoint1[1] - _cornerRadius[3];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[3],\n halfPi,\n pi,\n // Math.atan2(leftBottomPoint1[1] - centerY, leftBottomPoint1[0] - centerX),\n // Math.atan2(leftBottomPoint2[1] - centerY, leftBottomPoint2[0] - centerX),\n false\n );\n // path.arcTo(leftBottom[0], leftBottom[1], leftBottomPoint2[0], leftBottomPoint2[1], _cornerRadius[3]);\n }\n\n path.lineTo(leftTopPoint2[0], leftTopPoint2[1]);\n if (!arrayEqual(leftTopPoint1, leftTopPoint2)) {\n const centerX = leftTopPoint1[0];\n const centerY = leftTopPoint1[1] + _cornerRadius[0];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[0],\n pi,\n pi + halfPi,\n // Math.atan2(leftTopPoint2[1] - centerY, leftTopPoint2[0] - centerX),\n // Math.atan2(leftTopPoint1[1] - centerY, leftTopPoint1[0] - centerX) + Math.PI * 2,\n false\n );\n // path.arcTo(leftTop[0], leftTop[1], leftTopPoint1[0], leftTopPoint1[1], _cornerRadius[0]);\n }\n path.closePath();\n return path;\n}\n"]}
1
+ {"version":3,"sources":["../src/common/shape/rect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAG5D,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtB,MAAM,UAAU,cAAc,CAC5B,IAAgC,EAChC,CAAS,EACT,CAAS,EACT,KAAa,EACb,MAAc,EACd,gBAAmC;IAGnC,IAAI,YAAkB,CAAC;IACvB,IAAI,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE;QACpC,YAAY,GAAG;YACL,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;SACzB,CAAC;KACH;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QAC1C,MAAM,eAAe,GAAa,gBAA4B,CAAC;QAC/D,QAAQ,eAAe,CAAC,MAAM,EAAE;YAC9B,KAAK,CAAC;gBACJ,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,CAAC;gBACJ,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM;YACR,KAAK,CAAC,CAAC;YACP,KAAK,CAAC;gBACJ,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,MAAM;YACR;gBACE,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAqC,CAAC;gBAC/E,MAAM;SACT;KACF;SAAM;QACL,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC7B;IAGD,IACE,KAAK,GAAG,CAAC;QACT,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3G,KAAK,EACP;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACvC;IAED,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,GAA6B;QAC7E,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;KAChB,CAAC;IASF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,aAAa,GAAS;QAC1B,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;KAC3C,CAAC;IACF,MAAM,aAAa,GAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,aAAa,GAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,cAAc,GAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,iBAAiB,GAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,gBAAgB,GAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE;QAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,CAAC,MAAM,EACP,CAAC,EAGD,KAAK,CACN,CAAC;KAEH;IAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAAE;QACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,CAAC,EACD,MAAM,EAGN,KAAK,CACN,CAAC;KAEH;IAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAE;QACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,MAAM,EACN,EAAE,EAGF,KAAK,CACN,CAAC;KAEH;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;QAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,OAAO,EACP,aAAa,CAAC,CAAC,CAAC,EAChB,EAAE,EACF,EAAE,GAAG,MAAM,EAGX,KAAK,CACN,CAAC;KAEH;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC","file":"rect.js","sourcesContent":["import type { vec2, vec4 } from '@visactor/vutils';\nimport { isNumber, arrayEqual, pi } from '@visactor/vutils';\nimport type { IContext2d, ICustomPath2D } from '../../interface';\n\nconst halfPi = pi / 2;\n\nexport function createRectPath(\n path: ICustomPath2D | IContext2d,\n x: number,\n y: number,\n width: number,\n height: number,\n rectCornerRadius: number | number[]\n) {\n // 匹配cornerRadius\n let cornerRadius: vec4;\n if (isNumber(rectCornerRadius, true)) {\n cornerRadius = [\n <number>rectCornerRadius,\n <number>rectCornerRadius,\n <number>rectCornerRadius,\n <number>rectCornerRadius\n ];\n } else if (Array.isArray(rectCornerRadius)) {\n const cornerRadiusArr: number[] = rectCornerRadius as number[];\n switch (cornerRadiusArr.length) {\n case 0:\n cornerRadius = [0, 0, 0, 0];\n break;\n case 1:\n cornerRadius = [cornerRadiusArr[0], cornerRadiusArr[0], cornerRadiusArr[0], cornerRadiusArr[0]];\n break;\n case 2:\n case 3:\n cornerRadius = [cornerRadiusArr[0], cornerRadiusArr[1], cornerRadiusArr[0], cornerRadiusArr[1]];\n break;\n default:\n cornerRadius = cornerRadiusArr.slice(0, 5) as [number, number, number, number];\n break;\n }\n } else {\n cornerRadius = [0, 0, 0, 0];\n }\n\n // 当宽度小于0 或者 cornerRadius 极小时,不绘制 cornerRadius\n if (\n width < 0 ||\n Math.abs(cornerRadius[0]) + Math.abs(cornerRadius[1]) + Math.abs(cornerRadius[2]) + Math.abs(cornerRadius[3]) <\n 1e-12\n ) {\n return path.rect(x, y, width, height);\n }\n\n const [leftTop, rightTop, rightBottom, leftBottom]: [vec2, vec2, vec2, vec2] = [\n [x, y],\n [x + width, y],\n [x + width, y + height],\n [x, y + height]\n ];\n //\n // *(leftTopPoint1)******************(rightTopPoint1)\n // (leftTopPoint2) (rightTopPoint2)\n // * *\n // * *\n // (leftBottomPoint2) (rightBottomPoint2)\n // *(leftBottomPoint1)***************(rightBottomPoint1)\n //\n const maxCornerRadius = Math.min(width / 2, height / 2);\n const _cornerRadius: vec4 = [\n Math.min(maxCornerRadius, cornerRadius[0]),\n Math.min(maxCornerRadius, cornerRadius[1]),\n Math.min(maxCornerRadius, cornerRadius[2]),\n Math.min(maxCornerRadius, cornerRadius[3])\n ];\n const leftTopPoint1: vec2 = [leftTop[0] + _cornerRadius[0], leftTop[1]];\n const leftTopPoint2: vec2 = [leftTop[0], leftTop[1] + _cornerRadius[0]];\n const rightTopPoint1: vec2 = [rightTop[0] - _cornerRadius[1], rightTop[1]];\n const rightTopPoint2: vec2 = [rightTop[0], rightTop[1] + _cornerRadius[1]];\n const rightBottomPoint1: vec2 = [rightBottom[0] - _cornerRadius[2], rightBottom[1]];\n const rightBottomPoint2: vec2 = [rightBottom[0], rightBottom[1] - _cornerRadius[2]];\n const leftBottomPoint1: vec2 = [leftBottom[0] + _cornerRadius[3], leftBottom[1]];\n const leftBottomPoint2: vec2 = [leftBottom[0], leftBottom[1] - _cornerRadius[3]];\n\n path.moveTo(leftTopPoint1[0], leftTopPoint1[1]);\n path.lineTo(rightTopPoint1[0], rightTopPoint1[1]);\n if (!arrayEqual(rightTopPoint1, rightTopPoint2)) {\n const centerX = rightTopPoint1[0];\n const centerY = rightTopPoint1[1] + _cornerRadius[1];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[1],\n -halfPi,\n 0,\n // Math.atan2(rightTopPoint1[1] - centerY, rightTopPoint1[0] - centerX),\n // Math.atan2(rightTopPoint2[1] - centerY, rightTopPoint2[0] - centerX),\n false\n );\n // path.arcTo(rightTop[0], rightTop[1], rightTopPoint2[0], rightTopPoint2[1], _cornerRadius[1]);\n }\n\n path.lineTo(rightBottomPoint2[0], rightBottomPoint2[1]);\n if (!arrayEqual(rightBottomPoint1, rightBottomPoint2)) {\n const centerX = rightBottomPoint2[0] - _cornerRadius[2];\n const centerY = rightBottomPoint2[1];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[2],\n 0,\n halfPi,\n // Math.atan2(rightBottomPoint2[1] - centerY, rightBottomPoint2[0] - centerX),\n // Math.atan2(rightBottomPoint1[1] - centerY, rightBottomPoint1[0] - centerX),\n false\n );\n // path.arcTo(rightBottom[0], rightBottom[1], rightBottomPoint1[0], rightBottomPoint1[1], _cornerRadius[2]);\n }\n\n path.lineTo(leftBottomPoint1[0], leftBottomPoint1[1]);\n if (!arrayEqual(leftBottomPoint1, leftBottomPoint2)) {\n const centerX = leftBottomPoint1[0];\n const centerY = leftBottomPoint1[1] - _cornerRadius[3];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[3],\n halfPi,\n pi,\n // Math.atan2(leftBottomPoint1[1] - centerY, leftBottomPoint1[0] - centerX),\n // Math.atan2(leftBottomPoint2[1] - centerY, leftBottomPoint2[0] - centerX),\n false\n );\n // path.arcTo(leftBottom[0], leftBottom[1], leftBottomPoint2[0], leftBottomPoint2[1], _cornerRadius[3]);\n }\n\n path.lineTo(leftTopPoint2[0], leftTopPoint2[1]);\n if (!arrayEqual(leftTopPoint1, leftTopPoint2)) {\n const centerX = leftTopPoint1[0];\n const centerY = leftTopPoint1[1] + _cornerRadius[0];\n path.arc(\n centerX,\n centerY,\n _cornerRadius[0],\n pi,\n pi + halfPi,\n // Math.atan2(leftTopPoint2[1] - centerY, leftTopPoint2[0] - centerX),\n // Math.atan2(leftTopPoint1[1] - centerY, leftTopPoint1[0] - centerX) + Math.PI * 2,\n false\n );\n // path.arcTo(leftTop[0], leftTop[1], leftTopPoint1[0], leftTopPoint1[1], _cornerRadius[0]);\n }\n path.closePath();\n return path;\n}\n"]}
package/es/common/sort.js CHANGED
@@ -90,4 +90,5 @@ export function findNextGraphic(graphic, id, defaultZIndex, reverse = !1) {
90
90
  } else graphic.forEachChildren((item => next ? (result = item, !0) : (item._uid === id && (next = !0),
91
91
  !1)), reverse);
92
92
  return result;
93
- }
93
+ }
94
+ //# sourceMappingURL=sort.js.map
@@ -245,5 +245,4 @@ export const splitPath = (path, count) => {
245
245
  remain -= stepCount;
246
246
  }
247
247
  return res;
248
- };
249
- //# sourceMappingURL=split-path.js.map
248
+ };
@@ -1,6 +1,7 @@
1
1
  import type { IGlobal, ICanvas, IContext2d, IDrawToParams, IGroup, ILayer, ILayerHandlerContribution, IWindow, ILayerHandlerInitParams, ILayerHandlerDrawParams, IDrawContext, LayerMode } from '../../../interface';
2
2
  import type { IBounds } from '@visactor/vutils';
3
3
  export declare class CanvasLayerHandlerContribution implements ILayerHandlerContribution {
4
+ readonly global: IGlobal;
4
5
  layer: ILayer;
5
6
  canvas: ICanvas;
6
7
  context: IContext2d;
@@ -8,9 +9,8 @@ export declare class CanvasLayerHandlerContribution implements ILayerHandlerCont
8
9
  main: boolean;
9
10
  window: IWindow;
10
11
  type: LayerMode;
11
- global: IGlobal;
12
12
  secondaryHandlers: ILayerHandlerContribution[];
13
- constructor();
13
+ constructor(global: IGlobal);
14
14
  setDpr(dpr: number): void;
15
15
  init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void;
16
16
  resize(w: number, h: number): void;
@@ -4,17 +4,21 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
4
4
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5
5
  }, __metadata = this && this.__metadata || function(k, v) {
6
6
  if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
+ }, __param = this && this.__param || function(paramIndex, decorator) {
8
+ return function(target, key) {
9
+ decorator(target, key, paramIndex);
10
+ };
7
11
  };
8
12
 
9
- import { injectable } from "../../../common/inversify-lite";
13
+ import { inject, injectable } from "../../../common/inversify-lite";
10
14
 
11
15
  import { wrapCanvas } from "../../../canvas/util";
12
16
 
13
- import { application } from "../../../application";
17
+ import { VGlobal } from "../../../constants";
14
18
 
15
19
  let CanvasLayerHandlerContribution = class {
16
- constructor() {
17
- this.type = "static", this.offscreen = !1, this.global = application.global;
20
+ constructor(global) {
21
+ this.global = global, this.type = "static", this.offscreen = !1;
18
22
  }
19
23
  setDpr(dpr) {
20
24
  this.canvas.dpr = dpr;
@@ -80,7 +84,7 @@ let CanvasLayerHandlerContribution = class {
80
84
  }
81
85
  };
82
86
 
83
- CanvasLayerHandlerContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], CanvasLayerHandlerContribution);
87
+ CanvasLayerHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], CanvasLayerHandlerContribution);
84
88
 
85
89
  export { CanvasLayerHandlerContribution };
86
90
  //# sourceMappingURL=canvas2d-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/layerHandler/canvas2d-contribution.ts"],"names":[],"mappings":"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","file":"canvas2d-contribution.js","sourcesContent":["import { inject, injectable } from '../../../common/inversify-lite';\nimport { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { application } from '../../../application';\n\n@injectable()\nexport class CanvasLayerHandlerContribution implements ILayerHandlerContribution {\n layer: ILayer;\n canvas: ICanvas;\n context: IContext2d;\n offscreen: boolean;\n main: boolean;\n window: IWindow;\n type: LayerMode = 'static';\n global: IGlobal;\n // 所绑定的副layer handler\n secondaryHandlers: ILayerHandlerContribution[];\n\n constructor() {\n this.offscreen = false;\n this.global = application.global;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n // 默认图层,那么直接拿window上的上下文和canvas即可\n if (params.main) {\n this.main = true;\n this.context = window.getContext();\n this.canvas = this.context.getCanvas();\n } else {\n this.main = false;\n let nativeCanvas: HTMLElement;\n if (params.canvasId) {\n nativeCanvas = this.global.getElementById(params.canvasId);\n } else {\n nativeCanvas = this.global.createCanvas({\n width: window.width,\n height: window.height\n });\n }\n // 不是main的话,就穿透点击事件\n if (nativeCanvas.style) {\n nativeCanvas.style['pointer-events'] = 'none';\n }\n const windowContext = window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n const canvas = wrapCanvas({\n nativeCanvas,\n width: window.width,\n height: window.height,\n dpr: window.dpr,\n canvasControled: true,\n container: window.getContainer(),\n x: windowCanvas.offsetLeft,\n y: windowCanvas.offsetTop\n });\n canvas.applyPosition();\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n // 调整位置\n if (!this.main) {\n const windowContext = this.window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n if (windowCanvas && (this.canvas.x !== windowCanvas.offsetLeft || this.canvas.y !== windowCanvas.offsetTop)) {\n this.canvas.x = windowCanvas.offsetLeft;\n this.canvas.y = windowCanvas.offsetTop;\n this.canvas.applyPosition();\n }\n }\n params.renderService.render(group, {\n context: this.context,\n clear: params.background ?? '#ffffff',\n ...params,\n ...userParams\n });\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n layerHandlers.forEach(l => {\n const ctx = l.getContext();\n const canvas = ctx.canvas.nativeCanvas;\n this.context.drawImage(canvas, 0, 0);\n });\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n release() {\n this.canvas.release();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/layerHandler/canvas2d-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAgBlD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGtC,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAWzC,YAA6C,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;QAJ5D,SAAI,GAAc,QAAQ,CAAC;QAKzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,YAAyB,CAAC;YAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBACtC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;aACJ;YAED,IAAI,YAAY,CAAC,KAAK,EAAE;gBACtB,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;aAC/C;YACD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;YAC5D,MAAM,MAAM,GAAG,UAAU,CAAC;gBACxB,YAAY;gBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE;gBAChC,CAAC,EAAE,YAAY,CAAC,UAAU;gBAC1B,CAAC,EAAE,YAAY,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;SACpC;IACH,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B,EAAE,UAAkC;;QAEzF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;YAC5D,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY,CAAC,SAAS,CAAC,EAAE;gBAC3G,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;aAC7B;SACF;QACD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,SAAS,IAClC,MAAM,GACN,UAAU,EACb,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,WAAoB,EAAE,MAA+B;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,IACJ,MAAM,KACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF,CAAA;AArHY,8BAA8B;IAD1C,UAAU,EAAE;IAYE,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;;GAXjB,8BAA8B,CAqH1C;SArHY,8BAA8B","file":"canvas2d-contribution.js","sourcesContent":["import { inject, injectable } from '../../../common/inversify-lite';\nimport { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { VGlobal } from '../../../constants';\n\n@injectable()\nexport class CanvasLayerHandlerContribution implements ILayerHandlerContribution {\n layer: ILayer;\n canvas: ICanvas;\n context: IContext2d;\n offscreen: boolean;\n main: boolean;\n window: IWindow;\n type: LayerMode = 'static';\n // 所绑定的副layer handler\n secondaryHandlers: ILayerHandlerContribution[];\n\n constructor(@inject(VGlobal) public readonly global: IGlobal) {\n this.offscreen = false;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n // 默认图层,那么直接拿window上的上下文和canvas即可\n if (params.main) {\n this.main = true;\n this.context = window.getContext();\n this.canvas = this.context.getCanvas();\n } else {\n this.main = false;\n let nativeCanvas: HTMLElement;\n if (params.canvasId) {\n nativeCanvas = this.global.getElementById(params.canvasId);\n } else {\n nativeCanvas = this.global.createCanvas({\n width: window.width,\n height: window.height\n });\n }\n // 不是main的话,就穿透点击事件\n if (nativeCanvas.style) {\n nativeCanvas.style['pointer-events'] = 'none';\n }\n const windowContext = window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n const canvas = wrapCanvas({\n nativeCanvas,\n width: window.width,\n height: window.height,\n dpr: window.dpr,\n canvasControled: true,\n container: window.getContainer(),\n x: windowCanvas.offsetLeft,\n y: windowCanvas.offsetTop\n });\n canvas.applyPosition();\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n // 调整位置\n if (!this.main) {\n const windowContext = this.window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n if (windowCanvas && (this.canvas.x !== windowCanvas.offsetLeft || this.canvas.y !== windowCanvas.offsetTop)) {\n this.canvas.x = windowCanvas.offsetLeft;\n this.canvas.y = windowCanvas.offsetTop;\n this.canvas.applyPosition();\n }\n }\n params.renderService.render(group, {\n context: this.context,\n clear: params.background ?? '#ffffff',\n ...params,\n ...userParams\n });\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n layerHandlers.forEach(l => {\n const ctx = l.getContext();\n const canvas = ctx.canvas.nativeCanvas;\n this.context.drawImage(canvas, 0, 0);\n });\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n release() {\n this.canvas.release();\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import type { IGlobal, IDrawToParams, IGroup, ILayer, ILayerHandlerContribution, IWindow, ILayerHandlerInitParams, ILayerHandlerDrawParams, IDrawContext, LayerMode } from '../../../interface';
2
2
  import type { IBounds } from '@visactor/vutils';
3
3
  export declare class EmptyLayerHandlerContribution implements ILayerHandlerContribution {
4
+ readonly global: IGlobal;
4
5
  layer: ILayer;
5
6
  canvas: null;
6
7
  context: null;
@@ -9,8 +10,7 @@ export declare class EmptyLayerHandlerContribution implements ILayerHandlerContr
9
10
  window: IWindow;
10
11
  type: LayerMode;
11
12
  mainHandler: ILayerHandlerContribution;
12
- global: IGlobal;
13
- constructor();
13
+ constructor(global: IGlobal);
14
14
  setDpr(dpr: number): void;
15
15
  init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void;
16
16
  resize(w: number, h: number): void;
@@ -4,15 +4,19 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
4
4
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5
5
  }, __metadata = this && this.__metadata || function(k, v) {
6
6
  if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
+ }, __param = this && this.__param || function(paramIndex, decorator) {
8
+ return function(target, key) {
9
+ decorator(target, key, paramIndex);
10
+ };
7
11
  };
8
12
 
9
- import { injectable } from "../../../common/inversify-lite";
13
+ import { inject, injectable } from "../../../common/inversify-lite";
10
14
 
11
- import { application } from "../../../application";
15
+ import { VGlobal } from "../../../constants";
12
16
 
13
17
  let EmptyLayerHandlerContribution = class {
14
- constructor() {
15
- this.offscreen = !1, this.type = "virtual", this.global = application.global;
18
+ constructor(global) {
19
+ this.global = global, this.type = "virtual", this.offscreen = !1;
16
20
  }
17
21
  setDpr(dpr) {}
18
22
  init(layer, window, params) {
@@ -43,7 +47,7 @@ let EmptyLayerHandlerContribution = class {
43
47
  release() {}
44
48
  };
45
49
 
46
- EmptyLayerHandlerContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], EmptyLayerHandlerContribution);
50
+ EmptyLayerHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], EmptyLayerHandlerContribution);
47
51
 
48
52
  export { EmptyLayerHandlerContribution };
49
53
  //# sourceMappingURL=empty-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/layerHandler/empty-contribution.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAU,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAcpE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG5C,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAYxC;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B,EAAE,UAAkC;QACzF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,kCAAO,UAAU,KAAE,KAAK,EAAE,KAAK,IAAG,CAAC;QACxE,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,WAAoB,EAAE,MAA+B;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,IACJ,MAAM,KACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO;IACT,CAAC;CACF,CAAA;AAtEY,6BAA6B;IADzC,UAAU,EAAE;;GACA,6BAA6B,CAsEzC;SAtEY,6BAA6B","file":"empty-contribution.js","sourcesContent":["import { inject, injectable } from '../../../common/inversify-lite';\nimport type {\n IGlobal,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { application } from '../../../application';\n\n@injectable()\nexport class EmptyLayerHandlerContribution implements ILayerHandlerContribution {\n declare layer: ILayer;\n declare canvas: null;\n declare context: null;\n declare offscreen: boolean;\n declare main: boolean;\n declare window: IWindow;\n declare type: LayerMode;\n // 所依赖的主layer handler\n declare mainHandler: ILayerHandlerContribution;\n declare global: IGlobal;\n\n constructor() {\n this.offscreen = false;\n this.type = 'virtual';\n this.global = application.global;\n }\n\n setDpr(dpr: number) {\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n if (params.main) {\n throw new Error('virtual layer不能作为main layer');\n }\n this.main = false;\n this.canvas = null;\n this.context = null;\n }\n\n resize(w: number, h: number) {\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n this.mainHandler.render(group, params, { ...userParams, clear: false });\n return;\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): null {\n return null;\n }\n\n release() {\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/layerHandler/empty-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAcpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGtC,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAWxC,YAA6C,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;QAJ5D,SAAI,GAAc,SAAS,CAAC;QAK1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B,EAAE,UAAkC;QACzF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,kCAAO,UAAU,KAAE,KAAK,EAAE,KAAK,IAAG,CAAC;QACxE,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,WAAoB,EAAE,MAA+B;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,IACJ,MAAM,KACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO;IACT,CAAC;CACF,CAAA;AAnEY,6BAA6B;IADzC,UAAU,EAAE;IAYE,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;;GAXjB,6BAA6B,CAmEzC;SAnEY,6BAA6B","file":"empty-contribution.js","sourcesContent":["import { inject, injectable } from '../../../common/inversify-lite';\nimport type {\n IGlobal,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { VGlobal } from '../../../constants';\n\n@injectable()\nexport class EmptyLayerHandlerContribution implements ILayerHandlerContribution {\n layer: ILayer;\n canvas: null;\n context: null;\n offscreen: boolean;\n main: boolean;\n window: IWindow;\n type: LayerMode = 'virtual';\n // 所依赖的主layer handler\n mainHandler: ILayerHandlerContribution;\n\n constructor(@inject(VGlobal) public readonly global: IGlobal) {\n this.offscreen = false;\n }\n\n setDpr(dpr: number) {\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n if (params.main) {\n throw new Error('virtual layer不能作为main layer');\n }\n this.main = false;\n this.canvas = null;\n this.context = null;\n }\n\n resize(w: number, h: number) {\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n this.mainHandler.render(group, params, { ...userParams, clear: false });\n return;\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): null {\n return null;\n }\n\n release() {\n return;\n }\n}\n"]}
@@ -1,14 +1,14 @@
1
1
  import type { IGlobal, ICanvas, IContext2d, IDrawToParams, IGroup, ILayer, ILayerHandlerContribution, ILayerHandlerInitParams, IWindow, ILayerHandlerDrawParams, LayerMode } from '../../../interface';
2
2
  import type { IBoundsLike } from '@visactor/vutils';
3
3
  export declare class OffscreenLayerHandlerContribution implements ILayerHandlerContribution {
4
+ readonly global: IGlobal;
4
5
  layer: ILayer;
5
6
  canvas: ICanvas;
6
7
  context: IContext2d;
7
8
  offscreen: boolean;
8
9
  type: LayerMode;
9
10
  secondaryHandlers: ILayerHandlerContribution[];
10
- global: IGlobal;
11
- constructor();
11
+ constructor(global: IGlobal);
12
12
  setDpr(dpr: number): void;
13
13
  init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void;
14
14
  resize(w: number, h: number): void;
@@ -4,17 +4,21 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
4
4
  return c > 3 && r && Object.defineProperty(target, key, r), r;
5
5
  }, __metadata = this && this.__metadata || function(k, v) {
6
6
  if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
+ }, __param = this && this.__param || function(paramIndex, decorator) {
8
+ return function(target, key) {
9
+ decorator(target, key, paramIndex);
10
+ };
7
11
  };
8
12
 
9
- import { injectable } from "../../../common/inversify-lite";
13
+ import { inject, injectable } from "../../../common/inversify-lite";
10
14
 
11
15
  import { wrapCanvas } from "../../../canvas/util";
12
16
 
13
- import { application } from "../../../application";
17
+ import { VGlobal } from "../../../constants";
14
18
 
15
19
  let OffscreenLayerHandlerContribution = class {
16
- constructor() {
17
- this.offscreen = !0, this.type = "dynamic", this.global = application.global;
20
+ constructor(global) {
21
+ this.global = global, this.type = "dynamic", this.offscreen = !0;
18
22
  }
19
23
  setDpr(dpr) {
20
24
  this.canvas.dpr = dpr;
@@ -66,7 +70,7 @@ let OffscreenLayerHandlerContribution = class {
66
70
  merge(layerHandlers) {}
67
71
  };
68
72
 
69
- OffscreenLayerHandlerContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], OffscreenLayerHandlerContribution);
73
+ OffscreenLayerHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], OffscreenLayerHandlerContribution);
70
74
 
71
75
  export { OffscreenLayerHandlerContribution };
72
76
  //# sourceMappingURL=offscreen2d-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/layerHandler/offscreen2d-contribution.ts"],"names":[],"mappings":"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","file":"offscreen2d-contribution.js","sourcesContent":["import { inject, injectable } from '../../../common/inversify-lite';\nimport { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n ILayerHandlerInitParams,\n IWindow,\n ILayerHandlerDrawParams,\n LayerMode\n} from '../../../interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { application } from '../../../application';\n\n@injectable()\nexport class OffscreenLayerHandlerContribution implements ILayerHandlerContribution {\n declare layer: ILayer;\n declare canvas: ICanvas;\n declare context: IContext2d;\n declare offscreen: boolean;\n declare type: LayerMode;\n // 所绑定的副layer handler\n declare secondaryHandlers: ILayerHandlerContribution[];\n declare global: IGlobal;\n\n constructor() {\n this.offscreen = true;\n this.type = 'dynamic';\n this.global = application.global;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n const nativeCanvas = this.global.createOffscreenCanvas({\n width: params.width,\n height: params.height,\n dpr: window.dpr\n });\n const canvas = wrapCanvas({\n nativeCanvas,\n width: params.width,\n height: params.height,\n dpr: window.dpr,\n canvasControled: true\n });\n\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams): void {\n params.renderService.render(group, {\n context: this.context,\n ...params,\n x: 0,\n y: 0,\n clear: params.background ?? '#ffffff'\n });\n }\n\n prepare(dirtyBounds: IBoundsLike, params: ILayerHandlerDrawParams) {\n return;\n }\n\n release() {\n this.canvas.release();\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n const targetDpr = target.dpr;\n\n const { x = 0, y = 0, width = this.layer.viewWidth, height = this.layer.viewHeight } = params;\n // 这个context可能是外部的,不要使用内置的状态,直接用原生的context\n context.nativeContext.save();\n context.nativeContext.setTransform(targetDpr, 0, 0, targetDpr, 0, 0);\n if (params.clear) {\n context.clearRect(x, y, width, height);\n }\n context.drawImage(this.canvas.nativeCanvas, 0, 0, this.canvas.width, this.canvas.height, x, y, width, height);\n context.nativeContext.restore();\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/layerHandler/offscreen2d-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAelD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGtC,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAS5C,YAA6C,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;QAJ5D,SAAI,GAAc,SAAS,CAAC;QAK1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACrD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,YAAY;YACZ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B;;QACrD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAClB,MAAM,KACT,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,SAAS,IACrC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,WAAwB,EAAE,MAA+B;QAC/D,OAAO;IACT,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAE7B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC;QAE9F,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACxC;QACD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9G,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,OAAO;IACT,CAAC;CACF,CAAA;AAtFY,iCAAiC;IAD7C,UAAU,EAAE;IAUE,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;;GATjB,iCAAiC,CAsF7C;SAtFY,iCAAiC","file":"offscreen2d-contribution.js","sourcesContent":["import { inject, injectable } from '../../../common/inversify-lite';\nimport { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n ILayerHandlerInitParams,\n IWindow,\n ILayerHandlerDrawParams,\n LayerMode\n} from '../../../interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { VGlobal } from '../../../constants';\n\n@injectable()\nexport class OffscreenLayerHandlerContribution implements ILayerHandlerContribution {\n layer: ILayer;\n canvas: ICanvas;\n context: IContext2d;\n offscreen: boolean;\n type: LayerMode = 'dynamic';\n // 所绑定的副layer handler\n secondaryHandlers: ILayerHandlerContribution[];\n\n constructor(@inject(VGlobal) public readonly global: IGlobal) {\n this.offscreen = true;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n const nativeCanvas = this.global.createOffscreenCanvas({\n width: params.width,\n height: params.height,\n dpr: window.dpr\n });\n const canvas = wrapCanvas({\n nativeCanvas,\n width: params.width,\n height: params.height,\n dpr: window.dpr,\n canvasControled: true\n });\n\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams): void {\n params.renderService.render(group, {\n context: this.context,\n ...params,\n x: 0,\n y: 0,\n clear: params.background ?? '#ffffff'\n });\n }\n\n prepare(dirtyBounds: IBoundsLike, params: ILayerHandlerDrawParams) {\n return;\n }\n\n release() {\n this.canvas.release();\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n const targetDpr = target.dpr;\n\n const { x = 0, y = 0, width = this.layer.viewWidth, height = this.layer.viewHeight } = params;\n // 这个context可能是外部的,不要使用内置的状态,直接用原生的context\n context.nativeContext.save();\n context.nativeContext.setTransform(targetDpr, 0, 0, targetDpr, 0, 0);\n if (params.clear) {\n context.clearRect(x, y, width, height);\n }\n context.drawImage(this.canvas.nativeCanvas, 0, 0, this.canvas.width, this.canvas.height, x, y, width, height);\n context.nativeContext.restore();\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n}\n"]}
@@ -5,7 +5,7 @@ import { bindContributionProvider } from "../../../common/contribution-provider"
5
5
  import { DefaultTextMeasureContribution, TextMeasureContribution } from "./textMeasure-contribution";
6
6
 
7
7
  export default new ContainerModule((bind => {
8
- bind(TextMeasureContribution).to(DefaultTextMeasureContribution).inSingletonScope(),
8
+ bind(DefaultTextMeasureContribution).toSelf().inSingletonScope(), bind(TextMeasureContribution).toService(DefaultTextMeasureContribution),
9
9
  bindContributionProvider(bind, TextMeasureContribution);
10
10
  }));
11
11
  //# sourceMappingURL=modules.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/textMeasure/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErG,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACpF,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC","file":"modules.js","sourcesContent":["import { ContainerModule } from '../../../common/inversify-lite';\nimport { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultTextMeasureContribution, TextMeasureContribution } from './textMeasure-contribution';\n\nexport default new ContainerModule(bind => {\n bind(TextMeasureContribution).to(DefaultTextMeasureContribution).inSingletonScope();\n bindContributionProvider(bind, TextMeasureContribution);\n});\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/textMeasure/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErG,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI,CAAC,8BAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACjE,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACxE,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC","file":"modules.js","sourcesContent":["import { ContainerModule } from '../../../common/inversify-lite';\nimport { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultTextMeasureContribution, TextMeasureContribution } from './textMeasure-contribution';\n\nexport default new ContainerModule(bind => {\n bind(DefaultTextMeasureContribution).toSelf().inSingletonScope();\n bind(TextMeasureContribution).toService(DefaultTextMeasureContribution);\n bindContributionProvider(bind, TextMeasureContribution);\n});\n"]}