@abp/ng.core 5.0.1 → 5.0.2

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 (300) hide show
  1. package/README.md +3 -3
  2. package/abp-ng.core.d.ts +5 -5
  3. package/bundles/abp-ng.core-locale.umd.js +361 -361
  4. package/bundles/abp-ng.core-locale.umd.js.map +1 -1
  5. package/bundles/abp-ng.core-testing.umd.js +442 -442
  6. package/bundles/abp-ng.core-testing.umd.js.map +1 -1
  7. package/bundles/abp-ng.core.umd.js +4873 -4868
  8. package/bundles/abp-ng.core.umd.js.map +1 -1
  9. package/esm2015/abp-ng.core.js +4 -4
  10. package/esm2015/lib/abstracts/index.js +2 -2
  11. package/esm2015/lib/abstracts/ng-model.component.js +59 -59
  12. package/esm2015/lib/components/dynamic-layout.component.js +89 -89
  13. package/esm2015/lib/components/index.js +4 -4
  14. package/esm2015/lib/components/replaceable-route-container.component.js +42 -42
  15. package/esm2015/lib/components/router-outlet.component.js +15 -15
  16. package/esm2015/lib/constants/different-locales.js +337 -337
  17. package/esm2015/lib/constants/index.js +2 -2
  18. package/esm2015/lib/core.module.js +281 -281
  19. package/esm2015/lib/directives/autofocus.directive.js +30 -30
  20. package/esm2015/lib/directives/debounce.directive.js +36 -36
  21. package/esm2015/lib/directives/for.directive.js +151 -151
  22. package/esm2015/lib/directives/form-submit.directive.js +69 -69
  23. package/esm2015/lib/directives/index.js +9 -9
  24. package/esm2015/lib/directives/init.directive.js +21 -21
  25. package/esm2015/lib/directives/permission.directive.js +48 -48
  26. package/esm2015/lib/directives/replaceable-template.directive.js +121 -121
  27. package/esm2015/lib/directives/stop-propagation.directive.js +32 -32
  28. package/esm2015/lib/enums/common.js +2 -2
  29. package/esm2015/lib/enums/index.js +2 -2
  30. package/esm2015/lib/guards/auth.guard.js +29 -29
  31. package/esm2015/lib/guards/index.js +3 -3
  32. package/esm2015/lib/guards/permission.guard.js +44 -44
  33. package/esm2015/lib/handlers/oauth-configuration.handler.js +37 -37
  34. package/esm2015/lib/handlers/routes.handler.js +47 -47
  35. package/esm2015/lib/interceptors/api.interceptor.js +54 -54
  36. package/esm2015/lib/interceptors/index.js +2 -2
  37. package/esm2015/lib/localization.module.js +16 -16
  38. package/esm2015/lib/models/auth.js +2 -2
  39. package/esm2015/lib/models/common.js +2 -2
  40. package/esm2015/lib/models/dtos.js +119 -119
  41. package/esm2015/lib/models/environment.js +2 -2
  42. package/esm2015/lib/models/index.js +10 -10
  43. package/esm2015/lib/models/localization.js +2 -2
  44. package/esm2015/lib/models/replaceable-components.js +2 -2
  45. package/esm2015/lib/models/rest.js +2 -2
  46. package/esm2015/lib/models/session.js +2 -2
  47. package/esm2015/lib/models/utility.js +2 -2
  48. package/esm2015/lib/pipes/index.js +3 -3
  49. package/esm2015/lib/pipes/localization.pipe.js +33 -33
  50. package/esm2015/lib/pipes/sort.pipe.js +49 -49
  51. package/esm2015/lib/providers/cookie-language.provider.js +22 -22
  52. package/esm2015/lib/providers/locale.provider.js +22 -22
  53. package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js +29 -29
  54. package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js +2 -2
  55. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js +24 -24
  56. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js +2 -2
  57. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js +25 -25
  58. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js +5 -5
  59. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +2 -2
  60. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js +2 -2
  61. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +3 -3
  62. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js +2 -2
  63. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +2 -2
  64. package/esm2015/lib/proxy/volo/abp/http/modeling/index.js +2 -2
  65. package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +3 -3
  66. package/esm2015/lib/proxy/volo/abp/localization/index.js +2 -2
  67. package/esm2015/lib/proxy/volo/abp/localization/models.js +2 -2
  68. package/esm2015/lib/proxy/volo/abp/models.js +2 -2
  69. package/esm2015/lib/services/auth.service.js +47 -47
  70. package/esm2015/lib/services/config-state.service.js +130 -130
  71. package/esm2015/lib/services/content-projection.service.js +17 -17
  72. package/esm2015/lib/services/dom-insertion.service.js +32 -32
  73. package/esm2015/lib/services/environment.service.js +35 -35
  74. package/esm2015/lib/services/http-error-reporter.service.js +29 -29
  75. package/esm2015/lib/services/http-wait.service.js +72 -72
  76. package/esm2015/lib/services/index.js +22 -22
  77. package/esm2015/lib/services/lazy-load.service.js +38 -38
  78. package/esm2015/lib/services/list.service.js +103 -103
  79. package/esm2015/lib/services/localization.service.js +182 -182
  80. package/esm2015/lib/services/multi-tenancy.service.js +48 -48
  81. package/esm2015/lib/services/permission.service.js +64 -64
  82. package/esm2015/lib/services/replaceable-components.service.js +49 -49
  83. package/esm2015/lib/services/resource-wait.service.js +39 -39
  84. package/esm2015/lib/services/rest.service.js +63 -63
  85. package/esm2015/lib/services/router-events.service.js +38 -38
  86. package/esm2015/lib/services/router-wait.service.js +51 -51
  87. package/esm2015/lib/services/routes.service.js +147 -147
  88. package/esm2015/lib/services/session-state.service.js +76 -76
  89. package/esm2015/lib/services/subscription.service.js +41 -41
  90. package/esm2015/lib/services/track-by.service.js +21 -21
  91. package/esm2015/lib/strategies/auth-flow.strategy.js +202 -202
  92. package/esm2015/lib/strategies/container.strategy.js +38 -38
  93. package/esm2015/lib/strategies/content-security.strategy.js +28 -28
  94. package/esm2015/lib/strategies/content.strategy.js +48 -48
  95. package/esm2015/lib/strategies/context.strategy.js +37 -37
  96. package/esm2015/lib/strategies/cross-origin.strategy.js +26 -26
  97. package/esm2015/lib/strategies/dom.strategy.js +27 -27
  98. package/esm2015/lib/strategies/index.js +9 -9
  99. package/esm2015/lib/strategies/loading.strategy.js +58 -58
  100. package/esm2015/lib/strategies/projection.strategy.js +80 -80
  101. package/esm2015/lib/tokens/app-config.token.js +3 -3
  102. package/esm2015/lib/tokens/cookie-language-key.token.js +5 -5
  103. package/esm2015/lib/tokens/index.js +9 -9
  104. package/esm2015/lib/tokens/list.token.js +3 -3
  105. package/esm2015/lib/tokens/localization.token.js +10 -10
  106. package/esm2015/lib/tokens/lodaer-delay.token.js +3 -3
  107. package/esm2015/lib/tokens/manage-profile.token.js +12 -12
  108. package/esm2015/lib/tokens/options.token.js +8 -8
  109. package/esm2015/lib/tokens/tenant-key.token.js +3 -3
  110. package/esm2015/lib/utils/array-utils.js +7 -7
  111. package/esm2015/lib/utils/auth-utils.js +42 -42
  112. package/esm2015/lib/utils/common-utils.js +29 -29
  113. package/esm2015/lib/utils/date-extensions.js +6 -6
  114. package/esm2015/lib/utils/date-utils.js +13 -13
  115. package/esm2015/lib/utils/environment-utils.js +36 -36
  116. package/esm2015/lib/utils/factory-utils.js +24 -24
  117. package/esm2015/lib/utils/file-utils.js +14 -14
  118. package/esm2015/lib/utils/form-utils.js +12 -12
  119. package/esm2015/lib/utils/generator-utils.js +34 -34
  120. package/esm2015/lib/utils/http-utils.js +19 -19
  121. package/esm2015/lib/utils/index.js +21 -21
  122. package/esm2015/lib/utils/initial-utils.js +64 -64
  123. package/esm2015/lib/utils/internal-store-utils.js +36 -36
  124. package/esm2015/lib/utils/lazy-load-utils.js +40 -40
  125. package/esm2015/lib/utils/localization-utils.js +50 -50
  126. package/esm2015/lib/utils/multi-tenancy-utils.js +83 -83
  127. package/esm2015/lib/utils/number-utils.js +4 -4
  128. package/esm2015/lib/utils/object-utils.js +37 -37
  129. package/esm2015/lib/utils/route-utils.js +27 -27
  130. package/esm2015/lib/utils/string-utils.js +25 -21
  131. package/esm2015/lib/utils/tree-utils.js +54 -54
  132. package/esm2015/lib/validators/age.validator.js +14 -14
  133. package/esm2015/lib/validators/credit-card.validator.js +21 -21
  134. package/esm2015/lib/validators/index.js +23 -23
  135. package/esm2015/lib/validators/range.validator.js +15 -15
  136. package/esm2015/lib/validators/required.validator.js +13 -13
  137. package/esm2015/lib/validators/string-length.validator.js +15 -15
  138. package/esm2015/lib/validators/url.validator.js +16 -16
  139. package/esm2015/locale/abp-ng.core-locale.js +4 -4
  140. package/esm2015/locale/public-api.js +2 -2
  141. package/esm2015/locale/utils/register-locale.js +43 -43
  142. package/esm2015/public-api.js +26 -26
  143. package/esm2015/testing/abp-ng.core-testing.js +4 -4
  144. package/esm2015/testing/lib/core-testing.module.js +62 -62
  145. package/esm2015/testing/lib/services/index.js +3 -3
  146. package/esm2015/testing/lib/services/mock-permission.service.js +35 -35
  147. package/esm2015/testing/lib/services/mock-rest.service.js +30 -30
  148. package/esm2015/testing/lib/utils/clear-page.util.js +10 -10
  149. package/esm2015/testing/lib/utils/index.js +3 -3
  150. package/esm2015/testing/lib/utils/wait.util.js +5 -5
  151. package/esm2015/testing/public-api.js +4 -4
  152. package/fesm2015/abp-ng.core-locale.js +40 -40
  153. package/fesm2015/abp-ng.core-locale.js.map +1 -1
  154. package/fesm2015/abp-ng.core-testing.js +113 -113
  155. package/fesm2015/abp-ng.core-testing.js.map +1 -1
  156. package/fesm2015/abp-ng.core.js +3979 -3975
  157. package/fesm2015/abp-ng.core.js.map +1 -1
  158. package/lib/abstracts/index.d.ts +1 -1
  159. package/lib/abstracts/ng-model.component.d.ts +25 -25
  160. package/lib/components/dynamic-layout.component.d.ts +27 -27
  161. package/lib/components/index.d.ts +3 -3
  162. package/lib/components/replaceable-route-container.component.d.ts +17 -17
  163. package/lib/components/router-outlet.component.d.ts +5 -5
  164. package/lib/constants/different-locales.d.ts +334 -334
  165. package/lib/constants/index.d.ts +1 -1
  166. package/lib/core.module.d.ts +56 -56
  167. package/lib/directives/autofocus.directive.d.ts +12 -12
  168. package/lib/directives/debounce.directive.d.ts +13 -13
  169. package/lib/directives/for.directive.d.ts +36 -36
  170. package/lib/directives/form-submit.directive.d.ts +19 -19
  171. package/lib/directives/index.d.ts +8 -8
  172. package/lib/directives/init.directive.d.ts +10 -10
  173. package/lib/directives/permission.directive.d.ts +18 -18
  174. package/lib/directives/replaceable-template.directive.d.ts +30 -30
  175. package/lib/directives/stop-propagation.directive.d.ts +12 -12
  176. package/lib/enums/common.d.ts +5 -5
  177. package/lib/enums/index.d.ts +1 -1
  178. package/lib/guards/auth.guard.d.ts +13 -13
  179. package/lib/guards/index.d.ts +2 -2
  180. package/lib/guards/permission.guard.d.ts +16 -16
  181. package/lib/handlers/oauth-configuration.handler.d.ts +13 -13
  182. package/lib/handlers/routes.handler.d.ts +11 -11
  183. package/lib/interceptors/api.interceptor.d.ts +16 -16
  184. package/lib/interceptors/index.d.ts +1 -1
  185. package/lib/localization.module.d.ts +7 -7
  186. package/lib/models/auth.d.ts +6 -6
  187. package/lib/models/common.d.ts +77 -77
  188. package/lib/models/dtos.d.ts +95 -95
  189. package/lib/models/environment.d.ts +35 -35
  190. package/lib/models/index.d.ts +9 -9
  191. package/lib/models/localization.d.ts +5 -5
  192. package/lib/models/replaceable-components.d.ts +45 -45
  193. package/lib/models/rest.d.ts +35 -35
  194. package/lib/models/session.d.ts +7 -7
  195. package/lib/models/utility.d.ts +14 -14
  196. package/lib/pipes/index.d.ts +2 -2
  197. package/lib/pipes/localization.pipe.d.ts +12 -12
  198. package/lib/pipes/sort.pipe.d.ts +9 -9
  199. package/lib/providers/cookie-language.provider.d.ts +3 -3
  200. package/lib/providers/locale.provider.d.ts +9 -9
  201. package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
  202. package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
  203. package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
  204. package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
  205. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
  206. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +4 -4
  207. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +85 -85
  208. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
  209. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
  210. package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
  211. package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
  212. package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
  213. package/lib/proxy/volo/abp/http/modeling/models.d.ts +70 -70
  214. package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
  215. package/lib/proxy/volo/abp/localization/models.d.ts +6 -6
  216. package/lib/proxy/volo/abp/models.d.ts +4 -4
  217. package/lib/services/auth.service.d.ts +17 -17
  218. package/lib/services/config-state.service.d.ts +339 -339
  219. package/lib/services/content-projection.service.d.ts +10 -10
  220. package/lib/services/dom-insertion.service.d.ts +10 -10
  221. package/lib/services/environment.service.d.ts +96 -96
  222. package/lib/services/http-error-reporter.service.d.ts +12 -12
  223. package/lib/services/http-wait.service.d.ts +30 -30
  224. package/lib/services/index.d.ts +21 -21
  225. package/lib/services/lazy-load.service.d.ts +13 -13
  226. package/lib/services/list.service.d.ts +39 -39
  227. package/lib/services/localization.service.d.ts +47 -47
  228. package/lib/services/multi-tenancy.service.d.ts +22 -22
  229. package/lib/services/permission.service.d.ts +19 -19
  230. package/lib/services/replaceable-components.service.d.ts +19 -19
  231. package/lib/services/resource-wait.service.d.ts +15 -15
  232. package/lib/services/rest.service.d.ts +20 -20
  233. package/lib/services/router-events.service.d.ts +29 -29
  234. package/lib/services/router-wait.service.d.ts +20 -20
  235. package/lib/services/routes.service.d.ts +50 -50
  236. package/lib/services/session-state.service.d.ts +25 -25
  237. package/lib/services/subscription.service.d.ts +17 -17
  238. package/lib/services/track-by.service.d.ts +11 -11
  239. package/lib/strategies/auth-flow.strategy.d.ts +367 -367
  240. package/lib/strategies/container.strategy.d.ts +22 -22
  241. package/lib/strategies/content-security.strategy.d.ts +17 -17
  242. package/lib/strategies/content.strategy.d.ts +26 -26
  243. package/lib/strategies/context.strategy.d.ts +23 -23
  244. package/lib/strategies/cross-origin.strategy.d.ts +14 -14
  245. package/lib/strategies/dom.strategy.d.ts +13 -13
  246. package/lib/strategies/index.d.ts +8 -8
  247. package/lib/strategies/loading.strategy.d.ts +28 -28
  248. package/lib/strategies/projection.strategy.d.ts +39 -39
  249. package/lib/tokens/app-config.token.d.ts +3 -3
  250. package/lib/tokens/cookie-language-key.token.d.ts +2 -2
  251. package/lib/tokens/index.d.ts +8 -8
  252. package/lib/tokens/list.token.d.ts +2 -2
  253. package/lib/tokens/localization.token.d.ts +6 -6
  254. package/lib/tokens/lodaer-delay.token.d.ts +2 -2
  255. package/lib/tokens/manage-profile.token.d.ts +2 -2
  256. package/lib/tokens/options.token.d.ts +4 -4
  257. package/lib/tokens/tenant-key.token.d.ts +2 -2
  258. package/lib/utils/array-utils.d.ts +1 -1
  259. package/lib/utils/auth-utils.d.ts +162 -162
  260. package/lib/utils/common-utils.d.ts +9 -9
  261. package/lib/utils/date-extensions.d.ts +6 -6
  262. package/lib/utils/date-utils.d.ts +4 -4
  263. package/lib/utils/environment-utils.d.ts +3 -3
  264. package/lib/utils/factory-utils.d.ts +9 -9
  265. package/lib/utils/file-utils.d.ts +1 -1
  266. package/lib/utils/form-utils.d.ts +2 -2
  267. package/lib/utils/generator-utils.d.ts +3 -3
  268. package/lib/utils/http-utils.d.ts +8 -8
  269. package/lib/utils/index.d.ts +20 -20
  270. package/lib/utils/initial-utils.d.ts +159 -159
  271. package/lib/utils/internal-store-utils.d.ts +14 -14
  272. package/lib/utils/lazy-load-utils.d.ts +4 -4
  273. package/lib/utils/localization-utils.d.ts +5 -5
  274. package/lib/utils/multi-tenancy-utils.d.ts +3 -3
  275. package/lib/utils/number-utils.d.ts +1 -1
  276. package/lib/utils/object-utils.d.ts +1 -1
  277. package/lib/utils/route-utils.d.ts +8 -8
  278. package/lib/utils/string-utils.d.ts +3 -2
  279. package/lib/utils/tree-utils.d.ts +19 -19
  280. package/lib/validators/age.validator.d.ts +10 -10
  281. package/lib/validators/credit-card.validator.d.ts +5 -5
  282. package/lib/validators/index.d.ts +22 -22
  283. package/lib/validators/range.validator.d.ts +12 -12
  284. package/lib/validators/required.validator.d.ts +8 -8
  285. package/lib/validators/string-length.validator.d.ts +14 -14
  286. package/lib/validators/url.validator.d.ts +5 -5
  287. package/locale/abp-ng.core-locale.d.ts +5 -5
  288. package/locale/public-api.d.ts +1 -1
  289. package/locale/utils/register-locale.d.ts +13 -13
  290. package/package.json +2 -2
  291. package/public-api.d.ts +24 -24
  292. package/testing/abp-ng.core-testing.d.ts +5 -5
  293. package/testing/lib/core-testing.module.d.ts +16 -16
  294. package/testing/lib/services/index.d.ts +2 -2
  295. package/testing/lib/services/mock-permission.service.d.ts +10 -10
  296. package/testing/lib/services/mock-rest.service.d.ts +13 -13
  297. package/testing/lib/utils/clear-page.util.d.ts +2 -2
  298. package/testing/lib/utils/index.d.ts +2 -2
  299. package/testing/lib/utils/wait.util.d.ts +2 -2
  300. package/testing/public-api.d.ts +3 -3
@@ -1,28 +1,28 @@
1
- export class ContentSecurityStrategy {
2
- constructor(nonce) {
3
- this.nonce = nonce;
4
- }
5
- }
6
- export class LooseContentSecurityStrategy extends ContentSecurityStrategy {
7
- constructor(nonce) {
8
- super(nonce);
9
- }
10
- applyCSP(element) {
11
- element.setAttribute('nonce', this.nonce);
12
- }
13
- }
14
- export class NoContentSecurityStrategy extends ContentSecurityStrategy {
15
- constructor() {
16
- super();
17
- }
18
- applyCSP(_) { }
19
- }
20
- export const CONTENT_SECURITY_STRATEGY = {
21
- Loose(nonce) {
22
- return new LooseContentSecurityStrategy(nonce);
23
- },
24
- None() {
25
- return new NoContentSecurityStrategy();
26
- },
27
- };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zZWN1cml0eS5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRlbnQtc2VjdXJpdHkuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQix1QkFBdUI7SUFDM0MsWUFBbUIsS0FBYztRQUFkLFVBQUssR0FBTCxLQUFLLENBQVM7SUFBRyxDQUFDO0NBR3RDO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHVCQUF1QjtJQUN2RSxZQUFZLEtBQWE7UUFDdkIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUE2QztRQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHVCQUF1QjtJQUNwRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUF1QyxJQUFHLENBQUM7Q0FDckQ7QUFFRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxLQUFLLENBQUMsS0FBYTtRQUNqQixPQUFPLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUk7UUFDRixPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZW50U2VjdXJpdHlTdHJhdGVneSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIG5vbmNlPzogc3RyaW5nKSB7fVxyXG5cclxuICBhYnN0cmFjdCBhcHBseUNTUChlbGVtZW50OiBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQpOiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9vc2VDb250ZW50U2VjdXJpdHlTdHJhdGVneSBleHRlbmRzIENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IHtcclxuICBjb25zdHJ1Y3Rvcihub25jZTogc3RyaW5nKSB7XHJcbiAgICBzdXBlcihub25jZSk7XHJcbiAgfVxyXG5cclxuICBhcHBseUNTUChlbGVtZW50OiBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQpIHtcclxuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdub25jZScsIHRoaXMubm9uY2UpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5vQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kgZXh0ZW5kcyBDb250ZW50U2VjdXJpdHlTdHJhdGVneSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlDU1AoXzogSFRNTFNjcmlwdEVsZW1lbnQgfCBIVE1MU3R5bGVFbGVtZW50KSB7fVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQ09OVEVOVF9TRUNVUklUWV9TVFJBVEVHWSA9IHtcclxuICBMb29zZShub25jZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IExvb3NlQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kobm9uY2UpO1xyXG4gIH0sXHJcbiAgTm9uZSgpIHtcclxuICAgIHJldHVybiBuZXcgTm9Db250ZW50U2VjdXJpdHlTdHJhdGVneSgpO1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==
1
+ export class ContentSecurityStrategy {
2
+ constructor(nonce) {
3
+ this.nonce = nonce;
4
+ }
5
+ }
6
+ export class LooseContentSecurityStrategy extends ContentSecurityStrategy {
7
+ constructor(nonce) {
8
+ super(nonce);
9
+ }
10
+ applyCSP(element) {
11
+ element.setAttribute('nonce', this.nonce);
12
+ }
13
+ }
14
+ export class NoContentSecurityStrategy extends ContentSecurityStrategy {
15
+ constructor() {
16
+ super();
17
+ }
18
+ applyCSP(_) { }
19
+ }
20
+ export const CONTENT_SECURITY_STRATEGY = {
21
+ Loose(nonce) {
22
+ return new LooseContentSecurityStrategy(nonce);
23
+ },
24
+ None() {
25
+ return new NoContentSecurityStrategy();
26
+ },
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zZWN1cml0eS5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRlbnQtc2VjdXJpdHkuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQix1QkFBdUI7SUFDM0MsWUFBbUIsS0FBYztRQUFkLFVBQUssR0FBTCxLQUFLLENBQVM7SUFBRyxDQUFDO0NBR3RDO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHVCQUF1QjtJQUN2RSxZQUFZLEtBQWE7UUFDdkIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUE2QztRQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHVCQUF1QjtJQUNwRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUF1QyxJQUFHLENBQUM7Q0FDckQ7QUFFRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxLQUFLLENBQUMsS0FBYTtRQUNqQixPQUFPLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUk7UUFDRixPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZW50U2VjdXJpdHlTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBub25jZT86IHN0cmluZykge31cblxuICBhYnN0cmFjdCBhcHBseUNTUChlbGVtZW50OiBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQpOiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgTG9vc2VDb250ZW50U2VjdXJpdHlTdHJhdGVneSBleHRlbmRzIENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3Iobm9uY2U6IHN0cmluZykge1xuICAgIHN1cGVyKG5vbmNlKTtcbiAgfVxuXG4gIGFwcGx5Q1NQKGVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudCkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdub25jZScsIHRoaXMubm9uY2UpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb0NvbnRlbnRTZWN1cml0eVN0cmF0ZWd5IGV4dGVuZHMgQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYXBwbHlDU1AoXzogSFRNTFNjcmlwdEVsZW1lbnQgfCBIVE1MU3R5bGVFbGVtZW50KSB7fVxufVxuXG5leHBvcnQgY29uc3QgQ09OVEVOVF9TRUNVUklUWV9TVFJBVEVHWSA9IHtcbiAgTG9vc2Uobm9uY2U6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgTG9vc2VDb250ZW50U2VjdXJpdHlTdHJhdGVneShub25jZSk7XG4gIH0sXG4gIE5vbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBOb0NvbnRlbnRTZWN1cml0eVN0cmF0ZWd5KCk7XG4gIH0sXG59O1xuIl19
@@ -1,48 +1,48 @@
1
- import { CONTENT_SECURITY_STRATEGY } from './content-security.strategy';
2
- import { DOM_STRATEGY } from './dom.strategy';
3
- export class ContentStrategy {
4
- constructor(content, domStrategy = DOM_STRATEGY.AppendToHead(), contentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(), options = {}) {
5
- this.content = content;
6
- this.domStrategy = domStrategy;
7
- this.contentSecurityStrategy = contentSecurityStrategy;
8
- this.options = options;
9
- }
10
- insertElement() {
11
- const element = this.createElement();
12
- if (this.options && Object.keys(this.options).length > 0) {
13
- Object.keys(this.options).forEach(key => (element[key] = this.options[key]));
14
- }
15
- this.contentSecurityStrategy.applyCSP(element);
16
- this.domStrategy.insertElement(element);
17
- return element;
18
- }
19
- }
20
- export class StyleContentStrategy extends ContentStrategy {
21
- createElement() {
22
- const element = document.createElement('style');
23
- element.textContent = this.content;
24
- return element;
25
- }
26
- }
27
- export class ScriptContentStrategy extends ContentStrategy {
28
- createElement() {
29
- const element = document.createElement('script');
30
- element.textContent = this.content;
31
- return element;
32
- }
33
- }
34
- export const CONTENT_STRATEGY = {
35
- AppendScriptToBody(content, options) {
36
- return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);
37
- },
38
- AppendScriptToHead(content, options) {
39
- return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
40
- },
41
- AppendStyleToHead(content, options) {
42
- return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
43
- },
44
- PrependStyleToHead(content, options) {
45
- return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);
46
- },
47
- };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRlbnQuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQix5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pHLE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zRCxNQUFNLE9BQWdCLGVBQWU7SUFDbkMsWUFDUyxPQUFlLEVBQ1osY0FBMkIsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUN0RCwwQkFBbUQseUJBQXlCLENBQUMsSUFBSSxFQUFFLEVBQ25GLFVBQTZCLEVBQUU7UUFIbEMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUEyQztRQUN0RCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTREO1FBQ25GLFlBQU8sR0FBUCxPQUFPLENBQXdCO0lBQ3hDLENBQUM7SUFJSixhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlFO1FBRUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBaUM7SUFDekUsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRW5DLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFrQztJQUMzRSxhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFbkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsa0JBQWtCLENBQUMsT0FBZSxFQUFFLE9BQTJDO1FBQzdFLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBZSxFQUFFLE9BQTJDO1FBQzdFLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQTBDO1FBQzNFLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBZSxFQUFFLE9BQTBDO1FBQzVFLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5LCBDT05URU5UX1NFQ1VSSVRZX1NUUkFURUdZIH0gZnJvbSAnLi9jb250ZW50LXNlY3VyaXR5LnN0cmF0ZWd5JztcclxuaW1wb3J0IHsgRG9tU3RyYXRlZ3ksIERPTV9TVFJBVEVHWSB9IGZyb20gJy4vZG9tLnN0cmF0ZWd5JztcclxuXHJcbmV4cG9ydCB0eXBlIEVsZW1lbnRPcHRpb25zPFQgZXh0ZW5kcyBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQgPSBhbnk+ID0gUGFydGlhbDx7XHJcbiAgW2tleSBpbiBrZXlvZiBUXTogVFtrZXldO1xyXG59PjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZW50U3RyYXRlZ3k8VCBleHRlbmRzIEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudCA9IGFueT4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbnRlbnQ6IHN0cmluZyxcclxuICAgIHByb3RlY3RlZCBkb21TdHJhdGVneTogRG9tU3RyYXRlZ3kgPSBET01fU1RSQVRFR1kuQXBwZW5kVG9IZWFkKCksXHJcbiAgICBwcm90ZWN0ZWQgY29udGVudFNlY3VyaXR5U3RyYXRlZ3k6IENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5ID0gQ09OVEVOVF9TRUNVUklUWV9TVFJBVEVHWS5Ob25lKCksXHJcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogRWxlbWVudE9wdGlvbnM8VD4gPSB7fSxcclxuICApIHt9XHJcblxyXG4gIGFic3RyYWN0IGNyZWF0ZUVsZW1lbnQoKTogVDtcclxuXHJcbiAgaW5zZXJ0RWxlbWVudCgpOiBUIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIE9iamVjdC5rZXlzKHRoaXMub3B0aW9ucykubGVuZ3RoID4gMCkge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpLmZvckVhY2goa2V5ID0+IChlbGVtZW50W2tleV0gPSB0aGlzLm9wdGlvbnNba2V5XSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udGVudFNlY3VyaXR5U3RyYXRlZ3kuYXBwbHlDU1AoZWxlbWVudCk7XHJcbiAgICB0aGlzLmRvbVN0cmF0ZWd5Lmluc2VydEVsZW1lbnQoZWxlbWVudCk7XHJcblxyXG4gICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3R5bGVDb250ZW50U3RyYXRlZ3kgZXh0ZW5kcyBDb250ZW50U3RyYXRlZ3k8SFRNTFN0eWxlRWxlbWVudD4ge1xyXG4gIGNyZWF0ZUVsZW1lbnQoKTogSFRNTFN0eWxlRWxlbWVudCB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XHJcblxyXG4gICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2NyaXB0Q29udGVudFN0cmF0ZWd5IGV4dGVuZHMgQ29udGVudFN0cmF0ZWd5PEhUTUxTY3JpcHRFbGVtZW50PiB7XHJcbiAgY3JlYXRlRWxlbWVudCgpOiBIVE1MU2NyaXB0RWxlbWVudCB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBlbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5jb250ZW50O1xyXG5cclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENPTlRFTlRfU1RSQVRFR1kgPSB7XHJcbiAgQXBwZW5kU2NyaXB0VG9Cb2R5KGNvbnRlbnQ6IHN0cmluZywgb3B0aW9ucz86IEVsZW1lbnRPcHRpb25zPEhUTUxTY3JpcHRFbGVtZW50Pikge1xyXG4gICAgcmV0dXJuIG5ldyBTY3JpcHRDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvQm9keSgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xyXG4gIH0sXHJcbiAgQXBwZW5kU2NyaXB0VG9IZWFkKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9ucz86IEVsZW1lbnRPcHRpb25zPEhUTUxTY3JpcHRFbGVtZW50Pikge1xyXG4gICAgcmV0dXJuIG5ldyBTY3JpcHRDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xyXG4gIH0sXHJcbiAgQXBwZW5kU3R5bGVUb0hlYWQoY29udGVudDogc3RyaW5nLCBvcHRpb25zPzogRWxlbWVudE9wdGlvbnM8SFRNTFN0eWxlRWxlbWVudD4pIHtcclxuICAgIHJldHVybiBuZXcgU3R5bGVDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xyXG4gIH0sXHJcbiAgUHJlcGVuZFN0eWxlVG9IZWFkKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9ucz86IEVsZW1lbnRPcHRpb25zPEhUTUxTdHlsZUVsZW1lbnQ+KSB7XHJcbiAgICByZXR1cm4gbmV3IFN0eWxlQ29udGVudFN0cmF0ZWd5KGNvbnRlbnQsIERPTV9TVFJBVEVHWS5QcmVwZW5kVG9IZWFkKCksIHVuZGVmaW5lZCwgb3B0aW9ucyk7XHJcbiAgfSxcclxufTtcclxuIl19
1
+ import { CONTENT_SECURITY_STRATEGY } from './content-security.strategy';
2
+ import { DOM_STRATEGY } from './dom.strategy';
3
+ export class ContentStrategy {
4
+ constructor(content, domStrategy = DOM_STRATEGY.AppendToHead(), contentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(), options = {}) {
5
+ this.content = content;
6
+ this.domStrategy = domStrategy;
7
+ this.contentSecurityStrategy = contentSecurityStrategy;
8
+ this.options = options;
9
+ }
10
+ insertElement() {
11
+ const element = this.createElement();
12
+ if (this.options && Object.keys(this.options).length > 0) {
13
+ Object.keys(this.options).forEach(key => (element[key] = this.options[key]));
14
+ }
15
+ this.contentSecurityStrategy.applyCSP(element);
16
+ this.domStrategy.insertElement(element);
17
+ return element;
18
+ }
19
+ }
20
+ export class StyleContentStrategy extends ContentStrategy {
21
+ createElement() {
22
+ const element = document.createElement('style');
23
+ element.textContent = this.content;
24
+ return element;
25
+ }
26
+ }
27
+ export class ScriptContentStrategy extends ContentStrategy {
28
+ createElement() {
29
+ const element = document.createElement('script');
30
+ element.textContent = this.content;
31
+ return element;
32
+ }
33
+ }
34
+ export const CONTENT_STRATEGY = {
35
+ AppendScriptToBody(content, options) {
36
+ return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);
37
+ },
38
+ AppendScriptToHead(content, options) {
39
+ return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
40
+ },
41
+ AppendStyleToHead(content, options) {
42
+ return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
43
+ },
44
+ PrependStyleToHead(content, options) {
45
+ return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);
46
+ },
47
+ };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRlbnQuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQix5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pHLE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zRCxNQUFNLE9BQWdCLGVBQWU7SUFDbkMsWUFDUyxPQUFlLEVBQ1osY0FBMkIsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUN0RCwwQkFBbUQseUJBQXlCLENBQUMsSUFBSSxFQUFFLEVBQ25GLFVBQTZCLEVBQUU7UUFIbEMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUEyQztRQUN0RCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTREO1FBQ25GLFlBQU8sR0FBUCxPQUFPLENBQXdCO0lBQ3hDLENBQUM7SUFJSixhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlFO1FBRUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBaUM7SUFDekUsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRW5DLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFrQztJQUMzRSxhQUFhO1FBQ1gsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFbkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsa0JBQWtCLENBQUMsT0FBZSxFQUFFLE9BQTJDO1FBQzdFLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBZSxFQUFFLE9BQTJDO1FBQzdFLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsT0FBZSxFQUFFLE9BQTBDO1FBQzNFLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBZSxFQUFFLE9BQTBDO1FBQzVFLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3RixDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRTZWN1cml0eVN0cmF0ZWd5LCBDT05URU5UX1NFQ1VSSVRZX1NUUkFURUdZIH0gZnJvbSAnLi9jb250ZW50LXNlY3VyaXR5LnN0cmF0ZWd5JztcbmltcG9ydCB7IERvbVN0cmF0ZWd5LCBET01fU1RSQVRFR1kgfSBmcm9tICcuL2RvbS5zdHJhdGVneSc7XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRPcHRpb25zPFQgZXh0ZW5kcyBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQgPSBhbnk+ID0gUGFydGlhbDx7XG4gIFtrZXkgaW4ga2V5b2YgVF06IFRba2V5XTtcbn0+O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29udGVudFN0cmF0ZWd5PFQgZXh0ZW5kcyBIVE1MU2NyaXB0RWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQgPSBhbnk+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnRlbnQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgZG9tU3RyYXRlZ3k6IERvbVN0cmF0ZWd5ID0gRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLFxuICAgIHByb3RlY3RlZCBjb250ZW50U2VjdXJpdHlTdHJhdGVneTogQ29udGVudFNlY3VyaXR5U3RyYXRlZ3kgPSBDT05URU5UX1NFQ1VSSVRZX1NUUkFURUdZLk5vbmUoKSxcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogRWxlbWVudE9wdGlvbnM8VD4gPSB7fSxcbiAgKSB7fVxuXG4gIGFic3RyYWN0IGNyZWF0ZUVsZW1lbnQoKTogVDtcblxuICBpbnNlcnRFbGVtZW50KCk6IFQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoKTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgT2JqZWN0LmtleXModGhpcy5vcHRpb25zKS5sZW5ndGggPiAwKSB7XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpLmZvckVhY2goa2V5ID0+IChlbGVtZW50W2tleV0gPSB0aGlzLm9wdGlvbnNba2V5XSkpO1xuICAgIH1cblxuICAgIHRoaXMuY29udGVudFNlY3VyaXR5U3RyYXRlZ3kuYXBwbHlDU1AoZWxlbWVudCk7XG4gICAgdGhpcy5kb21TdHJhdGVneS5pbnNlcnRFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0eWxlQ29udGVudFN0cmF0ZWd5IGV4dGVuZHMgQ29udGVudFN0cmF0ZWd5PEhUTUxTdHlsZUVsZW1lbnQ+IHtcbiAgY3JlYXRlRWxlbWVudCgpOiBIVE1MU3R5bGVFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICBlbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5jb250ZW50O1xuXG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNjcmlwdENvbnRlbnRTdHJhdGVneSBleHRlbmRzIENvbnRlbnRTdHJhdGVneTxIVE1MU2NyaXB0RWxlbWVudD4ge1xuICBjcmVhdGVFbGVtZW50KCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgZWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuY29udGVudDtcblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDT05URU5UX1NUUkFURUdZID0ge1xuICBBcHBlbmRTY3JpcHRUb0JvZHkoY29udGVudDogc3RyaW5nLCBvcHRpb25zPzogRWxlbWVudE9wdGlvbnM8SFRNTFNjcmlwdEVsZW1lbnQ+KSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHRDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvQm9keSgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xuICB9LFxuICBBcHBlbmRTY3JpcHRUb0hlYWQoY29udGVudDogc3RyaW5nLCBvcHRpb25zPzogRWxlbWVudE9wdGlvbnM8SFRNTFNjcmlwdEVsZW1lbnQ+KSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHRDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xuICB9LFxuICBBcHBlbmRTdHlsZVRvSGVhZChjb250ZW50OiBzdHJpbmcsIG9wdGlvbnM/OiBFbGVtZW50T3B0aW9uczxIVE1MU3R5bGVFbGVtZW50Pikge1xuICAgIHJldHVybiBuZXcgU3R5bGVDb250ZW50U3RyYXRlZ3koY29udGVudCwgRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xuICB9LFxuICBQcmVwZW5kU3R5bGVUb0hlYWQoY29udGVudDogc3RyaW5nLCBvcHRpb25zPzogRWxlbWVudE9wdGlvbnM8SFRNTFN0eWxlRWxlbWVudD4pIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlQ29udGVudFN0cmF0ZWd5KGNvbnRlbnQsIERPTV9TVFJBVEVHWS5QcmVwZW5kVG9IZWFkKCksIHVuZGVmaW5lZCwgb3B0aW9ucyk7XG4gIH0sXG59O1xuIl19
@@ -1,37 +1,37 @@
1
- export class ContextStrategy {
2
- constructor(context) {
3
- this.context = context;
4
- }
5
- setContext(componentRef) {
6
- return this.context;
7
- }
8
- }
9
- export class NoContextStrategy extends ContextStrategy {
10
- constructor() {
11
- super(undefined);
12
- }
13
- }
14
- export class ComponentContextStrategy extends ContextStrategy {
15
- setContext(componentRef) {
16
- Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));
17
- componentRef.changeDetectorRef.detectChanges();
18
- return this.context;
19
- }
20
- }
21
- export class TemplateContextStrategy extends ContextStrategy {
22
- setContext() {
23
- return this.context;
24
- }
25
- }
26
- export const CONTEXT_STRATEGY = {
27
- None() {
28
- return new NoContextStrategy();
29
- },
30
- Component(context) {
31
- return new ComponentContextStrategy(context);
32
- },
33
- Template(context) {
34
- return new TemplateContextStrategy(context);
35
- },
36
- };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRleHQuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQixlQUFlO0lBQ25DLFlBQW1CLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO0lBQUcsQ0FBQztJQUV2RCxVQUFVLENBQUMsWUFBa0Q7UUFDM0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFFWCxTQUFRLGVBQWtCO0lBQzFCO1FBQ0UsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyx3QkFBb0QsU0FBUSxlQUFrQjtJQUN6RixVQUFVLENBQUMsWUFBaUQ7UUFDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNGLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHVCQUEwRCxTQUFRLGVBQWtCO0lBQy9GLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsSUFBSTtRQUNGLE9BQU8sSUFBSSxpQkFBaUIsRUFBSyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxTQUFTLENBQTRCLE9BQXVDO1FBQzFFLE9BQU8sSUFBSSx3QkFBd0IsQ0FBSSxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsUUFBUSxDQUFtQyxPQUFzQztRQUMvRSxPQUFPLElBQUksdUJBQXVCLENBQUksT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluZmVycmVkQ29udGV4dE9mLCBJbmZlcnJlZEluc3RhbmNlT2YgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRleHRTdHJhdGVneTxUID0gYW55PiB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbnRleHQ6IFBhcnRpYWw8Q29udGV4dFR5cGU8VD4+KSB7fVxyXG5cclxuICBzZXRDb250ZXh0KGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+KTogUGFydGlhbDxDb250ZXh0VHlwZTxUPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBOb0NvbnRleHRTdHJhdGVneTxcclxuICBUIGV4dGVuZHMgVHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PiA9IGFueSxcclxuPiBleHRlbmRzIENvbnRleHRTdHJhdGVneTxUPiB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcih1bmRlZmluZWQpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudENvbnRleHRTdHJhdGVneTxUIGV4dGVuZHMgVHlwZTxhbnk+ID0gYW55PiBleHRlbmRzIENvbnRleHRTdHJhdGVneTxUPiB7XHJcbiAgc2V0Q29udGV4dChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+KTogUGFydGlhbDxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+IHtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuY29udGV4dCkuZm9yRWFjaChrZXkgPT4gKGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdGhpcy5jb250ZXh0W2tleV0pKTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29udGV4dFN0cmF0ZWd5PFQgZXh0ZW5kcyBUZW1wbGF0ZVJlZjxhbnk+ID0gYW55PiBleHRlbmRzIENvbnRleHRTdHJhdGVneTxUPiB7XHJcbiAgc2V0Q29udGV4dCgpOiBQYXJ0aWFsPEluZmVycmVkQ29udGV4dE9mPFQ+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENPTlRFWFRfU1RSQVRFR1kgPSB7XHJcbiAgTm9uZTxUIGV4dGVuZHMgVHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PiA9IGFueT4oKSB7XHJcbiAgICByZXR1cm4gbmV3IE5vQ29udGV4dFN0cmF0ZWd5PFQ+KCk7XHJcbiAgfSxcclxuICBDb21wb25lbnQ8VCBleHRlbmRzIFR5cGU8YW55PiA9IGFueT4oY29udGV4dDogUGFydGlhbDxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+KSB7XHJcbiAgICByZXR1cm4gbmV3IENvbXBvbmVudENvbnRleHRTdHJhdGVneTxUPihjb250ZXh0KTtcclxuICB9LFxyXG4gIFRlbXBsYXRlPFQgZXh0ZW5kcyBUZW1wbGF0ZVJlZjxhbnk+ID0gYW55Pihjb250ZXh0OiBQYXJ0aWFsPEluZmVycmVkQ29udGV4dE9mPFQ+Pikge1xyXG4gICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUNvbnRleHRTdHJhdGVneTxUPihjb250ZXh0KTtcclxuICB9LFxyXG59O1xyXG5cclxudHlwZSBDb250ZXh0VHlwZTxUPiA9IFQgZXh0ZW5kcyBUeXBlPGluZmVyIFU+IHwgVGVtcGxhdGVSZWY8aW5mZXIgVT4gPyBVIDogbmV2ZXI7XHJcbiJdfQ==
1
+ export class ContextStrategy {
2
+ constructor(context) {
3
+ this.context = context;
4
+ }
5
+ setContext(componentRef) {
6
+ return this.context;
7
+ }
8
+ }
9
+ export class NoContextStrategy extends ContextStrategy {
10
+ constructor() {
11
+ super(undefined);
12
+ }
13
+ }
14
+ export class ComponentContextStrategy extends ContextStrategy {
15
+ setContext(componentRef) {
16
+ Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));
17
+ componentRef.changeDetectorRef.detectChanges();
18
+ return this.context;
19
+ }
20
+ }
21
+ export class TemplateContextStrategy extends ContextStrategy {
22
+ setContext() {
23
+ return this.context;
24
+ }
25
+ }
26
+ export const CONTEXT_STRATEGY = {
27
+ None() {
28
+ return new NoContextStrategy();
29
+ },
30
+ Component(context) {
31
+ return new ComponentContextStrategy(context);
32
+ },
33
+ Template(context) {
34
+ return new TemplateContextStrategy(context);
35
+ },
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2NvbnRleHQuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQixlQUFlO0lBQ25DLFlBQW1CLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO0lBQUcsQ0FBQztJQUV2RCxVQUFVLENBQUMsWUFBa0Q7UUFDM0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFFWCxTQUFRLGVBQWtCO0lBQzFCO1FBQ0UsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyx3QkFBb0QsU0FBUSxlQUFrQjtJQUN6RixVQUFVLENBQUMsWUFBaUQ7UUFDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNGLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHVCQUEwRCxTQUFRLGVBQWtCO0lBQy9GLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsSUFBSTtRQUNGLE9BQU8sSUFBSSxpQkFBaUIsRUFBSyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxTQUFTLENBQTRCLE9BQXVDO1FBQzFFLE9BQU8sSUFBSSx3QkFBd0IsQ0FBSSxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsUUFBUSxDQUFtQyxPQUFzQztRQUMvRSxPQUFPLElBQUksdUJBQXVCLENBQUksT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbmZlcnJlZENvbnRleHRPZiwgSW5mZXJyZWRJbnN0YW5jZU9mIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRleHRTdHJhdGVneTxUID0gYW55PiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250ZXh0OiBQYXJ0aWFsPENvbnRleHRUeXBlPFQ+Pikge31cblxuICBzZXRDb250ZXh0KGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxJbmZlcnJlZEluc3RhbmNlT2Y8VD4+KTogUGFydGlhbDxDb250ZXh0VHlwZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5vQ29udGV4dFN0cmF0ZWd5PFxuICBUIGV4dGVuZHMgVHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PiA9IGFueSxcbj4gZXh0ZW5kcyBDb250ZXh0U3RyYXRlZ3k8VD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih1bmRlZmluZWQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRDb250ZXh0U3RyYXRlZ3k8VCBleHRlbmRzIFR5cGU8YW55PiA9IGFueT4gZXh0ZW5kcyBDb250ZXh0U3RyYXRlZ3k8VD4ge1xuICBzZXRDb250ZXh0KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEluZmVycmVkSW5zdGFuY2VPZjxUPj4pOiBQYXJ0aWFsPEluZmVycmVkSW5zdGFuY2VPZjxUPj4ge1xuICAgIE9iamVjdC5rZXlzKHRoaXMuY29udGV4dCkuZm9yRWFjaChrZXkgPT4gKGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdGhpcy5jb250ZXh0W2tleV0pKTtcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29udGV4dFN0cmF0ZWd5PFQgZXh0ZW5kcyBUZW1wbGF0ZVJlZjxhbnk+ID0gYW55PiBleHRlbmRzIENvbnRleHRTdHJhdGVneTxUPiB7XG4gIHNldENvbnRleHQoKTogUGFydGlhbDxJbmZlcnJlZENvbnRleHRPZjxUPj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IENPTlRFWFRfU1RSQVRFR1kgPSB7XG4gIE5vbmU8VCBleHRlbmRzIFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT4gPSBhbnk+KCkge1xuICAgIHJldHVybiBuZXcgTm9Db250ZXh0U3RyYXRlZ3k8VD4oKTtcbiAgfSxcbiAgQ29tcG9uZW50PFQgZXh0ZW5kcyBUeXBlPGFueT4gPSBhbnk+KGNvbnRleHQ6IFBhcnRpYWw8SW5mZXJyZWRJbnN0YW5jZU9mPFQ+Pikge1xuICAgIHJldHVybiBuZXcgQ29tcG9uZW50Q29udGV4dFN0cmF0ZWd5PFQ+KGNvbnRleHQpO1xuICB9LFxuICBUZW1wbGF0ZTxUIGV4dGVuZHMgVGVtcGxhdGVSZWY8YW55PiA9IGFueT4oY29udGV4dDogUGFydGlhbDxJbmZlcnJlZENvbnRleHRPZjxUPj4pIHtcbiAgICByZXR1cm4gbmV3IFRlbXBsYXRlQ29udGV4dFN0cmF0ZWd5PFQ+KGNvbnRleHQpO1xuICB9LFxufTtcblxudHlwZSBDb250ZXh0VHlwZTxUPiA9IFQgZXh0ZW5kcyBUeXBlPGluZmVyIFU+IHwgVGVtcGxhdGVSZWY8aW5mZXIgVT4gPyBVIDogbmV2ZXI7XG4iXX0=
@@ -1,26 +1,26 @@
1
- export class CrossOriginStrategy {
2
- constructor(crossorigin, integrity) {
3
- this.crossorigin = crossorigin;
4
- this.integrity = integrity;
5
- }
6
- setCrossOrigin(element) {
7
- if (this.integrity)
8
- element.setAttribute('integrity', this.integrity);
9
- element.setAttribute('crossorigin', this.crossorigin);
10
- }
11
- }
12
- export class NoCrossOriginStrategy extends CrossOriginStrategy {
13
- setCrossOrigin() { }
14
- }
15
- export const CROSS_ORIGIN_STRATEGY = {
16
- Anonymous(integrity) {
17
- return new CrossOriginStrategy('anonymous', integrity);
18
- },
19
- UseCredentials(integrity) {
20
- return new CrossOriginStrategy('use-credentials', integrity);
21
- },
22
- None() {
23
- return new NoCrossOriginStrategy(null);
24
- },
25
- };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBbUIsV0FBNEMsRUFBUyxTQUFrQjtRQUF2RSxnQkFBVyxHQUFYLFdBQVcsQ0FBaUM7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUFTO0lBQUcsQ0FBQztJQUU5RixjQUFjLENBQXdCLE9BQVU7UUFDOUMsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG1CQUFtQjtJQUM1RCxjQUFjLEtBQUksQ0FBQztDQUNwQjtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLFNBQVMsQ0FBQyxTQUFrQjtRQUMxQixPQUFPLElBQUksbUJBQW1CLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxjQUFjLENBQUMsU0FBa0I7UUFDL0IsT0FBTyxJQUFJLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJO1FBQ0YsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENyb3NzT3JpZ2luU3RyYXRlZ3kge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjcm9zc29yaWdpbjogJ2Fub255bW91cycgfCAndXNlLWNyZWRlbnRpYWxzJywgcHVibGljIGludGVncml0eT86IHN0cmluZykge31cclxuXHJcbiAgc2V0Q3Jvc3NPcmlnaW48VCBleHRlbmRzIEhUTUxFbGVtZW50PihlbGVtZW50OiBUKSB7XHJcbiAgICBpZiAodGhpcy5pbnRlZ3JpdHkpIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdpbnRlZ3JpdHknLCB0aGlzLmludGVncml0eSk7XHJcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnY3Jvc3NvcmlnaW4nLCB0aGlzLmNyb3Nzb3JpZ2luKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBOb0Nyb3NzT3JpZ2luU3RyYXRlZ3kgZXh0ZW5kcyBDcm9zc09yaWdpblN0cmF0ZWd5IHtcclxuICBzZXRDcm9zc09yaWdpbigpIHt9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDUk9TU19PUklHSU5fU1RSQVRFR1kgPSB7XHJcbiAgQW5vbnltb3VzKGludGVncml0eT86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBDcm9zc09yaWdpblN0cmF0ZWd5KCdhbm9ueW1vdXMnLCBpbnRlZ3JpdHkpO1xyXG4gIH0sXHJcbiAgVXNlQ3JlZGVudGlhbHMoaW50ZWdyaXR5Pzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IENyb3NzT3JpZ2luU3RyYXRlZ3koJ3VzZS1jcmVkZW50aWFscycsIGludGVncml0eSk7XHJcbiAgfSxcclxuICBOb25lKCkge1xyXG4gICAgcmV0dXJuIG5ldyBOb0Nyb3NzT3JpZ2luU3RyYXRlZ3kobnVsbCk7XHJcbiAgfSxcclxufTtcclxuIl19
1
+ export class CrossOriginStrategy {
2
+ constructor(crossorigin, integrity) {
3
+ this.crossorigin = crossorigin;
4
+ this.integrity = integrity;
5
+ }
6
+ setCrossOrigin(element) {
7
+ if (this.integrity)
8
+ element.setAttribute('integrity', this.integrity);
9
+ element.setAttribute('crossorigin', this.crossorigin);
10
+ }
11
+ }
12
+ export class NoCrossOriginStrategy extends CrossOriginStrategy {
13
+ setCrossOrigin() { }
14
+ }
15
+ export const CROSS_ORIGIN_STRATEGY = {
16
+ Anonymous(integrity) {
17
+ return new CrossOriginStrategy('anonymous', integrity);
18
+ },
19
+ UseCredentials(integrity) {
20
+ return new CrossOriginStrategy('use-credentials', integrity);
21
+ },
22
+ None() {
23
+ return new NoCrossOriginStrategy(null);
24
+ },
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBbUIsV0FBNEMsRUFBUyxTQUFrQjtRQUF2RSxnQkFBVyxHQUFYLFdBQVcsQ0FBaUM7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUFTO0lBQUcsQ0FBQztJQUU5RixjQUFjLENBQXdCLE9BQVU7UUFDOUMsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG1CQUFtQjtJQUM1RCxjQUFjLEtBQUksQ0FBQztDQUNwQjtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLFNBQVMsQ0FBQyxTQUFrQjtRQUMxQixPQUFPLElBQUksbUJBQW1CLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxjQUFjLENBQUMsU0FBa0I7UUFDL0IsT0FBTyxJQUFJLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJO1FBQ0YsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENyb3NzT3JpZ2luU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgY3Jvc3NvcmlnaW46ICdhbm9ueW1vdXMnIHwgJ3VzZS1jcmVkZW50aWFscycsIHB1YmxpYyBpbnRlZ3JpdHk/OiBzdHJpbmcpIHt9XG5cbiAgc2V0Q3Jvc3NPcmlnaW48VCBleHRlbmRzIEhUTUxFbGVtZW50PihlbGVtZW50OiBUKSB7XG4gICAgaWYgKHRoaXMuaW50ZWdyaXR5KSBlbGVtZW50LnNldEF0dHJpYnV0ZSgnaW50ZWdyaXR5JywgdGhpcy5pbnRlZ3JpdHkpO1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicsIHRoaXMuY3Jvc3NvcmlnaW4pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb0Nyb3NzT3JpZ2luU3RyYXRlZ3kgZXh0ZW5kcyBDcm9zc09yaWdpblN0cmF0ZWd5IHtcbiAgc2V0Q3Jvc3NPcmlnaW4oKSB7fVxufVxuXG5leHBvcnQgY29uc3QgQ1JPU1NfT1JJR0lOX1NUUkFURUdZID0ge1xuICBBbm9ueW1vdXMoaW50ZWdyaXR5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBDcm9zc09yaWdpblN0cmF0ZWd5KCdhbm9ueW1vdXMnLCBpbnRlZ3JpdHkpO1xuICB9LFxuICBVc2VDcmVkZW50aWFscyhpbnRlZ3JpdHk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IENyb3NzT3JpZ2luU3RyYXRlZ3koJ3VzZS1jcmVkZW50aWFscycsIGludGVncml0eSk7XG4gIH0sXG4gIE5vbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBOb0Nyb3NzT3JpZ2luU3RyYXRlZ3kobnVsbCk7XG4gIH0sXG59O1xuIl19
@@ -1,27 +1,27 @@
1
- export class DomStrategy {
2
- constructor(target = document.head, position = 'beforeend') {
3
- this.target = target;
4
- this.position = position;
5
- }
6
- insertElement(element) {
7
- this.target.insertAdjacentElement(this.position, element);
8
- }
9
- }
10
- export const DOM_STRATEGY = {
11
- AfterElement(element) {
12
- return new DomStrategy(element, 'afterend');
13
- },
14
- AppendToBody() {
15
- return new DomStrategy(document.body, 'beforeend');
16
- },
17
- AppendToHead() {
18
- return new DomStrategy(document.head, 'beforeend');
19
- },
20
- BeforeElement(element) {
21
- return new DomStrategy(element, 'beforebegin');
22
- },
23
- PrependToHead() {
24
- return new DomStrategy(document.head, 'afterbegin');
25
- },
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvZG9tLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1MsU0FBc0IsUUFBUSxDQUFDLElBQUksRUFDbkMsV0FBMkIsV0FBVztRQUR0QyxXQUFNLEdBQU4sTUFBTSxDQUE2QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUE4QjtJQUM1QyxDQUFDO0lBRUosYUFBYSxDQUF3QixPQUFVO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsWUFBWSxDQUFDLE9BQW9CO1FBQy9CLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxhQUFhLENBQUMsT0FBb0I7UUFDaEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRG9tU3RyYXRlZ3kge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRhcmdldDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5oZWFkLFxyXG4gICAgcHVibGljIHBvc2l0aW9uOiBJbnNlcnRQb3NpdGlvbiA9ICdiZWZvcmVlbmQnLFxyXG4gICkge31cclxuXHJcbiAgaW5zZXJ0RWxlbWVudDxUIGV4dGVuZHMgSFRNTEVsZW1lbnQ+KGVsZW1lbnQ6IFQpIHtcclxuICAgIHRoaXMudGFyZ2V0Lmluc2VydEFkamFjZW50RWxlbWVudCh0aGlzLnBvc2l0aW9uLCBlbGVtZW50KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBET01fU1RSQVRFR1kgPSB7XHJcbiAgQWZ0ZXJFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICByZXR1cm4gbmV3IERvbVN0cmF0ZWd5KGVsZW1lbnQsICdhZnRlcmVuZCcpO1xyXG4gIH0sXHJcbiAgQXBwZW5kVG9Cb2R5KCkge1xyXG4gICAgcmV0dXJuIG5ldyBEb21TdHJhdGVneShkb2N1bWVudC5ib2R5LCAnYmVmb3JlZW5kJyk7XHJcbiAgfSxcclxuICBBcHBlbmRUb0hlYWQoKSB7XHJcbiAgICByZXR1cm4gbmV3IERvbVN0cmF0ZWd5KGRvY3VtZW50LmhlYWQsICdiZWZvcmVlbmQnKTtcclxuICB9LFxyXG4gIEJlZm9yZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIHJldHVybiBuZXcgRG9tU3RyYXRlZ3koZWxlbWVudCwgJ2JlZm9yZWJlZ2luJyk7XHJcbiAgfSxcclxuICBQcmVwZW5kVG9IZWFkKCkge1xyXG4gICAgcmV0dXJuIG5ldyBEb21TdHJhdGVneShkb2N1bWVudC5oZWFkLCAnYWZ0ZXJiZWdpbicpO1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==
1
+ export class DomStrategy {
2
+ constructor(target = document.head, position = 'beforeend') {
3
+ this.target = target;
4
+ this.position = position;
5
+ }
6
+ insertElement(element) {
7
+ this.target.insertAdjacentElement(this.position, element);
8
+ }
9
+ }
10
+ export const DOM_STRATEGY = {
11
+ AfterElement(element) {
12
+ return new DomStrategy(element, 'afterend');
13
+ },
14
+ AppendToBody() {
15
+ return new DomStrategy(document.body, 'beforeend');
16
+ },
17
+ AppendToHead() {
18
+ return new DomStrategy(document.head, 'beforeend');
19
+ },
20
+ BeforeElement(element) {
21
+ return new DomStrategy(element, 'beforebegin');
22
+ },
23
+ PrependToHead() {
24
+ return new DomStrategy(document.head, 'afterbegin');
25
+ },
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3N0cmF0ZWdpZXMvZG9tLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1MsU0FBc0IsUUFBUSxDQUFDLElBQUksRUFDbkMsV0FBMkIsV0FBVztRQUR0QyxXQUFNLEdBQU4sTUFBTSxDQUE2QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUE4QjtJQUM1QyxDQUFDO0lBRUosYUFBYSxDQUF3QixPQUFVO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsWUFBWSxDQUFDLE9BQW9CO1FBQy9CLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxhQUFhLENBQUMsT0FBb0I7UUFDaEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRG9tU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGFyZ2V0OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmhlYWQsXG4gICAgcHVibGljIHBvc2l0aW9uOiBJbnNlcnRQb3NpdGlvbiA9ICdiZWZvcmVlbmQnLFxuICApIHt9XG5cbiAgaW5zZXJ0RWxlbWVudDxUIGV4dGVuZHMgSFRNTEVsZW1lbnQ+KGVsZW1lbnQ6IFQpIHtcbiAgICB0aGlzLnRhcmdldC5pbnNlcnRBZGphY2VudEVsZW1lbnQodGhpcy5wb3NpdGlvbiwgZWxlbWVudCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IERPTV9TVFJBVEVHWSA9IHtcbiAgQWZ0ZXJFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIG5ldyBEb21TdHJhdGVneShlbGVtZW50LCAnYWZ0ZXJlbmQnKTtcbiAgfSxcbiAgQXBwZW5kVG9Cb2R5KCkge1xuICAgIHJldHVybiBuZXcgRG9tU3RyYXRlZ3koZG9jdW1lbnQuYm9keSwgJ2JlZm9yZWVuZCcpO1xuICB9LFxuICBBcHBlbmRUb0hlYWQoKSB7XG4gICAgcmV0dXJuIG5ldyBEb21TdHJhdGVneShkb2N1bWVudC5oZWFkLCAnYmVmb3JlZW5kJyk7XG4gIH0sXG4gIEJlZm9yZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICByZXR1cm4gbmV3IERvbVN0cmF0ZWd5KGVsZW1lbnQsICdiZWZvcmViZWdpbicpO1xuICB9LFxuICBQcmVwZW5kVG9IZWFkKCkge1xuICAgIHJldHVybiBuZXcgRG9tU3RyYXRlZ3koZG9jdW1lbnQuaGVhZCwgJ2FmdGVyYmVnaW4nKTtcbiAgfSxcbn07XG4iXX0=
@@ -1,9 +1,9 @@
1
- export * from './container.strategy';
2
- export * from './content-security.strategy';
3
- export * from './content.strategy';
4
- export * from './context.strategy';
5
- export * from './cross-origin.strategy';
6
- export * from './dom.strategy';
7
- export * from './loading.strategy';
8
- export * from './projection.strategy';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc3RyYXRlZ2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC1zZWN1cml0eS5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGVudC5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3Jvc3Mtb3JpZ2luLnN0cmF0ZWd5JztcclxuZXhwb3J0ICogZnJvbSAnLi9kb20uc3RyYXRlZ3knO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmcuc3RyYXRlZ3knO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Rpb24uc3RyYXRlZ3knO1xyXG4iXX0=
1
+ export * from './container.strategy';
2
+ export * from './content-security.strategy';
3
+ export * from './content.strategy';
4
+ export * from './context.strategy';
5
+ export * from './cross-origin.strategy';
6
+ export * from './dom.strategy';
7
+ export * from './loading.strategy';
8
+ export * from './projection.strategy';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc3RyYXRlZ2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci5zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnQtc2VjdXJpdHkuc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZW50LnN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2Nyb3NzLW9yaWdpbi5zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2RvbS5zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmcuc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0aW9uLnN0cmF0ZWd5JztcbiJdfQ==
@@ -1,58 +1,58 @@
1
- import { of } from 'rxjs';
2
- import { switchMap } from 'rxjs/operators';
3
- import { fromLazyLoad } from '../utils';
4
- import { CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';
5
- import { DOM_STRATEGY } from './dom.strategy';
6
- export class LoadingStrategy {
7
- constructor(path, domStrategy = DOM_STRATEGY.AppendToHead(), crossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous()) {
8
- this.path = path;
9
- this.domStrategy = domStrategy;
10
- this.crossOriginStrategy = crossOriginStrategy;
11
- }
12
- createStream() {
13
- this.element = this.createElement();
14
- return of(null).pipe(switchMap(() => fromLazyLoad(this.element, this.domStrategy, this.crossOriginStrategy)));
15
- }
16
- }
17
- export class ScriptLoadingStrategy extends LoadingStrategy {
18
- constructor(src, domStrategy, crossOriginStrategy) {
19
- super(src, domStrategy, crossOriginStrategy);
20
- }
21
- createElement() {
22
- const element = document.createElement('script');
23
- element.src = this.path;
24
- return element;
25
- }
26
- }
27
- export class StyleLoadingStrategy extends LoadingStrategy {
28
- constructor(href, domStrategy, crossOriginStrategy) {
29
- super(href, domStrategy, crossOriginStrategy);
30
- }
31
- createElement() {
32
- const element = document.createElement('link');
33
- element.rel = 'stylesheet';
34
- element.href = this.path;
35
- return element;
36
- }
37
- }
38
- export const LOADING_STRATEGY = {
39
- AppendScriptToBody(src) {
40
- return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.None());
41
- },
42
- AppendAnonymousScriptToBody(src, integrity) {
43
- return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
44
- },
45
- AppendAnonymousScriptToHead(src, integrity) {
46
- return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
47
- },
48
- AppendAnonymousStyleToHead(src, integrity) {
49
- return new StyleLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
50
- },
51
- PrependAnonymousScriptToHead(src, integrity) {
52
- return new ScriptLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
53
- },
54
- PrependAnonymousStyleToHead(src, integrity) {
55
- return new StyleLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
56
- },
57
- };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2xvYWRpbmcuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE1BQU0sT0FBZ0IsZUFBZTtJQUduQyxZQUNTLElBQVksRUFDVCxjQUEyQixZQUFZLENBQUMsWUFBWSxFQUFFLEVBQ3RELHNCQUEyQyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUU7UUFGL0UsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNULGdCQUFXLEdBQVgsV0FBVyxDQUEyQztRQUN0RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlEO0lBQ3JGLENBQUM7SUFJSixZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFcEMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNsQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWtDO0lBQzNFLFlBQVksR0FBVyxFQUFFLFdBQXlCLEVBQUUsbUJBQXlDO1FBQzNGLEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV4QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZ0M7SUFDeEUsWUFBWSxJQUFZLEVBQUUsV0FBeUIsRUFBRSxtQkFBeUM7UUFDNUYsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDM0IsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXpCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUMzQixxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFDRCwyQkFBMkIsQ0FBQyxHQUFXLEVBQUUsU0FBa0I7UUFDekQsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUMzQixxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBQ0QsMkJBQTJCLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQ3pELE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsR0FBRyxFQUNILFlBQVksQ0FBQyxZQUFZLEVBQUUsRUFDM0IscUJBQXFCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUNELDBCQUEwQixDQUFDLEdBQVcsRUFBRSxTQUFrQjtRQUN4RCxPQUFPLElBQUksb0JBQW9CLENBQzdCLEdBQUcsRUFDSCxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQzNCLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFDRCw0QkFBNEIsQ0FBQyxHQUFXLEVBQUUsU0FBa0I7UUFDMUQsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUM1QixxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBQ0QsMkJBQTJCLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQ3pELE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsR0FBRyxFQUNILFlBQVksQ0FBQyxhQUFhLEVBQUUsRUFDNUIscUJBQXFCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGZyb21MYXp5TG9hZCB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQ3Jvc3NPcmlnaW5TdHJhdGVneSwgQ1JPU1NfT1JJR0lOX1NUUkFURUdZIH0gZnJvbSAnLi9jcm9zcy1vcmlnaW4uc3RyYXRlZ3knO1xyXG5pbXBvcnQgeyBEb21TdHJhdGVneSwgRE9NX1NUUkFURUdZIH0gZnJvbSAnLi9kb20uc3RyYXRlZ3knO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvYWRpbmdTdHJhdGVneTxUIGV4dGVuZHMgSFRNTFNjcmlwdEVsZW1lbnQgfCBIVE1MTGlua0VsZW1lbnQgPSBhbnk+IHtcclxuICBlbGVtZW50OiBUO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBwYXRoOiBzdHJpbmcsXHJcbiAgICBwcm90ZWN0ZWQgZG9tU3RyYXRlZ3k6IERvbVN0cmF0ZWd5ID0gRE9NX1NUUkFURUdZLkFwcGVuZFRvSGVhZCgpLFxyXG4gICAgcHJvdGVjdGVkIGNyb3NzT3JpZ2luU3RyYXRlZ3k6IENyb3NzT3JpZ2luU3RyYXRlZ3kgPSBDUk9TU19PUklHSU5fU1RSQVRFR1kuQW5vbnltb3VzKCksXHJcbiAgKSB7fVxyXG5cclxuICBhYnN0cmFjdCBjcmVhdGVFbGVtZW50KCk6IFQ7XHJcblxyXG4gIGNyZWF0ZVN0cmVhbTxFIGV4dGVuZHMgRXZlbnQ+KCk6IE9ic2VydmFibGU8RT4ge1xyXG4gICAgdGhpcy5lbGVtZW50ID0gdGhpcy5jcmVhdGVFbGVtZW50KCk7XHJcblxyXG4gICAgcmV0dXJuIG9mKG51bGwpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tTGF6eUxvYWQ8RT4odGhpcy5lbGVtZW50LCB0aGlzLmRvbVN0cmF0ZWd5LCB0aGlzLmNyb3NzT3JpZ2luU3RyYXRlZ3kpKSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2NyaXB0TG9hZGluZ1N0cmF0ZWd5IGV4dGVuZHMgTG9hZGluZ1N0cmF0ZWd5PEhUTUxTY3JpcHRFbGVtZW50PiB7XHJcbiAgY29uc3RydWN0b3Ioc3JjOiBzdHJpbmcsIGRvbVN0cmF0ZWd5PzogRG9tU3RyYXRlZ3ksIGNyb3NzT3JpZ2luU3RyYXRlZ3k/OiBDcm9zc09yaWdpblN0cmF0ZWd5KSB7XHJcbiAgICBzdXBlcihzcmMsIGRvbVN0cmF0ZWd5LCBjcm9zc09yaWdpblN0cmF0ZWd5KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUVsZW1lbnQoKTogSFRNTFNjcmlwdEVsZW1lbnQge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgZWxlbWVudC5zcmMgPSB0aGlzLnBhdGg7XHJcblxyXG4gICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3R5bGVMb2FkaW5nU3RyYXRlZ3kgZXh0ZW5kcyBMb2FkaW5nU3RyYXRlZ3k8SFRNTExpbmtFbGVtZW50PiB7XHJcbiAgY29uc3RydWN0b3IoaHJlZjogc3RyaW5nLCBkb21TdHJhdGVneT86IERvbVN0cmF0ZWd5LCBjcm9zc09yaWdpblN0cmF0ZWd5PzogQ3Jvc3NPcmlnaW5TdHJhdGVneSkge1xyXG4gICAgc3VwZXIoaHJlZiwgZG9tU3RyYXRlZ3ksIGNyb3NzT3JpZ2luU3RyYXRlZ3kpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRWxlbWVudCgpOiBIVE1MTGlua0VsZW1lbnQge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIGVsZW1lbnQucmVsID0gJ3N0eWxlc2hlZXQnO1xyXG4gICAgZWxlbWVudC5ocmVmID0gdGhpcy5wYXRoO1xyXG5cclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IExPQURJTkdfU1RSQVRFR1kgPSB7XHJcbiAgQXBwZW5kU2NyaXB0VG9Cb2R5KHNyYzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IFNjcmlwdExvYWRpbmdTdHJhdGVneShcclxuICAgICAgc3JjLFxyXG4gICAgICBET01fU1RSQVRFR1kuQXBwZW5kVG9Cb2R5KCksXHJcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Ob25lKCksXHJcbiAgICApO1xyXG4gIH0sXHJcbiAgQXBwZW5kQW5vbnltb3VzU2NyaXB0VG9Cb2R5KHNyYzogc3RyaW5nLCBpbnRlZ3JpdHk/OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBuZXcgU2NyaXB0TG9hZGluZ1N0cmF0ZWd5KFxyXG4gICAgICBzcmMsXHJcbiAgICAgIERPTV9TVFJBVEVHWS5BcHBlbmRUb0JvZHkoKSxcclxuICAgICAgQ1JPU1NfT1JJR0lOX1NUUkFURUdZLkFub255bW91cyhpbnRlZ3JpdHkpLFxyXG4gICAgKTtcclxuICB9LFxyXG4gIEFwcGVuZEFub255bW91c1NjcmlwdFRvSGVhZChzcmM6IHN0cmluZywgaW50ZWdyaXR5Pzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IFNjcmlwdExvYWRpbmdTdHJhdGVneShcclxuICAgICAgc3JjLFxyXG4gICAgICBET01fU1RSQVRFR1kuQXBwZW5kVG9IZWFkKCksXHJcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcclxuICAgICk7XHJcbiAgfSxcclxuICBBcHBlbmRBbm9ueW1vdXNTdHlsZVRvSGVhZChzcmM6IHN0cmluZywgaW50ZWdyaXR5Pzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IFN0eWxlTG9hZGluZ1N0cmF0ZWd5KFxyXG4gICAgICBzcmMsXHJcbiAgICAgIERPTV9TVFJBVEVHWS5BcHBlbmRUb0hlYWQoKSxcclxuICAgICAgQ1JPU1NfT1JJR0lOX1NUUkFURUdZLkFub255bW91cyhpbnRlZ3JpdHkpLFxyXG4gICAgKTtcclxuICB9LFxyXG4gIFByZXBlbmRBbm9ueW1vdXNTY3JpcHRUb0hlYWQoc3JjOiBzdHJpbmcsIGludGVncml0eT86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBTY3JpcHRMb2FkaW5nU3RyYXRlZ3koXHJcbiAgICAgIHNyYyxcclxuICAgICAgRE9NX1NUUkFURUdZLlByZXBlbmRUb0hlYWQoKSxcclxuICAgICAgQ1JPU1NfT1JJR0lOX1NUUkFURUdZLkFub255bW91cyhpbnRlZ3JpdHkpLFxyXG4gICAgKTtcclxuICB9LFxyXG4gIFByZXBlbmRBbm9ueW1vdXNTdHlsZVRvSGVhZChzcmM6IHN0cmluZywgaW50ZWdyaXR5Pzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IFN0eWxlTG9hZGluZ1N0cmF0ZWd5KFxyXG4gICAgICBzcmMsXHJcbiAgICAgIERPTV9TVFJBVEVHWS5QcmVwZW5kVG9IZWFkKCksXHJcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcclxuICAgICk7XHJcbiAgfSxcclxufTtcclxuIl19
1
+ import { of } from 'rxjs';
2
+ import { switchMap } from 'rxjs/operators';
3
+ import { fromLazyLoad } from '../utils';
4
+ import { CROSS_ORIGIN_STRATEGY } from './cross-origin.strategy';
5
+ import { DOM_STRATEGY } from './dom.strategy';
6
+ export class LoadingStrategy {
7
+ constructor(path, domStrategy = DOM_STRATEGY.AppendToHead(), crossOriginStrategy = CROSS_ORIGIN_STRATEGY.Anonymous()) {
8
+ this.path = path;
9
+ this.domStrategy = domStrategy;
10
+ this.crossOriginStrategy = crossOriginStrategy;
11
+ }
12
+ createStream() {
13
+ this.element = this.createElement();
14
+ return of(null).pipe(switchMap(() => fromLazyLoad(this.element, this.domStrategy, this.crossOriginStrategy)));
15
+ }
16
+ }
17
+ export class ScriptLoadingStrategy extends LoadingStrategy {
18
+ constructor(src, domStrategy, crossOriginStrategy) {
19
+ super(src, domStrategy, crossOriginStrategy);
20
+ }
21
+ createElement() {
22
+ const element = document.createElement('script');
23
+ element.src = this.path;
24
+ return element;
25
+ }
26
+ }
27
+ export class StyleLoadingStrategy extends LoadingStrategy {
28
+ constructor(href, domStrategy, crossOriginStrategy) {
29
+ super(href, domStrategy, crossOriginStrategy);
30
+ }
31
+ createElement() {
32
+ const element = document.createElement('link');
33
+ element.rel = 'stylesheet';
34
+ element.href = this.path;
35
+ return element;
36
+ }
37
+ }
38
+ export const LOADING_STRATEGY = {
39
+ AppendScriptToBody(src) {
40
+ return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.None());
41
+ },
42
+ AppendAnonymousScriptToBody(src, integrity) {
43
+ return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToBody(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
44
+ },
45
+ AppendAnonymousScriptToHead(src, integrity) {
46
+ return new ScriptLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
47
+ },
48
+ AppendAnonymousStyleToHead(src, integrity) {
49
+ return new StyleLoadingStrategy(src, DOM_STRATEGY.AppendToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
50
+ },
51
+ PrependAnonymousScriptToHead(src, integrity) {
52
+ return new ScriptLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
53
+ },
54
+ PrependAnonymousStyleToHead(src, integrity) {
55
+ return new StyleLoadingStrategy(src, DOM_STRATEGY.PrependToHead(), CROSS_ORIGIN_STRATEGY.Anonymous(integrity));
56
+ },
57
+ };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zdHJhdGVnaWVzL2xvYWRpbmcuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE1BQU0sT0FBZ0IsZUFBZTtJQUduQyxZQUNTLElBQVksRUFDVCxjQUEyQixZQUFZLENBQUMsWUFBWSxFQUFFLEVBQ3RELHNCQUEyQyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUU7UUFGL0UsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNULGdCQUFXLEdBQVgsV0FBVyxDQUEyQztRQUN0RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlEO0lBQ3JGLENBQUM7SUFJSixZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFcEMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNsQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWtDO0lBQzNFLFlBQVksR0FBVyxFQUFFLFdBQXlCLEVBQUUsbUJBQXlDO1FBQzNGLEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV4QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZ0M7SUFDeEUsWUFBWSxJQUFZLEVBQUUsV0FBeUIsRUFBRSxtQkFBeUM7UUFDNUYsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDM0IsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXpCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUMzQixxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFDRCwyQkFBMkIsQ0FBQyxHQUFXLEVBQUUsU0FBa0I7UUFDekQsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUMzQixxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBQ0QsMkJBQTJCLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQ3pELE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsR0FBRyxFQUNILFlBQVksQ0FBQyxZQUFZLEVBQUUsRUFDM0IscUJBQXFCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUNELDBCQUEwQixDQUFDLEdBQVcsRUFBRSxTQUFrQjtRQUN4RCxPQUFPLElBQUksb0JBQW9CLENBQzdCLEdBQUcsRUFDSCxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQzNCLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFDRCw0QkFBNEIsQ0FBQyxHQUFXLEVBQUUsU0FBa0I7UUFDMUQsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixHQUFHLEVBQ0gsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUM1QixxQkFBcUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBQ0QsMkJBQTJCLENBQUMsR0FBVyxFQUFFLFNBQWtCO1FBQ3pELE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsR0FBRyxFQUNILFlBQVksQ0FBQyxhQUFhLEVBQUUsRUFDNUIscUJBQXFCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZnJvbUxhenlMb2FkIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ3Jvc3NPcmlnaW5TdHJhdGVneSwgQ1JPU1NfT1JJR0lOX1NUUkFURUdZIH0gZnJvbSAnLi9jcm9zcy1vcmlnaW4uc3RyYXRlZ3knO1xuaW1wb3J0IHsgRG9tU3RyYXRlZ3ksIERPTV9TVFJBVEVHWSB9IGZyb20gJy4vZG9tLnN0cmF0ZWd5JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvYWRpbmdTdHJhdGVneTxUIGV4dGVuZHMgSFRNTFNjcmlwdEVsZW1lbnQgfCBIVE1MTGlua0VsZW1lbnQgPSBhbnk+IHtcbiAgZWxlbWVudDogVDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBkb21TdHJhdGVneTogRG9tU3RyYXRlZ3kgPSBET01fU1RSQVRFR1kuQXBwZW5kVG9IZWFkKCksXG4gICAgcHJvdGVjdGVkIGNyb3NzT3JpZ2luU3RyYXRlZ3k6IENyb3NzT3JpZ2luU3RyYXRlZ3kgPSBDUk9TU19PUklHSU5fU1RSQVRFR1kuQW5vbnltb3VzKCksXG4gICkge31cblxuICBhYnN0cmFjdCBjcmVhdGVFbGVtZW50KCk6IFQ7XG5cbiAgY3JlYXRlU3RyZWFtPEUgZXh0ZW5kcyBFdmVudD4oKTogT2JzZXJ2YWJsZTxFPiB7XG4gICAgdGhpcy5lbGVtZW50ID0gdGhpcy5jcmVhdGVFbGVtZW50KCk7XG5cbiAgICByZXR1cm4gb2YobnVsbCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tTGF6eUxvYWQ8RT4odGhpcy5lbGVtZW50LCB0aGlzLmRvbVN0cmF0ZWd5LCB0aGlzLmNyb3NzT3JpZ2luU3RyYXRlZ3kpKSxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTY3JpcHRMb2FkaW5nU3RyYXRlZ3kgZXh0ZW5kcyBMb2FkaW5nU3RyYXRlZ3k8SFRNTFNjcmlwdEVsZW1lbnQ+IHtcbiAgY29uc3RydWN0b3Ioc3JjOiBzdHJpbmcsIGRvbVN0cmF0ZWd5PzogRG9tU3RyYXRlZ3ksIGNyb3NzT3JpZ2luU3RyYXRlZ3k/OiBDcm9zc09yaWdpblN0cmF0ZWd5KSB7XG4gICAgc3VwZXIoc3JjLCBkb21TdHJhdGVneSwgY3Jvc3NPcmlnaW5TdHJhdGVneSk7XG4gIH1cblxuICBjcmVhdGVFbGVtZW50KCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgZWxlbWVudC5zcmMgPSB0aGlzLnBhdGg7XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3R5bGVMb2FkaW5nU3RyYXRlZ3kgZXh0ZW5kcyBMb2FkaW5nU3RyYXRlZ3k8SFRNTExpbmtFbGVtZW50PiB7XG4gIGNvbnN0cnVjdG9yKGhyZWY6IHN0cmluZywgZG9tU3RyYXRlZ3k/OiBEb21TdHJhdGVneSwgY3Jvc3NPcmlnaW5TdHJhdGVneT86IENyb3NzT3JpZ2luU3RyYXRlZ3kpIHtcbiAgICBzdXBlcihocmVmLCBkb21TdHJhdGVneSwgY3Jvc3NPcmlnaW5TdHJhdGVneSk7XG4gIH1cblxuICBjcmVhdGVFbGVtZW50KCk6IEhUTUxMaW5rRWxlbWVudCB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICBlbGVtZW50LnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICBlbGVtZW50LmhyZWYgPSB0aGlzLnBhdGg7XG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgTE9BRElOR19TVFJBVEVHWSA9IHtcbiAgQXBwZW5kU2NyaXB0VG9Cb2R5KHNyYzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHRMb2FkaW5nU3RyYXRlZ3koXG4gICAgICBzcmMsXG4gICAgICBET01fU1RSQVRFR1kuQXBwZW5kVG9Cb2R5KCksXG4gICAgICBDUk9TU19PUklHSU5fU1RSQVRFR1kuTm9uZSgpLFxuICAgICk7XG4gIH0sXG4gIEFwcGVuZEFub255bW91c1NjcmlwdFRvQm9keShzcmM6IHN0cmluZywgaW50ZWdyaXR5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHRMb2FkaW5nU3RyYXRlZ3koXG4gICAgICBzcmMsXG4gICAgICBET01fU1RSQVRFR1kuQXBwZW5kVG9Cb2R5KCksXG4gICAgICBDUk9TU19PUklHSU5fU1RSQVRFR1kuQW5vbnltb3VzKGludGVncml0eSksXG4gICAgKTtcbiAgfSxcbiAgQXBwZW5kQW5vbnltb3VzU2NyaXB0VG9IZWFkKHNyYzogc3RyaW5nLCBpbnRlZ3JpdHk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFNjcmlwdExvYWRpbmdTdHJhdGVneShcbiAgICAgIHNyYyxcbiAgICAgIERPTV9TVFJBVEVHWS5BcHBlbmRUb0hlYWQoKSxcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcbiAgICApO1xuICB9LFxuICBBcHBlbmRBbm9ueW1vdXNTdHlsZVRvSGVhZChzcmM6IHN0cmluZywgaW50ZWdyaXR5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZUxvYWRpbmdTdHJhdGVneShcbiAgICAgIHNyYyxcbiAgICAgIERPTV9TVFJBVEVHWS5BcHBlbmRUb0hlYWQoKSxcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcbiAgICApO1xuICB9LFxuICBQcmVwZW5kQW5vbnltb3VzU2NyaXB0VG9IZWFkKHNyYzogc3RyaW5nLCBpbnRlZ3JpdHk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFNjcmlwdExvYWRpbmdTdHJhdGVneShcbiAgICAgIHNyYyxcbiAgICAgIERPTV9TVFJBVEVHWS5QcmVwZW5kVG9IZWFkKCksXG4gICAgICBDUk9TU19PUklHSU5fU1RSQVRFR1kuQW5vbnltb3VzKGludGVncml0eSksXG4gICAgKTtcbiAgfSxcbiAgUHJlcGVuZEFub255bW91c1N0eWxlVG9IZWFkKHNyYzogc3RyaW5nLCBpbnRlZ3JpdHk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlTG9hZGluZ1N0cmF0ZWd5KFxuICAgICAgc3JjLFxuICAgICAgRE9NX1NUUkFURUdZLlByZXBlbmRUb0hlYWQoKSxcbiAgICAgIENST1NTX09SSUdJTl9TVFJBVEVHWS5Bbm9ueW1vdXMoaW50ZWdyaXR5KSxcbiAgICApO1xuICB9LFxufTtcbiJdfQ==