@worktile/planet 12.1.0 → 12.1.1

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 (329) hide show
  1. package/.all-contributorsrc +84 -0
  2. package/.circleci/config.yml +17 -0
  3. package/.coveralls.yml +1 -0
  4. package/.docgeni/public/assets/favicon.ico +0 -0
  5. package/.docgeni/public/index.html +13 -0
  6. package/.docgenirc.js +35 -0
  7. package/.dockerignore +1 -0
  8. package/.editorconfig +22 -0
  9. package/.github/FUNDING.yml +12 -0
  10. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  11. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  12. package/.prettierignore +7 -0
  13. package/.prettierrc +28 -0
  14. package/.travis.yml +26 -0
  15. package/.wpmrc.js +11 -0
  16. package/CHANGELOG.md +391 -0
  17. package/CODE_OF_CONDUCT.md +76 -0
  18. package/Dockerfile +11 -0
  19. package/LICENSE +21 -0
  20. package/README.md +348 -0
  21. package/README.zh-CN.md +307 -0
  22. package/SECURITY.md +21 -0
  23. package/angular.json +373 -0
  24. package/commitlint.config.js +6 -0
  25. package/docs/api/defineApplication.md +46 -0
  26. package/docs/api/globalEventDispatcher.md +51 -0
  27. package/docs/api/index.md +5 -0
  28. package/docs/api/planet.md +117 -0
  29. package/docs/guides/getting-started.md +174 -0
  30. package/docs/guides/index.md +5 -0
  31. package/docs/guides/intro.md +216 -0
  32. package/examples/app1/browserslist +11 -0
  33. package/examples/app1/extra-webpack.config.js +33 -0
  34. package/examples/app1/karma.conf.js +31 -0
  35. package/examples/app1/postcss.config.js +1 -0
  36. package/examples/app1/src/app/app.module.ts +44 -0
  37. package/examples/app1/src/app/app.routing.ts +49 -0
  38. package/examples/app1/src/app/counter.service.ts +16 -0
  39. package/examples/app1/src/app/dashboard/dashboard.component.html +51 -0
  40. package/examples/app1/src/app/dashboard/dashboard.component.ts +70 -0
  41. package/examples/app1/src/app/detail/detail.component.html +8 -0
  42. package/examples/app1/src/app/detail/detail.component.ts +18 -0
  43. package/examples/app1/src/app/overlay.ts +26 -0
  44. package/examples/app1/src/app/projects/dialog/projects-dialog.component.html +10 -0
  45. package/examples/app1/src/app/projects/dialog/projects-dialog.component.ts +41 -0
  46. package/examples/app1/src/app/projects/projects.component.ts +33 -0
  47. package/examples/app1/src/app/root/root.component.css +3 -0
  48. package/examples/app1/src/app/root/root.component.html +16 -0
  49. package/examples/app1/src/app/root/root.component.ts +35 -0
  50. package/examples/app1/src/app/services/initialized-data.resolver.ts +15 -0
  51. package/examples/app1/src/app/shared.module.ts +57 -0
  52. package/examples/app1/src/app/user/detail/user-detail.component.html +5 -0
  53. package/examples/app1/src/app/user/detail/user-detail.component.ts +20 -0
  54. package/examples/app1/src/app/user/user-list.component.html +7 -0
  55. package/examples/app1/src/app/user/user-list.component.ts +20 -0
  56. package/examples/app1/src/app/user/user.module.ts +31 -0
  57. package/examples/app1/src/assets/.gitkeep +0 -0
  58. package/examples/app1/src/assets/github.png +0 -0
  59. package/examples/app1/src/assets/main.css +3 -0
  60. package/examples/app1/src/environments/environment.prod.ts +3 -0
  61. package/examples/app1/src/environments/environment.ts +16 -0
  62. package/examples/app1/src/favicon.ico +0 -0
  63. package/examples/app1/src/index.html +14 -0
  64. package/examples/app1/src/main.ts +35 -0
  65. package/examples/app1/src/polyfills.ts +84 -0
  66. package/examples/app1/src/styles.scss +35 -0
  67. package/examples/app1/src/test.ts +14 -0
  68. package/examples/app1/temp.js +221 -0
  69. package/examples/app1/tsconfig.app.json +10 -0
  70. package/examples/app1/tsconfig.spec.json +18 -0
  71. package/examples/app1/tslint.json +17 -0
  72. package/examples/app1/webpack.config.js +127 -0
  73. package/examples/app2/browserslist +11 -0
  74. package/examples/app2/extra-webpack.config.js +32 -0
  75. package/examples/app2/karma.conf.js +31 -0
  76. package/examples/app2/src/app/app.module.ts +90 -0
  77. package/examples/app2/src/app/dashboard/dashboard.component.html +21 -0
  78. package/examples/app2/src/app/dashboard/dashboard.component.ts +27 -0
  79. package/examples/app2/src/app/overlay.ts +26 -0
  80. package/examples/app2/src/app/projects/detail/detail.component.html +16 -0
  81. package/examples/app2/src/app/projects/detail/detail.component.ts +21 -0
  82. package/examples/app2/src/app/projects/project-list.component.html +29 -0
  83. package/examples/app2/src/app/projects/project-list.component.ts +58 -0
  84. package/examples/app2/src/app/projects/project.resolver.ts +15 -0
  85. package/examples/app2/src/app/projects/projects.service.ts +28 -0
  86. package/examples/app2/src/app/projects/tasks/tasks.component.html +10 -0
  87. package/examples/app2/src/app/projects/tasks/tasks.component.ts +16 -0
  88. package/examples/app2/src/app/projects/view/view.component.html +1 -0
  89. package/examples/app2/src/app/projects/view/view.component.ts +20 -0
  90. package/examples/app2/src/app/root/root.component.html +14 -0
  91. package/examples/app2/src/app/root/root.component.scss +12 -0
  92. package/examples/app2/src/app/root/root.component.ts +28 -0
  93. package/examples/app2/src/app/shared.module.ts +59 -0
  94. package/examples/app2/src/assets/.gitkeep +0 -0
  95. package/examples/app2/src/environments/environment.prod.ts +3 -0
  96. package/examples/app2/src/environments/environment.ts +16 -0
  97. package/examples/app2/src/favicon.ico +0 -0
  98. package/examples/app2/src/index.html +14 -0
  99. package/examples/app2/src/main.ts +36 -0
  100. package/examples/app2/src/polyfills.ts +84 -0
  101. package/examples/app2/src/styles.scss +28 -0
  102. package/examples/app2/src/test.ts +14 -0
  103. package/examples/app2/tsconfig.app.json +10 -0
  104. package/examples/app2/tsconfig.spec.json +18 -0
  105. package/examples/app2/tslint.json +7 -0
  106. package/examples/app2/webpack.config.js +92 -0
  107. package/examples/common/app-root-context.ts +10 -0
  108. package/examples/common/cache.ts +82 -0
  109. package/examples/common/index.ts +13 -0
  110. package/examples/common/module.ts +10 -0
  111. package/examples/common/overlay-container.service.ts +28 -0
  112. package/examples/common/section-card/section-card.component.html +5 -0
  113. package/examples/common/section-card/section-card.component.scss +15 -0
  114. package/examples/common/section-card/section-card.component.ts +11 -0
  115. package/examples/common/utils.ts +0 -0
  116. package/examples/portal/src/app/a-detail/a-detail.component.html +8 -0
  117. package/examples/portal/src/app/a-detail/a-detail.component.ts +18 -0
  118. package/examples/portal/src/app/about/about.component.html +27 -0
  119. package/examples/portal/src/app/about/about.component.scss +0 -0
  120. package/examples/portal/src/app/about/about.component.spec.ts +26 -0
  121. package/examples/portal/src/app/about/about.component.ts +26 -0
  122. package/examples/portal/src/app/app-routing.module.ts +57 -0
  123. package/examples/portal/src/app/app.component.html +73 -0
  124. package/examples/portal/src/app/app.component.scss +58 -0
  125. package/examples/portal/src/app/app.component.spec.ts +33 -0
  126. package/examples/portal/src/app/app.component.ts +111 -0
  127. package/examples/portal/src/app/app.module.ts +64 -0
  128. package/examples/portal/src/app/custom-settings.service.ts +44 -0
  129. package/examples/portal/src/app/overlay.ts +26 -0
  130. package/examples/portal/src/app/settings/settings.component.html +31 -0
  131. package/examples/portal/src/app/settings/settings.component.scss +3 -0
  132. package/examples/portal/src/app/settings/settings.component.ts +43 -0
  133. package/examples/portal/src/assets/.gitkeep +0 -0
  134. package/examples/portal/src/assets/apps.json +29 -0
  135. package/examples/portal/src/assets/icons/sprite.defs.svg +1 -0
  136. package/examples/portal/src/assets/images/logo.svg +16 -0
  137. package/examples/portal/src/assets/ngx-planet-micro-front-end.gif +0 -0
  138. package/examples/portal/src/browserslist +11 -0
  139. package/examples/portal/src/environments/environment.prod.ts +3 -0
  140. package/examples/portal/src/environments/environment.ts +16 -0
  141. package/examples/portal/src/extra-webpack.config.js +32 -0
  142. package/examples/portal/src/favicon.ico +0 -0
  143. package/examples/portal/src/index.html +14 -0
  144. package/examples/portal/src/karma.conf.js +31 -0
  145. package/examples/portal/src/main.ts +18 -0
  146. package/examples/portal/src/polyfills.ts +84 -0
  147. package/examples/portal/src/reboot.scss +14 -0
  148. package/examples/portal/src/styles.scss +14 -0
  149. package/examples/portal/src/test.ts +14 -0
  150. package/examples/portal/src/tsconfig.app.json +10 -0
  151. package/examples/portal/src/tsconfig.spec.json +9 -0
  152. package/examples/portal/src/tslint.json +7 -0
  153. package/extra-webpack.config.js +5 -0
  154. package/nginx.conf +17 -0
  155. package/package.json +121 -16
  156. package/packages/planet/karma.conf.js +37 -0
  157. package/packages/planet/ng-package.json +7 -0
  158. package/packages/planet/package.json +10 -0
  159. package/packages/planet/src/application/planet-application-loader.spec.ts +1102 -0
  160. package/packages/planet/src/application/planet-application-loader.ts +549 -0
  161. package/packages/planet/src/application/planet-application-ref.spec.ts +233 -0
  162. package/packages/planet/src/application/planet-application-ref.ts +131 -0
  163. package/packages/planet/src/application/planet-application.service.spec.ts +145 -0
  164. package/packages/planet/src/application/planet-application.service.ts +88 -0
  165. package/packages/planet/src/application/portal-application.spec.ts +53 -0
  166. package/packages/planet/src/application/portal-application.ts +28 -0
  167. package/packages/planet/src/assets-loader.spec.ts +689 -0
  168. package/packages/planet/src/assets-loader.ts +247 -0
  169. package/packages/planet/src/component/planet-component-loader.spec.ts +187 -0
  170. package/packages/planet/src/component/planet-component-loader.ts +173 -0
  171. package/packages/planet/src/component/planet-component-ref.ts +8 -0
  172. package/{component/plant-component.config.d.ts → packages/planet/src/component/plant-component.config.ts} +4 -4
  173. package/packages/planet/src/debug.spec.ts +58 -0
  174. package/packages/planet/src/debug.ts +66 -0
  175. package/packages/planet/src/empty/empty.component.spec.ts +34 -0
  176. package/packages/planet/src/empty/empty.component.ts +7 -0
  177. package/packages/planet/src/global-event-dispatcher.spec.ts +81 -0
  178. package/packages/planet/src/global-event-dispatcher.ts +82 -0
  179. package/packages/planet/src/global-planet.spec.ts +39 -0
  180. package/packages/planet/src/global-planet.ts +73 -0
  181. package/packages/planet/src/helpers.spec.ts +242 -0
  182. package/packages/planet/src/helpers.ts +125 -0
  183. package/packages/planet/src/module.spec.ts +79 -0
  184. package/packages/planet/src/module.ts +25 -0
  185. package/{planet.class.d.ts → packages/planet/src/planet.class.ts} +26 -5
  186. package/packages/planet/src/planet.spec.ts +226 -0
  187. package/packages/planet/src/planet.ts +113 -0
  188. package/{public-api.d.ts → packages/planet/src/public-api.ts} +4 -1
  189. package/packages/planet/src/sandbox/constants.ts +6 -0
  190. package/packages/planet/src/sandbox/exec.ts +22 -0
  191. package/packages/planet/src/sandbox/index.ts +24 -0
  192. package/packages/planet/src/sandbox/proxy/patches/document.ts +13 -0
  193. package/packages/planet/src/sandbox/proxy/patches/eventListener.ts +49 -0
  194. package/packages/planet/src/sandbox/proxy/patches/index.ts +13 -0
  195. package/packages/planet/src/sandbox/proxy/patches/storage.ts +53 -0
  196. package/packages/planet/src/sandbox/proxy/patches/timer.ts +50 -0
  197. package/packages/planet/src/sandbox/proxy/proxies/common.ts +137 -0
  198. package/packages/planet/src/sandbox/proxy/proxies/document.ts +140 -0
  199. package/packages/planet/src/sandbox/proxy/proxies/window.ts +176 -0
  200. package/packages/planet/src/sandbox/proxy/proxy-sandbox.ts +59 -0
  201. package/{sandbox/proxy/types.d.ts → packages/planet/src/sandbox/proxy/types.ts} +8 -2
  202. package/packages/planet/src/sandbox/sandbox.ts +20 -0
  203. package/packages/planet/src/sandbox/snapshot/snapshot-sandbox.ts +12 -0
  204. package/packages/planet/src/sandbox/types.ts +1 -0
  205. package/packages/planet/src/test.ts +16 -0
  206. package/packages/planet/src/testing/app1.module.ts +34 -0
  207. package/packages/planet/src/testing/app2.module.ts +24 -0
  208. package/packages/planet/src/testing/applications.ts +58 -0
  209. package/packages/planet/src/testing/index.ts +2 -0
  210. package/packages/planet/src/testing/utils.ts +31 -0
  211. package/packages/planet/tsconfig.lib.json +27 -0
  212. package/packages/planet/tsconfig.lib.prod.json +9 -0
  213. package/packages/planet/tsconfig.spec.json +17 -0
  214. package/packages/planet/tslint.json +7 -0
  215. package/postcss.config.js +3 -0
  216. package/proxy.conf.js +15 -0
  217. package/tsconfig.json +23 -0
  218. package/tslint.json +80 -0
  219. package/application/planet-application-loader.d.ts +0 -70
  220. package/application/planet-application-loader.d.ts.map +0 -1
  221. package/application/planet-application-loader.ngfactory.d.ts.map +0 -1
  222. package/application/planet-application-ref.d.ts +0 -36
  223. package/application/planet-application-ref.d.ts.map +0 -1
  224. package/application/planet-application.service.d.ts +0 -19
  225. package/application/planet-application.service.d.ts.map +0 -1
  226. package/application/planet-application.service.ngfactory.d.ts.map +0 -1
  227. package/application/portal-application.d.ts +0 -15
  228. package/application/portal-application.d.ts.map +0 -1
  229. package/assets-loader.d.ts +0 -33
  230. package/assets-loader.d.ts.map +0 -1
  231. package/assets-loader.ngfactory.d.ts.map +0 -1
  232. package/bundles/worktile-planet.umd.js +0 -2552
  233. package/bundles/worktile-planet.umd.js.map +0 -1
  234. package/component/planet-component-loader.d.ts +0 -28
  235. package/component/planet-component-loader.d.ts.map +0 -1
  236. package/component/planet-component-loader.ngfactory.d.ts.map +0 -1
  237. package/component/planet-component-ref.d.ts +0 -8
  238. package/component/planet-component-ref.d.ts.map +0 -1
  239. package/component/plant-component.config.d.ts.map +0 -1
  240. package/debug.d.ts +0 -22
  241. package/debug.d.ts.map +0 -1
  242. package/empty/empty.component.d.ts +0 -3
  243. package/empty/empty.component.d.ts.map +0 -1
  244. package/empty/empty.component.ngfactory.d.ts.map +0 -1
  245. package/esm2015/application/planet-application-loader.js +0 -452
  246. package/esm2015/application/planet-application-ref.js +0 -94
  247. package/esm2015/application/planet-application.service.js +0 -87
  248. package/esm2015/application/portal-application.js +0 -16
  249. package/esm2015/assets-loader.js +0 -217
  250. package/esm2015/component/planet-component-loader.js +0 -155
  251. package/esm2015/component/planet-component-ref.js +0 -3
  252. package/esm2015/component/plant-component.config.js +0 -7
  253. package/esm2015/debug.js +0 -33
  254. package/esm2015/empty/empty.component.js +0 -10
  255. package/esm2015/global-event-dispatcher.js +0 -71
  256. package/esm2015/global-planet.js +0 -51
  257. package/esm2015/helpers.js +0 -119
  258. package/esm2015/module.js +0 -27
  259. package/esm2015/planet.class.js +0 -9
  260. package/esm2015/planet.js +0 -90
  261. package/esm2015/public-api.js +0 -18
  262. package/esm2015/sandbox/constants.js +0 -7
  263. package/esm2015/sandbox/exec.js +0 -15
  264. package/esm2015/sandbox/index.js +0 -20
  265. package/esm2015/sandbox/proxy/patches/document.js +0 -12
  266. package/esm2015/sandbox/proxy/patches/eventListener.js +0 -41
  267. package/esm2015/sandbox/proxy/patches/index.js +0 -11
  268. package/esm2015/sandbox/proxy/patches/storage.js +0 -40
  269. package/esm2015/sandbox/proxy/patches/timer.js +0 -43
  270. package/esm2015/sandbox/proxy/proxies/common.js +0 -132
  271. package/esm2015/sandbox/proxy/proxies/document.js +0 -126
  272. package/esm2015/sandbox/proxy/proxies/window.js +0 -155
  273. package/esm2015/sandbox/proxy/proxy-sandbox.js +0 -49
  274. package/esm2015/sandbox/proxy/types.js +0 -2
  275. package/esm2015/sandbox/sandbox.js +0 -7
  276. package/esm2015/sandbox/snapshot/snapshot-sandbox.js +0 -12
  277. package/esm2015/sandbox/types.js +0 -2
  278. package/esm2015/worktile-planet.js +0 -6
  279. package/fesm2015/worktile-planet.js +0 -2036
  280. package/fesm2015/worktile-planet.js.map +0 -1
  281. package/global-event-dispatcher.d.ts +0 -20
  282. package/global-event-dispatcher.d.ts.map +0 -1
  283. package/global-event-dispatcher.ngfactory.d.ts.map +0 -1
  284. package/global-planet.d.ts +0 -23
  285. package/global-planet.d.ts.map +0 -1
  286. package/helpers.d.ts +0 -39
  287. package/helpers.d.ts.map +0 -1
  288. package/module.d.ts +0 -6
  289. package/module.d.ts.map +0 -1
  290. package/module.ngfactory.d.ts.map +0 -1
  291. package/planet.class.d.ts.map +0 -1
  292. package/planet.d.ts +0 -25
  293. package/planet.d.ts.map +0 -1
  294. package/planet.ngfactory.d.ts.map +0 -1
  295. package/public-api.d.ts.map +0 -1
  296. package/sandbox/constants.d.ts +0 -7
  297. package/sandbox/constants.d.ts.map +0 -1
  298. package/sandbox/exec.d.ts +0 -3
  299. package/sandbox/exec.d.ts.map +0 -1
  300. package/sandbox/index.d.ts +0 -7
  301. package/sandbox/index.d.ts.map +0 -1
  302. package/sandbox/proxy/patches/document.d.ts +0 -3
  303. package/sandbox/proxy/patches/document.d.ts.map +0 -1
  304. package/sandbox/proxy/patches/eventListener.d.ts +0 -3
  305. package/sandbox/proxy/patches/eventListener.d.ts.map +0 -1
  306. package/sandbox/proxy/patches/index.d.ts +0 -3
  307. package/sandbox/proxy/patches/index.d.ts.map +0 -1
  308. package/sandbox/proxy/patches/storage.d.ts +0 -15
  309. package/sandbox/proxy/patches/storage.d.ts.map +0 -1
  310. package/sandbox/proxy/patches/timer.d.ts +0 -3
  311. package/sandbox/proxy/patches/timer.d.ts.map +0 -1
  312. package/sandbox/proxy/proxies/common.d.ts +0 -13
  313. package/sandbox/proxy/proxies/common.d.ts.map +0 -1
  314. package/sandbox/proxy/proxies/document.d.ts +0 -14
  315. package/sandbox/proxy/proxies/document.d.ts.map +0 -1
  316. package/sandbox/proxy/proxies/window.d.ts +0 -13
  317. package/sandbox/proxy/proxies/window.d.ts.map +0 -1
  318. package/sandbox/proxy/proxy-sandbox.d.ts +0 -16
  319. package/sandbox/proxy/proxy-sandbox.d.ts.map +0 -1
  320. package/sandbox/proxy/types.d.ts.map +0 -1
  321. package/sandbox/sandbox.d.ts +0 -12
  322. package/sandbox/sandbox.d.ts.map +0 -1
  323. package/sandbox/snapshot/snapshot-sandbox.d.ts +0 -9
  324. package/sandbox/snapshot/snapshot-sandbox.d.ts.map +0 -1
  325. package/sandbox/types.d.ts +0 -2
  326. package/sandbox/types.d.ts.map +0 -1
  327. package/worktile-planet.d.ts +0 -6
  328. package/worktile-planet.d.ts.map +0 -1
  329. package/worktile-planet.metadata.json +0 -1
package/esm2015/planet.js DELETED
@@ -1,90 +0,0 @@
1
- import { Injectable, Inject, Optional, Injector } from '@angular/core';
2
- import { NavigationEnd, Router } from '@angular/router';
3
- import { PLANET_APPLICATIONS } from './planet.class';
4
- import { PlanetApplicationService } from './application/planet-application.service';
5
- import { PlanetApplicationLoader } from './application/planet-application-loader';
6
- import { filter, startWith, distinctUntilChanged, map } from 'rxjs/operators';
7
- import { setPortalApplicationData, setApplicationLoader, setApplicationService, getApplicationLoader, getApplicationService } from './global-planet';
8
- import { setDebugFactory } from './debug';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/router";
11
- import * as i2 from "./planet.class";
12
- export class Planet {
13
- constructor(injector, router, planetApplications) {
14
- this.injector = injector;
15
- this.router = router;
16
- if (!this.planetApplicationLoader) {
17
- setApplicationLoader(this.injector.get(PlanetApplicationLoader));
18
- }
19
- if (!this.planetApplicationService) {
20
- setApplicationService(this.injector.get(PlanetApplicationService));
21
- }
22
- if (planetApplications) {
23
- this.registerApps(planetApplications);
24
- }
25
- }
26
- get planetApplicationLoader() {
27
- return getApplicationLoader();
28
- }
29
- get planetApplicationService() {
30
- return getApplicationService();
31
- }
32
- get loadingDone() {
33
- return this.planetApplicationLoader.loadingDone;
34
- }
35
- get appStatusChange() {
36
- return this.planetApplicationLoader.appStatusChange;
37
- }
38
- get appsLoadingStart() {
39
- return this.planetApplicationLoader.appsLoadingStart;
40
- }
41
- setOptions(options) {
42
- this.planetApplicationLoader.setOptions(options);
43
- if (options.debugFactory) {
44
- setDebugFactory(options.debugFactory);
45
- }
46
- }
47
- setPortalAppData(data) {
48
- setPortalApplicationData(data);
49
- }
50
- registerApp(app) {
51
- this.planetApplicationService.register(app);
52
- }
53
- registerApps(apps) {
54
- this.planetApplicationService.register(apps);
55
- }
56
- unregisterApp(name) {
57
- this.planetApplicationService.unregister(name);
58
- }
59
- getApps() {
60
- return this.planetApplicationService.getApps();
61
- }
62
- start() {
63
- this.subscription = this.router.events
64
- .pipe(filter(event => {
65
- return event instanceof NavigationEnd;
66
- }), map((event) => {
67
- return event.urlAfterRedirects || event.url;
68
- }), startWith(location.pathname), distinctUntilChanged())
69
- .subscribe((url) => {
70
- this.planetApplicationLoader.reroute({
71
- url: url
72
- });
73
- });
74
- }
75
- stop() {
76
- this.subscription.unsubscribe();
77
- }
78
- }
79
- Planet.ɵprov = i0.ɵɵdefineInjectable({ factory: function Planet_Factory() { return new Planet(i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.PLANET_APPLICATIONS, 8)); }, token: Planet, providedIn: "root" });
80
- Planet.decorators = [
81
- { type: Injectable, args: [{
82
- providedIn: 'root'
83
- },] }
84
- ];
85
- Planet.ctorParameters = () => [
86
- { type: Injector },
87
- { type: Router },
88
- { type: Array, decorators: [{ type: Inject, args: [PLANET_APPLICATIONS,] }, { type: Optional }] }
89
- ];
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9wbGFuZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFlLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBb0MsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQ0gsdUJBQXVCLEVBRzFCLE1BQU0seUNBQXlDLENBQUM7QUFFakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUNILHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7O0FBSzFDLE1BQU0sT0FBTyxNQUFNO0lBdUJmLFlBQ1ksUUFBa0IsRUFDbEIsTUFBYyxFQUNtQixrQkFBdUM7UUFGeEUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR3RCLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDL0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNoQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7U0FDdEU7UUFFRCxJQUFJLGtCQUFrQixFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFyQ0QsSUFBWSx1QkFBdUI7UUFDL0IsT0FBTyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFZLHdCQUF3QjtRQUNoQyxPQUFPLHFCQUFxQixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDO0lBQ3pELENBQUM7SUFxQkQsVUFBVSxDQUFDLE9BQStCO1FBQ3RDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3RCLGVBQWUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUksSUFBTztRQUN2Qix3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFTLEdBQThCO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBUyxJQUFpQztRQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNqQyxJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1gsT0FBTyxLQUFLLFlBQVksYUFBYSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUN6QixPQUFPLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQzVCLG9CQUFvQixFQUFFLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztnQkFDakMsR0FBRyxFQUFFLEdBQUc7YUFDWCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzs7O1lBM0ZKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBdEJzQyxRQUFRO1lBQ1YsTUFBTTt3Q0FnRGxDLE1BQU0sU0FBQyxtQkFBbUIsY0FBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlckV2ZW50LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGxhbmV0T3B0aW9ucywgUGxhbmV0QXBwbGljYXRpb24sIFBMQU5FVF9BUFBMSUNBVElPTlMgfSBmcm9tICcuL3BsYW5ldC5jbGFzcyc7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgUGxhbmV0QXBwbGljYXRpb25Mb2FkZXIsXG4gICAgQXBwc0xvYWRpbmdTdGFydEV2ZW50LFxuICAgIEFwcFN0YXR1c0NoYW5nZUV2ZW50XG59IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3RhcnRXaXRoLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBzZXRQb3J0YWxBcHBsaWNhdGlvbkRhdGEsXG4gICAgc2V0QXBwbGljYXRpb25Mb2FkZXIsXG4gICAgc2V0QXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIGdldEFwcGxpY2F0aW9uTG9hZGVyLFxuICAgIGdldEFwcGxpY2F0aW9uU2VydmljZVxufSBmcm9tICcuL2dsb2JhbC1wbGFuZXQnO1xuaW1wb3J0IHsgc2V0RGVidWdGYWN0b3J5IH0gZnJvbSAnLi9kZWJ1Zyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGxhbmV0IHtcbiAgICBwcml2YXRlIGdldCBwbGFuZXRBcHBsaWNhdGlvbkxvYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIGdldEFwcGxpY2F0aW9uTG9hZGVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25TZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2FkaW5nRG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhbmV0QXBwbGljYXRpb25Mb2FkZXIubG9hZGluZ0RvbmU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBTdGF0dXNDaGFuZ2UoKTogT2JzZXJ2YWJsZTxBcHBTdGF0dXNDaGFuZ2VFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlci5hcHBTdGF0dXNDaGFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhcHBzTG9hZGluZ1N0YXJ0KCk6IE9ic2VydmFibGU8QXBwc0xvYWRpbmdTdGFydEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyLmFwcHNMb2FkaW5nU3RhcnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChQTEFORVRfQVBQTElDQVRJT05TKSBAT3B0aW9uYWwoKSBwbGFuZXRBcHBsaWNhdGlvbnM6IFBsYW5ldEFwcGxpY2F0aW9uW11cbiAgICApIHtcbiAgICAgICAgaWYgKCF0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyKSB7XG4gICAgICAgICAgICBzZXRBcHBsaWNhdGlvbkxvYWRlcih0aGlzLmluamVjdG9yLmdldChQbGFuZXRBcHBsaWNhdGlvbkxvYWRlcikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgICAgIHNldEFwcGxpY2F0aW9uU2VydmljZSh0aGlzLmluamVjdG9yLmdldChQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwbGFuZXRBcHBsaWNhdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJBcHBzKHBsYW5ldEFwcGxpY2F0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRPcHRpb25zKG9wdGlvbnM6IFBhcnRpYWw8UGxhbmV0T3B0aW9ucz4pIHtcbiAgICAgICAgdGhpcy5wbGFuZXRBcHBsaWNhdGlvbkxvYWRlci5zZXRPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICBpZiAob3B0aW9ucy5kZWJ1Z0ZhY3RvcnkpIHtcbiAgICAgICAgICAgIHNldERlYnVnRmFjdG9yeShvcHRpb25zLmRlYnVnRmFjdG9yeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRQb3J0YWxBcHBEYXRhPFQ+KGRhdGE6IFQpIHtcbiAgICAgICAgc2V0UG9ydGFsQXBwbGljYXRpb25EYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyQXBwPFRFeHRyYT4oYXBwOiBQbGFuZXRBcHBsaWNhdGlvbjxURXh0cmE+KSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLnJlZ2lzdGVyKGFwcCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJBcHBzPFRFeHRyYT4oYXBwczogUGxhbmV0QXBwbGljYXRpb248VEV4dHJhPltdKSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLnJlZ2lzdGVyKGFwcHMpO1xuICAgIH1cblxuICAgIHVucmVnaXN0ZXJBcHAobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLnVucmVnaXN0ZXIobmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0QXBwcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlLmdldEFwcHMoKTtcbiAgICB9XG5cbiAgICBzdGFydCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQ7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMgfHwgZXZlbnQudXJsO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChsb2NhdGlvbi5wYXRobmFtZSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyLnJlcm91dGUoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IHVybFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RvcCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- /*
2
- * Public API Surface of core
3
- */
4
- export * from './planet';
5
- export * from './global-event-dispatcher';
6
- export * from './application/portal-application';
7
- export * from './planet.class';
8
- export * from './module';
9
- export { PlanetApplicationRef } from './application/planet-application-ref';
10
- export { defineApplication, getPortalApplicationData, getPlanetApplicationRef } from './global-planet';
11
- export { PlanetApplicationService } from './application/planet-application.service';
12
- export * from './application/planet-application-loader';
13
- export * from './assets-loader';
14
- export { PlanetComponentLoader } from './component/planet-component-loader';
15
- export { PlanetComponentRef } from './component/planet-component-ref';
16
- export { PlantComponentConfig } from './component/plant-component.config';
17
- export * from './empty/empty.component';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQW1CLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29yZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcGxhbmV0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLWV2ZW50LWRpc3BhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi9wb3J0YWwtYXBwbGljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wbGFuZXQuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnO1xuZXhwb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi1yZWYnO1xuZXhwb3J0IHsgZGVmaW5lQXBwbGljYXRpb24sIGdldFBvcnRhbEFwcGxpY2F0aW9uRGF0YSwgZ2V0UGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuL2dsb2JhbC1wbGFuZXQnO1xuZXhwb3J0IHsgUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NldHMtbG9hZGVyJztcbmV4cG9ydCB7IFBsYW5ldENvbXBvbmVudCwgUGxhbmV0Q29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi9jb21wb25lbnQvcGxhbmV0LWNvbXBvbmVudC1sb2FkZXInO1xuZXhwb3J0IHsgUGxhbmV0Q29tcG9uZW50UmVmIH0gZnJvbSAnLi9jb21wb25lbnQvcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuZXhwb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvbXBvbmVudC9wbGFudC1jb21wb25lbnQuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vZW1wdHkvZW1wdHkuY29tcG9uZW50JztcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export const PLANET_SANDBOX_WINDOW_WHITELIST = window['___PLANET_SANDBOX_WINDOW_WHITELIST___'];
2
- export const PLANET_SANDBOX_DOCUMENT_WHITELIST = window['___PLANET_SANDBOX_DOCUMENT_WHITELIST___'];
3
- export const SANDBOX_INSTANCE = Symbol.for('PLANET_SANDBOX_INSTANCE');
4
- export const RAW_NODE = Symbol.for('PLANET_RAW_NODE');
5
- export const WINDOW_BIND_FN = Symbol.for('PLANET_WINDOW_BIND_FN');
6
- export const DOCUMENT_BIND_FN = Symbol.for('PLANET_DOCUMENT_BIND_FN');
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9zYW5kYm94L2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUNuRyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN0RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBQTEFORVRfU0FOREJPWF9XSU5ET1dfV0hJVEVMSVNUID0gd2luZG93WydfX19QTEFORVRfU0FOREJPWF9XSU5ET1dfV0hJVEVMSVNUX19fJ107XG5leHBvcnQgY29uc3QgUExBTkVUX1NBTkRCT1hfRE9DVU1FTlRfV0hJVEVMSVNUID0gd2luZG93WydfX19QTEFORVRfU0FOREJPWF9ET0NVTUVOVF9XSElURUxJU1RfX18nXTtcbmV4cG9ydCBjb25zdCBTQU5EQk9YX0lOU1RBTkNFID0gU3ltYm9sLmZvcignUExBTkVUX1NBTkRCT1hfSU5TVEFOQ0UnKTtcbmV4cG9ydCBjb25zdCBSQVdfTk9ERSA9IFN5bWJvbC5mb3IoJ1BMQU5FVF9SQVdfTk9ERScpO1xuZXhwb3J0IGNvbnN0IFdJTkRPV19CSU5EX0ZOID0gU3ltYm9sLmZvcignUExBTkVUX1dJTkRPV19CSU5EX0ZOJyk7XG5leHBvcnQgY29uc3QgRE9DVU1FTlRfQklORF9GTiA9IFN5bWJvbC5mb3IoJ1BMQU5FVF9ET0NVTUVOVF9CSU5EX0ZOJyk7XG4iXX0=
@@ -1,15 +0,0 @@
1
- export function execScript(code, url, global, strictGlobal) {
2
- const sourceUrl = '//# sourceURL='.concat(url, '\n');
3
- const window = (0, eval)('window');
4
- window.tempGlobal = global;
5
- code = strictGlobal
6
- ? ';(function(window, self, globalThis){with(window){;'
7
- .concat(code, '\n')
8
- .concat(sourceUrl, '}}).bind(window.tempGlobal)(window.tempGlobal, window.tempGlobal, window.tempGlobal);')
9
- : ';(function(window, self, globalThis){;'
10
- .concat(code, '\n')
11
- .concat(sourceUrl, '}).bind(window.tempGlobal)(window.tempGlobal, window.tempGlobal, window.tempGlobal);');
12
- (0, eval)(code);
13
- delete window.tempGlobal;
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvc2FuZGJveC9leGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxNQUFjLEVBQUUsWUFBcUI7SUFDdkYsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUMzQixJQUFJLEdBQUcsWUFBWTtRQUNmLENBQUMsQ0FBQyxxREFBcUQ7YUFDaEQsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7YUFDbEIsTUFBTSxDQUNILFNBQVMsRUFDVCx1RkFBdUYsQ0FDMUY7UUFDUCxDQUFDLENBQUMsd0NBQXdDO2FBQ25DLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ2xCLE1BQU0sQ0FDSCxTQUFTLEVBQ1Qsc0ZBQXNGLENBQ3pGLENBQUM7SUFDWixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdsb2JhbCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZXhlY1NjcmlwdChjb2RlOiBzdHJpbmcsIHVybDogc3RyaW5nLCBnbG9iYWw6IEdsb2JhbCwgc3RyaWN0R2xvYmFsOiBib29sZWFuKSB7XG4gICAgY29uc3Qgc291cmNlVXJsID0gJy8vIyBzb3VyY2VVUkw9Jy5jb25jYXQodXJsLCAnXFxuJyk7XG4gICAgY29uc3Qgd2luZG93ID0gKDAsIGV2YWwpKCd3aW5kb3cnKTtcbiAgICB3aW5kb3cudGVtcEdsb2JhbCA9IGdsb2JhbDtcbiAgICBjb2RlID0gc3RyaWN0R2xvYmFsXG4gICAgICAgID8gJzsoZnVuY3Rpb24od2luZG93LCBzZWxmLCBnbG9iYWxUaGlzKXt3aXRoKHdpbmRvdyl7OydcbiAgICAgICAgICAgICAgLmNvbmNhdChjb2RlLCAnXFxuJylcbiAgICAgICAgICAgICAgLmNvbmNhdChcbiAgICAgICAgICAgICAgICAgIHNvdXJjZVVybCxcbiAgICAgICAgICAgICAgICAgICd9fSkuYmluZCh3aW5kb3cudGVtcEdsb2JhbCkod2luZG93LnRlbXBHbG9iYWwsIHdpbmRvdy50ZW1wR2xvYmFsLCB3aW5kb3cudGVtcEdsb2JhbCk7J1xuICAgICAgICAgICAgICApXG4gICAgICAgIDogJzsoZnVuY3Rpb24od2luZG93LCBzZWxmLCBnbG9iYWxUaGlzKXs7J1xuICAgICAgICAgICAgICAuY29uY2F0KGNvZGUsICdcXG4nKVxuICAgICAgICAgICAgICAuY29uY2F0KFxuICAgICAgICAgICAgICAgICAgc291cmNlVXJsLFxuICAgICAgICAgICAgICAgICAgJ30pLmJpbmQod2luZG93LnRlbXBHbG9iYWwpKHdpbmRvdy50ZW1wR2xvYmFsLCB3aW5kb3cudGVtcEdsb2JhbCwgd2luZG93LnRlbXBHbG9iYWwpOydcbiAgICAgICAgICAgICAgKTtcbiAgICAoMCwgZXZhbCkoY29kZSk7XG4gICAgZGVsZXRlIHdpbmRvdy50ZW1wR2xvYmFsO1xufVxuIl19
@@ -1,20 +0,0 @@
1
- import { ProxySandbox } from './proxy/proxy-sandbox';
2
- import { SnapshotSandbox } from './snapshot/snapshot-sandbox';
3
- import { SANDBOX_INSTANCE } from './constants';
4
- export { Sandbox } from './sandbox';
5
- const defaultOptions = {
6
- strictGlobal: false
7
- };
8
- export function createSandbox(app, options) {
9
- options = Object.assign({}, defaultOptions, options || {});
10
- if (window.Proxy) {
11
- return new ProxySandbox(app, options);
12
- }
13
- else {
14
- return new SnapshotSandbox(app, options);
15
- }
16
- }
17
- export function getSandboxInstance() {
18
- return window[SANDBOX_INSTANCE];
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3NhbmRib3gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxNQUFNLGNBQWMsR0FBNEI7SUFDNUMsWUFBWSxFQUFFLEtBQUs7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVyxFQUFFLE9BQXdCO0lBQy9ELE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTNELElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNkLE9BQU8sSUFBSSxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3pDO1NBQU07UUFDSCxPQUFPLElBQUksZUFBZSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM1QztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhbmRib3hPcHRpb25zIH0gZnJvbSAnLi9zYW5kYm94JztcbmltcG9ydCB7IFByb3h5U2FuZGJveCB9IGZyb20gJy4vcHJveHkvcHJveHktc2FuZGJveCc7XG5pbXBvcnQgeyBTbmFwc2hvdFNhbmRib3ggfSBmcm9tICcuL3NuYXBzaG90L3NuYXBzaG90LXNhbmRib3gnO1xuaW1wb3J0IHsgU0FOREJPWF9JTlNUQU5DRSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IHsgU2FuZGJveCB9IGZyb20gJy4vc2FuZGJveCc7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPFNhbmRib3hPcHRpb25zPiA9IHtcbiAgICBzdHJpY3RHbG9iYWw6IGZhbHNlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2FuZGJveChhcHA6IHN0cmluZywgb3B0aW9ucz86IFNhbmRib3hPcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRPcHRpb25zLCBvcHRpb25zIHx8IHt9KTtcblxuICAgIGlmICh3aW5kb3cuUHJveHkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm94eVNhbmRib3goYXBwLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IFNuYXBzaG90U2FuZGJveChhcHAsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNhbmRib3hJbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gd2luZG93W1NBTkRCT1hfSU5TVEFOQ0VdO1xufVxuIl19
@@ -1,12 +0,0 @@
1
- import { ProxyDocument } from '../proxies/document';
2
- export function documentPatch() {
3
- const proxyDocument = new ProxyDocument();
4
- const { document, Document } = proxyDocument.create();
5
- return {
6
- rewrite: {
7
- document,
8
- Document
9
- }
10
- };
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3NhbmRib3gvcHJveHkvcGF0Y2hlcy9kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHcEQsTUFBTSxVQUFVLGFBQWE7SUFDekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUMxQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0RCxPQUFPO1FBQ0gsT0FBTyxFQUFFO1lBQ0wsUUFBUTtZQUNSLFFBQVE7U0FDWDtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJveHlEb2N1bWVudCB9IGZyb20gJy4uL3Byb3hpZXMvZG9jdW1lbnQnO1xuaW1wb3J0IHsgU2FuZGJveFBhdGNoSGFuZGxlciB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRvY3VtZW50UGF0Y2goKTogU2FuZGJveFBhdGNoSGFuZGxlciB7XG4gICAgY29uc3QgcHJveHlEb2N1bWVudCA9IG5ldyBQcm94eURvY3VtZW50KCk7XG4gICAgY29uc3QgeyBkb2N1bWVudCwgRG9jdW1lbnQgfSA9IHByb3h5RG9jdW1lbnQuY3JlYXRlKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmV3cml0ZToge1xuICAgICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgICBEb2N1bWVudFxuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- export function eventListenerPatch(sandbox) {
3
- const rawAddEventListener = window.addEventListener;
4
- const rawRemoveEventListener = window.removeEventListener;
5
- const listenerSubscriptions = new Map();
6
- function addEventListener(type, listener, options) {
7
- const observable = new Observable(() => {
8
- rawAddEventListener.call(this, type, listener, options);
9
- return () => {
10
- rawRemoveEventListener.call(this, type, listener, options);
11
- };
12
- });
13
- const subscription = observable.subscribe(() => { });
14
- listenerSubscriptions.set(listener, subscription);
15
- }
16
- function removeEventListener(type, listener) {
17
- const subscription = listenerSubscriptions.get(listener);
18
- if (subscription) {
19
- subscription.unsubscribe();
20
- listenerSubscriptions.delete(listener);
21
- }
22
- }
23
- return {
24
- rewrite: {
25
- addEventListener: addEventListener.bind(window),
26
- removeEventListener: removeEventListener.bind(window)
27
- },
28
- init() {
29
- const fakeDocument = sandbox.global.document;
30
- if (fakeDocument) {
31
- fakeDocument.addEventListener = addEventListener.bind(document);
32
- fakeDocument.removeEventListener = removeEventListener.bind(document);
33
- }
34
- },
35
- destroy() {
36
- listenerSubscriptions.forEach(subscription => subscription.unsubscribe());
37
- listenerSubscriptions.clear();
38
- }
39
- };
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRMaXN0ZW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvc2FuZGJveC9wcm94eS9wYXRjaGVzL2V2ZW50TGlzdGVuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFaEQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQTZCO0lBQzVELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBQ3BELE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDO0lBQzFELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxHQUFHLEVBQW9ELENBQUM7SUFFMUYsU0FBUyxnQkFBZ0IsQ0FDckIsSUFBWSxFQUNaLFFBQTRDLEVBQzVDLE9BQTJDO1FBRTNDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDeEQsT0FBTyxHQUFHLEVBQUU7Z0JBQ1Isc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxTQUFTLG1CQUFtQixDQUFDLElBQVksRUFBRSxRQUE0QztRQUNuRixNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsSUFBSSxZQUFZLEVBQUU7WUFDZCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IscUJBQXFCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLEVBQUU7WUFDTCxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQy9DLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDeEQ7UUFDRCxJQUFJO1lBQ0EsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDN0MsSUFBSSxZQUFZLEVBQUU7Z0JBQ2QsWUFBWSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDaEUsWUFBWSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6RTtRQUNMLENBQUM7UUFDRCxPQUFPO1lBQ0gscUJBQXFCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDMUUscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEMsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FuZGJveFBhdGNoSGFuZGxlciwgUHJveHlTYW5kYm94SW5zdGFuY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50TGlzdGVuZXJQYXRjaChzYW5kYm94OiBQcm94eVNhbmRib3hJbnN0YW5jZSk6IFNhbmRib3hQYXRjaEhhbmRsZXIge1xuICAgIGNvbnN0IHJhd0FkZEV2ZW50TGlzdGVuZXIgPSB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcjtcbiAgICBjb25zdCByYXdSZW1vdmVFdmVudExpc3RlbmVyID0gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXI7XG4gICAgY29uc3QgbGlzdGVuZXJTdWJzY3JpcHRpb25zID0gbmV3IE1hcDxFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LCBTdWJzY3JpcHRpb24+KCk7XG5cbiAgICBmdW5jdGlvbiBhZGRFdmVudExpc3RlbmVyKFxuICAgICAgICB0eXBlOiBzdHJpbmcsXG4gICAgICAgIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgICAgICBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZSgoKSA9PiB7XG4gICAgICAgICAgICByYXdBZGRFdmVudExpc3RlbmVyLmNhbGwodGhpcywgdHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICByYXdSZW1vdmVFdmVudExpc3RlbmVyLmNhbGwodGhpcywgdHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG9ic2VydmFibGUuc3Vic2NyaWJlKCgpID0+IHt9KTtcbiAgICAgICAgbGlzdGVuZXJTdWJzY3JpcHRpb25zLnNldChsaXN0ZW5lciwgc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKHR5cGU6IHN0cmluZywgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QpIHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbGlzdGVuZXJTdWJzY3JpcHRpb25zLmdldChsaXN0ZW5lcik7XG4gICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgbGlzdGVuZXJTdWJzY3JpcHRpb25zLmRlbGV0ZShsaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICByZXdyaXRlOiB7XG4gICAgICAgICAgICBhZGRFdmVudExpc3RlbmVyOiBhZGRFdmVudExpc3RlbmVyLmJpbmQod2luZG93KSxcbiAgICAgICAgICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6IHJlbW92ZUV2ZW50TGlzdGVuZXIuYmluZCh3aW5kb3cpXG4gICAgICAgIH0sXG4gICAgICAgIGluaXQoKSB7XG4gICAgICAgICAgICBjb25zdCBmYWtlRG9jdW1lbnQgPSBzYW5kYm94Lmdsb2JhbC5kb2N1bWVudDtcbiAgICAgICAgICAgIGlmIChmYWtlRG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBmYWtlRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciA9IGFkZEV2ZW50TGlzdGVuZXIuYmluZChkb2N1bWVudCk7XG4gICAgICAgICAgICAgICAgZmFrZURvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIgPSByZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoZG9jdW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBkZXN0cm95KCkge1xuICAgICAgICAgICAgbGlzdGVuZXJTdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgICAgIGxpc3RlbmVyU3Vic2NyaXB0aW9ucy5jbGVhcigpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { eventListenerPatch } from './eventListener';
2
- import { documentPatch } from './document';
3
- import { timerPatch } from './timer';
4
- import { storagePatch } from './storage';
5
- const sandboxPatches = [documentPatch, eventListenerPatch, timerPatch, storagePatch];
6
- export function getSandboxPatchHandlers(sandbox) {
7
- return sandboxPatches.map(patch => {
8
- return patch(sandbox);
9
- });
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3NhbmRib3gvcHJveHkvcGF0Y2hlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6QyxNQUFNLGNBQWMsR0FBbUIsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRXJHLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUE2QjtJQUNqRSxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJveHlTYW5kYm94SW5zdGFuY2UsIFNhbmRib3hQYXRjaCwgU2FuZGJveFBhdGNoSGFuZGxlciB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGV2ZW50TGlzdGVuZXJQYXRjaCB9IGZyb20gJy4vZXZlbnRMaXN0ZW5lcic7XG5pbXBvcnQgeyBkb2N1bWVudFBhdGNoIH0gZnJvbSAnLi9kb2N1bWVudCc7XG5pbXBvcnQgeyB0aW1lclBhdGNoIH0gZnJvbSAnLi90aW1lcic7XG5pbXBvcnQgeyBzdG9yYWdlUGF0Y2ggfSBmcm9tICcuL3N0b3JhZ2UnO1xuXG5jb25zdCBzYW5kYm94UGF0Y2hlczogU2FuZGJveFBhdGNoW10gPSBbZG9jdW1lbnRQYXRjaCwgZXZlbnRMaXN0ZW5lclBhdGNoLCB0aW1lclBhdGNoLCBzdG9yYWdlUGF0Y2hdO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2FuZGJveFBhdGNoSGFuZGxlcnMoc2FuZGJveDogUHJveHlTYW5kYm94SW5zdGFuY2UpOiBTYW5kYm94UGF0Y2hIYW5kbGVyW10ge1xuICAgIHJldHVybiBzYW5kYm94UGF0Y2hlcy5tYXAocGF0Y2ggPT4ge1xuICAgICAgICByZXR1cm4gcGF0Y2goc2FuZGJveCk7XG4gICAgfSk7XG59XG4iXX0=
@@ -1,40 +0,0 @@
1
- const PLANET_STORAGE_PREFIX = '__planet-storage-';
2
- export class RewriteStorage {
3
- constructor(app, rawStorage) {
4
- this.rawStorage = rawStorage;
5
- this.prefix = `${PLANET_STORAGE_PREFIX}${app}__:`;
6
- }
7
- get length() {
8
- return this.getKeys().length;
9
- }
10
- getKeys() {
11
- return Object.keys(this.rawStorage).filter(key => key.startsWith(this.prefix));
12
- }
13
- key(n) {
14
- const key = this.getKeys()[n];
15
- return key ? key.substring(this.prefix.length) : null;
16
- }
17
- getItem(key) {
18
- return this.rawStorage.getItem(`${this.prefix + key}`);
19
- }
20
- setItem(key, value) {
21
- this.rawStorage.setItem(`${this.prefix + key}`, value);
22
- }
23
- removeItem(key) {
24
- this.rawStorage.removeItem(`${this.prefix + key}`);
25
- }
26
- clear() {
27
- this.getKeys().forEach(key => {
28
- this.rawStorage.removeItem(key);
29
- });
30
- }
31
- }
32
- export function storagePatch(sandbox) {
33
- return {
34
- rewrite: {
35
- localStorage: new RewriteStorage(sandbox.app, localStorage),
36
- sessionStorage: new RewriteStorage(sandbox.app, sessionStorage)
37
- }
38
- };
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvc2FuZGJveC9wcm94eS9wYXRjaGVzL3N0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUFZLEdBQVcsRUFBRSxVQUFtQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcscUJBQXFCLEdBQUcsR0FBRyxLQUFLLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRU8sT0FBTztRQUNYLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsR0FBRyxDQUFDLENBQVM7UUFDVCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFELENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBNkI7SUFDdEQsT0FBTztRQUNILE9BQU8sRUFBRTtZQUNMLFlBQVksRUFBRSxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQztZQUMzRCxjQUFjLEVBQUUsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7U0FDbEU7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3h5U2FuZGJveEluc3RhbmNlLCBTYW5kYm94UGF0Y2hIYW5kbGVyIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBQTEFORVRfU1RPUkFHRV9QUkVGSVggPSAnX19wbGFuZXQtc3RvcmFnZS0nO1xuXG5leHBvcnQgY2xhc3MgUmV3cml0ZVN0b3JhZ2Uge1xuICAgIHByZWZpeDogc3RyaW5nO1xuICAgIHJhd1N0b3JhZ2U6IFN0b3JhZ2U7XG5cbiAgICBjb25zdHJ1Y3RvcihhcHA6IHN0cmluZywgcmF3U3RvcmFnZTogU3RvcmFnZSkge1xuICAgICAgICB0aGlzLnJhd1N0b3JhZ2UgPSByYXdTdG9yYWdlO1xuICAgICAgICB0aGlzLnByZWZpeCA9IGAke1BMQU5FVF9TVE9SQUdFX1BSRUZJWH0ke2FwcH1fXzpgO1xuICAgIH1cblxuICAgIGdldCBsZW5ndGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEtleXMoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRLZXlzKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5yYXdTdG9yYWdlKS5maWx0ZXIoa2V5ID0+IGtleS5zdGFydHNXaXRoKHRoaXMucHJlZml4KSk7XG4gICAgfVxuXG4gICAga2V5KG46IG51bWJlcikge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleXMoKVtuXTtcbiAgICAgICAgcmV0dXJuIGtleSA/IGtleS5zdWJzdHJpbmcodGhpcy5wcmVmaXgubGVuZ3RoKSA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbShrZXk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5yYXdTdG9yYWdlLmdldEl0ZW0oYCR7dGhpcy5wcmVmaXggKyBrZXl9YCk7XG4gICAgfVxuXG4gICAgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJhd1N0b3JhZ2Uuc2V0SXRlbShgJHt0aGlzLnByZWZpeCArIGtleX1gLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSXRlbShrZXk6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJhd1N0b3JhZ2UucmVtb3ZlSXRlbShgJHt0aGlzLnByZWZpeCArIGtleX1gKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5nZXRLZXlzKCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yYXdTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RvcmFnZVBhdGNoKHNhbmRib3g6IFByb3h5U2FuZGJveEluc3RhbmNlKTogU2FuZGJveFBhdGNoSGFuZGxlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmV3cml0ZToge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlOiBuZXcgUmV3cml0ZVN0b3JhZ2Uoc2FuZGJveC5hcHAsIGxvY2FsU3RvcmFnZSksXG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZTogbmV3IFJld3JpdGVTdG9yYWdlKHNhbmRib3guYXBwLCBzZXNzaW9uU3RvcmFnZSlcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
@@ -1,43 +0,0 @@
1
- const rawSetTimeout = window.setTimeout;
2
- const rawClearTimeout = window.clearTimeout;
3
- const rawSetInterval = window.setInterval;
4
- const rawClearInterval = window.clearInterval;
5
- export function timerPatch() {
6
- const timeout = new Set();
7
- const interval = new Set();
8
- function rewriteSetTimeout(handler, ms, ...args) {
9
- const timeoutId = rawSetTimeout(handler, ms, ...args);
10
- timeout.add(timeoutId);
11
- return timeoutId;
12
- }
13
- function rewriteClearTimeout(timeoutId) {
14
- timeout.delete(timeoutId);
15
- rawClearTimeout(timeoutId);
16
- }
17
- function rewriteSetInterval(handler, ms, ...args) {
18
- const intervalId = rawSetInterval(handler, ms, ...args);
19
- interval.add(intervalId);
20
- return intervalId;
21
- }
22
- function rewriteClearInterval(intervalId) {
23
- interval.delete(intervalId);
24
- rawClearInterval(intervalId);
25
- }
26
- return {
27
- rewrite: {
28
- setTimeout: rewriteSetTimeout,
29
- clearTimeout: rewriteClearTimeout,
30
- setInterval: rewriteSetInterval,
31
- clearInterval: rewriteClearInterval
32
- },
33
- destroy: () => {
34
- timeout.forEach(timeoutId => {
35
- rawClearTimeout(timeoutId);
36
- });
37
- interval.forEach(intervalId => {
38
- rawClearInterval(intervalId);
39
- });
40
- }
41
- };
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL3NhbmRib3gvcHJveHkvcGF0Y2hlcy90aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7QUFDNUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztBQUMxQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7QUFFOUMsTUFBTSxVQUFVLFVBQVU7SUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBRW5DLFNBQVMsaUJBQWlCLENBQUMsT0FBcUIsRUFBRSxFQUFXLEVBQUUsR0FBRyxJQUFXO1FBQ3pFLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxtQkFBbUIsQ0FBQyxTQUFpQjtRQUMxQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUyxrQkFBa0IsQ0FBQyxPQUFxQixFQUFFLEVBQVUsRUFBRSxHQUFHLElBQVc7UUFDekUsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4RCxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxTQUFTLG9CQUFvQixDQUFDLFVBQWtCO1FBQzVDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUIsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLEVBQUU7WUFDTCxVQUFVLEVBQUUsaUJBQWlCO1lBQzdCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsV0FBVyxFQUFFLGtCQUFrQjtZQUMvQixhQUFhLEVBQUUsb0JBQW9CO1NBQ3RDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNWLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3hCLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzFCLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FuZGJveFBhdGNoSGFuZGxlciB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgcmF3U2V0VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0O1xuY29uc3QgcmF3Q2xlYXJUaW1lb3V0ID0gd2luZG93LmNsZWFyVGltZW91dDtcbmNvbnN0IHJhd1NldEludGVydmFsID0gd2luZG93LnNldEludGVydmFsO1xuY29uc3QgcmF3Q2xlYXJJbnRlcnZhbCA9IHdpbmRvdy5jbGVhckludGVydmFsO1xuXG5leHBvcnQgZnVuY3Rpb24gdGltZXJQYXRjaCgpOiBTYW5kYm94UGF0Y2hIYW5kbGVyIHtcbiAgICBjb25zdCB0aW1lb3V0ID0gbmV3IFNldDxudW1iZXI+KCk7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBuZXcgU2V0PG51bWJlcj4oKTtcblxuICAgIGZ1bmN0aW9uIHJld3JpdGVTZXRUaW1lb3V0KGhhbmRsZXI6IFRpbWVySGFuZGxlciwgbXM/OiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICAgIGNvbnN0IHRpbWVvdXRJZCA9IHJhd1NldFRpbWVvdXQoaGFuZGxlciwgbXMsIC4uLmFyZ3MpO1xuICAgICAgICB0aW1lb3V0LmFkZCh0aW1lb3V0SWQpO1xuICAgICAgICByZXR1cm4gdGltZW91dElkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJld3JpdGVDbGVhclRpbWVvdXQodGltZW91dElkOiBudW1iZXIpIHtcbiAgICAgICAgdGltZW91dC5kZWxldGUodGltZW91dElkKTtcbiAgICAgICAgcmF3Q2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmV3cml0ZVNldEludGVydmFsKGhhbmRsZXI6IFRpbWVySGFuZGxlciwgbXM6IG51bWJlciwgLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgY29uc3QgaW50ZXJ2YWxJZCA9IHJhd1NldEludGVydmFsKGhhbmRsZXIsIG1zLCAuLi5hcmdzKTtcbiAgICAgICAgaW50ZXJ2YWwuYWRkKGludGVydmFsSWQpO1xuICAgICAgICByZXR1cm4gaW50ZXJ2YWxJZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZXdyaXRlQ2xlYXJJbnRlcnZhbChpbnRlcnZhbElkOiBudW1iZXIpIHtcbiAgICAgICAgaW50ZXJ2YWwuZGVsZXRlKGludGVydmFsSWQpO1xuICAgICAgICByYXdDbGVhckludGVydmFsKGludGVydmFsSWQpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIHJld3JpdGU6IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQ6IHJld3JpdGVTZXRUaW1lb3V0LFxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0OiByZXdyaXRlQ2xlYXJUaW1lb3V0LFxuICAgICAgICAgICAgc2V0SW50ZXJ2YWw6IHJld3JpdGVTZXRJbnRlcnZhbCxcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWw6IHJld3JpdGVDbGVhckludGVydmFsXG4gICAgICAgIH0sXG4gICAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgICAgIHRpbWVvdXQuZm9yRWFjaCh0aW1lb3V0SWQgPT4ge1xuICAgICAgICAgICAgICAgIHJhd0NsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpbnRlcnZhbC5mb3JFYWNoKGludGVydmFsSWQgPT4ge1xuICAgICAgICAgICAgICAgIHJhd0NsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
@@ -1,132 +0,0 @@
1
- import { isObject } from '../../../helpers';
2
- import { RAW_NODE } from '../../constants';
3
- const rawHasOwnProperty = Object.prototype.hasOwnProperty;
4
- export function hasOwnProp(obj, key) {
5
- return rawHasOwnProperty.call(obj, key);
6
- }
7
- export function isValueDescriptor(desc) {
8
- if (desc === undefined) {
9
- return false;
10
- }
11
- return 'value' in desc || 'writable' in desc;
12
- }
13
- export function isAccessorDescriptor(desc) {
14
- if (desc === undefined) {
15
- return false;
16
- }
17
- return 'get' in desc || 'set' in desc;
18
- }
19
- export function isNonWriteableValue(desc) {
20
- return desc && desc.configurable === false && 'value' in desc && desc.writable === false;
21
- }
22
- export function isInvalidSetAccessor(desc) {
23
- if (desc && desc.configurable === false && 'set' in desc && desc.set === undefined) {
24
- return true;
25
- }
26
- else {
27
- return false;
28
- }
29
- }
30
- export function isInvalidGetAccessor(desc) {
31
- if (desc && desc.configurable === false && 'get' in desc && desc.get === undefined) {
32
- return true;
33
- }
34
- else {
35
- return false;
36
- }
37
- }
38
- function transferParams(args) {
39
- args = Array.isArray(args) ? args : Array.from(args);
40
- return args.map(arg => {
41
- return arg[RAW_NODE] ? arg[RAW_NODE] : arg;
42
- });
43
- }
44
- const buildInProps = ['length', 'caller', 'callee', 'arguments', 'prototype', Symbol.hasInstance];
45
- function transferProps(o, n) {
46
- for (const key of Reflect.ownKeys(o)) {
47
- if (buildInProps.includes(key)) {
48
- continue;
49
- }
50
- const desc = Object.getOwnPropertyDescriptor(n, key);
51
- if (desc && desc.writable) {
52
- n[key] = o[key];
53
- }
54
- }
55
- }
56
- export function bind(fn, context) {
57
- const fNOP = function () { };
58
- function bound() {
59
- const args = transferParams(arguments);
60
- if (this instanceof bound) {
61
- const obj = new fn(...args);
62
- Object.setPrototypeOf(obj, bound.prototype);
63
- return obj;
64
- }
65
- else {
66
- return fn.apply(context, args);
67
- }
68
- }
69
- bound.$native = fn;
70
- transferProps(fn, bound);
71
- if (fn.prototype) {
72
- fNOP.prototype = fn.prototype;
73
- }
74
- bound.prototype = new fNOP();
75
- if (Symbol.hasInstance) {
76
- Object.defineProperty(bound, Symbol.hasInstance, {
77
- configurable: true,
78
- value(instance) {
79
- const op = fn.prototype;
80
- return isObject(op) || typeof op === 'function' ? instance instanceof fn : false;
81
- }
82
- });
83
- }
84
- return bound;
85
- }
86
- export function createFakeObject(target, writableKeys) {
87
- const fakeObject = {};
88
- const propertyMap = {};
89
- const storageBox = Object.create(null);
90
- const propertyNames = Object.getOwnPropertyNames(target);
91
- const def = (p) => {
92
- const descriptor = Object.getOwnPropertyDescriptor(target, p);
93
- if (descriptor === null || descriptor === void 0 ? void 0 : descriptor.configurable) {
94
- const hasGetter = hasOwnProp(descriptor, 'get');
95
- const hasSetter = hasOwnProp(descriptor, 'set');
96
- const canWritable = writableKeys && writableKeys.length > 0 && writableKeys.includes(p);
97
- if (hasGetter) {
98
- descriptor.get = () => (hasOwnProp(storageBox, p) ? storageBox[p] : target[p]);
99
- }
100
- if (hasSetter) {
101
- descriptor.set = val => {
102
- storageBox[p] = val;
103
- return true;
104
- };
105
- }
106
- if (canWritable) {
107
- if (descriptor.writable === false) {
108
- descriptor.writable = true;
109
- }
110
- else if (hasGetter) {
111
- descriptor.set = val => {
112
- storageBox[p] = val;
113
- return true;
114
- };
115
- }
116
- }
117
- Object.defineProperty(fakeObject, p, Object.freeze(descriptor));
118
- }
119
- };
120
- propertyNames.forEach(p => {
121
- propertyMap[p] = true;
122
- def(p);
123
- });
124
- // 再次循环是为了处理原型链中的属性
125
- for (const prop in target) {
126
- if (!propertyMap[prop]) {
127
- def(prop);
128
- }
129
- }
130
- return fakeObject;
131
- }
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9zYW5kYm94L3Byb3h5L3Byb3hpZXMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztBQUMxRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVEsRUFBRSxHQUFnQjtJQUNqRCxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUF5QjtJQUN2RCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxPQUFPLE9BQU8sSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQXlCO0lBQzFELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUNwQixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBeUI7SUFDekQsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQztBQUM3RixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQXlCO0lBQzFELElBQUksSUFB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LFVBQWlCLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBSQVdfTk9ERSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHJhd0hhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbmV4cG9ydCBmdW5jdGlvbiBoYXNPd25Qcm9wKG9iajogYW55LCBrZXk6IFByb3BlcnR5S2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJhd0hhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWx1ZURlc2NyaXB0b3IoZGVzYz86IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIGlmIChkZXNjID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gJ3ZhbHVlJyBpbiBkZXNjIHx8ICd3cml0YWJsZScgaW4gZGVzYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2M/OiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcbiAgICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICdnZXQnIGluIGRlc2MgfHwgJ3NldCcgaW4gZGVzYztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTm9uV3JpdGVhYmxlVmFsdWUoZGVzYz86IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIHJldHVybiBkZXNjICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiAndmFsdWUnIGluIGRlc2MgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ludmFsaWRTZXRBY2Nlc3NvcihkZXNjPzogUHJvcGVydHlEZXNjcmlwdG9yKSB7XG4gICAgaWYgKGRlc2MgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmICdzZXQnIGluIGRlc2MgJiYgZGVzYy5zZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJbnZhbGlkR2V0QWNjZXNzb3IoZGVzYz86IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIGlmIChkZXNjICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiAnZ2V0JyBpbiBkZXNjICYmIGRlc2MuZ2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmZXJQYXJhbXMoYXJnczogSUFyZ3VtZW50cyB8IEFycmF5PGFueT4pIHtcbiAgICBhcmdzID0gQXJyYXkuaXNBcnJheShhcmdzKSA/IGFyZ3MgOiBBcnJheS5mcm9tKGFyZ3MpO1xuICAgIHJldHVybiBhcmdzLm1hcChhcmcgPT4ge1xuICAgICAgICByZXR1cm4gYXJnW1JBV19OT0RFXSA/IGFyZ1tSQVdfTk9ERV0gOiBhcmc7XG4gICAgfSk7XG59XG5cbmNvbnN0IGJ1aWxkSW5Qcm9wczogUHJvcGVydHlLZXlbXSA9IFsnbGVuZ3RoJywgJ2NhbGxlcicsICdjYWxsZWUnLCAnYXJndW1lbnRzJywgJ3Byb3RvdHlwZScsIFN5bWJvbC5oYXNJbnN0YW5jZV07XG5mdW5jdGlvbiB0cmFuc2ZlclByb3BzKG86IEZ1bmN0aW9uLCBuOiBGdW5jdGlvbikge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIFJlZmxlY3Qub3duS2V5cyhvKSkge1xuICAgICAgICBpZiAoYnVpbGRJblByb3BzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sIGtleSk7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Mud3JpdGFibGUpIHtcbiAgICAgICAgICAgIG5ba2V5XSA9IG9ba2V5XTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpbmQoZm46IGFueSwgY29udGV4dDogYW55KSB7XG4gICAgY29uc3QgZk5PUCA9IGZ1bmN0aW9uKCkge307XG4gICAgZnVuY3Rpb24gYm91bmQoKSB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSB0cmFuc2ZlclBhcmFtcyhhcmd1bWVudHMpO1xuICAgICAgICBpZiAodGhpcyBpbnN0YW5jZW9mIGJvdW5kKSB7XG4gICAgICAgICAgICBjb25zdCBvYmogPSBuZXcgZm4oLi4uYXJncyk7XG4gICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBib3VuZC5wcm90b3R5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmbi5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBib3VuZC4kbmF0aXZlID0gZm47XG4gICAgdHJhbnNmZXJQcm9wcyhmbiwgYm91bmQpO1xuICAgIGlmIChmbi5wcm90b3R5cGUpIHtcbiAgICAgICAgZk5PUC5wcm90b3R5cGUgPSBmbi5wcm90b3R5cGU7XG4gICAgfVxuICAgIGJvdW5kLnByb3RvdHlwZSA9IG5ldyBmTk9QKCk7XG4gICAgaWYgKFN5bWJvbC5oYXNJbnN0YW5jZSkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYm91bmQsIFN5bWJvbC5oYXNJbnN0YW5jZSwge1xuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWUoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcCA9IGZuLnByb3RvdHlwZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3Qob3ApIHx8IHR5cGVvZiBvcCA9PT0gJ2Z1bmN0aW9uJyA/IGluc3RhbmNlIGluc3RhbmNlb2YgZm4gOiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBib3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZha2VPYmplY3QodGFyZ2V0OiBSZWNvcmQ8UHJvcGVydHlLZXksIGFueT4sIHdyaXRhYmxlS2V5cz86IFByb3BlcnR5S2V5W10pIHtcbiAgICBjb25zdCBmYWtlT2JqZWN0ID0ge307XG4gICAgY29uc3QgcHJvcGVydHlNYXAgPSB7fTtcbiAgICBjb25zdCBzdG9yYWdlQm94ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBjb25zdCBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KTtcbiAgICBjb25zdCBkZWYgPSAocDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcCk7XG4gICAgICAgIGlmIChkZXNjcmlwdG9yPy5jb25maWd1cmFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc0dldHRlciA9IGhhc093blByb3AoZGVzY3JpcHRvciwgJ2dldCcpO1xuICAgICAgICAgICAgY29uc3QgaGFzU2V0dGVyID0gaGFzT3duUHJvcChkZXNjcmlwdG9yLCAnc2V0Jyk7XG4gICAgICAgICAgICBjb25zdCBjYW5Xcml0YWJsZSA9IHdyaXRhYmxlS2V5cyAmJiB3cml0YWJsZUtleXMubGVuZ3RoID4gMCAmJiB3cml0YWJsZUtleXMuaW5jbHVkZXMocCk7XG4gICAgICAgICAgICBpZiAoaGFzR2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvci5nZXQgPSAoKSA9PiAoaGFzT3duUHJvcChzdG9yYWdlQm94LCBwKSA/IHN0b3JhZ2VCb3hbcF0gOiB0YXJnZXRbcF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhhc1NldHRlcikge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3Iuc2V0ID0gdmFsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZUJveFtwXSA9IHZhbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjYW5Xcml0YWJsZSkge1xuICAgICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yLndyaXRhYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhhc0dldHRlcikge1xuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLnNldCA9IHZhbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlQm94W3BdID0gdmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZha2VPYmplY3QsIHAsIE9iamVjdC5mcmVlemUoZGVzY3JpcHRvcikpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBwcm9wZXJ0eU5hbWVzLmZvckVhY2gocCA9PiB7XG4gICAgICAgIHByb3BlcnR5TWFwW3BdID0gdHJ1ZTtcbiAgICAgICAgZGVmKHApO1xuICAgIH0pO1xuICAgIC8vIOWGjeasoeW+queOr+aYr+S4uuS6huWkhOeQhuWOn+Wei+mTvuS4reeahOWxnuaAp1xuICAgIGZvciAoY29uc3QgcHJvcCBpbiB0YXJnZXQpIHtcbiAgICAgICAgaWYgKCFwcm9wZXJ0eU1hcFtwcm9wXSkge1xuICAgICAgICAgICAgZGVmKHByb3ApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWtlT2JqZWN0IGFzIGFueTtcbn1cbiJdfQ==