@web-atoms/core 2.1.357 → 2.1.369

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 (294) hide show
  1. package/dist/App.sys.js +220 -0
  2. package/dist/App.sys.js.map +1 -0
  3. package/dist/Atom.sys.js +177 -0
  4. package/dist/Atom.sys.js.map +1 -0
  5. package/dist/MockApp.sys.js +45 -0
  6. package/dist/MockApp.sys.js.map +1 -0
  7. package/dist/Pack.sys.js +13 -0
  8. package/dist/Pack.sys.js.map +1 -0
  9. package/dist/core/AtomBinder.sys.js +274 -0
  10. package/dist/core/AtomBinder.sys.js.map +1 -0
  11. package/dist/core/AtomBridge.sys.js +390 -0
  12. package/dist/core/AtomBridge.sys.js.map +1 -0
  13. package/dist/core/AtomComponent.sys.js +703 -0
  14. package/dist/core/AtomComponent.sys.js.map +1 -0
  15. package/dist/core/AtomDispatcher.sys.js +77 -0
  16. package/dist/core/AtomDispatcher.sys.js.map +1 -0
  17. package/dist/core/AtomDisposableList.sys.js +46 -0
  18. package/dist/core/AtomDisposableList.sys.js.map +1 -0
  19. package/dist/core/AtomEnumerator.sys.js +34 -0
  20. package/dist/core/AtomEnumerator.sys.js.map +1 -0
  21. package/dist/core/AtomList.sys.js +238 -0
  22. package/dist/core/AtomList.sys.js.map +1 -0
  23. package/dist/core/AtomLoader.sys.js +178 -0
  24. package/dist/core/AtomLoader.sys.js.map +1 -0
  25. package/dist/core/AtomMap.sys.js +83 -0
  26. package/dist/core/AtomMap.sys.js.map +1 -0
  27. package/dist/core/AtomOnce.sys.js +42 -0
  28. package/dist/core/AtomOnce.sys.js.map +1 -0
  29. package/dist/core/AtomSelectableList.sys.js +336 -0
  30. package/dist/core/AtomSelectableList.sys.js.map +1 -0
  31. package/dist/core/AtomUri.sys.js +110 -0
  32. package/dist/core/AtomUri.sys.js.map +1 -0
  33. package/dist/core/AtomWatcher.sys.js +167 -0
  34. package/dist/core/AtomWatcher.sys.js.map +1 -0
  35. package/dist/core/Bind.sys.js +394 -0
  36. package/dist/core/Bind.sys.js.map +1 -0
  37. package/dist/core/BindableProperty.sys.js +51 -0
  38. package/dist/core/BindableProperty.sys.js.map +1 -0
  39. package/dist/core/CancelTokenFactory.sys.js +57 -0
  40. package/dist/core/CancelTokenFactory.sys.js.map +1 -0
  41. package/dist/core/Color.sys.js +9 -0
  42. package/dist/core/Color.sys.js.map +1 -0
  43. package/dist/core/Colors.sys.js +305 -0
  44. package/dist/core/Colors.sys.js.map +1 -0
  45. package/dist/core/Defer.sys.js +45 -0
  46. package/dist/core/Defer.sys.js.map +1 -0
  47. package/dist/core/ExpressionParser.sys.js +201 -0
  48. package/dist/core/ExpressionParser.sys.js.map +1 -0
  49. package/dist/core/FormattedError.sys.js +23 -0
  50. package/dist/core/FormattedError.sys.js.map +1 -0
  51. package/dist/core/FormattedString.sys.js +20 -0
  52. package/dist/core/FormattedString.sys.js.map +1 -0
  53. package/dist/core/IFetchEvent.sys.js +9 -0
  54. package/dist/core/IFetchEvent.sys.js.map +1 -0
  55. package/dist/core/IScreen.sys.js +9 -0
  56. package/dist/core/IScreen.sys.js.map +1 -0
  57. package/dist/core/IValueConverter.sys.js +9 -0
  58. package/dist/core/IValueConverter.sys.js.map +1 -0
  59. package/dist/core/InheritedProperty.sys.js +61 -0
  60. package/dist/core/InheritedProperty.sys.js.map +1 -0
  61. package/dist/core/InjectProperty.sys.js +25 -0
  62. package/dist/core/InjectProperty.sys.js.map +1 -0
  63. package/dist/core/KeyValuePairs.sys.js +9 -0
  64. package/dist/core/KeyValuePairs.sys.js.map +1 -0
  65. package/dist/core/Markdown.sys.js +37 -0
  66. package/dist/core/Markdown.sys.js.map +1 -0
  67. package/dist/core/MarkdownError.sys.js +26 -0
  68. package/dist/core/MarkdownError.sys.js.map +1 -0
  69. package/dist/core/PropertyBinding.sys.js +11 -0
  70. package/dist/core/PropertyBinding.sys.js.map +1 -0
  71. package/dist/core/PropertyMap.sys.js +53 -0
  72. package/dist/core/PropertyMap.sys.js.map +1 -0
  73. package/dist/core/SingleInvoker.sys.js +71 -0
  74. package/dist/core/SingleInvoker.sys.js.map +1 -0
  75. package/dist/core/StringHelper.sys.js +76 -0
  76. package/dist/core/StringHelper.sys.js.map +1 -0
  77. package/dist/core/TransientDisposable.sys.js +34 -0
  78. package/dist/core/TransientDisposable.sys.js.map +1 -0
  79. package/dist/core/WatchProperty.sys.js +37 -0
  80. package/dist/core/WatchProperty.sys.js.map +1 -0
  81. package/dist/core/WebImage.sys.js +24 -0
  82. package/dist/core/WebImage.sys.js.map +1 -0
  83. package/dist/core/XNode.sys.js +205 -0
  84. package/dist/core/XNode.sys.js.map +1 -0
  85. package/dist/core/sleep.sys.js +30 -0
  86. package/dist/core/sleep.sys.js.map +1 -0
  87. package/dist/core/types.sys.js +130 -0
  88. package/dist/core/types.sys.js.map +1 -0
  89. package/dist/di/DISingleton.sys.js +26 -0
  90. package/dist/di/DISingleton.sys.js.map +1 -0
  91. package/dist/di/DITransient.sys.js +26 -0
  92. package/dist/di/DITransient.sys.js.map +1 -0
  93. package/dist/di/IMockOrInject.sys.js +9 -0
  94. package/dist/di/IMockOrInject.sys.js.map +1 -0
  95. package/dist/di/IServiceProvider.sys.js +9 -0
  96. package/dist/di/IServiceProvider.sys.js.map +1 -0
  97. package/dist/di/Inject.sys.js +111 -0
  98. package/dist/di/Inject.sys.js.map +1 -0
  99. package/dist/di/Register.sys.js +64 -0
  100. package/dist/di/Register.sys.js.map +1 -0
  101. package/dist/di/RegisterScoped.sys.js +23 -0
  102. package/dist/di/RegisterScoped.sys.js.map +1 -0
  103. package/dist/di/RegisterSingleton.sys.js +23 -0
  104. package/dist/di/RegisterSingleton.sys.js.map +1 -0
  105. package/dist/di/ServiceCollection.sys.js +76 -0
  106. package/dist/di/ServiceCollection.sys.js.map +1 -0
  107. package/dist/di/ServiceProvider.sys.js +173 -0
  108. package/dist/di/ServiceProvider.sys.js.map +1 -0
  109. package/dist/di/TypeKey.sys.js +27 -0
  110. package/dist/di/TypeKey.sys.js.map +1 -0
  111. package/dist/services/BusyIndicatorService.sys.js +33 -0
  112. package/dist/services/BusyIndicatorService.sys.js.map +1 -0
  113. package/dist/services/CacheService.sys.js +145 -0
  114. package/dist/services/CacheService.sys.js.map +1 -0
  115. package/dist/services/JsonService.sys.js +181 -0
  116. package/dist/services/JsonService.sys.js.map +1 -0
  117. package/dist/services/MockNavigationService.sys.js +236 -0
  118. package/dist/services/MockNavigationService.sys.js.map +1 -0
  119. package/dist/services/NavigationService.sys.js +175 -0
  120. package/dist/services/NavigationService.sys.js.map +1 -0
  121. package/dist/services/ReferenceService.sys.js +68 -0
  122. package/dist/services/ReferenceService.sys.js.map +1 -0
  123. package/dist/services/http/AjaxOptions.sys.js +15 -0
  124. package/dist/services/http/AjaxOptions.sys.js.map +1 -0
  125. package/dist/services/http/JsonError.sys.js +27 -0
  126. package/dist/services/http/JsonError.sys.js.map +1 -0
  127. package/dist/services/http/RestService.sys.js +524 -0
  128. package/dist/services/http/RestService.sys.js.map +1 -0
  129. package/dist/style/StyleRule.sys.js +3550 -0
  130. package/dist/style/StyleRule.sys.js.map +1 -0
  131. package/dist/test.sys.js +9 -0
  132. package/dist/test.sys.js.map +1 -0
  133. package/dist/tsconfig.tsbuildinfo +1 -1
  134. package/dist/unit/AtomTest.sys.js +67 -0
  135. package/dist/unit/AtomTest.sys.js.map +1 -0
  136. package/dist/unit/AtomWebTest.sys.js +83 -0
  137. package/dist/unit/AtomWebTest.sys.js.map +1 -0
  138. package/dist/view-model/Action.sys.js +147 -0
  139. package/dist/view-model/Action.sys.js.map +1 -0
  140. package/dist/view-model/AtomViewModel.sys.js +435 -0
  141. package/dist/view-model/AtomViewModel.sys.js.map +1 -0
  142. package/dist/view-model/AtomWindowViewModel.sys.js +71 -0
  143. package/dist/view-model/AtomWindowViewModel.sys.js.map +1 -0
  144. package/dist/view-model/BindableUrlParameter.sys.js +28 -0
  145. package/dist/view-model/BindableUrlParameter.sys.js.map +1 -0
  146. package/dist/view-model/Delay.sys.js +41 -0
  147. package/dist/view-model/Delay.sys.js.map +1 -0
  148. package/dist/view-model/Disposable.sys.js +52 -0
  149. package/dist/view-model/Disposable.sys.js.map +1 -0
  150. package/dist/view-model/Load.sys.js +142 -0
  151. package/dist/view-model/Load.sys.js.map +1 -0
  152. package/dist/view-model/Once.sys.js +59 -0
  153. package/dist/view-model/Once.sys.js.map +1 -0
  154. package/dist/view-model/baseTypes.sys.js +17 -0
  155. package/dist/view-model/baseTypes.sys.js.map +1 -0
  156. package/dist/view-model/bindPromise.sys.js +45 -0
  157. package/dist/view-model/bindPromise.sys.js.map +1 -0
  158. package/dist/view-model/bindProperty.sys.js +20 -0
  159. package/dist/view-model/bindProperty.sys.js.map +1 -0
  160. package/dist/view-model/bindUrlParameter.sys.js +70 -0
  161. package/dist/view-model/bindUrlParameter.sys.js.map +1 -0
  162. package/dist/web/WebApp.sys.js +269 -0
  163. package/dist/web/WebApp.sys.js.map +1 -0
  164. package/dist/web/controls/AtomAlertWindow.sys.js +80 -0
  165. package/dist/web/controls/AtomAlertWindow.sys.js.map +1 -0
  166. package/dist/web/controls/AtomComboBox.sys.js +115 -0
  167. package/dist/web/controls/AtomComboBox.sys.js.map +1 -0
  168. package/dist/web/controls/AtomContentControl.sys.js +72 -0
  169. package/dist/web/controls/AtomContentControl.sys.js.map +1 -0
  170. package/dist/web/controls/AtomControl.sys.js +667 -0
  171. package/dist/web/controls/AtomControl.sys.js.map +1 -0
  172. package/dist/web/controls/AtomFrame.sys.js +305 -0
  173. package/dist/web/controls/AtomFrame.sys.js.map +1 -0
  174. package/dist/web/controls/AtomGridSplitter.sys.js +83 -0
  175. package/dist/web/controls/AtomGridSplitter.sys.js.map +1 -0
  176. package/dist/web/controls/AtomGridView.sys.js +301 -0
  177. package/dist/web/controls/AtomGridView.sys.js.map +1 -0
  178. package/dist/web/controls/AtomItemsControl.sys.js +869 -0
  179. package/dist/web/controls/AtomItemsControl.sys.js.map +1 -0
  180. package/dist/web/controls/AtomListBox.sys.js +72 -0
  181. package/dist/web/controls/AtomListBox.sys.js.map +1 -0
  182. package/dist/web/controls/AtomNotification.sys.js +79 -0
  183. package/dist/web/controls/AtomNotification.sys.js.map +1 -0
  184. package/dist/web/controls/AtomPage.sys.js +24 -0
  185. package/dist/web/controls/AtomPage.sys.js.map +1 -0
  186. package/dist/web/controls/AtomPageLink.sys.js +158 -0
  187. package/dist/web/controls/AtomPageLink.sys.js.map +1 -0
  188. package/dist/web/controls/AtomTabbedPage.sys.js +354 -0
  189. package/dist/web/controls/AtomTabbedPage.sys.js.map +1 -0
  190. package/dist/web/controls/AtomTemplate.sys.js +17 -0
  191. package/dist/web/controls/AtomTemplate.sys.js.map +1 -0
  192. package/dist/web/controls/AtomTemplateControl.sys.js +59 -0
  193. package/dist/web/controls/AtomTemplateControl.sys.js.map +1 -0
  194. package/dist/web/controls/AtomToggleButtonBar.sys.js +53 -0
  195. package/dist/web/controls/AtomToggleButtonBar.sys.js.map +1 -0
  196. package/dist/web/controls/AtomViewPager.sys.js +107 -0
  197. package/dist/web/controls/AtomViewPager.sys.js.map +1 -0
  198. package/dist/web/controls/AtomViewStack.sys.js +41 -0
  199. package/dist/web/controls/AtomViewStack.sys.js.map +1 -0
  200. package/dist/web/controls/AtomWindow.sys.js +285 -0
  201. package/dist/web/controls/AtomWindow.sys.js.map +1 -0
  202. package/dist/web/core/AtomUI.sys.js +189 -0
  203. package/dist/web/core/AtomUI.sys.js.map +1 -0
  204. package/dist/web/core/Encoder.sys.js +178 -0
  205. package/dist/web/core/Encoder.sys.js.map +1 -0
  206. package/dist/web/core/HtmlNode.sys.js +206 -0
  207. package/dist/web/core/HtmlNode.sys.js.map +1 -0
  208. package/dist/web/images/Busy.sys.js +14 -0
  209. package/dist/web/images/Busy.sys.js.map +1 -0
  210. package/dist/web/images/BusyDataUrl.sys.js +16 -0
  211. package/dist/web/images/BusyDataUrl.sys.js.map +1 -0
  212. package/dist/web/images/Button.sys.js +14 -0
  213. package/dist/web/images/Button.sys.js.map +1 -0
  214. package/dist/web/images/ButtonDataUrl.sys.js +16 -0
  215. package/dist/web/images/ButtonDataUrl.sys.js.map +1 -0
  216. package/dist/web/images/CloseButton.sys.js +14 -0
  217. package/dist/web/images/CloseButton.sys.js.map +1 -0
  218. package/dist/web/images/CloseButtonDataUrl.sys.js +16 -0
  219. package/dist/web/images/CloseButtonDataUrl.sys.js.map +1 -0
  220. package/dist/web/images/CloseButtonHover.sys.js +14 -0
  221. package/dist/web/images/CloseButtonHover.sys.js.map +1 -0
  222. package/dist/web/images/CloseButtonHoverDataUrl.sys.js +16 -0
  223. package/dist/web/images/CloseButtonHoverDataUrl.sys.js.map +1 -0
  224. package/dist/web/samples/MovieService.sys.js +73 -0
  225. package/dist/web/samples/MovieService.sys.js.map +1 -0
  226. package/dist/web/samples/demo/app.sys.js +30 -0
  227. package/dist/web/samples/demo/app.sys.js.map +1 -0
  228. package/dist/web/samples/demo/views/MovieList.sys.js +77 -0
  229. package/dist/web/samples/demo/views/MovieList.sys.js.map +1 -0
  230. package/dist/web/samples/demo/views/MovieListViewModel.sys.js +128 -0
  231. package/dist/web/samples/demo/views/MovieListViewModel.sys.js.map +1 -0
  232. package/dist/web/samples/tabs/app.sys.js +68 -0
  233. package/dist/web/samples/tabs/app.sys.js.map +1 -0
  234. package/dist/web/samples/tabs/views/List.sys.js +14 -0
  235. package/dist/web/samples/tabs/views/List.sys.js.map +1 -0
  236. package/dist/web/samples/tabs/views/ListDataUrl.sys.js +16 -0
  237. package/dist/web/samples/tabs/views/ListDataUrl.sys.js.map +1 -0
  238. package/dist/web/samples/tabs/views/Page1.sys.js +117 -0
  239. package/dist/web/samples/tabs/views/Page1.sys.js.map +1 -0
  240. package/dist/web/samples/tabs/views/TabHost.sys.js +103 -0
  241. package/dist/web/samples/tabs/views/TabHost.sys.js.map +1 -0
  242. package/dist/web/samples/window/WindowSample.sys.js +33 -0
  243. package/dist/web/samples/window/WindowSample.sys.js.map +1 -0
  244. package/dist/web/services/MarkdownService.sys.js +45 -0
  245. package/dist/web/services/MarkdownService.sys.js.map +1 -0
  246. package/dist/web/services/NotificationPopup.sys.js +44 -0
  247. package/dist/web/services/NotificationPopup.sys.js.map +1 -0
  248. package/dist/web/services/PopupService.sys.js +876 -0
  249. package/dist/web/services/PopupService.sys.js.map +1 -0
  250. package/dist/web/services/WebBusyIndicatorService.sys.js +95 -0
  251. package/dist/web/services/WebBusyIndicatorService.sys.js.map +1 -0
  252. package/dist/web/services/WindowService.sys.js +445 -0
  253. package/dist/web/services/WindowService.sys.js.map +1 -0
  254. package/dist/web/styles/AtomAlertWindowStyle.sys.js +59 -0
  255. package/dist/web/styles/AtomAlertWindowStyle.sys.js.map +1 -0
  256. package/dist/web/styles/AtomFrameStyle.sys.js +33 -0
  257. package/dist/web/styles/AtomFrameStyle.sys.js.map +1 -0
  258. package/dist/web/styles/AtomListBoxStyle.sys.js +49 -0
  259. package/dist/web/styles/AtomListBoxStyle.sys.js.map +1 -0
  260. package/dist/web/styles/AtomNotificationStyle.sys.js +39 -0
  261. package/dist/web/styles/AtomNotificationStyle.sys.js.map +1 -0
  262. package/dist/web/styles/AtomPageLinkStyle.sys.js +30 -0
  263. package/dist/web/styles/AtomPageLinkStyle.sys.js.map +1 -0
  264. package/dist/web/styles/AtomPopupStyle.sys.js +27 -0
  265. package/dist/web/styles/AtomPopupStyle.sys.js.map +1 -0
  266. package/dist/web/styles/AtomStyle.sys.js +105 -0
  267. package/dist/web/styles/AtomStyle.sys.js.map +1 -0
  268. package/dist/web/styles/AtomStyleSheet.sys.js +84 -0
  269. package/dist/web/styles/AtomStyleSheet.sys.js.map +1 -0
  270. package/dist/web/styles/AtomTabbedPageStyle.sys.js +135 -0
  271. package/dist/web/styles/AtomTabbedPageStyle.sys.js.map +1 -0
  272. package/dist/web/styles/AtomTheme.sys.js +70 -0
  273. package/dist/web/styles/AtomTheme.sys.js.map +1 -0
  274. package/dist/web/styles/AtomToggleButtonBarStyle.sys.js +83 -0
  275. package/dist/web/styles/AtomToggleButtonBarStyle.sys.js.map +1 -0
  276. package/dist/web/styles/AtomWindowStyle.sys.js +144 -0
  277. package/dist/web/styles/AtomWindowStyle.sys.js.map +1 -0
  278. package/dist/web/styles/CSS.sys.js +96 -0
  279. package/dist/web/styles/CSS.sys.js.map +1 -0
  280. package/dist/web/styles/CommonStyles.sys.js +79 -0
  281. package/dist/web/styles/CommonStyles.sys.js.map +1 -0
  282. package/dist/web/styles/IStyleDeclaration.sys.js +9 -0
  283. package/dist/web/styles/IStyleDeclaration.sys.js.map +1 -0
  284. package/dist/web/styles/StyleBuilder.sys.js +112 -0
  285. package/dist/web/styles/StyleBuilder.sys.js.map +1 -0
  286. package/dist/xf/XFApp.sys.js +75 -0
  287. package/dist/xf/XFApp.sys.js.map +1 -0
  288. package/dist/xf/controls/AtomXFControl.sys.js +334 -0
  289. package/dist/xf/controls/AtomXFControl.sys.js.map +1 -0
  290. package/dist/xf/services/XFBusyIndicatorService.sys.js +40 -0
  291. package/dist/xf/services/XFBusyIndicatorService.sys.js.map +1 -0
  292. package/dist/xf/services/XFNavigationService.sys.js +204 -0
  293. package/dist/xf/services/XFNavigationService.sys.js.map +1 -0
  294. package/package.json +3 -2
@@ -0,0 +1,23 @@
1
+ System.register(["./Register", "./ServiceCollection"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var Register, Scope;
5
+
6
+ function RegisterScoped(id) {
7
+ Register({
8
+ scope: Scope.Scoped
9
+ })(id);
10
+ }
11
+
12
+ _export("RegisterScoped", RegisterScoped);
13
+
14
+ return {
15
+ setters: [function (_Register) {
16
+ Register = _Register.Register;
17
+ }, function (_ServiceCollection) {
18
+ Scope = _ServiceCollection.Scope;
19
+ }],
20
+ execute: function () {}
21
+ };
22
+ });
23
+ //# sourceMappingURL=RegisterScoped.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;EAIM,SAAUA,cAAV,CAAyBC,EAAzB,EAAgC;IAClCC,QAAQ,CAAC;MAACC,KAAK,EAAEC,KAAK,CAACC;IAAd,CAAD,CAAR,CAAgCJ,EAAhC;EACH;;4BAFeD,c;;;;MAHPE,Q,aAAAA,Q;;MACAE,K,sBAAAA,K","names":["RegisterScoped","id","Register","scope","Scope","Scoped"],"sourceRoot":"","sources":["../../src/di/RegisterScoped.ts"],"sourcesContent":[null]}
@@ -0,0 +1,23 @@
1
+ System.register(["./Register", "./ServiceCollection"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var Register, Scope;
5
+
6
+ function RegisterSingleton(target) {
7
+ Register({
8
+ scope: Scope.Global
9
+ })(target);
10
+ }
11
+
12
+ _export("RegisterSingleton", RegisterSingleton);
13
+
14
+ return {
15
+ setters: [function (_Register) {
16
+ Register = _Register.Register;
17
+ }, function (_ServiceCollection) {
18
+ Scope = _ServiceCollection.Scope;
19
+ }],
20
+ execute: function () {}
21
+ };
22
+ });
23
+ //# sourceMappingURL=RegisterSingleton.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;EAIM,SAAUA,iBAAV,CAA4BC,MAA5B,EAAuC;IACzCC,QAAQ,CAAC;MAACC,KAAK,EAAEC,KAAK,CAACC;IAAd,CAAD,CAAR,CAAgCJ,MAAhC;EACH;;+BAFeD,iB;;;;MAHPE,Q,aAAAA,Q;;MACAE,K,sBAAAA,K","names":["RegisterSingleton","target","Register","scope","Scope","Global"],"sourceRoot":"","sources":["../../src/di/RegisterSingleton.ts"],"sourcesContent":[null]}
@@ -0,0 +1,76 @@
1
+ System.register(["../core/types", "./TypeKey"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var ArrayHelper, TypeKey, ServiceDescription, ServiceCollection, Scope;
5
+
6
+ _export({
7
+ ServiceDescription: void 0,
8
+ ServiceCollection: void 0,
9
+ Scope: void 0
10
+ });
11
+
12
+ return {
13
+ setters: [function (_coreTypes) {
14
+ ArrayHelper = _coreTypes.ArrayHelper;
15
+ }, function (_TypeKey) {
16
+ TypeKey = _TypeKey.TypeKey;
17
+ }],
18
+ execute: function () {
19
+ (function (Scope) {
20
+ Scope[Scope["Global"] = 1] = "Global";
21
+ Scope[Scope["Scoped"] = 2] = "Scoped";
22
+ Scope[Scope["Transient"] = 3] = "Transient";
23
+ })(Scope || _export("Scope", Scope = {}));
24
+
25
+ _export("ServiceDescription", ServiceDescription = class ServiceDescription {
26
+ constructor(id, scope, type, factory) {
27
+ this.id = id;
28
+ this.scope = scope;
29
+ this.type = type;
30
+ this.factory = factory;
31
+
32
+ this.factory = this.factory || (sp => {
33
+ return sp.create(type);
34
+ });
35
+ }
36
+
37
+ });
38
+
39
+ _export("ServiceCollection", ServiceCollection = class ServiceCollection {
40
+ constructor() {
41
+ this.registrations = [];
42
+ this.ids = 1;
43
+ }
44
+
45
+ register(type, factory, scope = Scope.Transient, id) {
46
+ ArrayHelper.remove(this.registrations, r => id ? r.id === id : r.type === type);
47
+
48
+ if (!id) {
49
+ id = TypeKey.get(type) + this.ids;
50
+ this.ids++;
51
+ }
52
+
53
+ const sd = new ServiceDescription(id, scope, type, factory);
54
+ this.registrations.push(sd);
55
+ return sd;
56
+ }
57
+
58
+ registerScoped(type, factory, id) {
59
+ return this.register(type, factory, Scope.Scoped, id);
60
+ }
61
+
62
+ registerSingleton(type, factory, id) {
63
+ return this.register(type, factory, Scope.Global, id);
64
+ }
65
+
66
+ get(type) {
67
+ return this.registrations.find(s => s.id === type || s.type === type);
68
+ }
69
+
70
+ });
71
+
72
+ ServiceCollection.instance = new ServiceCollection();
73
+ }
74
+ };
75
+ });
76
+ //# sourceMappingURL=ServiceCollection.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;4BAYaA,kB,EAeAC,iB;;;;;;;;;;MA3BJC,W,cAAAA,W;;MAEAC,O,YAAAA,O;;;MAIT,WAAYC,KAAZ,EAAiB;QACbA;QACAA;QACAA;MACH,CAJD,EAAYA,KAAK,qBAALA,KAAK,MAAjB;;oCAMaJ,kB,GAAP,MAAOA,kBAAP,CAAyB;QAE3BK,YACWC,EADX,EAEWC,KAFX,EAGWC,IAHX,EAIWC,OAJX,EAIkC;UAHvB;UACA;UACA;UACA;;UAEP,KAAKA,OAAL,GAAe,KAAKA,OAAL,KAAkBC,EAAD,IAAO;YACnC,OAAQA,EAAU,CAACC,MAAX,CAAkBH,IAAlB,CAAR;UACH,CAFc,CAAf;QAGH;;MAX0B,C;;mCAelBP,iB,GAAP,MAAOA,iBAAP,CAAwB;QAA9BI;UAIY,qBAAsC,EAAtC;UAEA,WAAc,CAAd;QA4BX;;QA1BUO,QAAQ,CACXJ,IADW,EAEXC,OAFW,EAGXF,QAAeH,KAAK,CAACS,SAHV,EAIXP,EAJW,EAIA;UACXJ,WAAW,CAACY,MAAZ,CAAmB,KAAKC,aAAxB,EAAwCC,CAAD,IAAOV,EAAE,GAAGU,CAAC,CAACV,EAAF,KAASA,EAAZ,GAAiBU,CAAC,CAACR,IAAF,KAAWA,IAA5E;;UACA,IAAI,CAACF,EAAL,EAAS;YACLA,EAAE,GAAGH,OAAO,CAACc,GAAR,CAAYT,IAAZ,IAAoB,KAAKU,GAA9B;YACA,KAAKA,GAAL;UACH;;UACD,MAAMC,EAAE,GAAG,IAAInB,kBAAJ,CAAuBM,EAAvB,EAA2BC,KAA3B,EAAkCC,IAAlC,EAAwCC,OAAxC,CAAX;UACA,KAAKM,aAAL,CAAmBK,IAAnB,CAAwBD,EAAxB;UACA,OAAOA,EAAP;QACH;;QAEME,cAAc,CAACb,IAAD,EAAYC,OAAZ,EAAsCH,EAAtC,EAAiD;UAClE,OAAO,KAAKM,QAAL,CAAcJ,IAAd,EAAoBC,OAApB,EAA6BL,KAAK,CAACkB,MAAnC,EAA2ChB,EAA3C,CAAP;QACH;;QAEMiB,iBAAiB,CAACf,IAAD,EAAYC,OAAZ,EAAsCH,EAAtC,EAAiD;UACrE,OAAO,KAAKM,QAAL,CAAcJ,IAAd,EAAoBC,OAApB,EAA6BL,KAAK,CAACoB,MAAnC,EAA2ClB,EAA3C,CAAP;QACH;;QAEMW,GAAG,CAACT,IAAD,EAAU;UAChB,OAAO,KAAKO,aAAL,CAAmBU,IAAnB,CAA0BC,CAAD,IAAOA,CAAC,CAACpB,EAAF,KAASE,IAAT,IAAiBkB,CAAC,CAAClB,IAAF,KAAWA,IAA5D,CAAP;QACH;;MAjCyB,C;;MAEZP,6BAA8B,IAAIA,iBAAJ,EAA9B","names":["ServiceDescription","ServiceCollection","ArrayHelper","TypeKey","Scope","constructor","id","scope","type","factory","sp","create","register","Transient","remove","registrations","r","get","ids","sd","push","registerScoped","Scoped","registerSingleton","Global","find","s"],"sourceRoot":"","sources":["../../src/di/ServiceCollection.ts"],"sourcesContent":[null]}
@@ -0,0 +1,173 @@
1
+ System.register(["../core/TransientDisposable", "../core/types", "./Inject", "./ServiceCollection", "./TypeKey"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var TransientDisposable, DI, InjectedTypes, Scope, ServiceCollection, TypeKey, ServiceProvider;
5
+
6
+ _export("ServiceProvider", void 0);
7
+
8
+ return {
9
+ setters: [function (_coreTransientDisposable) {
10
+ TransientDisposable = _coreTransientDisposable.default;
11
+ }, function (_coreTypes) {
12
+ DI = _coreTypes.DI;
13
+ }, function (_Inject) {
14
+ InjectedTypes = _Inject.InjectedTypes;
15
+ }, function (_ServiceCollection) {
16
+ Scope = _ServiceCollection.Scope;
17
+ ServiceCollection = _ServiceCollection.ServiceCollection;
18
+ }, function (_TypeKey) {
19
+ TypeKey = _TypeKey.TypeKey;
20
+ }],
21
+ execute: function () {
22
+ _export("ServiceProvider", ServiceProvider = class ServiceProvider {
23
+ constructor(parent) {
24
+ this.parent = parent;
25
+ this.instances = {};
26
+
27
+ if (parent === null) {
28
+ ServiceCollection.instance.registerScoped(ServiceProvider);
29
+ }
30
+
31
+ const sd = ServiceCollection.instance.get(ServiceProvider);
32
+ this.instances[sd.id] = this;
33
+ }
34
+
35
+ get global() {
36
+ return this.parent === null ? this : this.parent.global;
37
+ }
38
+
39
+ get(key) {
40
+ return this.resolve(key, true);
41
+ }
42
+
43
+ put(key, value) {
44
+ let sd = ServiceCollection.instance.get(key);
45
+
46
+ if (!sd) {
47
+ sd = ServiceCollection.instance.register(key, () => value, Scope.Global);
48
+ }
49
+
50
+ this.instances[sd.id] = value;
51
+ }
52
+
53
+ resolve(key, create = false, defValue) {
54
+ const sd = ServiceCollection.instance.get(key);
55
+
56
+ if (!sd) {
57
+ if (!create) {
58
+ if (defValue !== undefined) {
59
+ return defValue;
60
+ }
61
+
62
+ throw new Error(`No service registered for type ${key}`);
63
+ }
64
+
65
+ return this.create(key);
66
+ }
67
+
68
+ if (sd.type === ServiceProvider) {
69
+ return this;
70
+ }
71
+
72
+ if (sd.scope === Scope.Global) {
73
+ return this.global.getValue(sd);
74
+ }
75
+
76
+ if (sd.scope === Scope.Scoped) {
77
+ if (this.parent === null) {
78
+ throw new Error("Scoped dependency cannot be created on global");
79
+ }
80
+ }
81
+
82
+ return this.getValue(sd);
83
+ }
84
+
85
+ getValue(sd) {
86
+ if (sd.scope === Scope.Transient) {
87
+ return sd.factory(this);
88
+ }
89
+
90
+ let v = this.instances[sd.id];
91
+
92
+ if (!v) {
93
+ this.instances[sd.id] = v = sd.factory(this);
94
+ }
95
+
96
+ return v;
97
+ }
98
+
99
+ newScope() {
100
+ return new ServiceProvider(this);
101
+ }
102
+
103
+ dispose() {
104
+ for (const key in this.instances) {
105
+ if (this.instances.hasOwnProperty(key)) {
106
+ const element = this.instances[key];
107
+
108
+ if (element === this) {
109
+ continue;
110
+ }
111
+
112
+ const d = element;
113
+
114
+ if (d.dispose) {
115
+ d.dispose();
116
+ }
117
+ }
118
+ }
119
+ }
120
+
121
+ create(key) {
122
+ const originalKey = key;
123
+ const originalTypeKey = TypeKey.get(originalKey);
124
+
125
+ if (DI.resolveType) {
126
+ const mappedType = ServiceProvider.mappedTypes[originalTypeKey] || (ServiceProvider.mappedTypes[originalTypeKey] = DI.resolveType(originalKey));
127
+ key = mappedType;
128
+ }
129
+
130
+ const typeKey1 = TypeKey.get(key);
131
+ const plist = InjectedTypes.getParamList(key, typeKey1);
132
+ let value = null;
133
+
134
+ if (plist) {
135
+ const pv = plist.map(x => x ? this.resolve(x) : void 0);
136
+ pv.unshift(null);
137
+ value = new (key.bind.apply(key, pv))();
138
+
139
+ for (const iterator of pv) {
140
+ if (iterator && iterator instanceof TransientDisposable) {
141
+ iterator.registerIn(value);
142
+ }
143
+ }
144
+ } else {
145
+ value = new key();
146
+ }
147
+
148
+ const propList = InjectedTypes.getPropertyList(key, typeKey1);
149
+
150
+ if (propList) {
151
+ for (const key1 in propList) {
152
+ if (propList.hasOwnProperty(key1)) {
153
+ const element = propList[key1];
154
+ const d = this.resolve(element);
155
+ value[key1] = d;
156
+
157
+ if (d && d instanceof TransientDisposable) {
158
+ d.registerIn(value);
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ return value;
165
+ }
166
+
167
+ });
168
+
169
+ ServiceProvider.mappedTypes = {};
170
+ }
171
+ };
172
+ });
173
+ //# sourceMappingURL=ServiceProvider.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["ServiceProvider","TransientDisposable","DI","InjectedTypes","Scope","ServiceCollection","TypeKey","constructor","parent","instance","registerScoped","sd","get","instances","id","global","key","resolve","put","value","register","Global","create","defValue","undefined","Error","type","scope","getValue","Scoped","Transient","factory","v","newScope","dispose","hasOwnProperty","element","d","originalKey","originalTypeKey","resolveType","mappedType","mappedTypes","typeKey1","plist","getParamList","pv","map","x","unshift","bind","apply","iterator","registerIn","propList","getPropertyList","key1"],"sourceRoot":"","sources":["../../src/di/ServiceProvider.ts"],"sourcesContent":[null]}
@@ -0,0 +1,27 @@
1
+ System.register(["../core/AtomMap"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var AtomMap, TypeKey;
5
+
6
+ _export("TypeKey", void 0);
7
+
8
+ return {
9
+ setters: [function (_coreAtomMap) {
10
+ AtomMap = _coreAtomMap.default;
11
+ }],
12
+ execute: function () {
13
+ _export("TypeKey", TypeKey = class TypeKey {
14
+ static get(c) {
15
+ return TypeKey.keys.getOrCreate(c, c1 => {
16
+ const key = `${c1.name || "key"}${TypeKey.keys.size}`;
17
+ return key;
18
+ });
19
+ }
20
+
21
+ });
22
+
23
+ TypeKey.keys = new AtomMap();
24
+ }
25
+ };
26
+ });
27
+ //# sourceMappingURL=TypeKey.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;eAEaA,O;;;;;;MAFNC,O;;;yBAEMD,O,GAAP,MAAOA,OAAP,CAAc;QAEC,OAAHE,GAAG,CAACC,CAAD,EAAO;UASpB,OAAOH,OAAO,CAACI,IAAR,CAAaC,WAAb,CAAyBF,CAAzB,EAA6BG,EAAD,IAAO;YACtC,MAAMC,GAAG,GAAG,GAAGD,EAAE,CAACE,IAAH,IAAW,KAAK,GAAGR,OAAO,CAACI,IAAR,CAAaK,IAAI,EAAnD;YACA,OAAOF,GAAP;UACH,CAHM,CAAP;QAIH;;MAfe,C;;MAiBDP,eAA0B,IAAIC,OAAJ,EAA1B","names":["TypeKey","AtomMap","get","c","keys","getOrCreate","c1","key","name","size"],"sourceRoot":"","sources":["../../src/di/TypeKey.ts"],"sourcesContent":[null]}
@@ -0,0 +1,33 @@
1
+ System.register(["../di/RegisterSingleton"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var RegisterSingleton, __decorate, BusyIndicatorService;
5
+
6
+ return {
7
+ setters: [function (_diRegisterSingleton) {
8
+ RegisterSingleton = _diRegisterSingleton.RegisterSingleton;
9
+ }],
10
+ execute: function () {
11
+ __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
12
+ var c = arguments.length,
13
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
14
+ d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17
+ };
18
+
19
+ _export("BusyIndicatorService", BusyIndicatorService = class BusyIndicatorService {
20
+ createIndicator(info) {
21
+ return {
22
+ dispose() {}
23
+
24
+ };
25
+ }
26
+
27
+ });
28
+
29
+ _export("BusyIndicatorService", BusyIndicatorService = __decorate([RegisterSingleton], BusyIndicatorService));
30
+ }
31
+ };
32
+ });
33
+ //# sourceMappingURL=BusyIndicatorService.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;;;MACSA,iB,wBAAAA,iB;;;;;;;;;;;sCASIC,oB,GAAb,MAAaA,oBAAb,CAAiC;QAEtBC,eAAe,CAACC,IAAD,EAA2B;UAC7C,OAAO;YACHC,OAAO,IAEN;;UAHE,CAAP;QAKH;;MAR4B,C;;MAApB,oDAAoB,eADhCJ,iBACgC,GAApBC,oBAAoB,CAApB","names":["RegisterSingleton","BusyIndicatorService","createIndicator","info","dispose"],"sourceRoot":"","sources":["../../src/services/BusyIndicatorService.ts"],"sourcesContent":[null]}
@@ -0,0 +1,145 @@
1
+ System.register(["../App", "../di/DISingleton", "../di/Inject"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var App, DISingleton, Inject, __decorate, __metadata, __param, __awaiter, CacheService;
5
+
6
+ return {
7
+ setters: [function (_App) {
8
+ App = _App.App;
9
+ }, function (_diDISingleton) {
10
+ DISingleton = _diDISingleton.default;
11
+ }, function (_diInject) {
12
+ Inject = _diInject.Inject;
13
+ }],
14
+ execute: function () {
15
+ __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
16
+ var c = arguments.length,
17
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
18
+ d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
20
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
21
+ };
22
+
23
+ __metadata = void 0 && (void 0).__metadata || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+
27
+ __param = void 0 && (void 0).__param || function (paramIndex, decorator) {
28
+ return function (target, key) {
29
+ decorator(target, key, paramIndex);
30
+ };
31
+ };
32
+
33
+ __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
34
+ function adopt(value) {
35
+ return value instanceof P ? value : new P(function (resolve) {
36
+ resolve(value);
37
+ });
38
+ }
39
+
40
+ return new (P || (P = Promise))(function (resolve, reject) {
41
+ function fulfilled(value) {
42
+ try {
43
+ step(generator.next(value));
44
+ } catch (e) {
45
+ reject(e);
46
+ }
47
+ }
48
+
49
+ function rejected(value) {
50
+ try {
51
+ step(generator["throw"](value));
52
+ } catch (e) {
53
+ reject(e);
54
+ }
55
+ }
56
+
57
+ function step(result) {
58
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
59
+ }
60
+
61
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
62
+ });
63
+ };
64
+
65
+ CacheService = class CacheService {
66
+ constructor(app) {
67
+ this.app = app;
68
+ this.cache = {};
69
+ }
70
+
71
+ remove(key) {
72
+ const v = this.cache[key];
73
+
74
+ if (v) {
75
+ this.clear(v);
76
+ return v.value;
77
+ }
78
+
79
+ return null;
80
+ }
81
+
82
+ getOrCreate(key, task) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const c = this.cache[key] || (this.cache[key] = {
85
+ key,
86
+ finalTTL: 3600
87
+ });
88
+
89
+ if (!c.value) {
90
+ c.value = task(c);
91
+ }
92
+
93
+ let v = null;
94
+
95
+ try {
96
+ v = yield c.value;
97
+ } catch (e) {
98
+ this.clear(c);
99
+ throw e;
100
+ }
101
+
102
+ if (c.ttlSeconds !== undefined) {
103
+ if (typeof c.ttlSeconds === "number") {
104
+ c.finalTTL = c.ttlSeconds;
105
+ } else {
106
+ c.finalTTL = c.ttlSeconds(v);
107
+ }
108
+ }
109
+
110
+ if (c.timeout) {
111
+ clearTimeout(c.timeout);
112
+ }
113
+
114
+ if (c.finalTTL) {
115
+ this.cache[key] = c;
116
+ c.timeout = setTimeout(() => {
117
+ c.timeout = 0;
118
+ this.clear(c);
119
+ }, c.finalTTL * 1000);
120
+ } else {
121
+ this.clear(c);
122
+ }
123
+
124
+ return yield c.value;
125
+ });
126
+ }
127
+
128
+ clear(ci) {
129
+ if (ci.timeout) {
130
+ clearTimeout(ci.timeout);
131
+ ci.timeout = 0;
132
+ }
133
+
134
+ this.cache[ci.key] = null;
135
+ delete this.cache[ci.key];
136
+ }
137
+
138
+ };
139
+ CacheService = __decorate([DISingleton(), __param(0, Inject), __metadata("design:paramtypes", [App])], CacheService);
140
+
141
+ _export("default", CacheService);
142
+ }
143
+ };
144
+ });
145
+ //# sourceMappingURL=CacheService.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":";;;;;;;MAASA,G,QAAAA,G;;MAEFC,W;;MACEC,M,aAAAA,M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAqCYC,Y,GAArB,MAAqBA,YAArB,CAAiC;QAI7BC,YAA4BC,GAA5B,EAAoC;UAAR;UAFpB,aAA6C,EAA7C;QAGP;;QAEMC,MAAM,CAACC,GAAD,EAAY;UACrB,MAAMC,CAAC,GAAG,KAAKC,KAAL,CAAWF,GAAX,CAAV;;UACA,IAAIC,CAAJ,EAAO;YACH,KAAKE,KAAL,CAAWF,CAAX;YACA,OAAOA,CAAC,CAACG,KAAT;UACH;;UACD,OAAO,IAAP;QACH;;QAEYC,WAAW,CACpBL,GADoB,EAEpBM,IAFoB,EAE6B;;YACjD,MAAMC,CAAC,GAAG,KAAKL,KAAL,CAAWF,GAAX,MAAoB,KAAKE,KAAL,CAAWF,GAAX,IAAkB;cAC5CA,GAD4C;cAE5CQ,QAAQ,EAAE;YAFkC,CAAtC,CAAV;;YAIA,IAAI,CAACD,CAAC,CAACH,KAAP,EAAc;cACVG,CAAC,CAACH,KAAF,GAAUE,IAAI,CAACC,CAAD,CAAd;YACH;;YACD,IAAIN,CAAC,GAAQ,IAAb;;YACA,IAAI;cACAA,CAAC,GAAG,MAAMM,CAAC,CAACH,KAAZ;YACH,CAFD,CAEE,OAAOK,CAAP,EAAU;cACR,KAAKN,KAAL,CAAWI,CAAX;cACA,MAAME,CAAN;YACH;;YACD,IAAIF,CAAC,CAACG,UAAF,KAAiBC,SAArB,EAAgC;cAC5B,IAAI,OAAOJ,CAAC,CAACG,UAAT,KAAwB,QAA5B,EAAsC;gBAClCH,CAAC,CAACC,QAAF,GAAaD,CAAC,CAACG,UAAf;cACH,CAFD,MAEO;gBACHH,CAAC,CAACC,QAAF,GAAaD,CAAC,CAACG,UAAF,CAAaT,CAAb,CAAb;cACH;YACJ;;YACD,IAAIM,CAAC,CAACK,OAAN,EAAe;cACXC,YAAY,CAACN,CAAC,CAACK,OAAH,CAAZ;YACH;;YACD,IAAIL,CAAC,CAACC,QAAN,EAAgB;cACZ,KAAKN,KAAL,CAAWF,GAAX,IAAkBO,CAAlB;cACAA,CAAC,CAACK,OAAF,GAAYE,UAAU,CAAC,MAAK;gBACxBP,CAAC,CAACK,OAAF,GAAY,CAAZ;gBACA,KAAKT,KAAL,CAAWI,CAAX;cACH,CAHqB,EAGnBA,CAAC,CAACC,QAAF,GAAa,IAHM,CAAtB;YAIH,CAND,MAMO;cAEH,KAAKL,KAAL,CAAWI,CAAX;YACH;;YACD,OAAO,MAAMA,CAAC,CAACH,KAAf;UACH;QAAA;;QAEOD,KAAK,CAACY,EAAD,EAAqB;UAC9B,IAAIA,EAAE,CAACH,OAAP,EAAgB;YACZC,YAAY,CAACE,EAAE,CAACH,OAAJ,CAAZ;YACAG,EAAE,CAACH,OAAH,GAAa,CAAb;UACH;;UACD,KAAKV,KAAL,CAAWa,EAAE,CAACf,GAAd,IAAqB,IAArB;UACA,OAAO,KAAKE,KAAL,CAAWa,EAAE,CAACf,GAAd,CAAP;QACH;;MA/D4B,C;MAAZJ,YAAY,eADhCF,WAAW,EACqB,EAIhBsB,kBAJgB,mCAIIvB,KAJJ,GAAZG,YAAY,CAAZ;;yBAAAA,Y","names":["App","DISingleton","Inject","CacheService","constructor","app","remove","key","v","cache","clear","value","getOrCreate","task","c","finalTTL","e","ttlSeconds","undefined","timeout","clearTimeout","setTimeout","ci","__param"],"sourceRoot":"","sources":["../../src/services/CacheService.ts"],"sourcesContent":[null]}