@visactor/vrender-core 0.19.4-alpha.5 → 0.19.4

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 (772) hide show
  1. package/cjs/allocator/bounds-allocate.js +1 -1
  2. package/cjs/allocator/bounds-allocate.js.map +1 -1
  3. package/cjs/allocator/canvas-allocate.js +11 -9
  4. package/cjs/allocator/canvas-allocate.js.map +1 -1
  5. package/cjs/allocator/graphic-allocate.js +5 -9
  6. package/cjs/allocator/graphic-allocate.js.map +1 -1
  7. package/cjs/allocator/matrix-allocate.js +2 -6
  8. package/cjs/allocator/matrix-allocate.js.map +1 -1
  9. package/cjs/animate/Ticker/default-ticker.js +25 -14
  10. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  11. package/cjs/animate/animate.js +8 -7
  12. package/cjs/animate/animate.js.map +1 -1
  13. package/cjs/animate/custom-animate.js +54 -51
  14. package/cjs/animate/custom-animate.js.map +1 -1
  15. package/cjs/animate/easing.js +19 -8
  16. package/cjs/animate/easing.js.map +1 -1
  17. package/cjs/animate/morphing.js +20 -23
  18. package/cjs/animate/morphing.js.map +1 -1
  19. package/cjs/application.js +7 -1
  20. package/cjs/application.js.map +1 -1
  21. package/cjs/canvas/conical-gradient.js +12 -5
  22. package/cjs/canvas/conical-gradient.js.map +1 -1
  23. package/cjs/canvas/contributions/base-canvas.js +19 -7
  24. package/cjs/canvas/contributions/base-canvas.js.map +1 -1
  25. package/cjs/color-string/interpolate.js +5 -3
  26. package/cjs/color-string/interpolate.js.map +1 -1
  27. package/cjs/color-string/store.js +3 -1
  28. package/cjs/color-string/store.js.map +1 -1
  29. package/cjs/common/bounds-context.js +1 -0
  30. package/cjs/common/bounds-context.js.map +1 -1
  31. package/cjs/common/canvas-utils.js +3 -6
  32. package/cjs/common/canvas-utils.js.map +1 -1
  33. package/cjs/common/contribution-provider.js +3 -0
  34. package/cjs/common/contribution-provider.js.map +1 -1
  35. package/cjs/common/custom-path2d.js +7 -1
  36. package/cjs/common/custom-path2d.js.map +1 -1
  37. package/cjs/common/generator.js +2 -1
  38. package/cjs/common/generator.js.map +1 -1
  39. package/cjs/common/inversify/binding.js +12 -0
  40. package/cjs/common/inversify/binding.js.map +1 -1
  41. package/cjs/common/inversify/container.js +4 -0
  42. package/cjs/common/inversify/container.js.map +1 -1
  43. package/cjs/common/inversify/cotainer-module.js +2 -0
  44. package/cjs/common/inversify/cotainer-module.js.map +1 -1
  45. package/cjs/common/inversify/meta-data.js +2 -0
  46. package/cjs/common/inversify/meta-data.js.map +1 -1
  47. package/cjs/common/inversify/syntax/binding_in_syntax.js +1 -0
  48. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +1 -1
  49. package/cjs/common/inversify/syntax/binding_to_syntax.js +1 -0
  50. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +1 -1
  51. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js +1 -0
  52. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js.map +1 -1
  53. package/cjs/common/inversify-lite/bindings/binding.js +14 -0
  54. package/cjs/common/inversify-lite/bindings/binding.js.map +1 -1
  55. package/cjs/common/inversify-lite/container/container.js +22 -46
  56. package/cjs/common/inversify-lite/container/container.js.map +1 -1
  57. package/cjs/common/inversify-lite/container/container_module.js +4 -0
  58. package/cjs/common/inversify-lite/container/container_module.js.map +1 -1
  59. package/cjs/common/inversify-lite/container/lookup.js +1 -0
  60. package/cjs/common/inversify-lite/container/lookup.js.map +1 -1
  61. package/cjs/common/inversify-lite/planning/context.js +4 -0
  62. package/cjs/common/inversify-lite/planning/context.js.map +1 -1
  63. package/cjs/common/inversify-lite/planning/metadata.js +2 -0
  64. package/cjs/common/inversify-lite/planning/metadata.js.map +1 -1
  65. package/cjs/common/inversify-lite/planning/plan.js +2 -0
  66. package/cjs/common/inversify-lite/planning/plan.js.map +1 -1
  67. package/cjs/common/inversify-lite/planning/queryable_string.js +1 -0
  68. package/cjs/common/inversify-lite/planning/queryable_string.js.map +1 -1
  69. package/cjs/common/inversify-lite/planning/request.js +8 -0
  70. package/cjs/common/inversify-lite/planning/request.js.map +1 -1
  71. package/cjs/common/inversify-lite/planning/target.js +7 -0
  72. package/cjs/common/inversify-lite/planning/target.js.map +1 -1
  73. package/cjs/common/inversify-lite/resolution/instantiation.js +16 -42
  74. package/cjs/common/inversify-lite/resolution/instantiation.js.map +1 -1
  75. package/cjs/common/inversify-lite/scope/scope.js +3 -29
  76. package/cjs/common/inversify-lite/scope/scope.js.map +1 -1
  77. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js +1 -0
  78. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js.map +1 -1
  79. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js +3 -0
  80. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +1 -1
  81. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js +1 -0
  82. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js.map +1 -1
  83. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js +1 -0
  84. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js.map +1 -1
  85. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js +2 -0
  86. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js.map +1 -1
  87. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js +1 -0
  88. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js.map +1 -1
  89. package/cjs/common/polygon.js +1 -2
  90. package/cjs/common/polygon.js.map +1 -1
  91. package/cjs/common/render-area.js +2 -3
  92. package/cjs/common/render-area.js.map +1 -1
  93. package/cjs/common/render-curve.js +4 -8
  94. package/cjs/common/render-curve.js.map +1 -1
  95. package/cjs/common/seg-context.js +12 -3
  96. package/cjs/common/seg-context.js.map +1 -1
  97. package/cjs/common/segment/basis.js +13 -0
  98. package/cjs/common/segment/basis.js.map +1 -1
  99. package/cjs/common/segment/common.js +2 -2
  100. package/cjs/common/segment/common.js.map +1 -1
  101. package/cjs/common/segment/curve/arc.js +2 -2
  102. package/cjs/common/segment/curve/arc.js.map +1 -1
  103. package/cjs/common/segment/curve/base.js +4 -0
  104. package/cjs/common/segment/curve/base.js.map +1 -1
  105. package/cjs/common/segment/curve/cubic-bezier.js +2 -2
  106. package/cjs/common/segment/curve/cubic-bezier.js.map +1 -1
  107. package/cjs/common/segment/curve/curve-context.js +4 -0
  108. package/cjs/common/segment/curve/curve-context.js.map +1 -1
  109. package/cjs/common/segment/curve/ellipse.js +3 -3
  110. package/cjs/common/segment/curve/ellipse.js.map +1 -1
  111. package/cjs/common/segment/curve/line.js +2 -1
  112. package/cjs/common/segment/curve/line.js.map +1 -1
  113. package/cjs/common/segment/curve/move.js +2 -1
  114. package/cjs/common/segment/curve/move.js.map +1 -1
  115. package/cjs/common/segment/curve/path.js +2 -0
  116. package/cjs/common/segment/curve/path.js.map +1 -1
  117. package/cjs/common/segment/curve/quadratic-bezier.js +2 -2
  118. package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -1
  119. package/cjs/common/segment/linear-closed.js.map +1 -1
  120. package/cjs/common/segment/linear.js +10 -0
  121. package/cjs/common/segment/linear.js.map +1 -1
  122. package/cjs/common/segment/monotone.js +13 -0
  123. package/cjs/common/segment/monotone.js.map +1 -1
  124. package/cjs/common/segment/step.js +13 -2
  125. package/cjs/common/segment/step.js.map +1 -1
  126. package/cjs/common/sort.js +3 -34
  127. package/cjs/common/sort.js.map +1 -1
  128. package/cjs/common/split-path.js +4 -11
  129. package/cjs/common/split-path.js.map +1 -1
  130. package/cjs/common/utils.d.ts +1 -1
  131. package/cjs/common/utils.js +10 -6
  132. package/cjs/common/utils.js.map +1 -1
  133. package/cjs/common/xml/parser.js +3 -2
  134. package/cjs/common/xml/parser.js.map +1 -1
  135. package/cjs/core/camera.js +11 -4
  136. package/cjs/core/camera.js.map +1 -1
  137. package/cjs/core/contributions/env/base-contribution.js +6 -0
  138. package/cjs/core/contributions/env/base-contribution.js.map +1 -1
  139. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +20 -11
  140. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  141. package/cjs/core/contributions/layerHandler/empty-contribution.js +8 -8
  142. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  143. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +5 -6
  144. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  145. package/cjs/core/contributions/textMeasure/AtextMeasure.js +11 -8
  146. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  147. package/cjs/core/contributions/textMeasure/layout.js +3 -0
  148. package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
  149. package/cjs/core/contributions/window/base-contribution.js +2 -0
  150. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  151. package/cjs/core/global.js +8 -0
  152. package/cjs/core/global.js.map +1 -1
  153. package/cjs/core/graphic-utils.js +16 -5
  154. package/cjs/core/graphic-utils.js.map +1 -1
  155. package/cjs/core/layer-service.js +7 -7
  156. package/cjs/core/layer-service.js.map +1 -1
  157. package/cjs/core/layer.js +7 -9
  158. package/cjs/core/layer.js.map +1 -1
  159. package/cjs/core/stage.js +79 -35
  160. package/cjs/core/stage.js.map +1 -1
  161. package/cjs/core/window.js +16 -13
  162. package/cjs/core/window.js.map +1 -1
  163. package/cjs/event/event-manager.js +152 -143
  164. package/cjs/event/event-manager.js.map +1 -1
  165. package/cjs/event/event-system.js +60 -43
  166. package/cjs/event/event-system.js.map +1 -1
  167. package/cjs/event/event-target.js +1 -3
  168. package/cjs/event/event-target.js.map +1 -1
  169. package/cjs/event/federated-event/base-event.js +43 -15
  170. package/cjs/event/federated-event/base-event.js.map +1 -1
  171. package/cjs/event/federated-event/mouse-event.js +27 -18
  172. package/cjs/event/federated-event/mouse-event.js.map +1 -1
  173. package/cjs/event/federated-event/pointer-event.js +13 -8
  174. package/cjs/event/federated-event/pointer-event.js.map +1 -1
  175. package/cjs/event/federated-event/wheel-event.js +14 -10
  176. package/cjs/event/federated-event/wheel-event.js.map +1 -1
  177. package/cjs/graphic/arc.js +10 -5
  178. package/cjs/graphic/arc.js.map +1 -1
  179. package/cjs/graphic/arc3d.js +7 -4
  180. package/cjs/graphic/arc3d.js.map +1 -1
  181. package/cjs/graphic/area.js +14 -9
  182. package/cjs/graphic/area.js.map +1 -1
  183. package/cjs/graphic/builtin-symbol/arrow.js +2 -3
  184. package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
  185. package/cjs/graphic/builtin-symbol/arrow2-down.js +2 -3
  186. package/cjs/graphic/builtin-symbol/arrow2-down.js.map +1 -1
  187. package/cjs/graphic/builtin-symbol/arrow2-left.js +2 -3
  188. package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  189. package/cjs/graphic/builtin-symbol/arrow2-right.js +2 -3
  190. package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  191. package/cjs/graphic/builtin-symbol/arrow2-up.js +2 -3
  192. package/cjs/graphic/builtin-symbol/arrow2-up.js.map +1 -1
  193. package/cjs/graphic/builtin-symbol/circle.js +2 -3
  194. package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
  195. package/cjs/graphic/builtin-symbol/close.js +2 -3
  196. package/cjs/graphic/builtin-symbol/close.js.map +1 -1
  197. package/cjs/graphic/builtin-symbol/cross.js +2 -3
  198. package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
  199. package/cjs/graphic/builtin-symbol/diamond.js +2 -3
  200. package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
  201. package/cjs/graphic/builtin-symbol/line-h.js +2 -3
  202. package/cjs/graphic/builtin-symbol/line-h.js.map +1 -1
  203. package/cjs/graphic/builtin-symbol/line-v.js +2 -3
  204. package/cjs/graphic/builtin-symbol/line-v.js.map +1 -1
  205. package/cjs/graphic/builtin-symbol/rect.js +2 -3
  206. package/cjs/graphic/builtin-symbol/rect.js.map +1 -1
  207. package/cjs/graphic/builtin-symbol/square.js +2 -3
  208. package/cjs/graphic/builtin-symbol/square.js.map +1 -1
  209. package/cjs/graphic/builtin-symbol/star.js +2 -3
  210. package/cjs/graphic/builtin-symbol/star.js.map +1 -1
  211. package/cjs/graphic/builtin-symbol/stroke.js +2 -3
  212. package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
  213. package/cjs/graphic/builtin-symbol/thin-triangle.js +2 -3
  214. package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  215. package/cjs/graphic/builtin-symbol/triangle-down.js +2 -3
  216. package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
  217. package/cjs/graphic/builtin-symbol/triangle-left.js +2 -3
  218. package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
  219. package/cjs/graphic/builtin-symbol/triangle-right.js +2 -3
  220. package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
  221. package/cjs/graphic/builtin-symbol/triangle-up.js +2 -3
  222. package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
  223. package/cjs/graphic/builtin-symbol/triangle.js +1 -3
  224. package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
  225. package/cjs/graphic/builtin-symbol/utils.js +6 -1
  226. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  227. package/cjs/graphic/builtin-symbol/wedge.js +2 -3
  228. package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
  229. package/cjs/graphic/builtin-symbol/wye.js +2 -3
  230. package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
  231. package/cjs/graphic/circle.js +8 -6
  232. package/cjs/graphic/circle.js.map +1 -1
  233. package/cjs/graphic/config.js +59 -32
  234. package/cjs/graphic/config.js.map +1 -1
  235. package/cjs/graphic/glyph.js +10 -9
  236. package/cjs/graphic/glyph.js.map +1 -1
  237. package/cjs/graphic/graphic-service/graphic-service.js +12 -8
  238. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  239. package/cjs/graphic/graphic.d.ts +1 -0
  240. package/cjs/graphic/graphic.js +32 -42
  241. package/cjs/graphic/graphic.js.map +1 -1
  242. package/cjs/graphic/group.js +9 -5
  243. package/cjs/graphic/group.js.map +1 -1
  244. package/cjs/graphic/image.js +18 -16
  245. package/cjs/graphic/image.js.map +1 -1
  246. package/cjs/graphic/line.js +11 -6
  247. package/cjs/graphic/line.js.map +1 -1
  248. package/cjs/graphic/node-tree.js +25 -44
  249. package/cjs/graphic/node-tree.js.map +1 -1
  250. package/cjs/graphic/path.js +12 -6
  251. package/cjs/graphic/path.js.map +1 -1
  252. package/cjs/graphic/polygon.js +7 -4
  253. package/cjs/graphic/polygon.js.map +1 -1
  254. package/cjs/graphic/pyramid3d.js +4 -3
  255. package/cjs/graphic/pyramid3d.js.map +1 -1
  256. package/cjs/graphic/rect.js +7 -3
  257. package/cjs/graphic/rect.js.map +1 -1
  258. package/cjs/graphic/rect3d.js +5 -4
  259. package/cjs/graphic/rect3d.js.map +1 -1
  260. package/cjs/graphic/richtext/frame.js +19 -0
  261. package/cjs/graphic/richtext/frame.js.map +1 -1
  262. package/cjs/graphic/richtext/icon.js +14 -6
  263. package/cjs/graphic/richtext/icon.js.map +1 -1
  264. package/cjs/graphic/richtext/line.js +14 -2
  265. package/cjs/graphic/richtext/line.js.map +1 -1
  266. package/cjs/graphic/richtext/paragraph.js +22 -0
  267. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  268. package/cjs/graphic/richtext/utils.js +1 -2
  269. package/cjs/graphic/richtext/utils.js.map +1 -1
  270. package/cjs/graphic/richtext/wrapper.js +12 -0
  271. package/cjs/graphic/richtext/wrapper.js.map +1 -1
  272. package/cjs/graphic/richtext.js +38 -45
  273. package/cjs/graphic/richtext.js.map +1 -1
  274. package/cjs/graphic/shadow-root.js +2 -1
  275. package/cjs/graphic/shadow-root.js.map +1 -1
  276. package/cjs/graphic/symbol.js +12 -5
  277. package/cjs/graphic/symbol.js.map +1 -1
  278. package/cjs/graphic/text.js +45 -45
  279. package/cjs/graphic/text.js.map +1 -1
  280. package/cjs/graphic/theme.js +4 -0
  281. package/cjs/graphic/theme.js.map +1 -1
  282. package/cjs/graphic/tools.js +16 -44
  283. package/cjs/graphic/tools.js.map +1 -1
  284. package/cjs/graphic/wrap-text.js +7 -7
  285. package/cjs/graphic/wrap-text.js.map +1 -1
  286. package/cjs/interface/global.d.ts +2 -1
  287. package/cjs/interface/global.js.map +1 -1
  288. package/cjs/interface/graphic.d.ts +1 -0
  289. package/cjs/interface/graphic.js.map +1 -1
  290. package/cjs/picker/global-picker-service.js +1 -0
  291. package/cjs/picker/global-picker-service.js.map +1 -1
  292. package/cjs/picker/pick-interceptor.js +5 -15
  293. package/cjs/picker/pick-interceptor.js.map +1 -1
  294. package/cjs/picker/picker-service.js +5 -5
  295. package/cjs/picker/picker-service.js.map +1 -1
  296. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js +26 -20
  297. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  298. package/cjs/plugins/builtin-plugin/auto-render-plugin.js +5 -4
  299. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  300. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +5 -4
  301. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  302. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js +11 -8
  303. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  304. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +28 -19
  305. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  306. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +12 -8
  307. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  308. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +6 -7
  309. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  310. package/cjs/plugins/plugin-service.js +1 -0
  311. package/cjs/plugins/plugin-service.js.map +1 -1
  312. package/cjs/render/contributions/render/arc-render.js +6 -4
  313. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  314. package/cjs/render/contributions/render/arc3d-render.js +5 -7
  315. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  316. package/cjs/render/contributions/render/area-render.js +21 -23
  317. package/cjs/render/contributions/render/area-render.js.map +1 -1
  318. package/cjs/render/contributions/render/base-render.js +5 -0
  319. package/cjs/render/contributions/render/base-render.js.map +1 -1
  320. package/cjs/render/contributions/render/circle-render.js +6 -4
  321. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  322. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +3 -4
  323. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  324. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js +6 -9
  325. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -1
  326. package/cjs/render/contributions/render/contributions/base-contribution-render.js +10 -8
  327. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  328. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js +4 -4
  329. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
  330. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +3 -4
  331. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  332. package/cjs/render/contributions/render/contributions/group-contribution-render.js +1 -3
  333. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  334. package/cjs/render/contributions/render/contributions/image-contribution-render.js +1 -3
  335. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  336. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +11 -14
  337. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  338. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +3 -4
  339. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  340. package/cjs/render/contributions/render/contributions/text-contribution-render.js +6 -8
  341. package/cjs/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  342. package/cjs/render/contributions/render/draw-contribution.js +12 -14
  343. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  344. package/cjs/render/contributions/render/draw-interceptor.js +11 -21
  345. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  346. package/cjs/render/contributions/render/glyph-render.js +2 -3
  347. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  348. package/cjs/render/contributions/render/graphic-render.js +4 -1
  349. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  350. package/cjs/render/contributions/render/group-render.js +7 -3
  351. package/cjs/render/contributions/render/group-render.js.map +1 -1
  352. package/cjs/render/contributions/render/image-render.js +4 -2
  353. package/cjs/render/contributions/render/image-render.js.map +1 -1
  354. package/cjs/render/contributions/render/incremental-area-render.js +1 -3
  355. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  356. package/cjs/render/contributions/render/incremental-draw-contribution.js +80 -109
  357. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  358. package/cjs/render/contributions/render/incremental-line-render.js +1 -3
  359. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  360. package/cjs/render/contributions/render/line-render.js +12 -16
  361. package/cjs/render/contributions/render/line-render.js.map +1 -1
  362. package/cjs/render/contributions/render/path-render.js +8 -7
  363. package/cjs/render/contributions/render/path-render.js.map +1 -1
  364. package/cjs/render/contributions/render/polygon-render.js +6 -4
  365. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  366. package/cjs/render/contributions/render/pyramid3d-render.js +3 -5
  367. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  368. package/cjs/render/contributions/render/rect-render.js +8 -7
  369. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  370. package/cjs/render/contributions/render/rect3d-render.js +5 -7
  371. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  372. package/cjs/render/contributions/render/richtext-render.js +4 -3
  373. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  374. package/cjs/render/contributions/render/symbol-render.js +11 -14
  375. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  376. package/cjs/render/contributions/render/text-render.js +8 -8
  377. package/cjs/render/contributions/render/text-render.js.map +1 -1
  378. package/cjs/render/contributions/render/utils.js +1 -1
  379. package/cjs/render/contributions/render/utils.js.map +1 -1
  380. package/cjs/render/render-service.js +11 -2
  381. package/cjs/render/render-service.js.map +1 -1
  382. package/cjs/resource-loader/loader.js +13 -16
  383. package/cjs/resource-loader/loader.js.map +1 -1
  384. package/cjs/tapable/Hook.js +3 -0
  385. package/cjs/tapable/Hook.js.map +1 -1
  386. package/dist/index.es.js +28908 -0
  387. package/es/allocator/bounds-allocate.js +1 -1
  388. package/es/allocator/bounds-allocate.js.map +1 -1
  389. package/es/allocator/canvas-allocate.js +11 -9
  390. package/es/allocator/canvas-allocate.js.map +1 -1
  391. package/es/allocator/graphic-allocate.js +5 -9
  392. package/es/allocator/graphic-allocate.js.map +1 -1
  393. package/es/allocator/matrix-allocate.js +2 -6
  394. package/es/allocator/matrix-allocate.js.map +1 -1
  395. package/es/animate/Ticker/default-ticker.js +25 -14
  396. package/es/animate/Ticker/default-ticker.js.map +1 -1
  397. package/es/animate/animate.js +7 -8
  398. package/es/animate/animate.js.map +1 -1
  399. package/es/animate/custom-animate.js +52 -50
  400. package/es/animate/custom-animate.js.map +1 -1
  401. package/es/animate/easing.js +18 -8
  402. package/es/animate/easing.js.map +1 -1
  403. package/es/animate/morphing.js +20 -23
  404. package/es/animate/morphing.js.map +1 -1
  405. package/es/application.js +7 -1
  406. package/es/application.js.map +1 -1
  407. package/es/canvas/conical-gradient.js +12 -6
  408. package/es/canvas/conical-gradient.js.map +1 -1
  409. package/es/canvas/contributions/base-canvas.js +19 -7
  410. package/es/canvas/contributions/base-canvas.js.map +1 -1
  411. package/es/color-string/interpolate.js +5 -3
  412. package/es/color-string/interpolate.js.map +1 -1
  413. package/es/color-string/store.js +2 -2
  414. package/es/color-string/store.js.map +1 -1
  415. package/es/common/bounds-context.js +1 -0
  416. package/es/common/bounds-context.js.map +1 -1
  417. package/es/common/canvas-utils.js +3 -6
  418. package/es/common/canvas-utils.js.map +1 -1
  419. package/es/common/contribution-provider.js +3 -0
  420. package/es/common/contribution-provider.js.map +1 -1
  421. package/es/common/custom-path2d.js +7 -1
  422. package/es/common/custom-path2d.js.map +1 -1
  423. package/es/common/generator.js +1 -2
  424. package/es/common/generator.js.map +1 -1
  425. package/es/common/inversify/binding.js +12 -0
  426. package/es/common/inversify/binding.js.map +1 -1
  427. package/es/common/inversify/container.js +4 -0
  428. package/es/common/inversify/container.js.map +1 -1
  429. package/es/common/inversify/cotainer-module.js +2 -0
  430. package/es/common/inversify/cotainer-module.js.map +1 -1
  431. package/es/common/inversify/meta-data.js +2 -0
  432. package/es/common/inversify/meta-data.js.map +1 -1
  433. package/es/common/inversify/syntax/binding_in_syntax.js +1 -0
  434. package/es/common/inversify/syntax/binding_in_syntax.js.map +1 -1
  435. package/es/common/inversify/syntax/binding_to_syntax.js +1 -0
  436. package/es/common/inversify/syntax/binding_to_syntax.js.map +1 -1
  437. package/es/common/inversify-lite/annotation/lazy_service_identifier.js +1 -0
  438. package/es/common/inversify-lite/annotation/lazy_service_identifier.js.map +1 -1
  439. package/es/common/inversify-lite/bindings/binding.js +14 -0
  440. package/es/common/inversify-lite/bindings/binding.js.map +1 -1
  441. package/es/common/inversify-lite/container/container.js +22 -48
  442. package/es/common/inversify-lite/container/container.js.map +1 -1
  443. package/es/common/inversify-lite/container/container_module.js +4 -0
  444. package/es/common/inversify-lite/container/container_module.js.map +1 -1
  445. package/es/common/inversify-lite/container/lookup.js +1 -0
  446. package/es/common/inversify-lite/container/lookup.js.map +1 -1
  447. package/es/common/inversify-lite/planning/context.js +4 -0
  448. package/es/common/inversify-lite/planning/context.js.map +1 -1
  449. package/es/common/inversify-lite/planning/metadata.js +2 -0
  450. package/es/common/inversify-lite/planning/metadata.js.map +1 -1
  451. package/es/common/inversify-lite/planning/plan.js +2 -0
  452. package/es/common/inversify-lite/planning/plan.js.map +1 -1
  453. package/es/common/inversify-lite/planning/queryable_string.js +1 -0
  454. package/es/common/inversify-lite/planning/queryable_string.js.map +1 -1
  455. package/es/common/inversify-lite/planning/request.js +8 -0
  456. package/es/common/inversify-lite/planning/request.js.map +1 -1
  457. package/es/common/inversify-lite/planning/target.js +7 -0
  458. package/es/common/inversify-lite/planning/target.js.map +1 -1
  459. package/es/common/inversify-lite/resolution/instantiation.js +16 -44
  460. package/es/common/inversify-lite/resolution/instantiation.js.map +1 -1
  461. package/es/common/inversify-lite/scope/scope.js +3 -29
  462. package/es/common/inversify-lite/scope/scope.js.map +1 -1
  463. package/es/common/inversify-lite/syntax/binding_in_syntax.js +1 -0
  464. package/es/common/inversify-lite/syntax/binding_in_syntax.js.map +1 -1
  465. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js +3 -0
  466. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +1 -1
  467. package/es/common/inversify-lite/syntax/binding_on_syntax.js +1 -0
  468. package/es/common/inversify-lite/syntax/binding_on_syntax.js.map +1 -1
  469. package/es/common/inversify-lite/syntax/binding_to_syntax.js +1 -0
  470. package/es/common/inversify-lite/syntax/binding_to_syntax.js.map +1 -1
  471. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js +2 -0
  472. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js.map +1 -1
  473. package/es/common/inversify-lite/syntax/binding_when_syntax.js +1 -0
  474. package/es/common/inversify-lite/syntax/binding_when_syntax.js.map +1 -1
  475. package/es/common/polygon.js +1 -2
  476. package/es/common/polygon.js.map +1 -1
  477. package/es/common/render-area.js +2 -3
  478. package/es/common/render-area.js.map +1 -1
  479. package/es/common/render-curve.js +4 -8
  480. package/es/common/render-curve.js.map +1 -1
  481. package/es/common/seg-context.js +12 -3
  482. package/es/common/seg-context.js.map +1 -1
  483. package/es/common/segment/basis.js +13 -0
  484. package/es/common/segment/basis.js.map +1 -1
  485. package/es/common/segment/common.js +1 -1
  486. package/es/common/segment/common.js.map +1 -1
  487. package/es/common/segment/curve/arc.js +2 -1
  488. package/es/common/segment/curve/arc.js.map +1 -1
  489. package/es/common/segment/curve/base.js +4 -0
  490. package/es/common/segment/curve/base.js.map +1 -1
  491. package/es/common/segment/curve/cubic-bezier.js +2 -2
  492. package/es/common/segment/curve/cubic-bezier.js.map +1 -1
  493. package/es/common/segment/curve/curve-context.js +4 -0
  494. package/es/common/segment/curve/curve-context.js.map +1 -1
  495. package/es/common/segment/curve/ellipse.js +3 -3
  496. package/es/common/segment/curve/ellipse.js.map +1 -1
  497. package/es/common/segment/curve/line.js +2 -1
  498. package/es/common/segment/curve/line.js.map +1 -1
  499. package/es/common/segment/curve/move.js +2 -1
  500. package/es/common/segment/curve/move.js.map +1 -1
  501. package/es/common/segment/curve/path.js +2 -0
  502. package/es/common/segment/curve/path.js.map +1 -1
  503. package/es/common/segment/curve/quadratic-bezier.js +2 -2
  504. package/es/common/segment/curve/quadratic-bezier.js.map +1 -1
  505. package/es/common/segment/linear-closed.js.map +1 -1
  506. package/es/common/segment/linear.js +10 -0
  507. package/es/common/segment/linear.js.map +1 -1
  508. package/es/common/segment/monotone.js +13 -0
  509. package/es/common/segment/monotone.js.map +1 -1
  510. package/es/common/segment/step.js +12 -1
  511. package/es/common/segment/step.js.map +1 -1
  512. package/es/common/sort.js +3 -34
  513. package/es/common/sort.js.map +1 -1
  514. package/es/common/split-path.js +4 -11
  515. package/es/common/split-path.js.map +1 -1
  516. package/es/common/utils.d.ts +1 -1
  517. package/es/common/utils.js +9 -7
  518. package/es/common/utils.js.map +1 -1
  519. package/es/common/xml/parser.js +2 -2
  520. package/es/common/xml/parser.js.map +1 -1
  521. package/es/core/camera.js +11 -4
  522. package/es/core/camera.js.map +1 -1
  523. package/es/core/contributions/env/base-contribution.js +6 -0
  524. package/es/core/contributions/env/base-contribution.js.map +1 -1
  525. package/es/core/contributions/layerHandler/canvas2d-contribution.js +20 -11
  526. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  527. package/es/core/contributions/layerHandler/empty-contribution.js +8 -8
  528. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  529. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +5 -6
  530. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  531. package/es/core/contributions/textMeasure/AtextMeasure.js +11 -8
  532. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  533. package/es/core/contributions/textMeasure/layout.js +3 -0
  534. package/es/core/contributions/textMeasure/layout.js.map +1 -1
  535. package/es/core/contributions/window/base-contribution.js +2 -0
  536. package/es/core/contributions/window/base-contribution.js.map +1 -1
  537. package/es/core/global.js +8 -0
  538. package/es/core/global.js.map +1 -1
  539. package/es/core/graphic-utils.js +16 -5
  540. package/es/core/graphic-utils.js.map +1 -1
  541. package/es/core/layer-service.js +7 -7
  542. package/es/core/layer-service.js.map +1 -1
  543. package/es/core/layer.js +7 -9
  544. package/es/core/layer.js.map +1 -1
  545. package/es/core/stage.js +79 -35
  546. package/es/core/stage.js.map +1 -1
  547. package/es/core/window.js +16 -14
  548. package/es/core/window.js.map +1 -1
  549. package/es/event/event-manager.js +152 -143
  550. package/es/event/event-manager.js.map +1 -1
  551. package/es/event/event-system.js +60 -43
  552. package/es/event/event-system.js.map +1 -1
  553. package/es/event/event-target.js +1 -3
  554. package/es/event/event-target.js.map +1 -1
  555. package/es/event/federated-event/base-event.js +43 -15
  556. package/es/event/federated-event/base-event.js.map +1 -1
  557. package/es/event/federated-event/mouse-event.js +27 -18
  558. package/es/event/federated-event/mouse-event.js.map +1 -1
  559. package/es/event/federated-event/pointer-event.js +13 -8
  560. package/es/event/federated-event/pointer-event.js.map +1 -1
  561. package/es/event/federated-event/wheel-event.js +13 -11
  562. package/es/event/federated-event/wheel-event.js.map +1 -1
  563. package/es/graphic/arc.js +9 -6
  564. package/es/graphic/arc.js.map +1 -1
  565. package/es/graphic/arc3d.js +6 -5
  566. package/es/graphic/arc3d.js.map +1 -1
  567. package/es/graphic/area.js +13 -10
  568. package/es/graphic/area.js.map +1 -1
  569. package/es/graphic/builtin-symbol/arrow.js +2 -3
  570. package/es/graphic/builtin-symbol/arrow.js.map +1 -1
  571. package/es/graphic/builtin-symbol/arrow2-down.js +2 -3
  572. package/es/graphic/builtin-symbol/arrow2-down.js.map +1 -1
  573. package/es/graphic/builtin-symbol/arrow2-left.js +2 -3
  574. package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  575. package/es/graphic/builtin-symbol/arrow2-right.js +2 -3
  576. package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  577. package/es/graphic/builtin-symbol/arrow2-up.js +2 -3
  578. package/es/graphic/builtin-symbol/arrow2-up.js.map +1 -1
  579. package/es/graphic/builtin-symbol/circle.js +2 -3
  580. package/es/graphic/builtin-symbol/circle.js.map +1 -1
  581. package/es/graphic/builtin-symbol/close.js +2 -3
  582. package/es/graphic/builtin-symbol/close.js.map +1 -1
  583. package/es/graphic/builtin-symbol/cross.js +2 -3
  584. package/es/graphic/builtin-symbol/cross.js.map +1 -1
  585. package/es/graphic/builtin-symbol/diamond.js +2 -3
  586. package/es/graphic/builtin-symbol/diamond.js.map +1 -1
  587. package/es/graphic/builtin-symbol/line-h.js +2 -3
  588. package/es/graphic/builtin-symbol/line-h.js.map +1 -1
  589. package/es/graphic/builtin-symbol/line-v.js +2 -3
  590. package/es/graphic/builtin-symbol/line-v.js.map +1 -1
  591. package/es/graphic/builtin-symbol/rect.js +2 -3
  592. package/es/graphic/builtin-symbol/rect.js.map +1 -1
  593. package/es/graphic/builtin-symbol/square.js +2 -3
  594. package/es/graphic/builtin-symbol/square.js.map +1 -1
  595. package/es/graphic/builtin-symbol/star.js +2 -3
  596. package/es/graphic/builtin-symbol/star.js.map +1 -1
  597. package/es/graphic/builtin-symbol/stroke.js +2 -3
  598. package/es/graphic/builtin-symbol/stroke.js.map +1 -1
  599. package/es/graphic/builtin-symbol/thin-triangle.js +2 -3
  600. package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  601. package/es/graphic/builtin-symbol/triangle-down.js +2 -3
  602. package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
  603. package/es/graphic/builtin-symbol/triangle-left.js +2 -3
  604. package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
  605. package/es/graphic/builtin-symbol/triangle-right.js +2 -3
  606. package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
  607. package/es/graphic/builtin-symbol/triangle-up.js +2 -3
  608. package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
  609. package/es/graphic/builtin-symbol/triangle.js +1 -3
  610. package/es/graphic/builtin-symbol/triangle.js.map +1 -1
  611. package/es/graphic/builtin-symbol/utils.js +6 -2
  612. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  613. package/es/graphic/builtin-symbol/wedge.js +2 -3
  614. package/es/graphic/builtin-symbol/wedge.js.map +1 -1
  615. package/es/graphic/builtin-symbol/wye.js +2 -3
  616. package/es/graphic/builtin-symbol/wye.js.map +1 -1
  617. package/es/graphic/circle.js +7 -6
  618. package/es/graphic/circle.js.map +1 -1
  619. package/es/graphic/config.js +73 -44
  620. package/es/graphic/config.js.map +1 -1
  621. package/es/graphic/glyph.js +9 -9
  622. package/es/graphic/glyph.js.map +1 -1
  623. package/es/graphic/graphic-service/graphic-service.js +12 -8
  624. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  625. package/es/graphic/graphic.d.ts +1 -0
  626. package/es/graphic/graphic.js +32 -42
  627. package/es/graphic/graphic.js.map +1 -1
  628. package/es/graphic/group.js +8 -5
  629. package/es/graphic/group.js.map +1 -1
  630. package/es/graphic/image.js +17 -16
  631. package/es/graphic/image.js.map +1 -1
  632. package/es/graphic/line.js +10 -7
  633. package/es/graphic/line.js.map +1 -1
  634. package/es/graphic/node-tree.js +25 -44
  635. package/es/graphic/node-tree.js.map +1 -1
  636. package/es/graphic/path.js +11 -7
  637. package/es/graphic/path.js.map +1 -1
  638. package/es/graphic/polygon.js +6 -4
  639. package/es/graphic/polygon.js.map +1 -1
  640. package/es/graphic/pyramid3d.js +3 -3
  641. package/es/graphic/pyramid3d.js.map +1 -1
  642. package/es/graphic/rect.js +6 -4
  643. package/es/graphic/rect.js.map +1 -1
  644. package/es/graphic/rect3d.js +4 -4
  645. package/es/graphic/rect3d.js.map +1 -1
  646. package/es/graphic/richtext/frame.js +19 -0
  647. package/es/graphic/richtext/frame.js.map +1 -1
  648. package/es/graphic/richtext/icon.js +14 -6
  649. package/es/graphic/richtext/icon.js.map +1 -1
  650. package/es/graphic/richtext/line.js +14 -2
  651. package/es/graphic/richtext/line.js.map +1 -1
  652. package/es/graphic/richtext/paragraph.js +22 -0
  653. package/es/graphic/richtext/paragraph.js.map +1 -1
  654. package/es/graphic/richtext/utils.js +1 -2
  655. package/es/graphic/richtext/utils.js.map +1 -1
  656. package/es/graphic/richtext/wrapper.js +12 -0
  657. package/es/graphic/richtext/wrapper.js.map +1 -1
  658. package/es/graphic/richtext.js +37 -46
  659. package/es/graphic/richtext.js.map +1 -1
  660. package/es/graphic/shadow-root.js +2 -1
  661. package/es/graphic/shadow-root.js.map +1 -1
  662. package/es/graphic/symbol.js +11 -6
  663. package/es/graphic/symbol.js.map +1 -1
  664. package/es/graphic/text.js +39 -40
  665. package/es/graphic/text.js.map +1 -1
  666. package/es/graphic/theme.js +4 -0
  667. package/es/graphic/theme.js.map +1 -1
  668. package/es/graphic/tools.js +16 -44
  669. package/es/graphic/tools.js.map +1 -1
  670. package/es/graphic/wrap-text.js +6 -6
  671. package/es/graphic/wrap-text.js.map +1 -1
  672. package/es/interface/global.d.ts +2 -1
  673. package/es/interface/global.js.map +1 -1
  674. package/es/interface/graphic.d.ts +1 -0
  675. package/es/interface/graphic.js.map +1 -1
  676. package/es/picker/global-picker-service.js +1 -0
  677. package/es/picker/global-picker-service.js.map +1 -1
  678. package/es/picker/pick-interceptor.js +5 -15
  679. package/es/picker/pick-interceptor.js.map +1 -1
  680. package/es/picker/picker-service.js +5 -5
  681. package/es/picker/picker-service.js.map +1 -1
  682. package/es/plugins/builtin-plugin/3dview-transform-plugin.js +26 -20
  683. package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  684. package/es/plugins/builtin-plugin/auto-render-plugin.js +5 -4
  685. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  686. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +5 -4
  687. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  688. package/es/plugins/builtin-plugin/flex-layout-plugin.js +11 -8
  689. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  690. package/es/plugins/builtin-plugin/html-attribute-plugin.js +28 -17
  691. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  692. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +12 -8
  693. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  694. package/es/plugins/builtin-plugin/react-attribute-plugin.js +6 -6
  695. package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  696. package/es/plugins/plugin-service.js +1 -0
  697. package/es/plugins/plugin-service.js.map +1 -1
  698. package/es/render/contributions/render/arc-render.js +6 -4
  699. package/es/render/contributions/render/arc-render.js.map +1 -1
  700. package/es/render/contributions/render/arc3d-render.js +5 -7
  701. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  702. package/es/render/contributions/render/area-render.js +21 -23
  703. package/es/render/contributions/render/area-render.js.map +1 -1
  704. package/es/render/contributions/render/base-render.js +5 -0
  705. package/es/render/contributions/render/base-render.js.map +1 -1
  706. package/es/render/contributions/render/circle-render.js +6 -4
  707. package/es/render/contributions/render/circle-render.js.map +1 -1
  708. package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -3
  709. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  710. package/es/render/contributions/render/contributions/area-texture-contribution-render.js +2 -5
  711. package/es/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -1
  712. package/es/render/contributions/render/contributions/base-contribution-render.js +10 -7
  713. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  714. package/es/render/contributions/render/contributions/base-texture-contribution-render.js +4 -3
  715. package/es/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
  716. package/es/render/contributions/render/contributions/circle-contribution-render.js +3 -3
  717. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  718. package/es/render/contributions/render/contributions/group-contribution-render.js +1 -3
  719. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  720. package/es/render/contributions/render/contributions/image-contribution-render.js +1 -3
  721. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  722. package/es/render/contributions/render/contributions/rect-contribution-render.js +11 -11
  723. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  724. package/es/render/contributions/render/contributions/symbol-contribution-render.js +3 -3
  725. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  726. package/es/render/contributions/render/contributions/text-contribution-render.js +6 -8
  727. package/es/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  728. package/es/render/contributions/render/draw-contribution.js +12 -14
  729. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  730. package/es/render/contributions/render/draw-interceptor.js +11 -21
  731. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  732. package/es/render/contributions/render/glyph-render.js +2 -3
  733. package/es/render/contributions/render/glyph-render.js.map +1 -1
  734. package/es/render/contributions/render/graphic-render.js +4 -1
  735. package/es/render/contributions/render/graphic-render.js.map +1 -1
  736. package/es/render/contributions/render/group-render.js +7 -3
  737. package/es/render/contributions/render/group-render.js.map +1 -1
  738. package/es/render/contributions/render/image-render.js +5 -2
  739. package/es/render/contributions/render/image-render.js.map +1 -1
  740. package/es/render/contributions/render/incremental-area-render.js +1 -3
  741. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  742. package/es/render/contributions/render/incremental-draw-contribution.js +80 -109
  743. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  744. package/es/render/contributions/render/incremental-line-render.js +1 -3
  745. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  746. package/es/render/contributions/render/line-render.js +12 -16
  747. package/es/render/contributions/render/line-render.js.map +1 -1
  748. package/es/render/contributions/render/path-render.js +8 -6
  749. package/es/render/contributions/render/path-render.js.map +1 -1
  750. package/es/render/contributions/render/polygon-render.js +6 -4
  751. package/es/render/contributions/render/polygon-render.js.map +1 -1
  752. package/es/render/contributions/render/pyramid3d-render.js +3 -5
  753. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  754. package/es/render/contributions/render/rect-render.js +8 -6
  755. package/es/render/contributions/render/rect-render.js.map +1 -1
  756. package/es/render/contributions/render/rect3d-render.js +5 -7
  757. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  758. package/es/render/contributions/render/richtext-render.js +4 -3
  759. package/es/render/contributions/render/richtext-render.js.map +1 -1
  760. package/es/render/contributions/render/symbol-render.js +11 -14
  761. package/es/render/contributions/render/symbol-render.js.map +1 -1
  762. package/es/render/contributions/render/text-render.js +9 -8
  763. package/es/render/contributions/render/text-render.js.map +1 -1
  764. package/es/render/contributions/render/utils.js +1 -1
  765. package/es/render/contributions/render/utils.js.map +1 -1
  766. package/es/render/render-service.js +11 -2
  767. package/es/render/render-service.js.map +1 -1
  768. package/es/resource-loader/loader.js +12 -17
  769. package/es/resource-loader/loader.js.map +1 -1
  770. package/es/tapable/Hook.js +3 -0
  771. package/es/tapable/Hook.js.map +1 -1
  772. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/planning/request.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AAEjC,MAAM,OAAO;IAUX,YACE,iBAA+C,EAC/C,aAAiC,EACjC,aAAwC,EACxC,QAA6D,EAC7D,MAAyB;QAEzB,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAGhE,IAAI,CAAC,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,eAAe,CACb,iBAA+C,EAC/C,QAAqE,EACrE,MAAyB;QAEzB,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAEQ,0BAAO","file":"request.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\nimport { id } from '../utils/id';\n\nclass Request implements interfaces.Request {\n id: number;\n serviceIdentifier: interfaces.ServiceIdentifier;\n parentContext: interfaces.Context;\n parentRequest: interfaces.Request | null;\n bindings: interfaces.Binding<unknown>[];\n childRequests: interfaces.Request[];\n target: interfaces.Target;\n requestScope: interfaces.RequestScope | null;\n\n constructor(\n serviceIdentifier: interfaces.ServiceIdentifier,\n parentContext: interfaces.Context,\n parentRequest: interfaces.Request | null,\n bindings: interfaces.Binding<any> | interfaces.Binding<any>[],\n target: interfaces.Target\n ) {\n this.id = id();\n this.serviceIdentifier = serviceIdentifier;\n this.parentContext = parentContext;\n this.parentRequest = parentRequest;\n this.target = target;\n this.childRequests = [];\n this.bindings = Array.isArray(bindings) ? bindings : [bindings];\n\n // Set requestScope if Request is the root request\n this.requestScope = parentRequest === null ? new Map() : null;\n }\n\n addChildRequest(\n serviceIdentifier: interfaces.ServiceIdentifier,\n bindings: interfaces.Binding<unknown> | interfaces.Binding<unknown>[],\n target: interfaces.Target\n ): interfaces.Request {\n const child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);\n this.childRequests.push(child);\n return child;\n }\n}\n\nexport { Request };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/planning/request.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AAEjC,MAAM,OAAO;IACX,EAAE,CAAS;IACX,iBAAiB,CAA+B;IAChD,aAAa,CAAqB;IAClC,aAAa,CAA4B;IACzC,QAAQ,CAAgC;IACxC,aAAa,CAAuB;IACpC,MAAM,CAAoB;IAC1B,YAAY,CAAiC;IAE7C,YACE,iBAA+C,EAC/C,aAAiC,EACjC,aAAwC,EACxC,QAA6D,EAC7D,MAAyB;QAEzB,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAGhE,IAAI,CAAC,YAAY,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,eAAe,CACb,iBAA+C,EAC/C,QAAqE,EACrE,MAAyB;QAEzB,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAEQ,0BAAO","file":"request.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\nimport { id } from '../utils/id';\n\nclass Request implements interfaces.Request {\n id: number;\n serviceIdentifier: interfaces.ServiceIdentifier;\n parentContext: interfaces.Context;\n parentRequest: interfaces.Request | null;\n bindings: interfaces.Binding<unknown>[];\n childRequests: interfaces.Request[];\n target: interfaces.Target;\n requestScope: interfaces.RequestScope | null;\n\n constructor(\n serviceIdentifier: interfaces.ServiceIdentifier,\n parentContext: interfaces.Context,\n parentRequest: interfaces.Request | null,\n bindings: interfaces.Binding<any> | interfaces.Binding<any>[],\n target: interfaces.Target\n ) {\n this.id = id();\n this.serviceIdentifier = serviceIdentifier;\n this.parentContext = parentContext;\n this.parentRequest = parentRequest;\n this.target = target;\n this.childRequests = [];\n this.bindings = Array.isArray(bindings) ? bindings : [bindings];\n\n // Set requestScope if Request is the root request\n this.requestScope = parentRequest === null ? new Map() : null;\n }\n\n addChildRequest(\n serviceIdentifier: interfaces.ServiceIdentifier,\n bindings: interfaces.Binding<unknown> | interfaces.Binding<unknown>[],\n target: interfaces.Target\n ): interfaces.Request {\n const child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);\n this.childRequests.push(child);\n return child;\n }\n}\n\nexport { Request };\n"]}
@@ -32,6 +32,13 @@ Object.defineProperty(exports, "__esModule", {
32
32
  const METADATA_KEY = __importStar(require("../constants/metadata_keys")), id_1 = require("../utils/id"), serialization_1 = require("../utils/serialization"), metadata_1 = require("./metadata"), queryable_string_1 = require("./queryable_string");
33
33
 
34
34
  class Target {
35
+ id;
36
+ type;
37
+ serviceIdentifier;
38
+ name;
39
+ identifier;
40
+ key;
41
+ metadata;
35
42
  constructor(type, identifier, serviceIdentifier, namedOrTagged) {
36
43
  this.id = (0, id_1.id)(), this.type = type, this.serviceIdentifier = serviceIdentifier;
37
44
  const queryableName = "symbol" == typeof identifier ? (0, serialization_1.getSymbolDescription)(identifier) : identifier;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/planning/target.ts"],"names":[],"mappings":"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","file":"target.js","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { id } from '../utils/id';\nimport { getSymbolDescription } from '../utils/serialization';\nimport { Metadata } from './metadata';\nimport { QueryableString } from './queryable_string';\n\nclass Target implements interfaces.Target {\n id: number;\n type: interfaces.TargetType;\n serviceIdentifier: interfaces.ServiceIdentifier;\n name: interfaces.QueryableString;\n identifier: string | symbol;\n key!: string | symbol;\n metadata!: Metadata[];\n\n constructor(\n type: interfaces.TargetType,\n identifier: string | symbol,\n serviceIdentifier: interfaces.ServiceIdentifier,\n namedOrTagged?: string | Metadata\n ) {\n this.id = id();\n this.type = type;\n this.serviceIdentifier = serviceIdentifier;\n const queryableName = typeof identifier === 'symbol' ? getSymbolDescription(identifier) : identifier;\n this.name = new QueryableString(queryableName || '');\n this.identifier = identifier;\n this.metadata = [];\n\n let metadataItem: interfaces.Metadata | null = null;\n\n // is named target\n if (typeof namedOrTagged === 'string') {\n metadataItem = new Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);\n } else if (namedOrTagged instanceof Metadata) {\n // is target with metadata\n metadataItem = namedOrTagged;\n }\n\n // target has metadata\n if (metadataItem !== null) {\n this.metadata.push(metadataItem);\n }\n }\n\n hasTag(key: string): boolean {\n for (const m of this.metadata) {\n if (m.key === key) {\n return true;\n }\n }\n return false;\n }\n\n isArray(): boolean {\n return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);\n }\n\n matchesArray(name: interfaces.ServiceIdentifier<unknown>): boolean {\n return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);\n }\n\n isNamed(): boolean {\n return this.hasTag(METADATA_KEY.NAMED_TAG);\n }\n\n isTagged(): boolean {\n return this.metadata.some(metadata => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(key => metadata.key !== key));\n }\n\n isOptional(): boolean {\n return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);\n }\n\n getNamedTag(): interfaces.Metadata<string> | null {\n if (this.isNamed()) {\n return this.metadata.filter(m => m.key === METADATA_KEY.NAMED_TAG)[0] as interfaces.Metadata<string>;\n }\n return null;\n }\n\n getCustomTags(): interfaces.Metadata[] | null {\n if (this.isTagged()) {\n return this.metadata.filter(metadata => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(key => metadata.key !== key));\n }\n return null;\n }\n\n matchesNamedTag(name: string): boolean {\n return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);\n }\n\n matchesTag(key: string) {\n return (value: unknown) => {\n for (const m of this.metadata) {\n if (m.key === key && m.value === value) {\n return true;\n }\n }\n return false;\n };\n }\n}\n\nexport { Target };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/planning/target.ts"],"names":[],"mappings":"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","file":"target.js","sourcesContent":["import * as METADATA_KEY from '../constants/metadata_keys';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { id } from '../utils/id';\nimport { getSymbolDescription } from '../utils/serialization';\nimport { Metadata } from './metadata';\nimport { QueryableString } from './queryable_string';\n\nclass Target implements interfaces.Target {\n id: number;\n type: interfaces.TargetType;\n serviceIdentifier: interfaces.ServiceIdentifier;\n name: interfaces.QueryableString;\n identifier: string | symbol;\n key!: string | symbol;\n metadata!: Metadata[];\n\n constructor(\n type: interfaces.TargetType,\n identifier: string | symbol,\n serviceIdentifier: interfaces.ServiceIdentifier,\n namedOrTagged?: string | Metadata\n ) {\n this.id = id();\n this.type = type;\n this.serviceIdentifier = serviceIdentifier;\n const queryableName = typeof identifier === 'symbol' ? getSymbolDescription(identifier) : identifier;\n this.name = new QueryableString(queryableName || '');\n this.identifier = identifier;\n this.metadata = [];\n\n let metadataItem: interfaces.Metadata | null = null;\n\n // is named target\n if (typeof namedOrTagged === 'string') {\n metadataItem = new Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);\n } else if (namedOrTagged instanceof Metadata) {\n // is target with metadata\n metadataItem = namedOrTagged;\n }\n\n // target has metadata\n if (metadataItem !== null) {\n this.metadata.push(metadataItem);\n }\n }\n\n hasTag(key: string): boolean {\n for (const m of this.metadata) {\n if (m.key === key) {\n return true;\n }\n }\n return false;\n }\n\n isArray(): boolean {\n return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);\n }\n\n matchesArray(name: interfaces.ServiceIdentifier<unknown>): boolean {\n return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);\n }\n\n isNamed(): boolean {\n return this.hasTag(METADATA_KEY.NAMED_TAG);\n }\n\n isTagged(): boolean {\n return this.metadata.some(metadata => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(key => metadata.key !== key));\n }\n\n isOptional(): boolean {\n return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);\n }\n\n getNamedTag(): interfaces.Metadata<string> | null {\n if (this.isNamed()) {\n return this.metadata.filter(m => m.key === METADATA_KEY.NAMED_TAG)[0] as interfaces.Metadata<string>;\n }\n return null;\n }\n\n getCustomTags(): interfaces.Metadata[] | null {\n if (this.isTagged()) {\n return this.metadata.filter(metadata => METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(key => metadata.key !== key));\n }\n return null;\n }\n\n matchesNamedTag(name: string): boolean {\n return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);\n }\n\n matchesTag(key: string) {\n return (value: unknown) => {\n for (const m of this.metadata) {\n if (m.key === key && m.value === value) {\n return true;\n }\n }\n return false;\n };\n }\n}\n\nexport { Target };\n"]}
@@ -23,30 +23,6 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
23
23
  var result = {};
24
24
  if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
25
25
  return __setModuleDefault(result, mod), result;
26
- }, __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
27
- return new (P || (P = Promise))((function(resolve, reject) {
28
- function fulfilled(value) {
29
- try {
30
- step(generator.next(value));
31
- } catch (e) {
32
- reject(e);
33
- }
34
- }
35
- function rejected(value) {
36
- try {
37
- step(generator.throw(value));
38
- } catch (e) {
39
- reject(e);
40
- }
41
- }
42
- function step(result) {
43
- var value;
44
- result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P((function(resolve) {
45
- resolve(value);
46
- }))).then(fulfilled, rejected);
47
- }
48
- step((generator = generator.apply(thisArg, _arguments || [])).next());
49
- }));
50
26
  }, __importDefault = this && this.__importDefault || function(mod) {
51
27
  return mod && mod.__esModule ? mod : {
52
28
  default: mod
@@ -76,9 +52,10 @@ function _resolveRequests(childRequests, resolveRequest) {
76
52
  function _createInstance(constr, childRequests, resolveRequest) {
77
53
  let result;
78
54
  if (childRequests.length > 0) {
79
- const resolved = _resolveRequests(childRequests, resolveRequest), createInstanceWithInjectionsArg = Object.assign(Object.assign({}, resolved), {
55
+ const resolved = _resolveRequests(childRequests, resolveRequest), createInstanceWithInjectionsArg = {
56
+ ...resolved,
80
57
  constr: constr
81
- });
58
+ };
82
59
  result = resolved.isAsync ? createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg) : createInstanceWithInjections(createInstanceWithInjectionsArg);
83
60
  } else result = new constr;
84
61
  return result;
@@ -92,22 +69,19 @@ function createInstanceWithInjections(args) {
92
69
  })), instance;
93
70
  }
94
71
 
95
- function createInstanceWithInjectionsAsync(args) {
96
- return __awaiter(this, void 0, void 0, (function*() {
97
- const constructorInjections = yield possiblyWaitInjections(args.constructorInjections), propertyInjections = yield possiblyWaitInjections(args.propertyInjections);
98
- return createInstanceWithInjections(Object.assign(Object.assign({}, args), {
99
- constructorInjections: constructorInjections,
100
- propertyInjections: propertyInjections
101
- }));
102
- }));
72
+ async function createInstanceWithInjectionsAsync(args) {
73
+ const constructorInjections = await possiblyWaitInjections(args.constructorInjections), propertyInjections = await possiblyWaitInjections(args.propertyInjections);
74
+ return createInstanceWithInjections({
75
+ ...args,
76
+ constructorInjections: constructorInjections,
77
+ propertyInjections: propertyInjections
78
+ });
103
79
  }
104
80
 
105
- function possiblyWaitInjections(possiblePromiseinjections) {
106
- return __awaiter(this, void 0, void 0, (function*() {
107
- const injections = [];
108
- for (const injection of possiblePromiseinjections) Array.isArray(injection) ? injections.push(Promise.all(injection)) : injections.push(injection);
109
- return Promise.all(injections);
110
- }));
81
+ async function possiblyWaitInjections(possiblePromiseinjections) {
82
+ const injections = [];
83
+ for (const injection of possiblePromiseinjections) Array.isArray(injection) ? injections.push(Promise.all(injection)) : injections.push(injection);
84
+ return Promise.all(injections);
111
85
  }
112
86
 
113
87
  function _getInstanceAfterPostConstruct(constr, result) {
@@ -116,9 +90,9 @@ function _getInstanceAfterPostConstruct(constr, result) {
116
90
  }
117
91
 
118
92
  function _postConstruct(constr, instance) {
119
- var _a, _b;
120
93
  if (Reflect_metadata_1.default.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {
121
- return null === (_b = (_a = instance)[Reflect_metadata_1.default.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr).value]) || void 0 === _b ? void 0 : _b.call(_a);
94
+ const data = Reflect_metadata_1.default.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);
95
+ return instance[data.value]?.();
122
96
  }
123
97
  }
124
98
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/resolution/instantiation.ts"],"names":[],"mappings":"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","file":"instantiation.js","sourcesContent":["import { ON_DEACTIVATION_ERROR, POST_CONSTRUCT_ERROR, PRE_DESTROY_ERROR } from '../constants/error_msgs';\nimport { BindingScopeEnum, TargetTypeEnum } from '../constants/literal_types';\nimport * as METADATA_KEY from '../constants/metadata_keys';\nimport type { interfaces } from '../interfaces/interfaces';\nimport type { Metadata } from '../planning/metadata';\nimport { isPromise, isPromiseOrContainsPromise } from '../utils/async';\nimport Reflect from '../../Reflect-metadata';\n\ninterface InstanceCreationInstruction {\n constructorInjections: unknown[];\n propertyInjections: unknown[];\n propertyRequests: interfaces.Request[];\n}\n\ninterface ResolvedRequests extends InstanceCreationInstruction {\n isAsync: boolean;\n}\n\ninterface CreateInstanceWithInjectionArg<T> extends InstanceCreationInstruction {\n constr: interfaces.Newable<T>;\n}\n\nfunction _resolveRequests(\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): ResolvedRequests {\n return childRequests.reduce<ResolvedRequests>(\n (resolvedRequests, childRequest) => {\n const injection = resolveRequest(childRequest);\n const targetType = childRequest.target.type;\n if (targetType === TargetTypeEnum.ConstructorArgument) {\n resolvedRequests.constructorInjections.push(injection);\n } else {\n resolvedRequests.propertyRequests.push(childRequest);\n resolvedRequests.propertyInjections.push(injection);\n }\n if (!resolvedRequests.isAsync) {\n resolvedRequests.isAsync = isPromiseOrContainsPromise(injection);\n }\n return resolvedRequests;\n },\n { constructorInjections: [], propertyInjections: [], propertyRequests: [], isAsync: false }\n );\n}\n\nfunction _createInstance<T>(\n constr: interfaces.Newable<T>,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): T | Promise<T> {\n let result: T | Promise<T>;\n\n if (childRequests.length > 0) {\n const resolved = _resolveRequests(childRequests, resolveRequest);\n const createInstanceWithInjectionsArg: CreateInstanceWithInjectionArg<T> = { ...resolved, constr };\n if (resolved.isAsync) {\n result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg);\n } else {\n result = createInstanceWithInjections(createInstanceWithInjectionsArg);\n }\n } else {\n result = new constr();\n }\n\n return result;\n}\n\nfunction createInstanceWithInjections<T>(args: CreateInstanceWithInjectionArg<T>): T {\n const instance = new args.constr(...args.constructorInjections);\n args.propertyRequests.forEach((r: interfaces.Request, index: number) => {\n const property = r.target.identifier;\n const injection = args.propertyInjections[index];\n (instance as Record<string | symbol, unknown>)[property] = injection;\n });\n return instance;\n}\n\nasync function createInstanceWithInjectionsAsync<T>(args: CreateInstanceWithInjectionArg<T>): Promise<T> {\n const constructorInjections = await possiblyWaitInjections(args.constructorInjections);\n const propertyInjections = await possiblyWaitInjections(args.propertyInjections);\n return createInstanceWithInjections<T>({ ...args, constructorInjections, propertyInjections });\n}\n\nasync function possiblyWaitInjections(possiblePromiseinjections: unknown[]) {\n const injections: unknown[] = [];\n for (const injection of possiblePromiseinjections) {\n if (Array.isArray(injection)) {\n injections.push(Promise.all(injection));\n } else {\n injections.push(injection);\n }\n }\n return Promise.all(injections);\n}\n\nfunction _getInstanceAfterPostConstruct<T>(constr: interfaces.Newable<T>, result: T): T | Promise<T> {\n const postConstructResult = _postConstruct(constr, result);\n\n if (isPromise(postConstructResult)) {\n return postConstructResult.then(() => result);\n }\n return result;\n}\n\nfunction _postConstruct<T>(constr: interfaces.Newable<T>, instance: T): void | Promise<void> {\n if ((Reflect as any).hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {\n const data: Metadata = (Reflect as any).getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);\n return (instance as interfaces.Instance<T>)[data.value as string]?.();\n // try {\n // return (instance as interfaces.Instance<T>)[data.value as string]?.();\n // } catch (e) {\n // if (e instanceof Error) {\n // throw new Error(POST_CONSTRUCT_ERROR(constr.name, e.message));\n // }\n // }\n }\n}\n\nfunction _validateInstanceResolution<T = unknown>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>): void {\n if (binding.scope !== BindingScopeEnum.Singleton) {\n _throwIfHandlingDeactivation(binding, constr);\n }\n}\n\nfunction _throwIfHandlingDeactivation<T = unknown>(\n binding: interfaces.Binding<T>,\n constr: interfaces.Newable<T>\n): void {\n const scopeErrorMessage = `Class cannot be instantiated in ${\n binding.scope === BindingScopeEnum.Request ? 'request' : 'transient'\n } scope.`;\n if (typeof binding.onDeactivation === 'function') {\n throw new Error(ON_DEACTIVATION_ERROR(constr.name, scopeErrorMessage));\n }\n\n if ((Reflect as any).hasMetadata(METADATA_KEY.PRE_DESTROY, constr)) {\n throw new Error(PRE_DESTROY_ERROR(constr.name, scopeErrorMessage));\n }\n}\n\nfunction resolveInstance<T>(\n binding: interfaces.Binding<T>,\n constr: interfaces.Newable<T>,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): T | Promise<T> {\n _validateInstanceResolution(binding, constr);\n\n const result = _createInstance(constr, childRequests, resolveRequest);\n\n if (isPromise(result)) {\n return result.then(resolvedResult => _getInstanceAfterPostConstruct(constr, resolvedResult));\n }\n return _getInstanceAfterPostConstruct(constr, result);\n}\n\nexport { resolveInstance };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/resolution/instantiation.ts"],"names":[],"mappings":"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","file":"instantiation.js","sourcesContent":["import { ON_DEACTIVATION_ERROR, POST_CONSTRUCT_ERROR, PRE_DESTROY_ERROR } from '../constants/error_msgs';\nimport { BindingScopeEnum, TargetTypeEnum } from '../constants/literal_types';\nimport * as METADATA_KEY from '../constants/metadata_keys';\nimport type { interfaces } from '../interfaces/interfaces';\nimport type { Metadata } from '../planning/metadata';\nimport { isPromise, isPromiseOrContainsPromise } from '../utils/async';\nimport Reflect from '../../Reflect-metadata';\n\ninterface InstanceCreationInstruction {\n constructorInjections: unknown[];\n propertyInjections: unknown[];\n propertyRequests: interfaces.Request[];\n}\n\ninterface ResolvedRequests extends InstanceCreationInstruction {\n isAsync: boolean;\n}\n\ninterface CreateInstanceWithInjectionArg<T> extends InstanceCreationInstruction {\n constr: interfaces.Newable<T>;\n}\n\nfunction _resolveRequests(\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): ResolvedRequests {\n return childRequests.reduce<ResolvedRequests>(\n (resolvedRequests, childRequest) => {\n const injection = resolveRequest(childRequest);\n const targetType = childRequest.target.type;\n if (targetType === TargetTypeEnum.ConstructorArgument) {\n resolvedRequests.constructorInjections.push(injection);\n } else {\n resolvedRequests.propertyRequests.push(childRequest);\n resolvedRequests.propertyInjections.push(injection);\n }\n if (!resolvedRequests.isAsync) {\n resolvedRequests.isAsync = isPromiseOrContainsPromise(injection);\n }\n return resolvedRequests;\n },\n { constructorInjections: [], propertyInjections: [], propertyRequests: [], isAsync: false }\n );\n}\n\nfunction _createInstance<T>(\n constr: interfaces.Newable<T>,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): T | Promise<T> {\n let result: T | Promise<T>;\n\n if (childRequests.length > 0) {\n const resolved = _resolveRequests(childRequests, resolveRequest);\n const createInstanceWithInjectionsArg: CreateInstanceWithInjectionArg<T> = { ...resolved, constr };\n if (resolved.isAsync) {\n result = createInstanceWithInjectionsAsync(createInstanceWithInjectionsArg);\n } else {\n result = createInstanceWithInjections(createInstanceWithInjectionsArg);\n }\n } else {\n result = new constr();\n }\n\n return result;\n}\n\nfunction createInstanceWithInjections<T>(args: CreateInstanceWithInjectionArg<T>): T {\n const instance = new args.constr(...args.constructorInjections);\n args.propertyRequests.forEach((r: interfaces.Request, index: number) => {\n const property = r.target.identifier;\n const injection = args.propertyInjections[index];\n (instance as Record<string | symbol, unknown>)[property] = injection;\n });\n return instance;\n}\n\nasync function createInstanceWithInjectionsAsync<T>(args: CreateInstanceWithInjectionArg<T>): Promise<T> {\n const constructorInjections = await possiblyWaitInjections(args.constructorInjections);\n const propertyInjections = await possiblyWaitInjections(args.propertyInjections);\n return createInstanceWithInjections<T>({ ...args, constructorInjections, propertyInjections });\n}\n\nasync function possiblyWaitInjections(possiblePromiseinjections: unknown[]) {\n const injections: unknown[] = [];\n for (const injection of possiblePromiseinjections) {\n if (Array.isArray(injection)) {\n injections.push(Promise.all(injection));\n } else {\n injections.push(injection);\n }\n }\n return Promise.all(injections);\n}\n\nfunction _getInstanceAfterPostConstruct<T>(constr: interfaces.Newable<T>, result: T): T | Promise<T> {\n const postConstructResult = _postConstruct(constr, result);\n\n if (isPromise(postConstructResult)) {\n return postConstructResult.then(() => result);\n }\n return result;\n}\n\nfunction _postConstruct<T>(constr: interfaces.Newable<T>, instance: T): void | Promise<void> {\n if ((Reflect as any).hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {\n const data: Metadata = (Reflect as any).getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);\n return (instance as interfaces.Instance<T>)[data.value as string]?.();\n // try {\n // return (instance as interfaces.Instance<T>)[data.value as string]?.();\n // } catch (e) {\n // if (e instanceof Error) {\n // throw new Error(POST_CONSTRUCT_ERROR(constr.name, e.message));\n // }\n // }\n }\n}\n\nfunction _validateInstanceResolution<T = unknown>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>): void {\n if (binding.scope !== BindingScopeEnum.Singleton) {\n _throwIfHandlingDeactivation(binding, constr);\n }\n}\n\nfunction _throwIfHandlingDeactivation<T = unknown>(\n binding: interfaces.Binding<T>,\n constr: interfaces.Newable<T>\n): void {\n const scopeErrorMessage = `Class cannot be instantiated in ${\n binding.scope === BindingScopeEnum.Request ? 'request' : 'transient'\n } scope.`;\n if (typeof binding.onDeactivation === 'function') {\n throw new Error(ON_DEACTIVATION_ERROR(constr.name, scopeErrorMessage));\n }\n\n if ((Reflect as any).hasMetadata(METADATA_KEY.PRE_DESTROY, constr)) {\n throw new Error(PRE_DESTROY_ERROR(constr.name, scopeErrorMessage));\n }\n}\n\nfunction resolveInstance<T>(\n binding: interfaces.Binding<T>,\n constr: interfaces.Newable<T>,\n childRequests: interfaces.Request[],\n resolveRequest: interfaces.ResolveRequestHandler\n): T | Promise<T> {\n _validateInstanceResolution(binding, constr);\n\n const result = _createInstance(constr, childRequests, resolveRequest);\n\n if (isPromise(result)) {\n return result.then(resolvedResult => _getInstanceAfterPostConstruct(constr, resolvedResult));\n }\n return _getInstanceAfterPostConstruct(constr, result);\n}\n\nexport { resolveInstance };\n"]}
@@ -1,31 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
4
- return new (P || (P = Promise))((function(resolve, reject) {
5
- function fulfilled(value) {
6
- try {
7
- step(generator.next(value));
8
- } catch (e) {
9
- reject(e);
10
- }
11
- }
12
- function rejected(value) {
13
- try {
14
- step(generator.throw(value));
15
- } catch (e) {
16
- reject(e);
17
- }
18
- }
19
- function step(result) {
20
- var value;
21
- result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P((function(resolve) {
22
- resolve(value);
23
- }))).then(fulfilled, rejected);
24
- }
25
- step((generator = generator.apply(thisArg, _arguments || [])).next());
26
- }));
27
- };
28
-
29
3
  Object.defineProperty(exports, "__esModule", {
30
4
  value: !0
31
5
  }), exports.saveToScope = exports.tryGetFromScope = void 0;
@@ -45,12 +19,12 @@ const _saveToRequestScope = (requestScope, binding, result) => {
45
19
  requestScope.has(binding.id) || requestScope.set(binding.id, result);
46
20
  }, _saveToSingletonScope = (binding, result) => {
47
21
  binding.cache = result, binding.activated = !0, (0, async_1.isPromise)(result) && _saveAsyncResultToSingletonScope(binding, result);
48
- }, _saveAsyncResultToSingletonScope = (binding, asyncResult) => __awaiter(void 0, void 0, void 0, (function*() {
22
+ }, _saveAsyncResultToSingletonScope = async (binding, asyncResult) => {
49
23
  try {
50
- const result = yield asyncResult;
24
+ const result = await asyncResult;
51
25
  binding.cache = result;
52
26
  } catch (ex) {
53
27
  throw binding.cache = null, binding.activated = !1, ex;
54
28
  }
55
- }));
29
+ };
56
30
  //# sourceMappingURL=scope.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/scope/scope.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,8DAA8D;AAE9D,0CAA2C;AAEpC,MAAM,eAAe,GAAG,CAC7B,YAAqC,EACrC,OAA8B,EACP,EAAE;IACzB,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE;QACrE,OAAO,OAAO,CAAC,KAAM,CAAC;KACvB;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QAC9E,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmB,CAAC;KACvD;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEK,MAAM,WAAW,GAAG,CACzB,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,EAAE;QAChD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,EAAE;QAC9C,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACpD;AACH,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB;AAEF,MAAM,mBAAmB,GAAG,CAC1B,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACjC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACtC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAI,OAA8B,EAAE,MAAsB,EAAQ,EAAE;IAEhG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,KAAK,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxD;AACH,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACvC,OAA8B,EAC9B,WAAuB,EACR,EAAE;IACjB,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAEjC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;KACxB;IAAC,OAAO,EAAW,EAAE;QAEpB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAE1B,MAAM,EAAE,CAAC;KACV;AACH,CAAC,CAAA,CAAC","file":"scope.js","sourcesContent":["// import { BindingScopeEnum, interfaces } from '../inversify';\nimport { BindingScopeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { isPromise } from '../utils/async';\n\nexport const tryGetFromScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>\n): T | Promise<T> | null => {\n if (binding.scope === BindingScopeEnum.Singleton && binding.activated) {\n return binding.cache!;\n }\n\n if (binding.scope === BindingScopeEnum.Request && requestScope.has(binding.id)) {\n return requestScope.get(binding.id) as T | Promise<T>;\n }\n return null;\n};\n\nexport const saveToScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n result: T | Promise<T>\n): void => {\n if (binding.scope === BindingScopeEnum.Singleton) {\n _saveToSingletonScope(binding, result);\n }\n\n if (binding.scope === BindingScopeEnum.Request) {\n _saveToRequestScope(requestScope, binding, result);\n }\n};\n\nconst _saveToRequestScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n result: T | Promise<T>\n): void => {\n if (!requestScope.has(binding.id)) {\n requestScope.set(binding.id, result);\n }\n};\n\nconst _saveToSingletonScope = <T>(binding: interfaces.Binding<T>, result: T | Promise<T>): void => {\n // store in cache if scope is singleton\n binding.cache = result;\n binding.activated = true;\n\n if (isPromise(result)) {\n void _saveAsyncResultToSingletonScope(binding, result);\n }\n};\n\nconst _saveAsyncResultToSingletonScope = async <T>(\n binding: interfaces.Binding<T>,\n asyncResult: Promise<T>\n): Promise<void> => {\n try {\n const result = await asyncResult;\n\n binding.cache = result;\n } catch (ex: unknown) {\n // allow binding to retry in future\n binding.cache = null;\n binding.activated = false;\n\n throw ex;\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/scope/scope.ts"],"names":[],"mappings":";;;AACA,8DAA8D;AAE9D,0CAA2C;AAEpC,MAAM,eAAe,GAAG,CAC7B,YAAqC,EACrC,OAA8B,EACP,EAAE;IACzB,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE;QACrE,OAAO,OAAO,CAAC,KAAM,CAAC;KACvB;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QAC9E,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAmB,CAAC;KACvD;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEK,MAAM,WAAW,GAAG,CACzB,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,SAAS,EAAE;QAChD,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,gCAAgB,CAAC,OAAO,EAAE;QAC9C,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACpD;AACH,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB;AAEF,MAAM,mBAAmB,GAAG,CAC1B,YAAqC,EACrC,OAA8B,EAC9B,MAAsB,EAChB,EAAE;IACR,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACjC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACtC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAI,OAA8B,EAAE,MAAsB,EAAQ,EAAE;IAEhG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,KAAK,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACxD;AACH,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,KAAK,EAC5C,OAA8B,EAC9B,WAAuB,EACR,EAAE;IACjB,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAEjC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;KACxB;IAAC,OAAO,EAAW,EAAE;QAEpB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAE1B,MAAM,EAAE,CAAC;KACV;AACH,CAAC,CAAC","file":"scope.js","sourcesContent":["// import { BindingScopeEnum, interfaces } from '../inversify';\nimport { BindingScopeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { isPromise } from '../utils/async';\n\nexport const tryGetFromScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>\n): T | Promise<T> | null => {\n if (binding.scope === BindingScopeEnum.Singleton && binding.activated) {\n return binding.cache!;\n }\n\n if (binding.scope === BindingScopeEnum.Request && requestScope.has(binding.id)) {\n return requestScope.get(binding.id) as T | Promise<T>;\n }\n return null;\n};\n\nexport const saveToScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n result: T | Promise<T>\n): void => {\n if (binding.scope === BindingScopeEnum.Singleton) {\n _saveToSingletonScope(binding, result);\n }\n\n if (binding.scope === BindingScopeEnum.Request) {\n _saveToRequestScope(requestScope, binding, result);\n }\n};\n\nconst _saveToRequestScope = <T>(\n requestScope: interfaces.RequestScope,\n binding: interfaces.Binding<T>,\n result: T | Promise<T>\n): void => {\n if (!requestScope.has(binding.id)) {\n requestScope.set(binding.id, result);\n }\n};\n\nconst _saveToSingletonScope = <T>(binding: interfaces.Binding<T>, result: T | Promise<T>): void => {\n // store in cache if scope is singleton\n binding.cache = result;\n binding.activated = true;\n\n if (isPromise(result)) {\n void _saveAsyncResultToSingletonScope(binding, result);\n }\n};\n\nconst _saveAsyncResultToSingletonScope = async <T>(\n binding: interfaces.Binding<T>,\n asyncResult: Promise<T>\n): Promise<void> => {\n try {\n const result = await asyncResult;\n\n binding.cache = result;\n } catch (ex: unknown) {\n // allow binding to retry in future\n binding.cache = null;\n binding.activated = false;\n\n throw ex;\n }\n};\n"]}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const literal_types_1 = require("../constants/literal_types"), binding_when_on_syntax_1 = require("./binding_when_on_syntax");
8
8
 
9
9
  class BindingInSyntax {
10
+ _binding;
10
11
  constructor(binding) {
11
12
  this._binding = binding;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_in_syntax.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA+D;AAE/D,MAAM,eAAe;IAGnB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,OAAO,CAAC;QAC/C,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACF;AAEQ,0CAAe","file":"binding_in_syntax.js","sourcesContent":["import { BindingScopeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { BindingWhenOnSyntax } from './binding_when_on_syntax';\n\nclass BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Request;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Transient;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n}\n\nexport { BindingInSyntax };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_in_syntax.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAE9D,qEAA+D;AAE/D,MAAM,eAAe;IACX,QAAQ,CAAwB;IAExC,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,OAAO,CAAC;QAC/C,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,gCAAgB,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,4CAAmB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACF;AAEQ,0CAAe","file":"binding_in_syntax.js","sourcesContent":["import { BindingScopeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { BindingWhenOnSyntax } from './binding_when_on_syntax';\n\nclass BindingInSyntax<T> implements interfaces.BindingInSyntax<T> {\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Request;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n this._binding.scope = BindingScopeEnum.Transient;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n}\n\nexport { BindingInSyntax };\n"]}
@@ -7,6 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const binding_in_syntax_1 = require("./binding_in_syntax"), binding_when_syntax_1 = require("./binding_when_syntax");
8
8
 
9
9
  class BindingInWhenOnSyntax {
10
+ _bindingInSyntax;
11
+ _bindingWhenSyntax;
12
+ _binding;
10
13
  constructor(binding) {
11
14
  this._binding = binding, this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding),
12
15
  this._bindingInSyntax = new binding_in_syntax_1.BindingInSyntax(binding);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_in_when_on_syntax.ts"],"names":[],"mappings":";;;AACA,2DAAsD;AAEtD,+DAA0D;AAE1D,MAAM,qBAAqB;IAQzB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAe,CAAI,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;IAChD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAMD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CA6DF;AAEQ,sDAAqB","file":"binding_in_when_on_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\nimport { BindingInSyntax } from './binding_in_syntax';\n// import { BindingOnSyntax } from './binding_on_syntax';\nimport { BindingWhenSyntax } from './binding_when_syntax';\n\nclass BindingInWhenOnSyntax<T>\n implements interfaces.BindingInSyntax<T>, interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T>\n{\n private _bindingInSyntax: interfaces.BindingInSyntax<T>;\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n // private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n // this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n this._bindingInSyntax = new BindingInSyntax<T>(binding);\n }\n\n inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inRequestScope();\n }\n\n inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inSingletonScope();\n }\n\n inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inTransientScope();\n }\n\n // public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.when(constraint);\n // }\n\n whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n // public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetIsDefault();\n // }\n\n // public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n // }\n\n // public whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenInjectedInto(parent);\n // }\n\n // public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentNamed(name);\n // }\n\n // public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentTagged(tag, value);\n // }\n\n // public whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n // }\n\n // public whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n // }\n\n // public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n // }\n\n // public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n // }\n\n // public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n // }\n\n // public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n // }\n\n // public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n // }\n\n // public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n // }\n\n // public onActivation(handler: (context: interfaces.Context, injectable: T) => T | Promise<T>): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onActivation(handler);\n // }\n\n // public onDeactivation(handler: (injectable: T) => void | Promise<void>): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onDeactivation(handler);\n // }\n}\n\nexport { BindingInWhenOnSyntax };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_in_when_on_syntax.ts"],"names":[],"mappings":";;;AACA,2DAAsD;AAEtD,+DAA0D;AAE1D,MAAM,qBAAqB;IAGjB,gBAAgB,CAAgC;IAChD,kBAAkB,CAAkC;IAEpD,QAAQ,CAAwB;IAExC,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElE,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAe,CAAI,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;IAChD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAMD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CA6DF;AAEQ,sDAAqB","file":"binding_in_when_on_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\nimport { BindingInSyntax } from './binding_in_syntax';\n// import { BindingOnSyntax } from './binding_on_syntax';\nimport { BindingWhenSyntax } from './binding_when_syntax';\n\nclass BindingInWhenOnSyntax<T>\n implements interfaces.BindingInSyntax<T>, interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T>\n{\n private _bindingInSyntax: interfaces.BindingInSyntax<T>;\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n // private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n // this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n this._bindingInSyntax = new BindingInSyntax<T>(binding);\n }\n\n inRequestScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inRequestScope();\n }\n\n inSingletonScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inSingletonScope();\n }\n\n inTransientScope(): interfaces.BindingWhenOnSyntax<T> {\n return this._bindingInSyntax.inTransientScope();\n }\n\n // public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.when(constraint);\n // }\n\n whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n // public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetIsDefault();\n // }\n\n // public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n // }\n\n // public whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenInjectedInto(parent);\n // }\n\n // public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentNamed(name);\n // }\n\n // public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentTagged(tag, value);\n // }\n\n // public whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n // }\n\n // public whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n // }\n\n // public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n // }\n\n // public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n // }\n\n // public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n // }\n\n // public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n // }\n\n // public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n // }\n\n // public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n // }\n\n // public onActivation(handler: (context: interfaces.Context, injectable: T) => T | Promise<T>): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onActivation(handler);\n // }\n\n // public onDeactivation(handler: (injectable: T) => void | Promise<void>): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onDeactivation(handler);\n // }\n}\n\nexport { BindingInWhenOnSyntax };\n"]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  }), exports.BindingOnSyntax = void 0;
6
6
 
7
7
  class BindingOnSyntax {
8
+ _binding;
8
9
  constructor(binding) {
9
10
  this._binding = binding;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_on_syntax.ts"],"names":[],"mappings":";;;AAGA,MAAM,eAAe;IAGnB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;CAaF;AAEQ,0CAAe","file":"binding_on_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\n// import { BindingWhenSyntax } from './binding_when_syntax';\n\nclass BindingOnSyntax<T> implements interfaces.BindingOnSyntax<T> {\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n // public onActivation(handler: interfaces.BindingActivation<T>): interfaces.BindingWhenSyntax<T> {\n // console.log('onActivation');\n // this._binding.onActivation = handler;\n // return new BindingWhenSyntax<T>(this._binding);\n // }\n\n // public onDeactivation(handler: interfaces.BindingDeactivation<T>): interfaces.BindingWhenSyntax<T> {\n // console.log('onDeactivation');\n // this._binding.onDeactivation = handler;\n // return new BindingWhenSyntax<T>(this._binding);\n // }\n}\n\nexport { BindingOnSyntax };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_on_syntax.ts"],"names":[],"mappings":";;;AAGA,MAAM,eAAe;IACX,QAAQ,CAAwB;IAExC,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;CAaF;AAEQ,0CAAe","file":"binding_on_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\n// import { BindingWhenSyntax } from './binding_when_syntax';\n\nclass BindingOnSyntax<T> implements interfaces.BindingOnSyntax<T> {\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n // public onActivation(handler: interfaces.BindingActivation<T>): interfaces.BindingWhenSyntax<T> {\n // console.log('onActivation');\n // this._binding.onActivation = handler;\n // return new BindingWhenSyntax<T>(this._binding);\n // }\n\n // public onDeactivation(handler: interfaces.BindingDeactivation<T>): interfaces.BindingWhenSyntax<T> {\n // console.log('onDeactivation');\n // this._binding.onDeactivation = handler;\n // return new BindingWhenSyntax<T>(this._binding);\n // }\n}\n\nexport { BindingOnSyntax };\n"]}
@@ -32,6 +32,7 @@ Object.defineProperty(exports, "__esModule", {
32
32
  const ERROR_MSGS = __importStar(require("../constants/error_msgs")), literal_types_1 = require("../constants/literal_types"), binding_in_when_on_syntax_1 = require("./binding_in_when_on_syntax"), binding_when_on_syntax_1 = require("./binding_when_on_syntax");
33
33
 
34
34
  class BindingToSyntax {
35
+ _binding;
35
36
  constructor(binding) {
36
37
  this._binding = binding;
37
38
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_to_syntax.ts"],"names":[],"mappings":"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","file":"binding_to_syntax.js","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\nimport { BindingScopeEnum, BindingTypeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { BindingInWhenOnSyntax } from './binding_in_when_on_syntax';\nimport { BindingWhenOnSyntax } from './binding_when_on_syntax';\n\nclass BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\n // depends on it, and does not expose this member as public.\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Instance;\n this._binding.implementationType = constructor;\n return new BindingInWhenOnSyntax<T>(this._binding);\n }\n\n toSelf(): interfaces.BindingInWhenOnSyntax<T> {\n if (typeof this._binding.serviceIdentifier !== 'function') {\n throw new Error(`${ERROR_MSGS.INVALID_TO_SELF_VALUE}`);\n }\n const self = this._binding.serviceIdentifier;\n return this.to(self);\n }\n\n toConstantValue(value: T): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.ConstantValue;\n this._binding.cache = value;\n this._binding.dynamicValue = null;\n this._binding.implementationType = null;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.DynamicValue;\n this._binding.cache = null;\n this._binding.dynamicValue = func;\n this._binding.implementationType = null;\n return new BindingInWhenOnSyntax<T>(this._binding);\n }\n\n toConstructor<T2>(constructor: interfaces.Newable<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Constructor;\n this._binding.implementationType = constructor as unknown as T;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = factory;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toFunction(func: T): interfaces.BindingWhenOnSyntax<T> {\n // toFunction is an alias of toConstantValue\n if (typeof func !== 'function') {\n throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING);\n }\n const bindingWhenOnSyntax = this.toConstantValue(func);\n this._binding.type = BindingTypeEnum.Function;\n this._binding.scope = BindingScopeEnum.Singleton;\n return bindingWhenOnSyntax;\n }\n\n toAutoFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = context => {\n const autofactory = () => context.container.get<T2>(serviceIdentifier);\n return autofactory;\n };\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toAutoNamedFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = context => {\n return (named: unknown) => context.container.getNamed<T2>(serviceIdentifier, named as string);\n };\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toProvider<T2>(provider: interfaces.ProviderCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Provider;\n this._binding.provider = provider;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toService(service: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void {\n this.toDynamicValue(context => context.container.get<T>(service));\n }\n}\n\nexport { BindingToSyntax };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_to_syntax.ts"],"names":[],"mappings":"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","file":"binding_to_syntax.js","sourcesContent":["import * as ERROR_MSGS from '../constants/error_msgs';\nimport { BindingScopeEnum, BindingTypeEnum } from '../constants/literal_types';\nimport type { interfaces } from '../interfaces/interfaces';\nimport { BindingInWhenOnSyntax } from './binding_in_when_on_syntax';\nimport { BindingWhenOnSyntax } from './binding_when_on_syntax';\n\nclass BindingToSyntax<T> implements interfaces.BindingToSyntax<T> {\n // TODO: Implement an internal type `_BindingToSyntax<T>` wherein this member\n // can be public. Let `BindingToSyntax<T>` be the presentational type that\n // depends on it, and does not expose this member as public.\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n to(constructor: interfaces.Newable<T>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Instance;\n this._binding.implementationType = constructor;\n return new BindingInWhenOnSyntax<T>(this._binding);\n }\n\n toSelf(): interfaces.BindingInWhenOnSyntax<T> {\n if (typeof this._binding.serviceIdentifier !== 'function') {\n throw new Error(`${ERROR_MSGS.INVALID_TO_SELF_VALUE}`);\n }\n const self = this._binding.serviceIdentifier;\n return this.to(self);\n }\n\n toConstantValue(value: T): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.ConstantValue;\n this._binding.cache = value;\n this._binding.dynamicValue = null;\n this._binding.implementationType = null;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toDynamicValue(func: interfaces.DynamicValue<T>): interfaces.BindingInWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.DynamicValue;\n this._binding.cache = null;\n this._binding.dynamicValue = func;\n this._binding.implementationType = null;\n return new BindingInWhenOnSyntax<T>(this._binding);\n }\n\n toConstructor<T2>(constructor: interfaces.Newable<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Constructor;\n this._binding.implementationType = constructor as unknown as T;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toFactory<T2>(factory: interfaces.FactoryCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = factory;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toFunction(func: T): interfaces.BindingWhenOnSyntax<T> {\n // toFunction is an alias of toConstantValue\n if (typeof func !== 'function') {\n throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING);\n }\n const bindingWhenOnSyntax = this.toConstantValue(func);\n this._binding.type = BindingTypeEnum.Function;\n this._binding.scope = BindingScopeEnum.Singleton;\n return bindingWhenOnSyntax;\n }\n\n toAutoFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = context => {\n const autofactory = () => context.container.get<T2>(serviceIdentifier);\n return autofactory;\n };\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toAutoNamedFactory<T2>(serviceIdentifier: interfaces.ServiceIdentifier<T2>): BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Factory;\n this._binding.factory = context => {\n return (named: unknown) => context.container.getNamed<T2>(serviceIdentifier, named as string);\n };\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toProvider<T2>(provider: interfaces.ProviderCreator<T2>): interfaces.BindingWhenOnSyntax<T> {\n this._binding.type = BindingTypeEnum.Provider;\n this._binding.provider = provider;\n this._binding.scope = BindingScopeEnum.Singleton;\n return new BindingWhenOnSyntax<T>(this._binding);\n }\n\n toService(service: string | symbol | interfaces.Newable<T> | interfaces.Abstract<T>): void {\n this.toDynamicValue(context => context.container.get<T>(service));\n }\n}\n\nexport { BindingToSyntax };\n"]}
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const binding_when_syntax_1 = require("./binding_when_syntax");
8
8
 
9
9
  class BindingWhenOnSyntax {
10
+ _bindingWhenSyntax;
11
+ _binding;
10
12
  constructor(binding) {
11
13
  this._binding = binding, this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_when_on_syntax.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAE1D,MAAM,mBAAmB;IAKvB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEpE,CAAC;IAMD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CA6DF;AAEQ,kDAAmB","file":"binding_when_on_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\n// import { BindingOnSyntax } from './binding_on_syntax';\nimport { BindingWhenSyntax } from './binding_when_syntax';\n\nclass BindingWhenOnSyntax<T> implements interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n // private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n // this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n }\n\n // public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.when(constraint);\n // }\n\n whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n // public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetIsDefault();\n // }\n\n // public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n // }\n\n // public whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenInjectedInto(parent);\n // }\n\n // public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentNamed(name);\n // }\n\n // public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentTagged(tag, value);\n // }\n\n // public whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n // }\n\n // public whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n // }\n\n // public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n // }\n\n // public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n // }\n\n // public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n // }\n\n // public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n // }\n\n // public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n // }\n\n // public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n // }\n\n // public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onActivation(handler);\n // }\n\n // public onDeactivation(handler: (injectable: T) => Promise<void> | void): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onDeactivation(handler);\n // }\n}\n\nexport { BindingWhenOnSyntax };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_when_on_syntax.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAE1D,MAAM,mBAAmB;IACf,kBAAkB,CAAkC;IAEpD,QAAQ,CAAwB;IAExC,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAiB,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEpE,CAAC;IAMD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CA6DF;AAEQ,kDAAmB","file":"binding_when_on_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\n// import { BindingOnSyntax } from './binding_on_syntax';\nimport { BindingWhenSyntax } from './binding_when_syntax';\n\nclass BindingWhenOnSyntax<T> implements interfaces.BindingWhenSyntax<T>, interfaces.BindingOnSyntax<T> {\n private _bindingWhenSyntax: interfaces.BindingWhenSyntax<T>;\n // private _bindingOnSyntax: interfaces.BindingOnSyntax<T>;\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n this._bindingWhenSyntax = new BindingWhenSyntax<T>(this._binding);\n // this._bindingOnSyntax = new BindingOnSyntax<T>(this._binding);\n }\n\n // public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.when(constraint);\n // }\n\n whenTargetNamed(name: string): interfaces.BindingOnSyntax<T> {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n }\n\n // public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetIsDefault();\n // }\n\n // public whenTargetTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n // }\n\n // public whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenInjectedInto(parent);\n // }\n\n // public whenParentNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentNamed(name);\n // }\n\n // public whenParentTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenParentTagged(tag, value);\n // }\n\n // public whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n // }\n\n // public whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n // }\n\n // public whenAnyAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n // }\n\n // public whenAnyAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n // }\n\n // public whenNoAncestorNamed(name: string): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n // }\n\n // public whenNoAncestorTagged(tag: string, value: unknown): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n // }\n\n // public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n // }\n\n // public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n // }\n\n // public onActivation(handler: (context: interfaces.Context, injectable: T) => T): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onActivation(handler);\n // }\n\n // public onDeactivation(handler: (injectable: T) => Promise<void> | void): interfaces.BindingWhenSyntax<T> {\n // return this._bindingOnSyntax.onDeactivation(handler);\n // }\n}\n\nexport { BindingWhenOnSyntax };\n"]}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const binding_on_syntax_1 = require("./binding_on_syntax"), constraint_helpers_1 = require("./constraint_helpers");
8
8
 
9
9
  class BindingWhenSyntax {
10
+ _binding;
10
11
  constructor(binding) {
11
12
  this._binding = binding;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_when_syntax.ts"],"names":[],"mappings":";;;AACA,2DAAsD;AACtD,6DAAuD;AAEvD,MAAM,iBAAiB;IAGrB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAOD,eAAe,CAAC,IAA8B;QAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAA,oCAAe,EAAC,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,mCAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CAiGF;AAEQ,8CAAiB","file":"binding_when_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\nimport { BindingOnSyntax } from './binding_on_syntax';\nimport { namedConstraint } from './constraint_helpers';\n\nclass BindingWhenSyntax<T> implements interfaces.BindingWhenSyntax<T> {\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n // public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = constraint as interfaces.ConstraintFunction;\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = namedConstraint(name);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n // public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) => {\n // if (request === null) {\n // return false;\n // }\n\n // const targetIsDefault = request.target !== null && !request.target.isNamed() && !request.target.isTagged();\n\n // return targetIsDefault;\n // };\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenTargetTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = taggedConstraint(tag)(value);\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && typeConstraint(parent)(request.parentRequest);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenParentNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && namedConstraint(name)(request.parentRequest);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenParentTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && taggedConstraint(tag)(value)(request.parentRequest);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, typeConstraint(ancestor));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, typeConstraint(ancestor));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, namedConstraint(name));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, namedConstraint(name));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, taggedConstraint(tag)(value));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, taggedConstraint(tag)(value));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n}\n\nexport { BindingWhenSyntax };\n"]}
1
+ {"version":3,"sources":["../src/common/inversify-lite/syntax/binding_when_syntax.ts"],"names":[],"mappings":";;;AACA,2DAAsD;AACtD,6DAAuD;AAEvD,MAAM,iBAAiB;IACb,QAAQ,CAAwB;IAExC,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAOD,eAAe,CAAC,IAA8B;QAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAA,oCAAe,EAAC,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,mCAAe,CAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;CAiGF;AAEQ,8CAAiB","file":"binding_when_syntax.js","sourcesContent":["import type { interfaces } from '../interfaces/interfaces';\nimport { BindingOnSyntax } from './binding_on_syntax';\nimport { namedConstraint } from './constraint_helpers';\n\nclass BindingWhenSyntax<T> implements interfaces.BindingWhenSyntax<T> {\n private _binding: interfaces.Binding<T>;\n\n constructor(binding: interfaces.Binding<T>) {\n this._binding = binding;\n }\n\n // public when(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = constraint as interfaces.ConstraintFunction;\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n whenTargetNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n this._binding.constraint = namedConstraint(name);\n return new BindingOnSyntax<T>(this._binding);\n }\n\n // public whenTargetIsDefault(): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) => {\n // if (request === null) {\n // return false;\n // }\n\n // const targetIsDefault = request.target !== null && !request.target.isNamed() && !request.target.isTagged();\n\n // return targetIsDefault;\n // };\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenTargetTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = taggedConstraint(tag)(value);\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenInjectedInto(parent: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && typeConstraint(parent)(request.parentRequest);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenParentNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && namedConstraint(name)(request.parentRequest);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenParentTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && taggedConstraint(tag)(value)(request.parentRequest);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, typeConstraint(ancestor));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorIs(ancestor: NewableFunction | string): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, typeConstraint(ancestor));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, namedConstraint(name));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorNamed(name: string | number | symbol): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, namedConstraint(name));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, taggedConstraint(tag)(value));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorTagged(tag: string | number | symbol, value: unknown): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, taggedConstraint(tag)(value));\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenAnyAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n\n // public whenNoAncestorMatches(constraint: (request: interfaces.Request) => boolean): interfaces.BindingOnSyntax<T> {\n // this._binding.constraint = (request: interfaces.Request | null) =>\n // request !== null && !traverseAncerstors(request, constraint as interfaces.ConstraintFunction);\n\n // return new BindingOnSyntax<T>(this._binding);\n // }\n}\n\nexport { BindingWhenSyntax };\n"]}
@@ -6,13 +6,12 @@ function drawPolygon(path, points, x, y) {
6
6
  }
7
7
 
8
8
  function drawRoundedPolygon(path, points, x, y, cornerRadius, closePath = !0) {
9
- var _a;
10
9
  if (points.length < 3) return void drawPolygon(path, points, x, y);
11
10
  let startI = 0, endI = points.length - 1;
12
11
  closePath || (startI += 1, endI -= 1, path.moveTo(points[0].x + x, points[0].y + y));
13
12
  for (let i = startI; i <= endI; i++) {
14
13
  const p1 = points[0 === i ? endI : (i - 1) % points.length], angularPoint = points[i % points.length], p2 = points[(i + 1) % points.length], dx1 = angularPoint.x - p1.x, dy1 = angularPoint.y - p1.y, dx2 = angularPoint.x - p2.x, dy2 = angularPoint.y - p2.y, angle = (Math.atan2(dy1, dx1) - Math.atan2(dy2, dx2)) / 2, tan = Math.abs(Math.tan(angle));
15
- let radius = Array.isArray(cornerRadius) ? null !== (_a = cornerRadius[i % points.length]) && void 0 !== _a ? _a : 0 : cornerRadius, segment = radius / tan;
14
+ let radius = Array.isArray(cornerRadius) ? cornerRadius[i % points.length] ?? 0 : cornerRadius, segment = radius / tan;
16
15
  const length1 = getLength(dx1, dy1), length2 = getLength(dx2, dy2), length = Math.min(length1, length2);
17
16
  segment > length && (segment = length, radius = length * tan);
18
17
  const p1Cross = getProportionPoint(angularPoint, segment, length1, dx1, dy1), p2Cross = getProportionPoint(angularPoint, segment, length2, dx2, dy2), dx = 2 * angularPoint.x - p1Cross.x - p2Cross.x, dy = 2 * angularPoint.y - p1Cross.y - p2Cross.y, L = getLength(dx, dy), circlePoint = getProportionPoint(angularPoint, getLength(segment, radius), L, dx, dy);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/polygon.ts"],"names":[],"mappings":"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","file":"polygon.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IPath2D } from '../interface';\n\n/**\n * 绘制闭合的常规多边形\n * TODO polygon 图元的xy属性没有意义\n * @param path\n * @param points\n * @param x\n * @param y\n */\nexport function drawPolygon(path: IPath2D, points: IPointLike[], x: number, y: number) {\n path.moveTo(points[0].x + x, points[0].y + y);\n for (let i = 1; i < points.length; i++) {\n path.lineTo(points[i].x + x, points[i].y + y);\n }\n}\n\n/**\n * algorithm detail see: https://stackoverflow.com/a/24780108\n */\nexport function drawRoundedPolygon(\n path: IPath2D,\n points: IPointLike[],\n x: number,\n y: number,\n cornerRadius: number | number[],\n closePath: boolean = true\n) {\n if (points.length < 3) {\n drawPolygon(path, points, x, y);\n return;\n }\n\n let startI = 0;\n let endI = points.length - 1;\n if (!closePath) {\n startI += 1;\n endI -= 1;\n path.moveTo(points[0].x + x, points[0].y + y);\n }\n for (let i = startI; i <= endI; i++) {\n const p1 = points[i === 0 ? endI : (i - 1) % points.length];\n const angularPoint = points[i % points.length];\n const p2 = points[(i + 1) % points.length];\n\n //Vector 1\n const dx1 = angularPoint.x - p1.x;\n const dy1 = angularPoint.y - p1.y;\n\n //Vector 2\n const dx2 = angularPoint.x - p2.x;\n const dy2 = angularPoint.y - p2.y;\n\n //Angle between vector 1 and vector 2 divided by 2\n const angle = (Math.atan2(dy1, dx1) - Math.atan2(dy2, dx2)) / 2;\n\n // The length of segment between angular point and the\n // points of intersection with the circle of a given radius\n const tan = Math.abs(Math.tan(angle));\n\n // get config radius\n let radius = Array.isArray(cornerRadius) ? cornerRadius[i % points.length] ?? 0 : cornerRadius;\n let segment = radius / tan;\n\n //Check the segment\n const length1 = getLength(dx1, dy1);\n const length2 = getLength(dx2, dy2);\n\n const length = Math.min(length1, length2);\n\n if (segment > length) {\n segment = length;\n radius = length * tan;\n }\n\n // Points of intersection are calculated by the proportion between\n // the coordinates of the vector, length of vector and the length of the segment.\n const p1Cross = getProportionPoint(angularPoint, segment, length1, dx1, dy1);\n const p2Cross = getProportionPoint(angularPoint, segment, length2, dx2, dy2);\n\n // Calculation of the coordinates of the circle\n // center by the addition of angular vectors.\n const dx = angularPoint.x * 2 - p1Cross.x - p2Cross.x;\n const dy = angularPoint.y * 2 - p1Cross.y - p2Cross.y;\n\n const L = getLength(dx, dy);\n const d = getLength(segment, radius);\n\n const circlePoint = getProportionPoint(angularPoint, d, L, dx, dy);\n\n //StartAngle and EndAngle of arc\n let startAngle = Math.atan2(p1Cross.y - circlePoint.y, p1Cross.x - circlePoint.x);\n const endAngle = Math.atan2(p2Cross.y - circlePoint.y, p2Cross.x - circlePoint.x);\n\n //Sweep angle\n let sweepAngle = endAngle - startAngle;\n\n //Some additional checks\n if (sweepAngle < 0) {\n startAngle = endAngle;\n sweepAngle = -sweepAngle;\n }\n\n if (sweepAngle > Math.PI) {\n sweepAngle = sweepAngle - Math.PI;\n }\n\n if (i === 0) {\n path.moveTo(p1Cross.x + x, p1Cross.y + y);\n } else {\n path.lineTo(p1Cross.x + x, p1Cross.y + y);\n }\n\n if (sweepAngle) {\n path.arcTo(angularPoint.x + x, angularPoint.y + y, p2Cross.x + x, p2Cross.y + y, radius);\n }\n\n path.lineTo(p2Cross.x + x, p2Cross.y + y);\n }\n\n if (!closePath) {\n path.lineTo(points[endI + 1].x + x, points[endI + 1].y + y);\n }\n}\n\nfunction getLength(dx: number, dy: number) {\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction getProportionPoint(point: IPointLike, segment: number, length: number, dx: number, dy: number) {\n const factor = segment / length;\n\n return {\n x: point.x - dx * factor,\n y: point.y - dy * factor\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/common/polygon.ts"],"names":[],"mappings":";;;AAWA,SAAgB,WAAW,CAAC,IAAa,EAAE,MAAoB,EAAE,CAAS,EAAE,CAAS;IACnF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/C;AACH,CAAC;AALD,kCAKC;AAKD,SAAgB,kBAAkB,CAChC,IAAa,EACb,MAAoB,EACpB,CAAS,EACT,CAAS,EACT,YAA+B,EAC/B,YAAqB,IAAI;IAEzB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO;KACR;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,CAAC,CAAC;QACZ,IAAI,IAAI,CAAC,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/C;IACD,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAG3C,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAGlC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAGlC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAIhE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAGtC,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/F,IAAI,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC;QAG3B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE1C,IAAI,OAAO,GAAG,MAAM,EAAE;YACpB,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;SACvB;QAID,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAI7E,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAEtD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAErC,MAAM,WAAW,GAAG,kBAAkB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAGnE,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAGlF,IAAI,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;QAGvC,IAAI,UAAU,GAAG,CAAC,EAAE;YAClB,UAAU,GAAG,QAAQ,CAAC;YACtB,UAAU,GAAG,CAAC,UAAU,CAAC;SAC1B;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE;YACxB,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;SACnC;QAED,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3C;QAED,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;SAC1F;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAED,IAAI,CAAC,SAAS,EAAE;QACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7D;AACH,CAAC;AAvGD,gDAuGC;AAED,SAAS,SAAS,CAAC,EAAU,EAAE,EAAU;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiB,EAAE,OAAe,EAAE,MAAc,EAAE,EAAU,EAAE,EAAU;IACpG,MAAM,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAEhC,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM;QACxB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM;KACzB,CAAC;AACJ,CAAC","file":"polygon.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IPath2D } from '../interface';\n\n/**\n * 绘制闭合的常规多边形\n * TODO polygon 图元的xy属性没有意义\n * @param path\n * @param points\n * @param x\n * @param y\n */\nexport function drawPolygon(path: IPath2D, points: IPointLike[], x: number, y: number) {\n path.moveTo(points[0].x + x, points[0].y + y);\n for (let i = 1; i < points.length; i++) {\n path.lineTo(points[i].x + x, points[i].y + y);\n }\n}\n\n/**\n * algorithm detail see: https://stackoverflow.com/a/24780108\n */\nexport function drawRoundedPolygon(\n path: IPath2D,\n points: IPointLike[],\n x: number,\n y: number,\n cornerRadius: number | number[],\n closePath: boolean = true\n) {\n if (points.length < 3) {\n drawPolygon(path, points, x, y);\n return;\n }\n\n let startI = 0;\n let endI = points.length - 1;\n if (!closePath) {\n startI += 1;\n endI -= 1;\n path.moveTo(points[0].x + x, points[0].y + y);\n }\n for (let i = startI; i <= endI; i++) {\n const p1 = points[i === 0 ? endI : (i - 1) % points.length];\n const angularPoint = points[i % points.length];\n const p2 = points[(i + 1) % points.length];\n\n //Vector 1\n const dx1 = angularPoint.x - p1.x;\n const dy1 = angularPoint.y - p1.y;\n\n //Vector 2\n const dx2 = angularPoint.x - p2.x;\n const dy2 = angularPoint.y - p2.y;\n\n //Angle between vector 1 and vector 2 divided by 2\n const angle = (Math.atan2(dy1, dx1) - Math.atan2(dy2, dx2)) / 2;\n\n // The length of segment between angular point and the\n // points of intersection with the circle of a given radius\n const tan = Math.abs(Math.tan(angle));\n\n // get config radius\n let radius = Array.isArray(cornerRadius) ? cornerRadius[i % points.length] ?? 0 : cornerRadius;\n let segment = radius / tan;\n\n //Check the segment\n const length1 = getLength(dx1, dy1);\n const length2 = getLength(dx2, dy2);\n\n const length = Math.min(length1, length2);\n\n if (segment > length) {\n segment = length;\n radius = length * tan;\n }\n\n // Points of intersection are calculated by the proportion between\n // the coordinates of the vector, length of vector and the length of the segment.\n const p1Cross = getProportionPoint(angularPoint, segment, length1, dx1, dy1);\n const p2Cross = getProportionPoint(angularPoint, segment, length2, dx2, dy2);\n\n // Calculation of the coordinates of the circle\n // center by the addition of angular vectors.\n const dx = angularPoint.x * 2 - p1Cross.x - p2Cross.x;\n const dy = angularPoint.y * 2 - p1Cross.y - p2Cross.y;\n\n const L = getLength(dx, dy);\n const d = getLength(segment, radius);\n\n const circlePoint = getProportionPoint(angularPoint, d, L, dx, dy);\n\n //StartAngle and EndAngle of arc\n let startAngle = Math.atan2(p1Cross.y - circlePoint.y, p1Cross.x - circlePoint.x);\n const endAngle = Math.atan2(p2Cross.y - circlePoint.y, p2Cross.x - circlePoint.x);\n\n //Sweep angle\n let sweepAngle = endAngle - startAngle;\n\n //Some additional checks\n if (sweepAngle < 0) {\n startAngle = endAngle;\n sweepAngle = -sweepAngle;\n }\n\n if (sweepAngle > Math.PI) {\n sweepAngle = sweepAngle - Math.PI;\n }\n\n if (i === 0) {\n path.moveTo(p1Cross.x + x, p1Cross.y + y);\n } else {\n path.lineTo(p1Cross.x + x, p1Cross.y + y);\n }\n\n if (sweepAngle) {\n path.arcTo(angularPoint.x + x, angularPoint.y + y, p2Cross.x + x, p2Cross.y + y, radius);\n }\n\n path.lineTo(p2Cross.x + x, p2Cross.y + y);\n }\n\n if (!closePath) {\n path.lineTo(points[endI + 1].x + x, points[endI + 1].y + y);\n }\n}\n\nfunction getLength(dx: number, dy: number) {\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction getProportionPoint(point: IPointLike, segment: number, length: number, dx: number, dy: number) {\n const factor = segment / length;\n\n return {\n x: point.x - dx * factor,\n y: point.y - dy * factor\n };\n}\n"]}
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const vutils_1 = require("@visactor/vutils"), enums_1 = require("./enums"), cubic_bezier_1 = require("./segment/curve/cubic-bezier"), line_1 = require("./segment/curve/line"), render_utils_1 = require("./render-utils");
8
8
 
9
9
  function drawAreaSegments(path, segPath, percent, params) {
10
- var _a;
11
10
  const {drawConnect: drawConnect = !1, mode: mode = "none"} = params || {};
12
11
  if (drawConnect && "none" === mode) return;
13
12
  const {top: top, bottom: bottom} = segPath;
@@ -49,9 +48,9 @@ function drawAreaSegments(path, segPath, percent, params) {
49
48
  }
50
49
  if (percent <= 0) return;
51
50
  let {direction: direction} = params || {};
52
- const {curves: topCurves} = top, endP = null !== (_a = topCurves[topCurves.length - 1].p3) && void 0 !== _a ? _a : topCurves[topCurves.length - 1].p1, xTotalLength = (0,
51
+ const {curves: topCurves} = top, endP = topCurves[topCurves.length - 1].p3 ?? topCurves[topCurves.length - 1].p1, xTotalLength = (0,
53
52
  vutils_1.abs)(endP.x - topCurves[0].p0.x), yTotalLength = (0, vutils_1.abs)(endP.y - topCurves[0].p0.y);
54
- direction = null != direction ? direction : xTotalLength > yTotalLength ? enums_1.Direction.ROW : enums_1.Direction.COLUMN,
53
+ direction = direction ?? (xTotalLength > yTotalLength ? enums_1.Direction.ROW : enums_1.Direction.COLUMN),
55
54
  Number.isFinite(xTotalLength) || (direction = enums_1.Direction.COLUMN), Number.isFinite(yTotalLength) || (direction = enums_1.Direction.ROW);
56
55
  const totalDrawLength = percent * (direction === enums_1.Direction.ROW ? xTotalLength : yTotalLength);
57
56
  let drawedLengthUntilLast = 0, lastDefined = !0;