repluggable-core 1.302.66 → 1.302.68

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 (315) hide show
  1. package/__tests__/spec-setup.js +3 -0
  2. package/debug/index.ts +1 -0
  3. package/dist/debug/debug/index.d.ts +1 -0
  4. package/dist/{es → debug/src}/API.d.ts +46 -9
  5. package/dist/debug/src/__internal.d.ts +4 -0
  6. package/dist/debug/src/appHostServices.d.ts +11 -0
  7. package/dist/debug/src/extensionSlot.d.ts +7 -0
  8. package/dist/debug/src/hot.d.ts +13 -0
  9. package/dist/debug/src/installedShellsState.d.ts +18 -0
  10. package/dist/debug/src/interceptAnyObject.d.ts +6 -0
  11. package/dist/debug/src/invokeSlotCallbacks.d.ts +2 -0
  12. package/dist/debug/src/throttledStore.d.ts +31 -0
  13. package/dist/es/src/API.d.ts +509 -0
  14. package/dist/es/src/API.d.ts.map +1 -0
  15. package/dist/es/src/API.js +3 -0
  16. package/dist/es/src/API.js.map +1 -0
  17. package/dist/es/src/IterableWeakMap.d.ts +20 -0
  18. package/dist/es/src/IterableWeakMap.d.ts.map +1 -0
  19. package/dist/es/src/IterableWeakMap.js +92 -0
  20. package/dist/es/src/IterableWeakMap.js.map +1 -0
  21. package/dist/es/src/__internal.d.ts.map +1 -0
  22. package/dist/es/src/__internal.js +5 -0
  23. package/dist/es/src/__internal.js.map +1 -0
  24. package/dist/es/src/appHost.d.ts +7 -0
  25. package/dist/es/src/appHost.d.ts.map +1 -0
  26. package/dist/es/src/appHost.js +898 -0
  27. package/dist/es/src/appHost.js.map +1 -0
  28. package/dist/es/src/appHostServices.d.ts +12 -0
  29. package/dist/es/src/appHostServices.d.ts.map +1 -0
  30. package/dist/es/src/appHostServices.js +25 -0
  31. package/dist/es/src/appHostServices.js.map +1 -0
  32. package/dist/es/src/appHostUtils.d.ts +4 -0
  33. package/dist/es/src/appHostUtils.d.ts.map +1 -0
  34. package/dist/es/src/appHostUtils.js +8 -0
  35. package/dist/es/src/appHostUtils.js.map +1 -0
  36. package/dist/es/src/extensionSlot.d.ts +8 -0
  37. package/dist/es/src/extensionSlot.d.ts.map +1 -0
  38. package/dist/es/src/extensionSlot.js +59 -0
  39. package/dist/es/src/extensionSlot.js.map +1 -0
  40. package/dist/es/src/hot.d.ts +14 -0
  41. package/dist/es/src/hot.d.ts.map +1 -0
  42. package/dist/es/src/hot.js +52 -0
  43. package/dist/es/src/hot.js.map +1 -0
  44. package/dist/es/src/index.d.ts +11 -0
  45. package/dist/es/src/index.d.ts.map +1 -0
  46. package/dist/es/src/index.js +10 -0
  47. package/dist/es/src/index.js.map +1 -0
  48. package/dist/es/src/installedShellsState.d.ts +19 -0
  49. package/dist/es/src/installedShellsState.d.ts.map +1 -0
  50. package/dist/es/src/installedShellsState.js +30 -0
  51. package/dist/es/src/installedShellsState.js.map +1 -0
  52. package/dist/es/src/interceptAnyObject.d.ts +7 -0
  53. package/dist/es/src/interceptAnyObject.d.ts.map +1 -0
  54. package/dist/es/src/interceptAnyObject.js +21 -0
  55. package/dist/es/src/interceptAnyObject.js.map +1 -0
  56. package/dist/es/src/invokeSlotCallbacks.d.ts +3 -0
  57. package/dist/es/src/invokeSlotCallbacks.d.ts.map +1 -0
  58. package/dist/es/src/invokeSlotCallbacks.js +20 -0
  59. package/dist/es/src/invokeSlotCallbacks.js.map +1 -0
  60. package/dist/es/src/loggers.d.ts +4 -0
  61. package/dist/es/src/loggers.d.ts.map +1 -0
  62. package/dist/es/src/loggers.js +100 -0
  63. package/dist/es/src/loggers.js.map +1 -0
  64. package/dist/es/src/monitorAPI.d.ts +3 -0
  65. package/dist/es/src/monitorAPI.d.ts.map +1 -0
  66. package/dist/es/src/monitorAPI.js +53 -0
  67. package/dist/es/src/monitorAPI.js.map +1 -0
  68. package/dist/es/src/repluggableAppDebug/index.d.ts +2 -0
  69. package/dist/es/src/repluggableAppDebug/index.d.ts.map +1 -0
  70. package/dist/es/src/repluggableAppDebug/index.js +2 -0
  71. package/dist/es/src/repluggableAppDebug/index.js.map +1 -0
  72. package/dist/es/src/repluggableAppDebug/performanceDebugInfo.d.ts +15 -0
  73. package/dist/es/src/repluggableAppDebug/performanceDebugInfo.d.ts.map +1 -0
  74. package/dist/es/src/repluggableAppDebug/performanceDebugInfo.js +94 -0
  75. package/dist/es/src/repluggableAppDebug/performanceDebugInfo.js.map +1 -0
  76. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.d.ts +24 -0
  77. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.d.ts.map +1 -0
  78. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.js +132 -0
  79. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.js.map +1 -0
  80. package/dist/es/src/tarjanGraph.d.ts +27 -0
  81. package/dist/es/src/tarjanGraph.d.ts.map +1 -0
  82. package/dist/es/src/tarjanGraph.js +94 -0
  83. package/dist/es/src/tarjanGraph.js.map +1 -0
  84. package/dist/es/src/throttledStore.d.ts +32 -0
  85. package/dist/es/src/throttledStore.d.ts.map +1 -0
  86. package/dist/es/src/throttledStore.js +240 -0
  87. package/dist/es/src/throttledStore.js.map +1 -0
  88. package/dist/es/test/IterableWeakMap.spec.d.ts +2 -0
  89. package/dist/es/test/IterableWeakMap.spec.d.ts.map +1 -0
  90. package/dist/es/test/IterableWeakMap.spec.js +218 -0
  91. package/dist/es/test/IterableWeakMap.spec.js.map +1 -0
  92. package/dist/es/test/appHost.mock.d.ts +4 -0
  93. package/dist/es/test/appHost.mock.d.ts.map +1 -0
  94. package/dist/es/test/appHost.mock.js +54 -0
  95. package/dist/es/test/appHost.mock.js.map +1 -0
  96. package/dist/es/test/appHost.spec.d.ts +2 -0
  97. package/dist/es/test/appHost.spec.d.ts.map +1 -0
  98. package/dist/es/test/appHost.spec.js +1451 -0
  99. package/dist/es/test/appHost.spec.js.map +1 -0
  100. package/dist/es/test/installedShellsState.spec.d.ts +2 -0
  101. package/dist/es/test/installedShellsState.spec.d.ts.map +1 -0
  102. package/dist/es/test/installedShellsState.spec.js +28 -0
  103. package/dist/es/test/installedShellsState.spec.js.map +1 -0
  104. package/dist/es/test/interceptAnyObject.spec.d.ts +2 -0
  105. package/dist/es/test/interceptAnyObject.spec.d.ts.map +1 -0
  106. package/dist/es/test/interceptAnyObject.spec.js +166 -0
  107. package/dist/es/test/interceptAnyObject.spec.js.map +1 -0
  108. package/dist/es/test/loggers.spec.d.ts +2 -0
  109. package/dist/es/test/loggers.spec.d.ts.map +1 -0
  110. package/dist/es/test/loggers.spec.js +218 -0
  111. package/dist/es/test/loggers.spec.js.map +1 -0
  112. package/dist/es/test/repluggableAppDebug.spec.d.ts +2 -0
  113. package/dist/es/test/repluggableAppDebug.spec.d.ts.map +1 -0
  114. package/dist/es/test/repluggableAppDebug.spec.js +107 -0
  115. package/dist/es/test/repluggableAppDebug.spec.js.map +1 -0
  116. package/dist/es/test/testKit.spec.d.ts +2 -0
  117. package/dist/es/test/testKit.spec.d.ts.map +1 -0
  118. package/dist/es/test/testKit.spec.js +129 -0
  119. package/dist/es/test/testKit.spec.js.map +1 -0
  120. package/dist/es/testKit/emptyLoggerOptions.d.ts +3 -0
  121. package/dist/es/testKit/emptyLoggerOptions.d.ts.map +1 -0
  122. package/dist/es/testKit/emptyLoggerOptions.js +15 -0
  123. package/dist/es/testKit/emptyLoggerOptions.js.map +1 -0
  124. package/dist/es/testKit/index.d.ts +27 -0
  125. package/dist/es/testKit/index.d.ts.map +1 -0
  126. package/dist/es/testKit/index.js +132 -0
  127. package/dist/es/testKit/index.js.map +1 -0
  128. package/dist/es/testKit/mockPackage.d.ts +23 -0
  129. package/dist/es/testKit/mockPackage.d.ts.map +1 -0
  130. package/dist/es/testKit/mockPackage.js +95 -0
  131. package/dist/es/testKit/mockPackage.js.map +1 -0
  132. package/dist/es/testKit/withConsoleErrors.d.ts +2 -0
  133. package/dist/es/testKit/withConsoleErrors.d.ts.map +1 -0
  134. package/dist/es/testKit/withConsoleErrors.js +12 -0
  135. package/dist/es/testKit/withConsoleErrors.js.map +1 -0
  136. package/dist/es/testKit/withThrowOnError.d.ts +3 -0
  137. package/dist/es/testKit/withThrowOnError.d.ts.map +1 -0
  138. package/dist/es/testKit/withThrowOnError.js +27 -0
  139. package/dist/es/testKit/withThrowOnError.js.map +1 -0
  140. package/dist/src/API.d.ts +46 -8
  141. package/dist/src/API.d.ts.map +1 -1
  142. package/dist/src/API.js +4 -0
  143. package/dist/src/API.js.map +1 -1
  144. package/dist/src/IterableWeakMap.d.ts +20 -0
  145. package/dist/src/IterableWeakMap.d.ts.map +1 -0
  146. package/dist/src/IterableWeakMap.js +96 -0
  147. package/dist/src/IterableWeakMap.js.map +1 -0
  148. package/dist/src/__internal.d.ts.map +1 -1
  149. package/dist/src/__internal.js +1 -1
  150. package/dist/src/__internal.js.map +1 -1
  151. package/dist/src/appHost.d.ts +7 -0
  152. package/dist/src/appHost.d.ts.map +1 -0
  153. package/dist/src/appHost.js +906 -0
  154. package/dist/src/appHost.js.map +1 -0
  155. package/dist/src/appHostServices.d.ts +12 -0
  156. package/dist/src/appHostServices.d.ts.map +1 -0
  157. package/dist/src/appHostServices.js +29 -0
  158. package/dist/src/appHostServices.js.map +1 -0
  159. package/dist/src/appHostUtils.d.ts +4 -0
  160. package/dist/src/appHostUtils.d.ts.map +1 -0
  161. package/dist/src/appHostUtils.js +16 -0
  162. package/dist/src/appHostUtils.js.map +1 -0
  163. package/dist/src/extensionSlot.d.ts +8 -0
  164. package/dist/src/extensionSlot.d.ts.map +1 -0
  165. package/dist/src/extensionSlot.js +67 -0
  166. package/dist/src/extensionSlot.js.map +1 -0
  167. package/dist/src/hot.d.ts +14 -0
  168. package/dist/src/hot.d.ts.map +1 -0
  169. package/dist/src/hot.js +56 -0
  170. package/dist/src/hot.js.map +1 -0
  171. package/dist/src/index.d.ts +10 -2
  172. package/dist/src/index.d.ts.map +1 -1
  173. package/dist/src/index.js +22 -15
  174. package/dist/src/index.js.map +1 -1
  175. package/dist/src/installedShellsState.d.ts +19 -0
  176. package/dist/src/installedShellsState.d.ts.map +1 -0
  177. package/dist/src/installedShellsState.js +38 -0
  178. package/dist/src/installedShellsState.js.map +1 -0
  179. package/dist/src/interceptAnyObject.d.ts +7 -0
  180. package/dist/src/interceptAnyObject.d.ts.map +1 -0
  181. package/dist/src/interceptAnyObject.js +28 -0
  182. package/dist/src/interceptAnyObject.js.map +1 -0
  183. package/dist/src/invokeSlotCallbacks.d.ts +3 -0
  184. package/dist/src/invokeSlotCallbacks.d.ts.map +1 -0
  185. package/dist/src/invokeSlotCallbacks.js +24 -0
  186. package/dist/src/invokeSlotCallbacks.js.map +1 -0
  187. package/dist/src/loggers.d.ts +4 -0
  188. package/dist/src/loggers.d.ts.map +1 -0
  189. package/dist/src/loggers.js +104 -0
  190. package/dist/src/loggers.js.map +1 -0
  191. package/dist/src/monitorAPI.d.ts +3 -0
  192. package/dist/src/monitorAPI.d.ts.map +1 -0
  193. package/dist/src/monitorAPI.js +57 -0
  194. package/dist/src/monitorAPI.js.map +1 -0
  195. package/dist/src/repluggableAppDebug/index.d.ts +2 -0
  196. package/dist/src/repluggableAppDebug/index.d.ts.map +1 -0
  197. package/dist/src/repluggableAppDebug/index.js +6 -0
  198. package/dist/src/repluggableAppDebug/index.js.map +1 -0
  199. package/dist/src/repluggableAppDebug/performanceDebugInfo.d.ts +15 -0
  200. package/dist/src/repluggableAppDebug/performanceDebugInfo.d.ts.map +1 -0
  201. package/dist/src/repluggableAppDebug/performanceDebugInfo.js +101 -0
  202. package/dist/src/repluggableAppDebug/performanceDebugInfo.js.map +1 -0
  203. package/dist/src/repluggableAppDebug/repluggableAppDebug.d.ts +24 -0
  204. package/dist/src/repluggableAppDebug/repluggableAppDebug.d.ts.map +1 -0
  205. package/dist/src/repluggableAppDebug/repluggableAppDebug.js +139 -0
  206. package/dist/src/repluggableAppDebug/repluggableAppDebug.js.map +1 -0
  207. package/dist/src/tarjanGraph.d.ts +27 -0
  208. package/dist/src/tarjanGraph.d.ts.map +1 -0
  209. package/dist/src/tarjanGraph.js +100 -0
  210. package/dist/src/tarjanGraph.js.map +1 -0
  211. package/dist/src/throttledStore.d.ts +32 -0
  212. package/dist/src/throttledStore.d.ts.map +1 -0
  213. package/dist/src/throttledStore.js +249 -0
  214. package/dist/src/throttledStore.js.map +1 -0
  215. package/dist/test/IterableWeakMap.spec.d.ts +2 -0
  216. package/dist/test/IterableWeakMap.spec.d.ts.map +1 -0
  217. package/dist/test/IterableWeakMap.spec.js +220 -0
  218. package/dist/test/IterableWeakMap.spec.js.map +1 -0
  219. package/dist/test/appHost.mock.d.ts +4 -0
  220. package/dist/test/appHost.mock.d.ts.map +1 -0
  221. package/dist/test/appHost.mock.js +59 -0
  222. package/dist/test/appHost.mock.js.map +1 -0
  223. package/dist/test/appHost.spec.d.ts +2 -0
  224. package/dist/test/appHost.spec.d.ts.map +1 -0
  225. package/dist/test/appHost.spec.js +1456 -0
  226. package/dist/test/appHost.spec.js.map +1 -0
  227. package/dist/test/installedShellsState.spec.d.ts +2 -0
  228. package/dist/test/installedShellsState.spec.d.ts.map +1 -0
  229. package/dist/test/installedShellsState.spec.js +30 -0
  230. package/dist/test/installedShellsState.spec.js.map +1 -0
  231. package/dist/test/interceptAnyObject.spec.d.ts +2 -0
  232. package/dist/test/interceptAnyObject.spec.d.ts.map +1 -0
  233. package/dist/test/interceptAnyObject.spec.js +171 -0
  234. package/dist/test/interceptAnyObject.spec.js.map +1 -0
  235. package/dist/test/loggers.spec.d.ts +2 -0
  236. package/dist/test/loggers.spec.d.ts.map +1 -0
  237. package/dist/test/loggers.spec.js +220 -0
  238. package/dist/test/loggers.spec.js.map +1 -0
  239. package/dist/test/repluggableAppDebug.spec.d.ts +2 -0
  240. package/dist/test/repluggableAppDebug.spec.d.ts.map +1 -0
  241. package/dist/test/repluggableAppDebug.spec.js +109 -0
  242. package/dist/test/repluggableAppDebug.spec.js.map +1 -0
  243. package/dist/test/testKit.spec.d.ts +2 -0
  244. package/dist/test/testKit.spec.d.ts.map +1 -0
  245. package/dist/test/testKit.spec.js +134 -0
  246. package/dist/test/testKit.spec.js.map +1 -0
  247. package/dist/testKit/emptyLoggerOptions.d.ts +3 -0
  248. package/dist/testKit/emptyLoggerOptions.d.ts.map +1 -0
  249. package/dist/testKit/emptyLoggerOptions.js +18 -0
  250. package/dist/testKit/emptyLoggerOptions.js.map +1 -0
  251. package/dist/testKit/index.d.ts +27 -0
  252. package/dist/testKit/index.d.ts.map +1 -0
  253. package/dist/testKit/index.js +160 -0
  254. package/dist/testKit/index.js.map +1 -0
  255. package/dist/testKit/mockPackage.d.ts +23 -0
  256. package/dist/testKit/mockPackage.d.ts.map +1 -0
  257. package/dist/testKit/mockPackage.js +101 -0
  258. package/dist/testKit/mockPackage.js.map +1 -0
  259. package/dist/testKit/withConsoleErrors.d.ts +2 -0
  260. package/dist/testKit/withConsoleErrors.d.ts.map +1 -0
  261. package/dist/testKit/withConsoleErrors.js +16 -0
  262. package/dist/testKit/withConsoleErrors.js.map +1 -0
  263. package/dist/testKit/withThrowOnError.d.ts +3 -0
  264. package/dist/testKit/withThrowOnError.d.ts.map +1 -0
  265. package/dist/testKit/withThrowOnError.js +31 -0
  266. package/dist/testKit/withThrowOnError.js.map +1 -0
  267. package/jest.config.js +16 -0
  268. package/package.json +23 -4
  269. package/src/API.ts +47 -9
  270. package/src/IterableWeakMap.ts +123 -0
  271. package/src/__internal.ts +1 -1
  272. package/src/appHost.ts +1222 -0
  273. package/src/appHostServices.ts +42 -0
  274. package/src/appHostUtils.ts +11 -0
  275. package/src/extensionSlot.ts +96 -0
  276. package/src/hot.ts +53 -0
  277. package/src/index.ts +42 -2
  278. package/src/installedShellsState.ts +54 -0
  279. package/src/interceptAnyObject.ts +39 -0
  280. package/src/invokeSlotCallbacks.ts +20 -0
  281. package/src/loggers.ts +112 -0
  282. package/src/monitorAPI.ts +71 -0
  283. package/src/repluggableAppDebug/debug.d.ts +37 -0
  284. package/src/repluggableAppDebug/index.ts +1 -0
  285. package/src/repluggableAppDebug/performanceDebugInfo.ts +96 -0
  286. package/src/repluggableAppDebug/repluggableAppDebug.ts +192 -0
  287. package/src/tarjanGraph.ts +96 -0
  288. package/src/throttledStore.ts +355 -0
  289. package/test/IterableWeakMap.spec.ts +280 -0
  290. package/test/appHost.mock.ts +58 -0
  291. package/test/appHost.spec.ts +1765 -0
  292. package/test/installedShellsState.spec.ts +39 -0
  293. package/test/interceptAnyObject.spec.ts +217 -0
  294. package/test/loggers.spec.ts +288 -0
  295. package/test/repluggableAppDebug.spec.ts +118 -0
  296. package/test/testKit.spec.tsx +153 -0
  297. package/testKit/emptyLoggerOptions.ts +16 -0
  298. package/testKit/index.ts +170 -0
  299. package/testKit/mockPackage.ts +110 -0
  300. package/testKit/package.json +3 -0
  301. package/testKit/withConsoleErrors.ts +12 -0
  302. package/testKit/withThrowOnError.ts +34 -0
  303. package/tsconfig.debug.json +11 -0
  304. package/tsconfig.json +9 -2
  305. package/dist/es/API.d.ts.map +0 -1
  306. package/dist/es/API.js +0 -2
  307. package/dist/es/API.js.map +0 -1
  308. package/dist/es/__internal.d.ts.map +0 -1
  309. package/dist/es/__internal.js +0 -5
  310. package/dist/es/__internal.js.map +0 -1
  311. package/dist/es/index.d.ts +0 -3
  312. package/dist/es/index.d.ts.map +0 -1
  313. package/dist/es/index.js +0 -2
  314. package/dist/es/index.js.map +0 -1
  315. /package/dist/es/{__internal.d.ts → src/__internal.d.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ global.console.error = (...args) => {
2
+ throw new Error(args.join('\n'));
3
+ };
package/debug/index.ts ADDED
@@ -0,0 +1 @@
1
+ export { RepluggableAppDebugInfo, APIDebugInfo } from '../src/repluggableAppDebug/debug'
@@ -0,0 +1 @@
1
+ export { RepluggableAppDebugInfo, APIDebugInfo } from '../src/repluggableAppDebug/debug';
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  /// <reference types="lodash" />
3
3
  import * as Redux from 'redux';
4
+ import { ThrottledStore } from './throttledStore';
5
+ import { INTERNAL_DONT_USE_SHELL_GET_APP_HOST } from './__internal';
4
6
  export interface AnySlotKey {
5
7
  readonly name: string;
6
8
  readonly public?: boolean;
@@ -31,6 +33,8 @@ export interface SlotKey<T> extends AnySlotKey {
31
33
  */
32
34
  readonly version?: number;
33
35
  }
36
+ export { AppHostAPI } from './appHostServices';
37
+ export type ScopedStore<S> = Pick<ThrottledStore<S>, 'dispatch' | 'getState' | 'subscribe' | 'flush' | 'hasPendingSubscribers' | 'deferSubscriberNotifications'>;
34
38
  export type ReactComponentContributor<TProps = {}> = (props?: TProps) => React.ReactNode;
35
39
  export type ReducersMapObjectContributor<TState = {}, TAction extends Redux.AnyAction = Redux.AnyAction> = () => Redux.ReducersMapObject<TState, TAction>;
36
40
  export type ContributionPredicate = () => boolean;
@@ -191,6 +195,12 @@ export interface ExtensionItem<T> {
191
195
  * @interface AppHost
192
196
  */
193
197
  export interface AppHost {
198
+ /**
199
+ * Get the root store of the application
200
+ *
201
+ * @return {ThrottledStore}
202
+ */
203
+ getStore(): ThrottledStore;
194
204
  /**
195
205
  * Get an implementation of API previously contributed to the {AppHost}
196
206
  *
@@ -199,6 +209,14 @@ export interface AppHost {
199
209
  * @return {*} {TAPI}
200
210
  */
201
211
  getAPI<TAPI>(key: SlotKey<TAPI>): TAPI;
212
+ /**
213
+ * Check if an API implementation has been contributed to the {AppHost}
214
+ *
215
+ * @template TAPI
216
+ * @param {SlotKey<TAPI>} key API Key
217
+ * @return {*} {boolean}
218
+ */
219
+ hasAPI<TAPI>(key: SlotKey<TAPI>): boolean;
202
220
  /**
203
221
  * Get an extension slot defined on the host
204
222
  *
@@ -207,6 +225,14 @@ export interface AppHost {
207
225
  * @return {ExtensionSlot<TItem>}
208
226
  */
209
227
  getSlot<TItem>(key: SlotKey<TItem>): ExtensionSlot<TItem>;
228
+ /**
229
+ * Check if an extension slot has been contributed to the {AppHost}
230
+ *
231
+ * @template TItem
232
+ * @param {SlotKey<TItem>} key
233
+ * @return {boolean}
234
+ */
235
+ hasSlot<TItem>(key: SlotKey<TItem>): boolean;
210
236
  /**
211
237
  * Get all the extension slots defined on the host
212
238
  *
@@ -242,13 +268,13 @@ export interface AppHost {
242
268
  */
243
269
  removeShells(names: string[]): Promise<void>;
244
270
  /**
245
- * Subscribe to changes in host declarations. This includes:
246
- * - API additions and removals
247
- * - Extension slot additions and removals
248
- *
249
- * @param {DeclarationsChangedCallback} callback Function to be called when host declarations change
250
- * @return {UnsubscribeFromDeclarationsChanged} Function to unsubscribe from host declarations changes
251
- */
271
+ * Subscribe to changes in host declarations. This includes:
272
+ * - API additions and removals
273
+ * - Extension slot additions and removals
274
+ *
275
+ * @param {DeclarationsChangedCallback} callback Function to be called when host declarations change
276
+ * @return {UnsubscribeFromDeclarationsChanged} Function to unsubscribe from host declarations changes
277
+ */
252
278
  onDeclarationsChanged(callback: DeclarationsChangedCallback): UnsubscribeFromDeclarationsChanged;
253
279
  onShellsChanged(callback: ShellsChangedCallback): string;
254
280
  removeShellsChangedCallback(callbackId: string): void;
@@ -321,6 +347,18 @@ export interface Lazy<T> {
321
347
  * @extends {(Pick<AppHost, Exclude<keyof AppHost, 'getStore' | 'log' | 'options'>>)}
322
348
  */
323
349
  export interface Shell extends Pick<AppHost, Exclude<keyof AppHost, 'getStore' | 'log' | 'options'>> {
350
+ /**
351
+ * Unique name of the matching {EntryPoint}
352
+ */
353
+ readonly name: string;
354
+ readonly log: ShellLogger;
355
+ /**
356
+ * Get store that is scoped for this {Shell}
357
+ *
358
+ * @template TState
359
+ * @return {ScopedStore<TState>} Scoped store for this {Shell}
360
+ */
361
+ getStore<TState>(): ScopedStore<TState>;
324
362
  /**
325
363
  * Are APIs ready to be requested
326
364
  *
@@ -432,7 +470,7 @@ export interface PrivateShell extends Shell {
432
470
  setLifecycleState(enableStore: boolean, enableAPIs: boolean, initCompleted: boolean): void;
433
471
  getBoundaryAspects(): ShellBoundaryAspect[];
434
472
  getHostOptions(): AppHostOptions;
435
- wrapWithShellRenderer(component: JSX.Element): JSX.Element;
473
+ readonly [INTERNAL_DONT_USE_SHELL_GET_APP_HOST]: () => AppHost;
436
474
  }
437
475
  export interface EntryPointsInfo {
438
476
  readonly name: string;
@@ -468,4 +506,3 @@ export interface ShellLogger extends HostLogger {
468
506
  export interface ShellLoggerSpan {
469
507
  end(success: boolean, error?: Error, keyValuePairs?: Object): void;
470
508
  }
471
- //# sourceMappingURL=API.d.ts.map
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This symbol is only for internal use of repluggable mono-repo.
3
+ */
4
+ export declare const INTERNAL_DONT_USE_SHELL_GET_APP_HOST: unique symbol;
@@ -0,0 +1,11 @@
1
+ import { AppHostOptions, EntryPoint, Shell, SlotKey } from './API';
2
+ export interface AppHostAPI {
3
+ getAllEntryPoints(): EntryPoint[];
4
+ getAppHostOptions(): AppHostOptions;
5
+ }
6
+ export declare const AppHostServicesEntryPointName = "APP-HOST-SERVICES";
7
+ export declare const AppHostAPI: SlotKey<AppHostAPI>;
8
+ export interface AppHostServicesProvider {
9
+ getAppHostServicesShell(): Shell;
10
+ }
11
+ export declare function createAppHostServicesEntryPoint(apiFactory: () => AppHostAPI): EntryPoint & AppHostServicesProvider;
@@ -0,0 +1,7 @@
1
+ import { AppHost, PrivateExtensionSlot, Shell, SlotKey, CustomExtensionSlot, CustomExtensionSlotHandler, PrivateAppHost } from './API';
2
+ export interface AnyExtensionSlot {
3
+ readonly name: string;
4
+ readonly declaringShell?: Shell;
5
+ }
6
+ export declare function createExtensionSlot<T>(key: SlotKey<T>, host: PrivateAppHost, declaringShell?: Shell): PrivateExtensionSlot<T> & AnyExtensionSlot;
7
+ export declare function createCustomExtensionSlot<T>(key: SlotKey<T>, handler: CustomExtensionSlotHandler<T>, host: AppHost, declaringShell?: Shell): CustomExtensionSlot<T> & AnyExtensionSlot;
@@ -0,0 +1,13 @@
1
+ import { AppHost, EntryPoint } from './API';
2
+ export type Hot = typeof hot;
3
+ /**
4
+ * To enable HMR, use the `hot` util to wrap the export of your repluggable package
5
+ *
6
+ * @param {NodeModule} sourceModule
7
+ * @param {EntryPoint[]} entryPoints
8
+ * @param {AppHost} [host] Optional. The AppHost to be used for removing / adding entrypoints. If not provided, `window.repluggableAppDebug.host` will be used,
9
+ * @example ```ts
10
+ * export default hot(module, [FooEntryPoint, BarEntryPoint])
11
+ * ```
12
+ */
13
+ export declare function hot(sourceModule: any, entryPoints: EntryPoint[], host?: AppHost): EntryPoint[];
@@ -0,0 +1,18 @@
1
+ import { Action, AnyAction, ReducersMapObject } from 'redux';
2
+ export interface ShellToggleSet {
3
+ [name: string]: boolean;
4
+ }
5
+ export interface InstalledShellsState {
6
+ readonly installedShells: ShellToggleSet;
7
+ }
8
+ export interface UpdateInstalledShellsAction extends Action {
9
+ readonly updates: ShellToggleSet;
10
+ }
11
+ export declare const contributeInstalledShellsState: () => ReducersMapObject;
12
+ export declare const InstalledShellsSelectors: {
13
+ getInstalledShellsSet(state: any): ShellToggleSet;
14
+ };
15
+ export declare const InstalledShellsActions: {
16
+ updateInstalledShells: (updates: ShellToggleSet) => UpdateInstalledShellsAction;
17
+ };
18
+ export declare const installedShellsReducer: (state: InstalledShellsState | undefined, action: AnyAction) => InstalledShellsState;
@@ -0,0 +1,6 @@
1
+ export type FunctionInterceptor = (name: string, original: Function) => Function;
2
+ export type PropertyInterceptor = (name: string, original: any) => any;
3
+ export interface AnyObject {
4
+ [key: string]: any;
5
+ }
6
+ export declare function interceptAnyObject<T>(inner: T, onFunction?: FunctionInterceptor, onProperty?: PropertyInterceptor, includeNestedLevels?: number): T;
@@ -0,0 +1,2 @@
1
+ import { ExtensionSlot } from './API';
2
+ export declare function invokeSlotCallbacks<T extends any[]>(slot: ExtensionSlot<(...args: T) => void | Promise<void>>, ...args: T): void;
@@ -0,0 +1,31 @@
1
+ import { AnyAction, Dispatch, Store, Unsubscribe } from 'redux';
2
+ import { AppHost, ExtensionSlot, ObservableState, ReducersMapObjectContributor, Shell } from './API';
3
+ import { AppHostServicesProvider } from './appHostServices';
4
+ type ReducerNotificationScope = 'broadcasting' | 'observable';
5
+ export interface StateContribution<TState = {}, TAction extends AnyAction = AnyAction> {
6
+ reducerFactory: ReducersMapObjectContributor<TState, TAction>;
7
+ notificationScope: ReducerNotificationScope;
8
+ observable?: AnyPrivateObservableState;
9
+ }
10
+ export interface ThrottledStore<T = any> extends Store<T> {
11
+ hasPendingSubscribers(): boolean;
12
+ flush(config?: {
13
+ excecutionType: 'scheduled' | 'immediate' | 'default';
14
+ }): void;
15
+ deferSubscriberNotifications<K>(action: () => K | Promise<K>, shouldDispatchClearCache?: boolean): Promise<K>;
16
+ }
17
+ export interface PrivateThrottledStore<T = any> extends ThrottledStore<T> {
18
+ broadcastNotify(): void;
19
+ observableNotify(observer: AnyPrivateObservableState): void;
20
+ resetPendingNotifications(): void;
21
+ syncSubscribe(listener: () => void): Unsubscribe;
22
+ dispatchWithShell(shell: Shell): Dispatch;
23
+ }
24
+ export interface PrivateObservableState<TState, TSelector> extends ObservableState<TSelector> {
25
+ notify(): void;
26
+ }
27
+ export type AnyPrivateObservableState = PrivateObservableState<any, any>;
28
+ export declare const updateThrottledStore: (host: AppHost & AppHostServicesProvider, store: PrivateThrottledStore, contributedState: ExtensionSlot<StateContribution>) => void;
29
+ export declare const createThrottledStore: (host: AppHost & AppHostServicesProvider, contributedState: ExtensionSlot<StateContribution>, updateIsSubscriptionNotifyInProgress: (isSubscriptionNotifyInProgress: boolean) => void, updateIsObserversNotifyInProgress: (isObserversNotifyInProgress: boolean) => void, updateShouldFlushMemoizationSync: (shouldFlushMemoizationSync: boolean) => void) => PrivateThrottledStore;
30
+ export declare const createObservable: <TState, TSelector>(shell: Shell, uniqueName: string, selectorFactory: (state: TState) => TSelector) => PrivateObservableState<TState, TSelector>;
31
+ export {};